From 17c6df5492cea15708dfc29b40a8abaef4aa7bf9 Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Sun, 22 Nov 2015 22:15:43 +0100 Subject: [PATCH 01/13] remove some unused assets [wip] --- app/assets/javascripts/application.js.coffee | 20 ------------- app/assets/javascripts/global.js.coffee | 3 -- app/assets/javascripts/tags.js.coffee | 4 --- .../stylesheets/datatables_bs_fix.css.scss | 28 ------------------ app/assets/stylesheets/global.css.scss | 3 -- app/assets/stylesheets/tags.css.scss | 3 -- .../images/persona/email_sign_in_black.png | Bin 3543 -> 0 bytes .../images/persona/email_sign_in_blue.png | Bin 3856 -> 0 bytes .../images/persona/email_sign_in_red.png | Bin 3550 -> 0 bytes .../images/persona/persona_sign_in_black.png | Bin 3373 -> 0 bytes .../images/persona/persona_sign_in_blue.png | Bin 3684 -> 0 bytes .../images/persona/persona_sign_in_red.png | Bin 3398 -> 0 bytes .../images/persona/plain_sign_in_black.png | Bin 2226 -> 0 bytes .../images/persona/plain_sign_in_blue.png | Bin 1993 -> 0 bytes .../images/persona/plain_sign_in_red.png | Bin 1814 -> 0 bytes 15 files changed, 61 deletions(-) delete mode 100644 app/assets/javascripts/global.js.coffee delete mode 100644 app/assets/stylesheets/datatables_bs_fix.css.scss delete mode 100644 app/assets/stylesheets/global.css.scss delete mode 100644 app/assets/stylesheets/tags.css.scss delete mode 100644 vendor/assets/images/persona/email_sign_in_black.png delete mode 100644 vendor/assets/images/persona/email_sign_in_blue.png delete mode 100644 vendor/assets/images/persona/email_sign_in_red.png delete mode 100644 vendor/assets/images/persona/persona_sign_in_black.png delete mode 100644 vendor/assets/images/persona/persona_sign_in_blue.png delete mode 100644 vendor/assets/images/persona/persona_sign_in_red.png delete mode 100644 vendor/assets/images/persona/plain_sign_in_black.png delete mode 100644 vendor/assets/images/persona/plain_sign_in_blue.png delete mode 100644 vendor/assets/images/persona/plain_sign_in_red.png diff --git a/app/assets/javascripts/application.js.coffee b/app/assets/javascripts/application.js.coffee index 9398fbb..685a489 100644 --- a/app/assets/javascripts/application.js.coffee +++ b/app/assets/javascripts/application.js.coffee @@ -12,11 +12,9 @@ # #= require jquery_ujs #= require_self -# require turbolinks #= require datepicker #= require give_time #= require tags -# require_tree . #= require ui-bootstrap-tpls-0.11.0 #= require_tree ./modules #= require_tree ./app @@ -26,21 +24,3 @@ angular.module "timeoverflow", ["ng-rails-csrf", 'ui.bootstrap'] $(document).on 'click', 'a[data-popup]', (event) -> window.open($(this).attr('href'), 'popup', 'width=600,height=600') event.preventDefault() - - - -$(document).on "click", "#bulk-add-offers", (event) -> - userId = $(event.currentTarget).attr("data-user-id") - console.log event.currentTarget, userId - $("#offers-bulk-modal").modal - remote: '/offers?for_user=' + userId - -$(document).on "click", ".join-post", (event) -> - id = $(event.target).closest("li.post").attr("data-post-id") - userId = $(event.target).closest("li.post").attr("data-user-id") - $.ajax("/user/#{userId}/joined/#{id}", type: "POST") - -$(document).on "click", ".leave-post", (event) -> - id = $(event.target).closest("li.post").attr("data-post-id") - userId = $(event.target).closest("li.post").attr("data-user-id") - $.ajax("/user/#{userId}/joined/#{id}", type: "DELETE") diff --git a/app/assets/javascripts/global.js.coffee b/app/assets/javascripts/global.js.coffee deleted file mode 100644 index 24f83d1..0000000 --- a/app/assets/javascripts/global.js.coffee +++ /dev/null @@ -1,3 +0,0 @@ -# Place all the behaviors and hooks related to the matching controller here. -# All this logic will automatically be available in application.js. -# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/javascripts/tags.js.coffee b/app/assets/javascripts/tags.js.coffee index 51f5984..62cac1b 100644 --- a/app/assets/javascripts/tags.js.coffee +++ b/app/assets/javascripts/tags.js.coffee @@ -1,7 +1,3 @@ -# Place all the behaviors and hooks related to the matching controller here. -# All this logic will automatically be available in application.js. -# You can use CoffeeScript in this file: http://coffeescript.org/ - $(document).on "click", ".switch_offer", (event) -> $.ajax '/tags/offers', type: 'GET' diff --git a/app/assets/stylesheets/datatables_bs_fix.css.scss b/app/assets/stylesheets/datatables_bs_fix.css.scss deleted file mode 100644 index e6796e7..0000000 --- a/app/assets/stylesheets/datatables_bs_fix.css.scss +++ /dev/null @@ -1,28 +0,0 @@ -table.table thead { - .sorting { - cursor: pointer; - *cursor: hand; - background: url('//cdnjs.cloudflare.com/ajax/libs/datatables/1.9.4/images/sort_both.png') no-repeat center right; - } - .sorting_asc { - @extend .sorting; - background-image: url('//cdnjs.cloudflare.com/ajax/libs/datatables/1.9.4/images/sort_asc.png'); - } - .sorting_desc { - @extend .sorting; - background-image: url('//cdnjs.cloudflare.com/ajax/libs/datatables/1.9.4/images/sort_desc.png'); - } - .sorting_asc_disabled { - @extend .sorting; - background-image: url('//cdnjs.cloudflare.com/ajax/libs/datatables/1.9.4/images/sort_asc_disabled.png'); - } - .sorting_desc_disabled { - @extend .sorting; - background-image: url('//cdnjs.cloudflare.com/ajax/libs/datatables/1.9.4/images/sort_desc_disabled.png'); - } -} - - -.dataTables_paginate.pagination { - margin: 0; -} diff --git a/app/assets/stylesheets/global.css.scss b/app/assets/stylesheets/global.css.scss deleted file mode 100644 index 094bcc0..0000000 --- a/app/assets/stylesheets/global.css.scss +++ /dev/null @@ -1,3 +0,0 @@ -// Place all the styles related to the global controller here. -// They will automatically be included in application.css. -// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/assets/stylesheets/tags.css.scss b/app/assets/stylesheets/tags.css.scss deleted file mode 100644 index 997822f..0000000 --- a/app/assets/stylesheets/tags.css.scss +++ /dev/null @@ -1,3 +0,0 @@ -// Place all the styles related to the Tags controller here. -// They will automatically be included in application.css. -// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/vendor/assets/images/persona/email_sign_in_black.png b/vendor/assets/images/persona/email_sign_in_black.png deleted file mode 100644 index d2f98f8b28a410587b5cf8c69bc58072627eb236..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3543 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 diff --git a/vendor/assets/images/persona/email_sign_in_blue.png b/vendor/assets/images/persona/email_sign_in_blue.png deleted file mode 100644 index 5986020ac0f668e2135b1950ef2148d831a1e16f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3856 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 Y2M=zgun2GWJ^%m!07*qoM6N<$g2M;nz5oCK diff --git a/vendor/assets/images/persona/persona_sign_in_black.png b/vendor/assets/images/persona/persona_sign_in_black.png deleted file mode 100644 index ac3b5632a8ae8c6a4c7389ce5bebed80d5161bca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3373 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 diff --git a/vendor/assets/images/persona/persona_sign_in_red.png b/vendor/assets/images/persona/persona_sign_in_red.png deleted file mode 100644 index e94e1ef78f6424bc0b18e90280b8a630ea1d1dde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3398 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 Ef)PA{_5c6? From f5db65b3fb5bba33a00321d9e1839429dbcaf8bc Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Tue, 29 Dec 2015 18:12:59 +0100 Subject: [PATCH 02/13] Remove custom themes also from report layout --- app/helpers/application_helper.rb | 13 ------------- app/models/organization.rb | 3 --- app/views/layouts/report.html.haml | 4 +--- 3 files changed, 1 insertion(+), 19 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index b6dcd2d..afcaca3 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -11,19 +11,6 @@ module ApplicationHelper "#{Rack::Utils.build_query(gravatar_options)}" end - def theme_stylesheet_link_tag - theme = current_organization.try(:theme) - main_url = "//netdna.bootstrapcdn.com/" - bs_version = "3.1.0" - bs_css_file = "bootstrap.min.css" - url = if Organization::BOOTSWATCH_THEMES.include? theme - "#{main_url}/bootswatch/#{bs_version}/#{theme}/#{bs_css_file}" - else - "#{main_url}/bootstrap/#{bs_version}/css/#{bs_css_file}" - end - stylesheet_link_tag url - end - def mdash raw "—" end diff --git a/app/models/organization.rb b/app/models/organization.rb index 392bed3..7bf51d4 100644 --- a/app/models/organization.rb +++ b/app/models/organization.rb @@ -1,7 +1,4 @@ class Organization < ActiveRecord::Base - BOOTSWATCH_THEMES = %w[amelia cerulean cosmo cyborg flatly journal readable - simplex slate spacelab united] - has_many :members, dependent: :destroy has_many :users, -> { order "members.created_at DESC" }, through: :members has_many :all_accounts, class_name: "Account", inverse_of: :organization diff --git a/app/views/layouts/report.html.haml b/app/views/layouts/report.html.haml index 1f55082..1fc9520 100644 --- a/app/views/layouts/report.html.haml +++ b/app/views/layouts/report.html.haml @@ -6,9 +6,7 @@ %meta{name: "viewport", content: "width=device-width, initial-scale=1.0"} %title =t(".report_title") - / = javascript_include_tag "application" - / = csrf_meta_tags - = theme_stylesheet_link_tag + = stylesheet_link_tag "//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css" = stylesheet_link_tag "application", :media => "all" %link{href: "/favicon.ico", rel: "shortcut icon"} From f023623439bdef34442b695ff5d1a3a579774126 Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Tue, 29 Dec 2015 18:28:48 +0100 Subject: [PATCH 03/13] Remove more unused images and default public/index.html --- app/assets/images/denim.png | Bin 20623 -> 0 bytes app/assets/images/furley_bg.png | Bin 42976 -> 0 bytes app/assets/images/light_wool.png | Bin 14080 -> 0 bytes app/assets/images/rails.png | Bin 6646 -> 0 bytes public/index_.html | 241 ------------------------------- 5 files changed, 241 deletions(-) delete mode 100644 app/assets/images/denim.png delete mode 100644 app/assets/images/furley_bg.png delete mode 100644 app/assets/images/light_wool.png delete mode 100644 app/assets/images/rails.png delete mode 100644 public/index_.html diff --git a/app/assets/images/denim.png b/app/assets/images/denim.png deleted file mode 100644 index 3b0bb7e372ea6bc992090c5e9f4b56d93adecf13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20623 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 z 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 aa7NwUxm7pKvph)!eGGNYZoJXP#rz-oWrJ7% diff --git a/app/assets/images/light_wool.png b/app/assets/images/light_wool.png deleted file mode 100644 index cc65dbaad9971dd0c0c65c14a1351f1abd8ba302..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14080 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%0D8*4lc@@}X9}??K6=R28Mn|&W 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 AQ~&?~ diff --git a/public/index_.html b/public/index_.html deleted file mode 100644 index a1d5099..0000000 --- a/public/index_.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - Ruby on Rails: Welcome aboard - - - - - - - From 37a5594b92936d2691481fcd39814135a88d29a4 Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Wed, 30 Dec 2015 19:15:33 +0100 Subject: [PATCH 04/13] Refactor assets-pipeline: - No cdn pulls => vendorize! - drop unused libraries - introduce lib.js and lib.scss => separated files from own app code => better use of cache busting and precompiliation - use bootstrap with official bootstrap-sass gem - use select2 with select2-rails gem --- Gemfile | 18 +- Gemfile.lock | 79 +- app/assets/javascripts/application.js.coffee | 15 - app/assets/javascripts/libs.js | 12 + app/assets/stylesheets/application.css.scss | 19 +- app/assets/stylesheets/libs.scss | 8 + app/views/layouts/application.html.haml | 22 +- config/initializers/assets.rb | 2 +- config/initializers/haml_assets.rb | 2 +- vendor/assets/javascripts/angular.min.js | 210 +++ .../javascripts/highcharts-exporting.js | 24 + vendor/assets/javascripts/highcharts.js | 337 +++++ vendor/assets/javascripts/jquery.validate.js | 1231 +++++++++++++++++ .../javascripts}/ng-rails-csrf.js.coffee | 0 vendor/assets/javascripts/tagmanager.js | 501 +++++++ vendor/assets/stylesheets/tagmanager.css | 102 ++ 16 files changed, 2488 insertions(+), 94 deletions(-) create mode 100644 app/assets/javascripts/libs.js create mode 100644 app/assets/stylesheets/libs.scss create mode 100644 vendor/assets/javascripts/angular.min.js create mode 100644 vendor/assets/javascripts/highcharts-exporting.js create mode 100644 vendor/assets/javascripts/highcharts.js create mode 100644 vendor/assets/javascripts/jquery.validate.js rename {app/assets/javascripts/modules => vendor/assets/javascripts}/ng-rails-csrf.js.coffee (100%) create mode 100644 vendor/assets/javascripts/tagmanager.js create mode 100644 vendor/assets/stylesheets/tagmanager.css diff --git a/Gemfile b/Gemfile index 46c51e7..49e356b 100644 --- a/Gemfile +++ b/Gemfile @@ -13,12 +13,7 @@ gem 'pundit' gem 'pg', '0.17.1' gem 'hstore_translate' gem 'dalli' -gem "sass-rails", "4.0.5" -gem 'coffee-rails' gem 'slim-rails' # much better than haml -gem 'ngannotate-rails' -gem 'uglifier', '>= 1.0.3' -gem 'jquery-rails' gem "devise" gem "http_accept_language" gem 'thin' @@ -26,7 +21,6 @@ gem 'foreman' gem 'dotenv-rails' gem 'kaminari' gem "haml-rails" -gem 'turbolinks' gem "simple_form", ">= 3.0.0" gem "awesome_print" gem "rest-client" @@ -38,11 +32,19 @@ gem 'whenever', :require => false gem 'prawn' gem 'prawn-table' gem 'bundler', '>= 1.10.6' - -# Integrate an external search engine - tags + full-text in PG are not really the best gem 'elasticsearch-model' gem 'elasticsearch-rails' +# Assets +gem 'jquery-rails' +gem 'jquery-ui-rails' +gem 'bootstrap-sass' +gem 'sass-rails', '~> 5.0.1' +gem 'coffee-rails' +gem 'ngannotate-rails' +gem 'uglifier', '>= 1.0.3' +gem 'select2-rails' + group :development do gem "binding_of_caller" gem "better_errors" diff --git a/Gemfile.lock b/Gemfile.lock index 6c5dc31..3635d1c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -56,10 +56,13 @@ GEM tzinfo (~> 1.1) arbre (1.0.3) activesupport (>= 3.0.0) - arel (6.0.0) + arel (6.0.3) ast (2.0.0) astrolabe (1.3.0) parser (>= 2.2.0.pre.3, < 3.0) + autoprefixer-rails (6.2.3) + execjs + json awesome_print (1.6.1) bcrypt (3.1.10) better_errors (2.1.1) @@ -68,6 +71,9 @@ GEM rack (>= 0.9.0) binding_of_caller (0.7.2) debug_inspector (>= 0.0.1) + bootstrap-sass (3.3.6) + autoprefixer-rails (>= 5.2.1) + sass (>= 3.3.4) bourbon (3.2.4) sass (~> 3.2) thor @@ -91,6 +97,7 @@ GEM execjs coffee-script-source (1.8.0) columnize (0.9.0) + concurrent-ruby (1.0.0) daemons (1.1.9) dalli (2.7.2) database_cleaner (1.4.0) @@ -121,7 +128,7 @@ GEM multi_json erubis (2.7.0) eventmachine (1.0.7) - execjs (2.2.2) + execjs (2.6.0) fabrication (2.11.3) faker (1.4.3) i18n (~> 0.5) @@ -133,7 +140,7 @@ GEM formtastic (3.1.3) actionpack (>= 3.2.13) formtastic_i18n (0.1.1) - globalid (0.3.0) + globalid (0.3.6) activesupport (>= 4.1.0) haml (4.1.0.beta.1) tilt @@ -152,7 +159,6 @@ GEM activesupport (>= 3.2, < 5) hashie (3.4.1) high_voltage (2.1.0) - hike (1.2.3) hpricot (0.8.6) hstore_translate (1.0.0) activerecord (>= 3.1.0) @@ -174,26 +180,26 @@ GEM thor (>= 0.14, < 2.0) jquery-ui-rails (5.0.3) railties (>= 3.2.16) - json (1.8.2) + json (1.8.3) kaminari (0.16.1) actionpack (>= 3.0.0) activesupport (>= 3.0.0) - loofah (2.0.1) + loofah (2.0.3) nokogiri (>= 1.5.9) mail (2.6.3) mime-types (>= 1.16, < 3) memcachier (0.0.2) - mime-types (2.4.3) - mini_portile (0.6.2) - minitest (5.5.1) - multi_json (1.10.1) + mime-types (2.99) + mini_portile2 (2.0.0) + minitest (5.8.3) + multi_json (1.11.2) multipart-post (2.0.0) netrc (0.10.2) - ngannotate-rails (0.14.1) + ngannotate-rails (1.0.3) execjs rails (>= 3.1) - nokogiri (1.6.6.2) - mini_portile (~> 0.6.0) + nokogiri (1.6.7.1) + mini_portile2 (~> 2.0.0.rc2) orm_adapter (0.5.0) parser (2.2.0.2) ast (>= 1.1, < 3.0) @@ -208,7 +214,7 @@ GEM prawn-table (0.2.1) pundit (0.3.0) activesupport (>= 3.0.0) - rack (1.6.0) + rack (1.6.4) rack-test (0.6.3) rack (>= 1.0) rails (4.2.0) @@ -224,7 +230,7 @@ GEM sprockets-rails rails-deprecated_sanitizer (1.0.3) activesupport (>= 4.2.0.alpha) - rails-dom-testing (1.0.5) + rails-dom-testing (1.0.7) activesupport (>= 4.2.0.beta, < 5.0) nokogiri (~> 1.6.0) rails-deprecated_sanitizer (>= 1.0.1) @@ -233,7 +239,7 @@ GEM activesupport (>= 3.0) choice (~> 0.1.6) ruby-graphviz (~> 1.0.4) - rails-html-sanitizer (1.0.1) + rails-html-sanitizer (1.0.2) loofah (~> 2.0) rails-i18n (4.0.3) i18n (~> 0.6) @@ -289,12 +295,15 @@ GEM ruby-progressbar (1.7.1) ruby_parser (3.1.3) sexp_processor (~> 4.1) - sass (3.2.19) - sass-rails (4.0.5) + sass (3.4.20) + sass-rails (5.0.4) railties (>= 4.0.0, < 5.0) - sass (~> 3.2.2) - sprockets (~> 2.8, < 3.0) - sprockets-rails (~> 2.0) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + select2-rails (4.0.0) + thor (~> 0.14) sexp_processor (4.4.4) shelly-dependencies (0.2.4) rake @@ -317,15 +326,13 @@ GEM activesupport (>= 3.1, < 5.0) railties (>= 3.1, < 5.0) slim (~> 3.0) - sprockets (2.12.3) - hike (~> 1.2) - multi_json (~> 1.0) - rack (~> 1.0) - tilt (~> 1.1, != 1.3.0) - sprockets-rails (2.2.2) - actionpack (>= 3.0) - activesupport (>= 3.0) - sprockets (>= 2.8, < 4.0) + sprockets (3.5.2) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-rails (3.0.0) + actionpack (>= 4.0) + activesupport (>= 4.0) + sprockets (>= 3.0.0) sysexits (1.2.0) temple (0.7.5) thin (1.6.3) @@ -333,13 +340,11 @@ GEM eventmachine (~> 1.0) rack (~> 1.0) thor (0.19.1) - thread_safe (0.3.4) - tilt (1.4.1) + thread_safe (0.3.5) + tilt (2.0.1) travis-lint (2.0.0) json ttfunk (1.4.0) - turbolinks (2.5.3) - coffee-rails tzinfo (1.2.2) thread_safe (~> 0.1) uglifier (2.7.0) @@ -365,6 +370,7 @@ DEPENDENCIES awesome_print better_errors binding_of_caller + bootstrap-sass bundler (>= 1.10.6) byebug capybara (~> 2.4.4) @@ -385,6 +391,7 @@ DEPENDENCIES hstore_translate http_accept_language jquery-rails + jquery-ui-rails kaminari memcachier ngannotate-rails @@ -403,14 +410,14 @@ DEPENDENCIES rollbar rspec-rails (~> 2.14) rubocop - sass-rails (= 4.0.5) + sass-rails (~> 5.0.1) + select2-rails shelly-dependencies shoulda (>= 3.5) simple_form (>= 3.0.0) slim-rails thin travis-lint - turbolinks uglifier (>= 1.0.3) web-console (~> 2.0) whenever diff --git a/app/assets/javascripts/application.js.coffee b/app/assets/javascripts/application.js.coffee index 685a489..24ebb1a 100644 --- a/app/assets/javascripts/application.js.coffee +++ b/app/assets/javascripts/application.js.coffee @@ -1,22 +1,7 @@ -# This is a manifest file that'll be compiled into application.js, which will include all the files -# listed below. -# -# Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, -# or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. -# -# It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the -# the compiled file. -# -# WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD -# GO AFTER THE REQUIRES BELOW. -# -#= require jquery_ujs #= require_self #= require datepicker #= require give_time #= require tags -#= require ui-bootstrap-tpls-0.11.0 -#= require_tree ./modules #= require_tree ./app angular.module "timeoverflow", ["ng-rails-csrf", 'ui.bootstrap'] diff --git a/app/assets/javascripts/libs.js b/app/assets/javascripts/libs.js new file mode 100644 index 0000000..50214df --- /dev/null +++ b/app/assets/javascripts/libs.js @@ -0,0 +1,12 @@ +//= require jquery +//= require jquery_ujs +//= require jquery-ui +//= require jquery.validate +//= require bootstrap +//= require highcharts +//= require highcharts-exporting +//= require select2 +//= require tagmanager +//= require angular.min +//= require ui-bootstrap-tpls-0.11.0 +//= require ng-rails-csrf diff --git a/app/assets/stylesheets/application.css.scss b/app/assets/stylesheets/application.css.scss index b274f89..c9833c9 100644 --- a/app/assets/stylesheets/application.css.scss +++ b/app/assets/stylesheets/application.css.scss @@ -1,13 +1,4 @@ /* - * This is a manifest file that'll be compiled into application.css, which will include all the files - * listed below. - * - * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, - * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. - * - * You're free to add application-wide styles to this file and they'll appear at the top of the - * compiled file, but it's generally better to create a new file per style scope. - * *= require_self */ @@ -89,7 +80,7 @@ table.users { } @media screen { - + html { min-height: 100%; position: relative; @@ -103,9 +94,9 @@ table.users { form { background: $white; border: 1px solid $border; - border-collapse: inherit; + border-collapse: inherit; border-radius: 5px; - margin-bottom:20px; + margin-bottom:20px; padding: 20px; } @@ -113,7 +104,7 @@ table.users { border:none; border-radius: none; margin: 0; - padding: 0; + padding: 0; } table.users tr:nth-of-type(2) th { @@ -130,7 +121,7 @@ table.users { } @media print { - + body { padding-top: 0px; } diff --git a/app/assets/stylesheets/libs.scss b/app/assets/stylesheets/libs.scss new file mode 100644 index 0000000..b4abc9a --- /dev/null +++ b/app/assets/stylesheets/libs.scss @@ -0,0 +1,8 @@ +/* +*= require jquery-ui +*= require select2 +*= require tagmanager +*/ + +@import "bootstrap-sprockets"; +@import "bootstrap"; \ No newline at end of file diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index f061565..b7d308d 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -16,28 +16,12 @@ = csrf_meta_tags - = stylesheet_link_tag "//netdna.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" - = stylesheet_link_tag "//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/smoothness/jquery-ui.css" - = stylesheet_link_tag "//cdnjs.cloudflare.com/ajax/libs/tagmanager/3.0.0/tagmanager.css" - = stylesheet_link_tag "//cdnjs.cloudflare.com/ajax/libs/select2/3.5.0/select2-bootstrap.css" - = stylesheet_link_tag "//cdnjs.cloudflare.com/ajax/libs/select2/3.5.0/select2.css" - = stylesheet_link_tag "application", :media => "all" %link{href: "/favicon.ico", rel: "shortcut icon"} - = javascript_include_tag "//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js" - = javascript_include_tag "//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" - = javascript_include_tag "//ajax.aspnetcdn.com/ajax/jQuery.validate/1.11.1/jquery.validate.js" - = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/lodash.js/1.2.1/lodash.min.js" - = javascript_include_tag "//netdna.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js" - = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/tagmanager/3.0.0/tagmanager.js" - = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/typeahead.js/0.9.3/typeahead.min.js" - = javascript_include_tag "//ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js" - = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/angular-i18n/1.2.15/angular-locale_es-es.js" - = javascript_include_tag "//code.highcharts.com/highcharts.js" - = javascript_include_tag "//code.highcharts.com/stock/modules/exporting.js" - = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/select2/3.5.0/select2.js" + = stylesheet_link_tag "libs", media: "all" + = stylesheet_link_tag "application", media: "all" - / = browserid_js_tag + = javascript_include_tag "libs" = javascript_include_tag "application" %body{ "ng-app" => "timeoverflow", "data-action" => "#{params[:controller]}-#{params[:action]}" } diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb index ef30212..109e3bc 100644 --- a/config/initializers/assets.rb +++ b/config/initializers/assets.rb @@ -8,6 +8,6 @@ Rails.application.config.assets.version = '1.0' # Precompile additional assets. # application.js, application.css, and all non-JS/CSS in app/assets folder are already added. -# Rails.application.config.assets.precompile += %w( search.js ) +Rails.application.config.assets.precompile += %w( libs.css libs.js ) Rails.application.config.assets.initialize_on_precompile = false diff --git a/config/initializers/haml_assets.rb b/config/initializers/haml_assets.rb index 69e3fe2..598a0c8 100644 --- a/config/initializers/haml_assets.rb +++ b/config/initializers/haml_assets.rb @@ -1 +1 @@ -Rails.application.assets.register_engine '.haml', Tilt::HamlTemplate +# Rails.application.assets.register_engine '.haml', Tilt::HamlTemplate diff --git a/vendor/assets/javascripts/angular.min.js b/vendor/assets/javascripts/angular.min.js new file mode 100644 index 0000000..12f6d51 --- /dev/null +++ b/vendor/assets/javascripts/angular.min.js @@ -0,0 +1,210 @@ +/* + AngularJS v1.2.16 + (c) 2010-2014 Google, Inc. http://angularjs.org + License: MIT +*/ +(function(O,U,s){'use strict';function t(b){return function(){var a=arguments[0],c,a="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.2.16/"+(b?b+"/":"")+a;for(c=1;c").append(b).html();try{return 3===b[0].nodeType?K(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/, +function(a,b){return"<"+K(b)})}catch(d){return K(c)}}function Xb(b){try{return decodeURIComponent(b)}catch(a){}}function Yb(b){var a={},c,d;q((b||"").split("&"),function(b){b&&(c=b.split("="),d=Xb(c[0]),B(d)&&(b=B(c[1])?Xb(c[1]):!0,a[d]?M(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function Zb(b){var a=[];q(b,function(b,d){M(b)?q(b,function(b){a.push(za(d,!0)+(!0===b?"":"="+za(b,!0)))}):a.push(za(d,!0)+(!0===b?"":"="+za(b,!0)))});return a.length?a.join("&"):""}function wb(b){return za(b, +!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function za(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,a?"%20":"+")}function Wc(b,a){function c(a){a&&d.push(a)}var d=[b],e,g,f=["ng:app","ng-app","x-ng-app","data-ng-app"],h=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;q(f,function(a){f[a]=!0;c(U.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(q(b.querySelectorAll("."+a),c),q(b.querySelectorAll("."+ +a+"\\:"),c),q(b.querySelectorAll("["+a+"]"),c))});q(d,function(a){if(!e){var b=h.exec(" "+a.className+" ");b?(e=a,g=(b[2]||"").replace(/\s+/g,",")):q(a.attributes,function(b){!e&&f[b.name]&&(e=a,g=b.value)})}});e&&a(e,g?[g]:[])}function $b(b,a){var c=function(){b=y(b);if(b.injector()){var c=b[0]===U?"document":ha(b);throw Pa("btstrpd",c);}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);a.unshift("ng");c=ac(a);c.invoke(["$rootScope","$rootElement","$compile","$injector","$animate", +function(a,b,c,d,e){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return c},d=/^NG_DEFER_BOOTSTRAP!/;if(O&&!d.test(O.name))return c();O.name=O.name.replace(d,"");Ea.resumeBootstrap=function(b){q(b,function(b){a.push(b)});c()}}function fb(b,a){a=a||"_";return b.replace(Xc,function(b,d){return(d?a:"")+b.toLowerCase()})}function xb(b,a,c){if(!b)throw Pa("areq",a||"?",c||"required");return b}function Ra(b,a,c){c&&M(b)&&(b=b[b.length-1]);xb(P(b),a,"not a function, got "+(b&&"object"==typeof b? +b.constructor.name||"Object":typeof b));return b}function Aa(b,a){if("hasOwnProperty"===b)throw Pa("badname",a);}function bc(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,g=a.length,f=0;f "+e[1]+a.replace(le,"<$1>")+e[2]; +d.removeChild(d.firstChild);for(a=e[0];a--;)d=d.lastChild;a=0;for(e=d.childNodes.length;a=S?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};c.elem=b;return c}function Ia(b){var a=typeof b,c;"object"==a&&null!==b?"function"==typeof(c=b.$$hashKey)?c=b.$$hashKey():c===s&&(c=b.$$hashKey=bb()):c=b;return a+":"+c}function Va(b){q(b,this.put,this)}function oc(b){var a,c;"function"==typeof b?(a=b.$inject)||(a=[],b.length&&(c=b.toString().replace(oe, +""),c=c.match(pe),q(c[1].split(qe),function(b){b.replace(re,function(b,c,d){a.push(d)})})),b.$inject=a):M(b)?(c=b.length-1,Ra(b[c],"fn"),a=b.slice(0,c)):Ra(b,"fn",!0);return a}function ac(b){function a(a){return function(b,c){if(X(b))q(b,Rb(a));else return a(b,c)}}function c(a,b){Aa(a,"service");if(P(b)||M(b))b=n.instantiate(b);if(!b.$get)throw Wa("pget",a);return m[a+h]=b}function d(a,b){return c(a,{$get:b})}function e(a){var b=[],c,d,g,h;q(a,function(a){if(!k.get(a)){k.put(a,!0);try{if(w(a))for(c= +Sa(a),b=b.concat(e(c.requires)).concat(c._runBlocks),d=c._invokeQueue,g=0,h=d.length;g 4096 bytes)!"));else{if(l.cookie!==da)for(da=l.cookie,d=da.split("; "),Q={},g=0;gk&&this.remove(p.key),b},get:function(a){if(k").parent()[0])});var g=L(a,b,a,c,d,e);ma(a,"ng-scope");return function(b,c,d){xb(b,"scope");var e=c?Ja.clone.call(a):a;q(d,function(a,b){e.data("$"+b+"Controller",a)});d=0;for(var f=e.length;darguments.length&& +(b=a,a=s);D&&(c=lb);return p(a,b,c)}var I,x,v,A,R,H,lb={},da;I=c===g?d:Ub(d,new Hb(y(g),d.$attr));x=I.$$element;if(Q){var T=/^\s*([@=&])(\??)\s*(\w*)\s*$/;f=y(g);H=e.$new(!0);ia&&ia===Q.$$originalDirective?f.data("$isolateScope",H):f.data("$isolateScopeNoTemplate",H);ma(f,"ng-isolate-scope");q(Q.scope,function(a,c){var d=a.match(T)||[],g=d[3]||c,f="?"==d[2],d=d[1],l,m,n,p;H.$$isolateBindings[c]=d+g;switch(d){case "@":I.$observe(g,function(a){H[c]=a});I.$$observers[g].$$scope=e;I[g]&&(H[c]=b(I[g])(e)); +break;case "=":if(f&&!I[g])break;m=r(I[g]);p=m.literal?xa:function(a,b){return a===b};n=m.assign||function(){l=H[c]=m(e);throw ja("nonassign",I[g],Q.name);};l=H[c]=m(e);H.$watch(function(){var a=m(e);p(a,H[c])||(p(a,l)?n(e,a=H[c]):H[c]=a);return l=a},null,m.literal);break;case "&":m=r(I[g]);H[c]=function(a){return m(e,a)};break;default:throw ja("iscp",Q.name,c,a);}})}da=p&&u;L&&q(L,function(a){var b={$scope:a===Q||a.$$isolateScope?H:e,$element:x,$attrs:I,$transclude:da},c;R=a.controller;"@"==R&&(R= +I[a.name]);c=z(R,b);lb[a.name]=c;D||x.data("$"+a.name+"Controller",c);a.controllerAs&&(b.$scope[a.controllerAs]=c)});f=0;for(v=l.length;fG.priority)break;if(V=G.scope)A=A||G,G.templateUrl||(K("new/isolated scope",Q,G,Z),X(V)&&(Q=G));t=G.name;!G.templateUrl&&G.controller&&(V=G.controller,L=L||{},K("'"+t+"' controller",L[t],G,Z),L[t]=G);if(V=G.transclude)E=!0,G.$$tlb||(K("transclusion",T,G,Z),T=G),"element"==V?(D=!0,v=G.priority, +V=H(c,ra,W),Z=d.$$element=y(U.createComment(" "+t+": "+d[t]+" ")),c=Z[0],mb(g,y(ya.call(V,0)),c),Xa=x(V,e,v,f&&f.name,{nonTlbTranscludeDirective:T})):(V=y(Eb(c)).contents(),Z.empty(),Xa=x(V,e));if(G.template)if(K("template",ia,G,Z),ia=G,V=P(G.template)?G.template(Z,d):G.template,V=Y(V),G.replace){f=G;V=Cb.test(V)?y(V):[];c=V[0];if(1!=V.length||1!==c.nodeType)throw ja("tplrt",t,"");mb(g,Z,c);S={$attr:{}};V=da(c,[],S);var $=a.splice(N+1,a.length-(N+1));Q&&pc(V);a=a.concat(V).concat($);B(d,S);S=a.length}else Z.html(V); +if(G.templateUrl)K("template",ia,G,Z),ia=G,G.replace&&(f=G),J=C(a.splice(N,a.length-N),Z,d,g,Xa,l,n,{controllerDirectives:L,newIsolateScopeDirective:Q,templateDirective:ia,nonTlbTranscludeDirective:T}),S=a.length;else if(G.compile)try{O=G.compile(Z,d,Xa),P(O)?u(null,O,ra,W):O&&u(O.pre,O.post,ra,W)}catch(aa){m(aa,ha(Z))}G.terminal&&(J.terminal=!0,v=Math.max(v,G.priority))}J.scope=A&&!0===A.scope;J.transclude=E&&Xa;p.hasElementTranscludeDirective=D;return J}function pc(a){for(var b=0,c=a.length;bp.priority)&&-1!=p.restrict.indexOf(g)&&(n&&(p=Tb(p,{$$start:n,$$end:r})),b.push(p),k=p)}catch(F){m(F)}}return k}function B(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;q(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});q(b,function(b,g){"class"==g?(ma(e,b),a["class"]=(a["class"]? +a["class"]+" ":"")+b):"style"==g?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==g.charAt(0)||a.hasOwnProperty(g)||(a[g]=b,d[g]=c[g])})}function C(a,b,c,d,e,g,f,l){var k=[],m,r,z=b[0],u=a.shift(),F=D({},u,{templateUrl:null,transclude:null,replace:null,$$originalDirective:u}),x=P(u.templateUrl)?u.templateUrl(b,c):u.templateUrl;b.empty();n.get(v.getTrustedResourceUrl(x),{cache:p}).success(function(n){var p,J;n=Y(n);if(u.replace){n=Cb.test(n)?y(n):[];p=n[0];if(1!=n.length|| +1!==p.nodeType)throw ja("tplrt",u.name,x);n={$attr:{}};mb(d,b,p);var v=da(p,[],n);X(u.scope)&&pc(v);a=v.concat(a);B(c,n)}else p=z,b.html(n);a.unshift(F);m=ia(a,p,c,e,b,u,g,f,l);q(d,function(a,c){a==p&&(d[c]=b[0])});for(r=L(b[0].childNodes,e);k.length;){n=k.shift();J=k.shift();var A=k.shift(),R=k.shift(),v=b[0];if(J!==z){var H=J.className;l.hasElementTranscludeDirective&&u.replace||(v=Eb(p));mb(A,y(J),v);ma(y(v),H)}J=m.transclude?Q(n,m.transclude):R;m(r,n,v,d,J)}k=null}).error(function(a,b,c,d){throw ja("tpload", +d.url);});return function(a,b,c,d,e){k?(k.push(b),k.push(c),k.push(d),k.push(e)):m(r,b,c,d,e)}}function E(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.namea.status? +b:n.reject(b)}var d={method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse},g=function(a){function b(a){var c;q(a,function(b,d){P(b)&&(c=b(),null!=c?a[d]=c:delete a[d])})}var c=e.headers,d=D({},a.headers),g,f,c=D({},c.common,c[K(a.method)]);b(c);b(d);a:for(g in c){a=K(g);for(f in d)if(K(f)===a)continue a;d[g]=c[g]}return d}(a);D(d,a);d.headers=g;d.method=Fa(d.method);(a=Ib(d.url)?b.cookies()[d.xsrfCookieName||e.xsrfCookieName]:s)&&(g[d.xsrfHeaderName||e.xsrfHeaderName]= +a);var f=[function(a){g=a.headers;var b=uc(a.data,tc(g),a.transformRequest);E(a.data)&&q(g,function(a,b){"content-type"===K(b)&&delete g[b]});E(a.withCredentials)&&!E(e.withCredentials)&&(a.withCredentials=e.withCredentials);return z(a,b,g).then(c,c)},s],h=n.when(d);for(q(v,function(a){(a.request||a.requestError)&&f.unshift(a.request,a.requestError);(a.response||a.responseError)&&f.push(a.response,a.responseError)});f.length;){a=f.shift();var k=f.shift(),h=h.then(a,k)}h.success=function(a){h.then(function(b){a(b.data, +b.status,b.headers,d)});return h};h.error=function(a){h.then(null,function(b){a(b.data,b.status,b.headers,d)});return h};return h}function z(b,c,g){function f(a,b,c,e){v&&(200<=a&&300>a?v.put(s,[a,b,sc(c),e]):v.remove(s));l(b,a,c,e);d.$$phase||d.$apply()}function l(a,c,d,e){c=Math.max(c,0);(200<=c&&300>c?p.resolve:p.reject)({data:a,status:c,headers:tc(d),config:b,statusText:e})}function k(){var a=db(r.pendingRequests,b);-1!==a&&r.pendingRequests.splice(a,1)}var p=n.defer(),z=p.promise,v,q,s=u(b.url, +b.params);r.pendingRequests.push(b);z.then(k,k);(b.cache||e.cache)&&(!1!==b.cache&&"GET"==b.method)&&(v=X(b.cache)?b.cache:X(e.cache)?e.cache:F);if(v)if(q=v.get(s),B(q)){if(q.then)return q.then(k,k),q;M(q)?l(q[1],q[0],ba(q[2]),q[3]):l(q,200,{},"OK")}else v.put(s,z);E(q)&&a(b.method,s,c,f,g,b.timeout,b.withCredentials,b.responseType);return z}function u(a,b){if(!b)return a;var c=[];Sc(b,function(a,b){null===a||E(a)||(M(a)||(a=[a]),q(a,function(a){X(a)&&(a=qa(a));c.push(za(b)+"="+za(a))}))});0=S&&(!b.match(/^(get|post|head|put|delete|options)$/i)||!O.XMLHttpRequest))return new O.ActiveXObject("Microsoft.XMLHTTP");if(O.XMLHttpRequest)return new O.XMLHttpRequest;throw t("$httpBackend")("noxhr");}function Ud(){this.$get=["$browser","$window","$document",function(b,a,c){return ve(b,ue,b.defer,a.angular.callbacks,c[0])}]}function ve(b,a,c,d,e){function g(a,b){var c=e.createElement("script"),d=function(){c.onreadystatechange= +c.onload=c.onerror=null;e.body.removeChild(c);b&&b()};c.type="text/javascript";c.src=a;S&&8>=S?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=function(){d()};e.body.appendChild(c);return d}var f=-1;return function(e,l,k,m,n,p,r,z){function u(){v=f;A&&A();x&&x.abort()}function F(a,d,e,g,f){L&&c.cancel(L);A=x=null;0===d&&(d=e?200:"file"==sa(l).protocol?404:0);a(1223===d?204:d,e,g,f||"");b.$$completeOutstandingRequest(C)}var v;b.$$incOutstandingRequestCount(); +l=l||b.url();if("jsonp"==K(e)){var J="_"+(d.counter++).toString(36);d[J]=function(a){d[J].data=a};var A=g(l.replace("JSON_CALLBACK","angular.callbacks."+J),function(){d[J].data?F(m,200,d[J].data):F(m,v||-2);d[J]=Ea.noop})}else{var x=a(e);x.open(e,l,!0);q(n,function(a,b){B(a)&&x.setRequestHeader(b,a)});x.onreadystatechange=function(){if(x&&4==x.readyState){var a=null,b=null;v!==f&&(a=x.getAllResponseHeaders(),b="response"in x?x.response:x.responseText);F(m,v||x.status,b,a,x.statusText||"")}};r&&(x.withCredentials= +!0);if(z)try{x.responseType=z}catch(s){if("json"!==z)throw s;}x.send(k||null)}if(0=h&&(n.resolve(r),m(p.$$intervalId),delete e[p.$$intervalId]);z||b.$apply()},f);e[p.$$intervalId]=n;return p}var e={};d.cancel=function(a){return a&&a.$$intervalId in e?(e[a.$$intervalId].reject("canceled"),clearInterval(a.$$intervalId),delete e[a.$$intervalId], +!0):!1};return d}]}function ad(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January February March April May June July August September October November December".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "), +DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return 1===b?"one":"other"}}}}function wc(b){b=b.split("/");for(var a=b.length;a--;)b[a]=wb(b[a]);return b.join("/")}function xc(b,a,c){b=sa(b,c);a.$$protocol= +b.protocol;a.$$host=b.hostname;a.$$port=Y(b.port)||we[b.protocol]||null}function yc(b,a,c){var d="/"!==b.charAt(0);d&&(b="/"+b);b=sa(b,c);a.$$path=decodeURIComponent(d&&"/"===b.pathname.charAt(0)?b.pathname.substring(1):b.pathname);a.$$search=Yb(b.search);a.$$hash=decodeURIComponent(b.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function oa(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Ya(b){var a=b.indexOf("#");return-1==a?b:b.substr(0,a)}function Jb(b){return b.substr(0, +Ya(b).lastIndexOf("/")+1)}function zc(b,a){this.$$html5=!0;a=a||"";var c=Jb(b);xc(b,this,b);this.$$parse=function(a){var e=oa(c,a);if(!w(e))throw Kb("ipthprfx",a,c);yc(e,this,b);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var a=Zb(this.$$search),b=this.$$hash?"#"+wb(this.$$hash):"";this.$$url=wc(this.$$path)+(a?"?"+a:"")+b;this.$$absUrl=c+this.$$url.substr(1)};this.$$rewrite=function(d){var e;if((e=oa(b,d))!==s)return d=e,(e=oa(a,e))!==s?c+(oa("/",e)||e):b+d;if((e=oa(c, +d))!==s)return c+e;if(c==d+"/")return c}}function Lb(b,a){var c=Jb(b);xc(b,this,b);this.$$parse=function(d){var e=oa(b,d)||oa(c,d),e="#"==e.charAt(0)?oa(a,e):this.$$html5?e:"";if(!w(e))throw Kb("ihshprfx",d,a);yc(e,this,b);d=this.$$path;var g=/^\/?.*?:(\/.*)/;0===e.indexOf(b)&&(e=e.replace(b,""));g.exec(e)||(d=(e=g.exec(d))?e[1]:d);this.$$path=d;this.$$compose()};this.$$compose=function(){var c=Zb(this.$$search),e=this.$$hash?"#"+wb(this.$$hash):"";this.$$url=wc(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl= +b+(this.$$url?a+this.$$url:"")};this.$$rewrite=function(a){if(Ya(b)==Ya(a))return a}}function Ac(b,a){this.$$html5=!0;Lb.apply(this,arguments);var c=Jb(b);this.$$rewrite=function(d){var e;if(b==Ya(d))return d;if(e=oa(c,d))return b+a+e;if(c===d+"/")return c}}function nb(b){return function(){return this[b]}}function Bc(b,a){return function(c){if(E(c))return this[b];this[b]=a(c);this.$$compose();return this}}function Vd(){var b="",a=!1;this.hashPrefix=function(a){return B(a)?(b=a,this):b};this.html5Mode= +function(b){return B(b)?(a=b,this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(c,d,e,g){function f(a){c.$broadcast("$locationChangeSuccess",h.absUrl(),a)}var h,l=d.baseHref(),k=d.url();a?(l=k.substring(0,k.indexOf("/",k.indexOf("//")+2))+(l||"/"),e=e.history?zc:Ac):(l=Ya(k),e=Lb);h=new e(l,"#"+b);h.$$parse(h.$$rewrite(k));g.on("click",function(a){if(!a.ctrlKey&&!a.metaKey&&2!=a.which){for(var b=y(a.target);"a"!==K(b[0].nodeName);)if(b[0]===g[0]||!(b=b.parent())[0])return; +var e=b.prop("href");X(e)&&"[object SVGAnimatedString]"===e.toString()&&(e=sa(e.animVal).href);var f=h.$$rewrite(e);e&&(!b.attr("target")&&f&&!a.isDefaultPrevented())&&(a.preventDefault(),f!=d.url()&&(h.$$parse(f),c.$apply(),O.angular["ff-684208-preventDefault"]=!0))}});h.absUrl()!=k&&d.url(h.absUrl(),!0);d.onUrlChange(function(a){h.absUrl()!=a&&(c.$evalAsync(function(){var b=h.absUrl();h.$$parse(a);c.$broadcast("$locationChangeStart",a,b).defaultPrevented?(h.$$parse(b),d.url(b)):f(b)}),c.$$phase|| +c.$digest())});var m=0;c.$watch(function(){var a=d.url(),b=h.$$replace;m&&a==h.absUrl()||(m++,c.$evalAsync(function(){c.$broadcast("$locationChangeStart",h.absUrl(),a).defaultPrevented?h.$$parse(a):(d.url(h.absUrl(),b),f(a))}));h.$$replace=!1;return m});return h}]}function Wd(){var b=!0,a=this;this.debugEnabled=function(a){return B(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack: +a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=c.console||{},e=b[a]||b.log||C;a=!1;try{a=!!e.apply}catch(l){}return a?function(){var a=[];q(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function fa(b,a){if("constructor"===b)throw Ba("isecfld",a);return b}function Za(b, +a){if(b){if(b.constructor===b)throw Ba("isecfn",a);if(b.document&&b.location&&b.alert&&b.setInterval)throw Ba("isecwindow",a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw Ba("isecdom",a);}return b}function ob(b,a,c,d,e){e=e||{};a=a.split(".");for(var g,f=0;1e?Cc(d[0],d[1],d[2],d[3],d[4],c,a):function(b,g){var f=0,h;do h=Cc(d[f++],d[f++],d[f++],d[f++],d[f++],c,a)(b,g),g=s,b=h;while(fa)for(b in l++,e)e.hasOwnProperty(b)&&!d.hasOwnProperty(b)&&(q--,delete e[b])}else e!==d&&(e=d,l++);return l},function(){p?(p=!1,b(d,d,c)):b(d,f,c);if(h)if(X(d))if(ab(d)){f=Array(d.length);for(var a=0;as&&(y=4-s,Q[y]||(Q[y]=[]),H=P(d.exp)?"fn: "+(d.exp.name||d.exp.toString()):d.exp,H+="; newVal: "+qa(g)+"; oldVal: "+qa(f),Q[y].push(H));else if(d===c){x=!1;break a}}catch(w){p.$$phase= +null,e(w)}if(!(h=L.$$childHead||L!==this&&L.$$nextSibling))for(;L!==this&&!(h=L.$$nextSibling);)L=L.$parent}while(L=h);if((x||k.length)&&!s--)throw p.$$phase=null,a("infdig",b,qa(Q));}while(x||k.length);for(p.$$phase=null;m.length;)try{m.shift()()}catch(T){e(T)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;this!==p&&(q(this.$$listenerCount,eb(null,m,this)),a.$$childHead==this&&(a.$$childHead=this.$$nextSibling),a.$$childTail==this&& +(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=null,this.$$listeners={},this.$$watchers=this.$$asyncQueue=this.$$postDigestQueue=[],this.$destroy=this.$digest=this.$apply=C,this.$on=this.$watch=function(){return C})}},$eval:function(a,b){return g(a)(this,b)},$evalAsync:function(a){p.$$phase|| +p.$$asyncQueue.length||f.defer(function(){p.$$asyncQueue.length&&p.$digest()});this.$$asyncQueue.push({scope:this,expression:a})},$$postDigest:function(a){this.$$postDigestQueue.push(a)},$apply:function(a){try{return l("$apply"),this.$eval(a)}catch(b){e(b)}finally{p.$$phase=null;try{p.$digest()}catch(c){throw e(c),c;}}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent); +var e=this;return function(){c[db(c,b)]=null;m(e,1,a)}},$emit:function(a,b){var c=[],d,g=this,f=!1,h={name:a,targetScope:g,stopPropagation:function(){f=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},l=[h].concat(ya.call(arguments,1)),k,m;do{d=g.$$listeners[a]||c;h.currentScope=g;k=0;for(m=d.length;kc.msieDocumentMode)throw ua("iequirks");var e=ba(ga);e.isEnabled=function(){return b};e.trustAs=d.trustAs;e.getTrusted=d.getTrusted;e.valueOf=d.valueOf;b||(e.trustAs=e.getTrusted=function(a,b){return b},e.valueOf=Da);e.parseAs=function(b,c){var d=a(c);return d.literal&&d.constant?d:function(a,c){return e.getTrusted(b, +d(a,c))}};var g=e.parseAs,f=e.getTrusted,h=e.trustAs;q(ga,function(a,b){var c=K(b);e[Ta("parse_as_"+c)]=function(b){return g(a,b)};e[Ta("get_trusted_"+c)]=function(b){return f(a,b)};e[Ta("trust_as_"+c)]=function(b){return h(a,b)}});return e}]}function be(){this.$get=["$window","$document",function(b,a){var c={},d=Y((/android (\d+)/.exec(K((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),g=a[0]||{},f=g.documentMode,h,l=/^(Moz|webkit|O|ms)(?=[A-Z])/,k=g.body&&g.body.style, +m=!1,n=!1;if(k){for(var p in k)if(m=l.exec(p)){h=m[0];h=h.substr(0,1).toUpperCase()+h.substr(1);break}h||(h="WebkitOpacity"in k&&"webkit");m=!!("transition"in k||h+"Transition"in k);n=!!("animation"in k||h+"Animation"in k);!d||m&&n||(m=w(g.body.style.webkitTransition),n=w(g.body.style.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hashchange:"onhashchange"in b&&(!f||7b;b=Math.abs(b);var f=b+"",h="",l=[],k=!1;if(-1!==f.indexOf("e")){var m=f.match(/([\d\.]+)e(-?)(\d+)/);m&&"-"==m[2]&&m[3]>e+1?f="0":(h=f,k=!0)}if(k)0b)&&(h=b.toFixed(e)); +else{f=(f.split(Nc)[1]||"").length;E(e)&&(e=Math.min(Math.max(a.minFrac,f),a.maxFrac));f=Math.pow(10,e);b=Math.round(b*f)/f;b=(""+b).split(Nc);f=b[0];b=b[1]||"";var m=0,n=a.lgSize,p=a.gSize;if(f.length>=n+p)for(m=f.length-n,k=0;kb&&(d="-",b=-b);for(b=""+b;b.length-c)e+=c;0===e&&-12==c&&(e=12);return Ob(e,a,d)}}function pb(b,a){return function(c,d){var e=c["get"+b](),g=Fa(a?"SHORT"+b:b);return d[g][e]}}function Jc(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var g=0,f=0,h=b[8]?a.setUTCFullYear:a.setFullYear,l=b[8]?a.setUTCHours:a.setHours;b[9]&&(g=Y(b[9]+b[10]),f=Y(b[9]+b[11])); +h.call(a,Y(b[1]),Y(b[2])-1,Y(b[3]));g=Y(b[4]||0)-g;f=Y(b[5]||0)-f;h=Y(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));l.call(a,g,f,h,b)}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e){var g="",f=[],h,l;e=e||"mediumDate";e=b.DATETIME_FORMATS[e]||e;w(c)&&(c=Ge.test(c)?Y(c):a(c));vb(c)&&(c=new Date(c));if(!Na(c))return c;for(;e;)(l=He.exec(e))?(f=f.concat(ya.call(l,1)),e=f.pop()):(f.push(e),e=null);q(f,function(a){h= +Ie[a];g+=h?h(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function Ce(){return function(b){return qa(b,!0)}}function De(){return function(b,a){if(!M(b)&&!w(b))return b;a=Y(a);if(w(b))return a?0<=a?b.slice(0,a):b.slice(a,b.length):"";var c=[],d,e;a>b.length?a=b.length:a<-b.length&&(a=-b.length);0a||37<=a&&40>=a)||m()});if(e.hasEvent("paste"))a.on("paste cut",m)}a.on("change",l);d.$render=function(){a.val(d.$isEmpty(d.$viewValue)? +"":d.$viewValue)};var n=c.ngPattern;n&&((e=n.match(/^\/(.*)\/([gim]*)$/))?(n=RegExp(e[1],e[2]),e=function(a){return pa(d,"pattern",d.$isEmpty(a)||n.test(a),a)}):e=function(c){var e=b.$eval(n);if(!e||!e.test)throw t("ngPattern")("noregexp",n,e,ha(a));return pa(d,"pattern",d.$isEmpty(c)||e.test(c),c)},d.$formatters.push(e),d.$parsers.push(e));if(c.ngMinlength){var p=Y(c.ngMinlength);e=function(a){return pa(d,"minlength",d.$isEmpty(a)||a.length>=p,a)};d.$parsers.push(e);d.$formatters.push(e)}if(c.ngMaxlength){var r= +Y(c.ngMaxlength);e=function(a){return pa(d,"maxlength",d.$isEmpty(a)||a.length<=r,a)};d.$parsers.push(e);d.$formatters.push(e)}}function Pb(b,a){b="ngClass"+b;return["$animate",function(c){function d(a,b){var c=[],d=0;a:for(;dS?function(b){b=b.nodeName?b:b[0];return b.scopeName&&"HTML"!=b.scopeName?Fa(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?b.nodeName:b[0].nodeName};var Xc=/[A-Z]/g,$c={full:"1.2.16",major:1,minor:2,dot:16,codeName:"badger-enumeration"},Ua=N.cache={},gb=N.expando="ng-"+(new Date).getTime(), +me=1,Pc=O.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},Fb=O.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)};N._data=function(b){return this.cache[b[this.expando]]||{}};var he=/([\:\-\_]+(.))/g,ie=/^moz([A-Z])/,Bb=t("jqLite"),je=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,Cb=/<|&#?\w+;/,ke=/<([\w:]+)/,le=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ea= +{option:[1,'"],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ea.optgroup=ea.option;ea.tbody=ea.tfoot=ea.colgroup=ea.caption=ea.thead;ea.th=ea.td;var Ja=N.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===U.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),N(O).on("load",a))},toString:function(){var b= +[];q(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return 0<=b?y(this[b]):y(this[this.length+b])},length:0,push:Ke,sort:[].sort,splice:[].splice},kb={};q("multiple selected checked disabled readOnly required open".split(" "),function(b){kb[K(b)]=b});var nc={};q("input select option textarea button form details".split(" "),function(b){nc[Fa(b)]=!0});q({data:jc,inheritedData:jb,scope:function(b){return y(b).data("$scope")||jb(b.parentNode||b,["$isolateScope","$scope"])}, +isolateScope:function(b){return y(b).data("$isolateScope")||y(b).data("$isolateScopeNoTemplate")},controller:kc,injector:function(b){return jb(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Gb,css:function(b,a,c){a=Ta(a);if(B(c))b.style[a]=c;else{var d;8>=S&&(d=b.currentStyle&&b.currentStyle[a],""===d&&(d="auto"));d=d||b.style[a];8>=S&&(d=""===d?s:d);return d}},attr:function(b,a,c){var d=K(a);if(kb[d])if(B(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d)); +else return b[a]||(b.attributes.getNamedItem(a)||C).specified?d:s;else if(B(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?s:b},prop:function(b,a,c){if(B(c))b[a]=c;else return b[a]},text:function(){function b(b,d){var e=a[b.nodeType];if(E(d))return e?b[e]:"";b[e]=d}var a=[];9>S?(a[1]="innerText",a[3]="nodeValue"):a[1]=a[3]="textContent";b.$dv="";return b}(),val:function(b,a){if(E(a)){if("SELECT"===Ka(b)&&b.multiple){var c=[];q(b.options,function(a){a.selected&& +c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(E(a))return b.innerHTML;for(var c=0,d=b.childNodes;c":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,c,d,e){return d(a,c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},Ne={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'}, +Nb=function(a){this.options=a};Nb.prototype={constructor:Nb,lex:function(a){this.text=a;this.index=0;this.ch=s;this.lastCh=":";this.tokens=[];var c;for(a=[];this.index=a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"=== +a},isIdent:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,c,d){d=d||this.index;c=B(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d;throw Ba("lexerr",a,c,this.text);},readNumber:function(){for(var a="",c=this.index;this.index","<=",">="))a=this.binaryFn(a,c.fn,this.relational());return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect("+","-");)a=this.binaryFn(a,c.fn,this.multiplicative());return a},multiplicative:function(){for(var a=this.unary(),c;c=this.expect("*","/","%");)a=this.binaryFn(a,c.fn,this.unary());return a},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn($a.ZERO,a.fn, +this.unary()):(a=this.expect("!"))?this.unaryFn(a.fn,this.unary()):this.primary()},fieldAccess:function(a){var c=this,d=this.expect().text,e=Dc(d,this.options,this.text);return D(function(c,d,h){return e(h||a(c,d))},{assign:function(e,f,h){return ob(a(e,h),d,f,c.text,c.options)}})},objectIndex:function(a){var c=this,d=this.expression();this.consume("]");return D(function(e,g){var f=a(e,g),h=d(e,g),l;if(!f)return s;(f=Za(f[h],c.text))&&(f.then&&c.options.unwrapPromises)&&(l=f,"$$v"in f||(l.$$v=s,l.then(function(a){l.$$v= +a})),f=f.$$v);return f},{assign:function(e,g,f){var h=d(e,f);return Za(a(e,f),c.text)[h]=g}})},functionCall:function(a,c){var d=[];if(")"!==this.peekToken().text){do d.push(this.expression());while(this.expect(","))}this.consume(")");var e=this;return function(g,f){for(var h=[],l=c?c(g,f):g,k=0;ka.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=-1*a.getTimezoneOffset();return a=(0<=a?"+":"")+(Ob(Math[0=S&&(c.href||c.name||c.$set("href",""),a.append(U.createComment("IE fix")));if(!c.href&&!c.xlinkHref&&!c.name)return function(a,c){var g="[object SVGAnimatedString]"===wa.call(c.prop("href"))?"xlink:href":"href";c.on("click",function(a){c.attr(g)||a.preventDefault()})}}}),zb={};q(kb,function(a,c){if("multiple"!=a){var d=na("ng-"+c);zb[d]=function(){return{priority:100,link:function(a,g,f){a.$watch(f[d],function(a){f.$set(c,!!a)})}}}}});q(["src", +"srcset","href"],function(a){var c=na("ng-"+a);zb[c]=function(){return{priority:99,link:function(d,e,g){var f=a,h=a;"href"===a&&"[object SVGAnimatedString]"===wa.call(e.prop("href"))&&(h="xlinkHref",g.$attr[h]="xlink:href",f=null);g.$observe(c,function(a){a&&(g.$set(h,a),S&&f&&e.prop(f,g[h]))})}}}});var sb={$addControl:C,$removeControl:C,$setValidity:C,$setDirty:C,$setPristine:C};Oc.$inject=["$element","$attrs","$scope","$animate"];var Qc=function(a){return["$timeout",function(c){return{name:"form", +restrict:a?"EAC":"E",controller:Oc,compile:function(){return{pre:function(a,e,g,f){if(!g.action){var h=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};Pc(e[0],"submit",h);e.on("$destroy",function(){c(function(){Fb(e[0],"submit",h)},0,!1)})}var l=e.parent().controller("form"),k=g.name||g.ngForm;k&&ob(a,k,f,k);if(l)e.on("$destroy",function(){l.$removeControl(f);k&&ob(a,k,s,k);D(f,sb)})}}}}}]},dd=Qc(),qd=Qc(!0),Oe=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/, +Pe=/^[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*$/i,Qe=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Rc={text:ub,number:function(a,c,d,e,g,f){ub(a,c,d,e,g,f);e.$parsers.push(function(a){var c=e.$isEmpty(a);if(c||Qe.test(a))return e.$setValidity("number",!0),""===a?null:c?a:parseFloat(a);e.$setValidity("number",!1);return s});Je(e,"number",c);e.$formatters.push(function(a){return e.$isEmpty(a)?"":""+a});d.min&&(a=function(a){var c=parseFloat(d.min);return pa(e,"min",e.$isEmpty(a)||a>=c,a)},e.$parsers.push(a), +e.$formatters.push(a));d.max&&(a=function(a){var c=parseFloat(d.max);return pa(e,"max",e.$isEmpty(a)||a<=c,a)},e.$parsers.push(a),e.$formatters.push(a));e.$formatters.push(function(a){return pa(e,"number",e.$isEmpty(a)||vb(a),a)})},url:function(a,c,d,e,g,f){ub(a,c,d,e,g,f);a=function(a){return pa(e,"url",e.$isEmpty(a)||Oe.test(a),a)};e.$formatters.push(a);e.$parsers.push(a)},email:function(a,c,d,e,g,f){ub(a,c,d,e,g,f);a=function(a){return pa(e,"email",e.$isEmpty(a)||Pe.test(a),a)};e.$formatters.push(a); +e.$parsers.push(a)},radio:function(a,c,d,e){E(d.name)&&c.attr("name",bb());c.on("click",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var g=d.ngTrueValue,f=d.ngFalseValue;w(g)||(g=!0);w(f)||(f=!1);c.on("click",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return a!==g}; +e.$formatters.push(function(a){return a===g});e.$parsers.push(function(a){return a?g:f})},hidden:C,button:C,submit:C,reset:C,file:C},dc=["$browser","$sniffer",function(a,c){return{restrict:"E",require:"?ngModel",link:function(d,e,g,f){f&&(Rc[K(g.type)]||Rc.text)(d,e,g,f,c,a)}}}],rb="ng-valid",qb="ng-invalid",La="ng-pristine",tb="ng-dirty",Re=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate",function(a,c,d,e,g,f){function h(a,c){c=c?"-"+fb(c,"-"):"";f.removeClass(e,(a?qb:rb)+c); +f.addClass(e,(a?rb:qb)+c)}this.$modelValue=this.$viewValue=Number.NaN;this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$name=d.name;var l=g(d.ngModel),k=l.assign;if(!k)throw t("ngModel")("nonassign",d.ngModel,ha(e));this.$render=C;this.$isEmpty=function(a){return E(a)||""===a||null===a||a!==a};var m=e.inheritedData("$formController")||sb,n=0,p=this.$error={};e.addClass(La);h(!0);this.$setValidity=function(a,c){p[a]!== +!c&&(c?(p[a]&&n--,n||(h(!0),this.$valid=!0,this.$invalid=!1)):(h(!1),this.$invalid=!0,this.$valid=!1,n++),p[a]=!c,h(c,a),m.$setValidity(a,c,this))};this.$setPristine=function(){this.$dirty=!1;this.$pristine=!0;f.removeClass(e,tb);f.addClass(e,La)};this.$setViewValue=function(d){this.$viewValue=d;this.$pristine&&(this.$dirty=!0,this.$pristine=!1,f.removeClass(e,La),f.addClass(e,tb),m.$setDirty());q(this.$parsers,function(a){d=a(d)});this.$modelValue!==d&&(this.$modelValue=d,k(a,d),q(this.$viewChangeListeners, +function(a){try{a()}catch(d){c(d)}}))};var r=this;a.$watch(function(){var c=l(a);if(r.$modelValue!==c){var d=r.$formatters,e=d.length;for(r.$modelValue=c;e--;)c=d[e](c);r.$viewValue!==c&&(r.$viewValue=c,r.$render())}return c})}],Fd=function(){return{require:["ngModel","^?form"],controller:Re,link:function(a,c,d,e){var g=e[0],f=e[1]||sb;f.$addControl(g);a.$on("$destroy",function(){f.$removeControl(g)})}}},Hd=aa({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}), +ec=function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){d.required=!0;var g=function(a){if(d.required&&e.$isEmpty(a))e.$setValidity("required",!1);else return e.$setValidity("required",!0),a};e.$formatters.push(g);e.$parsers.unshift(g);d.$observe("required",function(){g(e.$viewValue)})}}}},Gd=function(){return{require:"ngModel",link:function(a,c,d,e){var g=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||",";e.$parsers.push(function(a){if(!E(a)){var c=[];a&&q(a.split(g),function(a){a&& +c.push(ca(a))});return c}});e.$formatters.push(function(a){return M(a)?a.join(", "):s});e.$isEmpty=function(a){return!a||!a.length}}}},Se=/^(true|false|\d+)$/,Id=function(){return{priority:100,compile:function(a,c){return Se.test(c.ngValue)?function(a,c,g){g.$set("value",a.$eval(g.ngValue))}:function(a,c,g){a.$watch(g.ngValue,function(a){g.$set("value",a)})}}}},id=va(function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBind);a.$watch(d.ngBind,function(a){c.text(a==s?"":a)})}),kd=["$interpolate", +function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate));d.addClass("ng-binding").data("$binding",c);e.$observe("ngBindTemplate",function(a){d.text(a)})}}],jd=["$sce","$parse",function(a,c){return function(d,e,g){e.addClass("ng-binding").data("$binding",g.ngBindHtml);var f=c(g.ngBindHtml);d.$watch(function(){return(f(d)||"").toString()},function(c){e.html(a.getTrustedHtml(f(d))||"")})}}],ld=Pb("",!0),nd=Pb("Odd",0),md=Pb("Even",1),od=va({compile:function(a,c){c.$set("ngCloak",s);a.removeClass("ng-cloak")}}), +pd=[function(){return{scope:!0,controller:"@",priority:500}}],fc={};q("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var c=na("ng-"+a);fc[c]=["$parse",function(d){return{compile:function(e,g){var f=d(g[c]);return function(c,d,e){d.on(K(a),function(a){c.$apply(function(){f(c,{$event:a})})})}}}}]});var sd=["$animate",function(a){return{transclude:"element",priority:600,terminal:!0,restrict:"A", +$$tlb:!0,link:function(c,d,e,g,f){var h,l,k;c.$watch(e.ngIf,function(g){Qa(g)?l||(l=c.$new(),f(l,function(c){c[c.length++]=U.createComment(" end ngIf: "+e.ngIf+" ");h={clone:c};a.enter(c,d.parent(),d)})):(k&&(k.remove(),k=null),l&&(l.$destroy(),l=null),h&&(k=yb(h.clone),a.leave(k,function(){k=null}),h=null))})}}}],td=["$http","$templateCache","$anchorScroll","$animate","$sce",function(a,c,d,e,g){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Ea.noop,compile:function(f, +h){var l=h.ngInclude||h.src,k=h.onload||"",m=h.autoscroll;return function(f,h,q,s,u){var F=0,v,y,A,x=function(){y&&(y.remove(),y=null);v&&(v.$destroy(),v=null);A&&(e.leave(A,function(){y=null}),y=A,A=null)};f.$watch(g.parseAsResourceUrl(l),function(g){var l=function(){!B(m)||m&&!f.$eval(m)||d()},q=++F;g?(a.get(g,{cache:c}).success(function(a){if(q===F){var c=f.$new();s.template=a;a=u(c,function(a){x();e.enter(a,null,h,l)});v=c;A=a;v.$emit("$includeContentLoaded");f.$eval(k)}}).error(function(){q=== +F&&x()}),f.$emit("$includeContentRequested")):(x(),s.template=null)})}}}}],Jd=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,g){d.html(g.template);a(d.contents())(c)}}}],ud=va({priority:450,compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),vd=va({terminal:!0,priority:1E3}),wd=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,g,f){var h=f.count,l=f.$attr.when&&g.attr(f.$attr.when),k=f.offset|| +0,m=e.$eval(l)||{},n={},p=c.startSymbol(),r=c.endSymbol(),s=/^when(Minus)?(.+)$/;q(f,function(a,c){s.test(c)&&(m[K(c.replace("when","").replace("Minus","-"))]=g.attr(f.$attr[c]))});q(m,function(a,e){n[e]=c(a.replace(d,p+h+"-"+k+r))});e.$watch(function(){var c=parseFloat(e.$eval(h));if(isNaN(c))return"";c in m||(c=a.pluralCat(c-k));return n[c](e,g,!0)},function(a){g.text(a)})}}}],xd=["$parse","$animate",function(a,c){var d=t("ngRepeat");return{transclude:"element",priority:1E3,terminal:!0,$$tlb:!0, +link:function(e,g,f,h,l){var k=f.ngRepeat,m=k.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),n,p,r,s,u,F,v={$id:Ia};if(!m)throw d("iexp",k);f=m[1];h=m[2];(m=m[3])?(n=a(m),p=function(a,c,d){F&&(v[F]=a);v[u]=c;v.$index=d;return n(e,v)}):(r=function(a,c){return Ia(c)},s=function(a){return a});m=f.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!m)throw d("iidexp",f);u=m[3]||m[1];F=m[2];var B={};e.$watchCollection(h,function(a){var f,h,m=g[0],n,v={},H,R,w,C,T,t, +E=[];if(ab(a))T=a,n=p||r;else{n=p||s;T=[];for(w in a)a.hasOwnProperty(w)&&"$"!=w.charAt(0)&&T.push(w);T.sort()}H=T.length;h=E.length=T.length;for(f=0;fA;)z.pop().element.remove()}for(;x.length>I;)x.pop()[0].element.remove()}var k;if(!(k=t.match(d)))throw Te("iexp",t,ha(f));var l=c(k[2]||k[1]),m=k[4]||k[6],n=k[5],p=c(k[3]||""),q= +c(k[2]?k[1]:m),y=c(k[7]),w=k[8]?c(k[8]):null,x=[[{element:f,label:""}]];u&&(a(u)(e),u.removeClass("ng-scope"),u.remove());f.empty();f.on("change",function(){e.$apply(function(){var a,c=y(e)||[],d={},h,k,l,p,t,v,u;if(r)for(k=[],p=0,v=x.length;p@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}.ng-animate-block-transitions{transition:0s all!important;-webkit-transition:0s all!important;}'); +//# sourceMappingURL=angular.min.js.map \ No newline at end of file diff --git a/vendor/assets/javascripts/highcharts-exporting.js b/vendor/assets/javascripts/highcharts-exporting.js new file mode 100644 index 0000000..9a99f3b --- /dev/null +++ b/vendor/assets/javascripts/highcharts-exporting.js @@ -0,0 +1,24 @@ +/* + Highstock JS v4.2.1 (2015-12-21) + Exporting module + + (c) 2010-2014 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(f){typeof module==="object"&&module.exports?module.exports=f:f(Highcharts)})(function(f){var r=f.win,m=r.document,A=f.Chart,t=f.addEvent,B=f.removeEvent,C=f.fireEvent,n=f.createElement,s=f.discardElement,v=f.css,l=f.merge,i=f.each,q=f.extend,F=f.splat,G=Math.max,H=f.isTouchDevice,I=f.Renderer.prototype.symbols,y=f.getOptions(),z;q(y.lang,{printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image", +contextButtonTitle:"Chart context menu"});y.navigation={menuStyle:{border:"1px solid #A0A0A0",background:"#FFFFFF",padding:"5px 0"},menuItemStyle:{padding:"0 10px",background:"none",color:"#303030",fontSize:H?"14px":"11px"},menuItemHoverStyle:{background:"#4572A5",color:"#FFFFFF"},buttonOptions:{symbolFill:"#E0E0E0",symbolSize:14,symbolStroke:"#666",symbolStrokeWidth:3,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,theme:{fill:"white",stroke:"none"},verticalAlign:"top",width:24}}; +y.exporting={type:"image/png",url:"http://export.highcharts.com/",buttons:{contextButton:{menuClassName:"highcharts-contextmenu",symbol:"menu",_titleKey:"contextButtonTitle",menuItems:[{textKey:"printChart",onclick:function(){this.print()}},{separator:!0},{textKey:"downloadPNG",onclick:function(){this.exportChart()}},{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},{textKey:"downloadSVG", +onclick:function(){this.exportChart({type:"image/svg+xml"})}}]}}};f.post=function(a,b,e){var c,a=n("form",l({method:"post",action:a,enctype:"multipart/form-data"},e),{display:"none"},m.body);for(c in b)n("input",{type:"hidden",name:c,value:b[c]},null,a);a.submit();s(a)};q(A.prototype,{sanitizeSVG:function(a){return a.replace(/zIndex="[^"]+"/g,"").replace(/isShadow="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\([^#]+#/g,"url(#").replace(/.*?$/,"").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,'$1="rgb($2)" $1-opacity="$3"').replace(/ /g,"\u00a0").replace(/­/g,"\u00ad").replace(//g,"<$1title>").replace(/height=([^" ]+)/g,'height="$1"').replace(/width=([^" ]+)/g,'width="$1"').replace(/hc-svg-href="([^"]+)">/g,'xlink:href="$1"/>').replace(/ id=([^" >]+)/g,' id="$1"').replace(/class=([^" >]+)/g,'class="$1"').replace(/ transform /g, +" ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(b){return b.toLowerCase()})},getChartHTML:function(){return this.container.innerHTML},getSVG:function(a){var b=this,e,c,g,j,k,d=l(b.options,a),J=d.exporting.allowHTML;if(!m.createElementNS)m.createElementNS=function(b,a){return m.createElement(a)};c=n("div",null,{position:"absolute",top:"-9999em",width:b.chartWidth+"px",height:b.chartHeight+"px"},m.body);g=b.renderTo.style.width;k=b.renderTo.style.height;g=d.exporting.sourceWidth|| +d.chart.width||/px$/.test(g)&&parseInt(g,10)||600;k=d.exporting.sourceHeight||d.chart.height||/px$/.test(k)&&parseInt(k,10)||400;q(d.chart,{animation:!1,renderTo:c,forExport:!0,renderer:"SVGRenderer",width:g,height:k});d.exporting.enabled=!1;delete d.data;d.series=[];i(b.series,function(a){j=l(a.options,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:a.visible});j.isInternal||d.series.push(j)});a&&i(["xAxis","yAxis"],function(b){i(F(a[b]),function(a,c){d[b][c]=l(d[b][c],a)})});e=new f.Chart(d, +b.callback);i(["xAxis","yAxis"],function(a){i(b[a],function(b,c){var d=e[a][c],f=b.getExtremes(),g=f.userMin,f=f.userMax;d&&(g!==void 0||f!==void 0)&&d.setExtremes(g,f,!0,!1)})});g=e.getChartHTML();d=null;e.destroy();s(c);if(J&&(c=g.match(/<\/svg>(.*?$)/)))c=''+c[1]+"",g=g.replace("",c+"");g=this.sanitizeSVG(g);return g=g.replace(/(url\(#highcharts-[0-9]+)"/g,"$1").replace(/"/g, +"'")},getSVGForExport:function(a,b){var e=this.options.exporting;return this.getSVG(l({chart:{borderRadius:0}},e.chartOptions,b,{exporting:{sourceWidth:a&&a.sourceWidth||e.sourceWidth,sourceHeight:a&&a.sourceHeight||e.sourceHeight}}))},exportChart:function(a,b){var e=this.getSVGForExport(a,b),a=l(this.options.exporting,a);f.post(a.url,{filename:a.filename||"chart",type:a.type,width:a.width||0,scale:a.scale||2,svg:e},a.formAttributes)},print:function(){var a=this,b=a.container,e=[],c=b.parentNode, +f=m.body,j=f.childNodes;if(!a.isPrinting)a.isPrinting=!0,a.pointer.reset(null,0),C(a,"beforePrint"),i(j,function(a,b){if(a.nodeType===1)e[b]=a.style.display,a.style.display="none"}),f.appendChild(b),r.focus(),r.print(),setTimeout(function(){c.appendChild(b);i(j,function(a,b){if(a.nodeType===1)a.style.display=e[b]});a.isPrinting=!1;C(a,"afterPrint")},1E3)},contextMenu:function(a,b,e,c,f,j,k){var d=this,l=d.options.navigation,D=l.menuItemStyle,o=d.chartWidth,p=d.chartHeight,E="cache-"+a,h=d[E],u=G(f, +j),w,x,r,s=function(b){d.pointer.inClass(b.target,a)||x()};if(!h)d[E]=h=n("div",{className:a},{position:"absolute",zIndex:1E3,padding:u+"px"},d.container),w=n("div",null,q({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},l.menuStyle),h),x=function(){v(h,{display:"none"});k&&k.setState(0);d.openMenu=!1},t(h,"mouseleave",function(){r=setTimeout(x,500)}),t(h,"mouseenter",function(){clearTimeout(r)}),t(m,"mouseup",s),t(d,"destroy",function(){B(m,"mouseup", +s)}),i(b,function(a){if(a){var b=a.separator?n("hr",null,null,w):n("div",{onmouseover:function(){v(this,l.menuItemHoverStyle)},onmouseout:function(){v(this,D)},onclick:function(b){b&&b.stopPropagation();x();a.onclick&&a.onclick.apply(d,arguments)},innerHTML:a.text||d.options.lang[a.textKey]},q({cursor:"pointer"},D),w);d.exportDivElements.push(b)}}),d.exportDivElements.push(w,h),d.exportMenuWidth=h.offsetWidth,d.exportMenuHeight=h.offsetHeight;b={display:"block"};e+d.exportMenuWidth>o?b.right=o-e- +f-u+"px":b.left=e-u+"px";c+j+d.exportMenuHeight>p&&k.alignOptions.verticalAlign!=="top"?b.bottom=p-c-u+"px":b.top=c+j-u+"px";v(h,b);d.openMenu=!0},addButton:function(a){var b=this,e=b.renderer,c=l(b.options.navigation.buttonOptions,a),g=c.onclick,j=c.menuItems,k,d,m={stroke:c.symbolStroke,fill:c.symbolFill},i=c.symbolSize||12;if(!b.btnCount)b.btnCount=0;if(!b.exportDivElements)b.exportDivElements=[],b.exportSVGElements=[];if(c.enabled!==!1){var o=c.theme,p=o.states,n=p&&p.hover,p=p&&p.select,h;delete o.states; +g?h=function(a){a.stopPropagation();g.call(b,a)}:j&&(h=function(){b.contextMenu(d.menuClassName,j,d.translateX,d.translateY,d.width,d.height,d);d.setState(2)});c.text&&c.symbol?o.paddingLeft=f.pick(o.paddingLeft,25):c.text||q(o,{width:c.width,height:c.height,padding:0});d=e.button(c.text,0,0,h,o,n,p).attr({title:b.options.lang[c._titleKey],"stroke-linecap":"round"});d.menuClassName=a.menuClassName||"highcharts-menu-"+b.btnCount++;c.symbol&&(k=e.symbol(c.symbol,c.symbolX-i/2,c.symbolY-i/2,i,i).attr(q(m, +{"stroke-width":c.symbolStrokeWidth||1,zIndex:1})).add(d));d.add().align(q(c,{width:d.width,x:f.pick(c.x,z)}),!0,"spacingBox");z+=(d.width+c.buttonSpacing)*(c.align==="right"?-1:1);b.exportSVGElements.push(d,k)}},destroyExport:function(a){var a=a.target,b,e;for(b=0;b-1?h.thousandsSep:""))):e=Ra(f,e)}k.push(e);a=a.slice(c+1);c=(d=!d)?"}":"{"}k.push(a);return k.join("")}function sb(a){return V.pow(10,S(V.log(a)/V.LN10))}function tb(a,b,c,d,e){var f,g=a,c=p(c,1);f=a/c;b||(b=[1,2,2.5,5,10],d===!1&&(c===1?b=[1,2,5,10]:c<=0.1&&(b=[1/c])));for(d=0;d=a||!e&&f<=(b[d]+(b[d+1]||b[d]))/ +2)break;g*=c;return g}function jb(a,b){var c=a.length,d,e;for(e=0;ec&&(c=a[b]);return c}function Ta(a,b){for(var c in a)a[c]&&a[c]!==b&&a[c].destroy&&a[c].destroy(),delete a[c]}function Ua(a){kb||(kb=$(Ma));a&&kb.appendChild(a);kb.innerHTML=""}function fa(a,b){return parseFloat(a.toPrecision(b|| +14))}function Va(a,b){b.renderer.globalAnimation=p(a,b.animation)}function Fb(){var a=O.global,b=a.useUTC,c=b?"getUTC":"get",d=b?"setUTC":"set";oa=a.Date||C.Date;rb=b&&a.timezoneOffset;ib=b&&a.getTimezoneOffset;lb=function(a,c,d,h,i,k){var j;b?(j=oa.UTC.apply(0,arguments),j+=Za(j)):j=(new oa(a,c,p(d,1),p(h,0),p(i,0),p(k,0))).getTime();return j};ub=c+"Minutes";vb=c+"Hours";wb=c+"Day";$a=c+"Date";ab=c+"Month";bb=c+"FullYear";Gb=d+"Milliseconds";Hb=d+"Seconds";Ib=d+"Minutes";Jb=d+"Hours";xb=d+"Date"; +yb=d+"Month";zb=d+"FullYear"}function ia(a){if(!(this instanceof ia))return new ia(a);this.init(a)}function Q(){}function Wa(a,b,c,d){this.axis=a;this.pos=b;this.type=c||"";this.isNew=!0;!c&&!d&&this.addLabel()}function Kb(a,b,c,d,e){var f=a.chart.inverted;this.axis=a;this.isNegative=c;this.options=b;this.x=d;this.total=null;this.points={};this.stack=e;this.alignOptions={align:b.align||(f?c?"left":"right":"center"),verticalAlign:b.verticalAlign||(f?"middle":c?"bottom":"top"),y:p(b.y,f?4:c?14:-6), +x:p(b.x,f?c?-6:6:0)};this.textAlign=b.textAlign||(f?c?"right":"left":"center")}var B,z=C.document,V=Math,A=V.round,S=V.floor,ua=V.ceil,s=V.max,E=V.min,P=V.abs,T=V.cos,aa=V.sin,pa=V.PI,ga=pa*2/360,Aa=C.navigator&&C.navigator.userAgent||"",Lb=C.opera,za=/(msie|trident|edge)/i.test(Aa)&&!Lb,mb=z&&z.documentMode===8,nb=!za&&/AppleWebKit/.test(Aa),Na=/Firefox/.test(Aa),Mb=/(Mobile|Android|Windows Phone)/.test(Aa),Ea="http://www.w3.org/2000/svg",da=z&&z.createElementNS&&!!z.createElementNS(Ea,"svg").createSVGRect, +Qb=Na&&parseInt(Aa.split("Firefox/")[1],10)<4,ha=z&&!da&&!za&&!!z.createElement("canvas").getContext,cb,db,Nb={},Ab=0,kb,O,Ra,G,va=function(){},W=[],eb=0,Ma="div",Rb=/^[0-9]+$/,ob=["plotTop","marginRight","marginBottom","plotLeft"],oa,lb,rb,ib,ub,vb,wb,$a,ab,bb,Gb,Hb,Ib,Jb,xb,yb,zb,I={},u;u=C.Highcharts?Y(16,!0):{win:C};u.seriesTypes=I;var Fa=[],Ga,qa,o,Oa,Bb,Ha,N,U,H,Xa,Pa;qb.prototype={dSetter:function(){var a=this.paths[0],b=this.paths[1],c=[],d=this.now,e=a.length,f;if(d===1)c=this.toD;else if(e=== +b.length&&d<1)for(;e--;)f=parseFloat(a[e]),c[e]=isNaN(f)?a[e]:d*parseFloat(b[e]-f)+f;else c=b;this.elem.attr("d",c)},update:function(){var a=this.elem,b=this.prop,c=this.now,d=this.options.step;if(this[b+"Setter"])this[b+"Setter"]();else a.attr?a.element&&a.attr(b,c):a.style[b]=c+this.unit;d&&d.call(a,c,this)},run:function(a,b,c){var d=this,e=function(a){return e.stopped?!1:d.step(a)},f;this.startTime=+new oa;this.start=a;this.end=b;this.unit=c;this.now=this.start;this.pos=0;e.elem=this.elem;if(e()&& +Fa.push(e)===1)e.timerId=setInterval(function(){for(f=0;f=f+this.startTime){this.now=this.end;this.pos=1;this.update();a=g[this.prop]=!0;for(h in g)g[h]!==!0&&(a=!1);a&&e&&e.call(c);c=!1}else this.pos=d.easing((b-this.startTime)/f),this.now=this.start+(this.end-this.start)* +this.pos,this.update(),c=!0;return c},initPath:function(a,b,c){var b=b||"",d=a.shift,e=b.indexOf("C")>-1,f=e?7:3,g,b=b.split(" "),c=[].concat(c),h,i,k=function(a){for(g=a.length;g--;)a[g]==="M"&&a.splice(g+1,0,a[g+1],a[g+2],a[g+1],a[g+2])};e&&(k(b),k(c));a.isArea&&(h=b.splice(b.length-6,6),i=c.splice(c.length-6,6));if(d<=c.length/f&&b.length===c.length)for(;d--;)c=[].concat(c).splice(0,f).concat(c);a.shift=0;if(b.length)for(a=c.length;b.length3?c.length%3:0;return e+(g?c.substr(0,g)+d:"")+c.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+d)+(f?b+P(a-c).toFixed(f).slice(2):"")};Math.easeInOutSine=function(a){return-0.5* +(Math.cos(Math.PI*a)-1)};Ga=function(a,b){var c=C.getComputedStyle(a,void 0);return c&&F(c.getPropertyValue(b))};qa=function(a,b){return b.indexOf?b.indexOf(a):[].indexOf.call(b,a)};Oa=function(a,b){return[].filter.call(a,b)};Ha=function(a,b){for(var c=[],d=0,e=a.length;d-1&&(f.splice(h,1),g[b]=f),d(b,c)):(e(),g[b]=[])):(e(),a.hcEvents={})};H=function(a,b,c,d){var e;e=a.hcEvents;var f,g,h,i,c=c||{};if(z.createEvent&&(a.dispatchEvent||a.fireEvent))e=z.createEvent("Events"),e.initEvent(b,!0,!0),e.target=a,v(e,c),a.dispatchEvent? +a.dispatchEvent(e):a.fireEvent(b,e);else if(e){e=e[b]||[];f=e.length;h=function(){c.defaultPrevented=!0};for(g=0;g{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',shadow:!0,snap:Mb?25:10,style:{color:"#333333",cursor:"default",fontSize:"12px",padding:"8px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090", +fontSize:"9px"}}};var ba=O.plotOptions,ea=ba.line;Fb();ia.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[F(a[1]),F(a[2]),F(a[3]),parseFloat(a[4],10)]}},{regex:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,parse:function(a){return[F(a[1],16),F(a[2],16),F(a[3],16),1]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[F(a[1]),F(a[2]),F(a[3]),1]}}], +init:function(a){var b,c,d,e;if((this.input=a)&&a.stops)this.stops=Ha(a.stops,function(a){return new ia(a[1])});else for(d=this.parsers.length;d--&&!c;)e=this.parsers[d],(b=e.regex.exec(a))&&(c=e.parse(b));this.rgba=c||[]},get:function(a){var b=this.input,c=this.rgba,d;this.stops?(d=D(b),d.stops=[].concat(d.stops),o(this.stops,function(b,c){d.stops[c]=[d.stops[c][0],b.get(a)]})):d=c&&!isNaN(c[0])?a==="rgb"||!a&&c[3]===1?"rgb("+c[0]+","+c[1]+","+c[2]+")":a==="a"?c[3]:"rgba("+c.join(",")+")":b;return d}, +brighten:function(a){var b,c=this.rgba;if(this.stops)o(this.stops,function(b){b.brighten(a)});else if(ka(a)&&a!==0)for(b=0;b<3;b++)c[b]+=F(a*255),c[b]<0&&(c[b]=0),c[b]>255&&(c[b]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this}};Q.prototype={opacity:1,textProps:"direction,fontSize,fontWeight,fontFamily,fontStyle,color,lineHeight,width,textDecoration,textOverflow,textShadow".split(","),init:function(a,b){this.element=b==="span"?$(b):z.createElementNS(Ea,b);this.renderer=a},animate:function(a, +b,c){b=p(b,this.renderer.globalAnimation,!0);Pa(this);if(b){b=D(b,{});if(c)b.complete=c;Xa(this,a,b)}else this.attr(a,null,c);return this},colorGradient:function(a,b,c){var d=this.renderer,e,f,g,h,i,k,j,m,l,n,t,r=[],p;a.linearGradient?f="linearGradient":a.radialGradient&&(f="radialGradient");if(f){g=a[f];i=d.gradients;j=a.stops;n=c.radialReference;Ja(g)&&(a[f]=g={x1:g[0],y1:g[1],x2:g[2],y2:g[3],gradientUnits:"userSpaceOnUse"});f==="radialGradient"&&n&&!q(g.gradientUnits)&&(h=g,g=D(g,d.getRadialAttr(n, +h),{gradientUnits:"userSpaceOnUse"}));for(t in g)t!=="id"&&r.push(t,g[t]);for(t in j)r.push(j[t]);r=r.join(",");i[r]?n=i[r].attr("id"):(g.id=n="highcharts-"+Ab++,i[r]=k=d.createElement(f).attr(g).add(d.defs),k.radAttr=h,k.stops=[],o(j,function(a){a[1].indexOf("rgba")===0?(e=ia(a[1]),m=e.get("rgb"),l=e.get("a")):(m=a[1],l=1);a=d.createElement("stop").attr({offset:a[0],"stop-color":m,"stop-opacity":l}).add(k);k.stops.push(a)}));p="url("+d.url+"#"+n+")";c.setAttribute(b,p);c.gradient=r;a.toString=function(){return p}}}, +applyTextShadow:function(a){var b=this.element,c,d=a.indexOf("contrast")!==-1,e={},f=this.renderer.forExport,g=f||b.style.textShadow!==B&&!za;if(d)e.textShadow=a=a.replace(/contrast/g,this.renderer.getContrast(b.style.fill));if(nb||f)e.textRendering="geometricPrecision";g?this.css(e):(this.fakeTS=!0,this.ySetter=this.xSetter,c=[].slice.call(b.getElementsByTagName("tspan")),o(a.split(/\s?,\s?/g),function(a){var d=b.firstChild,e,f,a=a.split(" ");e=a[a.length-1];(f=a[a.length-2])&&o(c,function(a,c){var g; +c===0&&(a.setAttribute("x",b.getAttribute("x")),c=b.getAttribute("y"),a.setAttribute("y",c||0),c===null&&b.setAttribute("y",0));g=a.cloneNode(1);L(g,{"class":"highcharts-text-shadow",fill:e,stroke:e,"stroke-opacity":1/s(F(f),3),"stroke-width":f,"stroke-linejoin":"round"});b.insertBefore(g,d)})}))},attr:function(a,b,c){var d,e=this.element,f,g=this,h;typeof a==="string"&&b!==B&&(d=a,a={},a[d]=b);if(typeof a==="string")g=(this[a+"Getter"]||this._defaultGetter).call(this,a,e);else{for(d in a){b=a[d]; +h=!1;this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(d)&&(f||(this.symbolAttr(a),f=!0),h=!0);if(this.rotation&&(d==="x"||d==="y"))this.doTransform=!0;h||(this[d+"Setter"]||this._defaultSetter).call(this,b,d,e);this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(d)&&this.updateShadows(d,b)}if(this.doTransform)this.updateTransform(),this.doTransform=!1}c&&c();return g},updateShadows:function(a,b){for(var c=this.shadows,d=c.length;d--;)c[d].setAttribute(a, +a==="height"?Math.max(b-(c[d].cutHeight||0),0):a==="d"?this.d:b)},addClass:function(a){var b=this.element,c=L(b,"class")||"";c.indexOf(a)===-1&&L(b,"class",c+" "+a);return this},symbolAttr:function(a){var b=this;o("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(c){b[c]=p(a[c],b[c])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a){var b, +c={},d,e=a.strokeWidth||this.strokeWidth||0;d=A(e)%2/2;a.x=S(a.x||this.x||0)+d;a.y=S(a.y||this.y||0)+d;a.width=S((a.width||this.width||0)-2*d);a.height=S((a.height||this.height||0)-2*d);a.strokeWidth=e;for(b in a)this[b]!==a[b]&&(this[b]=c[b]=a[b]);return c},css:function(a){var b=this.styles,c={},d=this.element,e,f,g="";e=!b;if(a&&a.color)a.fill=a.color;if(b)for(f in a)a[f]!==b[f]&&(c[f]=a[f],e=!0);if(e){e=this.textWidth=a&&a.width&&d.nodeName.toLowerCase()==="text"&&F(a.width)||this.textWidth;b&& +(a=v(b,c));this.styles=a;e&&(ha||!da&&this.renderer.forExport)&&delete a.width;if(za&&!da)M(this.element,a);else{b=function(a,b){return"-"+b.toLowerCase()};for(f in a)g+=f.replace(/([A-Z])/g,b)+":"+a[f]+";";L(d,"style",g)}e&&this.added&&this.renderer.buildText(this)}return this},on:function(a,b){var c=this,d=c.element;db&&a==="click"?(d.ontouchstart=function(a){c.touchEventFired=oa.now();a.preventDefault();b.call(d,a)},d.onclick=function(a){(Aa.indexOf("Android")===-1||oa.now()-(c.touchEventFired|| +0)>1100)&&b.call(d,a)}):d["on"+a]=b;return this},setRadialReference:function(a){var b=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;b&&b.radAttr&&b.animate(this.renderer.getRadialAttr(a,b.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(){this.inverted=!0;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,c=this.scaleX,d=this.scaleY,e=this.inverted, +f=this.rotation,g=this.element;e&&(a+=this.attr("width"),b+=this.attr("height"));a=["translate("+a+","+b+")"];e?a.push("rotate(90) scale(-1,1)"):f&&a.push("rotate("+f+" "+(g.getAttribute("x")||0)+" "+(g.getAttribute("y")||0)+")");(q(c)||q(d))&&a.push("scale("+p(c,1)+" "+p(d,1)+")");a.length&&g.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,b,c){var d,e,f,g,h={};e=this.renderer;f=e.alignedObjects;if(a){if(this.alignOptions= +a,this.alignByTranslate=b,!c||ya(c))this.alignTo=d=c||"renderer",ma(f,this),f.push(this),c=null}else a=this.alignOptions,b=this.alignByTranslate,d=this.alignTo;c=p(c,e[d],e);d=a.align;e=a.verticalAlign;f=(c.x||0)+(a.x||0);g=(c.y||0)+(a.y||0);if(d==="right"||d==="center")f+=(c.width-(a.width||0))/{right:1,center:2}[d];h[b?"translateX":"x"]=A(f);if(e==="bottom"||e==="middle")g+=(c.height-(a.height||0))/({bottom:1,middle:2}[e]||1);h[b?"translateY":"y"]=A(g);this[this.placed?"animate":"attr"](h);this.placed= +!0;this.alignAttr=h;return this},getBBox:function(a,b){var c,d=this.renderer,e,f,g,h=this.element,i=this.styles;e=this.textStr;var k,j=h.style,m,l=d.cache,n=d.cacheKeys,t;f=p(b,this.rotation);g=f*ga;e!==B&&(t=["",f||0,i&&i.fontSize,h.style.width].join(","),t=e===""||Rb.test(e)?"num:"+e.toString().length+t:e+t);t&&!a&&(c=l[t]);if(!c){if(h.namespaceURI===Ea||d.forExport){try{m=this.fakeTS&&function(a){o(h.querySelectorAll(".highcharts-text-shadow"),function(b){b.style.display=a})},Na&&j.textShadow? +(k=j.textShadow,j.textShadow=""):m&&m("none"),c=h.getBBox?v({},h.getBBox()):{width:h.offsetWidth,height:h.offsetHeight},k?j.textShadow=k:m&&m("")}catch(r){}if(!c||c.width<0)c={width:0,height:0}}else c=this.htmlGetBBox();if(d.isSVG){d=c.width;e=c.height;if(za&&i&&i.fontSize==="11px"&&e.toPrecision(3)==="16.9")c.height=e=14;if(f)c.width=P(e*aa(g))+P(d*T(g)),c.height=P(e*T(g))+P(d*aa(g))}if(t){for(;n.length>250;)delete l[n.shift()];l[t]||n.push(t);l[t]=c}}return c},show:function(a){return this.attr({visibility:a? +"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=this.renderer,c=this.element,d;if(a)this.parentGroup=a;this.parentInverted=a&&a.inverted;this.textStr!==void 0&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)d=this.zIndexSetter();d||(a?a.element:b.box).appendChild(c);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b= +a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,b=a.element||{},c=a.shadows,d=a.renderer.isSVG&&b.nodeName==="SPAN"&&a.parentGroup,e,f;b.onclick=b.onmouseout=b.onmouseover=b.onmousemove=b.point=null;Pa(a);if(a.clipPath)a.clipPath=a.clipPath.destroy();if(a.stops){for(f=0;f]*>/g,"")))},textSetter:function(a){if(a!==this.textStr)delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this)},fillSetter:function(a,b,c){typeof a==="string"?c.setAttribute(b,a):a&&this.colorGradient(a,b,c)},visibilitySetter:function(a,b,c){a=== +"inherit"?c.removeAttribute(b):c.setAttribute(b,a)},zIndexSetter:function(a,b){var c=this.renderer,d=this.parentGroup,c=(d||c).element||c.box,e,f,g=this.element,h;e=this.added;var i;q(a)&&(g.setAttribute(b,a),a=+a,this[b]===a&&(e=!1),this[b]=a);if(e){if((a=this.zIndex)&&d)d.handleZ=!0;d=c.childNodes;for(i=0;ia||!q(a)&&q(f)))c.insertBefore(g,e),h=!0;h||c.appendChild(g)}return h},_defaultSetter:function(a,b,c){c.setAttribute(b,a)}};Q.prototype.yGetter= +Q.prototype.xGetter;Q.prototype.translateXSetter=Q.prototype.translateYSetter=Q.prototype.rotationSetter=Q.prototype.verticalAlignSetter=Q.prototype.scaleXSetter=Q.prototype.scaleYSetter=function(a,b){this[b]=a;this.doTransform=!0};Q.prototype["stroke-widthSetter"]=Q.prototype.strokeSetter=function(a,b,c){this[b]=a;if(this.stroke&&this["stroke-width"])this.strokeWidth=this["stroke-width"],Q.prototype.fillSetter.call(this,this.stroke,"stroke",c),c.setAttribute("stroke-width",this["stroke-width"]), +this.hasStroke=!0;else if(b==="stroke-width"&&a===0&&this.hasStroke)c.removeAttribute("stroke"),this.hasStroke=!1};var Ba=function(){this.init.apply(this,arguments)};Ba.prototype={Element:Q,init:function(a,b,c,d,e,f){var g,d=this.createElement("svg").attr({version:"1.1"}).css(this.getStyle(d));g=d.element;a.appendChild(g);a.innerHTML.indexOf("xmlns")===-1&&L(g,"xmlns",Ea);this.isSVG=!0;this.box=g;this.boxWrapper=d;this.alignedObjects=[];this.url=(Na||nb)&&z.getElementsByTagName("base").length?C.location.href.replace(/#.*?$/, +"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(z.createTextNode("Created with Highcharts 4.2.1"));this.defs=this.createElement("defs").add();this.allowHTML=f;this.forExport=e;this.gradients={};this.cache={};this.cacheKeys=[];this.setSize(b,c,!1);var h;if(Na&&a.getBoundingClientRect)this.subPixelFix=b=function(){M(a,{left:0,top:0});h=a.getBoundingClientRect();M(a,{left:ua(h.left)-h.left+"px",top:ua(h.top)-h.top+"px"})},b(),N(C,"resize", +b)},getStyle:function(a){return this.style=v({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();Ta(this.gradients||{});this.gradients=null;if(a)this.defs=a.destroy();this.subPixelFix&&U(C,"resize",this.subPixelFix);return this.alignedObjects=null},createElement:function(a){var b=new this.Element; +b.init(this,a);return b},draw:function(){},getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},buildText:function(a){for(var b=a.element,c=this,d=c.forExport,e=p(a.textStr,"").toString(),f=e.indexOf("<")!==-1,g=b.childNodes,h,i,k=L(b,"x"),j=a.styles,m=a.textWidth,l=j&&j.lineHeight,n=j&&j.textShadow,t=j&&j.textOverflow==="ellipsis",r=g.length,X=m&&!a.added&&this.box,y=function(a){return l?F(l):c.fontMetrics(/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize: +j&&j.fontSize||c.style.fontSize||12,a).h},x=function(a){return a.replace(/</g,"<").replace(/>/g,">")};r--;)b.removeChild(g[r]);!f&&!n&&!t&&e.indexOf(" ")===-1?b.appendChild(z.createTextNode(x(e))):(h=/<.*style="([^"]+)".*>/,i=/<.*href="(http[^"]+)".*>/,X&&X.appendChild(b),e=f?e.replace(/<(b|strong)>/g,'').replace(/<(i|em)>/g,'').replace(//g,"").split(//g):[e],e[e.length-1]=== +""&&e.pop(),o(e,function(e,f){var g,l=0,e=e.replace(//g,"|||");g=e.split("|||");o(g,function(e){if(e!==""||g.length===1){var n={},r=z.createElementNS(Ea,"tspan"),p;h.test(e)&&(p=e.match(h)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),L(r,"style",p));i.test(e)&&!d&&(L(r,"onclick",'location.href="'+e.match(i)[1]+'"'),M(r,{cursor:"pointer"}));e=x(e.replace(/<(.|\n)*?>/g,"")||" ");if(e!==" "){r.appendChild(z.createTextNode(e));if(l)n.dx=0;else if(f&&k!==null)n.x= +k;L(r,n);b.appendChild(r);!l&&f&&(!da&&d&&M(r,{display:"block"}),L(r,"dy",y(r)));if(m){for(var n=e.replace(/([^\^])-/g,"$1- ").split(" "),X=g.length>1||f||n.length>1&&j.whiteSpace!=="nowrap",o,w,q,s=[],v=y(r),B=1,A=a.rotation,u=e,D=u.length;(X||t)&&(n.length||s.length);)a.rotation=0,o=a.getBBox(!0),q=o.width,!da&&c.forExport&&(q=c.measureSpanWidth(r.firstChild.data,a.styles)),o=q>m,w===void 0&&(w=o),t&&w?(D/=2,u===""||!o&&D<0.5?n=[]:(o&&(w=!0),u=e.substring(0,u.length+(o?-1:1)*ua(D)),n=[u+(m>3?"\u2026": +"")],r.removeChild(r.firstChild))):!o||n.length===1?(n=s,s=[],n.length&&(B++,r=z.createElementNS(Ea,"tspan"),L(r,{dy:v,x:k}),p&&L(r,"style",p),b.appendChild(r)),q>m&&(m=q)):(r.removeChild(r.firstChild),s.unshift(n.pop())),n.length&&r.appendChild(z.createTextNode(n.join(" ").replace(/- /g,"-")));w&&a.attr("title",a.textStr);a.rotation=A}l++}}})}),X&&X.removeChild(b),n&&a.applyTextShadow&&a.applyTextShadow(n))},getContrast:function(a){a=ia(a).rgba;return a[0]+a[1]+a[2]>384?"#000000":"#FFFFFF"},button:function(a, +b,c,d,e,f,g,h,i){var k=this.label(a,b,c,i,null,null,null,null,"button"),j=0,m,l,n,t,r,p,a={x1:0,y1:0,x2:0,y2:1},e=D({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:a,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},e);n=e.style;delete e.style;f=D(e,{stroke:"#68A",fill:{linearGradient:a,stops:[[0,"#FFF"],[1,"#ACF"]]}},f);t=f.style;delete f.style;g=D(e,{stroke:"#68A",fill:{linearGradient:a,stops:[[0,"#9BD"],[1,"#CDF"]]}},g);r=g.style;delete g.style;h=D(e,{style:{color:"#CCC"}}, +h);p=h.style;delete h.style;N(k.element,za?"mouseover":"mouseenter",function(){j!==3&&k.attr(f).css(t)});N(k.element,za?"mouseout":"mouseleave",function(){j!==3&&(m=[e,f,g][j],l=[n,t,r][j],k.attr(m).css(l))});k.setState=function(a){(k.state=j=a)?a===2?k.attr(g).css(r):a===3&&k.attr(h).css(p):k.attr(e).css(n)};return k.on("click",function(a){j!==3&&d.call(k,a)}).attr(e).css(v({cursor:"default"},n))},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=A(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=A(a[2])+b%2/ +2);return a},path:function(a){var b={fill:"none"};Ja(a)?b.d=a:Z(a)&&v(b,a);return this.createElement("path").attr(b)},circle:function(a,b,c){a=Z(a)?a:{x:a,y:b,r:c};b=this.createElement("circle");b.xSetter=function(a){this.element.setAttribute("cx",a)};b.ySetter=function(a){this.element.setAttribute("cy",a)};return b.attr(a)},arc:function(a,b,c,d,e,f){if(Z(a))b=a.y,c=a.r,d=a.innerR,e=a.start,f=a.end,a=a.x;a=this.symbol("arc",a||0,b||0,c||0,c||0,{innerR:d||0,start:e||0,end:f||0});a.r=c;return a},rect:function(a, +b,c,d,e,f){var e=Z(a)?a.r:e,g=this.createElement("rect"),a=Z(a)?a:a===B?{}:{x:a,y:b,width:s(c,0),height:s(d,0)};if(f!==B)a.strokeWidth=f,a=g.crisp(a);if(e)a.r=e;g.rSetter=function(a){L(this.element,{rx:a,ry:a})};return g.attr(a)},setSize:function(a,b,c){var d=this.alignedObjects,e=d.length;this.width=a;this.height=b;for(this.boxWrapper[p(c,!0)?"animate":"attr"]({width:a,height:b});e--;)d[e].align()},g:function(a){var b=this.createElement("g");return q(a)?b.attr({"class":"highcharts-"+a}):b},image:function(a, +b,c,d,e){var f={preserveAspectRatio:"none"};arguments.length>1&&v(f,{x:b,y:c,width:d,height:e});f=this.createElement("image").attr(f);f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):f.element.setAttribute("hc-svg-href",a);return f},symbol:function(a,b,c,d,e,f){var g,h=this.symbols[a],h=h&&h(A(b),A(c),d,e,f),i=/^url\((.*?)\)$/,k,j;if(h)g=this.path(h),v(g,{symbolName:a,x:b,y:c,width:d,height:e}),f&&v(g,f);else if(i.test(a))j=function(a,b){a.element&&(a.attr({width:b[0], +height:b[1]}),a.alignByTranslate||a.translate(A((d-b[0])/2),A((e-b[1])/2)))},k=a.match(i)[1],a=Nb[k]||f&&f.width&&f.height&&[f.width,f.height],g=this.image(k).attr({x:b,y:c}),g.isImg=!0,a?j(g,a):(g.attr({width:0,height:0}),$("img",{onload:function(){this.width===0&&(M(this,{position:"absolute",top:"-999em"}),z.body.appendChild(this));j(g,Nb[k]=[this.width,this.height]);this.parentNode&&this.parentNode.removeChild(this)},src:k}));return g},symbols:{circle:function(a,b,c,d){var e=0.166*c;return["M", +a+c/2,b,"C",a+c+e,b,a+c+e,b+d,a+c/2,b+d,"C",a-e,b+d,a-e,b,a+c/2,b,"Z"]},square:function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c,b+d,a,b+d,"Z"]},triangle:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d,a,b+d,"Z"]},"triangle-down":function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c/2,b+d,"Z"]},diamond:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d/2,a+c/2,b+d,a,b+d/2,"Z"]},arc:function(a,b,c,d,e){var f=e.start,c=e.r||c||d,g=e.end-0.001,d=e.innerR,h=e.open,i=T(f),k=aa(f),j=T(g),g=aa(g),e=e.end-fc&&e>b+g&&eb+g&&e +d&&h>a+g&&ha+g&&hl&&/[ \-]/.test(b.textContent||b.innerText))M(b,{width:l+"px",display:"block",whiteSpace:k&&k.whiteSpace||"normal"}),i=l;this.getSpanCorrection(i,m,h,j,g)}M(b,{left:e+(this.xCorr||0)+"px",top:f+(this.yCorr||0)+"px"});if(nb)m=b.offsetHeight;this.cTT= +n}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,c){var d={},e=za?"-ms-transform":nb?"-webkit-transform":Na?"MozTransform":Lb?"-o-transform":"";d[e]=d.transform="rotate("+a+"deg)";d[e+(Na?"Origin":"-origin")]=d.transformOrigin=b*100+"% "+c+"px";M(this.element,d)},getSpanCorrection:function(a,b,c){this.xCorr=-a*c;this.yCorr=-b}});v(Ba.prototype,{html:function(a,b,c){var d=this.createElement("span"),e=d.element,f=d.renderer;d.textSetter=function(a){a!==e.innerHTML&&delete this.bBox;e.innerHTML= +this.textStr=a;d.htmlUpdateTransform()};d.xSetter=d.ySetter=d.alignSetter=d.rotationSetter=function(a,b){b==="align"&&(b="textAlign");d[b]=a;d.htmlUpdateTransform()};d.attr({text:a,x:A(b),y:A(c)}).css({position:"absolute",fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});e.style.whiteSpace="nowrap";d.css=d.htmlCss;if(f.isSVG)d.add=function(a){var b,c=f.box.parentNode,k=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)k.push(a),a=a.parentGroup;o(k.reverse(),function(a){var d,e=L(a.element, +"class");e&&(e={className:e});b=a.div=a.div||$(Ma,e,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px"},b||c);d=b.style;v(a,{translateXSetter:function(b,c){d.left=b+"px";a[c]=b;a.doTransform=!0},translateYSetter:function(b,c){d.top=b+"px";a[c]=b;a.doTransform=!0}});o(["opacity","visibility"],function(b){fb(a,b+"Setter",function(a,b,c,e){a.call(this,b,c,e);d[c]=b})})})}}else b=c;b.appendChild(e);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d};return d}});var K;if(!da&& +!ha){K={init:function(a,b){var c=["<",b,' filled="f" stroked="f"'],d=["position: ","absolute",";"],e=b===Ma;(b==="shape"||e)&&d.push("left:0;top:0;width:1px;height:1px;");d.push("visibility: ",e?"hidden":"visible");c.push(' style="',d.join(""),'"/>');if(b)c=e||b==="span"||b==="img"?c.join(""):a.prepVML(c),this.element=$(c);this.renderer=a},add:function(a){var b=this.renderer,c=this.element,d=b.box,e=a&&a.inverted,d=a?a.element||a:d;if(a)this.parentGroup=a;e&&b.invertChild(c,d);d.appendChild(c);this.added= +!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();return this},updateTransform:Q.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,b=T(a*ga),c=aa(a*ga);M(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11=",b,", M12=",-c,", M21=",c,", M22=",b,", sizingMethod='auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,c,d,e){var f=d?T(d*ga):1,g=d?aa(d*ga):0,h=p(this.elemHeight,this.element.offsetHeight), +i;this.xCorr=f<0&&-a;this.yCorr=g<0&&-h;i=f*g<0;this.xCorr+=g*b*(i?1-c:c);this.yCorr-=f*b*(d?i?c:1-c:1);e&&e!=="left"&&(this.xCorr-=a*c*(f<0?-1:1),d&&(this.yCorr-=h*c*(g<0?-1:1)),M(this.element,{textAlign:e}))},pathToVML:function(a){for(var b=a.length,c=[];b--;)if(ka(a[b]))c[b]=A(a[b]*10)-5;else if(a[b]==="Z")c[b]="x";else if(c[b]=a[b],a.isArc&&(a[b]==="wa"||a[b]==="at"))c[b+5]===c[b+7]&&(c[b+7]+=a[b+7]>a[b+5]?1:-1),c[b+6]===c[b+8]&&(c[b+8]+=a[b+8]>a[b+6]?1:-1);return c.join(" ")||"x"},clip:function(a){var b= +this,c;a?(c=a.members,ma(c,b),c.push(b),b.destroyClip=function(){ma(c,b)},a=a.getCSS(b)):(b.destroyClip&&b.destroyClip(),a={clip:mb?"inherit":"rect(auto)"});return b.css(a)},css:Q.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&Ua(a)},destroy:function(){this.destroyClip&&this.destroyClip();return Q.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=C.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c,a=a.split(/[ ,]/);c=a.length; +if(c===9||c===11)a[c-4]=a[c-2]=F(a[c-2])-10*b;return a.join(" ")},shadow:function(a,b,c){var d=[],e,f=this.element,g=this.renderer,h,i=f.style,k,j=f.path,m,l,n,t;j&&typeof j.value!=="string"&&(j="x");l=j;if(a){n=p(a.width,3);t=(a.opacity||0.15)/n;for(e=1;e<=3;e++){m=n*2+1-2*e;c&&(l=this.cutOffPath(j.value,m+0.5));k=[''];h=$(g.prepVML(k),null,{left:F(i.left)+p(a.offsetX,1),top:F(i.top)+ +p(a.offsetY,1)});if(c)h.cutOff=m+1;k=[''];$(g.prepVML(k),null,null,h);b?b.element.appendChild(h):f.parentNode.insertBefore(h,f);d.push(h)}this.shadows=d}return this},updateShadows:va,setAttr:function(a,b){mb?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){this.element.className=a},dashstyleSetter:function(a,b,c){(c.getElementsByTagName("stroke")[0]||$(this.renderer.prepVML([""]),null,null,c))[b]=a||"solid"; +this[b]=a},dSetter:function(a,b,c){var d=this.shadows,a=a||[];this.d=a.join&&a.join(" ");c.path=a=this.pathToVML(a);if(d)for(c=d.length;c--;)d[c].path=d[c].cutOff?this.cutOffPath(a,d[c].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,c){var d=c.nodeName;if(d==="SPAN")c.style.color=a;else if(d!=="IMG")c.filled=a!=="none",this.setAttr("fillcolor",this.renderer.color(a,c,b,this))},"fill-opacitySetter":function(a,b,c){$(this.renderer.prepVML(["<",b.split("-")[0],' opacity="',a,'"/>']),null,null, +c)},opacitySetter:va,rotationSetter:function(a,b,c){c=c.style;this[b]=c[b]=a;c.left=-A(aa(a*ga)+1)+"px";c.top=A(T(a*ga))+"px"},strokeSetter:function(a,b,c){this.setAttr("strokecolor",this.renderer.color(a,c,b,this))},"stroke-widthSetter":function(a,b,c){c.stroked=!!a;this[b]=a;ka(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,c){a==="inherit"&&(a="visible");this.shadows&&o(this.shadows,function(c){c.style[b]=a});c.nodeName=== +"DIV"&&(a=a==="hidden"?"-999em":0,mb||(c.style[b]=a?"visible":"hidden"),b="top");c.style[b]=a},xSetter:function(a,b,c){this[b]=a;b==="x"?b="left":b==="y"&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):c.style[b]=a},zIndexSetter:function(a,b,c){c.style[b]=a}};K["stroke-opacitySetter"]=K["fill-opacitySetter"];u.VMLElement=K=na(Q,K);K.prototype.ySetter=K.prototype.widthSetter=K.prototype.heightSetter=K.prototype.xSetter;var Cb={Element:K,isIE8:Aa.indexOf("MSIE 8.0")>-1,init:function(a, +b,c,d){var e;this.alignedObjects=[];d=this.createElement(Ma).css(v(this.getStyle(d),{position:"relative"}));e=d.element;a.appendChild(d.element);this.isVML=!0;this.box=e;this.boxWrapper=d;this.gradients={};this.cache={};this.cacheKeys=[];this.setSize(b,c,!1);if(!z.namespaces.hcv){z.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{z.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(f){z.styleSheets[0].cssText+= +"hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}}},isHidden:function(){return!this.box.offsetWidth},clipRect:function(a,b,c,d){var e=this.createElement(),f=Z(a);return v(e,{members:[],count:0,left:(f?a.x:a)+1,top:(f?a.y:b)+1,width:(f?a.width:c)-1,height:(f?a.height:d)-1,getCSS:function(a){var b=a.element,c=b.nodeName,a=a.inverted,d=this.top-(c==="shape"?b.offsetTop:0),e=this.left,b=e+this.width,f=d+this.height,d={clip:"rect("+A(a?e:d)+"px,"+ +A(a?f:b)+"px,"+A(a?b:f)+"px,"+A(a?d:e)+"px)"};!a&&mb&&c==="DIV"&&v(d,{width:b+"px",height:f+"px"});return d},updateClipping:function(){o(e.members,function(a){a.element&&a.css(e.getCSS(a))})}})},color:function(a,b,c,d){var e=this,f,g=/^rgba/,h,i,k="none";a&&a.linearGradient?i="gradient":a&&a.radialGradient&&(i="pattern");if(i){var j,m,l=a.linearGradient||a.radialGradient,n,t,r,p,y,x="",a=a.stops,w,q=[],ca=function(){h=[''];$(e.prepVML(h),null,null,b)};n=a[0];w=a[a.length-1];n[0]>0&&a.unshift([0,n[1]]);w[0]<1&&a.push([1,w[1]]);o(a,function(a,b){g.test(a[1])?(f=ia(a[1]),j=f.get("rgb"),m=f.get("a")):(j=a[1],m=1);q.push(a[0]*100+"% "+j);b?(r=m,p=j):(t=m,y=j)});if(c==="fill")if(i==="gradient")c=l.x1||l[0]||0,a=l.y1||l[1]||0,n=l.x2||l[2]||0,l=l.y2||l[3]||0,x='angle="'+(90-V.atan((l-a)/(n-c))*180/pa)+'"',ca();else{var k=l.r,s=k*2,v=k*2,B=l.cx,A=l.cy,u=b.radialReference,z,k=function(){u&&(z= +d.getBBox(),B+=(u[0]-z.x)/z.width-0.5,A+=(u[1]-z.y)/z.height-0.5,s*=u[2]/z.width,v*=u[2]/z.height);x='src="'+O.global.VMLRadialGradientURL+'" size="'+s+","+v+'" origin="0.5,0.5" position="'+B+","+A+'" color2="'+y+'" ';ca()};d.added?k():d.onAdd=k;k=p}else k=j}else if(g.test(a)&&b.tagName!=="IMG")f=ia(a),d[c+"-opacitySetter"](f.get("a"),c,b),k=f.get("rgb");else{k=b.getElementsByTagName(c);if(k.length)k[0].opacity=1,k[0].type="solid";k=a}return k},prepVML:function(a){var b=this.isIE8,a=a.join("");b? +(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),a=a.indexOf('style="')===-1?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):a=a.replace("<","1&&f.attr({x:b,y:c,width:d,height:e});return f},createElement:function(a){return a==="rect"?this.symbol(a):Ba.prototype.createElement.call(this,a)},invertChild:function(a,b){var c=this,d=b.style,e=a.tagName==="IMG"&&a.style;M(a,{flip:"x",left:F(d.width)-(e?F(e.top): +1),top:F(d.height)-(e?F(e.left):1),rotation:-90});o(a.childNodes,function(b){c.invertChild(b,a)})},symbols:{arc:function(a,b,c,d,e){var f=e.start,g=e.end,h=e.r||c||d,c=e.innerR,d=T(f),i=aa(f),k=T(g),j=aa(g);if(g-f===0)return["x"];f=["wa",a-h,b-h,a+h,b+h,a+h*d,b+h*i,a+h*k,b+h*j];e.open&&!c&&f.push("e","M",a,b);f.push("at",a-c,b-c,a+c,b+c,a+c*k,b+c*j,a+c*d,b+c*i,"x","e");f.isArc=!0;return f},circle:function(a,b,c,d,e){e&&(c=d=2*e.r);e&&e.isCircle&&(a-=c/2,b-=d/2);return["wa",a,b,a+c,b+d,a+c,b+d/2,a+ +c,b+d/2,"e"]},rect:function(a,b,c,d,e){return Ba.prototype.symbols[!q(e)||!e.r?"square":"callout"].call(0,a,b,c,d,e)}}};u.VMLRenderer=K=function(){this.init.apply(this,arguments)};K.prototype=D(Ba.prototype,Cb);cb=K}Ba.prototype.measureSpanWidth=function(a,b){var c=z.createElement("span"),d;d=z.createTextNode(a);c.appendChild(d);M(c,b);this.box.appendChild(c);d=c.offsetWidth;Ua(c);return d};var Ob;if(ha)u.CanVGRenderer=K=function(){Ea="http://www.w3.org/1999/xhtml"},K.prototype.symbols={},Ob=function(){function a(){var a= +b.length,d;for(d=0;d0&&c+i*k>e&&(l=A((d-c)/T(h*ga)));else if(d=c+(1-i)*k,c-i*ke&&(j=e-a.x+j*i,m=-1),j=E(b.slotWidth,j),jj||b.autoRotation&&g.styles.width)l=j;if(l){n.width= +l;if(!b.options.labels.style.textOverflow)n.textOverflow="ellipsis";g.css(n)}},getPosition:function(a,b,c,d){var e=this.axis,f=e.chart,g=d&&f.oldChartHeight||f.chartHeight;return{x:a?e.translate(b+c,null,null,d)+e.transB:e.left+e.offset+(e.opposite?(d&&f.oldChartWidth||f.chartWidth)-e.right-e.left:0),y:a?g-e.bottom+e.offset-(e.opposite?e.height:0):g-e.translate(b+c,null,null,d)-e.transB}},getLabelPosition:function(a,b,c,d,e,f,g,h){var i=this.axis,k=i.transA,j=i.reversed,m=i.staggerLines,l=i.tickRotCorr|| +{x:0,y:0},n=e.y;q(n)||(n=i.side===2?l.y+8:n=T(c.rotation*ga)*(l.y-c.getBBox(!1,0).height/2));a=a+e.x+l.x-(f&&d?f*k*(j?-1:1):0);b=b+n-(f&&!d?f*k*(j?1:-1):0);m&&(c=g/(h||1)%m,i.opposite&&(c=m-c-1),b+=c*(i.labelOffset/m));return{x:a,y:A(b)}},getMarkPath:function(a,b,c,d,e,f){return f.crispLine(["M",a,b,"L",a+(e?0:-c),b+(e?c:0)],d)},render:function(a,b,c){var d=this.axis,e=d.options,f=d.chart.renderer,g=d.horiz,h=this.type,i=this.label,k=this.pos,j=e.labels,m=this.gridLine,l=h?h+"Grid":"grid",n=h?h+"Tick": +"tick",t=e[l+"LineWidth"],r=e[l+"LineColor"],o=e[l+"LineDashStyle"],y=e[n+"Length"],l=p(e[n+"Width"],!h&&d.isXAxis?1:0),x=e[n+"Color"],w=e[n+"Position"],n=this.mark,q=j.step,ca=!0,s=d.tickmarkOffset,v=this.getPosition(g,k,s,b),u=v.x,v=v.y,A=g&&u===d.pos+d.len||!g&&v===d.pos?-1:1,c=p(c,1);this.isActive=!0;if(t){k=d.getPlotLinePath(k+s,t*A,b,!0);if(m===B){m={stroke:r,"stroke-width":t};if(o)m.dashstyle=o;if(!h)m.zIndex=1;if(b)m.opacity=0;this.gridLine=m=t?f.path(k).attr(m).add(d.gridGroup):null}if(!b&& +m&&k)m[this.isNew?"attr":"animate"]({d:k,opacity:c})}if(l&&y)w==="inside"&&(y=-y),d.opposite&&(y=-y),h=this.getMarkPath(u,v,y,l*A,g,f),n?n.animate({d:h,opacity:c}):this.mark=f.path(h).attr({stroke:x,"stroke-width":l,opacity:c}).add(d.axisGroup);if(i&&!isNaN(u))i.xy=v=this.getLabelPosition(u,v,i,g,j,s,a,q),this.isFirst&&!this.isLast&&!p(e.showFirstLabel,1)||this.isLast&&!this.isFirst&&!p(e.showLastLabel,1)?ca=!1:g&&!d.isRadial&&!j.step&&!j.rotation&&!b&&c!==0&&this.handleOverflow(v),q&&a%q&&(ca=!1), +ca&&!isNaN(v.y)?(v.opacity=c,i[this.isNew?"attr":"animate"](v),this.isNew=!1):i.attr("y",-9999)},destroy:function(){Ta(this,this.axis)}};u.PlotLineOrBand=function(a,b){this.axis=a;if(b)this.options=b,this.id=b.id};u.PlotLineOrBand.prototype={render:function(){var a=this,b=a.axis,c=b.horiz,d=a.options,e=d.label,f=a.label,g=d.width,h=d.to,i=d.from,k=q(i)&&q(h),j=d.value,m=d.dashStyle,l=a.svgElem,n=[],t,r=d.color,p=d.zIndex,o=d.events,x={},w=b.chart.renderer;b.isLog&&(i=Ca(i),h=Ca(h),j=Ca(j));if(g){if(n= +b.getPlotLinePath(j,g),x={stroke:r,"stroke-width":g},m)x.dashstyle=m}else if(k){n=b.getPlotBandPath(i,h,d);if(r)x.fill=r;if(d.borderWidth)x.stroke=d.borderColor,x["stroke-width"]=d.borderWidth}else return;if(q(p))x.zIndex=p;if(l)if(n)l.show(),l.animate({d:n});else{if(l.hide(),f)a.label=f=f.destroy()}else if(n&&n.length&&(a.svgElem=l=w.path(n).attr(x).add(),o))for(t in d=function(b){l.on(b,function(c){o[b].apply(a,[c])})},o)d(t);if(e&&q(e.text)&&n&&n.length&&b.width>0&&b.height>0&&!n.flat){e=D({align:c&& +k&&"center",x:c?!k&&4:10,verticalAlign:!c&&k&&"middle",y:c?k?16:10:k?6:-4,rotation:c&&!k&&90},e);if(!f){x={align:e.textAlign||e.align,rotation:e.rotation};if(q(p))x.zIndex=p;a.label=f=w.text(e.text,0,0,e.useHTML).attr(x).css(e.style).add()}b=[n[1],n[4],k?n[6]:n[1]];k=[n[2],n[5],k?n[7]:n[2]];n=Sa(b);c=Sa(k);f.align(e,!1,{x:n,y:c,width:Da(b)-n,height:Da(k)-c});f.show()}else f&&f.hide();return a},destroy:function(){ma(this.axis.plotLinesAndBands,this);delete this.axis;Ta(this)}};var ja=u.Axis=function(){this.init.apply(this, +arguments)};ja.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,gridLineColor:"#D8D8D8",labels:{enabled:!0,style:{color:"#606060",cursor:"default",fontSize:"11px"},x:0,y:15},lineColor:"#C0D0E0",lineWidth:1,minPadding:0.01,maxPadding:0.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1, +startOnTick:!1,tickColor:"#C0D0E0",tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#707070"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8,y:3},lineWidth:0,maxPadding:0.05,minPadding:0.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return u.numberFormat(this.total,-1)},style:D(ba.line.dataLabels.style,{color:"#000000"})}}, +defaultLeftAxisOptions:{labels:{x:-15,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0,y:null},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0,y:-15},title:{rotation:0}},init:function(a,b){var c=b.isX;this.chart=a;this.horiz=a.inverted?!c:c;this.coll=(this.isXAxis=c)?"xAxis":"yAxis";this.opposite=b.opposite;this.side=b.side||(this.horiz?this.opposite?0:2:this.opposite? +1:3);this.setOptions(b);var d=this.options,e=d.type;this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter;this.userOptions=b;this.minPixelPadding=0;this.reversed=d.reversed;this.visible=d.visible!==!1;this.zoomEnabled=d.zoomEnabled!==!1;this.categories=d.categories||e==="category";this.names=this.names||[];this.isLog=e==="logarithmic";this.isDatetimeAxis=e==="datetime";this.isLinked=q(d.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands= +{};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom;this.range=d.range;this.offset=d.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=p(d.crosshair,ta(a.options.tooltip.crosshairs)[c?0:1],!1);var f,d=this.options.events;qa(this,a.axes)===-1&&(c&&!this.isColorAxis?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];if(a.inverted&&c&&this.reversed===B)this.reversed=!0;this.removePlotLine= +this.removePlotBand=this.removePlotBandOrLine;for(f in d)N(this,f,d[f]);if(this.isLog)this.val2lin=Ca,this.lin2val=la},setOptions:function(a){this.options=D(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],D(O[this.coll],a))},defaultLabelFormatter:function(){var a=this.axis,b=this.value,c=a.categories,d=this.dateTimeLabelFormat,e=O.lang.numericSymbols,f=e&&e.length, +g,h=a.options.labels.format,a=a.isLog?b:a.tickInterval;if(h)g=La(h,this);else if(c)g=b;else if(d)g=Ra(d,b);else if(f&&a>=1E3)for(;f--&&g===B;)c=Math.pow(1E3,f+1),a>=c&&b*10%c===0&&e[f]!==null&&(g=u.numberFormat(b/c,-1)+e[f]);g===B&&(g=P(b)>=1E4?u.numberFormat(b,-1):u.numberFormat(b,-1,B,""));return g},getSeriesExtremes:function(){var a=this,b=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();o(a.series,function(c){if(c.visible|| +!b.options.chart.ignoreHiddenSeries){var d=c.options,e=d.threshold,f;a.hasVisibleSeries=!0;a.isLog&&e<=0&&(e=null);if(a.isXAxis){if(d=c.xData,d.length)a.dataMin=E(p(a.dataMin,d[0]),Sa(d)),a.dataMax=s(p(a.dataMax,d[0]),Da(d))}else{c.getExtremes();f=c.dataMax;c=c.dataMin;if(q(c)&&q(f))a.dataMin=E(p(a.dataMin,c),c),a.dataMax=s(p(a.dataMax,f),f);if(q(e))a.threshold=e;if(!d.softThreshold||a.isLog)a.softThreshold=!1}}})},translate:function(a,b,c,d,e,f){var g=this.linkedParent||this,h=1,i=0,k=d?g.oldTransA: +g.transA,d=d?g.oldMin:g.min,j=g.minPixelPadding,e=(g.doPostTranslate||g.isLog&&e)&&g.lin2val;if(!k)k=g.transA;if(c)h*=-1,i=g.len;g.reversed&&(h*=-1,i-=h*(g.sector||g.len));b?(a=a*h+i,a-=j,a=a/k+d,e&&(a=g.lin2val(a))):(e&&(a=g.val2lin(a)),f==="between"&&(f=0.5),a=h*(a-d)*k+i+h*j+(ka(f)?k*f*g.pointRange:0));return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a, +b,c,d,e){var f=this.chart,g=this.left,h=this.top,i,k,j=c&&f.oldChartHeight||f.chartHeight,m=c&&f.oldChartWidth||f.chartWidth,l;i=this.transB;var n=function(a,b,c){if(ac)d?a=E(s(b,a),c):l=!0;return a},e=p(e,this.translate(a,null,null,c)),a=c=A(e+i);i=k=A(j-e-i);isNaN(e)?l=!0:this.horiz?(i=h,k=j-this.bottom,a=c=n(a,g,g+this.width)):(a=g,c=m-this.right,i=k=n(i,h,h+this.height));return l&&!d?null:f.renderer.crispLine(["M",a,i,"L",c,k],b||1)},getLinearTickPositions:function(a,b,c){var d,e=fa(S(b/ +a)*a),f=fa(ua(c/a)*a),g=[];if(b===c&&ka(b))return[b];for(b=e;b<=f;){g.push(b);b=fa(b+a);if(b===d)break;d=b}return g},getMinorTickPositions:function(){var a=this.options,b=this.tickPositions,c=this.minorTickInterval,d=[],e,f=this.pointRangePadding||0;e=this.min-f;var f=this.max+f,g=f-e;if(g&&g/c=this.minRange,f,g,h,i,k,j;if(this.isXAxis&&this.minRange===B&&!this.isLog)q(a.min)||q(a.max)?this.minRange=null:(o(this.series,function(a){i=a.xData;for(g=k=a.xIncrement?1:i.length-1;g>0;g--)if(h=i[g]-i[g-1],f===B||h=n?(r=n,k=0):b.dataMax<=n&&(X=n, +i=0)),b.min=p(y,r,b.dataMin),b.max=p(x,X,b.dataMax));if(e)!a&&E(b.min,p(b.dataMin,b.min))<=0&&Y(10,1),b.min=fa(Ca(b.min),15),b.max=fa(Ca(b.max),15);if(b.range&&q(b.max))b.userMin=b.min=y=s(b.min,b.minFromRange()),b.userMax=x=b.max,b.range=null;b.beforePadding&&b.beforePadding();b.adjustForMinRange();if(!l&&!b.axisPointRange&&!b.usePercentage&&!h&&q(b.min)&&q(b.max)&&(c=b.max-b.min))!q(y)&&k&&(b.min-=c*k),!q(x)&&i&&(b.max+=c*i);if(ka(d.floor))b.min=s(b.min,d.floor);if(ka(d.ceiling))b.max=E(b.max,d.ceiling); +if(t&&q(b.dataMin))if(n=n||0,!q(y)&&b.min=n)b.min=n;else if(!q(x)&&b.max>n&&b.dataMax<=n)b.max=n;b.tickInterval=b.min===b.max||b.min===void 0||b.max===void 0?1:h&&!j&&m===b.linkedParent.options.tickPixelInterval?j=b.linkedParent.tickInterval:p(j,this.tickAmount?(b.max-b.min)/s(this.tickAmount-1,1):void 0,l?1:(b.max-b.min)*m/s(b.len,m));g&&!a&&o(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&&b.beforeSetTickPositions(); +if(b.postProcessTickInterval)b.tickInterval=b.postProcessTickInterval(b.tickInterval);if(b.pointRange&&!j)b.tickInterval=s(b.pointRange,b.tickInterval);a=p(d.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);if(!j&&b.tickInterval0.5&&b.tickInterval<5&&b.max>1E3&&b.max<9999)),!!this.tickAmount);if(!this.tickAmount&&this.len)b.tickInterval=b.unsquish();this.setTickPositions()}, +setTickPositions:function(){var a=this.options,b,c=a.tickPositions,d=a.tickPositioner,e=a.startOnTick,f=a.endOnTick,g;this.tickmarkOffset=this.categories&&a.tickmarkPlacement==="between"&&this.tickInterval===1?0.5:0;this.minorTickInterval=a.minorTickInterval==="auto"&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=c&&c.slice();if(!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinalPositions, +this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,d&&(d=d.apply(this,[this.min,this.max]))))this.tickPositions=b=d;if(!this.isLinked)this.trimTicks(b,e,f),this.min===this.max&&q(this.min)&&!this.tickAmount&&(g=!0,this.min-=0.5,this.max+=0.5),this.single=g,!c&&!d&&this.adjustTickAmount()},trimTicks:function(a,b,c){var d=a[0],e= +a[a.length-1],f=this.minPointOffset||0;b?this.min=d:this.min-f>d&&a.shift();c?this.max=e:this.max+fc&&(this.tickInterval*=2,this.setTickPositions());if(q(d)){for(a=c=b.length;a--;)(d===3&&a%2===1|| +d<=2&&a>0&&a=e&&(b=e));this.displayBtn=a!==B||b!==B;this.setExtremes(a,b,!1,B,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,d=this.horiz,e=p(b.width,a.plotWidth-c+(b.offsetRight||0)),f=p(b.height,a.plotHeight),g=p(b.top,a.plotTop),b=p(b.left,a.plotLeft+c),c=/%$/;c.test(f)&&(f=parseFloat(f)/100*a.plotHeight);c.test(g)&&(g=parseFloat(g)/100*a.plotHeight+a.plotTop);this.left=b;this.top=g;this.width=e;this.height=f;this.bottom=a.chartHeight- +f-g;this.right=a.chartWidth-e-b;this.len=s(d?e:f,0);this.pos=d?b:g},getExtremes:function(){var a=this.isLog;return{min:a?fa(la(this.min)):this.min,max:a?fa(la(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?la(this.min):this.min,b=b?la(this.max):this.max;a===null?a=b<0?b:c:c>a?a=c:b15&& +a<165?"right":a>195&&a<345?"left":"center"},unsquish:function(){var a=this.ticks,b=this.options.labels,c=this.horiz,d=this.tickInterval,e=d,f=this.len/(((this.categories?1:0)+this.max-this.min)/d),g,h=b.rotation,i=this.chart.renderer.fontMetrics(b.style.fontSize,a[0]&&a[0].label),k,j=Number.MAX_VALUE,m,l=function(a){a/=f||1;a=a>1?ua(a):1;return a*d};c?(m=!b.staggerLines&&!b.step&&(q(h)?[h]:f=-90&&a<=90)k=l(P(i.h/aa(ga* +a))),b=k+P(a/360),bl)l=a.labelLength}),l>i&&l>h.h?k.rotation=this.labelRotation:this.labelRotation=0;else if(g&&(m={width:i+"px"},!j)){m.textOverflow="clip";for(n=c.length;!f&&n--;)if(t=c[n],i=d[t].label)if(i.styles.textOverflow==="ellipsis"&&i.css({textOverflow:"clip"}),i.getBBox().height>this.len/c.length-(h.h-h.f)||d[t].labelLength>g)i.specCss={textOverflow:"ellipsis"}}if(k.rotation&& +(m={width:(l>a.chartHeight*0.5?a.chartHeight*0.33:a.chartHeight)+"px"},!j))m.textOverflow="ellipsis";this.labelAlign=k.align=e.align||this.autoLabelAlign(this.labelRotation);o(c,function(a){var b=(a=d[a])&&a.label;if(b)b.attr(k),m&&b.css(D(m,b.specCss)),delete b.specCss,a.rotation=k.rotation});this.tickRotCorr=b.rotCorr(h.b,this.labelRotation||0,this.side!==0)},hasData:function(){return this.hasVisibleSeries||q(this.min)&&q(this.max)&&!!this.tickPositions},getOffset:function(){var a=this,b=a.chart, +c=b.renderer,d=a.options,e=a.tickPositions,f=a.ticks,g=a.horiz,h=a.side,i=b.inverted?[1,0,3,2][h]:h,k,j,m=0,l,n=0,t=d.title,r=d.labels,X=0,y=a.opposite,x=b.axisOffset,b=b.clipOffset,w=[-1,1,1,-1][h],v,ca=a.axisParent;k=a.hasData();a.showAxis=j=k||p(d.showEmpty,!0);a.staggerLines=a.horiz&&r.staggerLines;if(!a.axisGroup)a.gridGroup=c.g("grid").attr({zIndex:d.gridZIndex||1}).add(ca),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).add(ca),a.labelGroup=c.g("axis-labels").attr({zIndex:r.zIndex||7}).addClass("highcharts-"+ +a.coll.toLowerCase()+"-labels").add(ca);if(k||a.isLinked){if(o(e,function(b){f[b]?f[b].addLabel():f[b]=new Wa(a,b)}),a.renderUnsquish(),r.reserveSpace!==!1&&(h===0||h===2||{1:"left",3:"right"}[h]===a.labelAlign||a.labelAlign==="center")&&o(e,function(a){X=s(f[a].getLabelSize(),X)}),a.staggerLines)X*=a.staggerLines,a.labelOffset=X*(a.opposite?-1:1)}else for(v in f)f[v].destroy(),delete f[v];if(t&&t.text&&t.enabled!==!1){if(!a.axisTitle)a.axisTitle=c.text(t.text,0,0,t.useHTML).attr({zIndex:7,rotation:t.rotation|| +0,align:t.textAlign||{low:y?"right":"left",middle:"center",high:y?"left":"right"}[t.align]}).addClass("highcharts-"+this.coll.toLowerCase()+"-title").css(t.style).add(a.axisGroup),a.axisTitle.isNew=!0;if(j)m=a.axisTitle.getBBox()[g?"height":"width"],l=t.offset,n=q(l)?0:p(t.margin,g?5:10);a.axisTitle[j?"show":"hide"](!0)}a.offset=w*p(d.offset,x[h]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=h===2?a.tickRotCorr.y:0;g=Math.abs(X)+n+(X&&w*(g?p(r.y,a.tickRotCorr.y+8):r.x)-c);a.axisTitleMargin=p(l,g);x[h]= +s(x[h],a.axisTitleMargin+m+w*a.offset,g);d=d.offset?0:S(d.lineWidth/2)*2;b[i]=s(b[i],d)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,e=this.horiz,f=this.left+(c?this.width:0)+d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",e?this.left:f,e?d:this.top,"L",e?b.chartWidth-this.right:f,e?d:b.chartHeight-this.bottom],a)},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,e=this.options.title,f=a?b:c,g=this.opposite, +h=this.offset,i=e.x||0,k=e.y||0,j=F(e.style.fontSize||12),d={low:f+(a?0:d),middle:f+d/2,high:f+(a?d:0)}[e.align],b=(a?c+this.height:b)+(a?1:-1)*(g?-1:1)*this.axisTitleMargin+(this.side===2?j:0);return{x:a?d+i:b+(g?this.width:0)+h+i,y:a?b+k-(g?this.height:0)+h:d+k}},render:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,e=a.isLog,f=a.isLinked,g=a.tickPositions,h=a.axisTitle,i=a.ticks,k=a.minorTicks,j=a.alternateBands,m=d.stackLabels,l=d.alternateGridColor,n=a.tickmarkOffset,t=d.lineWidth, +r,p=b.hasRendered&&q(a.oldMin)&&!isNaN(a.oldMin),y=a.showAxis,x=c.globalAnimation,w,s;a.labelEdge.length=0;a.overlap=!1;o([i,k,j],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||f){a.minorTickInterval&&!a.categories&&o(a.getMinorTickPositions(),function(b){k[b]||(k[b]=new Wa(a,b,"minor"));p&&k[b].isNew&&k[b].render(null,!0);k[b].render(null,!1,1)});if(g.length&&(o(g,function(b,c){if(!f||b>=a.min&&b<=a.max)i[b]||(i[b]=new Wa(a,b)),p&&i[b].isNew&&i[b].render(c,!0,0.1),i[b].render(c)}), +n&&(a.min===0||a.single)))i[-1]||(i[-1]=new Wa(a,-1,null,!0)),i[-1].render(-1);l&&o(g,function(c,d){s=g[d+1]!==B?g[d+1]+n:a.max-n;if(d%2===0&&c=G.second?0:j*S(i.getMilliseconds()/j));if(k>=G.second)i[Hb](k>=G.minute?0:j*S(i.getSeconds()/j));if(k>=G.minute)i[Ib](k>=G.hour?0:j*S(i[ub]()/j));if(k>=G.hour)i[Jb](k>=G.day?0:j*S(i[vb]()/j));if(k>=G.day)i[xb](k>=G.month?1:j*S(i[$a]()/j));k>=G.month&&(i[yb](k>=G.year?0:j*S(i[ab]()/j)),h=i[bb]());k>=G.year&&(h-=h%j,i[zb](h));if(k===G.week)i[xb](i[$a]()- +i[wb]()+p(d,1));b=1;if(rb||ib)i=i.getTime(),i=new oa(i+Za(i));h=i[bb]();for(var d=i.getTime(),m=i[ab](),l=i[$a](),n=(G.day+(g?Za(i):i.getTimezoneOffset()*6E4))%G.day;d=0.5)a=A(a),g=this.getLinearTickPositions(a,b,c);else if(a>=0.08)for(var f=S(b),h,i,k,j,m,e=a>0.3?[1,2,4]:a>0.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];fb&&(!d||j<=c)&&j!==B&&g.push(j),j>c&&(m=!0),j=k}else if(b=la(b),c=la(c),a=e[d?"minorTickInterval":"tickInterval"],a=p(a==="auto"?null:a,this._minorAutoInterval,(c-b)*(e.tickPixelInterval/(d?5:1))/((d?f/this.tickPositions.length: +f)||1)),a=tb(a,null,sb(a)),g=Ha(this.getLinearTickPositions(a,b,c),Ca),!d)this._minorAutoInterval=a/5;if(!d)this.tickInterval=a;return g};var Pb=u.Tooltip=function(){this.init.apply(this,arguments)};Pb.prototype={init:function(a,b){var c=b.borderWidth,d=b.style,e=F(d.padding);this.chart=a;this.options=b;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.label=a.renderer.label("",0,0,b.shape||"callout",null,null,b.useHTML,null,"tooltip").attr({padding:e,fill:b.backgroundColor,"stroke-width":c, +r:b.borderRadius,zIndex:8}).css(d).css({padding:0}).add().attr({y:-9999});ha||this.label.shadow(b.shadow);this.shared=b.shared},destroy:function(){if(this.label)this.label=this.label.destroy();clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,b,c,d){var e=this,f=e.now,g=e.options.animation!==!1&&!e.isHidden&&(P(a-f.x)>1||P(b-f.y)>1),h=e.followPointer||e.len>1;v(f,{x:g?(2*f.x+a)/3:a,y:g?(f.y+b)/2:b,anchorX:h?B:g?(2*f.anchorX+c)/3:c,anchorY:h?B:g?(f.anchorY+d)/2:d});e.label.attr(f); +if(g)clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&e.move(a,b,c,d)},32)},hide:function(a){var b=this;clearTimeout(this.hideTimer);a=p(a,this.options.hideDelay,500);if(!this.isHidden)this.hideTimer=Qa(function(){b.label[a?"fadeOut":"hide"]();b.isHidden=!0},a)},getAnchor:function(a,b){var c,d=this.chart,e=d.inverted,f=d.plotTop,g=d.plotLeft,h=0,i=0,k,j,a=ta(a);c=a[0].tooltipPos;this.followPointer&&b&&(b.chartX===B&&(b=d.pointer.normalize(b)),c=[b.chartX-d.plotLeft,b.chartY- +f]);c||(o(a,function(a){k=a.series.yAxis;j=a.series.xAxis;h+=a.plotX+(!e&&j?j.left-g:0);i+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!e&&k?k.top-f:0)}),h/=a.length,i/=a.length,c=[e?d.plotWidth-i:h,this.shared&&!e&&a.length>1&&b?b.chartY-f:e?d.plotHeight-h:i]);return Ha(c,A)},getPosition:function(a,b,c){var d=this.chart,e=this.distance,f={},g=c.h||0,h,i=["y",d.chartHeight,b,c.plotY+d.plotTop,d.plotTop,d.plotTop+d.plotHeight],k=["x",d.chartWidth,a,c.plotX+d.plotLeft,d.plotLeft,d.plotLeft+d.plotWidth], +j=p(c.ttBelow,d.inverted&&!c.negative||!d.inverted&&c.negative),m=function(a,b,c,d,h,i){var k=cb?d:d+g);else return!1},l=function(a,b,c,d){var g;db-e?g=!1:f[a]=db-c/2?b-c-2:d-c/2;return g},n=function(a){var b=i;i=k;k=b;h=a},t=function(){m.apply(0,i)!==!1?l.apply(0,k)===!1&&!h&&(n(!0),t()):h?f.x=f.y=0:(n(!0),t())};(d.inverted||this.len>1)&&n();t();return f},defaultFormatter:function(a){var b= +this.points||ta(this),c;c=[a.tooltipFooterHeaderFormatter(b[0])];c=c.concat(a.bodyFormatter(b));c.push(a.tooltipFooterHeaderFormatter(b[0],!0));return c.join("")},refresh:function(a,b){var c=this.chart,d=this.label,e=this.options,f,g,h,i={},k,j=[];k=e.formatter||this.defaultFormatter;var i=c.hoverPoints,m,l=this.shared;clearTimeout(this.hideTimer);this.followPointer=ta(a)[0].series.tooltipOptions.followPointer;h=this.getAnchor(a,b);f=h[0];g=h[1];l&&(!a.series||!a.series.noSharedTooltip)?(c.hoverPoints= +a,i&&o(i,function(a){a.setState()}),o(a,function(a){a.setState("hover");j.push(a.getLabelConfig())}),i={x:a[0].category,y:a[0].y},i.points=j,this.len=j.length,a=a[0]):i=a.getLabelConfig();k=k.call(i,this);i=a.series;this.distance=p(i.tooltipOptions.distance,16);k===!1?this.hide():(this.isHidden&&(Pa(d),d.attr("opacity",1).show()),d.attr({text:k}),m=e.borderColor||a.color||i.color||"#606060",d.attr({stroke:m}),this.updatePosition({plotX:f,plotY:g,negative:a.negative,ttBelow:a.ttBelow,h:h[2]||0}),this.isHidden= +!1);H(c,"tooltipRefresh",{text:k,x:f+c.plotLeft,y:g+c.plotTop,borderColor:m})},updatePosition:function(a){var b=this.chart,c=this.label,c=(this.options.positioner||this.getPosition).call(this,c.width,c.height,a);this.move(A(c.x),A(c.y||0),a.plotX+b.plotLeft,a.plotY+b.plotTop)},getXDateFormat:function(a,b,c){var d,b=b.dateTimeLabelFormats,e=c&&c.closestPointRange,f,g={millisecond:15,second:12,minute:9,hour:6,day:3},h,i="millisecond";if(e){h=Ra("%m-%d %H:%M:%S.%L",a.x);for(f in G){if(e===G.week&&+Ra("%w", +a.x)===c.options.startOfWeek&&h.substr(6)==="00:00:00.000"){f="week";break}if(G[f]>e){f=i;break}if(g[f]&&h.substr(g[f])!=="01-01 00:00:00.000".substr(g[f]))break;f!=="week"&&(i=f)}f&&(d=b[f])}else d=b.day;return d||b.year},tooltipFooterHeaderFormatter:function(a,b){var c=b?"footer":"header",d=a.series,e=d.tooltipOptions,f=e.xDateFormat,g=d.xAxis,h=g&&g.options.type==="datetime"&&ka(a.key),c=e[c+"Format"];h&&!f&&(f=this.getXDateFormat(a,e,g));h&&f&&(c=c.replace("{point.key}","{point.key:"+f+"}")); +return La(c,{point:a,series:d})},bodyFormatter:function(a){return Ha(a,function(a){var c=a.series.tooltipOptions;return(c.pointFormatter||a.point.tooltipFormatter).call(a.point,c.pointFormat)})}};var ra;db=z&&z.documentElement.ontouchstart!==B;var Ya=u.Pointer=function(a,b){this.init(a,b)};Ya.prototype={init:function(a,b){var c=b.chart,d=c.events,e=ha?"":c.zoomType,c=a.inverted,f;this.options=b;this.chart=a;this.zoomX=f=/x/.test(e);this.zoomY=e=/y/.test(e);this.zoomHor=f&&!c||e&&c;this.zoomVert=e&& +!c||f&&c;this.hasZoom=f||e;this.runChartClick=d&&!!d.click;this.pinchDown=[];this.lastValidTouch={};if(u.Tooltip&&b.tooltip.enabled)a.tooltip=new Pb(a,b.tooltip),this.followTouchMove=p(b.tooltip.followTouchMove,!0);this.setDOMEvents()},normalize:function(a,b){var c,d,a=a||C.event;if(!a.target)a.target=a.srcElement;d=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;if(!b)this.chartPosition=b=Bb(this.chart.container);d.pageX===B?(c=s(a.x,a.clientX-b.left),d=a.y):(c=d.pageX-b.left, +d=d.pageY-b.top);return v(a,{chartX:A(c),chartY:A(d)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};o(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},runPointActions:function(a){var b=this.chart,c=b.series,d=b.tooltip,e=d?d.shared:!1,f=b.hoverPoint,g=b.hoverSeries,h,i=Number.MAX_VALUE,k,j,m,l=[],n,t;if(!e&&!g)for(h=0;hh+k&&(d=h+k),ei+j&&(e=i+j),this.hasDragged=Math.sqrt(Math.pow(n-d,2)+Math.pow(t-e,2)),this.hasDragged>10){m=b.isInsidePlot(n-h,t-i);if(b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&m&&!r&& +!l)this.selectionMarker=l=b.renderer.rect(h,i,f?1:k,g?1:j,0).attr({fill:c.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add();l&&f&&(d-=n,l.attr({width:P(d),x:(d>0?0:d)+n}));l&&g&&(d=e-t,l.attr({height:P(d),y:(d>0?0:d)+t}));m&&!l&&c.panning&&b.pan(a,c.panning)}},drop:function(a){var b=this,c=this.chart,d=this.hasPinched;if(this.selectionMarker){var e={xAxis:[],yAxis:[]},f=this.selectionMarker,g=f.attr?f.attr("x"):f.x,h=f.attr?f.attr("y"):f.y,i=f.attr?f.attr("width"):f.width,k=f.attr?f.attr("height"): +f.height,j;if(this.hasDragged||d)o(c.axes,function(c){if(c.zoomEnabled&&q(c.min)&&(d||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var f=c.horiz,n=a.type==="touchend"?c.minPixelPadding:0,t=c.toValue((f?g:h)+n),f=c.toValue((f?g+i:h+k)-n);e[c.coll].push({axis:c,min:E(t,f),max:s(t,f)});j=!0}}),j&&H(c,"selection",e,function(a){c.zoom(v(a,d?{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();d&&this.scaleGroups()}if(c)M(c.container,{cursor:c._cursor}),c.cancelClick=this.hasDragged> +10,c.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[]},onContainerMouseDown:function(a){a=this.normalize(a);a.preventDefault&&a.preventDefault();this.dragStart(a)},onDocumentMouseUp:function(a){W[ra]&&W[ra].pointer.drop(a)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition,a=this.normalize(a,c);c&&!this.inClass(a.target,"highcharts-tracker")&&!b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)&&this.reset()},onContainerMouseLeave:function(){var a=W[ra];if(a)a.pointer.reset(), +a.pointer.chartPosition=null},onContainerMouseMove:function(a){var b=this.chart;ra=b.index;a=this.normalize(a);a.returnValue=!1;b.mouseIsDown==="mousedown"&&this.drag(a);(this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop))&&!b.openMenu&&this.runPointActions(a)},inClass:function(a,b){for(var c;a;){if(c=L(a,"class")){if(c.indexOf(b)!==-1)return!0;if(c.indexOf("highcharts-container")!==-1)return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries, +a=a.relatedTarget||a.toElement;if(b&&!b.options.stickyTracking&&!this.inClass(a,"highcharts-tooltip")&&!this.inClass(a,"highcharts-series-"+b.index))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,d=b.plotLeft,e=b.plotTop,a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(H(c.series,"click",v(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(v(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-d,a.chartY-e)&&H(b,"click",a)))},setDOMEvents:function(){var a= +this,b=a.chart.container;b.onmousedown=function(b){a.onContainerMouseDown(b)};b.onmousemove=function(b){a.onContainerMouseMove(b)};b.onclick=function(b){a.onContainerClick(b)};N(b,"mouseleave",a.onContainerMouseLeave);eb===1&&N(z,"mouseup",a.onDocumentMouseUp);if(db)b.ontouchstart=function(b){a.onContainerTouchStart(b)},b.ontouchmove=function(b){a.onContainerTouchMove(b)},eb===1&&N(z,"touchend",a.onDocumentTouchEnd)},destroy:function(){var a;U(this.chart.container,"mouseleave",this.onContainerMouseLeave); +eb||(U(z,"mouseup",this.onDocumentMouseUp),U(z,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(a in this)this[a]=null}};v(u.Pointer.prototype,{pinchTranslate:function(a,b,c,d,e,f){(this.zoomHor||this.pinchHor)&&this.pinchTranslateDirection(!0,a,b,c,d,e,f);(this.zoomVert||this.pinchVert)&&this.pinchTranslateDirection(!1,a,b,c,d,e,f)},pinchTranslateDirection:function(a,b,c,d,e,f,g,h){var i=this.chart,k=a?"x":"y",j=a?"X":"Y",m="chart"+j,l=a?"width":"height",n=i["plot"+(a? +"Left":"Top")],t,r,p=h||1,o=i.inverted,x=i.bounds[a?"h":"v"],w=b.length===1,q=b[0][m],s=c[0][m],v=!w&&b[1][m],u=!w&&c[1][m],A,c=function(){!w&&P(q-v)>20&&(p=h||P(s-u)/P(q-v));r=(n-s)/p+q;t=i["plot"+(a?"Width":"Height")]/p};c();b=r;bx.max&&(b=x.max-t,A=!0);A?(s-=0.8*(s-g[k][0]),w||(u-=0.8*(u-g[k][1])),c()):g[k]=[s,u];o||(f[k]=r-n,f[l]=t);f=o?1/p:p;e[l]=t;e[k]=b;d[o?a?"scaleY":"scaleX":"scale"+j]=p;d["translate"+j]=f*n+(s-f*q)},pinch:function(a){var b=this,c=b.chart,d=b.pinchDown, +e=a.touches,f=e.length,g=b.lastValidTouch,h=b.hasZoom,i=b.selectionMarker,k={},j=f===1&&(b.inClass(a.target,"highcharts-tracker")&&c.runTrackerClick||b.runChartClick),m={};if(f>1)b.initiated=!0;h&&b.initiated&&!j&&a.preventDefault();Ha(e,function(a){return b.normalize(a)});if(a.type==="touchstart")o(e,function(a,b){d[b]={chartX:a.chartX,chartY:a.chartY}}),g.x=[d[0].chartX,d[1]&&d[1].chartX],g.y=[d[0].chartY,d[1]&&d[1].chartY],o(c.axes,function(a){if(a.zoomEnabled){var b=c.bounds[a.horiz?"h":"v"], +d=a.minPixelPadding,e=a.toPixels(p(a.options.min,a.dataMin)),f=a.toPixels(p(a.options.max,a.dataMax)),g=E(e,f),e=s(e,f);b.min=E(a.pos,g-d);b.max=s(a.pos+a.len,e+d)}}),b.res=!0;else if(d.length){if(!i)b.selectionMarker=i=v({destroy:va,touch:!0},c.plotBox);b.pinchTranslate(d,e,k,i,m,g);b.hasPinched=h;b.scaleGroups(k,m);if(!h&&b.followTouchMove&&f===1)this.runPointActions(b.normalize(a));else if(b.res)b.res=!1,this.reset(!1,0)}},touch:function(a,b){var c=this.chart;ra=c.index;a.touches.length===1?(a= +this.normalize(a),c.isInsidePlot(a.chartX-c.plotLeft,a.chartY-c.plotTop)&&!c.openMenu?(b&&this.runPointActions(a),this.pinch(a)):b&&this.reset()):a.touches.length===2&&this.pinch(a)},onContainerTouchStart:function(a){this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(a){W[ra]&&W[ra].pointer.drop(a)}});if(C.PointerEvent||C.MSPointerEvent){var wa={},Db=!!C.PointerEvent,Sb=function(){var a,b=[];b.item=function(a){return this[a]};for(a in wa)wa.hasOwnProperty(a)&& +b.push({pageX:wa[a].pageX,pageY:wa[a].pageY,target:wa[a].target});return b},Eb=function(a,b,c,d){if((a.pointerType==="touch"||a.pointerType===a.MSPOINTER_TYPE_TOUCH)&&W[ra])d(a),d=W[ra].pointer,d[b]({type:c,target:a.currentTarget,preventDefault:va,touches:Sb()})};v(Ya.prototype,{onContainerPointerDown:function(a){Eb(a,"onContainerTouchStart","touchstart",function(a){wa[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){Eb(a,"onContainerTouchMove", +"touchmove",function(a){wa[a.pointerId]={pageX:a.pageX,pageY:a.pageY};if(!wa[a.pointerId].target)wa[a.pointerId].target=a.currentTarget})},onDocumentPointerUp:function(a){Eb(a,"onDocumentTouchEnd","touchend",function(a){delete wa[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,Db?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,Db?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(z,Db?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}}); +fb(Ya.prototype,"init",function(a,b,c){a.call(this,b,c);this.hasZoom&&M(b.container,{"-ms-touch-action":"none","touch-action":"none"})});fb(Ya.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(N)});fb(Ya.prototype,"destroy",function(a){this.batchMSEvents(U);a.call(this)})}var pb=u.Legend=function(a,b){this.init(a,b)};pb.prototype={init:function(a,b){var c=this,d=b.itemStyle,e=b.itemMarginTop||0;this.options=b;if(b.enabled)c.itemStyle=d,c.itemHiddenStyle= +D(d,b.itemHiddenStyle),c.itemMarginTop=e,c.padding=d=p(b.padding,8),c.initialItemX=d,c.initialItemY=d-5,c.maxItemWidth=0,c.chart=a,c.itemHeight=0,c.symbolWidth=p(b.symbolWidth,16),c.pages=[],c.render(),N(c.chart,"endResize",function(){c.positionCheckboxes()})},colorizeItem:function(a,b){var c=this.options,d=a.legendItem,e=a.legendLine,f=a.legendSymbol,g=this.itemHiddenStyle.color,c=b?c.itemStyle.color:g,h=b?a.legendColor||a.color||"#CCC":g,g=a.options&&a.options.marker,i={fill:h},k;d&&d.css({fill:c, +color:c});e&&e.attr({stroke:h});if(f){if(g&&f.isMarker)for(k in i.stroke=h,g=a.convertAttribs(g),g)d=g[k],d!==B&&(i[k]=d);f.attr(i)}},positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,d=a._legendItemPos,e=d[0],d=d[1],f=a.checkbox;(a=a.legendGroup)&&a.element&&a.translate(b?e:this.legendWidth-e-2*c-4,d);if(f)f.x=e,f.y=d},destroyItem:function(a){var b=a.checkbox;o(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&Ua(a.checkbox)}, +destroy:function(){var a=this.group,b=this.box;if(b)this.box=b.destroy();if(a)this.group=a.destroy()},positionCheckboxes:function(a){var b=this.group.alignAttr,c,d=this.clipHeight||this.legendHeight,e=this.titleHeight;if(b)c=b.translateY,o(this.allItems,function(f){var g=f.checkbox,h;g&&(h=c+e+g.y+(a||0)+3,M(g,{left:b.translateX+f.checkboxOffset+g.x-20+"px",top:h+"px",display:h>c-6&&h(l||b.chartWidth-2*k-r-d.x))this.itemX=r,this.itemY+=t+this.lastLineHeight+ +n,this.lastLineHeight=0;this.maxItemWidth=s(this.maxItemWidth,f);this.lastItemY=t+this.itemY+n;this.lastLineHeight=s(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=f:(this.itemY+=t+g+n,this.lastLineHeight=g);this.offsetWidth=l||s((e?this.itemX-r-j:f)+k,this.offsetWidth)},getAllItems:function(){var a=[];o(this.chart.series,function(b){var c=b.options;if(p(c.showInLegend,!q(c.linkedTo)?B:!1,!0))a=a.concat(b.legendItems||(c.legendType==="point"?b.data:b))});return a},adjustMargins:function(a, +b){var c=this.chart,d=this.options,e=d.align.charAt(0)+d.verticalAlign.charAt(0)+d.layout.charAt(0);this.display&&!d.floating&&o([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(f,g){f.test(e)&&!q(a[g])&&(c[ob[g]]=s(c[ob[g]],c.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*d[g%2?"x":"y"]+p(d.margin,12)+b[g]))})},render:function(){var a=this,b=a.chart,c=b.renderer,d=a.group,e,f,g,h,i=a.box,k=a.options,j=a.padding,m=k.borderWidth,l=k.backgroundColor;a.itemX=a.initialItemX; +a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;if(!d)a.group=d=c.g("legend").attr({zIndex:7}).add(),a.contentGroup=c.g().attr({zIndex:1}).add(d),a.scrollGroup=c.g().add(a.contentGroup);a.renderTitle();e=a.getAllItems();jb(e,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});k.reversed&&e.reverse();a.allItems=e;a.display=f=!!e.length;a.lastLineHeight=0;o(e,function(b){a.renderItem(b)});g=(k.width||a.offsetWidth)+j;h=a.lastItemY+a.lastLineHeight+ +a.titleHeight;h=a.handleOverflow(h);h+=j;if(m||l){if(i){if(g>0&&h>0)i[i.isNew?"attr":"animate"](i.crisp({width:g,height:h})),i.isNew=!1}else a.box=i=c.rect(0,0,g,h,k.borderRadius,m||0).attr({stroke:k.borderColor,"stroke-width":m||0,fill:l||"none"}).add(d).shadow(k.shadow),i.isNew=!0;i[f?"show":"hide"]()}a.legendWidth=g;a.legendHeight=h;o(e,function(b){a.positionItem(b)});f&&d.align(v({width:g,height:h},k),!0,"spacingBox");b.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=this, +c=this.chart,d=c.renderer,e=this.options,f=e.y,f=c.spacingBox.height+(e.verticalAlign==="top"?-f:f)-this.padding,g=e.maxHeight,h,i=this.clipRect,k=e.navigation,j=p(k.animation,!0),m=k.arrowSize||12,l=this.nav,n=this.pages,t=this.padding,r,q=this.allItems,y=function(a){i.attr({height:a});if(b.contentGroup.div)b.contentGroup.div.style.clip="rect("+t+"px,9999px,"+(t+a)+"px,0)"};e.layout==="horizontal"&&(f/=2);g&&(f=E(f,g));n.length=0;if(a>f){this.clipHeight=h=s(f-20-this.titleHeight-t,0);this.currentPage= +p(this.currentPage,1);this.fullHeight=a;o(q,function(a,b){var c=a._legendItemPos[1],d=A(a.legendItem.getBBox().height),e=n.length;if(!e||c-n[e-1]>h&&(r||c)!==n[e-1])n.push(r||c),e++;b===q.length-1&&c+d-n[e-1]>h&&n.push(c);c!==r&&(r=c)});if(!i)i=b.clipRect=d.clipRect(0,t,9999,0),b.contentGroup.clip(i);y(h);if(!l)this.nav=l=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,m,m).on("click",function(){b.scroll(-1,j)}).add(l),this.pager=d.text("",15,10).css(k.style).add(l),this.down= +d.symbol("triangle-down",0,0,m,m).on("click",function(){b.scroll(1,j)}).add(l);b.scroll(0);a=f}else if(l)y(c.chartHeight),l.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0;return a},scroll:function(a,b){var c=this.pages,d=c.length,e=this.currentPage+a,f=this.clipHeight,g=this.options.navigation,h=g.activeColor,g=g.inactiveColor,i=this.pager,k=this.padding;e>d&&(e=d);if(e>0)b!==B&&Va(b,this.chart),this.nav.attr({translateX:k,translateY:f+this.padding+7+this.titleHeight,visibility:"visible"}), +this.up.attr({fill:e===1?g:h}).css({cursor:e===1?"default":"pointer"}),i.attr({text:e+"/"+d}),this.down.attr({x:18+this.pager.getBBox().width,fill:e===d?g:h}).css({cursor:e===d?"default":"pointer"}),c=-c[e-1]+this.initialItemY,this.scrollGroup.animate({translateY:c}),this.currentPage=e,this.positionCheckboxes(c)}};K=u.LegendSymbolMixin={drawRectangle:function(a,b){var c=a.options.symbolHeight||a.fontMetrics.f;b.legendSymbol=this.chart.renderer.rect(0,a.baseline-c+1,a.symbolWidth,c,a.options.symbolRadius|| +0).attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=this.options,c=b.marker,d=a.symbolWidth,e=this.chart.renderer,f=this.legendGroup,a=a.baseline-A(a.fontMetrics.b*0.3),g;if(b.lineWidth){g={"stroke-width":b.lineWidth};if(b.dashStyle)g.dashstyle=b.dashStyle;this.legendLine=e.path(["M",0,a,"L",d,a]).attr(g).add(f)}if(c&&c.enabled!==!1)b=c.radius,this.legendSymbol=c=e.symbol(this.symbol,d/2-b,a-b,2*b,2*b,c).add(f),c.isMarker=!0}};(/Trident\/7\.0/.test(Aa)||Na)&&fb(pb.prototype,"positionItem", +function(a,b){var c=this,d=function(){b._legendItemPos&&a.call(c,b)};d();setTimeout(d)});var hb=u.Chart=function(){this.getArgs.apply(this,arguments)};u.chart=function(a,b,c){return new hb(a,b,c)};hb.prototype={callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(ya(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(a,b){var c,d=a.series;a.series=null;c=D(O,a);c.series=a.series=d;this.userOptions=a;d=c.chart;this.margin=this.splashArray("margin",d);this.spacing= +this.splashArray("spacing",d);var e=d.events;this.bounds={h:{},v:{}};this.callback=b;this.isResizing=0;this.options=c;this.axes=[];this.series=[];this.hasCartesianSeries=d.showAxes;var f=this,g;f.index=W.length;W.push(f);eb++;d.reflow!==!1&&N(f,"load",function(){f.initReflow()});if(e)for(g in e)N(f,g,e[g]);f.xAxis=[];f.yAxis=[];f.animation=ha?!1:p(d.animation,!0);f.pointCount=f.colorCounter=f.symbolCounter=0;f.firstRender()},initSeries:function(a){var b=this.options.chart;(b=I[a.type||b.type||b.defaultSeriesType])|| +Y(17,!0);b=new b;b.init(this,a);return b},isInsidePlot:function(a,b,c){var d=c?b:a,a=c?a:b;return d>=0&&d<=this.plotWidth&&a>=0&&a<=this.plotHeight},redraw:function(a){var b=this.axes,c=this.series,d=this.pointer,e=this.legend,f=this.isDirtyLegend,g,h,i=this.hasCartesianSeries,k=this.isDirtyBox,j=c.length,m=j,l=this.renderer,n=l.isHidden(),p=[];Va(a,this);n&&this.cloneRenderTo();for(this.layOutTitles();m--;)if(a=c[m],a.options.stacking&&(g=!0,a.isDirty)){h=!0;break}if(h)for(m=j;m--;)if(a=c[m],a.options.stacking)a.isDirty= +!0;o(c,function(a){a.isDirty&&a.options.legendType==="point"&&(a.updateTotals&&a.updateTotals(),f=!0)});if(f&&e.options.enabled)e.render(),this.isDirtyLegend=!1;g&&this.getStacks();if(i&&!this.isResizing)this.maxTicks=null,o(b,function(a){a.setScale()});this.getMargins();i&&(o(b,function(a){a.isDirty&&(k=!0)}),o(b,function(a){var b=a.min+","+a.max;if(a.extKey!==b)a.extKey=b,p.push(function(){H(a,"afterSetExtremes",v(a.eventArgs,a.getExtremes()));delete a.eventArgs});(k||g)&&a.redraw()}));k&&this.drawChartBox(); +o(c,function(a){a.isDirty&&a.visible&&(!a.isCartesian||a.xAxis)&&a.redraw()});d&&d.reset(!0);l.draw();H(this,"redraw");n&&this.cloneRenderTo(!0);o(p,function(a){a.call()})},get:function(a){var b=this.axes,c=this.series,d,e;for(d=0;d19?this.containerHeight:400))},cloneRenderTo:function(a){var b=this.renderToClone,c=this.container;a?b&&(this.renderTo.appendChild(c),Ua(b),delete this.renderToClone):(c&&c.parentNode===this.renderTo&&this.renderTo.removeChild(c),this.renderToClone=b=this.renderTo.cloneNode(0),M(b,{position:"absolute",top:"-9999px",display:"block"}),b.style.setProperty&& +b.style.setProperty("display","block","important"),z.body.appendChild(b),c&&b.appendChild(c))},getContainer:function(){var a,b=this.options,c=b.chart,d,e;a=this.renderTo;var f="highcharts-"+Ab++;if(!a)this.renderTo=a=c.renderTo;if(ya(a))this.renderTo=a=z.getElementById(a);a||Y(13,!0);d=F(L(a,"data-highcharts-chart"));!isNaN(d)&&W[d]&&W[d].hasRendered&&W[d].destroy();L(a,"data-highcharts-chart",this.index);a.innerHTML="";!c.skipClone&&!a.offsetWidth&&this.cloneRenderTo();this.getChartSize();d=this.chartWidth; +e=this.chartHeight;this.container=a=$(Ma,{className:"highcharts-container"+(c.className?" "+c.className:""),id:f},v({position:"relative",overflow:"hidden",width:d+"px",height:e+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},c.style),this.renderToClone||a);this._cursor=a.style.cursor;this.renderer=new (u[c.renderer]||cb)(a,d,e,c.style,c.forExport,b.exporting&&b.exporting.allowHTML);ha&&this.renderer.create(this,a,d,e);this.renderer.chartIndex=this.index}, +getMargins:function(a){var b=this.spacing,c=this.margin,d=this.titleOffset;this.resetMargins();if(d&&!q(c[0]))this.plotTop=s(this.plotTop,d+this.options.title.margin+b[0]);this.legend.adjustMargins(c,b);this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&&o(a.axes,function(a){a.visible&&a.getOffset()});o(ob, +function(d,e){q(c[e])||(a[d]+=b[e])});a.setChartSize()},reflow:function(a){var b=this,c=b.options.chart,d=b.renderTo,e=c.width||Ga(d,"width"),f=c.height||Ga(d,"height"),c=a?a.target:C;if(!b.hasUserSize&&!b.isPrinting&&e&&f&&(c===C||c===z)){if(e!==b.containerWidth||f!==b.containerHeight)clearTimeout(b.reflowTimeout),b.reflowTimeout=Qa(function(){if(b.container)b.setSize(e,f,!1),b.hasUserSize=null},a?100:0);b.containerWidth=e;b.containerHeight=f}},initReflow:function(){var a=this,b=function(b){a.reflow(b)}; +N(C,"resize",b);N(a,"destroy",function(){U(C,"resize",b)})},setSize:function(a,b,c){var d=this,e,f,g=d.renderer;d.isResizing+=1;Va(c,d);d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;if(q(a))d.chartWidth=e=s(0,A(a)),d.hasUserSize=!!e;if(q(b))d.chartHeight=f=s(0,A(b));a=g.globalAnimation;(a?Xa:M)(d.container,{width:e+"px",height:f+"px"},a);d.setChartSize(!0);g.setSize(e,f,c);d.maxTicks=null;o(d.axes,function(a){a.isDirty=!0;a.setScale()});o(d.series,function(a){a.isDirty=!0});d.isDirtyLegend= +!0;d.isDirtyBox=!0;d.layOutTitles();d.getMargins();d.redraw(c);d.oldChartHeight=null;H(d,"resize");a=g.globalAnimation;Qa(function(){d&&H(d,"endResize",null,function(){d.isResizing-=1})},a===!1?0:a&&a.duration||500)},setChartSize:function(a){var b=this.inverted,c=this.renderer,d=this.chartWidth,e=this.chartHeight,f=this.options.chart,g=this.spacing,h=this.clipOffset,i,k,j,m;this.plotLeft=i=A(this.plotLeft);this.plotTop=k=A(this.plotTop);this.plotWidth=j=s(0,A(d-i-this.marginRight));this.plotHeight= +m=s(0,A(e-k-this.marginBottom));this.plotSizeX=b?m:j;this.plotSizeY=b?j:m;this.plotBorderWidth=f.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:g[3],y:g[0],width:d-g[3]-g[1],height:e-g[0]-g[2]};this.plotBox=c.plotBox={x:i,y:k,width:j,height:m};d=2*S(this.plotBorderWidth/2);b=ua(s(d,h[3])/2);c=ua(s(d,h[0])/2);this.clipBox={x:b,y:c,width:S(this.plotSizeX-s(d,h[1])/2-b),height:s(0,S(this.plotSizeY-s(d,h[2])/2-c))};a||o(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a= +this;o(ob,function(b,c){a[b]=p(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,d=this.chartHeight,e=this.chartBackground,f=this.plotBackground,g=this.plotBorder,h=this.plotBGImage,i=a.borderWidth||0,k=a.backgroundColor,j=a.plotBackgroundColor,m=a.plotBackgroundImage,l=a.plotBorderWidth||0,n,p=this.plotLeft,o=this.plotTop,q=this.plotWidth,y=this.plotHeight,x=this.plotBox,s=this.clipRect,v= +this.clipBox;n=i+(a.shadow?8:0);if(i||k)if(e)e.animate(e.crisp({width:c-n,height:d-n}));else{e={fill:k||"none"};if(i)e.stroke=a.borderColor,e["stroke-width"]=i;this.chartBackground=b.rect(n/2,n/2,c-n,d-n,a.borderRadius,i).attr(e).addClass("highcharts-background").add().shadow(a.shadow)}if(j)f?f.animate(x):this.plotBackground=b.rect(p,o,q,y,0).attr({fill:j}).add().shadow(a.plotShadow);if(m)h?h.animate(x):this.plotBGImage=b.image(m,p,o,q,y).add();s?s.animate({width:v.width,height:v.height}):this.clipRect= +b.clipRect(v);if(l)g?g.animate(g.crisp({x:p,y:o,width:q,height:y,strokeWidth:-l})):this.plotBorder=b.rect(p,o,q,y,0,-l).attr({stroke:a.plotBorderColor,"stroke-width":l,fill:"none",zIndex:1}).add();this.isDirtyBox=!1},propFromSeries:function(){var a=this,b=a.options.chart,c,d=a.options.series,e,f;o(["inverted","angular","polar"],function(g){c=I[b.type||b.defaultSeriesType];f=a[g]||b[g]||c&&c.prototype[g];for(e=d&&d.length;!f&&e--;)(c=I[d[e].type])&&c.prototype[g]&&(f=!0);a[g]=f})},linkSeries:function(){var a= +this,b=a.series;o(b,function(a){a.linkedSeries.length=0});o(b,function(b){var d=b.options.linkedTo;if(ya(d)&&(d=d===":previous"?a.series[b.index-1]:a.get(d)))d.linkedSeries.push(b),b.linkedParent=d,b.visible=p(b.options.visible,d.options.visible,b.visible)})},renderSeries:function(){o(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&o(b.items,function(c){var d=v(b.style,c.style),e=F(d.left)+a.plotLeft,f=F(d.top)+a.plotTop+12;delete d.left; +delete d.top;a.renderer.text(c.html,e,f).attr({zIndex:2}).css(d).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options,d,e,f,g;this.setTitle();this.legend=new pb(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();d=this.plotWidth;e=this.plotHeight-=21;o(a,function(a){a.setScale()});this.getAxisMargins();f=d/this.plotWidth>1.1;g=e/this.plotHeight>1.05;if(f||g)this.maxTicks=null,o(a,function(a){(a.horiz&&f||!a.horiz&&g)&&a.setTickInterval(!0)}), +this.getMargins();this.drawChartBox();this.hasCartesianSeries&&o(a,function(a){a.visible&&a.render()});if(!this.seriesGroup)this.seriesGroup=b.g("series-group").attr({zIndex:3}).add();this.renderSeries();this.renderLabels();this.showCredits(c.credits);this.hasRendered=!0},showCredits:function(a){if(a.enabled&&!this.credits)this.credits=this.renderer.text(a.text,0,0).on("click",function(){if(a.href)C.location.href=a.href}).attr({align:a.position.align,zIndex:8}).css(a.style).add().align(a.position)}, +destroy:function(){var a=this,b=a.axes,c=a.series,d=a.container,e,f=d&&d.parentNode;H(a,"destroy");W[a.index]=B;eb--;a.renderTo.removeAttribute("data-highcharts-chart");U(a);for(e=b.length;e--;)b[e]=b[e].destroy();for(e=c.length;e--;)c[e]=c[e].destroy();o("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,pointer,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(b){var c=a[b];c&&c.destroy&&(a[b]=c.destroy())});if(d)d.innerHTML= +"",U(d),f&&Ua(d);for(e in a)delete a[e]},isReadyToRender:function(){var a=this;return!da&&C==C.top&&z.readyState!=="complete"||ha&&!C.canvg?(ha?Ob.push(function(){a.firstRender()},a.options.global.canvasToolsURL):z.attachEvent("onreadystatechange",function(){z.detachEvent("onreadystatechange",a.firstRender);z.readyState==="complete"&&a.firstRender()}),!1):!0},firstRender:function(){var a=this,b=a.options,c=a.callback;if(a.isReadyToRender()){a.getContainer();H(a,"init");a.resetMargins();a.setChartSize(); +a.propFromSeries();a.getAxes();o(b.series||[],function(b){a.initSeries(b)});a.linkSeries();H(a,"beforeRender");if(u.Pointer)a.pointer=new Ya(a,b);a.render();a.renderer.draw();c&&c.apply(a,[a]);o(a.callbacks,function(b){a.index!==B&&b.apply(a,[a])});H(a,"load");a.cloneRenderTo(!0)}},splashArray:function(a,b){var c=b[a],c=Z(c)?c:[c,c,c,c];return[p(b[a+"Top"],c[0]),p(b[a+"Right"],c[1]),p(b[a+"Bottom"],c[2]),p(b[a+"Left"],c[3])]}};var Cb=u.CenteredSeriesMixin={getCenter:function(){var a=this.options, +b=this.chart,c=2*(a.slicedOffset||0),d=b.plotWidth-2*c,b=b.plotHeight-2*c,e=a.center,e=[p(e[0],"50%"),p(e[1],"50%"),a.size||"100%",a.innerSize||0],f=E(d,b),g,h;for(g=0;g<4;++g)h=e[g],a=g<2||g===2&&/%$/.test(h),e[g]=(/%$/.test(h)?[d,b,f,e[2]][g]*parseFloat(h)/100:parseFloat(h))+(a?c:0);e[3]>e[2]&&(e[3]=e[2]);return e}},Ia=function(){};Ia.prototype={init:function(a,b,c){this.series=a;this.color=a.color;this.applyOptions(b,c);this.pointAttr={};if(a.options.colorByPoint&&(b=a.options.colors||a.chart.options.colors, +this.color=this.color||b[a.colorCounter++],a.colorCounter===b.length))a.colorCounter=0;a.chart.pointCount++;return this},applyOptions:function(a,b){var c=this.series,d=c.options.pointValKey||c.pointValKey,a=Ia.prototype.optionsToObject.call(this,a);v(this,a);this.options=this.options?v(this.options,a):a;if(d)this.y=this[d];if(this.x===B&&c)this.x=b===B?c.autoIncrement():b;return this},optionsToObject:function(a){var b={},c=this.series,d=c.options.keys,e=d||c.pointArrayMap||["y"],f=e.length,g=0,h= +0;if(typeof a==="number"||a===null)b[e[0]]=a;else if(Ja(a)){if(!d&&a.length>f){c=typeof a[0];if(c==="string")b.name=a[0];else if(c==="number")b.x=a[0];g++}for(;ha+1&&b.push(d.slice(a+1,g)),a=g):g===e-1&&b.push(d.slice(a+1,g+1))});this.segments=b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},d=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=D(e,c.series,a);this.tooltipOptions=D(O.tooltip,O.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip,d[this.type]&&d[this.type].tooltip,a.tooltip);e.marker===null&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();if((c.negativeColor|| +c.negativeFillColor)&&!c.zones)a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,color:c.negativeColor,fillColor:c.negativeFillColor});a.length&&q(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});return c},getCyclic:function(a,b,c){var d=this.userOptions,e="_"+a+"Index",f=a+"Counter";b||(q(d[e])?b=d[e]:(d[e]=b=this.chart[f]%c.length,this.chart[f]+=1),b=c[b]);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color|| +ba[this.type].color,this.chart.options.colors)},getSymbol:function(){var a=this.options.marker;this.getCyclic("symbol",a.symbol,this.chart.options.symbols);if(/^url/.test(this.symbol))a.radius=0},drawLegendSymbol:K.drawLineMarker,setData:function(a,b,c,d){var e=this,f=e.points,g=f&&f.length||0,h,i=e.options,k=e.chart,j=null,m=e.xAxis,l=m&&!!m.categories,n=i.turboThreshold,t=this.xData,r=this.yData,s=(h=e.pointArrayMap)&&h.length,a=a||[];h=a.length;b=p(b,!0);if(d!==!1&&h&&g===h&&!e.cropped&&!e.hasGroupedData&& +e.visible)o(a,function(a,b){f[b].update&&a!==i.data[b]&&f[b].update(a,!1,null,!1)});else{e.xIncrement=null;e.colorCounter=0;o(this.parallelArrays,function(a){e[a+"Data"].length=0});if(n&&h>n){for(c=0;j===null&&ci||this.forceCrop))if(b[d-1]l)b=[],c=[];else if(b[0]l)e=this.cropData(this.xData,this.yData,m,l),b=e.xData,c=e.yData,e=e.start,f=!0;for(i=b.length-1;i>=0;i--)d=b[i]-b[i-1],d>0&&(g===B||d=c){f=s(0,i-h);break}for(c=i;cd){g=c+h;break}return{xData:a.slice(f,g),yData:b.slice(f,g),start:f,end:g}},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,h=this.cropStart||0,i,k=this.hasGroupedData,j,m=[],l;if(!b&&!k)b=[],b.length=a.length,b=this.data=b;for(l=0;l0),k=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(c[m+1]||k)>=g&&(c[m-1]||k)<=h,i&&k)if(i=j.length)for(;i--;)j[i]!==null&&(e[f++]=j[i]);else e[f++]=j;this.dataMin=Sa(e);this.dataMax=Da(e)},translate:function(){this.processedXData||this.processData();this.generatePoints();for(var a=this.options,b=a.stacking,c=this.xAxis,d=c.categories,e=this.yAxis,f=this.points,g=f.length,h=!!this.modifyValue,i=a.pointPlacement,k=i==="between"||ka(i),j=a.threshold, +m=a.startFromThreshold?j:0,l,n,t,o,v=Number.MAX_VALUE,a=0;a=0&&n<=e.len&&l>=0&&l<=c.len;y.clientX=k?c.translate(x,0,0,0,1):l;y.negative=y.y<(j||0);y.category=d&&d[y.x]!==B?d[y.x]:y.x;a&&(v=E(v,P(l-t)));t=l}this.closestPointRangePx=v;this.getSegments()},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted, +f=this.clipBox,g=f||b.clipBox,h=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,g.height,c.xAxis,c.yAxis].join(","),i=b[h],k=b[h+"m"];if(!i){if(a)g.width=0,b[h+"m"]=k=d.clipRect(-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight);b[h]=i=d.clipRect(g)}a&&(i.count+=1);if(c.clip!==!1)this.group.clip(a||f?i:b.clipRect),this.markerGroup.clip(k),this.sharedClipKey=h;a||(i.count-=1,i.count<=0&&h&&b[h]&&(f||(b[h]=b[h].destroy()),b[h+"m"]&&(b[h+"m"]=b[h+"m"].destroy())))},animate:function(a){var b= +this.chart,c=this.options.animation,d;if(c&&!Z(c))c=ba[this.type].animation;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+99},c),this.animate=null)},afterAnimate:function(){this.setClip();H(this,"afterAnimate")},drawPoints:function(){var a,b=this.points,c=this.chart,d,e,f,g,h,i,k,j,m=this.options.marker,l=this.pointAttr[""],n,o,r,q=this.markerGroup,s=p(m.enabled,this.xAxis.isRadial,this.closestPointRangePx>2*m.radius); +if(m.enabled!==!1||this._hasPointMarkers)for(f=b.length;f--;)if(g=b[f],d=S(g.plotX),e=g.plotY,j=g.graphic,n=g.marker||{},o=!!g.marker,a=s&&n.enabled===B||n.enabled,r=g.isInside,a&&e!==B&&!isNaN(e)&&g.y!==null)if(a=g.pointAttr[g.selected?"select":""]||l,h=a.r,i=p(n.symbol,this.symbol),k=i.indexOf("url")===0,j)j[r?"show":"hide"](!0).animate(v({x:d-h,y:e-h},j.symbolName?{width:2*h,height:2*h}:{}));else{if(r&&(h>0||k))g.graphic=c.renderer.symbol(i,d-h,e-h,2*h,2*h,o?n:m).attr(a).add(q)}else if(j)g.graphic= +j.destroy()},convertAttribs:function(a,b,c,d){var e=this.pointAttrToOptions,f,g,h={},a=a||{},b=b||{},c=c||{},d=d||{};for(f in e)g=e[f],h[f]=p(a[g],b[f],c[f],d[f]);return h},getAttribs:function(){var a=this,b=a.options,c=ba[a.type].marker?b.marker:b,d=c.states,e=d.hover,f,g=a.color,h=a.options.negativeColor;f={stroke:g,fill:g};var i=a.points||[],k,j,m=[],l=a.pointAttrToOptions;k=a.hasPointSpecificOptions;var n=c.lineColor,t=c.fillColor;j=b.turboThreshold;var r=a.zones,s=a.zoneAxis||"y",y;b.marker? +(e.radius=e.radius||c.radius+e.radiusPlus,e.lineWidth=e.lineWidth||c.lineWidth+e.lineWidthPlus):(e.color=e.color||ia(e.color||g).brighten(e.brightness).get(),e.negativeColor=e.negativeColor||ia(e.negativeColor||h).brighten(e.brightness).get());m[""]=a.convertAttribs(c,f);o(["hover","select"],function(b){m[b]=a.convertAttribs(d[b],m[""])});a.pointAttr=m;g=i.length;if(!j||g= +f.value;)f=r[++k];j.color=j.fillColor=p(f.color,a.color)}k=b.colorByPoint||j.color;if(j.options)for(y in l)q(c[l[y]])&&(k=!0);if(k){c=c||{};k=[];d=c.states||{};f=d.hover=d.hover||{};if(!b.marker||j.negative&&!f.fillColor&&!e.fillColor)f[a.pointAttrToOptions.fill]=f.color||!j.options.color&&e[j.negative&&h?"negativeColor":"color"]||ia(j.color).brighten(f.brightness||e.brightness).get();f={color:j.color};if(!t)f.fillColor=j.color;if(!n)f.lineColor=j.color;c.hasOwnProperty("color")&&!c.color&&delete c.color; +k[""]=a.convertAttribs(v(f,c),m[""]);k.hover=a.convertAttribs(d.hover,m.hover,k[""]);k.select=a.convertAttribs(d.select,m.select,k[""])}else k=m;j.pointAttr=k}},destroy:function(){var a=this,b=a.chart,c=/AppleWebKit\/533/.test(Aa),d,e=a.data||[],f,g,h;H(a,"destroy");U(a);o(a.axisTypes||[],function(b){if(h=a[b])ma(h.series,a),h.isDirty=h.forceRedraw=!0});a.legendItem&&a.chart.legend.destroyItem(a);for(d=e.length;d--;)(f=e[d])&&f.destroy&&f.destroy();a.points=null;clearTimeout(a.animationTimeout);for(g in a)a[g]instanceof +Q&&!a[g].survive&&(d=c&&g==="group"?"hide":"destroy",a[g][d]());if(b.hoverSeries===a)b.hoverSeries=null;ma(b.series,a);for(g in a)delete a[g]},getSegmentPath:function(a){var b=this,c=[],d=b.options.step;o(a,function(e,f){var g=e.plotX,h=e.plotY,i;b.getPointSpline?c.push.apply(c,b.getPointSpline(a,e,f)):(c.push(f?"L":"M"),d&&f&&(i=a[f-1],d==="right"?c.push(i.plotX,h,"L"):d==="center"?c.push((i.plotX+g)/2,i.plotY,"L",(i.plotX+g)/2,h,"L"):c.push(g,i.plotY,"L")),c.push(e.plotX,e.plotY))});return c},getGraphPath:function(){var a= +this,b=[],c,d=[];o(a.segments,function(e){c=a.getSegmentPath(e);e.length>1?b=b.concat(c):d.push(e[0])});a.singlePoints=d;return a.graphPath=b},drawGraph:function(){var a=this,b=this.options,c=[["graph",b.lineColor||this.color,b.dashStyle]],d=b.lineWidth,e=b.linecap!=="square",f=this.getGraphPath(),g=this.fillGraph&&this.color||"none";o(this.zones,function(d,e){c.push(["zoneGraph"+e,d.color||a.color,d.dashStyle||b.dashStyle])});o(c,function(c,i){var k=c[0],j=a[k];if(j)j.animate({d:f});else if((d|| +g)&&f.length)j={stroke:c[1],"stroke-width":d,fill:g,zIndex:1},c[2]?j.dashstyle=c[2]:e&&(j["stroke-linecap"]=j["stroke-linejoin"]="round"),a[k]=a.chart.renderer.path(f).attr(j).add(a.group).shadow(i<2&&b.shadow)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,f,g=this.clips||[],h,i=this.graph,k=this.area,j=s(b.chartWidth,b.chartHeight),m=this[(this.zoneAxis||"y")+"Axis"],l,n=m.reversed,t=b.inverted,r=m.horiz,q,y,x,v=!1;if(d.length&&(i||k)&&m.min!==B)i&&i.hide(),k&&k.hide(), +l=m.getExtremes(),o(d,function(d,o){e=n?r?b.plotWidth:0:r?0:m.toPixels(l.min);e=E(s(p(f,e),0),j);f=E(s(A(m.toPixels(p(d.value,l.max),!0)),0),j);v&&(e=f=m.toPixels(l.max));q=Math.abs(e-f);y=E(e,f);x=s(e,f);if(m.isXAxis){if(h={x:t?x:y,y:0,width:q,height:j},!r)h.x=b.plotHeight-h.x}else if(h={x:0,y:t?x:y,width:j,height:q},r)h.y=b.plotWidth-h.y;b.inverted&&c.isVML&&(h=m.isXAxis?{x:0,y:n?y:x,height:h.width,width:b.chartWidth}:{x:h.y-b.plotLeft-b.spacingBox.x,y:0,width:h.height,height:b.chartHeight});g[o]? +g[o].animate(h):(g[o]=c.clipRect(h),i&&a["zoneGraph"+o].clip(g[o]),k&&a["zoneArea"+o].clip(g[o]));v=d.value>l.max}),this.clips=g},invertGroups:function(){function a(){var a={width:b.yAxis.len,height:b.xAxis.len};o(["group","markerGroup"],function(c){b[c]&&b[c].attr(a).invert()})}var b=this,c=b.chart;if(b.xAxis)N(c,"resize",a),N(b,"destroy",function(){U(c,"resize",a)}),a(),b.invertGroups=a},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g(b).attr({zIndex:d||0.1}).add(e), +f.addClass("highcharts-series-"+this.index));f.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;if(a.inverted)b=c,c=this.xAxis;return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=(c=d.animation)&&!!a.animate&&b.renderer.isSVG&&p(c.duration,500)||0,f=a.visible?"inherit":"hidden",g=d.zIndex,h=a.hasRendered,i=b.seriesGroup;c=a.plotGroup("group", +"series",f,g,i);a.markerGroup=a.plotGroup("markerGroup","markers",f,g,i);e&&a.animate(!0);a.getAttribs();c.inverted=a.isCartesian?b.inverted:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());o(a.points,function(a){a.redraw&&a.redraw()});a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&a.options.enableMouseTracking!==!1&&a.drawTracker();b.inverted&&a.invertGroups();d.clip!==!1&&!a.sharedClipKey&&!h&&c.clip(b.clipRect);e&&a.animate();if(!h)a.animationTimeout=Qa(function(){a.afterAnimate()}, +e);a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirtyData,c=this.isDirty,d=this.group,e=this.xAxis,f=this.yAxis;d&&(a.inverted&&d.attr({width:a.plotWidth,height:a.plotHeight}),d.animate({translateX:p(e&&e.left,a.plotLeft),translateY:p(f&&f.top,a.plotTop)}));this.translate();this.render();b&&H(this,"updatedData");(c||b)&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted; +return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)},buildKDTree:function(){function a(c,e,f){var g,h;if(h=c&&c.length)return g=b.kdAxisArray[e%f],c.sort(function(a,b){return a[g]-b[g]}),h=Math.floor(h/2),{point:c[h],left:a(c.slice(0,h),e+1,f),right:a(c.slice(h+1),e+1,f)}}var b=this,c=b.kdDimensions;delete b.kdTree;Qa(function(){var d=Oa(b.points||[],function(a){return a.y!==null});b.kdTree=a(d,c,c)},b.options.kdNow?0:1)},searchKDTree:function(a, +b){function c(a,b,k,j){var m=b.point,l=d.kdAxisArray[k%j],n,p,o=m;p=q(a[e])&&q(m[e])?Math.pow(a[e]-m[e],2):null;n=q(a[f])&&q(m[f])?Math.pow(a[f]-m[f],2):null;n=(p||0)+(n||0);m.dist=q(n)?Math.sqrt(n):Number.MAX_VALUE;m.distX=q(p)?Math.sqrt(p):Number.MAX_VALUE;l=a[l]-m[l];n=l<0?"left":"right";p=l<0?"right":"left";b[n]&&(n=c(a,b[n],k+1,j),o=n[g]0&&this.singleStacks===!1&&(q.points[y][0]=q.points[this.index+","+w+",0"][0]);e==="percent"?(r=r?i:k,j&&l[r]&&l[r][w]?(r=l[r][w],q.total=r.total=s(r.total,q.total)+P(u)||0):q.total=fa(q.total+(P(u)||0))):q.total=fa(q.total+(u||0));q.cum=p(q.cum,g)+(u||0);q.points[y].push(q.cum); +c[v]=q.cum}if(e==="percent")m.usePercentage=!0;this.stackedYData=c;m.oldStacks={}}};R.prototype.setPercentStacks=function(){var a=this,b=a.stackKey,c=a.yAxis.stacks,d=a.processedXData,e;o([b,"-"+b],function(b){var f;for(var g=d.length,h,i;g--;)if(h=d[g],e=a.getStackIndicator(e,h,a.index),f=(i=c[b]&&c[b][h])&&i.points[e.key],h=f)i=i.total?100/i.total:0,h[0]=fa(h[0]*i),h[1]=fa(h[1]*i),a.stackedYData[g]=h[1]})};R.prototype.getStackIndicator=function(a,b,c){!q(a)||a.x!==b?a={x:b,index:0}:a.index++;a.key= +[c,b,a.index].join(",");return a};v(hb.prototype,{addSeries:function(a,b,c){var d,e=this;a&&(b=p(b,!0),H(e,"addSeries",{options:a},function(){d=e.initSeries(a);e.isDirtyLegend=!0;e.linkSeries();b&&e.redraw(c)}));return d},addAxis:function(a,b,c,d){var e=b?"xAxis":"yAxis",f=this.options;new ja(this,D(a,{index:this[e].length,isX:b}));f[e]=ta(f[e]||{});f[e].push(a);p(c,!0)&&this.redraw(d)},showLoading:function(a){var b=this,c=b.options,d=b.loadingDiv,e=c.loading,f=function(){d&&M(d,{left:b.plotLeft+ +"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};if(!d)b.loadingDiv=d=$(Ma,{className:"highcharts-loading"},v(e.style,{zIndex:10,display:"none"}),b.container),b.loadingSpan=$("span",null,e.labelStyle,d),N(b,"redraw",f);b.loadingSpan.innerHTML=a||c.lang.loading;if(!b.loadingShown)M(d,{opacity:0,display:""}),Xa(d,{opacity:e.style.opacity},{duration:e.showDuration||0}),b.loadingShown=!0;f()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&Xa(b,{opacity:0},{duration:a.loading.hideDuration|| +100,complete:function(){M(b,{display:"none"})}});this.loadingShown=!1}});v(Ia.prototype,{update:function(a,b,c,d){function e(){f.applyOptions(a);if(f.y===null&&h)f.graphic=h.destroy();if(Z(a)&&!Ja(a))f.redraw=function(){if(h&&h.element&&a&&a.marker&&a.marker.symbol)f.graphic=h.destroy();if(a&&a.dataLabels&&f.dataLabel)f.dataLabel=f.dataLabel.destroy();f.redraw=null};i=f.index;g.updateParallelArrays(f,i);if(m&&f.name)m[f.x]=f.name;j.data[i]=Z(j.data[i])?f.options:a;g.isDirty=g.isDirtyData=!0;if(!g.fixedBox&& +g.hasCartesianSeries)k.isDirtyBox=!0;if(j.legendType==="point")k.isDirtyLegend=!0;b&&k.redraw(c)}var f=this,g=f.series,h=f.graphic,i,k=g.chart,j=g.options,m=g.xAxis&&g.xAxis.names,b=p(b,!0);d===!1?e():f.firePointEvent("update",{options:a},e)},remove:function(a,b){this.series.removePoint(qa(this,this.series.data),a,b)}});v(R.prototype,{addPoint:function(a,b,c,d){var e=this,f=e.options,g=e.data,h=e.graph,i=e.area,k=e.chart,j=e.xAxis&&e.xAxis.names,m=h&&h.shift||0,l=["graph","area"],h=f.data,n,t=e.xData; +Va(d,k);if(c){for(d=e.zones.length;d--;)l.push("zoneGraph"+d,"zoneArea"+d);o(l,function(a){if(e[a])e[a].shift=m+(f.step?2:1)})}if(i)i.isArea=!0;b=p(b,!0);i={series:e};e.pointClass.prototype.applyOptions.apply(i,[a]);l=i.x;d=t.length;if(e.requireSorting&&ll;)d--;e.updateParallelArrays(i,"splice",d,0,0);e.updateParallelArrays(i,d);if(j&&i.name)j[l]=i.name;h.splice(d,0,a);n&&(e.data.splice(d,0,null),e.processData());f.legendType==="point"&&e.generatePoints();c&&(g[0]&&g[0].remove? +g[0].remove(!1):(g.shift(),e.updateParallelArrays(i,"shift"),h.shift()));e.isDirty=!0;e.isDirtyData=!0;b&&(e.getAttribs(),k.redraw())},removePoint:function(a,b,c){var d=this,e=d.data,f=e[a],g=d.points,h=d.chart,i=function(){e.length===g.length&&g.splice(a,1);e.splice(a,1);d.options.data.splice(a,1);d.updateParallelArrays(f||{series:d},"splice",a,1);f&&f.destroy();d.isDirty=!0;d.isDirtyData=!0;b&&h.redraw()};Va(c,h);b=p(b,!0);f?f.firePointEvent("remove",null,i):i()},remove:function(a,b){var c=this, +d=c.chart;H(c,"remove",null,function(){c.destroy();d.isDirtyLegend=d.isDirtyBox=!0;d.linkSeries();p(a,!0)&&d.redraw(b)})},update:function(a,b){var c=this,d=this.chart,e=this.userOptions,f=this.type,g=I[f].prototype,h=["group","markerGroup","dataLabelsGroup"],i;if(a.type&&a.type!==f||a.zIndex!==void 0)h.length=0;o(h,function(a){h[a]=c[a];delete c[a]});a=D(e,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1);for(i in g)this[i]=B;v(this,I[a.type||f].prototype); +o(h,function(a){c[a]=h[a]});this.init(d,a);d.linkSeries();p(b,!0)&&d.redraw(!1)}});v(ja.prototype,{update:function(a,b){var c=this.chart,a=c.options[this.coll][this.options.index]=D(this.userOptions,a);this.destroy(!0);this._addedPlotLB=this.chart._labelPanes=B;this.init(c,v(a,{events:B}));c.isDirtyBox=!0;p(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);ma(b.axes,this);ma(b[c],this);b.options[c].splice(this.options.index, +1);o(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;p(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}});var xa=na(R);I.line=xa;ba.area=D(ea,{softThreshold:!1,threshold:0});var sa=na(R,{type:"area",singleStacks:!1,getSegments:function(){var a=this,b=[],c=[],d=[],e=this.xAxis,f=this.yAxis,g=f.stacks[this.stackKey],h={},i,k,j=this.points,m=this.options.connectNulls,l,n,p;if(this.options.stacking&&!this.cropped){for(n= +0;n=0;d--)g=p(a[d].yBottom,f),da&&i>e?(i=s(a,e),j=2*e-i):ig&&j>e?(j=s(g,e),i=2*e-j):j0.5;b=Math.round(b)+f;d-=b;g&&(b-=1,d+=1);return{x:a,y:b,width:c,height:d}},translate:function(){var a=this,b=a.chart,c=a.options,d=a.borderWidth=p(c.borderWidth,a.closestPointRange*a.xAxis.transA<2?0:1),e=a.yAxis,f=a.translatedThreshold=e.getThreshold(c.threshold),g=p(c.minPointLength,5),h=a.getColumnMetrics(),i=h.width, +k=a.barW=s(i,1+2*d),j=a.pointXOffset=h.offset;b.inverted&&(f-=0.5);c.pointPadding&&(k=ua(k));R.prototype.translate.apply(a);o(a.points,function(c){var d=E(p(c.yBottom,f),9E4),h=999+P(d),h=E(s(-h,c.plotY),e.len+h),o=c.plotX+j,q=k,v=E(h,d),y,u=s(h,d)-v;P(u)g?d-g:f-(y?g:0));c.barX=o;c.pointWidth=i;c.tooltipPos=b.inverted?[e.len+e.pos-b.plotLeft-h,a.xAxis.len-o-q/2,u]:[o+q/2,h+e.pos-b.plotTop,u];c.shapeType="rect";c.shapeArgs=a.crispCol(o, +v,q,u)})},getSymbol:va,drawLegendSymbol:K.drawRectangle,drawGraph:va,drawPoints:function(){var a=this,b=this.chart,c=a.options,d=b.renderer,e=c.animationLimit||250,f,g;o(a.points,function(h){var i=h.plotY,k=h.graphic;if(i!==B&&!isNaN(i)&&h.y!==null)f=h.shapeArgs,i=q(a.borderWidth)?{"stroke-width":a.borderWidth}:{},g=h.pointAttr[h.selected?"select":""]||a.pointAttr[""],k?(Pa(k),k.attr(i).attr(g)[b.pointCount\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}});sa=na(R,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1, +kdDimensions:2,drawGraph:function(){this.options.lineWidth&&R.prototype.drawGraph.call(this)}});I.scatter=sa;ba.pie=D(ea,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.y===null?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,states:{hover:{brightness:0.1,shadow:!1}},stickyTracking:!1,tooltip:{followPointer:!0}});ea={type:"pie", +isCartesian:!1,pointClass:na(Ia,{init:function(){Ia.prototype.init.apply(this,arguments);var a=this,b;a.name=p(a.name,"Slice");b=function(b){a.slice(b.type==="select")};N(a,"select",b);N(a,"unselect",b);return a},setVisible:function(a,b){var c=this,d=c.series,e=d.chart,f=d.options.ignoreHiddenPoint,b=p(b,f);if(a!==c.visible){c.visible=c.options.visible=a=a===B?!c.visible:a;d.options.data[qa(c,d.data)]=c.options;o(["graphic","dataLabel","connector","shadowGroup"],function(b){if(c[b])c[b][a?"show": +"hide"](!0)});c.legendItem&&e.legend.colorizeItem(c,a);!a&&c.state==="hover"&&c.setState("");if(f)d.isDirty=!0;b&&e.redraw()}},slice:function(a,b,c){var d=this.series;Va(c,d.chart);p(b,!0);this.sliced=this.options.sliced=a=q(a)?a:!this.sliced;d.options.data[qa(this,d.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)},haloPath:function(a){var b=this.shapeArgs,c=this.series.chart;return this.sliced||!this.visible? +[]:this.series.chart.renderer.symbols.arc(c.plotLeft+b.x,c.plotTop+b.y,b.r+a,b.r+a,{innerR:this.shapeArgs.r,start:b.start,end:b.end})}}),requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},animate:function(a){var b=this,c=b.points,d=b.startAngleRad;if(!a)o(c,function(a){var c=a.graphic,g=a.shapeArgs;c&&(c.attr({r:a.startR||b.center[3]/2,start:d,end:d}),c.animate({r:g.r, +start:g.start,end:g.end},b.options.animation))}),b.animate=null},updateTotals:function(){var a,b=0,c=this.points,d=c.length,e,f=this.options.ignoreHiddenPoint;for(a=0;a0&&(e.visible||!f)?e.y/b*100:0,e.total=b},generatePoints:function(){R.prototype.generatePoints.call(this);this.updateTotals()},translate:function(a){this.generatePoints();var b=0,c=this.options,d=c.slicedOffset,e=d+c.borderWidth,f,g,h,i=c.startAngle|| +0,k=this.startAngleRad=pa/180*(i-90),i=(this.endAngleRad=pa/180*(p(c.endAngle,i+360)-90))-k,j=this.points,m=c.dataLabels.distance,c=c.ignoreHiddenPoint,l,n=j.length,o;if(!a)this.center=a=this.getCenter();this.getX=function(b,c){h=V.asin(E((b-a[1])/(a[2]/2+m),1));return a[0]+(c?-1:1)*T(h)*(a[2]/2+m)};for(l=0;l1.5*pa? +h-=2*pa:h<-pa/2&&(h+=2*pa);o.slicedTranslation={translateX:A(T(h)*d),translateY:A(aa(h)*d)};f=T(h)*a[2]/2;g=aa(h)*a[2]/2;o.tooltipPos=[a[0]+f*0.7,a[1]+g*0.7];o.half=h<-pa/2||h>pa/2?1:0;o.angle=h;e=E(e,m/2);o.labelPos=[a[0]+f+T(h)*m,a[1]+g+aa(h)*m,a[0]+f+T(h)*e,a[1]+g+aa(h)*e,a[0]+f,a[1]+g,m<0?"center":o.half?"right":"left",h]}},drawGraph:null,drawPoints:function(){var a=this,b=a.chart.renderer,c,d,e=a.options.shadow,f,g,h,i;if(e&&!a.shadowGroup)a.shadowGroup=b.g("shadow").add(a.group);o(a.points, +function(k){if(k.y!==null){d=k.graphic;h=k.shapeArgs;f=k.shadowGroup;g=k.pointAttr[k.selected?"select":""];if(!g.stroke)g.stroke=g.fill;if(e&&!f)f=k.shadowGroup=b.g("shadow").add(a.shadowGroup);c=k.sliced?k.slicedTranslation:{translateX:0,translateY:0};f&&f.attr(c);if(d)d.setRadialReference(a.center).attr(g).animate(v(h,c));else{i={"stroke-linejoin":"round"};if(!k.visible)i.visibility="hidden";k.graphic=d=b[k.shapeType](h).setRadialReference(a.center).attr(g).attr(i).attr(c).add(a.group).shadow(e, +f)}}})},searchPoint:va,sortByAngle:function(a,b){a.sort(function(a,d){return a.angle!==void 0&&(d.angle-a.angle)*b})},drawLegendSymbol:K.drawRectangle,getCenter:Cb.getCenter,getSymbol:va};ea=na(R,ea);I.pie=ea;R.prototype.drawDataLabels=function(){var a=this,b=a.options,c=b.cursor,d=b.dataLabels,e=a.points,f,g,h=a.hasRendered||0,i,k,j=a.chart.renderer;if(d.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(d),k=a.plotGroup("dataLabelsGroup","data-labels",d.defer?"hidden":"visible",d.zIndex|| +6),p(d.defer,!0)&&(k.attr({opacity:+h}),h||N(a,"afterAnimate",function(){a.visible&&k.show();k[b.animation?"animate":"attr"]({opacity:1},{duration:200})})),g=d,o(e,function(e){var h,n=e.dataLabel,o,r,s=e.connector,u=!0,x,w={};f=e.dlOptions||e.options&&e.options.dataLabels;h=p(f&&f.enabled,g.enabled)&&e.y!==null;if(n&&!h)e.dataLabel=n.destroy();else if(h){d=D(g,f);x=d.style;h=d.rotation;o=e.getLabelConfig();i=d.format?La(d.format,o):d.formatter.call(o,d);x.color=p(d.color,x.color,a.color,"black"); +if(n)if(q(i))n.attr({text:i}),u=!1;else{if(e.dataLabel=n=n.destroy(),s)e.connector=s.destroy()}else if(q(i)){n={fill:d.backgroundColor,stroke:d.borderColor,"stroke-width":d.borderWidth,r:d.borderRadius||0,rotation:h,padding:d.padding,zIndex:1};if(x.color==="contrast")w.color=d.inside||d.distance<0||b.stacking?j.getContrast(e.color||a.color):"#000000";if(c)w.cursor=c;for(r in n)n[r]===B&&delete n[r];n=e.dataLabel=j[h?"text":"label"](i,0,-9999,d.shape,null,null,d.useHTML).attr(n).css(v(x,w)).add(k).shadow(d.shadow)}n&& +a.alignDataLabel(e,n,d,null,u)}})};R.prototype.alignDataLabel=function(a,b,c,d,e){var f=this.chart,g=f.inverted,h=p(a.plotX,-9999),i=p(a.plotY,-9999),k=b.getBBox(),j=f.renderer.fontMetrics(c.style.fontSize).b,m=this.visible&&(a.series.forceDL||f.isInsidePlot(h,A(i),g)||d&&f.isInsidePlot(h,g?d.x+1:d.y+d.height-1,g));if(m)d=v({x:g?f.plotWidth-i:h,y:A(g?f.plotHeight-h:i),width:0,height:0},d),v(c,{width:k.width,height:k.height}),c.rotation?(a=f.renderer.rotCorr(j,c.rotation),b[e?"attr":"animate"]({x:d.x+ +c.x+d.width/2+a.x,y:d.y+c.y+d.height/2}).attr({align:c.align})):(b.align(c,null,d),g=b.alignAttr,p(c.overflow,"justify")==="justify"?this.justifyDataLabel(b,c,g,k,d,e):p(c.crop,!0)&&(m=f.isInsidePlot(g.x,g.y)&&f.isInsidePlot(g.x+k.width,g.y+k.height)),c.shape&&b.attr({anchorX:a.plotX,anchorY:a.plotY}));if(!m)Pa(b),b.attr({y:-9999}),b.placed=!1};R.prototype.justifyDataLabel=function(a,b,c,d,e,f){var g=this.chart,h=b.align,i=b.verticalAlign,k,j,m=a.box?0:a.padding||0;k=c.x+m;if(k<0)h==="right"?b.align= +"left":b.x=-k,j=!0;k=c.x+d.width-m;if(k>g.plotWidth)h==="left"?b.align="right":b.x=g.plotWidth-k,j=!0;k=c.y+m;if(k<0)i==="bottom"?b.verticalAlign="top":b.y=-k,j=!0;k=c.y+d.height-m;if(k>g.plotHeight)i==="top"?b.verticalAlign="bottom":b.y=g.plotHeight-k,j=!0;if(j)a.placed=!f,a.align(b,null,e)};if(I.pie)I.pie.prototype.drawDataLabels=function(){var a=this,b=a.data,c,d=a.chart,e=a.options.dataLabels,f=p(e.connectorPadding,10),g=p(e.connectorWidth,1),h=d.plotWidth,i=d.plotHeight,k,j,m=p(e.softConnector, +!0),l=e.distance,n=a.center,q=n[2]/2,r=n[1],v=l>0,u,x,w,B=[[],[]],z,C,D,F,J,G=[0,0,0,0],M=function(a,b){return b.y-a.y};if(a.visible&&(e.enabled||a._hasPointLabels)){R.prototype.drawDataLabels.apply(a);o(b,function(a){a.dataLabel&&a.visible&&B[a.half].push(a)});for(F=2;F--;){var H=[],N=[],I=B[F],L=I.length,K;if(L){a.sortByAngle(I,F-0.5);for(J=b=0;!b&&I[J];)b=I[J]&&I[J].dataLabel&&(I[J].dataLabel.getBBox().height||21),J++;if(l>0){x=E(r+q+l,d.plotHeight);for(J=s(0,r-q-l);J<=x;J+=b)H.push(J);x=H.length; +if(L>x){c=[].concat(I);c.sort(M);for(J=L;J--;)c[J].rank=J;for(J=L;J--;)I[J].rank>=x&&I.splice(J,1);L=I.length}for(J=0;J0){if(x=N.pop(),K=x.i,C=x.y,c>C&&H[K+1]!==null||ch-f&&(G[1]=s(A(z+x-h+f),G[1])),C-b/2<0?G[0]=s(A(-C+b/2),G[0]):C+b/2>i&&(G[2]=s(A(C+b/2-i),G[2]))}}}if(Da(G)===0||this.verifyDataLabelOverflow(G))this.placeDataLabels(),v&&g&&o(this.points,function(b){k=b.connector;w=b.labelPos; +if((u=b.dataLabel)&&u._pos&&b.visible)D=u._attr.visibility,z=u.connX,C=u.connY,j=m?["M",z+(w[6]==="left"?5:-5),C,"C",z,C,2*w[2]-w[4],2*w[3]-w[5],w[2],w[3],"L",w[4],w[5]]:["M",z+(w[6]==="left"?5:-5),C,"L",w[2],w[3],"L",w[4],w[5]],k?(k.animate({d:j}),k.attr("visibility",D)):b.connector=k=a.chart.renderer.path(j).attr({"stroke-width":g,stroke:e.connectorColor||b.color||"#606060",visibility:D}).add(a.dataLabelsGroup);else if(k)b.connector=k.destroy()})}},I.pie.prototype.placeDataLabels=function(){o(this.points, +function(a){var b=a.dataLabel;if(b&&a.visible)(a=b._pos)?(b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-9999})})},I.pie.prototype.alignDataLabel=va,I.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,d=c.center,e=c.minSize||80,f=e,g;d[0]!==null?f=s(b[2]-s(a[1],a[3]),e):(f=s(b[2]-a[1]-a[3],e),b[0]+=(a[3]-a[1])/2);d[1]!==null?f=s(E(f,b[2]-s(a[0],a[2])),e):(f=s(E(f,b[2]-a[0]-a[2]),e),b[1]+=(a[0]-a[2])/2);fp(this.translatedThreshold,g.yAxis.len)),k=p(c.inside,!!this.options.stacking);if(h){d=D(h);if(d.y<0)d.height+=d.y,d.y=0;h=d.y+d.height-g.yAxis.len; +h>0&&(d.height-=h);f&&(d={x:g.yAxis.len-d.y-d.height,y:g.xAxis.len-d.x-d.width,width:d.height,height:d.width});if(!k)f?(d.x+=i?0:d.width,d.width=0):(d.y+=i?d.height:0,d.height=0)}c.align=p(c.align,!f||k?"center":i?"right":"left");c.verticalAlign=p(c.verticalAlign,f||k?"middle":i?"top":"bottom");R.prototype.alignDataLabel.call(this,a,b,c,d,e)};(function(a){var b=a.Chart,c=a.each,d=a.pick,e=a.addEvent;b.prototype.callbacks.push(function(a){function b(){var e=[];c(a.series,function(a){var b=a.options.dataLabels, +f=a.dataLabelCollections||["dataLabel"];(b.enabled||a._hasPointLabels)&&!b.allowOverlap&&a.visible&&c(f,function(b){c(a.points,function(a){if(a[b])a[b].labelrank=d(a.labelrank,a.shapeArgs&&a.shapeArgs.height),e.push(a[b])})})});a.hideOverlappingLabels(e)}b();e(a,"redraw",b)});b.prototype.hideOverlappingLabels=function(a){var b=a.length,d,e,k,j,m,l,n;for(e=0;em.x+(k.width-n)||l.x+(j.width-n)m.y+(k.height-n)||l.y+(j.height-n)d;if(h.series.length&&(i||m>E(j.dataMin,j.min))&& +(!i||k
'; + html += tagManagerOptions.tagCloseIcon + ' '; + var $el = $(html); + + if (tagManagerOptions.tagsContainer != null) { + $(tagManagerOptions.tagsContainer).append($el); + } else { + if (tagId > 1) { + var lastTagId = tagId - 1; + var lastTagObj = $("#" + rndid + "_" + lastTagId); + lastTagObj.after($el); + } else { + obj.before($el); + } + } + + $el.find("#" + newTagRemoveId).on("click", obj, function (e) { + e.preventDefault(); + var TagIdToRemove = parseInt($(this).attr("TagIdToRemove")); + spliceTag(TagIdToRemove, e.data); + }); + + refreshHiddenTagList(); + + if (!ignore_events) + obj.trigger('tm:afterPush', tag); + + showOrHide(); + //if (tagManagerOptions.maxTags > 0 && tlis.length >= tagManagerOptions.maxTags) { + // obj.hide(); + //} + } + obj.val(""); + }; + + var prefill = function (pta) { + $.each(pta, function (key, val) { + pushTag(val,true); + }); + }; + + var killEvent = function (e) { + e.cancelBubble = true; + e.returnValue = false; + e.stopPropagation(); + e.preventDefault(); + }; + + var keyInArray = function (e, ary) { + return $.inArray(e.which, ary) != -1 + }; + + var applyDelimiter = function (e) { + pushTag(obj.val()); + e.preventDefault(); + }; + + var returnValue = null; + this.each(function () { + + if (typeof options == 'string') { + switch (options) { + case "empty": + empty(); + break; + case "popTag": + popTag(); + break; + case "pushTag": + pushTag(tagToManipulate); + break; + case "tags": + returnValue = { tags: obj.data("tlis") }; + break; + } + return; + } + + // prevent double-initialization of TagManager + if ($(this).data('tagManager')) { return false; } + $(this).data('tagManager', true); + + // store instance-specific data in the DOM object + var tlis = new Array(); + var tlid = new Array(); + obj.data("tlis", tlis); //list of string tags + obj.data("tlid", tlid); //list of ID of the string tags + + if (tagManagerOptions.output == null) { + var hiddenObj = jQuery('', { + type: 'hidden', + name: tagManagerOptions.hiddenTagListName + }); + obj.after(hiddenObj); + obj.data("lhiddenTagList", hiddenObj); + } else { + obj.data("lhiddenTagList", jQuery(tagManagerOptions.output)) + } + + if (tagManagerOptions.AjaxPushAllTags) { + obj.on('tm:afterSplice', pushAllTags); + obj.on('tm:afterPop', pushAllTags); + obj.on('tm:afterPush', pushAllTags); + } + + // hide popovers on focus and keypress events + obj.on('focus keypress', function (e) { + if ($(this).popover) { + $(this).popover('hide'); + } + }); + + // handle ESC (keyup used for browser compatibility) + if (tagManagerOptions.isClearInputOnEsc) { + obj.on('keyup', function (e) { + if (e.which == 27) { + // console.log('esc detected'); + $(this).val(''); + killEvent(e); + } + }); + } + + obj.on('keypress', function (e) { + // push ASCII-based delimiters + if (keyInArray(e, delimiterChars)) { + applyDelimiter(e); + } + }); + + obj.on('keydown', function (e) { + // disable ENTER + if (e.which == 13) { + if (tagManagerOptions.preventSubmitOnEnter) { + killEvent(e); + } + } + + // push key-based delimiters (includes by default) + if (keyInArray(e, delimiterKeys)) { + applyDelimiter(e); + } + }); + + // BACKSPACE (keydown used for browser compatibility) + if (tagManagerOptions.deleteTagsOnBackspace) { + obj.on('keydown', function (e) { + if (keyInArray(e, backspace)) { + // console.log("backspace detected"); + if ($(this).val().length <= 0) { + popTag(); + killEvent(e); + } + } + }); + } + + obj.change(function (e) { + + if (!/webkit/.test(navigator.userAgent.toLowerCase())) { $(this).focus(); } // why? + + /* unimplemented mode to push tag on blur + else if (tagManagerOptions.pushTagOnBlur) { + console.log('change: pushTagOnBlur ' + tag); + pushTag($(this).val()); + } */ + killEvent(e); + }); + + if (tagManagerOptions.prefilled != null) { + if (typeof (tagManagerOptions.prefilled) == "object") { + prefill(tagManagerOptions.prefilled); + } else if (typeof (tagManagerOptions.prefilled) == "string") { + prefill(tagManagerOptions.prefilled.split(baseDelimiter)); + } else if (typeof (tagManagerOptions.prefilled) == "function") { + prefill(tagManagerOptions.prefilled()); + } + } else if (tagManagerOptions.output != null) { + if (jQuery(tagManagerOptions.output) && jQuery(tagManagerOptions.output).val()) + var existing_tags = jQuery(tagManagerOptions.output) + prefill(jQuery(tagManagerOptions.output).val().split(baseDelimiter)); + } + }); + + if (!returnValue) + returnValue = this; + + return returnValue; + } +})(jQuery); \ No newline at end of file diff --git a/vendor/assets/stylesheets/tagmanager.css b/vendor/assets/stylesheets/tagmanager.css new file mode 100644 index 0000000..e535899 --- /dev/null +++ b/vendor/assets/stylesheets/tagmanager.css @@ -0,0 +1,102 @@ +/* + * DO NOT EDIT THIS FILE DIRECTLY + * Compiled from bootstrap-tagmanager.less based on Bootstrap 2.3.1 variables + * https://github.com/twitter/bootstrap/blob/master/less/variables.less + */ +.tm-tag { + color: #555555; + background-color: #f5f5f5; + border: #bbbbbb 1px solid; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset; + display: inline-block; + border-radius: 3px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + margin: 0 5px 5px 0; + padding: 4px; + text-decoration: none; + transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s; + -moz-transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s; + -webkit-transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s; + vertical-align: middle; +} +.tm-tag .tm-tag-remove { + color: #000000; + font-weight: bold; + margin-left: 4px; + opacity: 0.2; +} +.tm-tag .tm-tag-remove:hover { + color: #000000; + text-decoration: none; + opacity: 0.4; +} +.tm-tag.tm-tag-warning { + color: #945203; + background-color: #f2c889; + border-color: #f0a12f; +} +.tm-tag.tm-tag-error { + color: #84212e; + background-color: #e69ca6; + border-color: #d24a5d; +} +.tm-tag.tm-tag-success { + color: #638421; + background-color: #cde69c; + border-color: #a5d24a; +} +.tm-tag.tm-tag-info { + color: #4594b5; + background-color: #c5eefa; + border-color: #5dc8f7; +} +.tm-tag.tm-tag-inverse { + color: #cccccc; + background-color: #555555; + border-color: #333333; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2) inset; +} +.tm-tag.tm-tag-inverse .tm-tag-remove { + color: #ffffff; +} +.tm-tag.tm-tag-large { + font-size: 16.25px; + border-radius: 4px; + padding: 11px 7px; +} +.tm-tag.tm-tag-small { + font-size: 11.049999999999999px; + border-radius: 3px; + padding: 2px 4px; +} +.tm-tag.tm-tag-mini { + font-size: 9.75px; + border-radius: 2px; + padding: 0px 2px; +} +.tm-tag.tm-tag-plain { + color: #333333; + box-shadow: none; + background: none; + border: none; +} +.tm-tag.tm-tag-disabled { + color: #aaaaaa; + background-color: #e6e6e6; + border-color: #cccccc; + box-shadow: none; +} +.tm-tag.tm-tag-disabled .tm-tag-remove { + display: none; +} +input[type="text"].tm-input { + margin-bottom: 5px; + vertical-align: middle !important; +} +.control-group.tm-group { + margin-bottom: 5px; +} +.form-horizontal .control-group.tm-group { + margin-bottom: 15px; +} \ No newline at end of file From e4f10cab4213facd47f8049ccbba002d0072b449 Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Wed, 30 Dec 2015 19:24:40 +0100 Subject: [PATCH 05/13] :scissors: useless initializers --- config/initializers/browser_id.rb | 6 ------ config/initializers/haml_assets.rb | 1 - 2 files changed, 7 deletions(-) delete mode 100644 config/initializers/browser_id.rb delete mode 100644 config/initializers/haml_assets.rb diff --git a/config/initializers/browser_id.rb b/config/initializers/browser_id.rb deleted file mode 100644 index 0fdd8ac..0000000 --- a/config/initializers/browser_id.rb +++ /dev/null @@ -1,6 +0,0 @@ -Devise.setup do |config| - config.warden do |manager| - # manager.default_strategies(:scope => :user).unshift :browserid_authenticatable - end - # config.browserid_url = 'login.persona.org' -end diff --git a/config/initializers/haml_assets.rb b/config/initializers/haml_assets.rb deleted file mode 100644 index 598a0c8..0000000 --- a/config/initializers/haml_assets.rb +++ /dev/null @@ -1 +0,0 @@ -# Rails.application.assets.register_engine '.haml', Tilt::HamlTemplate From 223e04096043d581b68919443649bd6570cb3125 Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Wed, 30 Dec 2015 19:33:27 +0100 Subject: [PATCH 06/13] :fire: rest-client from dependencies (currently not used) --- Gemfile | 1 - Gemfile.lock | 5 ----- 2 files changed, 6 deletions(-) diff --git a/Gemfile b/Gemfile index 49e356b..6295495 100644 --- a/Gemfile +++ b/Gemfile @@ -23,7 +23,6 @@ gem 'kaminari' gem "haml-rails" gem "simple_form", ">= 3.0.0" gem "awesome_print" -gem "rest-client" gem 'memcachier' gem 'rollbar' gem 'travis-lint' diff --git a/Gemfile.lock b/Gemfile.lock index 3635d1c..88b3096 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -194,7 +194,6 @@ GEM minitest (5.8.3) multi_json (1.11.2) multipart-post (2.0.0) - netrc (0.10.2) ngannotate-rails (1.0.3) execjs rails (>= 3.1) @@ -265,9 +264,6 @@ GEM rdiscount (2.1.7.1) responders (2.0.2) railties (>= 4.2.0.alpha, < 5) - rest-client (1.7.2) - mime-types (>= 1.16, < 3.0) - netrc (~> 0.7) rollbar (1.3.2) multi_json (~> 1.3) rspec-collection_matchers (1.1.2) @@ -406,7 +402,6 @@ DEPENDENCIES rake rdiscount responders (~> 2.0) - rest-client rollbar rspec-rails (~> 2.14) rubocop From 51355ab05cae346cab67424f26ec5c9a4bf3b0bf Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Wed, 30 Dec 2015 20:06:26 +0100 Subject: [PATCH 07/13] Report layout: use styles from main layout --- app/views/layouts/report.html.haml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/layouts/report.html.haml b/app/views/layouts/report.html.haml index 1fc9520..6789aa3 100644 --- a/app/views/layouts/report.html.haml +++ b/app/views/layouts/report.html.haml @@ -6,8 +6,8 @@ %meta{name: "viewport", content: "width=device-width, initial-scale=1.0"} %title =t(".report_title") - = stylesheet_link_tag "//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css" - = stylesheet_link_tag "application", :media => "all" + = stylesheet_link_tag "libs", media: "all" + = stylesheet_link_tag "application", media: "all" %link{href: "/favicon.ico", rel: "shortcut icon"} %body From 9c6a711fde2ae38da956f0205b3e1aad5b70bbc0 Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Wed, 30 Dec 2015 20:27:04 +0100 Subject: [PATCH 08/13] use quiet_assets for development => cleaner log (closes #68) --- Gemfile | 1 + Gemfile.lock | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Gemfile b/Gemfile index 6295495..274b404 100644 --- a/Gemfile +++ b/Gemfile @@ -51,6 +51,7 @@ group :development do gem "haml-lint" gem 'web-console', '~> 2.0' gem "rails-erd" + gem "quiet_assets" end group :development, :test do diff --git a/Gemfile.lock b/Gemfile.lock index 88b3096..0173fb6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -213,6 +213,8 @@ GEM prawn-table (0.2.1) pundit (0.3.0) activesupport (>= 3.0.0) + quiet_assets (1.1.0) + railties (>= 3.1, < 5.0) rack (1.6.4) rack-test (0.6.3) rack (>= 1.0) @@ -395,6 +397,7 @@ DEPENDENCIES prawn prawn-table pundit + quiet_assets rails (~> 4.2) rails-erd rails-i18n From c32e9b018e47c36621b02b0f30f0329faa2e2df1 Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Wed, 30 Dec 2015 20:48:03 +0100 Subject: [PATCH 09/13] - Remove rails-erd dependency - Little Readme update: svg badges, rearrange sections, remove deprecated Entity-Relationship diagram --- Gemfile | 1 - Gemfile.lock | 8 -------- README.md | 37 +++++++++++++------------------------ erd.png | Bin 142637 -> 0 bytes 4 files changed, 13 insertions(+), 33 deletions(-) delete mode 100644 erd.png diff --git a/Gemfile b/Gemfile index 274b404..49165d3 100644 --- a/Gemfile +++ b/Gemfile @@ -50,7 +50,6 @@ group :development do gem "rubocop" gem "haml-lint" gem 'web-console', '~> 2.0' - gem "rails-erd" gem "quiet_assets" end diff --git a/Gemfile.lock b/Gemfile.lock index 0173fb6..55c1aed 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -86,7 +86,6 @@ GEM rack (>= 1.0.0) rack-test (>= 0.5.4) xpath (~> 2.0) - choice (0.1.7) chronic (0.10.2) coderay (1.1.0) coffee-rails (4.1.0) @@ -235,11 +234,6 @@ GEM activesupport (>= 4.2.0.beta, < 5.0) nokogiri (~> 1.6.0) rails-deprecated_sanitizer (>= 1.0.1) - rails-erd (1.1.0) - activerecord (>= 3.0) - activesupport (>= 3.0) - choice (~> 0.1.6) - ruby-graphviz (~> 1.0.4) rails-html-sanitizer (1.0.2) loofah (~> 2.0) rails-i18n (4.0.3) @@ -289,7 +283,6 @@ GEM powerpack (~> 0.0.6) rainbow (>= 1.99.1, < 3.0) ruby-progressbar (~> 1.4) - ruby-graphviz (1.0.9) ruby-progressbar (1.7.1) ruby_parser (3.1.3) sexp_processor (~> 4.1) @@ -399,7 +392,6 @@ DEPENDENCIES pundit quiet_assets rails (~> 4.2) - rails-erd rails-i18n rails_12factor rake diff --git a/README.md b/README.md index 1dcdbf4..b4ed2f4 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,9 @@ -TimeOverflow -============ +# TimeOverflow -[![Build Status](https://travis-ci.org/coopdevs/timeoverflow.png)](https://travis-ci.org/coopdevs/timeoverflow) -[![Code Climate](https://codeclimate.com/github/timeoverflow/timeoverflow.png)](https://codeclimate.com/github/timeoverflow/timeoverflow) +[![Build Status](https://travis-ci.org/coopdevs/timeoverflow.svg)](https://travis-ci.org/coopdevs/timeoverflow) +[![Code Climate](https://codeclimate.com/github/timeoverflow/timeoverflow/badges/gpa.svg)](https://codeclimate.com/github/timeoverflow/timeoverflow) -Sistema de Banco de Tiempo. +:bank: :hourglass: Sistema de Banco de Tiempo. Mira la nueva página de TimeOverflow: @@ -14,13 +13,14 @@ que hacen uso de él y está preparado para poder albergar varios Bancos de Tiem con tres niveles de privilegios: superadmin, admin (solo gestiona un Banco) y miembros de un Banco. TimeOverflow está dividido en 2 grandes bloques: + * **Sistema de gestión** * **Red social y banca on-line para los usuarios** -*NOTA: Un Banco de Tiempo físico puede funcionar solo con el bloque de gestión, podría ocurrir, por ejemplo, que la inmensa* -*mayoria de sus miembros no usen Internet y podrían querer funcionar solo con listados, cheques y una oficina de gestión* +> **NOTA** Un Banco de Tiempo físico puede funcionar solo con el bloque de gestión, podría ocurrir, por ejemplo, que la inmensa mayoria de sus miembros no usen Internet y podrían querer funcionar solo con listados, cheques y una oficina de gestión. ## Sistema de gestión + Los Bancos de Tiempo físicos (a los que principalmente se enfoca TimeOverflow) a menudo funcionan sin internet, se realizan unos listados de servicios y de miembros y se pagan las horas con talones que finalmente se ingresan en la oficina, por tanto el sistema de gestión nos permite gestionar los miembros y sus servicios, sacar listados y llevar la contabilidad. También @@ -28,25 +28,22 @@ es importante que los gestores del Banco (admin), tengan información útil sobr (por ejemplo, estadísticas sobre usuarios poco activos, gestión de incidencias, equilibrio de las cuentas, etc) ## Red social y banca on-line + La red social facilita a los miembros encontrarse y conocerse fuera de los eventos programados por el Banco de Tiempo, así como poder publicar anuncios de ofertas/demandas explicados en detalle. Por otro lado los miembros pueden pagarse los servicios de manera virtual para ahorrarse el paso por la oficina del Banco de Tiempo y también tienen la posibilidad de consultar el extracto de su cuenta. +## Notas para desarrollo -ERD -=== +Únete al equipo de colaboradores!! Gestionamos las tareas en Redbooth.com -Entity-relation diagram written using +Si quieres probar la plataforma en local, necesitas PostgreSQL y ruby en sus últimas versiones. - bundle exec rake erd filetype=png inheritance=false polymorphism=true indirect=false +Para más información visita la guia para empezar a desarrollar para timeoverflow en https://github.com/coopdevs/timeoverflow/wiki/Getting-started -![ERD](./erd.png) - - -License -======= +## License This is free and unencumbered software released into the public domain. @@ -72,11 +69,3 @@ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to - -Notas para desarrollo -===================== -Únete al equipo de colaboradores!! Gestionamos las tareas en Redbooth.com - -Si quieres probar la plataforma en local, necesitas PostgreSQL y ruby en sus últimas versiones. - -Para más información visita la guia para empezar a desarrollar para timeoverflow en https://github.com/coopdevs/timeoverflow/wiki/Getting-started diff --git a/erd.png b/erd.png deleted file mode 100644 index a6bf3eb61bbafcbd70a742fa466e9530d66343db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142637 zcmeEu^+Qy9_q8C(fW**9gOt(+IfS&Jgd(7nfPsXRz#t{c(5-|@BL+$-(&f;C5{e)o zIJD9rUGF~L>wVPcx$j@_{S78QbIvFBUTf{OPl%q51|>NQ`L12NC{Jjrp5C>KWO~=G z-6p8L@CwJQ-RiDgO1n;|9yh=eO(l~i8FYOLqFxRR&5$^xX8)vzL5Sy2f#qyvaUEks zK?8@0l@Yy{#-4q3EK`-%Ovek-3&I!*-g>0oNm{!cbnnxrOP`WI`wR>^E*H7B$*h!m zcwE_DjHfDXy~R&Nrl~|s8-0_6m+QAbKT!BTwY|)*qx!$zM7|PCLO<<|{^MIe$I`Qg zcWtKvrP=>wc){K^ik~0;{f9Nv8c>40T|Jb}vj5|hQUr}&;j;qP zq3i#0VQDtwNB;P|pSSPNav;sd$XcrI>%Ux>QpdY1KR^82T*2p$sVjBlHe3sSAM;-` z`PXO}$!-7g4vB5}%?z`M&*;Yo{v7r12~d+u{g-#hJ}?uhm9vy{>uCJTI)%C`?EaT| zd?G;{>VC{!B`NaH#s7N(V1f7k%RK(y0{^)a{%?W**=GNDg8w|~|KAhrf7RAr;hzKS zf0<`)x_B^fGOxO7pkpl6Z#%!=r3FW*4Qecsn<=qQycB=#n|z*#6n0~}xE4OiG2k^@ zng8Y1zCid#0kbx8hmaYiKrZjKOktN>dij*u_7nX~yb85Ez3lY~^zx@GsrT=*-tjjv z@v6!#pDCOB>@kQNsPt+aOtnp~O*c%t|p~J4SgJZx%NO5 zhSvSFTes6_oY7cR7yiv?f(6HNziXTL(uXra7QSm)jE@YiP*E$aUU=YDRd)R=Z9@br zlaB1yhfb{$jUP$}v{-#MmUBLhKk2NH|CzUx-qW?e&;5F@H}kI;mUb4Mc=gdeJpTjx z*wjfA$4UlsujyAMm9O`*23&odESW1-`MuNfuH)~f&)3<9Ua1*>c2KZ4=x1$MW@R>?m5uX?5mi>*i8io&Fv1{#Mcs57rVTH7gR4p`@Yb9djFE4B@rBX@N124_w&jNP}(z42h@`+Hr&ZE6M7=W>sz0c@O(&6Lmf`edGU zkARhUn`ZiI`Q}1P(0Yp4*!THHP7MjqcQWJ8kJiUFmUNp6wD}w^@>D3D(K38nxv@5$ zTDvh@ZNX3*i1CUW8;LqiTfw}ZLc|(TU7f> zu+ej8X+&|PpLwj~@6;+afIT4m>ceTvsNEZN$}HzB z=Zf>IF2j8m-t%g!eS_PK<8?=Bw!LObAM1E@^~>pS^(W5FN3zSQ2j;U$J6#Zr^M7>z zO5Qu({-1Ct&4;dOK+opq>DA=&fDINqE?IS0H%(TR1N+5)v!L~XD2Loizw2<-{>zEn z2_f30Zrx^531nQ(7Gs3C7S(W5!@JzYt%qAi+T^!ahZnal4;lIHXbI)qZNW?rxsMSN zT1X0dMCo)~?n#+cnep!$V-|bs+Mag2z>ME&bR}Z{5q`x6B2qT=$`vd9{shm|(TUW> zbC++O6J2}})_2b)UQtYl2fgBK#x{O~Il=Da_?26Fxpv*TrIjlKaw!R9C+3sPJU$=0 zW+b=bx4oD;kCEnUscR{T@*IFD;_Ok@&^j!(0!QWHBe!@9pQW>+i^}2ShaJaMH|oM< z1X?hCF84?;Vj7mRyfpew*0fyWv9y;hUGap4jk3OIWhc6?@!ci-6<>wofg5&gurf=t zeminSEto}@dqLKsLV>X@s-HGX@0BEqW{n)CyJT%LV`3=Gn}G9f+(?{}-#8*6mf(4< z!5x!#Pl;tCdwHN^wT@1=we2cgUe0305ySZRqRZ!|Um9())!*6T{u{U{mGjmV-@N}b zmeAT1+60OFH{l{U0wZ+&TrbY!q0NqfPRtEbp$MyE(1?-BFy*8Ox(Qbq0Ser&S*nUw3R}Dv{+Qy6e zu7z#9;9*|#xtCzoZ!}$*X_3M@7A%<9ATwLBxZuOzk=uJEZ&fDydIZOvzteA;1D!ZV z(kmhB?@+}n?n$zjf*CEx^+Eg`|MOATzDp@O&Odfp37d?|#U|CV5*^WUh&4Ti!|yVnnsKu#g^yuFcebdzQ!1O?dU$y|3$P3YjON%g7>P!~N5x1m=&edsm)& z%nmsFjeTWIz$voaNNsjVB+Dl>usViQh?PxbV8t#(T(YvUT)EWk(dSUSSzv(XTRhY{ z`>arT$vTBdSUwdac5jtwg@!Q+{_Yx(bCGyt*BsEiDGivyV*8V>kJQ*F?eVg^KPS?M zc6CR%V|sDD()MQ};J>r$79*a?(D>%9P3z{bkJhI=X`#g zk$I`k;7FBrJZ`d~OMa#Q$XJv01M<9XQ`b}dsh*EU_ZdBOrnwX=erMhCUV}(~0sk`fI}{`nBbn)&kS+l|0&tC~Zr6fLl?IIkps}84?`tnbl>oi#Oub_Unu1jO|QC zT8}42#+{G9K}B=hXkuy-n{tq2}vLQ zlN!O(F*w17B>)~ghaCiRzh1DO zITCk{hL>h)d$mz9u)w-8P?$~HFe+=1Hz`ZvjmWMQBh!nz?T*Rt z=A0LA4mn2}Z15J+5+bv6n9Q-3{ZT;{hIKr-i`J0&A|{P2eB3CivwDTP&fOst1jz$T zwTw|?46&xYd~cL>ACrZ*vw4%&^tpIiAM&UK6UU~0nh@0IO$5AjnbmQPMcM>OSUf*% zBixu^;p@q$&*lY5ALhoqK0Vh!`V^r!U)i7*)%KR$pl<2;gu1EDJL)>U>}OU%?C!=D z>J>!qu?JOexHKfvjvIQ-mU+yktPHg-d{Ogfh>82wT>mlgN?r+dG2h?PfQ<#n7rotE z%eH^Na_o4TN%1vHz`aqf&Ey;b&kxzOzII=HE2ZIo@EJWz)TJ(Ul?7!LW0f8rQ-)cL zu#h;-3oAP3WX{Q)VslIio{j9DNMZH%QXaPu8`|}=+t*G$`^u${mHqUX%&%=E`3b5{CfjjTd7sydxKDmGI&>*d- zYC5ig5?<@d1(;UB#4OW~UU=~>UE<*af;;K>Pol8Wl&q4%^o)XOlTRPrKQ#5K+uWJ{ zoyfa{AP@HRjNn_?SCsn?^Nty1rUIC&zTkeRy0^Vlz&SSNj&abg;yPOGx@Io>N9Y!p zmk$8RTM@`HOav060J%g))>|wb*pd7Ln@68^nNB^Jo}{oPy|ZQm@iy3C?^US?Oum>J5;=#A{2tslur80$)EGiQ09^)n&o zJWvXnis9qXM39up#a5`;&b7U)yq9c;cbt%LsZe6qSiK*6;%h~o1mUW+A zI`gjbzKn}Qur4koc=TPSU>&3n&c)q2I@={KTQ5_+FaWh0550)%?HVeuonapc58)ni z=Chl*lGka9`G>|#gR1rHv)6Fz|JGZ25Bk5c*j;o+(7fp975}`%zqOk4v9My=ogVf- zSL~00?s9>+MI2iG$IE|zo3}j{cKrF+Dr@aOb&bEt4hiT?w0iw~|67RikLOLZ>5l!* zZt^cO6d!1MaW{uV|K;imd13hYhqFC@+||#k6+8~|8VS9}&q(}-gqOxgCfNIm*QYW5 zPvZU8?^3x5?E)>lF$S)tmjx)!CeY;YCgi7W|AKKjHY_ zbE$U=)`m=QCiY*hP8$~A?!f&P43@@UE-?ePC=%5;RUMy`ukIaxms%KRPTioJ(nLi;NQv3vH=UGdz9?n+x)Hj z4xcz5S;fxw1|i<$8rki=l;l7?4ZW|mNe_p&m%5H0lzHy+`(btnfFEEjjWG`->E-dC zA8rf+a4A9o!FsA{V+Me@4hk}wg-L}$-cw4tnslGJFRux~2O@t&bt7}nOU&XIlvt~* z#7_NojBLnZ_n$i6p}@=K&o3Z;MQ0aI|xx8sn zcTWRZv=@z7ImlK)TPuT#-moTw)+259!$#AizmFKf2Z71hB}IUU>?95G2$6}$XSdp+ zFfopqip6(`@}e8#JY_&EqIRKrYk41Bl!mb0@vL+5Gv~kQNay}~;%pz>Bow^z@k>f3 z>17~Nwlp$vc%_upgD6La1NKI{Dtg@2ZfZ68t-nvrka{XJ)7zD^V)bi8&|@HypU%c# zJV2(ICWB)0=y$ekO_U&j)MAuxNA)GLBZFkF#0vX-S8tu z-4p-XooB(-mi#ke{v8N*5uXV;4iluLO;@u1?O82Q`HlSf2G-*52DX>INm}!&)(^cK zA5Zn8GBR^J`?fVlf=*^CzZPFUTh*6%rf*Z`%&B8%d#B&kkXK^VtHPuz*KbeTukze{C=sxqJ zMU+rBnY(Y$Z^uWLEur|cyGak|k9c)f2l{uI#a8B9rafPtK29OmU~^VAhCP|-ROg;9 zu?-NP!583M$pbcf`<=BmzjsoZ#NQC^Jx2)QRCknJm;Lr66Az?_sV~XB_bTCzu0qHp zJ?ru458r5efSBW@2EFMxJV#>6Nc(@!H@zZ6wbp&pIV*TRJysIb?qm>>GZH#JnmC%V z-mxW|tJqrZvn1e{sFG#fLM;pSi4^LsPGm;?h^7ejkd~{My|FUGj%Z@Y!O?h4*Ks9E zei@Zu=6=rJ6;CD*FdU_*kUQMGn!2+o(5kqz>7T**@|~<5vw}Ca$E8JNw@=KKnIKMI z6xPQK2GLI(Rt+$~OU>^(aB}5kn?jgn8FKzs;dELJCbf9NOI}l?^O04EXy7y)Ar*Mm z$m|#*a2JRu&XvgxhaXw!%iT<<0Vx`d2+2+WP{aN#Sf>0afGM@mVgZY1FflP4eYHbd z(?XRetJ=E%N|MABh=21nX~%Cb1l!!cP&^bWq;5&AE4h#XLa}zoFs1*@-7`8NYVzh- z0#0x}=FGLg{g;D1N9Q{G-1{6dFKA#Fx-IhVNd3<2d*AacaZTl@w2YQ8KUkT1pA3 z<5M8J; zend27vzoJ>yA0QeCMp<>HxU)3A%69ZY)&rPmor-_;q3EnK7T{y3m{WD zKYD*k%1r3q{N3a+5b+pljrZd)Zb&KOfn${?+gGXp_?@hjot=by*cFtM&?Qu)KZDLfnuk|q5|;QR|w_3}Yrarf-2w1Eg_ zNcPbCy3hJ|GC0&;+e<-;o7_4w3=fSj#;6S~LnY*X^6OI)bA zsbm@a`Zj4$R{Z%x(X5m)_K>=$;S?EDM43SXADS1d-aP!gsMoeY?9ei;OF1GwJ1QJ{ zJM>nA?>(GYeyUR`80AX`qucW=s>PkY)JRt!&9hCQud2~eSQ{~(mK^>1Y}vc-_asPb z<4E$RT&+-w);teVnm;4|O}!uimW=c17a9xEl~2Bhnz=Od&96e-RW82v*~&5m5g&6cKP2{QK|fZ-unA< z<+We-AW71ulH?oR>&q#gV>Qo`xa-`edtdbvN~%jPsMR-IqT&%===>u|Xr}oR2R43e zYhwIu*#96^8$-ZHZ$tZD|M|tg_A;-YB5daM{hyS7P4vHv^;WAU>F@9RyO1hjCzkUJN_GhwIjF_M>v%z(=YqGTZKe?uDrH(8+rF|4oqD#%NH%W5~=e*az<(2{KR zODcd@wP=l9-yTzWtdsm`1idWcf1h9cVpFuZ`&7^Ul*~In_1M2I60`-J;Qgpq2maWj zKhbd7A(*eTmM>y{1z*3+-G6Blzr2V1X`lvV?$Ale-?QI8ANuunf3n|S>7;))P}Q@z zX7%50_Lt>UK$f$yH|C!a|MMPl3xM*}%Cp5kY5v=CYQW{K8Oz1~%k5?J08wY)XGLbm zM%rIjajP)<4#$m&bSDU33HC^3E~u7DP8gBK_@bmPj>9MDVOI=BpLv7@g0WRJ#N38i zJeeqNsa!9~@l(S6dxNwyB22ly{M#`YUqt82Qnv*)QVBh~h!oLkbBYJfznBKCj$s?H zhh&INF`%j-kn_?OW@E<{2WOeM?>{<85ys z+XNZ^Qr;ZI(5rI=rlL~k@I63`Os}+xRju-PLt(~kx!|=lwj%E3knfvU&pv3Bx+<)G zx$P44W+t!h1-I*$vM|byYf!5c9$+uNs`&oo5gb&^j-CXl<<@)mo6xZ**M(m>AN(Vr z90SsBN9oZl1BWAK7f%Ow5F71Sir0*IBb#eL>DYatB-eK`p0arr3tGkwuey|B^WuTd z(dEK>n+3;j@5SMm%%!i-^vl@izurrvD-D$tg?$KKn}Ecg=uq?t544OC$@$puDi2WR zOWsjqs+n2m?EuCi;wBk#c>1MUgkJ{0r}??~eHWSqEbp9>B!g=ArPa@~zDyflpt!5- zY;O(s%eqf7$D6t|&jFGd-QcH)A4afKQVZ1QlNAk17B&~#f*1^qxmy)BrsmJ-6hqItIrM=*c6*DeTt zL)MSQ%7}J1S##yoix%Q7*N7vn;wt796~mEoJld+#s?C+ly+ZFuI|}Z;Cgni1fe9cv z*l$lCXRJ2++!Ek9NIY2=LN|O&f@2yYH>-*@&1s25?zz`4AZnvPJoSUhxYSTVx4D-H zhe~4qjmex$=@719?6W^2t4$6f?oB4U4$#^JkrV;zpSX&1x}Csa?i%38!@+%nn~fb9 z15sY_4}iTnSKGl#kxm_hqJDvRCPFV=NpeqLOY?0FFfj0#{?Z-*$qxIqu4MxdE z=xCirortPXZrmEr7ls@3j752cRejgW>$lHvqt*q#A5uMeK!6j^G$fGX7o14nT5~3* zpp-NqZ)l0M@pNE~3?vt94pxIlJvNid+2#J#MDSQYS8rdjmaRg( zGkcg!#ZMmV^4oE97L&kC&gJtaFeBE3Qq?pT{>Hli;__*IZ*^_+He-nOJ;OR5}1hkadK)I3V*RrZ-nyL)VRsH z=uMt_U&Y4oSx>phd_m{JsVSd`(Xct>KvNitluNE2i>wCUfQIhN&3E>Dj-&UY+;D-> zU3#_8s2mkZ-Xb0b@{8DczDygn!(+tO4SsMgGrC!cZ4Q$ZonG6Jj!Xf+%-XX){`qhBeHUkTop&t0Dn;uW&E% zjow#*yxnIt!Z8(G`56Of-*`tpd3Ghf-UCIn$S>iS1JM|eqgyk)+ca{ z?v~eNK7MuVP-BY7pmw-J;5M>HsW0v4uthlpT#FT>rrGECO1Wbu*<+yDqt+L%MN>dd z8Ks~qlACHbs)&cX6=Fbh$ zlt5s4G`7a)xiB}PQgUFB)09lD0o@nNWY(JkbZAJzmsg*}(89cL6U{&l!*N z8JBZY`#lLO2|;r04!stCCQivq;O43tv(OL&F`7G0T={5^RgN_K5})9$`J4DX105mAUTg@A9v>j=j-Al^L}jzBsR- za*Dw)dzuAO*%s^d?|y;b z3TM!#c|1pQfS2A;l%(9iE#8VESowR9!2ZdD32auJ%B*M4o_S@UT6229tiE`!GmSpl zG9>!6%OK&Z#;dc+st3Q+Y||U|KGscD(x-6gWB2*qp&u+nQJLj8cC*GE!bH7$K+sUV z``l|%CTa_p2XoyZb{^cEcJvEtv<&PC!KzCHE8pI;QL?x0WCf#yG*2L{!oC)t~!Yq0P1$ruZ!;q-=;u3vcYT<=NkWUgL-c4McHQc2w+tpv^S z*sT+D+FPZ6Vx(Tw^`;8hZyx)vIv9<5!?`e2xw(0LYhxt}k0v%c7C6qzVL0j%Pjl;h z;;`^ihyWwuK5j@)7K*=Hga|`>tUKXg;Nx>D5%Z^0QCcHbLX5-Y8+CM%!%usZ2?cn! zTpI3YY`5`6xJhi8{&Vi+;SWGb6c@l31nD3-MBT*-F-UL^_zf5>9yV? z*V3I8PdC{SwgaCZm>^tD7zEVstK)C5}@S6Md8v z9iU{Ol|P(>*E?0TFQ;Dy=kO*+;C19M>eA9%cE>W?=c_F9k`H&O98~#`p-CD~E{|F6 zv6eU*KME;Yyv&n}WBA#V$ zAb367{lB=1e-Tpfa_HB{Qzo9iRRh42^%~TR)y*cs2EuOcx3#36ESIIDoDa}u@Z0qE zPheg-ZT~Bm`Ee5tL2yfbr3vOCpj-QcpR{ypX&VeG+zBml@+nm9fkmUwJDGzWMoEgb zd>A8Nft4^Y*Q}gzCUmmiRip3$pyWvhqn@;qD7^J^-I@8J?fyT@Z2pfBA*c{D4V8gJ zJc+{2=3;xb-;Vg?^Ou2$b`NJzPLanP8z%fhlfDEY*ZHvLgJ!FD6#Otbi11htrIRd+ z1Kt_PmtcArshQ5tK`FNu3KOht$q3elf&tB5N|w7ilym|*6aWHU6Tuj#f}mOecua_B ziroZqL@o3@UpWy%g39>2dfwZ*>vMcTX;Zgjak&3EcfXaS(!Tw!763kp_qq_aEjm*cw;d zAp@(9nKaBII(Rc9)(x@rWO7HxnQj7M~5NkIS74IpFE zP{~fDMZ3J=o*=9(gGP;mqjL}g#eMw`D$;#UwUo7p@(j%3rTF!U_M5wccNxA(ToiuU zN=uDEcmnLw@L>tjjEl6>2~fM^R6|+CfLhh(W9{mJYjV!Oisl0V z3N&;7#CILs3>W~71(c0K$zjaR6^-Hh>DHGfnEx?Qeo#hz5epNIaVl(!(&S z6;@JT6{++Oxxj@)rCbV#ssjA1-(Fiz6@^jORRn%@Vs9DfvKb|aHBPM~Qh}x;77^+! zyUjc(5yNZ`BE@=`eIs=|8c>d7JTG{IP=MG&HS#0_^4Q&bxFah;BvvJ&&MQ3~s1#Vt z(Xfs%AwQPqFnE1Un-^Ve)NkOR~1MEvae3$5*kh$})E zu-^}xHp&UxrEj(jY=ImBnBOCX;ykFLj#Mll#V>@-3F@*}fWsK$Qo{E;B-z=ZP$RWO+r%0>{l zIUYpsi>h$`VS4?7EA9j125S@{*+_8jBL%LUI(W3G%5`63c=CqIpPA$Q-J2=yBB6t? zk=dr5c>h?p2M&2g4=#ZvgIT7hXyC>qoL{Lr?`sA=d{b_ZlifqpAL6X_B;qsZ3N@OP z=XycR#!ED^oq5q|PbhtEalJ!L!jXM#ftj=*a`6mSbP_v5*b1!iKtPoTjcX5|1Z7@X zp-!!`7^di{`34a8Mo*Vh5O;L2g3p+>i6|N@jtFTUXAMW2V5pxeX-8t}szwSLz278n zz+tGb@HxmUl09jWf|?scu4gz!P2y`HrqKy)MlwreToM?X_${p~okBx%0ROey zcVJ7fXr+mhni5K}sb{TGwh;_d6VA`<* zQEfU9KEBF*Sw$}Mey~!4sF{^cHUGDF*M8!Uzhk5(6ca$FMqCxtJR7z(c&!Ybr$`fT(5N%W;502T7 zCIMLt!_MD+9m2*4QSG{>m#z5P*U9?97H$a^0Lye7BRL{PArfyboF70X4*926~c_UWHZYOi<1y3)rH0Yz~>Cgx#<=&H!rs{)+mLX@*%74~kAHl4PTtXeFn2Qy<6t{kA zT4o2d2UIXu>r1G%f7MIAlx2NX*p02@vi}~^5LIl*H(1m|wM+q-VDblvh4dD(iH zL0}2Iuw(K|p=t^wqaajCaX?jRc5!R2^}R1B(V(Gc-JeO-0Ivk{ir~c!eovyiJOA`kaJ*$ zf!v$E<%^6Z=RjUFI(@BDsdacwm~n}`SR^~<$!}ay$rEVJ=qD_coS$$LqYU77 z5pe8a7g*ar0{~I~3kxC)P6I$GcA6?^-0Ski3=%s5j?q3?ead~JB^RXUYIbL?;yn7H zG|mi_zh_QJEnR-O=fDs2Srv&{XzE!(Ix3KcD0A5LNXJy8>k8C)m6(My_KY8nLY&p1 zw@5j?o%$0}jbD@FS(HD4zP-P`48(hGu1HE|aW0r?Dd*gg36%?(D57pCZvp?dLzOja8)b^E9y@`~#%}0>}BBFI0 zp1TxR62awxs76b0iDIo_dm?hC>VsTpwJI_>vZGvAYfbIH?=|Id$J>;WC@3bHVIcz! z`(ozNb?Du?GNbf5B3Fa0P%dERvcXh=d14O+Mb@HLky*00Q34Z>Ix%uy(Ehb^#irol zn}mbMTt=EEC^f3Fy4;7VKqvA)lqrAXJ1RIfm;>AA10$y+4q<3xis0e0cA>;>cTlMq z)J=+cPI32kJm!be-CW`U;d1Gt|2Az1Pa8Gc;Im9HqUZYXHx$-C-AqA6&$05Go&^ zxZpx|^wAUbf|5q}tPB>^yCpJj#;(MExvy)#M9a5`u~O!$Ts$xzH58h*tV5ku&6%=I zhNK*D`+*zH5?}70Yx)Z8Y`^QLf(Q>*OCRROy;N+>d&C38DJ;{VEvVyt#59}|t{bHV zkzC7Qf>Ukd!3@6xcZuK>cdjLboExnUOj6{&U*rQ;1C1;WE4$LvODC*7oR^8L2@FQg zlUh`XRg@HF93@fr65TIDrf2DD$H>(b@XZ>)64kC^wC>D%sSe_XI40{kybBK+-Q`~z{Y_gt zbN^<>=ezv&JG9X?^a3}d)pevQ2GCRJ0@T%0h@Az8=vre}Rr>L+qWcFNu+O))X8oel z^KO$;Q_;VwL8iLKY58>Itp)_7}v*KOiX&qeu|9sredMvzu%LM%Nu*y$;c z$QGBR-pDQY)`+C*C~PpT_$_KYYTTKUd5E(Wy=%ToyP;~`<$hL?C|`R&3IF3K>a?rq zoOuPl9rMx*mU?1~^rpsHmvr=CKLs0zFaJOn2L$Ext#m)Tqg2jyGheME1oRHsv0Ez9 zJW`(lr_w#EU!EOQ)Z?-O|4P^p6OI@5bWvg-WgDyViRP;-QGS~ToEcYD?s`4tI z4RwFY4zx4%JY|$jxSsi#8kIZ=F=hcRD8pn)Nkg@_2WhaGfpj3fw_Ax2F;bwKWs0F` z9&eNxc>@V{WyrIYTL18Vs6E`qZFEW`(Au0LLG2koo4U&^7nzAB?q=C)SJY&4XqYW; zOkR&yl+1tn?vUCo%Ae{JYuk?B_^0S2Kim#!WGF5k?ri;6N6B;}rWub@L`jn5Dc1@` zSW!IPRR@fkwX(-1Oo}DW@}9~I1|w4m!`o{8+JQIgQ(KgE3$KUs$$SlM6v3F6M0T^` zO`V&B9HavqO)Q@P=tu24$Z0{?9&%ehfw!J7Afw}-U^k%1+FRr~Ft^F`{LC{m;(*vY z?+=G~j>d1EdSYO3AjAu&9iR|q`(dWi91pl^-Q!PIbD@KM1<}y8uZndTQi62yJx)bHGg16N8z#aV=@NPllv8P-?ef-9T;(f1_tS1k|}x2~rj4rwCf zgp%)OT3}+E5bjCBg64! z2LkPP2?Y)u@k~9B5Owj9qvIV@wm7GKdn&E`#n@FyPO3kVKbsxqI>iv?Wj~2~@GCBO zbsX_%mQcU@kD|)UPpQx7)|Ic5RJoMOpHcj^ zHgi7^;{JQ5LZ*LcmL45Rlg|matLAax%KPbCH92lvy;oNW80QFwkZAVtYwgOql`cG- z9KOG(5K6;9BaWpcUqSfG6BV%Ea-cwU^X&m_uR^$ytp2vp833GyW74sY#+gIGBeO_7 zx)vHl^b5?M-WKtR$Qn~+7;+wNz=2^Y`vXCC11*d_YtofKw;l-Q_ut{)p9o{y3I_u}d?>>*^X1V;oq1RA=QE7Wpz4qVFo zL)Qu?;cmY6^JLe*eKTn~SbOuUr7wHj-?zK^Ey73fl48 znzSHfKg%TtL)ev*Wr`r^&LKU%;-V`Yw?Q)e%z%}&iL!~Nh@q)s8#bRy>IZ#gZ7quB z*r6|J>JT89S@>6b4YkNI?EUOI(k=@W>|?6{l}hFeW;z*Gz|({O$$H8_2)OOGX54^`aT`5__0T}%7b z@lGMmA(YnD2h?{_Hr^A6rvXo+!A7HYfaDQkYgi^C9edGbXo3UDNPf8*dH%xVRNu0p zBy#H5DBGHwME>oayQ!qP?2(irBkz!1IiOWBpT-I{jWnxKZLv!FRdHXi25F>+Ni4${ ziTk3ROd^l0fG?+>`U7IXsL+`a= zh-aE824mhLQf%6D@y;nLX_2JT1mJl-#%^6_Ggn(GJh|rxuWBVoIuH_Zql-|9_zDDt zd8%A2XcTC^#X36z^~o_t@5((jJ%6vk`JjK1)&)eUu2$U4LCEXy;4~avndoA=^yF%x zk!~qCI zVuKcF0*IsgkY>rv&wfZJ@Sr;8>al-fC*ZJc#iHk>8txe6wFs{KiHxuYYQv<^_JA}O z2=99pdSYrR#VEt6?XV*;yUEh`iis#|&{WLT)J&4)Nh(xyAXqDGylZ8*b7&PROfCQT zgv$5qi*PK==u^N8UfDx2A3+@ztQV{f^^vRe{!L48MRI#o73u_vz`?aPS3bBU>Z_y{ zZgRnYPlgBCcsr@NrKwzcD)hbiaTU^YU{eh2Om}k{NW=>yUq8Ls9wu%)y<|9)j8CMI zBD+$Hi0%VhsZy*Q&Pdbe=9gB9BAOPo*cw-40>uz-cVthq{N)NOm4~(aV!UdDJQgl4 zP4`KWUn}Helf?1AkEfnyR^}#n2fJeqVD&nwGYETyqs;ChdqGHv|LXBR2m>g4zB}kt^=&ryrfxkHEM0KzRIQeEyj)znC`LM#JD+e2PpVQUL_t6i#kT9MHwcl;%GSvsozh{`cjg)u za(7_fqK0VAtq(GpeoK|?Vs<^D&WXYuG$`qv%&C(LaSx7a{t`G>FAY@Hq`BlVGl$#v zFg+t1lyw$`f4I0!c)mWUks-R4h8dP)3k<(W~7ycKunj1{;DT{zTT zB zk-~w5{eP}3ct1~WdL`K{LpnH!sY_47Z6>;s9uzuE1H(r%??Gz|<4By5c#_S?=fqv9P z6Qx0dQI%76IdNUr0_BWV!r!mz8T*uBOu9mLJmwZ%^AYh7_p59PAei^@MlTG_D?W~$ zmx`;V8zoV|P>ksoFw;ltET-1a>v?*CX#=D-MpWf0m-!C;6a)(2+HoL=vdXqIgZqS#M6u3UwwC`T7( zAIoJgpza8ZK8wel5wv^NZ4%;Px$5v#1|BGblvsH9yaktc8O@w36IC_B^q^PKbD@-N z(qob1O5-X=L@Np3fs zB7gU6#zXAhEuJ*mTVdSvJe@!699%VnOjT%2^UBdDbE9aEN_eDD>n=WG|W%$Jb^jZxBxMw$Gr@mwTZY&ny`r`0+zS5Q}QA zZLRII{i)OjDAN-?*<)tU=7LX-~TrzdE-WXTm8Xr1tXhT^#&`h9Y zRk$9%&{`|E=k@caGY7f@7?y)dT7teQdr9qc7*=uWjZ%X8Q)JzTq7S8CjbCZw3!Aw$ zZ3>aaOj97Pz>V)5r(GgXIPpb$gFMU@{i1CrdgPVSyW0SAmp&8yw2M5#K!e;PjI{=$lTe)W;olFNwQ8ikV+kz z;2+*?deE+Ei80C|yV_;rP)Jc+ZmFqX+%i+B+fy^zu}(?tg-PdA2Jy%-(r=&d z$^B4@YcxwhsoJOF|92qGv4lu-Nr%FSB(N>$?WpD?j zmy@7(KGYJut%ViUMs!alJD&E$3>F-oW76CCcslRLePOmW=?3}{r-@V5j-7vhX4v$v z))Gb(Gl$7OkJmDqY3y`~orHpE=A49qH}GoTn`?>h!M(+=R2F2VpND0gU2*}fs&Ylk zb8c-^Q_i=f;`)yZexd@jR95Z2Uka4BcePQV3 z6ZNd}k-r}OWU~*UNqDpGEWhw{UU&>(6K7~m!?W14hqC=^R=~C}BERv3Dg{Jdb=sxS zgb{v`xR#?!!+(oodWbLFcIln8*pDXH=+tZ9Cps*_ublMU_fYc5t}1}Z@!6Eze zjv>^0=}%(8GhGYfx8Bt^&MA+RT(po!Dh+(8BjCFGXuFMP@Q9znSnqar?$ReD$AOL7 z*y6}vTT1B&t&OIB#1HI?t!HqdSpi2f1BdtAYwRZYc$+PbKLs%WZ{Aze zFW^-qdsxgpC{`U*QLK#ZMmpm!-@6oVjL8L?bUHlT$})s6-lqBM(XTyYg?6Wt++mX+ zy<2nl%~i1Wb=L=cLLSYa^4P#_L&CbD4o`1z#Rt@+g-Mb5z#XVbQ$Rr^wA=J6@cM8#*~(UXd|tDZ9=JVHMGsiYQoxS-ZCe|+AiED>D@=PV2tn*LPnS<`2mec z3KTEG?I`Yyx9A0UoPwU$T^*}{KB(c>Ea~qc?yY>-t3iNGw{yjShV#I+p=%>G6M`P?HDJCaXSOQ4}Z z$0c~8*#$agiO5s)nDY7A7Tm-CKA1%hk2RSF;m@*n6uENf7+# zWtL*2jf58}7v2cXGspF;Ro}Ho+OBatpfObmck;I1C;RWdYDH+XYzIf8dS&Xhw`@sX zlMr^lf^%OIslE^%-q8uw*N0~rnXV3V?l8ac8GE`UB(!xR=i`;>O>lWhs&G}_V+TrA z*?kncu~r?Lky=VMVfd}IWja7@leEr$U}>y#kMM|>bG6}?+q*uXzqRmSC62zgK+QXZ zBCMA_0ViR{rGN>l-tp?HVT{D&OIR!3=T+<9{H2ykuF&P)hIZa_2!U%#^@R%Rk5+){ zh{k@XEHM>>t7{EQ0iH0A$ert_RjQ7&K&$qb^K(gF@X`0_+40b&Y(I5pQWl;dMNG`m z5R{-oCBxeaRilF0pREvl8x@G_)Pvic49ixN;8>au|B5Anlge_wo{8Gq=@u)ecPxRS zN$P@W_g+?eG-5-;2Iqqzq4(f`z*rGjmPzm~E&J08kRlSs8%kb#0!n{lsF?;VeI-~NxI6Q}G= z$Y~~fWM!ZBC{$Jx_#N-A`@TPq&;9v*|GTfp zeLY;~dmXRic&@|l*)J{%*0o=`h%ck#gyZ~^vnQ;SKYsTV`;r&wxfK{^SM1=q=M?)6ANdKXK}5 zqkLSN0L$;#fA&{A0Zxlqj|PxWogW?g9PcjZiN^GA?LThrYE%dIX>#s1Q`jQ7XL2u( z8@^6H3jK%_(kg~voq`!NdqL`pE7@%d$6JY}dy!HZ0dpCB+qdUMmCj}OS}lBlLDH0) zZs8ad_=}=5JbNi`vpyUFyBf9ny-|mv&vr(%9wz1sl7NRSRr*WrCS<)8>9H*v+G^BE z>ah*6bVdSVmTaYWW+%k-d5r4rzZV~w7Zu_42H2f*W#+q(GdGCM6rTsWt21HrbtXaz$ee&1l5%g!=b|%+N zFw0v}@Gv(CO6!3;wBQL{yhq*JN$t`eELlcMhz_P3u?5y6IDSrgxZFJC@SIH)>C)MZ zixX3N`9b^^tLbc`*eBkMXtR1GG%$ncvNVHrKNt0adsZRc(tuB6`C8j$L27mm*3NE~ zwh0J5WK6UTF*CiLv)S9YyuE)x0xY^jo^ES8Nqx3hi#4&Gh;G|_Q$gwpE7r#k-hS#w zqGtlV=+d+MP>rVPA7#6a8bE#MVG`vbdkloYBI4(Ga{l-G_GZ()8396v9I@XE_ZT^- zX*{x|=trcbsafYF_TfNyVSB&-x1kT6C}nNat+Pl2feAjt-Ez{d6V_*Y(Bz)QlhN0t z(re3ZCfFzaXdD+75#I`=rK zuL;$^)huy{cRnNh{(|VMwKGlkUJM(eZEjxdTuR-~AeZ~8ccY&F)zfUM=^t*3DwGOO zket5KgpiqvQZ;kWe5yN-P@5`kb203v=eddp=%8CgKIN`kJ`a-z;#^9_C^=lbQXc&HW6)u8FSO1>x!DP@TXP)FvJ*_{70Eqgg4ztNG)T;Ii@N5 zEDD>{0QnKJ8lqPP3sSH@Q>sdGTg@bBF>(s%Qr!-SwxV zyBOwm&tFKG`x;?{F+V+DwK`twqJe*Y^SO53N9HaE3XVn&YSdHuo9-zCVZA{{Tq8lZ zCt(s`ddqPqu@*B$TRuJIakBX^h^x z8b{df1?`(WL|qrdJ*K11YFpx!_uewysjsNc1gf|G>W8a%PML~}^>h)WOmv0z*Pqya z!!A8aav{y*e0yHiSh@SWZMcinmF+t!8NW&L5?l?YS}5?8GqvkQuH4MZFg7=~VRe}{ z0)qTk=VPaKNvzeKu1D-BRTY`VD8R{5Din{l4fcniNlURr2jyz3gJ^ z!pD6o`}qW8o;y+>dmwqHMHc8QFInbj&yc>Vr%CRy39VtIecSNRhjK5+vaB*!{fGk$DPJ>(N2i6u+?HIs!P=4L$we8B*>q|_xC-h?U5B!b(kn_{+Xc75;570kWF@mInros7G?Wx3V{K^5f zh5(weiSQl%Z}1h0kdl8uAzx7OL8a-ZviEWc=1HjQthnx($=(J}+)r)dhq!|)$r{EkuyeasYX zn*c^AvMDzbXsSF8$LVVHLtjR_gtOB1z9)3s25E9XYiApokgV*EFz@lLy!UP_!6eC4 zx@}gNZ#IrQN@%xa=^3KBm7?O#wh5y$$qMUpvJ@+IdsaYY|8^IY7NLk0 zsp&arl~Yf(Vfj>@r$(ldLoTcPFKAJb4R?whq4V?Vx-R~p-JG8bw3*3p^Vc-u->5L- z-+U(99`51scAa8cj{YDz`gser=DV`>i5suxn^C`*H9veuyyEh!^ZX0GuRO0-74OQ- z|Ka>dhSrO+1Q0V}mVsTbl)=T^=V}A^u~c#6CF{eShi{vFc(^RCacAj@wg7F)-W401 z3c|ka+76p0v=uZJ*Zr^Rq?xqZU)9HNT2N8sDA}71B~O^ugKV=_pgS1lW+7%4Pop@oYgu{#Nij~haSE5>tUDqS&#$JlG&Fg+p z_pEsMy7(A1Ogz2;fBC4BBIQBcR6deKX3J)?n?}40c z`x3>^D^mP3>S+7#Z3Jh7(CwzDa(ttngw?V?XUC(u5-W+x=RTW`zK6Kb)*g8vQfMT~ zxR{7KCqAf)kSR<_-k8g!`H#(ti7$9)=lqTT<=hDFq?(T9{VWS4VPoygiA_aeMvdmo zyNfsJwoeooDaoF-Biv&^Uit@*uNTpJmMQyEjY8Yn?Za*Zk8RtCHsx6(QKuO;U<9hb zn6>%YO^MO0Kg_6o3N)K7diuSZEpIz3s`$FF>{xfL8kyWw(CmVmU?U_AbKm5u9+W*G zR4hEl_7rW`xYcu-rF|lxYUz@AK2yHIb}u{s14+#=4vR)y?mwwp6dyKA=5DZ|WaI1$ z{h4A2&$u+1=+YWnhn`mO`SSjeTc_F@mKl)=%`ryV#6`PC-s!n0O?cpSc1x5|r?4@` zCk^YjnOV{~=K`Hr+>imK!;F@(UXh-5brT{cKW!Pdo76@TEV7WJJ@?vX<4+qG4V}wd z&d<-Rdt?$B$mR6fUFlevIhxE@7mOeyl6 zFT8CVm#3QV@$F}x8!UL-XEQVzN(QH_{~^1Bd$@vXHL1Sw?sjB&&nH~6GT)+l<=fxD zZOOQ6m#Q6EDiu0Up8U#9zr8Yn3TdJA+gUKqX5ZyWsc}5=ixOmO#h;6{X$tDN4~j`w;6l1Q?{9MXD>uiz ze=^Z)_)9iH0Y%QudqDZ65v1Tno!#zjT>|G*3rj?5WOb zqg@QSoBn9V%VM`EWd%>R5(C?dTI1I`zx)fED2>4R@m4F^x8rbglkca%d4p?DQ|m@D zg(z>3HlDwr@4nA&nrx3x`LvYjrXh7+a58U%?3YpS(6B0Gw8yWhYt20XB9SWZ!JTvY z8btzkM$)CGd0Lk)Zv#KoDa z@X)`(6GkT8PcDa>+)p#H(rpG0lLm%u5Y3#VuTulMyKm!6Y8schaaDk_mgAB|M=y(5+4OZTH@xsi(=i%e0sO!?WO$KtH0)5&i?eZMST`z~hD}A@%sTFMpv)8C) zWTs25uzy9`Q`g^AQL5sFT5%W+%B0pLv#ozyrS#-*+iAlZI9JlBen~~(7&`%V5S%EK z+T%2y9?#r1Z;6=B$G2@4UkUh*%~-0+-(lzDVedQ?jVXF&`XM~Wi$;|L8zp3hcm@!~ zq_IlkWy-hc3QqM4_{-%$#0uRjPi807m595`H?KeE%Na8Vv}s@Dw+GD+*)avA?60OF zUxw-jk#AMc{v|fqMGd7lpakkXURh0%2kBTNkJ=V9hfebShyi0MF4xJQ-Y~OuRtY0c z1F7H3Pv>?Q2=5T`&AW4&kp`+iznf}g?Z!JMp8j|Vs^~7&bUcl1^#S2e@WY28va6XS zWwP^G%B6K;6IBNMv>TXhTh z;8Lj$014gf5NXxs&C%ysrY-yO+_1^!c`p5TJtVkw_z}m$O$}_!`C--MiaiU>Dvr;% zFYr`EP%`fPuimT_RZt*-K99%~FMUAy1iA|j5YCcOD$zJ9Z@#*x0`=kCAMzJ7L!i5GyBQ=8~B^yo7z?`+<^4lUQZ+0C?@EJQ|m`uyb!H-NsWW=^BA#CTJvckT`R` z!49E3AO$Wd+PQx1MuF)b0e43Do5f1KL4w5O0Oi!aW1q#!m4f=r1e%f_^C(eb{!7tXwnVFYaXjRwdC;cE{Mxi@I^_Lj$lVD#DlHJ39}FSk3c@ zFv--=QaQR=Y<^9W9w+#gk^M&^za4eN2Y=6vDIi0S+@llNzj-aUr_q`6=#jW(e z%7S}~U(@?gkLz-xt?PAi`=0G(abW-Ow~DeA*mNk2?C5xDGNzDf-+Kf6@CetiE=)`3K_;Lh(}Oy2}YQ4)HQ}kX$i#-g1X%3*1*+ zd-U`}m?!3W8RpVLO`SADJp5{%f6$4DZ*R_T34BJf`~Y@&3Pw|CmcTv*&%N46(#G-U zIrmmFM+AM1Zsj}vY}6jn)!<{^avVo`g$-YmG z?X}6AYPQ-rZ;P_k&vhjx2DshN)6XSoV_-4q@`<~^| z3HCcccqZ!o6hCW_MUjIMnsmO$Vf8?bo2h{10x^>5*eSUbCaOm>e=;gV?s`6EEjDB0 zjPNKJs?>2BUi-k2zMD@7$-ea#piOb9MD4^O5Zi3-^JwDkI= zEsVb$?*BNh?Y!UC-{||}egA5f^!_2Yr;(9S_Qv;(i=G>A>m)Jt&F}%59qz4r<}A+h z+&PC;M5A%pFsRBzoPok5XLz~dTc9R0Nv!XJs7F`&U2Uv^|W?- zut%!rk-`TZ{=Q=@j_IGknODy~9dLgZyx4^mpv3cy#*r+B0@(mTjxttaHnERK0gDsx zY6m#bLCnI&kDUNl?0UQZ$M@%ibf1JcT#yX7mTRNFSFsu+&SCV9#ne;dpGyx@#HYY8 z$yKz?&P8?@(LTAxku%M~h*!}wn_{oH>EkZ+bw{|JZ4a23hAgq$4_BV_?15HAp@~s- zx54D~Er}dO|DaJEb_quc2Zk6Knw0jp%FiOs;nUSAkKd-i>lk`@wQEzg8vh^yk9@A~ z>0M$|TeImg`;gFuzKk0s7n|SGl1$C2qPLm@>U#&juTFnCXTCY_?33N3PKcZA^+}q} zKANJN4^?+S?I<4AV`2BH=kZ+tp=|@6Cwyh6y0-a%2zh>CK@=2t$iocAD&pXU6SI3<<|!w|wH=@XXYgpW1Vl zAR&2u56Zd+2T;u{2y(kp7RM(d11gX!2>t(SGX8KcfjDCzIxo48FvhTnQ?#a2-b z{ig|;QT!|)fijGJXADCZ&i>*r24C8jeJ&}{7v0Dge-Sde1yrl`UJVWch-RCxRG0RsN*F(WaU<=)@d~YL0$N*BQ+EE@43Mv}jaf<)TEgmw}t%ohMj~ zE`{Qo0B{=A1H)wOI>ab;%UCBu)~@N{`TzZlVhC_6A3m69Nx54WsHJ3dA@U}RfF4R^ zjCMKLpcbM`C@^L3q9{2gK*DBilB$+?cKwa#DqZY>Ue=rH(*M4JS?bdu4|?zatVkc; zT3%Jf0<*N%SJ}kDci4h1{DQ=t@|ME(8q9r`SMd^KJl9DL9RBl;|K}mV+eIUV$G(30 z4^FWk7Gs9GHITConYPv@@sKETLDHfHNByD4|9N)du`Mvx-l)sIIuNGFh~{~2#)xBA z{r91^%yz_1f)Q=`*87JG*K3{Expi~aRv`1RI{x!i_`mP?zkWbB5ni?ZP;bxuDrznHI`|m5Vp$>j| z^~D>|K}tPp(3`|!D*wj0COa{aQrppgZ+qHF6x`2Ies9-a^6s)8!VA^|lh8W}V&yVe ziIYwxzvFi`{=fgK3S%%_#rZzRRPv;;bOTgDRUdC7^7aJZrThic$s`2ZO@JMQMn8VJk6lRoB+kxLIgRh zV5{IjV(~+v|DV4Ro*1Oj(5le6VoAwfZq;#mq{3Q#q(GB;A0nLI;1ko;f!cm#2)u*n zPkI^u{mA|n$$3_IXSRQ2zU;ta&f|gTE`D{gp|J*`H1%4@0d8HaivYP z49GL%3X!cW6EOYELXnezh|lp-6JzavKg9oiRl#BC>9=&Y@Tx96eOf~lOo3O|jIiis zAgk#J<-efH}ATubn*$~2TqPw2g!K7RlXaAX6{SKT-AjkCZXc_R$5 zPjVA+@M8|lXThZ;he&L$KN^XE+W`9euII|28_dB`Op?xzZ6ln%R@xr$Ua>c?l z6>&LSAsu1V_`C@{5Yv47APnHT!E)mmc+z_0g;AR52~#v+&sCu@h;D*+_X=hcrs~Y` zRoe`+Ma%|ptybC>^h>W-)7-F2`|nzY#rUD8FQZ>pZ@gLMo*+^g`F3(lKSXgN(@42n z0#?@44MA#3#QOV z$yTJ7J#>WIQKlM8=L~{oZ_Z{8#{sZw-g(;qoVe-!#-zZWgo+UaQaYK9l$lLJX!*(+ zN$0g3U}zbrYA4)dm1%3C{ja;XyHXEY+lw`2zB`K>Ao-6v$`Q4VaTqExa8w8*v5Hf9 z+y3jUj8_Sm9g&Z4W30w$wNN2BFXs?qL7axF?7mF&rtwWeSnLGkkG(Jc4rzUNLD-z& z2L*BxB9?FNgU`amWWt{D=_GXThB@o4dq8_jjrjtmXWR^IwC_I9`Wf}>P^BDu6|t<8 zFHAS;EU$U&$kD!h{D`h#DpsRm@YkJEith7xrd0?a?+u$>-hlez>sw%U5m`tXT!*w% zq!;&pzZ#Yt<-od{5MJ#FBIa;~^ozRd)%Nwe@(1na{#|_NwuMw-c^G9X4?*`FUjQ%6 z(FA-Gi+ZJ$W49sB&d_UnzGvfswxAm%`qWlBdH_W(^Xfq;hB(Ctl-jS6l}A>G^}v|L zGq(?UE`QA10LsY|riIW)P(KgB>uVXt>J(oKrwo{O4nIW6qov32E0C`E&4+B68~ly1 z6sfz@lJj63jQkTo7&rtx5_d@7JpwU-`=v(`;&@acr9|)$laoV($#s;OpDEwV>IC5Xq@VUqc%4Gn|v4rQVR3a8(|ub-8(n1kVQ; zoLAV=So!=ccIX@QURT?FcTI~(*}m&7%?$VLHy^FLY{0-S5!?TPc+*d-C)N;3btZ^nNTH zyP2@4@02&j1t2%>t$SrnzwIU6=QX+7aM%ri7V*km>pBJr4#>9+#yO;j!3<6UH6VD3DGm zsgrcrXc|<03#r_PaJ`iuVi6blxmz^Du$ zEdx+wk19D=M6Ox3`zmLlzN^lLfreXr!7JL3sv#al4yl|mL(=#E_{5qJibUj%A~2RC z%V9krl2isMu8d{HNzPT`Q~6LGx__?ju(CVst&C^xElsruh|B=(0&WmXo#_XArP)uPcf|) zwblUV`JSfhXEx;sW7#lwgM!xo`%#f#6m^`aL`cqD;IVb8^LubNM1^>Fb)?qV6|p+_ zfy{6cX0%NA@n30RdMOvtPvO4QUrLk48gtInQ-tc8u-6z+l4cM#(Mu~I6?UH@8B%-f zUQXu6wS}i&bPG`JS&9}v9YJ(~#+xG0=59x~yLLXY)z+uW8meOp>i|Bw)sdxS(N$7# z<(`|n;>5&#I>79AKMP)5hyIPTU_q}Rx5MA7GMr{LA5&_?OS?l2r_KWoMOW=>o&_}O z_hcMLh5MeT`V*JJ=z@%*J}AR7Q#&o3Tg`2PVp|J8Z=mP#a7|lWvs>R6LFmo%i#;9p ztI3h0OHqO%Q_imjF#+m$4#GK^+7OhAt%wLIsf-YfFDZ{+33-mGM^()Bu9C%S^H%)) z>^X92ko?sk@kns*hpy$FamB{Gs?fo9y|0w#;!%v2+Eq?IZ=06ra7B+LoF_&nVMZj| zmhJ`gpjTbpsm}qGS;{DE5yS+imhCC_MP+!!ci!mQHzFrHCIe0JgCHXd=Ab&H@_JqJ zXJox_F~jLoQ1i84<}{Da+G$ z@iwR>r@z_CGNX@=tN9=S;-*H!E*sQdI@FEB*;>$7#1bf%KaiIC&(G3E=>;L?p~c_5 zp@-lR`VQiw>o2o%8d2Ezzq9l;3S0tGp46rOENeljy4l=o&ZFgd9ER~aXcb&sE2bH; zj)T(`I{w_VvS#2lqAMOI6i&q67$W$4k4?}RDMjD**j1Ck=(x(?DaE@J#4tRQUd0!U z4#jIQEWKVo_IB?oF6x8)p`$nW_8P$J|E>~alpFKdnfY>CiY39Kw9$UB(DL)0ThFNQuU^uR zH~fpp#GJvM(9(moX$LSAxx)?wUVGWWgFk9PB_ZHCEN=j2-4qC59l3|!x;c+vhq z`_jE2^F%NQC%25c`oA)CyZkXWq|xanM(J^si@`FeK`P8X?6gYwfm!_++*!C&JG=Pdm{<*T~S6!nJY2N2`3CDo#n0#cIj zc+!aGUvX0V`tb~Ha-tvK{j4cbJg_G3=3@J|WcVxPf}ts0b1zQpL;3v0C~8+em2wO< zp1#^NwBuDO)X4Hu4nFt3bb(2LrL$_Sy}0tDw!c2FQ6&ie7I-ol&muDn;S?>mvM?Ln z7hi+fO7(es$7oU-pV1rG(Ah`%=Mm1HD4SjydU~uLx?AI67^_!I=z5AAb>-KXB#m#$ z-Sl0ct%dV!UO8n*jZKdY)y*Sw@8=yR9I>r))X0ZEPmR}}%_3?O^)fQ>V1XVPJ_*?> zAw+vLjA>j%IMa-<$)-WA;L*LDJ z&k?0K#Ey(8qo;Vti9j!yV5_h`TJd!5S-}N|vyTv@vUdZ(XE#tAnZFK7M+f6!gL;~w zx9=jTw6?o&Crvy@b&z*;wWD&9%1J+iXbu-oU76)8V&c zu?g>Md(g0dYm5D9hE8R|&8d#&`MvJPQ`>t0~I)~G6FV5)GP!E)$ADVs}LMYdVcF=u2^*ALRpF;c#l-w}S} zf8gGA5Yw;(o2G4IWUfg-7+zVZMY^<~&r)6t14sLrWTIdz#URadQ4N3~e5719``g*` zaH2p4xB=lkbgNXoGEq|UY}-CuqLsepZXLAIhIR-VbfTk|!IuC%cschx;G*NGvcI1E#BbrOs;t4S#I~;k3>2iyQXemN zgry8-f0Au-8n5x>d>t~H@%LezCc@?B>l0&p$50H*IKxrFzu8fhApjGUv=nLWP~sAd zz|NU84w)-3gz`Hp`#Q@Wj4l<{X8mGx8mp?n{Qzl@EL*Q^uozZKi=+=EKOt+!nHsln zBj#(jRu{=1AW=;Fg|8LcRU;ki2OiCQZI zzP~NeUBcBb=4Z7aj}y4Z zmm3;SpT>pLCO@GC90V)emme>KeZaP-Zg#v+jDmU#2A5{;_1SlyT-fvo@U*^MAyB+- zmWj^Yws6I2-67y>*W{Q=Em@(&@D0I-{T(@Ug8xXue%m6K)a!8eMzv_3%eE;nfD|zP zoN*+v<=xoRn?neq3GA{^Ev#QrYp(E}z*a3^azN${i%~tJ zu#T@Z^>BM@E4m6?ipL4C$7_uTomlXN%!Jn}ZYZwuz+bsOnN(Ay<}aE|7i_ZY>ALK)T!1Y)6fNz57W$ z!tu?P_Ma>wB`dw>7t+CU9%JT_?K@CqSeBv!BLM;MRU4Jt?&fe_=uLZmG4gQ(sIs+j z%b~zCd?$R_HLYzZjq+Kv$c>%7_P2m^tD`hx!ZN5*T*DYIg1eeOeX>9^Wz9UKl1$mG z7Eb&I2!z6hnaQ8MQ!Pz}Uhd(eid2g4mcWC}YSHz-klkkqKS*xf`tbPs3bZckX2r+u zm=+Oa)R=(qMCMSHED9bQ6f$vo;C3yPXFBe#4D~u*k3RJQ2Ym=J?Ak*i*FP|6%A=29 zPXLn?T3Yly6$j1GsXRiM1my^QPwT6j3?|xa9Reg$8gsC-bXc@Tt@@ixW-Zt6*7<9^ z$8EYAM{vf_zEZjI_k}CM!QCL|sY2}QS1rXDtL%q(wWpWP&Fk5VNk=F5Jl2zJ-${iU zq$dJkz5$7(Q`$MSuv8!?39ko)GnzPT1brx?=$G#lMTH#Y+-h+$DD0=V_Z%R*mki;tZLzY+H8F$$jpF7Ye06Luw z7z}HSr;)>8hnjNczA5y%UJ6+<-epKsQ)@9COXy&C_S{Ub1(Z(5&M90P!n(KE(PWmr z&)Pzs6W18JyYr)QvVKNYw@+8-Ilc?QPsly2vjs2Cq`2eg$80!=oB>~t*P$mQKkHcL zZgbc>crpjji5G}E!gne6iL7kk0PZtA$Npt2>OvTy$po$bBnxanrL;?XNNJ10%$0*E zzhxr+det4vW`wpna~ufpSd*<KbZ}?!3WK-qv-#5Xu7SL+llu(0)O3)jcZ>zQd9~T18ZZ1? zidcAZTw$ujJB+~yee=dmH0go(52%D!TXtlna(NOGq-N16<4Z~&S0$1edyt`)=v0mJ zgBd)MV0!#eer#R}(G{i;|LK-svh8V5iB@fFDIiLWey&8HbCu$hn6gnNLKd57w=?4Q zRkv^jDDl`(QIW_B*Bkj~sV?QlwXLU-yvp>hMP%=BJhxkO15b|WViRn6R^dprwoSaa z!h;YOS*=+o=R(D(E+FKE;A4!c+Zu`B+kZM{JX|bMGJZOWx?Qnjs2U#0V*NE5oWc}@ zOQE5$Q}?GcNA25gG9>(<5}6o!%+Iz7EJg$1sqYaL?FImtl_=^$;-X##=41go*kw?Y ziEY2vo%--)(eKpwBln5!J?2nI3G zmu%>+ygs;IdMEMKhMHpy(^CQdj`1>Ok~jDE*6apU3ODN{D#$`@)EWC!@N7YB;^z&! z9#h%ZN^+DKVCm1Lbv1&d~ooA5_E1bNqoHxIFYOilf|+LYL#!DSOO#M_TAR z_AN74qIUwt09B@!a?k!M_BBz&tUb&KU+FX83KW_pP|{N3e%caJ7Yci0FqV1axR*@L65H6-*}SX2f699h0=v z`Q4CC9cH(i{Kx21o@Ln_YH{U??`*Q-B+*=^{UTNmDfAeOZtaC$iKJiJM>>(dD?OoS zm0}qGc*J*>S^?wmT3(Ovqfxx3ztHK4TOXwWrsI&&Ckp1USDa;`E4ohZ zN#h)2abtP-t)I8YBxlOwl5KQu)byJaUgC?4_4R750-6O6L+j2t@E2tBAEJ{;h-+`< z7}c5g{=Mf0(Je@)WW(|#PTz-nb?{{hmq1akm)$q$aQ=`7Pb&!tK_76Rk7!mkEsj;8 zi8Iqp&=)igS|Li-=6kB~f@CPE+o3*6T(57v=Or4v#Dyz;g^EWx_UVr8PxtO5HZG;! zU!qzIT`RPFhQgFrsBCWY6A`pJT=)(7Gc~)x#lfY-XrV(Eo=IQm*@l7z=+*3Y)26!W4S0cPeU{iZmIh3RNvU z@$590Z%uDYmjv{J$3)AXC=m!BUOsGlh1qzRMo!~V^SEXWj0s#-@kWYo(otD$T25_y z!42k`)4UFSp>b)3>WZUjcUOl64AUj9q&C~|KXiIhS-XdTM z*SqPrAK#>vE8r@b%??C{;aBM)R4lHg(@0%V72jq~kssVY72046_Igf@k498JDxvj<*O^!JB6l zy~m`ZVZ3%er1NP%#|C4}B^RFCnWS7Y^lo!{!s_ge$+&%!>Y=% z&h16FuI9@iG5jfT&l~n_jul}I^79^GOBs?5Ez!t{gtUEs-!?|&pxf~dW%ZpoZJXN| ze!_w4JVDU{m+r74XWb_(=7-go$Ywij9PTm5#~jOUehRq;XqqiY5V0g~yY!Q2^`B6i z>(T{osPPux`TDlolxU*H)kz4oa}@MP%LXX4Qh|ggHp^qx#U0|-3&`kHKu>-}K9*xO zpoF(~THX(6ev?~*4@wmuuVz3y>ZxSQzDsEvbCg!>v`4eA6O8%7toPZMpKt@>W!E*I-zB-1vI?{zO;%( zW~YN6vw;Ow#%d(55>qa1&ow&?yqr9TqW^0Nr?Je+=#tuYSw2I))GRq&QOYMmB|bY{ zp2vR<_J%Tc`cCcZorpjGNPMmc6RgR=G3W}AL^DS;E)j`d^?|Y1mPoNIo5~d${^TX`XMAbQtcxr4(wMO~;(mU(6YVroK2B>L9*E)+^iJ&^(s- z@y45iGcmd}xtw(v6GhkoWnG;c!3+pmvL}UK;k(veh10)}CN@`^kzcVmxCI@ACjJ^O(JaV! zW*~m&CdW6>`PgJ%1c9GGtV3O7&ZZUPk}?IwD843hzg()r&7?s#(+R8O@*pWr*(kRu zibGQ3uBO-cc1=p6v+}qmYG#DYu8NM@q5;P{PfqTF<2Vn&a+4iw9(VjX?)HzRe3Z!G zFHe>&@aG#7ulz0V9=+izyQ_~5o*j(>%W-0)#TuS~qjl*OiNMdMqChO>EH1ZQomb!A zk2Fgqh=M6h{2gifuWp^SZGVRQIeqiT*D~M}tyjWq7qE!ollU|8i)sTf6&`~l(yMnT zuZF`Un4s#wuK(6nzo z#b93t>`h-bfM9zv-M#jjXG8kO3~NdP+Fz;LMdmHfu?aa=odCh*iQsBrJA2iZE!iEm z3X8eeul~`mf$8yiPRKOO>Zt)QN-gImZc#-r1n}Tz;XW5!k>6^kZd2WT8${W1iE!J9 z8x=!|I~z=3QX5;by7C$>#Y8cv-AvYd5;BMA>|elug&5K$+#ZKdzSM&E+dZ!3`nzfV z&vtxS(VQHXaPsH`Jh1k!l3`2oKw&O)(`ju7`LuE@#rJ$7V|$V=baMmaclv#%&$JJc zn=HuuRKP$X`cMMk*Q;Oh-l+Jh*9e)uWP7Vu>B~Vd0SM@HksgQvVd!LU45t{rBS$Imx^;+MzFvCGkbRve@4JCSS9 zDDq;{n?QrdmuV5NPeo|JOowhx{GHefzzl+0m2#_4>{dtYJPK|u-I(Q5FV#z;?Gq@v zrSL92ydZ){{ETj?iNBe$WxX1a`>decCK0rk!?k-jrs%_M`vvb&4ZU}K8HRK{beBbw zi_EGTN`UcsuqUjTO|xyNgDC+{)47t)kos{ZbUtN4kE1!-PMUhQws)6u^RQ5YY5 zS4BArY;3;(v!wC_n{7uV&dNn9BgF}-FCWhN^2l=zTK`kU{z_tK&f$frvl+68tTut( zg7^ud@ARFcS^A!9PJbRRnQJ}jQ@g6xSLc|Y{rua`b7wW(l{fVAkUrE1LT1wEJWAT|n<&l@ltdXpIToZ+L! z>xjY$J~k@7Zg9cu+#3aT4V^>K_PYI@Sm%v#|y(|0V%|Man^IEn>Gnl)NFhGw?sRgYg`YfkZeuaO(JJXxp(P*tu|IV&)xv)0UpqG$ZC*!K*#D(} z{{7NH9a5PFq87Gtb7m?Qey;bpJyL8WR12ffLM7uEQmA}G6m2vcWZ&t&r@>2B%`GTs zNA_|!gK4-DrzY8{@XTMV%l zO}&_MFI$P>8n_-6@?a?U{Rj~-2{?;0y!VKeJ=UCKh#h&U6zM2@fHJxCHmPt0XxO1$ zAc`o(YKzt(k-G3MH9C6}K%#4J&KkhKi^z1os!qd=@djYi9Z>PR6EENo&P~Cp>yhTb zKuWK#;pWxE!6Ax(^C>Z_dFGE&BCGu-fsmen^t}aGX2}-0)&ydsgy}t=4FsA*12T+5 z+XmoIR(Ubd@sDih4*}|;E*ltXg~vNwYFv?jrQxX%Fh{RCWJ|B9j{WO{s|>-RR)w^{ z3;ATN2_JRa%NFE4k+00k=%1tEI|exFyL!E@SxBVcUdxBLzHcWvCy~KEB;Tj}p)Xqm z_(#U5!ON+S;xXF%))NR^;M4X@@O$BS38iPBn?KhfT@A&m0annCI>ZXpl#|AsKU{l= zwu^@Q5FUneDi`@)N%G1dykHQA}Gh5hB&=z8&1{1@Q2_Q*pTDq^h6s-+7I&VL)JU8X`~K_yLtq2ba_!^ z0{19HO;M|XSE}*V+r5XHPm|S`8dlk3!VwM|(ahL!Xg>Mw$4k$pA=B&nI^`(51whd? zIwA8ldXIz4mwd-wmSTENtwu=ctA&sX3xC*kS-=&p+t zkwUhOGmpFl?&(wIM!4TaP-r%&9YYd^E3#SMk#;{5p6Cz)+8MqWFb#ki{tYba>Eup@ zhVuu+efy3RRBnKz%00@PQ%c){ip$SO<#|^zJGp3X2iFmY$EWND_R z>j%s5puBYDc2f}@P>HI|1jm;>_@53V>fQXTR6(l?5N0}yutX^=NG@aveUh!Ik^bEQ zz}2Ff;oBO8XuA<^6|^+sqHBPIb&NX^vR6eAPO%nHzwwCGvU9ixoXoh?`V-&Srbcf! z=Bc@iRlQ91gV@v}4z%=Pgnww1+P;aMrOsNBlJ1Xvq1i&y5oSZ=V5-Rk-be^}{k)o^`{^|FghN+6C8D(v+_Tp9t2k z!Y8%N)^bG3B{_l~beIsT&v12NCpwkFSok)pZaRD=Gn#Y_r% z>H#BBxH?g>2Klr#Jro&vz#`ooTpgZU9f-kdv{*D7Q*FL@uYgxhifb zPLwzS4a0ajN&Y~J7s*)+6(h4!{?;V5H%USr(aZxCIiSVec_5Ima-4x&0E=HdQ6Xm2J?p@%YS=<z0RJ{B*J0prm?<}Ngy^X|wAxS<56 z2)qy96zbJoZ~jEAUme{d&HVnlv+`{=Db2c9B394s%hhy*)9rtS0y~O+4QklW8%l+| zbs5Q7bl!z9T@S(nsY?>lOZ#&QY^UnGtkz-=dBbjwW)|*rqF4t|6p8oU6Ay7w&(EFs zn*{vD;=$)YIelN)vK95{qowR!@M9Q9g(AVF4Kjx7@Nj6vL7VLE^DFCF4^(&!+-sq4!XwICqG#?$vO(eWEwgt3%~_^nrGoF~In>GA3dxw&B0 z7#Lis^Dd{N9TR0J!YqB`l!(LFLJI(r>mnfjiSLa;bB<}t+#x5(()h!Mmi?_|c-878 zmlsW*eF!K*2cYR_nMOrWhZ@*a7a*eVdGKVQwf); z2?^3Jqe<8X>&W6<#*m^uq25YosN!nIWjG0F%NahrEyCys`^Sgp3z$>P5$LdoZ$opU z0kjG(F~l3*2#o$VO74ur80g|`L^j?}ybc&Q=?r-2Wl{Jk3rG3uhjzLmZ;~{Y(|eU= zM~23KPbDBY>`<9DY!xUX?#w&f7f!7>ZHWCN|EQq^HMb)NbJ4frHND!I6)c@>$n`lq zVzyAF54p@iA4AI9Fh9p?U0lLgntd(0{y54(DdLRs49!bw^J!6k7G(b+!?s-CJoKlM zYRh!Q8{x6X{jOhwTa@ud{Pr9@?4I%4n2#3HliYdgovr$o-lgt$zOZ$9=e-G^qhmI_ z*mn#U@;fao6cV$H8Q!jq(iXv4SST{oB5cX5oO6#4%VE`RtZ;K z+sZgU5iRM~OBVo2*tj`Cum4x_uOSho%H2s7e$PTQel-ZvLq8BRs3j zQoV>2dpg;pq;&hYzBeBR0lp%acpaqskQ|Y2}+T{?SuWPWda|;jq@eK(kMxK8%3tK#t&@6kBN>g zdSmBE&hm&aq2BeIs87hCuhYbTXD-He@$nwb1;)p+I@3hQDao|s@czZw0@;E-XZ9DF zenD{U23=9j1zJxVYt^)bmCQrJZ*1R%39c9Ry?v0);Hg8!CD!}2L|H$QkJl0(94$`0 zZi91G_}d?gXF&(-b+sWmFWpK1{U-wM0?f%QsV(!q)$dbEQSN8i6Dq4>dl+Za-PgJO zQ6uU%I=%W>>>rxKGzK-$S1XwIzuL8RN_tZ+-VQpq`2 zVn%ATNT7V=VUP6tH#VVnPfoVS+fVlT4#L(h8|v1XR{r?Y%-HX-(aE$P<{zOKB{_U> zV(dHIkul`Lmh=j(csGxG@pod8z_CKu>hfcY&v>*FoHzbdPeTfmTatY{8}{90M_HFY z&8?k*>p&_=EHLj|{CK|7m*kIEYrJ7LQ|B@9MZZI-(oNu&LUde{@G|jD-Kcl!jTgsS z#V2q0`*S{-kKRoR5I;3y@h=OI4H<6Pd!3@BQs!_LYqAF{luH-BzBXRmD|`6&QS?y$ zS|t+kWi0K%!J86K*Kw5>jDIyuEhx{1e+r)fADlMgA>>@NwtDH7gGzCdw`R{1vb6+t zG*nPElNdd$_gEUchnDXZvA~eAEE3XAqzeDYw^r!gT8t*4xk=&OekLR+2&X`S1dCx7 zdBy&7NLjcdXTdS?4aTHVF4eZKLsS@>kZ>2m0n5D)|b2}Nm;lJ22PN|aUs5dn!o5s9Ho z5di^_M(L2QXOHK;pZ9&fdydY`zOKFZ`mgm{8Qz&phQRyjLEghWpz0s+o$N9j5U{>k zO?$+ta(aX7wuOS=G_zqD%3sxOep%zWMnr#!Z;@c6*VZG-xoI#UxwYwGP3v?45PmwO z9K!wF+TnN(2!nM2lUHXp76-tFpX(KqXm3UA(Ggh|tM}l`%^(evinHva;rBw^(DQu~ z`=jAv@%agrdDThP(Ljj8!-YB(*rFIDMCF43SQWvx?xfO4x`WxOI;w`rLKik?Ud;Di|Tp)6+E z%{wwr^<}!8;!05%xsa~pLMWB~dV2MiOYj+s1M*T*{K~>fS7^i~hZK zcH|?JGW8Rz&H-z(B_F8Fx&L@yE5e9dCs__&Dv~tEX884jP9qy3oLO@JecN7b^$0*>aJ2l0B=Hud1HsW6X&UC}Z z{4KSvY@a1_U=cA1!niDaI0e?)98&sPiu$*FJ;!Xkl$<+;eP21o=7_fJt)or-;|>y7 zVsHPBo+{b;|1C~_U+DI78-YDATuCv5bQf@Q4An+4%1f<&2H*d2Bv4IV1y-r;bOQGE zOs2|xNy1$?!yvjfeSNXQeb?!L+NO$8j!27wbXo;aNSjP|2YliBLmnSwh8Bt!6{oOFpr<>I7jjuoE{&|Fn3H+ ze>cc?^RKh1_P;;y9j6lxeQf!2ul~_Z@{Rgc>LYL^wPTKa(;|8N6{2<1?kDy8WWj!{ zGOkYdCr||3YiRqwkv;VV=9dB%S+CO0&JK0@>~Rp(cTalck;F5H1<5HvPNJP{v_-64 zGA6|eT)x-EyfdQd5SEpVqDHZ+!g}q;KGvqNhcH>xD@&MiRxAn1=Jmgigz{agu9dpW ziuhds4A!Iubj3aDfAStiK7TNR`X3F@k*ig)P&Zq+3aH?(s^x)`%~d5@%}&Sqwp54! za1o;AFsEKnd*&F>6Ea%YRLv~Lglg90w) zfAB@+`lT3{5smvCOuf=)@pd;DRccuBy!PXR+8QT~c93`9)z{`(zMn65#}*p*3LIUx z`u|)HgwcJwR1D;=xX-!G2;rvZvSup)CM@q%A8wjGv4l&3^8b;sR1vje8)4~3hEOt| zjN%mH%ux87PL;wlSThjF7>M68!9MPm+&W-Lwa-PaPgu$vt6Bu6@U8RPFxL)kQ7tV2 zcj+|nxje9V#0Ye=D-uq#x7TjL=ma6)Ea8KZE;5hC<4ZVR?9C9Ore)6KtoJa`Y>U70 zouw}xgs=u1>=C%&WfSh&h8wy|U5$|Q1&Om)@jPVSAmy=sL*pm^3Zf5ZG77xFfTC?y z2YV#fQ+ze1s!E_BRh2sjxb2KntOkI#B>lKXpgT^5rIT+l^;wR6mDbXv`6&Ui5iKQk zJiWI-khxN@>h3fP+E2$yuN@CALL2!d3j3NP75%p!=!R0^VR?#T&oS1sO61I18h$50 zwr^4kGo%5nm<>_-IHzUw3qz*oR_x*J(~KF{tTdb0z3whpqxdt_=JaSd@oKsqnAz#A zq(8k@E3UosZ{?MdLXrBDoc6r53!ty~5%#VrUTH9CxD^-bl@ZZ{RB$(&1y)x5W`!QP zr#Bpw$R6bGFa5m=1xDE(!CK`Tz^=I2!<8aoN3KFX?qgLb=eOxnD&xS+jRJg&q-qF( z$vd#`z7L-QlA_~MQxz_j!La28xpOoQ00G7qbWEg2 zK2DHsh~&2~)SB{m7|p7Bl|oz0ds%Ofsr4=y;WkJ;2o2E?s82653mQuk7-*>w(%g=_t~+LX2hL{PWQ=_Uq|_{wO2VIDu4lV3e@PJ+ zdqTCF_5nfg=?>L90y_V74pX*x1qhgnRJ#H%uxsD}$<5Rh>$b(U@Za5t4e_Fj`o6!s zAavUb<-U|wv4PVv(7d=T%3rw^_R7>W9}?Rn*W)4n zN@!6J;^TqB6TtIr4_79SqL4OrkNQza$+3X`P|lYYP222(nTs*QX4vj5adx)j4;i_l zo+&2+m)Cz%Xbv6FuCpyc zMn!)W9-3bB8)x1ADp3CdcQz>;fh`hV`_dfX-G6ojHeZtu9ThmE4L*?vd9#NF(!2b> z54#S-fmuL2=pN;vnU>&FpR(_WM#FcYV$XGy1#31TP{FU8DT=hZp~l`P$>EpmgDr@n zi%e9dV5%aEprD};PxiUjp6m)zs;ZW;car!2?gO<}0#Xf*63Z9yWP&xPT2}1`Wyc5( z5R`QQ`ee6-6Cs@+|4Gnk`yt)u&;t;a$OX=4*6agNM}qx9eu}tCR7q?4T!eWY>_L zA1Yc6GoJzqAKN38fpI#Ts6+n{IIrW%p>f@s5Z3K`92c?=0f_IqpWW&<$+d}@Yez@I z;A5+WdE;bgDK9q3-@vXTczazBQu)Cv8IO~shw>(bOAFU6yV6WCS@iF;IU=^v9vf?0 zk1gO_qoZ2G;SkuN?Rb9zXOLmFkYmLP*w9Y30GGS`%b0AkaGYeVJPmaDw^mc?O`?kg zQMwi}NZ6s~{TdLoV#lBVT2$MSL`RcgUf__hA1^2Vi5)a48>DH}yh)VQebfgemaM4+KMW#1W%bfGSG!4KIMC7?>SNUeeo#T)h2OfO`@|&FT zNogb|rkbXRFl5AfC@#QBQ5!Ft{1enz{^_}ZUA19XE$R##W69Yi71>)mN)+L+zCGsG z!&7_R3_E|wa(N1j6ZOiJtGOnp_u3=EgOLgEt{dfUixX{Ok8~VzrwxM6r@h*-6624P z<<;~i=KG_^cND*$n5^|pN`>5LI?*rmHL>TfM>vxH0D%&>IHup;A8^f4Kh)UzPSs*+ zY1P%#FH7Q91-HaaG^_$?nigx5FWru&5BF7%c61JY9V{J{vU6mJG(X?Mej@w$r|aGL z)^9|s8r$aJ^F}ycv@K9`U$THf_T6Eep;zU1`UwI$hQf0^w0Q8sF*nsSFZ17-(<>Zh zjp>dFM|pPZ$x$uiP7Y)Yf~l6KOo-rNknU1WeX$D2As!0T#m`WjMwMN*c}zF|Fip%U z`OXBa-YqwsA*4~((A?jUDVm7zp7p1$7okx;!XOJsQ7g4smQr@n|8M5X(-E{+*u{Bj7 zJ;-1<^RDA3W#hx?pB|YkARcAoIQ8Ym7@H@Sx@M`j1F+vKoeXz zT!uz(jDWo7M8l2^7$IAGFWAdk2z%arE@mH-2dt?B^;=*VC`M1C2E{)RBdWm)ag`}8 z{SbCJdtk_0^az>7SQX~Lk2Q8BQywBa)Umo-yquhHLZYjo^P>+LvT&JA%5srssy*T9 zg!o27?Hh6z*`DmL;*bP zFQSXlfoRh>RToMZ8z$fzsj$0g<#;a~87=q`W3&4?R!eT>xwl}Ld=zDsXW53~o-OcW zeZ&DQA}b@fk#odRY<+dLDs1w-9e*#GffQ|0H=~ z_)-5mLB_!TZ6$;}`e%eC8-X;@TP7X)`_D6)dK@v#6~cg9WDz;V@rc;OHO{*CDV%-- z$xU(^1)rlW##4znQuErlAo~uW*H@GY(+J{jWr=D11~)hA{8W{)T0;ZRv(__^GV}le zIVrn%|A+irAWw1QO;+m!HbiIK7c>fvztm;CHiN@J;h>~+4vydPzp8%;s07Dh4Pj-g zdqG2a(!=%czh**ItyExkK{!=|5X^qKfGgW%J`63aCoa zdu%AO(;y=)X6ME;Ma6uzsYMB3<9uhlHfza|;%UkwMTrrMT=%)u=uUTa5HN#x@x_8Q zpG0ZMQLQ^1;U?b{YQf z7?5fJ6Ai~kacA7`e5By#F?`cePr`JGTj)@Scgpac_f|82_ZUmwUIPcO_r0@ik!-{M zaK8&?-cH^-JW!yCmeD~1^e4Z1qh;M9nhoz17Av2(&0c5Y(SP~nTUS6dUMU-t5Sz^B zH!t7ng{IIVy6ipNexu--QARZ%;R--Nx?~rF;ua5~h9=6t3!k09)Q|Iu2O#DIWi;020&`)4%r03u9_{!VEhG8(>I`{KRL>S;BHGIK6W_0$L7{L zH_(+DRjwt^@ta+eHL8?v-Eht`IOb^K*`T`(gCy%(^BWh8NUGbJ9~fw@P1yAT_}8Ug zy-=T0HKjen8*Ye=OsMD7r`ZTHHnJ&H+3CyLmIL{5 zMA#K#Nva>`{$UZNwzC`|Ja@XDL4-j}XZgO$eOIj{+PkueHO z+?MZwz@S8b`5O_7IYMsJn3~Lvmnn(KWzP}EhQ7ucSpiVkrmitQ5#Ey6w1W1D2QG;+ z!XQq@IDw0gup4?VfD#|#q{4{BtJgNc_p$tZj+3IDkc*ag=dZvc41=;j$ru+A$D)|n zCZZQX6mS&#n9Gc{Ceq`9&^sf(USX{Wh*5lA1K*(W2JuL;j2HJ?TZGD)lUWX*9%<=t$X>iYkrwen!-x_;gd74qq@S$2{?;a+iV7R|c$wHnt;$nULi zbfss0+l}YMdl;VQqCQ`V@)FBPRB;AL%SL5|NH=yv&hj1!va4t^fo_gB>z+}9&0r}D z<+DbO;0z_4&32#sq<+s8F`NG2$+ofsjuE4>QA7_cXh3c{M7v$JpwAg|SgeIht|gUr z1!qG6tjuwPxIKBj(l*g94C5U~?#LQRFx>`N7+(Pkqc4_30_IIbXI&K555^mDl88I9 zS>SdUzY%jOv^m7>J?DSjaM!`A!nH%~US%yhsAvmR(bP2wYL;pTd?zP*l`r@iqzU!+ z4S!IIdZKDG%UB3Ht5u|1J}Es$oq3%zKyp>^>{dXwxYpV8)vDm=lbqCf3qs@MUe!%c zrbGF3F6H)}f=?ir>5@J`>#TRPhE0tl|XGy`Wteg5#L@eE&$j zzto3}3oX5pw8+#`*~8l==^$uRBhv&AnYO8M*r?BZavciOkI*Dm!TT>e_XY-yiUyl2 z52P*9P#d-W6dJjl9_FAGr<{r?;)cyy((p$bXMOAIqg*vmhb;LgV9yKj3->Q(Jq{+cMPw1Kl)*tYLX^&GiLntq|}d4k>=o|z@X0-jN~o4 z7;CI$aqXOV?--vY`;6JI>yfC!freAVqi0#U&%7;l;U#ambD(`2H}`DamDf$>TNJ+e zlcj6^sBN_`;m#2iCP}CIu`k%OY)!+R5r3W?i6t@<&S`$HPw@T4Ic2*8Hs3KqTg$Rb zl8Q`$Y~4@v>Vxr8l%pjLcNag1<0rpevF`9Tn7wQFIe?7Lx1rK`yy{?pT2F6kD=ez^ zSMMat8afZnYZpJ!vayKw;hWFYT3tBf% zKxVH|YWW%vh*uUP$k^3{rXB@EN}WzP&zTiZ1K@TBs{pHA2L+ql=>2-5h@yOQqT#vu znk|go6H{xKdl4c7k8YdQGge8lUJ5lo=f87$^1m#AtvPP;owXxnxm~tmm)%)@4#T);F4R;%2=GO*CW79YP)*ffC9pX<)N_eB(Uz1$ceIjM@2D%3t1_~Szb&VbDtyDG753N2Cmsbu!CRZyOZ-xBO*y02>E1n?tm8I%US&z{n0C0_4*;;5mAFJL8-S4f0 z%|#Tsbfa}y^h%q+*>?)?d4^XPPND^F@_R1 zU)NGv!MRMx6B;EzRb37%eS8ozCA3+n0N)Giw`~BRfQE;n9j;}y4j zaK~L-+FE-`vvm>No@D==>{hlaN@Yhr(IT3D!MS!MLQ^1~o8T63Vr1&rD;K*)BW#$d z*!`x0s%b)G^BXAbmXNMSeVxq`zWWHuBD{bJ4X~fp?ID;~QYp-IO!Z0)!jw@TgiYw< z`oYqIF+KAdU1AX?(N0`hbSvy`>zH8G9A&vn;B&0;!RFZ&4*C!t23d{xi>2P5N908K z{KdZ=ta81Y>L9LPwx(>JA|l-xambIBo1SNK@^y@umYKt-QW-gOeQZP|)f~ z45rpY-y^?TyoF7Og3dnE`p8M`q1o-4+(7TmYe=B){*be^^tO`z)6(zdf{eSp@6X(N zmf6eZ6Gc}}aAFx*T-&*@%bd3MjkW@bNAfVL+8lAzZp;-j zbz)|Fk_f7YC>JpkTWl>lw0d{y&wD$VDF5=kjMg!@8@X`YCo^U;D+9p;s~|RRKYnie z*#f8Sf+VH%(&*b&iI>b#(04)7cAP5Q#KMORcnZHxGX@U=)ddN(c?}IE;F|oI#S%Xc z3e`xgn%~M`uSB)nZbaQt9=XSl#O1KK+H-y@cM|{5$rF9*#qVf{x%a#z-*E8~#;Fy^ z%z7Pz3pVaYo)Qbl(uKrbG-6$%FkB0gr1GnPV9>BZpnlg}sNbDV%sQ^aontF)3*G_$ z$yEB{Hb&*~2<6iiCX#HY2N*ZYqJNN|h%mnCvP9=Aw3*y7Pe9d~pcrk2b6nz@vUudQ zrkEy#EWZe&v@_jNs#>c}PU9d-f*Ps9Im)Xf_1wHD<|daj{pSvNr#@%>7o-A?IDW;X zjGw{fz91L?HRLWtwPupE_vrqN^jFsyRh}r)v9%>E?^Y#mTQD+$Ti)q_oo4vRlB)GfwCp1k9>dU$8SkBC!gl|J&bayw0O^(m-F@JD(PX{yKk?-V#(A* z=(Q-16*;Ij^>b5J0Nahm#7)?X)T%k5_VcI*CTMxyykik>whjuwNnGvl_{Aqi^vJPc z<$|t-H+m|sjQxK-$m=-j)9%ps$zn+}@&1J%8mx}9v-iu$Q^i#3=^^XgJ`V=)1XYPP?>QFZ}lY;Qy z=yCH0LcT?_6x~-WeAn%s<9KQ_RN%Th90XO4a{7I0!vzGK6Bqs@ZPj(ZnND}rZPp?B zvYzdd)SPq1Y3b0c{JdyArqtde>6)C*bJI6wKUxqo3N_27KKw4CJ?dyB-WyDql1j4f zz9{V8R97Rt9d)rprBsT0UI-2e#0)iTrg6_Uq{41s^$&1)*uGCALN63?{2r^Lfcxs4 zNHgm29;1-iK4yoyx($!OR8va)`98780ln>1PE{Af0Ro;#W3YON zfl;&z5syy;;66MZY&Kc!5X>8|x9WcqPq=yxT;rGxD?3@#Xz@qC@f>m*aF!d^O@riA za?Y!`s{OfhR220kg*rKwxn>?`uhUWa0iJjg`Bd zwfW}H;m1~opXRFi#1$mkV?HEdMYzATB`Ni=J1=RWB9%*P*oI4I(9yl(G`qI&1FH^9 zz7dt0Vg`xQbLhBXU&(JWmVFP!+0VoEi6qViE&>*T9aC!`|N9yjiSRq?`YDDcb=f&v zTT@Z3l5=9fw&k;l9@^+&3As&s|nXp|^=b*SJ=JhR6WAGHrYBvMuD^?UuzK(k}T^f({DkIV{|{5gqG zH7YnxEbDFPc>8oBymwyac*C&uD6!h%uKIUNYpyI-*NPrRh&l!K%2c-FUt%8pGc47( z(xwo-mA#4 zKqmwh@Vb#;Mm2f`e9T>Z0GQpK<1bG#jX|js*-J=Ow%FU&0q#K{bw5m!V3AFL>M29* zE@xOpl|g~hLAyG+`rvJw;QE*;&ErR=4>=73pa@%!G&PGgg7fUxW~0Wq@B+nhc?r%< z01mjXehU~VMw^fE+48?}&xfl1c|OptBd+x>p2j9KH*8KRwF-lM7$EPMJn+1kP#bjl7eRM9_O$eOlR^Zt80{+Vlb2?3D**sFAOC;}B` z&ee>*7NtT?$j;3!kPa$Kd##-My)Fe{h*1*o&88z!~3QM!F!%)STA zv>Lnx?Q2)(>A7zsX7VaspdJg$JhTvcbdhyJJ2Jpk>DZfx{F>oU4hlo&P1a{q)o&oFfPXv`XVz!GzAGhLv;MP@`x%x|u7` z$8lQX+jOu-!c`(ejX4v?05qxyTgMgE1Lli++pw};6@)hoZf866TsHTOq2#}5!#o`R zkdYW2LKPu&G4elRFefMa^nqD-6@eaUZY# z`yd$)98~`!cGbqUPX4I0@&S7pKg#>4|8Su2^W{aLaYP(y z7MHWL1PMa>?galLXm5(NReZopRkKd_{*Z|S_s~;I7kX}%(-t6@{FGa(q_wmjV{C{M zx#2mFm6X~$zd6PsrDZaHh5pLaoOil`rs+kzvIQ$Hb}!G%IV)-@G{#RLLC z^fa(vZ4KSH3_1m2pO1N~E?`s)40A30*E~SC%+>KSBd*xm)U_Ef8Dew3LAnS+>oUC3 z9y=~y3d2?3{)15A1|ogpO>I%c=SnzQ6q(2pE;)bCam`ax!5|E6o(@Y+(~^ zEYNoV!UE=KyojHwzRHil#9wr55$B6Vi}dY8KtHb6_Oq(7L9d9RIJa}QWxyDWRgF&g zCFWUi4%bx;IgMA=R@$7^6YS&0qEUK50Hq=5naW4nU*Qf|lAC2E$zJ>`PTxSOt*xuW zM-ag5T0QvX86FHEMEaeKzc~6l-i87d*B&|zHrw`jN%BrkM^1NnU<<-DgH?wEfSYCI z=z;(6mGh6&xo&02=aa$B{hEB062%vY827tevrHHCVy+NMNB2~;vo`{mw$-#_{ zg{nsD6eMO{ZsBs!?@jFDfGUQ;DFxGZf2P0$hlQ)P{hYIjszQ{;$B<)O3wC3^|E={W zIjhG>Tl{~uV51-X+&dDYI2i9fPIDwX1LlG;ew#7KBu>q}6MDp5hfj)8ixG$W?1Q&s zu2X%JVo6=(^Yt%9k<@i@q$(0B^Xcp8i-nsMMEP~9JZKf#+ZJ|z!x`P0m==+Txd4SW z5K^*BF2pyO|M5MCy6u^QKTRWnCmj`l}ky-qPflp708o>D=l?@6qs_p`kqjtckm69g2 zG1Vxo4#=OM1Tu3aZVAQc1%m2QopKB!M-=@Mm(9en#x$DeeB)1DkRz0S7A^o%kK;xj zAeE-Torkrr$s|UclFKY#x@AH91DI?bff|7-^BSaCR>R1Rr*3hA&$p3ZpP(BbC$0tg z7vBd7##hfHOC#&Brddp3w!Ml3jxV|s&Ha@Q*!I8h&f};5cs>rI1$JU52*m$uhz2hK z1M}R@TlFO2TF6(9t`6XK?+bJ(T zjA%}CBtuQDoc@cYGMC|4=<7oHcSHYqdBGW<8se2QNd09p363U(kbg0Hw{2G#-A8mN zV)eq>e~yqPYOK=Yn;l0H$k-qSG;eNzsJbRzCu1+UmaTF`^v*)Jyop~k;y??g9MpW& zCWpNu+yHkdYtVW&8<*c#cO`QQoGeyug7*6UnfQ4!M@9`I^YojAl#zP#Pc)h?&QDn^ zx+RmHnU}Pl;wfv;5Y2y}CZNn@J=a~iqS<9S-+%lC0*~&U|C0ILWs^CFjWd&MG|A;@bgM8oZgkm7`fXZuF#64dwCe!f z6gRYuhtV!m9B?NJn-@KII7`|8lV8A;R{;X9I@7!Q<7OcR6=1*_jz*%^kuU{o@)ph` zCTz*b>{2EZwQI{WFcb#aegrjv0~M6ft%#c)QKSlRlLMJqca?x0Q)6|9ZCs~Es5aAB zY6ksUQ&3L4Cac>pG$4C$+qY~3(Mt2Sgw=CG3eZ6(c+Zx<65CZYcll78-odo&j?MLF z$dn*yxpvNX_FwMB$x+)0rxh74PVgYbEV|DTF6FDF+20N&sr`3*`37GyedmQfYPsUd z0emJrKE2~grQbID&Q^lX;eVUQY(j%SYZVZNq13k?5PtFT!F?oF+@nm{HdYmd8l^@B zw2@`Yup4{6MjlWLkg-b{z4wQtw7t4*r}oL_Q2{vg(`({Meg{^ghay(;oLfDpgxV@_ z7J1du5e=q>kR)fqamrCA%+2(33EHg0r}m$F$7+80M+jX=*X+yy$8V|r;Zv9`BgOEQu{vdo$QLL?S>O!=q@upUB%fJ z38SHrYFwgS4)=|JZV223XbHDd2T__E;cDzNE@tIsCyseHU~^uU(|#^%rCaid{|J~Pvg!h` z5dFq;a1VQEVLglm9*G!q35kdEMlC|CtX-vzD_ zA$~>Z49Khh#>H2ux)c(hKvISQrGuwZmki_vdqSa1+^6eB!0J|Xb&E+Mc94%xW`FdS zPyjXzp8#1t#1ps)2W|r zvw)$cCvNLBZG&=>+SqMe0HCoO5H1_kuH%BUowpUhNn~AG_^13vUB=Zg0Mv1qngL8p zH*lD0NCD^&3mRs-d%FW8KuI1i(WLSNwuOoJdH`e2Dt2w*r!QZRgX@Qy9Om?#?L1h8I((5k*nG-GtwsNxDH{?;rycY zgg|zMw)64tFKzRSX+hCZA^;rom3xQWqKX3~3oM5gIo0lL&3yWaYlp(o9zJ%Z>cu)! zXxsEWqL}O2k6oi5=JzK<)fN%WfEc78?}OJjU+Az2G?V0%mI`Y7SK}~YY~VWDOzi^* z3$=m+*lliYGDo9L8sf*D@$@*h+ja4D4}43vrkBy={PncwJ%Lb}%VUoJGLb*jz^ak@ zYWh>95C%s$$(FK;*qMv1^$5yA*+uLW?qQ=iV=_dpNv9!YWJfzAG{f4Y2v%wn+r$YT z%}?PRF^=@(Pr!z?i--U8K9C~xKfZ)prn)orx*EO*g%%jqG@_;$70MCH@xb}t#j8A? z6trQ0rBUk|kbeY{hJsuYSSIZAMo^pCu__DfIj%;(T7m~(0{-2WA27hyJEn#zz2X)N z@(kB^z|@01{->F8mvW0ytihPdD@VHURNvGfJ%{27)q9{Lam{>Jc(rJ&wp}%BufY4i z>+}De12I6<(RgkUsO#m8gCVF}m)H41<2Mxxfm)FwL2bu4x;yJp#-Pq9`Xt*)UOO*d zN-jPfsUD}r?a-f|-t$aHOS^Q0ck*Wc=PjQh#TBvp%P;(PTHc>k4L=wdct1US9#oLK zGvppJ?sMF}FFf z+jolUI;_cz(2GhUH@1;EK!L5xQ5`6_@vFrFSFgA1Te;{>%4cY%6#KiZpV4Pzzn0~z z+@b~xqo*x+yghdoiRsSI?c$;|K9Htl@K;*M}TM)5BM#~Lz{ z|MI+2ve&OXi2`Fz%vr=-=Z&ni_>bVsIu2;$w5%3gE2POvA{RA!X;+}XF9v?q z0mrO<677fuIt<1wh#%)m68KO;j9QBVa;7uHv3il>1C_skFH_k@DYUE`lRpzl$80yF zyG7RLkf=xSuNG+3D*X4i*C`7L@;(K~pB^JeOF;ok8s`EtdlpH(8GIjcSPuS4BX`=G ztL$GXiDyBJnC*U*xV(tmYBGzo@Ko_nU||?A`U?UwSVh7|kLR3*w4l*`_dnbwlE3dY z$RAoL^2*aDtL{hYi7SX;NoXqSzY!y#K6uo)d8-zAz(<@ zz&7aaUqB78_n(@4AHqATUu;t2)H~>G@Ny;psKx{6+$hy0c8MX>_D=N zO-UQY?uG9qf3}3p*q<31);Sryd9m_waK4r+TH3m1I_2#tmJfHi^uD`$nFh$RDChwn z_{L5%s=65PsV8FbKAY@yf4KCSyu7#m!hbYsPFHD&EhKlD(bJ7b=jj)YPp4l-A=EvV z5SbZ_BQL)~N&@fua2DP>ZSGsk2@OjAm0B+ZN?smmOpc|{J1d3cIUOdlY~DMbhy%8Z-hqXT4k<1qUZ38c>lh@_ zJZ}Ow{^3XSoX>F`)nuC?x-ft`BSdD>Z@6sAP}H*kDvc=)+Cs`%$c>6;pL6jYqMmC>N(u@~2Q z{Os+=7qdL3i6+?~(l^D?d3KMEZij!Jby#GX`KAiXe+zQ@8ZHqqRedj#K5M1Fj*8s| z>`Z1NDUL#S>ZZma{;jjy5w(eK>V(qdga*M)HgZVS=dIW}VBN zEXCvje=!@aDBRqC$ZJUC&g(%m-|OfAov?9+cf?jZuzNeO*|W?3)2(FrO^@@F{r8sz z3yLHmn2z%wAc!2Bki75$u#R|VcNW-vRR;N%T%+oCP${5}Jq_dvMninf(( zBr#P(avCo58>f!(I4TYW_Oc(@PR352Q>hHyjJ_i|Whv22UD*MwG`Nnio9Sps5I*02 z@@QjXgZiRsr7iht?_G~JLS8R~RVV2X;l0Er&YOm0ag(=Yk~}EH{ID3OKQ*jmM#;gl zQUIR;^se%|?D7#)S5kd7-7NMyEDC`|S8;UMYJ9gZAq|;HHe#;lbKvuC94F z&N--Ymn1wws)0H}JtsS1E0Gz-#{o-Ec0cSp3Y&M?ZwVK_zZSs+sbkE)9;k%AcV;uR zCdbs=053ZJtZ2MV9}^rP6hj=!wS6b4!TspqYyNdg~inj&OuV@CCi>SksQ4VToGNqMRTBSUDpUJux`vxl1tu=9PUW`M>UmTK1 zPiLNS^ofrh&-(bU*K|MohCZZmlW?=}%sBqw5#kb>(nGKNcp;cWyV^eV!VO*j?uLfO zp>kWY>w9Fgqhmqh^2_}IO}q!c!I@+IJl*g8mo%`dN8-ZNK0f|1DR-M%ixV=6o&!#O zN%?DAU3)eXM|OSLw=c>b$cxN-4rf0&r+%R#Li9qXk7oOY5p^MKX83Ugw-%SW7Gh~1 zhjMW|iF$84wW?9dT>YC=!ExzR$^ zYb&Wnq6Vz`E!U){xN-u-l7nCD{Hhudrqby!1T`Ivbmq5W}ku1uTl zkPIveErkw-E_kWJc+9({&I}=ZO7{Q0vA+iG@Y&$#3`qt5;N44SQGfmIXKK}h1vftX zxNb~0y>F7FuBHy9N2bO@`NvUmGD(qVRGj7h`Eq>V{ftE-z6#e=#op(FAXC*LY195e z<*kzQ?m@Y;{Q?lYhZI3gi@G9*3Wx0|hS!BZ!Q%7E!JGdIkc@g0yITeyhK)^TK04vD zw{IM~ivmKqm;yL^4T$-uZWb5vE5B{f5`JMmg;bl9YY$%hs5PITz^8Sa=WVuxk=&-2 z5;}Cpq${F;(ae9S0kf1t<|g+` zj21s-SX1o^`=0Ed7n%wWtX3ze*SlFgH^lB&-pp%=ywK){pnG;;J+&KMx`GHntP1+)LKZ$gK5nKJ^W}8DHj3N$qTDe1n>&Oul=C_^w$w52FFXVJBB@Cn$=_%1I{TQvwNo zVx94jv;uqx79}3>#D9QoMN|b)vBD9OS)QKL)N?c&PDh9abBnqT8XkB+Ulob zpBZEf8fZw%Kdrly98R0=ec$cOcK(~-kK1X7P!FT@)g)(h3@Na0rC8`dYOb_p{eAqb z2udhF6f-XMaG|*h9!;G9){y}8XeyQC5kD2`8*MZUyr33&@ntu>G8&S3z#>|K9@z~f z%}*+MPr$t)hT7h%osDb&xo6wG72 zQ@W_o@iM=DU;ODrf&JdUC6I?4ejA6>uSE1I8k60o7RG z*JLqmqvX+t-`wAwPIHB&b~)#9l%FM4wZkef%UVe7K}R`V{?X_(|2l(7lebX6dA*txlz)dayj29a)v#&q=x!s|4bkekU#3EpZ4F@ zo~*fmcho$0*a9?`6v=)#?U4kR32F{o*|K;AHtC)m)cp_LM4BDZ%eU+z`vde`Wuge7 z$L8S)iHDC%+Yg&RQ!fU8>NlVAB7d%f4n;fVk|JyT<9O-IMd5ido~!0N1JtVbj<1 zPuYH^de$ivW!SBF8GDSX#?6RS-3+Q&_Q_)bpUr3O%$ND+t!ELhL}9GBP!-AC*O`yZ zNiX-2skfm=Vlm5_5^BYfvQ?uVjDFUG`rY*4$rFLlY>fQR$F5ZlLvC4P_YO;ocV0df z`Hb22IEA{O)IOt_os{GuaWJjZeauw)CPumyHpI+`xEe)D-J|_gn4OUg!qx~Heq+@B zXx$D+o`UDD-jyl4Y7iEnv@bWJRFh@YT?6LzX4k2AC^Q7C8y7j+*p&X<%KW(yWkoaNUOkB6(Rr}FAJK4`YyN-PP z^E)|@CC~4yk*r!njU!uu-Egj~iBSkpxj1yXlNyq;5>OgYyQbe|zn*}jq59*mjuOIa z!FNA`&Iofh?PrY+d~&|)PUR~&px5KSI4a3Q(km|zb_?_0s4P!ux{9tm?%ezsowdk~ zZ`FMUPk5g^?0J#A@Cn4!W&GL*8GmopKaYA_176IvYN(qZ1@C>k3I6p+cphH4R!|e^ zj8;O&r&f-I(LOT9y~XypK@;a&k*Er}4daE?--2F|sOFm=pFjTE8E7qWyU6UG|J@${ z!;}U#O5W9_uZp={+#I22o@G1Qb-^Q^vJq^dH&T%Wv{zUE^oYJ+A%AeeUNXdg_i6cE zK24|lS04rbcizAG@m%}1eL@(lR0yBdcbY$SD^kQ(;uDNCfR6arr@%(nc8+9p0EP;4 z+-;$+zuW!&6Yd>?M$OZrmx?<|);@wtgXFR+}7W{(q?Y z4sfdf_kDEKk#G)0*()Vm_R6NLXvvO{MCaIhk0V(rNvKdLDUrR2${ryrBV?1k|Ib_X z`TqXb)z#JHocDQ+=eeJIgw}+AV1WF=jBf`tyBym}kqQ-Vq)52V6D=}h;MdBmT*Qgw zgT{3I(JAv@*I{+eYj%$M!1$3(C~BEa?{>{6nR{~+c?|3l0=9KsT0`4$}$Z)qRu<$j44x!w6$s@ST4*7$rcv&|&D(Onq zZSuEY=y-!!3c+JH1l$mkWyhOG>AZ~O71&zN@n6ok_~AvXR|kQ}=4TFL8rr_<;fI9@ z=410TMp;!k7vgv)A**m$JZw4{?{j_U5@AD{>o5heT!Dl(|FVHHWoQ(EJ;kFl^*h# zmT#M+PYt-E-Ay{T5Z7G5DH!=VNQ9!j@uO@%@$+|iukDnUMNggQ$I5G_j`FTl{K{|x zjb;g8bDtsyA!`m91S8qF6QsFFw`uG#`O+TRImD@hl8*eH>1`Eb5Wd+1muU_N7%l*l zJ0n@-h)+^KuyBmQ>hsRi``YB!rs2%eL_;CtJ9rAn-+628{Y8%8BRR|46mhxl!lN@! zSk>)>R{?D5;63Jp1fm0x0x=eLgc+_AKnpm~>gBJUNEw0L2RoBe0T5$26+oJhD~v&l zNk|Xh6j6DLls63xfz?3_g!NQpzQW3?50i zj$9%15_%*C%}M*%Y7qtDAUV&q?EOq^+rIp_FD0`LK7Mtc>1hjD2Om}~)(OUD$q7co zx~(HG=7Edwag>c$>{e?f$jllefZ#;m`jF4Cs|lW4b3R$ zPkGuX>R2M1-$+p0o})WUXy~pE#i^7DS_6%WP#coKjktB><@LY{FA=u1qno3$PMQ`q3>HrrUCfOWk$Qp%5l{5tyecFdqDaj#vL;iiw1gtT;(p>2E2;4Dt}V zulgZpn+}aQf?>+`C7REe8gx)`IDheHSengO00}mUjbY?}k;EY*?^Sn2jp;Q^`s1Ir zkO!e}No;s6BtA4`QP7QYCWM&0Po+IMCykQo_c(Uua?iAERWTGETQ6pkJ6)8Wn~8~; ztX}~3#=1zhJpbcI+3&ABLP=!~y(f2_JCE#x6$P-{8~EC#BKP0fabnaFDNBd&qi70( zE1DY4qGZYhUNsymW(6}>8XtN#YNCJZX?dkGd*WsT<~7C(PGyFvS4jR;*=_k@{f5)( zDoX1NkcsV5s(qwKsr9G#@us&ljA~KvvVSKN@t45G zACl0ctnsCL&)wbkt;m7>`{pQe-;7-lMB7`y zkGXo-9<&9qpY@km2c55>0S}W|*`-LynC5%9and^`HH3)4^YwWBt1xtt=B!V5%%DQa zJ~Plbya43xJF)@&Q0&|wDKMR1d-44UNg-X!j>74J z+TUldd1Re>0Tlvr<%YR5guTjFr(=*O?qGmt=tLrhY?C8RQBQJLftJkp*l(Odl(nr6mQ zuYRc|6vs&pyJ@Kw- zYzMz&_Dd^nQ@_Fq+APD6rIv8F zel_Yf49&5vD0#RVn{0$#=lV67f&j6}a%;blO40cE2IJkBgly%$Q|%6ko?e-hbPc%B zkZ{|W)u@m6rF;mFO0R|mlhY+wL~$|P>tvO`=Yqs`0ZwSErK~raDf0crra_X%;y_*;SFI2o68@a- z=x@xDen_r=JwZ?oV~$y>zRP&3@czVbN(772nxxM2%b9xLnU7WplmsxvE(92?2Yuk_ z5gJ6SxgE2Niav-sS6!hWByemOBG*i`7YZ|u-0C4mPMGgKM!Z(>m;O8=f_yZTZ>$u5 zt1)#+5;+R-uCSQm<40HAX6~km+5adX(4!9=VdgF(h%2x~)hpnm>ibi|fK;F6JbC^( zT&{6G8cP&B}|I?6jGzI8{P4{?BiPsh?jp zh+$Wmp|#yjyY}G0G-=s_XZwJD3txO(I0w~YYq;BPvL)Jkc=|&u3BB#E!Q*w*t-N-C zK5Cz3Se=INV@V=Wn(6Njasf;CBeU=)$lbw=+#U6R;vz5ttZ*XYT9F@RVyVOG4J#xj z>$20oB&G_;<{8x!EH8c@#b+66r&(G#$r%Xz`R`{@CSHpwJPoZ-m?fULnEK}-r6J=P zZciI$^FJS*`}xZ7J5GliPph}AR43E@4rsw!0`*>;>vxWv(a)MMYKODWS*3Y)Z81z^ zH!sHur1GS$?7zAtlxig7B!Yf0y>#?(iun7YFCZ_v{aa_zpKr%`lDORwM8tOr+_e2f zjB88u3!o;so=TDbf|jM)%&nF9Te!DLD|v<5&{6|t)2-1blNM2dzR`Pm4=Ghvw=(g3 zg;ipDcY5=_bV1HAfBS7d8mL0dNf1{o!(yjQSSVW$)_Fyo_m2eseguaqP@k6g^ZwYQ zl~C#(eERR74~#HTzo1%d4tJBGtjM9v5h&b-b>26D5gA?}VP4w}c}{05IZgf1!7y;BsBWqDPQVv%L1%QT9--3bAgFE$&v&c!33wGH zBj+S7u^b1~{_d_YSn2hY&9O@V{`c{-`+xQw;2O~s1&D6HN5S|To$@36wEby0Hbk&d zz}|(q_7nQ?m2Oj4@gH8fh%>!0RKHCx^giCcf|#en@`0JcswqYYY?zH{XI9`PTF_Z%e96=yb#hR3hN>m`t+;9WFb|>9=yT0 z6q%t0u?L&AY#5o?!)ys5eq=-2Fb6K=IHgcZiii{ad*H?B0!8LW5&d=}L_${JzGPK! z^9!}%>Q|n3g@`gx>xuBEByi%`FN_iPx${&f9;VDl7WfCL5U^ZvK_=v$VEfl}(tRZC zR51_@zP~{7SJr@5Cs9lbo^k!~y_>v&U@cZKWVDQ++(PJ~4=+`1;QFSqP)yi|qzLlW zH0x^BEf;By{&|3~_zXxyO5~S$^wJ1q8WLI~5iqtcLNr*$J{x0PW^FcjV7l7F-6Ez8 z3^m5gv`)h2P#{&K-GoXJFoD15&LoLkPH>Z1ZdJ+#k>MP?QYTZd#o&lOn5-2zPH1<7 z*&a>BcIhjfXLFmYv(rdIb$~v6L8P9)V`$_6rgSk8MNph06POCaU&)ee8AwGN8JH0w zLFfT8_H~+Z%nXiaq_oD}4XB>Q5C=N2y2M}lu6*-rWXrZ>6cArakdYZ4CxSR_e9JcO zt9t3R@tbS4N>V017pacs$rhf}dR8chQM;cz(e$?u;zs(Qdktyl|C~w$`Aw|+L#dz9 zN{l0nnPmiPk#JT_DSYhK0nGODjNXW!E;NY_>YX(JWd;lJmo6ywS%c4@J*0!iC4^{1 z;eq^ITvo2!@sNb=o!-j}yg8VsU6B^Ec`dP{Ejf0SX86vHA(rvqU=#G@ zqMCtlwoDy6W)k;lqdslCeLLmmmj_~WU0VXnGW=IwKYU|aQJ!>QYdyiQ5PgCsCvxfC z_1sqjTRGq3+=r&Biqy^sL>+?@!d=Oag>KMmNoy(djzGX5MIU(^Az`Qr9X#QN{9 zQ9nSE7CXX8evpLL|0#v;y`xv#O}sBdLCV&MHQ62!ijYRv@)YMj2)RcdEx)Yjx1?~G z*IuUG%zKFT$UPH+Wm}43@ZmVh60k%=sGr^MZz#ET>Z(ch`xc_g-iO3Sc3uxsV&P4l zW2v&xv+y1|%zHH}UiMQk;cUyHiQrUzx8}~@9B*mc9KL_B9A92y-1aGkR_rqq2|~So z`5s1dysnfP|BiSRfT(&S!c&|GjDa8-E9ll}{{%aUJ}+M5;!frfO^$VT%`$2Gv`9UU z=8|5_C_8CN4;Te$E-y`=f4Aaa5|MZ99RC`efoHpuf7D42Zaezw^iBb{{!R^!5FxDkn%NPUF@>DqJ0X#iUaH-l14HIyJ9pI6`}koK*fI?DD;*1DKk4a7nV8 zzf!wy5u-Z2Ysl8%fHGu~2;!C!)=TG475GH(FKk7;!yzezRJvDB?e0izSQle}1zYj( zdSAJ>w2nm`#3}4onAuW^UTA{IhqEQ~K24RG z;uP*(8@gJpyJC8XZKRDaPCF0kGBGul2u}6y5y#T%J}|A!;|gM^!`BH!YOXziR}=yf zsL%c4%FD^!-&LtOR9eh1s6K1m{`L+lK$H3s_~G#Kk4-UXVv5UL%{S zrMBo&{Ax4f+PmZuXq%GesT&;hE^Ih*#nVp}wERlue<$}%%*(L-JiauB|LG(7_vBq~ zEROv6a!i5mje?!5o^@uZ8tY*hVDWazaGYMYboQDp@FiGQr^zm2!dxcPCHnz6s|Gn9vR8}QgW1M>k!Dip3GPIw`4a6Mog%7)IJeq0k zf=E^5fg$aN*Jky*!vRbUA2_;l&MDlUhmIo)OX>(5`!Y$2lRZ13QM=@J7JPr^&!DwjZtzj$H0?qSU)# zn19EHyR`F-lAFwM5Ka4uux4Wv^#dZCRmbthoR*xR#OGWv)IjPw>p}Ude_j9!P%fR^ zKG}}?13)UXdXsg6_nVQ+qz3EnCyxb82luO6=!A+5FFD5AcfuCh-yok46FWyW9TuI1 zaoc_k{@>5K=$XN?K7@BM2WIbI-b-pfWJ5-{`=4^6vUC~x@8aG61LW7Nhsf?TNq0@@ zxIjGVA+>K8|9q`URlswKjqyqE{*^Oi{*VP&m2hzzur91Mg6)-v54v%T6gTpw@%KXo zaJNKo5E5}Aug&z*dI2)r=EGWcOj5k3`xT(B1c5%G9_T%#K`>&8pM32RJesHul)e3)NDXz@%=vV z?Qdl?mn{VN-1v#G<&0N#k_~VMKjJ025tnulBeQb0;!6={snt~SG02;;tNsC{iQV;! z$`SAl|GcE+=v}eh&t> zcBVTVaIBhvedFpT7b(&_?(fR)C*i{=L4BC-*K3lZjyaXvq^(?SA$RzO0FE2d$Aaw%)9ha55*i=76 zPWK^D%nd9Gd$)!ou0zPn5ayj(7&n-GGgXV9<30U%AF`If#&mJVv?S7F20P-?L%&w(_5~Y7|_2ZCc?&NoNRnNz+QGXN3GO zr9$cPcneMWpYEVCQ`)Nc@KZwSS<28s7@*7`iS>?^nV*f~c(21dZ#^&^ZHIryc9Gd< zeb|!>520-7O=SSnXZ!4I&cTC;aQ@XQl}(y0AEd(=iO6>7oeAk6U3|_I8iAd0^MT;J zC!eo9mnWvt$Fpp%6r%9bNYvZL(hA~;pUOSw_=bWwyCnD^nT-7M8?e2QT&x2#@oawO%KId1 z$5Y~|#%Eg&ERriwRDG?_Oi!M|EU8m*&C>Zd9U@_@iXXEg;_N(CrUn7A5Lf9QcLKDllVh-PvQYZHktSXTW(eD&z{Yxz*ca38+$N{yr<%7 zuJo(_cEtZ+(*1YjkBA1PDk4Fu8$_pka$bz%?a{}_Kc=bID0db?_S)NBV@};u+cy#1 zMmrbB7Am6GZzWMy8Xj@fsNXB?2D|Df8j-x`;|%N^&WjnM69;ncA2l&ew+Ay%F0lt+ zztZjHHcK_gE;XJVm$Bf73c*7Cz4?yqyD}@Kww|i+c%K=!`OISy_z~p-uMLMj=#Esl zv`3a3PMe{Y%#@B)P)*hl?xW^ZYZXi#soLP1vcxFM2u$Tru05by9V;GrrPRZz759q9 zsa%EVIbgn zn5)o)miAH9AD=7~F(ruOvUE)&^Yq8-WXfnlH`=`d<~|S%(xM(1AP7j$0uqe)^7GY< zi&e#idL0p}So9+#h@gpK_%`4!_;20eBG%)G;GqzVEuQpIv=Mi+8(W+`On;%3iI&dX zEfLa-xt@<)sAW?3c&%eoC#iNyzgA3HL(d@m7!NHy`{~Z%V)A=9pCr1Q?o1cOsfMxn zylVl^STH7qvl42|_0x*WTR>DY$Fh2F!JYiEj#oiQs!Pt`)ZgoA5%YO%O`zWQQ|^m= z?7!m^<3B?!k5M$MIuZA+^845&^O|~Am56h8I6q4+oZoPAIOn(^m%U6t?=AGL!rp+% z#6?E(#~^o9H`e;jV$D!(%=se5{(WalYL}59rX=3pFML;X}+>_FN!Dv zhxv_vyjdK(IGg$Q-_bATzjsA8vMj0VFBkzpsk|bFz||upDUfaHlG27sABy)9N>65L zmJ#S-TOFnir4Z zX*1f{1aRlc#ehJn8?o8tX%%ObS;fhs6Lb=aP$m6o*%m<5BFKASpm}BPzHYq_;3GGG zv=#}l9!2o?C}ZSsI~2?^J?91{%7G>yS6$q4m=CmZpes(1q`^+(`rD3)^;n9jQKl#; zvmW$ELKoW?)gl>BSn$04Qw?MMv#=LE?sOH}2>iX_F#f!l&tc0wyo^^%0HDIa-&Pyl zV|=0xx6#|U5pY6ryeUJ${`XT>AaUp=wfU9vuLjwNli?(&RTu&-G@kIj|LET``~5j| zhUd)g^VdTE?U6r^S}y_6y8}jn2PupI6}Yr1paS=VPr!ekh{n^R(qtQwe!zQq)vn>0jfeiA^E@O;RrI-^nn0gKq;e!I$B2| zu8?n8qCF7E|K9ID4YvgH?Cs3^9(p#nBGH96k0|P9-SeiN+}?J{8INwmn>V#Z&Cf&q zBd{mv6m{!bmVQp_($InYbAay+APJ|G;6OcehR%k!LLtl9hhZRGo}FfY^xRVcdKzl? zgaj~lMAp$^WF3*v>8Ahd=rYxZ;7PdxPUlJ`v*5>b{X-g$L0$$@-69iV1Z&~B^y+>I zh-Z}2%K=?-g<(w*l3DS+Q1|rHnMyMT`dQbHRB3Z-6F5fM)p_AB`iz8ko&M7yy z5aI_ox%EjkAF`$zVO~URyd^8sp!BhaVk5tQZwVeNLn@+_{053oB>vXto7`IB8mP4g z))z+y0B;`v@`G7lBly7~f^&QDmx;VAZw@SlIgkXq&~RzufI#e!R;PFWnSPPOOAf6y zux@aG%-mADC1@JHOYK%seD=w*kRH#2`l;1J76>G4g18}hSK#^gwSW>Z@ zhz4{ZA3v%}Qw6$c8ixX1>o;I}klzC1i)nCApBoCmoZtrLv1Q6>5;o0va+`OMz@8%{ z?euF1bbn)*<2M?FzRy9oUeKu@q!1uklMf@eIlzaIoNPyl2WXVuep3e+`WLowyfKnV zY52}pne{r_t*sc!Tz=DXuP?%OO_%n!IO};bfPmY{({1)i4X|#DG4dHamouWnWYO+u zF8QZMj7jwN6ac@aYXd9J#KiiT_xgzV z$3@SzIlIYc{oq+p?H1`c`SNiwT!}@%whpNaUnQELpKt`4M|^Dbgv7E0rA-?8K%z8d z`BJlV3zE;c^SeQS(jO~?J!B3`XW+Z_GbSmNmI!8B;##dx`!zfZBt^e@VHZGURt%#A znv?iBD7?XxmP?=6ZOA`gppT4FXx%J zyMrYtD?_6+o9v5uoME>%nf^>_s(`JN^Z@Y}@W8a(QDO+ce4WLIac}$KCGABjEk6K} zDd>cyw1W>HQ{1ZasC0w0h(NLsA8C|Iz>%X8nG*V*|WH<-)yK84R$D^J@ zBixfs1n)bc2U-qg%dV2Y3!Xse&D1eO+4?@{Oud#pZq`TVw{fryG(((r-L#8{LUs7;W?!CouL$)%5F1a<5B29 zDGTde2L6F1zufKqv7dNMVYAdU?;4WKWlM3YAF=^%nbXzx0vj>4oGDwXR$b5f{G=?5 zLuPhiqV;~M_L15FG8Tj_0FL`9hUH#GFhsi*v)>_+?uhLsZyEtN!7X%1O;(zuEh5ig zzt%0yL0S`^OMTrX3z$<_JsT;14XhA#y&i6>HPVBXgzSP}LPT2f50KHmU^z(b^g1E# z?+t>D?%)sRf2FPR_cm^SM8y9AJk_svkoF5ov|(z&yE679Clbnxuxh{6bIj5#Ms@14 zpNa}xP-T+SyKVE!@3i_T8YLSE__B^GD0vO0Y@(QD`zgfx%^VR^j4a2KA3tJNewj~} zlmm(ETcUF( zv3~Y_*&{jW^tTLzLjEBU`%x{b@#dtGA6DuHy!_dXX*H@(kId26N@irQ~YJ z=u~cRx**Y6UPDZ0L)rOA>ERN0Rn-oLA(MwL>m;2Ki`V^y`c;uI^ucC{XTRxxgpV`*{wO$F{uHAD1+RYcBPT%MqL8UU_{P4`WMFHrX}n=Nx}7m^2<3 zz_hP?o&HNJRc2KotL4!918je)8U!ZU-f{SpF#bAv+dI5!GN~>`&6wOfY>e&SB*P9N= z+`a$gH!`Fk-T%Q!;t#D?4e*!wrY<8aVj)Y>Da!N3BOsC#dCY3g6j=hm)%-V0vGY0_ z9ojS`BKQ{;yel*8k_H{9K<&S0eH223;#iQ%`d2K;-=<;RIct1LKJZ#xo=K3j{b8)S z7zsENJx0)vtks(znv9qJ3~|(b5EOThehLWVf0yH*Ux4z%IL)SA_(pXQVRBT`OM>EG zL$ZZgub0!v`~Uwr{HOLrqNJxf62qwO9E*C9Q!hIHfIXji;5+=jR~pIl-%%8Y`t{iZ zp;$shgIveN9`JUHZ`6c*_vvf|>G|bX^`B=bO?@^jtz60M_TZU@Fo&Ld?l}eEU=7`L z5t3(RJ} zF7v8)BViM>Yj6h@LEUEUaldg!@K!6UTFw0|)Dl=zDRdfFY>YFkL4mAd{0>wQk5Tp& zJ1*01UR~F%$HqjQ?)>>?BB!1wxY+EHv`+rJW`!|ONS(_%V8dD80M*zSrkYZ2eaKsT z3}G#f#jI{Y!o86{3F+$hQ)kH~?DHZYfPGYn^g`v{PUa^WNSX_Eqj1&N2FS1I6FoMY^{X1)o*TaHh#rRDdqhXaFoQ08?Q5kuFHTvm1b- z>*gp@*1DWCuSFaB)Sa-_uX6YNy>{-tYm4mKdU`hOLnMoQbsO*{2V^Foa_=Z~?yg3k zb@Sm~+%E-@yrck9@_i&bzXD+CS$*KXetzgU3jnVpqCa2CxSaVwNpqp96tRBY>#PgL zPJ9E4pr?CKjNI9Q6s{ruvSmHjo*SVj-XR4DNTWKsR4i1c_zHw9>I&gR434DnlHZ($ z`Zl8BUvc|pqB&_=Zu1vM!Ht@Ojt53wgTX;U4fkiaEaYN93P-zh2>J|_K`~U;-;e>0 zJ;2tUWQj9sXZ_#?8O&aUIl?4l1F5icnX$s0#ILmhBi&1hn2)?*#VUXZ_gO z{YeR}WTq5-(+ea{yhg73yb1QxBXko7Lz87ady8*nA7Qw51uw7)UZte6;HmljiJB zcD((gybST}jUctCh2r3+h(Dm_2@=|T(*IQoqVOQyy-A(C{uK)T@hAX*JshJDcOkBR zR!wZGT9nJ)W_Jbe&apO1@#MP+ekF)Y1m#*cVw48yBT9}5I{?cHy7mL5c?c}dej<)F zG(Ry>&0tv-s&phL%rnuZ^FD-}@V)^HvM?MjxFwW)`kLkUqmjh^TK%{tt*017ZM zC1&~ur7E+YA+AjvdOQ)UE%gOjn=kolyuT-N(0XV`f_iPG{{gMbsTw?r7!rm)8i{cq zu!`zNh%Yt3Emc)h>xSE@ZxiO+@#>)*S+J`j`QO3_LOk?1!_cmh@^1w`@o@s~S1KIQ zyDw@^)|Yy}=Nq}9T7}18!Ge*lSH!KqwYq`@XAf-+8DF*Kuj!TH_krZiY!bMV;SdHR zFl*tH6{UUC>Zi*r$bwQ~4C|K=sFg}|MnGj)ViXYp7wetb^h1X{KC^}PI5I|~BM5$X z4*h_}7W&N_O#IR&42WomM8X~K3KUFl91GE) ztRhomBw^y0O*Dm`@oYC!q`0ySiT{`G=3G+Wy_!XAl^2TiWCCAw@-)Y3{!Po6IXJ*? zk?7-0^;9@Mov=ze5xn*Ge2>y`E4sC zoCnL0cGJ~s_7D4zmE<~t-|%$iMg4aXWMhxZc@;{IV&*ZO>c%y8!OufW?&qBkN`}_C zj?q!`{y}OWKqiGb74~B`aSp>7HA!k;&$M92ZgCA8+oXM_1grgo^R4{>EBC`Ie@Z7k zAlU>un8Z|((4l_GG*2y#zv3+jhfw_{Q z%?0<#BJ|C;O3<+|rHFkz?QZ-ZuSOUBb89PVaxafn=9_n-~pK?ax5v?!n$@I#av#`@}$4ivq?r)5vd{~qjjSS^TI|bI(Br3cpL@FA8 za8PcDXjbr^g+IXcs7Sl4>)(lb9{(si-KpTy2A$9D?(wt<2Y!jeWZ9&OEO!FfQM?-+ zRELb+lr2atj*rBJAI(w=S|WMzBV;M!TH^9n&<~Dvd~@=NcVv2x1t9KgK`VBAqttz= zarTSo%ETj)Se>@85ve4wBy#ql^kqu_#XX((=T?3YROx?SSV!wmm5p#Ps?eRe!ysOe3DbM5iI5bn70M80moVlO(D>4)sq`F6;4k zSdQjkzTi?+$op?fED`R(v+*R({j z$Xu)7&0PaMn`7GW$k6CYzWqRPbhu!yg^eeG6=pEZL9!hqvsAjsFd)K``024vA&!|C#^(EP9Sus4nz(+A`edb4Zn4_L-t`(vAd&jQ}5R0a?YAF2c zS6CZRr~8>_4%5qF0+{AbCmd70@Z!i1lNRJuXB9_Bm-|AmA)U~u{=R`?O!@j^AnPG4m8`iSs%3G&I<iyqC z^QN-A=&Ue%8bY}y)2MWPy$y(BKfs=e@0U7j+XIP4jxkBXIsfZdB>fwl?-|Ss`vC%$ zqaS2lwxYAYj4tqr{&>h-6{&joUBzy(G`KCTHE>fgh&76WzzMpOyA}7JT?%aHWH&f~ zmLk9nJTVtUqy0Iv#s*}H{zuTQov6nPqTNQL;CYcy)n)Jx)B3-t{|EUYKzyAM*0v|G zewd6&$rxpF+Lu1yj?c1_JmHdmeQe}N$}!R<=!@=X9le!y@x57Zo%Ly(I};pKD;gwc~Qe$ur1~J>2D)_v#bFGLMh8P#7sw zZvT>}yNEF#$?EtWCKVL!r$gQr{64&`O9jy0ggm~7$ z&fjAV1AuGHoX+rt^YFXngrtpCdBa4aq@xk2mK~0yEyJd;~z~ujXji_j#&6y)B0DItiLY*c~{p^H_-R zXr6zaRSemTp&wU_^_wDS@za=y+fDGl6QKyFR6w=u>-Z3lVyFghbUw_@JMfZ58%;vE z(1}y3OhD*rvJZSj%_@mp5i0aajX2I)nX}SiRC4Q;iROr9@~Fn#*GD`90F={F&m5=9 znSv-*A^&jx9GEjZSW)G+tfoa=h0*%pyu>Qfz0DO*XP4z8^m`yXS}b03b%FLj6DortU>pHm)!^$X^-@4FKl(**yMj zV#)@9oJzp?u>{y%(r#F%&pY78+7Cv0jdr1L?1A*MdP2;q@wlNlGCQ`Yr|d(7jFEZ1 zs2_+tr9a$jZeu7ns{0tFl2Lu54d^I+J|fdzVOGDPrXNQ;hnJg&j<~el{?{p8LePVw z6_lVW!Gu@BTQy&Kz0Q7L{{5{s_Rw3;kr{$t%@njrc;LOg2y-v>0jf~j%_rqREG?NH zEGv;TI3KJMU#$=-LCc*WW;X>@>KMFA8XMxS&S0t1Lc-vogzjCSYPZ~=Nn+9v18;HpiC?n0O#fW zC?2uuaf5#-ue&ys_sOOtTFA*qOANpWHF!kE)=Y?CR7*cI+> zPV;>diJ6FSJdzWhr=^^O6nTqscc7^c>1cj-&Nrm*rptkNq@N$Zs+0Sn&sA*!tRYQCC9~8g z2Pq5H{n3R8x=;B;4dyLPctUPu2xB?+PzvLOzec>}(VF@q^-aF%TUG(@!5tj0LCSTq zCw+S)%i`Q^(rRP?&xICFMtJWQB!sbtXMVM%hQ5K1t4{jXzN`tMgc6awws}lMr*H{= z)AO_vMnpz1mzvSw&b;~hdVx5LtcEs8S`<6u6`1%NT}BI}HF4>oq^oyf5k#`jc8>M2 zC>oVcL`182ltv*eq1@9=W!i7x zPf`=?IvY7KD8%#pO@lT0?(U%%&=cL!ppa#ef#?|ZCFO_97F!57%#L|NG&u&N9!G>u z@iJ9y@PfwQK8tk`5h#?}rkn_qH=rq;di^G=u7l@Ysrjej4*C#nIZLvO?~dT_cS}2e z{Vn_pt=-oJluZ}NCT?#B&)+Yc{G`x+7rUKd{ij#R3=MtSB0Z_!A}mnK*6vOm z<*cAURlscXK_uzE;VZZEq3@IRI#^wJ0&c4$_!P_3lq?z2Klp6A+O3v`F@ue!bFm z3P0<|(e>Znu(#@Z`@4+cbf8qAP@t|y#A;bLNLQvYrRJoOQuJ3^-D#_i)C&YpPf9Q_ zr%nHb?jJLa&{IgF^$dRi@A0X)`BS=I`k~X5YfMcS)Pq$X9=V4jxOH|eDFl+&N}&`J zLki~uMmJ`WkLSHO@!(UZPmw^zStBNCHT z=^T3em-MGgsmFasKwTKwc%Z=jt{%c6SBe>?B zYnn^P{Ewa#be_7bv7=ae@n$j+cVKxWt>-1wv&*u2#4x#ixb= ze5vyKRCdV@U$3q!g}?phXtr_YRE`;_AreKJW3%otpslWBX9{1JMvY)+dg4MbF$sz{ zuf4aJL5L@|(W><5X!x?ZERy<&`kJ8q90s!E=H8Gbo^m%$^xwm+MA*p-pV~T=S(DH* z;OCkRGXrc#OM95o)s{y`)sBZ8%9QuADFW7N%{9vnN#|;~RxE59Mffk?j3VOIk)9O+ z;`CIRRJhgM&b`?PrCBIIoDj2Z$tvm>95Z`XbX(Yz1r<8unk<aI!y^~~ z@%-@V;wT(l7E3=|qo{X|n7utkrw4LKr z3LE8_4?2F`yMQ-;IM?c{rXCXcUee_Qy*kodRHH8*_EQxpy#L?+Xhc53rEeYmDy%B# z=-*esglIY?o<02`CS8Gv_izu5L>vJoY1hwincl)^oX@la{BLJaJ=g~cvWhFvgHRHJL)msBp+?N5yi1dqyLchsdjw@wH|1>_u02nuiEXFizbqD zttfL=JEV}pNc|Ye_JRo1ifY_MFJscbUis#}PfpoH(2MeJ6Kj4FG9{vkt1z{uv6A~D z6NC7MOI<_|dw|pi03SCCpdg(=oZqL#!rmZSxctaYr9?NFQj{S$cj}vA1X@O-=1pJ_ zL-PPJ@^7N{0dM?i{V>lcHz21BC{f8iY%HXhE2Sq{KCC z`-8?|p%e_X-E5QgTaY1A|Ito{fsLPoww}hRZ|vh+jDI5g0=(2BW?2s~_mOTMz|~Ml zie}aQ<;VHUAVZ***6B*vddZbAnt0oh>6^U;8~ub@!Wgs%Z_Rd)ka-eq5Qk{tlnQIy zG<~)1Cu;V}AY7y=P$ZP_%@^LD-tezrF)|Ay-al_C%~aU{iNwyV+!L z=fFy8!$m98ZnedC_iP>+(+#i;bI}M?O-tqAH4b`on^`fh`#>!(s#)LPFbAmPIbvZ& z_N~tqvVHe<^C<$3u1I0i9nRwH*oW$AknB~%o8i`_&_DJU4_M{#k*w5)(Kse)sV=o| z{^atrWmFShiz${owf5a+_0PdFsSZV-l!ge?m&4fCS!eUXvCo?@H7Ex4QZX_eVH=Fuy)au0^=vU{A8p?4EOSnf4N;R( zO;JKLP6yi{+iokj8`&Igc~Lgy|w;f$X(T7 z4P0-E9h)Uj<$-&?2zed!4i@t-hJ^RxZ81kyDJrZan7kkIUT;_Kgl)H};=5%#Jqzx^rpL_6=cWdA??%j;0!zQIxr9!b8hyuNCzg){p?xD!(=P?L{D*WN zo1uDd&Y-7TIFdaRQ|p;Mvk=dPB0TpQov+*@KW~IGjYk4EhbA6m{wL@uA2TS5I5Prq zW;XKNuAAC`W`IY8L@Q=GyJ(!A=6+8$bk>L^dDqP`cxL(Casdq7qiIjr6WNV&?@Pu= znSjFgO-&f9+9+M^Z^XegVtEM~m?v-E0mF+@jZ>lHF-%ybL%3{hMQ-;)t znge01EsiB_93dP_`=S#sSS1U^6y;-fbH;l1q0k{sV-+K3IXhba6V|6~YIYriTNv`k zHd!^_C^_>^8PJ7Qe(W}}oj-s3J7T7Q{9wI;p4ocKf2CP-;!iRAo{qSjFeJ@KcN>@1Lx=c z_T8B_9XC-Su#>ug%seuLufN!7(!82xNv*b8HiR7A7HtsA=n5mvNP5q5vLlY830oeq zX*sc*j5;`(+I}E$^mySZwk|a$UKDr0~4=Fw%}EO4jd8gpd>+meA)}jlqNkvEH{SdsH6@N zmh_Zgk#c{|XA+T+lq^|VZS%||=&`o8gTCT*qopnD&!-$&l3A$j} zZmWy}#a3aMGujK8b23OdWsGY0=E=K_!~+#h=oHnQFiN@Kxis|57*Lx zT1AAlpdU3x?BMlOH3lL?==d~DNzj8{ChR7ce6Rd#!ZMYIDlbc&ND4;|8laFUi`t(c zoy-M0H$gQjQ^KUd1*LmttY7gQ6j(M?sEObJZ5tIE(J2Z=KXz;AX(-DFxsTa6)xL%( zoJJ!9^qWj(ATktOs=ZNPH2S-ApCKBN5waD%Y|m&ahkMA*6?`a#d7duFHb{20-an*9 zM343BMx{-t1feom9|xv`hMTsk*@Eq|-^JE_YIH;5Cl0hV9TGh`inYWtVXI3sns?Ez zA_J_LUwE<+52Yg(ltFYYGhcl76gX?K>aVk@)>UptR}0G>2oM#<&u(_=E1#=X%vV?+ z%{}BF^Uz9JM$WMGR=rSQ=7-%LAnd!L7Y@)odt7MxUp;giwYvK%?zVOM(x0oBpzi0? z{Tzd};Yj4~hX%$uCcpc`I(ld*W%RBpNi>}__`18ILN8HN2}=9NQm{p5S4j|)nW)L(hK3zDL?21AGV2BMw|ilSGv_BR zxts`mXt+vF6(k-c;me;j0e;?m>}*EAw6&sN9dT8buT^NDDSQ4^A0c3=F*!f9YjDgT zQzH#V*Rsn`iCfaE&vLyr{%=XBf(|{?MaB8A&&qiXKPP1rxj--5)!~`n{t|)cfTvk- z)7#JVl)V%ch!q-sz|OK1GgsGO4`p%+@6;fl?*j$-Ke_-1@MClClzRVZ`yMf>9Gsl-3W{(}cZ<_8sI1%qgV*b;(UbssW_R+LWja_a~l;?iQ0 zN^~mxfa_v4fAIRApK6kXRMUu@@;2Keh8stctK`>_q5q-^TBQfh>}G+&Q4@}c4p(W4 zxdtB?;RJA4($#ZoOEP*64uteY@V|E|GX~1et!v{NOJw89*Ua=xGwao?yJrp#T+d_) z?ZYfa)Qe2AVnl6DSGiXO)dQNFv(e5(n^V)`3knaeaD|~THo(~z)^;t0qGoCMM9;dhZc|!5hSD(R2qb#Yk;9k0R=%qMWh=UKpLdP z0_jGjhHm&h`<&zZ`}zHMF0aFN!JfTm-_N?&daYuzOwn1E1dg8TW;jTg7eCAOoze9h zMVO0nn=%2+t*`4ifHU}h+=b%rAhzK+#DA0q;5SMn_yO;Mje!60ZVG52GhBAy>p$JU z@!-+`ywE-CcdG5F3g9@+Lu^2X%+N4Zfh!Ry?P;`kz1uwmuV8y8;mJNGqr7x(`2JIE zGdsA+wP-=e>LayJhr5fBe|@!+UZL1(EsIe^jPaJ8#_;&THuV&B+T~#p z!5`}x8l=su3U&p770N*#PLIS-CQpyEk}Xr&ll}`4aWO;kQuzBk=_o}O#4BOCcY(kF zr%nQA1w!SG&RYY6?h6!0pg`q*A9ubcME6_Dc#%umJ>TroHMqxp_p@y1meD_A$5*U)rD`hhIkJv;W_Z;1oF!d%#v!Xu)S534AE2q*p(q{wi(G(3*>N z^?JeIA5j#hgV@@Itqy7t$6)PzWrTOZ=g()PM;c`MFS_)omp#dr?_DGy_N)e^UmiCE z5&-Map2us|F8w@G!1#nVJicHH#Uml6Nke{J>)%V_0gV>yB_H}t{<}xMBoKvs1xHw$ z%zYpXO+j`K_jKb+zs*LQ0s}{3`VYZTiaPiL{R}wSx&!fK)cGx%@&1ST2j@>ucALh* zq32fkW3|Qf)g|zh&4cyA0toYyfpAy5M`t#~aE6Y-S4keJBtBp?d;8a0*sVb{z4Y8@Q5h#CK`J)3%V;F6#356G$2tm6<^o$FgdgUtmS`n|Wl=I1rhd7YhC?gfJ&vdt zT-^G*j~syS%-zW{_OFbuiJl4!e9qU671#Oa>O!;I7FX&2@y8jz)wr&m>~_Oz7>aDL zyS5=$@tge+CX$l4dEN-HWxPPU+D&UsYV7gTJ(&&(8AiM?VT5_N09Uv)uA8j5%-zqz{3Q=`nf|fCJe6I_UmA zgg|7R%6-V*)kd1)ItC1x!)C@m0W}la@7@h)7NSh0t zCHRe~%dfJ!QNX!2vYV=l-?7VK5DM zlG=BWvyjdeVF*O_C5U@qO&7xOuF$Vc-H->-gXpvH`OQb?g_zb@Y#Ueg1EM)Uo~s3P zEcIb8!E(R@aQDU~G&>qGLw}fZ@%E=L;?Pmu3oJbE-r%RMg$Rt`q;h&Cm{gxs-yR%Q zR)O&bkZ+l1kei+K;n7P_b_ExXvxPr^YkV69qLi(@Q{Jg7H9Q##6oH&deNoRZ&i+dy zjW~~(#n3uYfm+v4ks82~YJ=57`+Z;`Xl4r${Q$tQJ8m4@X=NNrMPRC4jk;7^n*H`) z4ASGpFx(H|f}s;e8uFN{D{uxj`R+QU3oN_d5j!{Z2Ap#EseJ~i%g*apLrB6>w*Zi2 zda>RT`2=`jK0u%fkAU9Y1Z8TmvPwXlasnkUo^ol2K#N+D9gv!(q>G3;f5DpjWft9# z1BfQ1B>gP2QJ1;bbaVGG>my{G;TE$N9#Z=|oc$kZS6K z4=zXc!4bGM)2BMB0cS$dp795S$jSuVqz<-JTn4TJC_2@y2(@?jaF*TP2|LkT#^ApF z+z3JJp*X{e@{KiUSP_=9xC85y2GSg~5a(rKP8>TVRTn5Wd8G11%;W?h#Jdyf@ z$OG7-3>p=_HYJsdY))`=UXxFDr!!-K?kE1ybB_tA0Mx?%$KQ*g=S|iSTRqm}o%JF! zCKxVTWG20n1ZRfGO=-?rT7NEZinoEsNPX4#zTJ#zJ_tIwez4tq_zDs6HSY1^8LOv; zwj_4!Bt?uXQVU>Mdql0-)X*gGB=s?4;n&XUyc4%R$hjCn)YC^Aav>Pe?aecH!7Y`j zi@mUR4koIChpINUHEdt6c7SfQ7uy`t<$P6 zcvdgmYmI$+<6gax6nBVru3BuN1V>9hsJ8qg+_+~ARbNd#$nI1cjQBR%97<{mo>Q(L z({a(f;bG_Y4vEpoca=Eb06e(QpIb7G3BToRrFQ*9%6$ieX`JrikyB^dR+6+J8Kkje zt0MOQAkqV>)a(~y;p%PIsYgFEpUK7M&p zq-UswTIC|ry8K*Z4wizYaQUCy<66aR#3{+*iaMp0gLaWmmJ!kF@f&+$uj{@%B|_1tTjae$!JK5;xD3RRhX^}_ zD*}t~z)Y&q&LF~EY(V;|r;YuKvgY7i!_88K76cU{L`hDb&06Z{B&%VQC^_fT2w|Sl zu$Nd20fX_{o$Y2$oV%D~jaF5;^X;}tJLTgRda=?EX$Ylu95*wsMqE;85Em{gipiyq zMq%w|gN@Etxvy8ZdOe;5E_(Z1H~e1YJNc*J_u+Rkj7yPm8K|n4yRPg7J z+agn#p? zz&)RSUlPpc{^9hdq%{Lj41AnfMf&&CxCtx}Nt?C#cYxk2&80Z6prGH|{GiSP$TCID z&nPP%!<;$zdyQ{a_Y{wJ&BH^qZ|)A!e(yioQ67y}6e58y;4CmkD2+sCs%efj!HqWk zhdY2eB&OdVVVsnD*&ZG^=d6t3@!NpJ+%Y$d^E2>-%Qog~FGX|0YVONi#MA!KWV(Q= zHmul2rOY)bcjf+Z{QOI#T>vCjoGl&#>tjU-gXFl!Ete{6lUi4v{h8x--&njW_65U5 zL%}u#ZXxyz%l?Jkux_TlwnK3%9i4Ti%<5{Kw-Ts=ObRUp`evICuL- zsP44Nf6J2PQ&dU?DS=TcHmT3}JDVPMkIepiiqYs-pC{^L4*4a?G#9^v!7BJ0*T=cI zgiHLlrN#KYwef^4d$3Hp?X@*Jd%2k>P2rPBE9)8EIQwLywfobpua6{T50B3(P&CF> zXJ}rD++M>lKmr19abS8XbNv_b1aEq-~CjdX7_l z=TIj%$@84+8-b4hSE6d|g&fMTGol+^(~k7LkqizIE6B{8my(sb`k}^Z!DnPQ2`ACl zR8)(v&b^L)02BZS=U$L zd783wf+X+MgX-5Y2BId;AVy2Z9`IC~ciqQoCT>ruk()n(DbooU7DaW*Tb#PmmD3nI z@~E6yTPg@#&9@>VQQhCy)0%xF$V9Ro|C!){P0M+7x(wKrc84Xj4akC(G0hq|u{G!X zKeF=GviIy$iXc1mfxayXVBPYbyrZ2m_rZSu2d4`04&!A>#$yf;YP_tx#mjj9I1{*U zq4r>*HhVCbGo$WdDyMGGB)29HP^@vHo4H5J`hUg4L1-9O^~zFR5;+1fPp#f!?wEVe zKQl6GVHCr$k+=8*+}L(G?Xq#dIR6XF&MR$s#sE6jUBggfsV*fv@u7^vOk_rki5FdJ zb8l=55DLm-Soyp!442XDojWTdzuCf8(vav*gGyautE0A39Zb}Su6CTe?vv#O+f(oa zSq3Te%V(X!Yf|s;|MTbuyMT2ZWB=?Mi)h6WS}vieG0nMBbWCdx#8qULg_gT?6=3-K z02%0w!|Z6F1>jv(H1?A0A)=z|LKx&VRgrTuPt1yv@LzogR8~_CKKwPrykCxcwK6Y{ zS^V7A+-+-v<>aY&kg!#eZ1M8l{`2gi46GcgZiGPV64bCZ$U=mtBJAW|ZaMkY1Ds1j zjC3n1EXg_-^=Q9@{le*KDjf6v0{aIEjsWX;<493W`O7dZm>yP}e=2cBWmRiUmFp+j zlxsAue}4}o(~S3cGK;MwHY)V@xPP=pA6s$QSZu#czlh5Yt9Qm~)Z zd1`a7L9)&#f8yWq3#ZtO)Y~2ou_=)QZzC|_4F8X5K{W*7?6S}NP7kO zAAcwvp@o!(m0zJtTMo~yM|Y2b0N7QZkG90RQX3{#cspNyA6XE~+VOWY+>h;MR^8T! z2}l$mvl6+a%ZeXI{QgDiIqFzb2X-{QZRcb+McocDBCkNGW*mL&pwz~RpTiGP(D})d zhteZ^mW#SH%AdG-SsCJ0^i+u2TjL2zLc?+XuN1fuXcElGh6erYQQKpq6n7E~S^{ta z7g--g`|$*IN>4liN9E%8fMeCTa!2NGwxASX0vJ3jt%aZ$}6xSw@eZ?5PAm?m|4mq7J{&Y$&9-e3;ym5D38E8CApaz{@mMkKb$r66bi z6oE|QoqQmegqNGa~Um!!4+SRHB9C`&F?k@SR$M0h1 z2RW7!mAgz!*-xKm{uKm7;D`?~Ua}mEV{J+Q%ONgnDNdIiUKtbsZx~H&BG;%={WfW5 zY_qk+T#hx$!b3Ly1UJMsaS>;rO$}FidDSk?ds4ry3}i$Xsu&B;YYOLq-PFGMa*|~ytIS7#xL6Jrv>-^$!rmXC8OJjnx0nQRzc&AL-Up} zf4q6NQmZw!2M&yFWdh8ho8zB-b`F_KXr!#?m@LneFzvt77}xdSr<;|n^`yG6aj#&1&##4(2&KPbhoJpA0!mU(vQ#v>~$P~Pzy{VkE59umy)1sp2Y`7#l z(52o3+GtqJ4p?0zzIEDJ{t3Zv;|d}iv~Ys-{Kz7Wf}6!WEssD1>=9WXsMK4~&U7&e z_65ef%an{X5@-iNqsvMpytLiXzUfz`Jb4qGQ`Dh^4FT4tqnPI?C%#dD)i;Y6y>x@tb1I-r{x z7X2jBAO6LNr1=Pf_gx z@8W1RWG$}$l@l$r#v1wQ-Hjf3KjMfOb`@_W8EyNYq|=xC9LMa!?d6bN+Ck~$=VQ5+Mc(GHH`x)M_Qkr6Pn}cBQI&BDal3j=5^e3& zk?m-ZMHH4NC>uQFb#ox`+uK~^e1*P@K{9*Td-KNoEohNF*1eHaWZXoBb^`lGginEWYk=7*U1(gEXH zoSDK8-w~y}&2Yi)`Ima*8Q>X^{%N$dkooc3yIbbq1{?zmbh>Ssr-v!Y&OKupYi8=} zf>Z&Wv+T@^BsotiUED|JkxQ~xqf_2J(qV#(MSxO!8IL1y9e@ssD^X3K@1$65wVT== zo@{p6?R3Xx6)uB8RB}BlM{0|21oKn=Z4Y9(wi(eYopPJ?=L%2ed|~pZl$(pbbFRFL zLXw~PZ)VtMmnHUWTm0`4yc(_T40M=SG-X(!eGU)1VW`kFJ7m^YV*Uw982c zgxBVaX|EC^s6>R_@}^g|hMG>kNAXQfUjv)*N}Hs7Vmm$$S9a(%>#Xt>2*EvjvKHV4 z-5?ej|NV`~!PF3ye1*BuEW9}V`;rEdI2)CMNKE!Dzk3ISTT93Y3YklM+)Q->7q({H zbqySuOYS=3W-$}A)csEwXp93Gr(T-osF3{=JH36Gjg7__Zzk>hu3FnkV;R_{uAws1 zgEP``&Nw4nL19nTYaqxxcQfEdmvZiK_712jblrj~AWTd#r__K9)BxtYg|j^p%{kJ* z;YXalauEc#mcH=MDuCU%4x*PyrH!IMp*86AD%eR?b?cC;$Q2khfkBI5l|{&*^#f+9 ze7y4ES8dsyzGRATciyTQawr7gi#l}#4U%B7o`h=;{6G;!mFwR89K(J8Y998FfM$OM ztKAfrc?*;~@#aTCcaB!6){1h`;J;tnya|fGRAe@)^rqKAn(_(QLApRCj$j(s;-VGj zBk|Un8n%hA8hdnJQ?YmUu!qLjM2ZZdrlnB;zDc>(Vfi7lz@|+%1OMvqEnh!eFkDep zSj`y|h%!TMtxxTeNN&M(vVbi;tb4Pbn8$FG~niL#1!L6At$=!Y2y`pKwnl;K82R|II_wt&nI06%j zHqO?4gn#Hh5KLDVXwhJIGhrEJPs%8D#d8G3xBwAq{O_CNUt5h=JDSqn0+vI|9+Pl; z4VmSLNf%tv+|=d;9b@&B5g1|=Sg#C*KxWtrtkB==Sc?B+tb#;kuHcMz9X^-Nx`$Dm zLq|-!>U0X8nyVso!KJiZ&d5wSFy?v$9*#~rkbso!$<@ME&C!6X(<$InnWG}!Fh~7J zd{0~U8)VwL2IFe0XRO@HoUAlt!93N+gd+@KS5&0&V}Q@-xH8KQesErP-pxBR$+n0(pMBdktXqMII!mUfk}@xMY`Ek_wb_^PK|y+* zRT4}uZj3^}^`d@pX?ysS^T?J_* zV>flK^EvEZxOX4BUYfaO@6|Wgv6ffU2G8**<|89Je3y$HKH0`0X#efqks-$835qivxFF4}X*U#`4df0=7-GaMhbKEgD^>t>fmWHlj4o z^B*Dw5hQbaP=8sN&RKVEdJVfTwr>q@gh|s4gh=oYgJCDOo^`A@AyTn`&N3%{ktOpk z)&eqi$krjU2|}|O&B>HB*Hom0e!1>~bc%_EWSh(vB*MC94er(mrR1trEnB1GOTXK5 zGly`HSOU7NcB!%pcV)^F=?~D?S)bh{k3jyk3t;s}SLW%Krhx-vSlP^axKz!PB_lfi z-;9YAShhPL9fP)K=0vl1JP9kkck#1zGxvG83x>WW+L2#36TnsD2c-DnFPOZKq=a#S zOvjt;LKsem)ZOxLyq^JRM_~kz3!1yAQZwk;pnnWVhWlQJXQPiKrO9}TK;w?3Nw`jz!3XTjG?>?%$`A7E?@|D}w zrb%Sa@h;+9Z{vlLP^i^iUu`h@;n>D3Q zK>vgB%$6Pve}Dh2s>BTaTW_=@-J?&7!|!MsP2Vm{asN4cfVO8!9tP_PUUds1?Wl?y zuQJCsrnr7n(2X)*eE=lD`|Ypx=bHx*7eU%5mz7yb5EZC1%-6XE01aY^f}l60{IE`X zQkn+d9OJo3ZM6zs_kB+Xs6g~fTDDV)Q+goxWrfgNN7$QXN@tli5zYo?}&L+Bfy;hgdmy0nndXa-BtLv@4hsRWI)$Fir`Q!tV+@=0mkp0mn4-;O{r{`!st{ghqPKSc0Gf0IjGYuGx1D3F#!|=`$3pY z_3Mvl(5}5id%~<$Y9noJtVHg)MO-GtKyknc{$bR3v`omp3?}m<+n>x+>F)2{1ISrB z`5v;Z!|JzWj#&OZtbir9#-qVFvMb$h{O#2^VibO-XMpJgir^oDz1E-nSG&MsE`vXh z;3n|mhPp^KPF{d9y{$g-$0bD)usO<|4>kdNPvRYJX)m2sN%F4=OdQ$Kk34WAa7!jM z!y*~VW3ELAWS_#y$|!?lmOg>-P!YN9O*c~R6bK&rgJD7fDs$ToHq*n|&iNdG7K6*o zGW7fqVQ?43{mVxEV=@eIo-xy4)mp)JYwr8zv<^N4{}n(>j;*0?X@lTS+|(A5kby;0KC)s~JZVL%G&b*k^nL{c>*?nZgOa;5m`mg8`#5Kz!yODnq{!tw+)G`FB8XxTwX_CaGMJ#fM-$7(* z;ymScjPR{8kw>N&o`eW&sVwIM4a}Kt?Ed;~a7@}XKz9Lo5Q(I)uLlT4eh%(9Z4mLO zR{F+6CYFh=3{KFvDaWxK2t42nYF*|(fd|=S67iOR$Z5&yeNJGxgun7~pG#xioX70j z;=36(oIpG)hs&JbY<(oqEF_9oj2RO%+(8*d$y^b0=Gm7rUOUb!X5ARN*|T-Oe|hN% z@wWY-a9j>8Lj?3(FVsz>hACk^@f7QAt;XSdo%?H41NC$_rJ9?*SNykOpJOI=vUg2R zlr1?QdrQM7Gux>3-|P4A2G_$@8?r;R;0?RhOK@eOu1|!!JYEA3+8BK^P{D3U~?W}0Sdn(J61*|va)rlfYZ*#`)xx-3fsAW|`((zS zoORe+%XTQ@{r>*8^0@CGWKx6xn^l22hj*T%B%rIkua1NV;X2N&_ft4F z(%^!ZLsd?B+tmdXWqJKl5sD*ZENFQwSCeZTi^CkhdvxY%lQK{j+M_EqfL*QXi&Q%Efi**4dHIdq8kXX=S6%;=S1 za-a42Jm~S^Z?naJ} z{`bgzY=k9A$fguusnfAjKH?5!%x>Ww*zKUeU7mCC^_2nKh_@8#f5S+JN8U20Q%I5pf`pY4Vy=@pymm3r zeq(|${o||?5C!~fp9%XL3v>8P3_Z-NEDLArBsF#{>c5n5 zyo)~J@c@YUON8q->^1#z$r7LD*iJiGVYSk$!^_96r!*vaDlYqV1b@fc?D0Nt@ zCaKpt88R=>(Et9Ik8|YC3i!|?tbjpjE<64;!rZT(JeKOq_oXA=kG#Oc#t~Vk#lM|u z=BC*@e-{kU2nFIcaksJ#8%)x)J_FuLCC(7*>0~|a7?<`vTbXooZ@=f>iS_Nw{d-+@ z*sA2kXQx;5;*`B;OO9R=&Saz3upBkJh5} zXc7;Aa}e^lNF?t$m&(h=tzp*if$F39H*1)kjX>zU6o8O@C1S7I+YX5joX> zeSA-OE|BF^M#>qvu&2<~R{$|pPB^)3QMK!Vk?weq+BXs#UwgXwBHik|)kZj?lj;KO zQp*ob{on>d3kCDU3j8iSKBk#fvIh8Q9%SCi3s8jT?a`tNaBMhRCXV&IidPDl53aKm z&I&4c`|vc}M_hi#sW$m~>E-aCnO0iwzSH|yr8X{f*m}_J!wbf7wGoW3nj#lk1J?_A zdNUh2JU%P!m=Yyk6XZ@ZrO(8C*?bYu?WRj4^0}0LeC9AJf?d+4?s=~?*MI355G3;@ z*{JOC?KrF=ZJC1n^uAof>&j!N8oN}t;2|=ZM}mv1K9zWR_+t#?6lzLYukMU)7o`;o z&S|V{w}agqk3f7+D@3$3w*_cztqppxaSDp&+2ls!*ovw2{=G$1@BQI-yf;ixgC4V;8KO3QtErH?DetG@7 z(X4;odal9#ex; zQpz>u0h)6Y6e3-%Yk>gr&&=U-a@DCrOf8M)2WkT5{CR(SD?^SL`#|NEK@_$bQTXmg z|1L+f@Q9Z<<*Xj(-vw^ukS51!P{gT6p{BGeXMZc(*8gm<+lYM| zuMKOt8D!>uUWOp8V-p)exY@>!rH*+tYpC8y$jg<2c`qVJkPP?)Ri+E*Nsz98fTqi| z9&_PdQNBqva8>1EixyH?iUtI89~=%mG|kK4D#CI~a=1;_^qU!D_0 zgSou)LhR>+DZ@%XXpFg$?==}gPtJ8_A>sUv7NF6*0Jl`elDyt7V> zyjCxWFGcKkU$pD&dQe38Ki5Xq8S9@^A%2NR{LESQE``q1Ou*ls)OR46eKU}NQtrLP zrt5*;>57fI!!|=AZI%TL={*gqf`Zwvf&O4)R3H6;vN;4{=JrFsGIGot+M$L;caT4h z9r-*#vkq&k$T%(8O8rJ36a1+vF?{!WR`MFPRT91$E{IFR^ts2PdXq#=u$P z4o-$=o9=Z_cy0d`6AU61vm5HHc6eul_E0_X8mk3B#bGBygoiPbp+0G|wAvav@*2iQ zvQOVRBG`S=xjp^L3&(lOX}}9z<#*-DB*X1!Bo!HIv*UhT08HS;>CvJB`-G=9Hn(cF zMz!(*XFy2LA`T88DZ|PXh|H{qzP)%z?X)yHFa5SBUpBHv2ke5bzUVH9UEVoMXdJq01NEx88Xm1$NuGJyJip$k_8EPR zW}zY4YqV>-OHAFg*~~3*2{t+F7*S*T`4>&K!Yump?7_lmr%P*a4)ff{XM8C{B*2+Q zD1-`<=|(Xjrn54NO7!?kkslPfQvcH-gW%^WgY)_ycACqpP&|iXIOwz%rvL-Zb|nr& z22erWP!HPf`dImE+SL*5hy^IL$>EP>o=$WF>wi0Rhf1bi9)v+?X|K)HyVkDz^!c?- zW-A}ef*$en6D!R0I53_p^tDK7umKJ(u9jb9nX%+4ut=DYVE7+38gR{=Ic(Jmf1(jH zz}p{@o){X9Fji3`ujfK1#gpfn(|)wU)nSg-V~mx$?mlmL_F4?9#&3=t14D!yl(bCS z0(Rw*9YA!rK}Ss}uo}A|m+uH=TU9axUpQ;CWQ!fbDTXvyX&P>ZTQsDFZJ0j7> zA1kgrr%H@76ojz5r&jXL)>n2-{Qm|@4fzwk<*?HoSXNaS$|G3P;VR&F=M~w=QC$^K znBZZvlAR5X=wzaEp>^e%+Mi$F3e)8G&IY!@H3$`}b#A~mACNK*9s1p9zs;8Qz;;I- zmsB0^=Ul|}AX|EP!)62x#X4G3PedQ0c&SR7!5?3Lj*7*&*4&drX>O4FDH}3)eVrv< zmbTknhewvYBn3qM(<3H9c%<)AyzQoTS~u!jox2?!X}3t2By9*w_8cw(D>(f`IZgzf zfTVl39Mj1)?E!b5Yi{v9cN4RZ9KkYmF(Igsr^7UB594L;x%3qe_sIus2g8>IhzoKD zKnpM42P6rSc~FlPyo&mEY4d@L#QbXQj!WOvo1g$MzLWQ2fXhJlvDRr(rBKIDx7;c5 zG!*N+*|Z6W$2V}I8QUCHhW|SY$&hGX9+{SIrGfu*8)Erj!W)ue&&iV=$7;nMcs1;@ z&oD?o?MlWeM&{GUH=kXnSYwMBGr)dOW09uoKHJXQEpWsi$grP|$QPCU3496XeEY7R zy#r}w!u88npn%6{oS!~s4uwNLNPSr*9KyR_!NfT22gd-aV8t$W59x`m?eH;MoC@n4 z2SC}r`rr(GCaY3-O(}N_RlH1_Iz9n;l4eHtK>e&eer1?+Kcb6XZ4`U_B@k_ILZe)o zOSR$Vt*aiVIoxO?!E{U}N8IRzTL6h(*SWfMS?_Z1@bCaj6f@Bf3M<1=jz=k85A$8E z>kJr}X-Fwl<3uvnq134VkI3Z)$-u(Whb6m&3xQm|w z+`w7oD1uY&F(_(FlVmMvK;^Gz9$UgAC#Ggod8+s42-qKA_^s9RkSx)iv`btIiKg*G znaE=sPK(k_&1HYMldZ3h2#L22k$!rD*TqJ+n@MXuf%i6jCLi5{ZA1|bfz;l5Agn}O zwk3J6_Mx)HPsjuWlHTqM_funz4YU6GEzO~7jv<~B*NE_sp!4!-5;o%XSNXhacfnxV ze1@M7yJ_gUO-@x zmQh9)!e-&fYpH$>15Qo7T7Zq`!(XtUL(9zCh6%1+kefF?s~>|ffl109ac}DRgQ>Hc z()mNzeO%W0RYjFN^Q_Hig0XC}C2l>FVA7#2EYpD=7PIE+L0tD279K$bW=T$T-k4e& z8mxfNi4$)KC+#LJ5l^l_Mnm+(Jn@U6x$gl$bqb_Hy@B%G^Xjh)T(7X4rtf7*x-V$g zleL{X{lD?g4Y~JqoTu*KHDnCTLl7&h^BZnKp>wDo9Mggf4-HD8%cZ^CG79Vf&Zu07 zOTcFk?{H>~{RiJ~N!0uE4j2%B?t4tVb~Oe~Iaie{Cre2%05*keiZz8OMJ~U@h`0p9 z6gxYdC8oMe81)X0#Fmxog4fj5nc!d~gH|)LP3oX$aY73@Ab${UjDvUj6o#Tc0$@wC zyd5i=e0`>s@Pg~1-0=gMC=1KRM`)JsqT z!(vM-MUKMATlm~lqSIUXW^rB;`{-`17lk40l0^iS#RuP^om$}Io1O2s{~PucVH=r2 zvMU>zWjkCX4|Rx2uCC6_Dk*b_x8)s+;RoRqe9Jg9Pt0JVg797VI@IRQmuhBhfx)~7 z#EVY1AN$9%gQ1eJ91arJv&@J#=%7@$BiI|nco#s|3fVWt?%$UWWSj7wTWZZs&@*XM zj`193ynTNfoh8USeM$KW1HUe|n3hE=kSt!!K9n`*+z(K6uTC7D$fG_|+Z_?{5eFd4 zeTlpAQFRW=#fo@2(F1j>xK|qLqu>Utnm^znIja-2whZbCZB?xh+hn7V&!ceUn)F(} z!zXDLN(GT$@{dn{YX+rr&)u9~pg0@amHmn8f>Vo2>|2ChIg4bn;M2BKse|6r3;*Zd zpcSkfYPHq9;u*{N2kW7~t z!6qn6*TW_60(6UG$eIF$Jl*xEVfDBg`*1rpv|`??E^N$7$aL{wb^H!9-F5s*P9z1U zbsg6pruWl+RCSe9q~6||Zwb}EkAIRl`rCg435_YK*VefpGMBbP=jJsI=b?<9h|fN4 z6zHDhEdl+T5qaC2&xs~EPloiLWLT@q-+L_Y#Zx>!-7o?U%bSHz?W*^)&Z=yq|2(0@ z(2{(k@)BZs_pOTqA(tu!S9wIfYOA!#kD{$Xdin`Lls+v7VR{3VaG4K zJ%$IBfvCD7N14zM&%~upU|`k_G3UM9K*K}a=F$Iz1Jint;HL6hg}II&X##1>D&p@v zzXTBtxqRW6qS6s`C})*S%74|bQ#I<`G!8(Z{+gGC`DJwfHzjUFgSxFF?xJJxF!ExF zCLXTgH{-%Mk#UBgv{ll^S)c44h8rcL&jTcOP4!nU(=80vnO$*UMbWYG7@!yHn5P#b z9qu_obV07mXDou|q}uD_(5n9eX`%F@3uK3lo6WNT);kzHBjDio!hOa)4H4)$;8KSP zN-1|a0{NVGcpjHwL`_HBI18MP;%lqY?hD4n-$b|X`TvEkc?gsSGEaYfnc4A|V$F@X zK?06j6^I>h|A&{K{;7o9s!vUxp48+{8Gr$F9B}A)hwqbW_xwF#kwM?UEulHW|Ct zByMxtFr%m*%Aj_|lY<=}z^_rmhWw4F)-smJ8|aIe<(O<0SLB|yZa$cJQ<;GUc}jx3Df zSVb1>{@oW@K)=N2^%JmH9RmzWr|*QEC&6YiP)?WUcO&>^r*ui+KfwmwRU2PX(H_k> z>iu-w$K*1^Vl5ouSai6?3YgzK&;6Y!%bWl)icDbuIP@O+f7#}dR979%yH2d)>69i8 z%D2Bq6s*5y4hAsN5lH1M7}<~mLXZCoxha%hmlL;Ro!f~i=)q9C?9wO zu!ycg(c+2io3Vd9Cb%aL2fRCa1dL>wx2+paKnzpcLu$FSb;l$ufWxf|wF-=0aUUop z24hyNFGp85%4<21u<2@hbzS8YC}`vMP`z8Zc>>sMF=l-ec27>OJcr`hxlR#!UD7Gz zV$&n-JQ%siA6!GhJaJMj#e60&o21Rv>H!0@XKnnS>S7x;ShQ7Dq6SO6zp$V-&3pCgDd5QnX-hMnCn5ql{rwU9qS>7Yl=B& z$y@E>iT8lmU(l{!n5%9Y@Ddy>>LTd`?rLyOI}QUmyGYmYm<2$`Y+eG4>z9;uJK)RQVeVmK zv{C>Yp&sL6#%W$~6Dk;Y=91M0K=$S9XIWu)`xIeo4=X;OakRLEo$B}wFqy^b%A7z1V z4lh6g9i3xIjFTZ~FF)6-aUA_22UPLuRp9Gb11XfL>rejJ_DuL~>d+k{26LFLXFyS~ z8L)~&;S4)ECzuSZgO=}xF@1@!`G;ZNm;Pemzz0_Qpzno=24@aRE$b&ldv;+o_eg}A z1x@Qci!Sqck@X%q%Dc^e#w(iIVju_90Y>X z%e+*?`ejs}j7%XP`X6k$X6)jEvAu4NGj9}y0N6Cc@mqc(C>x+~oE)?LSR03Gba!%} zaF-*X<%hVj)!;85u8Lkk^7v89>|q9>qLiI|(6wkYQNI;Ws+PYF+|99^);vO1Q_keJ zPgcs#ZK=c1DnXmH@w_LUpH#S(VYLC1;2aNO5{m%}A#Sn>i~v-JrQZVoQ-ct}a1zZ+ zBj5A&TVW+Dqc!Rt(mSTuT3~4#gz&CO1n_;h)CKiy`dbx(!8Q_-9#u1`O4~ljj+;XMeSB`0a^gKG7Z~dn@rI(Hc2FkIZ@JHUhSAI= zxHXyHimf?nleA>`mE9h7uko1TQpk7@q zW_OqkQ`(74>$DsDs7N`-GP`-!%`pmmFzie5a4eQ+(y^blaRBoPNJzb~J@dOzkqgwc z9&6{sy&0(TH$Tgr-~&6+o=UN`;ZeF~WkUywA%SEa^WIDQZUf3%Y`s0LYoJ~Q-vKPi;?%>SC!3j9r-)8XBq@3 zxrzN>-D5%%Cwl}0iS0jN!<_ZD$r+GJ)2rY>he~44fMnFuuvDVSI$-{&Gj*!t!-sZ7 zWV+u3R6>PYt5U`6IPXEBAL1dKEb(XY{qXF!I+W|=$mq@Pz>YU0iqrxQ|vKRK-xI;hS$XDq>=3aQ6LZ{-tuYUQ~)#Hib(5Bj|> z*pH2Utli-Ik*jAH@c{0UiuM#XUaOK zX9pYatt-htYw?X@HJwbF2ERu*%8eT8eSWo1i>54gZd3lJ+*+u@2mD)_Su1AgYQI5> zo%ser&WhK+0(JAruP3!|E+d}Csk401IzjHVN*V6NVicyeF4>VIWi=ySWL8C(85gIo z{MKBV9&jtB85WMm7P6f-0+{~tI7S%R0AC@8GIlnDlH9%8a*ea!u}yr^S-vxw+KO{p zXyb#*o=6MJ5J?JYi5D);OtMz&qt8h=(U8Ic7&Nq+Oj#os59;`5yt|%|&vu*}x?HSN zNw+kTJeX#IQ-s425Bg6ZMai5Us6lv`o1YJ+B*6?#clYVA8Yr59wj<`At-o$u6|N^_ zM_wuEd9(EkFCG`>w}5=E+qg1+pLQ)-q>_tGjw~2oHq&|@=8k>0E$?N&dGU7AVHBIk z++fr-7}4tT)rSv~KIXlQ6!%y1pa@_5EWk;wCDXi%-=T9!DZ8BfMAix(sVr-YMvvkc z;S|l=Kh=OC8sId`WyKRGOr}{iCw9_AZ{v+3sM#MaGUTw<{l?oftW8MkTE$vM=tY#q zyIOejP?9MR=b$-JRZ2YgOlw9q8UEYwNB}^uh`g<5xjE|McbL-p@2qN^^hjw2%D<;Z6g&p$V zqV(P&=DdNQVFNnSiJ0HDo3QBv=<-^kHl+9*8 z1i5tXcRiN1MSg)tw{OPyrJYZhW^22;24c(Oc8uq%>XyrUdQGWC#QQbd8to_KGDdmZ z1Z1E2yE%TWANKt|!``_|RASTr*h%*3&vajE8<~rGS3QeGaPCkO>;0|x$24lc(ISBI#t! zMZZQpS7xH6g987HG z6ik@(@1{0B@UZSRohd_gbL32@8hv8FnERa`3@&CCdnk8Two?%+Y%@O46pWdSnib3d zp5%z>yy+*a&(N|uIl%zhn>ZZWVOqo*=XvFF~9{W?4lMt+IRb_sPfSQ(Id@Oz66|^8`dSaQk3iQJj4E7UCYn&4sj13gwdhNoJ$9; zo7B5tLpniasy;56#zoNoCPrGVK|6F^m1M2iZkgx?@Y$_Yb=+cig+o zMM?T7mI9(TaRg=jX0Q5t+`D+3AhcZ%kX~V1`GND^X7*N);lmj4QZ;I77iW7$xkFK&%)To&7Ln=<7zaywA zz;D9gHjJlniBA0db8xKfHpxOsI+C%^nde%j-m^z;y?Bi!_?Y|4#5Xh5M@&E?Yg?Q8 zIpmt$9itHpf};6|@5gj-eOShG@MAe%*m>FnFr|y%xp0R~prV_)?f5b~td8mKEu_o? zVd!cf55v{Ie_0Y}^j0g><#U|U4A55`;X+T`Az_!eD}__cD(+rYGBo{2zOOQnc1~D& zKTTEd0wm!9N#mc)*W;JIyfbF!P|A)t2PO@s>9vL5Za3xV%+zt~poR3cc%!@ny`(p6X)4^mtS_~wk{T|uNSZkm_By>j zmI+)-Bm+DJHLy#5k3)DMEAA4B`sAb9b0?km=Nv0#p_CAO#}0`WKq_}@X%@E5nXyw) z&Si|%K>cuorTAn#ze*ygJ4gD-02?|&O61WeB&tNSDAZNxm};JUIC{rTEYAT70=?~y ztwh|5l-hH%_)!^@@lZN++rC9@EG}hKps1GBlK1$eZr`&N*mD0$w{E6rg}Hd|1QQS! zWaP~q`W;z3y6!dh`f@V(beK9O<}&G__I(5J)l~Pq*qR*ZoyFI`?kh+$UAK_y8s1cS zRdt}MRoKzWqhkH0v!AG$*Zjs+%N7L~gH$cPf#}nieADOWBAdsQ4rFR(=b3-C=(YiE zC%qHf?;@Lw$dbFPUg34z;>{NMFl)TO`zgE1TH~efonMH_{H4s40<4_|lBPr8zEX67 zSlbbJoo?EMS^>zdAMaw95+>En(ZuBtD7?TUb_q|cpJ4IBMWvtP?6?`y1k zOhX@yCW+5-A9p=*d0p}=yy{Nmf_X1xj7F*e{>wwluH1)#tnx77##>?tTB#ozD}-jO zO2A{K2Mw@#q_9oHVAC;AcR;0kkvRxRU8fff1N8L#1dO1xPeD|64iJ2H@pYZTv@lqS zz(ki+{Q{cWL#n9Vxff%{;bwL_>frSdte3fE$^pMWr50eIjGRc2{iNFpL){g=eIFJB zN4r4R)$HA4bW2}99>CL{2YlK*F$fC=<1B$kxwhJG&9;Y`K9{ZO-~~8D!FL^b$s;qX zI|{bd`>)6dYqS|(|2``JJ$rx5fn3l$%iG&r!Wz;b={jW)?8|DkspUe%H(S8LLB6}Y zY#aoFMDT&<;M&UbVqp6Q$D$beM8zQO_Be;n?(8Z6z{2k}tIS}k_!S1cfXvK#p|IP_ z(b-Q~~qOp(QK9-UpHj3-q zKf>HBe$ac3>wv6sA}H(-W8;X7BA`e zAk-UqtxbLhHh+VI{(>|3@aTE8R+%@BE~BBu0u={GBW~SOP*@_*7RVYJ9Vl&(a^slr zF|%tXhAWXBl&pxvx^FX^QNg#`ss~fpF|VMn8J8GbPg8&SYlD)B50=2h{eYWFU{~F@s5g15itAeAlC{b0aK@iM zs&bedc>rvVe-9}Mvk+Y2W5~0RN^Si^2alT6Z|k!f@797Wlm;%VBoHuMm;*Hj6{2uU zGwS!GggH#Wn625Ls^k6*qfcNJWXYumX{dE_U`0Sd?E#MS9mofh!|U^LTH9L3$&^?P zhvBw46=RTYF*Vz6w)5*UFu~HvbWiw6e*5am5W->lwbOe1M!ow3S&UfBO-7fa5(0hp zV%F8W)=C^q`+XEQ2QHcB-Ks=drCun6`j*TsWH1QhY+#rX3tE zSZ8ETax!kA8UG2_vQMU(D+7eJw{s3;RM#}`P+;X^42p9G(*wPbz19pLn!c3~?cAhc z?qG7)AoJjMw|v|uKb5pc`MTXJBiRWwrpgCt-M15O0j`oa@Zv+DSXYJq%km47Np*+j zn@d^8s{KqON7Y`ooQt5M)Fq1fmZYB7i=~>_KGUM?r;KCD3V}|KKK@F#z|#3 zl9J+XE?c%dut{R}Pi+%P#_j$vUGMLD?Ip$x#!;Bs#>*_tD6F}dh+vEEDcB7+NX8JY9WJ>*%cf&`n z;-+MJ_1QAMdh!Um|p5W+ckr#1hC1DwjvO23)ZBn3yZW zN6}D#g1}8NwQ6zCRD2j}Hq6Q%RouenAcrT&gL83@nYa+BGhY0NnVIK)9#A=-mQ&gJIYNpu`AQ+~B ztehOmvyC6M_dzm&gdCse@XNgDBM)uW=bVciRK_#Pp5I(p_JSuCy0?JIm#Z3sfBioK}#N zNG-cNrfLY13Gqzwkm!4TnSi1C*(0fTdM}^Bh@Wl}^Y^dMF zjxe|@?Wx(#>A+?XJz~&@i(c3wAf|FL6Ir^89NtOp9`7- zJht+DL*?FE1EKXfCTUi=Uo18}2#JiYD_i#Tscmg=c|9Uae22K;0A?Oj$45@HbI5(8 zq|(=K(Uif+aD;dtiavO4X_mddJ8GIO;aO{0@WX>fmv{Nl%zO{H)Kwi!FFtLZnGd6! z3B8y>6*ZT4^=p$E3%^c&ln`d&j@$j_22l+t0A4XRG*yR0wUz8sdfEe{czpRrY<}tW=x{WO4#=Sax|h_JdoP zEC1jfAFWOiW-D;X5Iaxf^3d*JtofD{rZ_pTA~yv@LYm`=DOxveHMeWUPoc3@|I7d5 zG3=f?GhG2BO@}!X%Q7+_@y8;&X4NbOm`)@4&x}Yx(SqIo=S$W`c)PEVK zF1^6ngB8ide^ou8g~<;b!Ncw*Z}!6b7{knnxr206vhbT!uBbW;?&(XZaX}AX%0BJQ zL1g?iNQ{bWa>)qbr(S}-UNC#CPHcr#6viX>Xj8IkfKBvBW zFKL|vDzvlD{CfWcsz&6%A;Q7@o|Aq#QxURlO6-yq>gdWt5i=@OxMpg3k)sQDN?yzN6T!l z_uH2=<$~))UG*sH#5P>70Ab{hVJyN4lkTmj2)Cp5WHd${u!O|E_|)mkub`&I9}(Ur8nnIymfq-YWAf(GA3-uxWSTl>Fu6; z`yrKgWnLaPP6wWwOMZXpfDcyd7#W5L=!B&>jQV%Ic?N3fQ+L0wrF!KL?ahsqFKsva zl?N#iEN=*!N`$IMCu4k{gqDUj)uU0VrhAP;*%9kGDuG&=`5Two8zhXnf~a01ENHse*4 zhkCj|_|m4&hr9$Oh)Dhmi()3OtP3q1^`Z%DK_N~uCl1||NoCr7C}pV25R{9V*q#M( z{VD~g;92jlij#&|C{YX*%~aDOb1rV(P_=RQ2)D&e5N)X6ZOv5d6D$d7pj# zKuj@ro{OV}TQ$-NrJr}`16pB7QWSK|pTl^qo`F%;?P{RoKl@6=G_}Q60FYxlkU4Ce zvPUH8iH@2aI1fJeN4hQ|(UH^F%WWR;@n6>anS2tip>sZR?{Ri0X)^?k;>JB-0FDPM*AbN6-*jMRYt0>$gMQ+KD9y(@UEp<8KU_17Bt-! z${Vs5`h^GAmyHKx&dsQhmtj6xMP1~&=~d;hdW&T_yj;3RRabZxHLKCs>hgzwsUsWvb+z~E!MAs7~ZAO_eSD$dpP zkU@fLU{$@CR#^A|WP5Sr9UQiYl;~=c_sGnB)EOJX#>0J`qffUX>LCiccplRgN};au{_9J$-ynd-2^aSyTVSl4<(;R z_ar2H-o^Jd9zFwyJ|B#C7)R#!TrkS=alhk(nMp(@iLxcByj1K)jh;RQ*NGT<)_oO9 zQZ=T(-P>TZ5$f{MeOS~6kL6zybomH`j+dpx^t!Ens(jz>P21(At?f^PQ}RJ3AwlCdluzg-a%}tGlM- z)G?dG)>VN%@8`q;5SFU4r>O9rK19$20lc4p?e zCG+HKwjl^`*X{oxVcQwc89n0_DL{Q}M*ADcOW8cZ+c?X_jXn_%GOj+9A5im^Ctp8a)kl z3?ajSs8}>G_rC*Cfn{Fevo#=sF*nz78G_X9#Lf!KYmQ<29A2I%Q4_c7Ffr|yag^g8 zv+gVDEIG2BWpu;neku-PUdac^rI6=~anEI{+Qn@W?PS)>ff+#;9l7b9P{cUr$zYn$ zI>nniokE;jn--XUP11y-;gfB|Y+1E6lJ7t>;h?J!X9I`aANKeUf)19nbfKw$ixP#=qP#J*!nY zM8|#bx}9QIZA0~@4G!MKOE|9QmJ$2KFShYiKaN~XA78Z;_y~%U+t&whKB91a(kh`E z>QM?AYK5EG%RQoFGLWlACg3ypWb4TtlsSrjT1s>oidJ3nNZ-UIIT|yeNhQBFY4&D78L!ok zQPbAw_y{8ORxur(wmI&b<@a4Y+je;@P%AK%j+ip6s*uI~Ig*R%%=Up4bqz1kPTg^? zG*R&D-nw0+=0{6><7R!WNzqhB9~uAiEeY1EXU&=|F|<_%`1Ni}QF;pIG?cxk(&L=B zW^XuDwS!t>M$Ifn-8&6@edB%kT3<4@Ip*L=y1bgZlAe-#YArqAx%CgQy(rj77$l0! zlKMw`J{+>&k}!**b?;+PX(_B-X7~IcI?6q&m%C~7LQc3gd77cUMbtl@N@mUS`x*d8 z`q*-okA78r%03b*Ks(L*2*7kuT3A+-vtZwz&eq5qa=$Qm5Ml~JX0}d32t_B{#S(;R3lnUPvir7ya5 z-@G&qC*U)1i~cRQjZ0F~XcY)aAEWEsjtp$6vZJ9M!F#^=vei~ElQFslYiKpiiCy^i z%txhQRBF4Y-BxT_s&R-_Pj0{DoT%x1w2CoSlQ;ji&x2dSZkzBcZg#SRH!YdIM*shA zfs#fTN*bRnQ;qKpFWI6%(XXz=%`Z8~#&|AFD(dwfqoFosZy-eBh zYH zO-#v-QmmuW9JUZXTq0$4Xv647w~czvP&Nsg-DG*rWz3ys@BP$z_`s;>sQA05y7V<7 zHKpksSbwA4!=3Uaz6~Bq-oh_upNsr)z8x5$Ty@~&1cIA(%sR<5B!ARL7|!Av7EP^F z61!!hDt&1E*8Kv|*s-2H&n>g%(7x-@#xFI={sRxQ+pmnyTln36Pd6Q}+w5<4$Jp5K z4qwvf*`7=+Arw#ZPBs4|2!+VRQ(ojgf>^Osswy zsdcLA`0Tnyp?3z}^b`K{at$JHz5v?p45Xyz(>51nIx)!7|>&=cyuSG;dYbX@bM$3kfZiadie4rGa4&k7-mvmxNRTAETU#L ze(Bh64@SahBO>M-sRXvmSRUr}bJcr|N;(h|{QA*Q7&DVbAF+ZbOn3s72H7S+3+2+s zO(gDrMg-x=pnoVkkqM-tiJl>RRSzm1(UebIrgl7P$O98)jSD+2ZH52WRUQ&$>z>-{ zo%+3n0Il##s%$;-$FndTgX5PR`bZY9W=^GZ=rgmao8c29+4;1jCr5}=f!?J8kW`me-RXm=mq7`-mwIsXHZ4)MM zfvTJjPM_6zpzs7nk|G|Z=U=e7!oXao<+m-Iay_$WlD8(=0ncH7JkVP-*^}>s2+N&y zgDX&38Gs-HFia=shTWs4B1FA^mR0Eez1c<3EPf-K2YOe-v=m)tQ^%ZnAT*As4TEum zzRElji5a3y_7uMU3gge)o0CgP>O;p1>^yIj1J6Zbg(VkI+5$*aG4eU@ybViMlW!Vx z6biPFMvs5=0$D9--;uxuL#;RHQWXcFdI#gOAkZYWwG3Ome{n!iO+&bf8H|4xp5e<0 z!y5*^IiHCnEI$Gc@7E+Q+b}XT9~ez9YvH%o6~+Gk!aaEtXF5DLX7+}XI%sfHD&#Sg zdirhSI4Bb-yU<}k{{w=Cp@PE(-AL!yp}q7=yME^BCq~!1p&CcMQW`61mkB$*+ja^M z7C={d2&->c=x{&q`JlBcU_2M}>dTj*_&`k=R0H-Ri(IaLD0zDhZDJp06SJ~dEdYhb zUPN1z`@ZI=N+-=Q;X2v%R!LE~gdh~-%SlfPpe>pA+%3Gyw_o1WADFxOuPPs&NR^Vw z#Tw&P(gZBcs>5OK~x z0dKh6BJ#d)d0_?5xZ;p-;$FD@9g>g?u9_oz`owCYa}urH0^SU6+E6m zLAHUW(n3Utb0sy4MA$K&rWvE^p$NO8l6}UkgJ2ir2>$U8WWi~i_cSEosv2c#+)s3W z$PI-@c))=}T-V&UGYRv_>>S=99!9Us1N$9}Hr+s+(Cr+d*sIWHe0jBci+wAtceGdA z>YH5^l0g^PlHQt%33m*5g|S}7{j@UtC)B}1%A$u%xRb|3xynaU*2M^vv_3kO@d>;( zhUjEwDgv%Rv;K+rqf*fKJuooI=n{gGqv&QjMFO|2AvEeIOTYVL^G&Nao(6WDss-m@ z7mR$`a`=*~h$Tc3Gjba-XBo3PoUS;g_@>&NuB8ZZ3&pMd5?DsK!u8kSU4O6+d6y(u z3M8ueQmz}Ox?3wF=P~qPDgRxTew_Tq_P3o5pu|R)05}?SFHtUp6oao=jquy5UUkzG zyo#2$QQczkyTiF6`p#eoWoukX-v!$b1PaW2IAlW0mPBTXtl04K^w3$!fhXh+B#9TW z9~0#Lb)^tQF3j#WWeqby32LN5p_!W`?ulu>Vt1;h0J^F^5eWFMwS);^C zrmo)LKhC|4i>>Y5bouu_T}Ho&(k0J$cd#q>6b8=gIR$%G)p2TR89n?&i5f>;c3R6H z+c!!bw(kvfRYfm6SStGZDpgX4DfFKV8g2Q;6xYybhub@2QVi!4L036FO!Ngug$iq` zoWq#~u4fDN*)s(sl4^jYd_Zor76`$kXiUu&uoe9d4#_cOrK>*h(AytzV1eoO>QVjR z`qN;{$*6;StM=$S=m#OTYKzRMUxIyzgAs7G8ry7M(Oy|hKV9r%O&cx+_?g zSHCvJgs(Hr){%cuaFlhc{Z4yhKSS0l2`hp>0T?)nQ4^TWlV2-K`8uT^euGPWc<=g} zWMIe_BZL66cQYTMYb2k@%GE=B@MWx(ySexEg-3-dkMj@y6s(_Ri|0f(}?x)`^|&gKEDOxVSzxYhA9;}kZXmjPy4c@)d%Wg z7b36w$mML! zqnEu}X&mGj7z8SX?$Z0Z{9>P=H?j?(QnjY-1ZBd3^}IbmPQ*8t>dC$j$eJ z+l-so-(<>i{oVtli2iTO0$MiFknrr|5dCrnv*1tiJ{iz^MM&>tJ48_3F@Zr+D8sIW zR7vP+9#)3l1BV^(%!83}D8hxbzw9l3iDQ$qA5;=(Qm7qWYjV43Sf2aS?%^L$P#b-| zj?5#rSgaC}q};JQKN?R^sobbw`q1fCx=IJi0iH8n*3zDvXhf{mhUkt|P0r>{3DDqF ztsUOCy;i603g`6hmkRq?jg=+U&9#jGyrR|Nbp?L3c=&`Xik2#x*_7W2w{1EOKDH2u zcKV`cWMWZ)9!PYc9EuMiQ5X_mH3OIb;^qf|JHt+9tl+mFNl`0 zdNVB_J92+|zWwv6c>Xa#Kl?@)-=Rs>sEv1#4>skhgdzP8aJLHy^i<3P6f#B!FxXdX zJ+S>qU`%YNQKXk026d%#g=~nbE+7{(Dy`8^2a#HOKI>kL2r)Z&r-K@m{^=8c9B=|v zHYCX5$|`rmNoq7a=E@yPi78ckLRUc*aDWczr;l^Hz~2i2p^Wo9gS-54x;i+i$Vo&y z7+P&bxi4U49ySp0Pn`{zo`Tj=zWfW8hCFmbLrchk>8K>oD0<=M)ggR+rSa$c{M9x{ z<)NI-#Kx=jhhPy0d&hzE5r~w^y&oo8{vn+R@^Kp_?bXY*19P<_c|zyA??T?CYvB$K z5$sgU>o@I;niSJJ^hZvsM6ieT+7)?UkAXtPjSC9Pa$7$Nc>22SB0Fb66|s2<~E{ zkZA~)kf$2*AWLf8vE9<@@#!ZnfD(%eSHk-Y)OLyx74s7MEszkXOo?!01yzrHWuolH zRGq?$HQ_!-L)sRDC*-;UQ|Xjx5x{qc+ohd<*$P35N5ZrP!w&r{+0J%xGal=x+`%NZ zg)I!5!bFk(wp9HBI8XR(-QZ9N*VFPoH5JhuV0t4Ep4a z!c>RVd@X6I`G5tp2|S1_UE2=x?J^a9yX()JNElpY+Q!M2xx`&jkC;sr-6h^w$2^Js1aIKC)1Jalsk$g-0}aZU1X9tdfMY8g?$L#j!f?8iD6kp zX_HTx*nqeSV7v(KTmS@IWV#5*MM30)pNjr`$1DggbuJO@qT+>Lr1o5w>w#C}rV6Nj z2|XxwkBRK->iAb+o}~IOcU+ zP|%-;X8@X6LOu1GrJCAkeNr~5^fJKufL@$W0X6Nm0+>SmVE|Znc}Fq$fv1dF{IyPM z^k_E^NmyQ8Rw6N*&eP<&z)6WZ^EGy$$CUJRtluIP$I6Z9wnc?ZsKsb-899cDz;f7>CHTmn4#Ub?3nZ{C0}EhhZ& z5n^FlVB}UO4$Nn+LRD;l1VMSky4+WOW9p3g*+ zJ_08mLx%pVVaF9o&s1z+EMXD-Jzqd6gB6OY-T31^bC)a7wkDoumvXY(b>wPDq4CLp%b_Z? z@OS5;)&=r{-lAf@=dy$A^ZoU@NufiL(n9o$X%GI``2hEZLP$I-#rElF8D2N%Z0NBd zG!eJx^L^0=@jW{)ynlo(rUzFz_}iKo$h8ImZy4Qu&>m|4LeL>EK-K!|zGpjrTPRf6 zpCxEXY?n%c)Z3e(qL{8V6STahpoDj|E&X!6JIhq@!KZN8eRoxrR$*j!27{E37{@`& z%H~}Pbf6@dZ_PM;{ylvpP<>Q}_vp?(oy)nmPhdEx%JDw*gzD~@)rQ#smvssVclN^t z+^wsqQP*@s*f!~DFuRLxmm}jkc%G77GvG$k>1+W#;7D8t^l+r7JmcNE4?O$xbZ}{D zfhLf?*6_3Uo_sSur`}Fz%D&wryh5jCVg_Z|R0wyZ9l7u-Fd-q`{Bh2`nSc1GkP>i& zEk2O^ZOhcOrwLQHs|MY!KlTyeNVaAkoNq&V>4=5Jd<<@KiY4baoj3~`nDt}bQe6nfYO3`!=TOTpWY(3QFN0mJ$i z8-523f7~S)h^n-0ug0%(lSY&k%;0>RyaQn7G1Cs~DCICFdth5W^K^lb;oM}-aybTJ z%8;K7KR3uSp{&BZlHpB}a|WO@&;!+esr<1^`hRT`Cf>x`F8rQ$ue~hFzke&BQ+_e6HPiuI8SjL7Bk!uOT$-=@F&JsxQshx6VkhX$ig!|i_>B zoVyWUPa^Sk=`fiAwWEw*>eQoO-wbC)Y zQQ6vI+DQj3xLVVW-(U8+o8T_+_Y&uFG_CHj+sW87hJ^jUJdS0-& zw52onz(i@w^or-g8OtZmPdt_~OI^A zf2sTQmrBAviC=>g)powF7k8xJp`4O_KiC4_3$8rBa_rUGQQ`G+EsT5`PPWB>b&_>$ zKi*He7LJhd^gB#j;1eB9*`FXCgl@Ik|5xw(H=m>=^F$p_W~bKxT7QyhfvMv4`| z_gycb!ZMqTftql#RBVUMqxPs-%yq#tW(Uqcx3kr46N(DXf$P*rmv@LImHPLj7Jfd9 zp+w*(8;GAlww~3Dop@LT-@r@7)ItVpksim-a2mAn*Q|;P^^Vrz2qRR=mmwdz2zcs& zxwpjj>}!AIsz~VBp0NSj`omZm{^WA?2`Ey-;-l*rDP})1Pw?(dIekqQ7!Tp+)VBhm z#6;!GJ0K?_Q%V{6Jsi%+kr6oPn}5*Uet*`htdv}q$+S0%Ff-LD)@@}Dh3d(iZw#wx z7X5<+(n)aBt?vTR^3&U>aC7y`M5_DI>x`U-uPUYM12KCttD4T}O$Zeu@H&MrtL2{m zD{vmMep(ix z&pb<>3rJgEU&Z&8GyGxhRRAp6jaJOBYFi`rLq&cgZGA4zfu3D2Nr*%}$p-vLb? z!vO4?XV?@L3a|va=Eb!O9Y8x_cBlSFQNmNNxdjGdh+P8~Vs+JLX^VZn@KJTD^+Q&D za87}%eJ@0T6MH70C~t?N`Z4@J#e~jS{(TtCs4fb0L3DWuHRK3U{mgUYql}aQ%*d|4vGt!g0*|GU z{|^nBuu4N{+G||a6DUo9W>68Ro*`RcJ64u%3z@M?w#>B#AMKDGt@_Glv^_=R|v}<0ESsXIiObf0s{Bi zdN1g(s7&!Q)Xj&nIWEDSEGrmUm}}M97FcHyKPE@NLVk~^q}3m8iQC%1frt=m1&|Q% zgnsF!#cM2P>`70ss8(Ajae^L3xh+5M|Bp2O0#kPHgq^oJ*gW*}97MiO06h$qs+$9G zZwnnq^*}Ss;5PTiRiI^DUelH_a7?g!2Ca$CQWM;y_C>{|aWHPQf)N}SO*RJ|B8CGX zvQsd})bmX9wnQto`<%>*@|g5&4WsqrjJzgmMwhr|B%KlPmMEfq*a58E+rdMJ#&vy6 z9+wssMj_2oCuK<7zX}gvZa%wfPph&|nA%J+*I#`oc=X+D@X%pFmeGqx%64-k&RTFY zZAJ1*U@g!dt`IfD{zM#e(Bb_vo8GR5Sai2pi{$Hc5wPIX*-%ehn*?o-Yy|YYJEoIs zE*J1wuwSI}| zJ|(e;VB0N~TNN9siz8?9OdjSELuDivW^Qvcv1m#QMlh~C0zt&g)9gu4L)ImIe-$(d zkcTzYhf{^sZVn4X1+#QTsNS@eFiT}~hC?3PgGsn_TfxYW%F9Ar@{w;+a~k;eZGxZp{Z$RTtqbUm<1{5? zY*~XhtwN?9B;=Uix=&YTZeQIMaVTr>eLEtuitP*~9zgUWRnic`xI?}}fG9iX1My*s zdWY~U;;;aVVdeJm&3_(#SjbCgA#d5?zi4Vm$b0~L61_QN_rV zMz|@H;83Z3(chIWDJ#SaRaCPT-(h|(P)Mw^P29+>1I9zgyOsK+hTn3hv*42em`z}z zjb1NIz^EaL#3c;w({dl7{pm;`DR^|xd)qnXxjV_&tqD#Od@C9c#BS;RopC`$%Lf6q z_HZ$-eltx!jpIE(!INfgCiMzwA3?_ELvnA*;nwc_ zBV^35f09LX^C`Q8p^!lGk|;p=T|BOwS4xrm4zv$!0dxy~aq~dE;sPDi)IN8+wWRfx zd_C}Ae0!2#I@yQfD)gBt(j~YtKQ)#ze@|6>6=-J5QB#CIozdrteV6#xoe2Lk9>^KJ z=kE!0(gNXuZ!tk}H!>!@yhtv5ks#YGJLA%Mj)mnpVi>S=llxN%m?{n~V{)9TPV?if zT%3W#-MX_dR^bt11$D5e{H-1IY`~C8^cWz{3`Ezjo;7uaafNJSpRaG@yiTPcXeDD_aHdAK-x(u60=asuHc9(0XmneHX! zJpBvtLJ3ka_G+l?mJcaIF(|M1A>U_vC@8tU#BL@J<{k&%vk^lECRJYUsT$7OZ(i2{ z#+T-hY^8H*-aj@LH`Ar#@RBI6HNGFmzqw8B`Tc`diufx^i!9L>KDON#Y9m&0^#r|AQ@COYY>5!J0QOB!n%XMT zdD_(^q^b^>i9Q+g#(kVQzcq+u&-=p;&ENpy%AYJX-N{?@en8LquL=^L>j*u{+^~zA z`}ppUx-d;0p|Mn6;wj(x)_AtFl(eMZC18YQM4qj zDvS`U)g()!-_`iPkxeOa9~N>t)ecsblW$-IbX%R?QD@GFSn-Fs{BLpLZnFWUL4KGJ zWe76akjved2`6-+F^qCm@`nNI?Y%0C)rCvuhsL(*^J+zTVX|I$;khF0TEf4~G>v;% z)QcIB&HF-blZ&D^h*+5(wcmuv9}5>dlyX8ya_m2zCM=fJ73M;IqD7({NrgB!&z+Rr zMyY@(SK20=5JT>Xj<;D`n*C;I(UubG(LExr86XhRLrS?Cy20BfQ=<9DPflH!$xG^>Zs2((r@13VId2t*g z7F>Z)$3Pl|x9>n~yL(XArV15_J8Vk^2I7D>lsc=>uW`2W^%U@b4zGNr;jlYY6K+%O zja#U?o*gr(+7c*s$WvfUto4@D|DI#mfwYv|ZIfw_mLM{B!o;s(fxupI<#EAYOoO57 zTjR|^7{wX5%*x6ezJ!p)&Fi)Z?^D2UE}3q~-u8^pHDG`JxnES!ja&cq(Mkj_Y|58d zDFp?{V6A``-wtUZ_j0j1Cg)BCj7yJQQ<+UZdKMDbFJajzQo%J<=oJ z23Z8}PK|n{#N_;6pWhZwx~YrR*KpTtoj~5H>;3l0)8IaO=N~NJOC(JdK}YaCQbB_P zN~2J~p?|kqIQ;_!e+2T%m>!R{hljqe<5)HB%UdoC^;YZUoN?DNaP!uum=|Z z4OhiG%#SpeKD?y-i(CDZ;NcI|i&c!7@sSzi~zCCz$GgW1nRTHQGq2u%P;b2=s}|j4Wj-Uef<(HT()n| zE>5srFp}WvQd#{wlKd$7?#GhqLS1?uptO@$Jo>Cg*G3eDq+ z62qj;tia=SPjo)DhV+Hw!(|i1s>r>0kN4N4&d*vDJ#Z8UMno@n!vGA@m;%!D6lPXB zP#vTLJM|JI`68jNA7_b2>(4xgZX0w4&ohbgH}!-BRG?9#JeNtm_k;Mbik{qyCjwnk zhc+oX{#EItM4fVw7&V)0cy$N>GAkH;QhECvUB%R;V{Vh-B*H$k8mtGb z=>ldYt7#@-tgHX10!^m_Kx_tBN*23IN0Qc_>TT_7Z~g}fLYtN3&d{)@RY(?ZdFta4 z6WEqwPGedgKsPO2R|ALIdc(#oS%$8?qK2vIZvUGx!6#g0fOPIi0w0tNFXvW0py;8GSflyoHk4n zU{~{u-E*cA9F(7&(a_LPNmq>h&oyq~fJev~HM+D*U(E!{jvUk$DO(z(Mfs3yy&()K zrh^U`vQO%QD4B1EG5o8!@^f_`;wfdh5rLQ{5Nc{ zqk`V`=)oi>UQ);eu*^(dd!26}{4)}uG-16~C}5lt@;>}e@8-v@G{szfEmUn2_dq`f z10ArlUso3w&6oi`&Vd-D50aBeF`7eR6$--}6ByAyTgLx9K?vy-^5kI7KOVl@h6-Xx zHe!$Uc`X{oi<}D!ZcG5t);uV|;du9+2R?+*6#qq;zZ3i)+gFea_?&`8H}#G*GUygL zJw$|44iHgUg%CA?R3sr1bOe^f+_|a3@+YeDPnp_q5Y|*=GV)^CMNQ=Pw*b7s0$)V& z1&nG)W*Q2!$u{q)TZw-{8b6vtu&Hsdj_y61UT}qDbu#qc3N#A=C1t(`z{7^Fd|O-S zO=cm^f9Xt)MWJ5Ue|`oYVFwtkxA(E6LVmzXql3Vd9oH<7S_jfj%m6DrTv%y4_)8D*=P&+P2LqH0ooV0C0_&cXi!<8o*kK_uJE*c4FZlHn+{@ERv`4WR09FcIo zE|1=ISsDo5!QpyEb|LO7gtd$Njvo7qX9KwjLRSiC8eV4>gj&kr8-gpKrk((RJQw6T z$+KZdbjR_%HH-i+8$5jdpGT@w0ghB&&*2R2ajYN+UwoUt`@IADC1V_}s2z=DMccDX ztJC!#Z-WNY&vX3$KV+df;P|;$(s(s#Dm2psx9oG!K`=XdT`-$N)}7o}yn#-FF!|vT z&3}eBCOY&Uc1C_u#)L(X;PqQq_^t=7bs0puo`B2pDO|z2&_bC6?$wM8Sy`+=>JKXW z&(+wCM{yEUypfsW$G97KdWbTQ42J;$%0ZwR>iyB*fSs8(5RF<%|D1#0|J^`GwfV}6 z$knuySGB1?5Md^(bD%o7`;@-*xzXE>k;e;?Axpo1HRSpaai;%&2S46QCyGrjJ*pYW zR~dCd)f9EJj0()qh5~L-Cxj*x9`4_cxc+mP`1cREc^I00H{ISJw8VD=kN~8bM7Deg zWJdE=h&?a~@1h-i7SR3}86LK3GqU~9Y@;n6ah=NKZ{5K%g^+-@l@9X3K$Jh|0f~m} z**qYZ=YbwkC$ufi%Gc(OQdUlw|Hr$)QDTS?VPXa{k1Hp3V39D?MtTk_WX6S1XBVI+ zcfc;S1xr4`JV^_}e}04?9*+1vqf2|Kwjb?>u$T{vS`Ql%5H=0z$%Dl}2hRXqrR~MM z$Nr=g{`1XpuEAHaDt)SV1It77HCY6OJGZx;KrhsX+jugkS?DSBUwI1^g8w6zgS0E& z*P)A9-2O5j)h>0Dc<#r{O6|KEd%?0^OgJV43zXAohuJ$4^IG!E4EqpGaP}9bUQ6j`VPEr5dQfx0r-0k zfWoXC9w5e@d&jBm@R_IHdzJnp-#l^)L0V-S*o-l4aqE^RXVOq)^MY|>msf{2bwW_G z1;L^|9`MijF%<~R^z%vS=Yf+U24)1SfPGj4Q6{i0RSHjWB5GwCNInKRvhepFlh1BM zU(o)aOLi70F13uU9zS9_sAaGthO;#ka|V_lGH5eTqZK@Te% zQh^jysE~N^gc46saWKMcOmatb5qnqAL@1iMZ1Ojwes?c?)oW9$Pu_-;nlLkTkM#31 zA&+rgHuBGMg}Z;GGcxOR7ZQgKN^MO%IUB2}r>nMen#!ustSOioc)O4DkDOVaplVH&P$cJ&W_5_&v zfJ=6fr(+k@ee?T4Bv6SrC`bT%cMv3hRZbs5{;Q!+X*&wR?qlhqULgdT3O*Pc$zOnm zW&UR7J!GTIvBM6|DEzgjYThjmY|{Yhplpa*9fB9nO!t-Ey8&h%M?@*0X+%z9sd^67 zQ|(2Sy>CgmP<#6u2AtW(;h2=A#x^rk~v~K&0%R~Bz zG8Ctt3mMv&BM}u)s^=}DJf=hH~zSlqG#5k_&F^E=PSQyG4T z!`lVs6~pg9sW4h7Dy3`v(DBIw!l;Ll0ab&WDF1awvUM+r;G6<$@nWb(Vk6za)~*90 z)hA^f=)TA08m@)@&=b(OZGot>s7am>W?{sZDmK-4WXlOn}PPkuGas9Zi64#f7%{ zKsPf-H|Dc+z-}z@f}3vv!V$}`$g{teyg>^kf1m3vc5y}VV!_rC6_s5rCRv8 z^Csc6s04OpHxBhUpp!69VOv_L0qZ^-^~l)(#2BE2eTZ68^72-x@G z_6>CAg2uGlHX`?3kf?z|DdqJ;2!F?A0#=U$sU&5xiYA~LUfg>QD8cM@yB0$*+kQ<8 zKePFDg4e(I!>czpSvr3BT)By}15Hx75%qH|vLy}2*#0;zILa0-Ejj-W zj~)VKa+Z|>o5TIS?jGY07s%>FoGD^i!JL=53e`8i4(8Jarr|8YLJhkLtvO*;db~ED z7lZ^J2H2xK1fSdi77K!~qPvFy1Xy^sWxEK^yW&hRge@F>YCj73r4yJp*F%+m1_eP> ziB)eEF95vuI*?9;b*>ZxG{JL2+Q=1Yy?HFkf=Xa*69aQP=2YQRz@t*Zq>LI#k+-Ck~whP$;d8|EI0mtFXp(- z2U)G)q6xx@folI_qtYU%$xU65CIy^X%K$#mU3?Lw)d77mMTzRC)-P{MdcOc(nZdqG zojLcBYMr;&*doeK0NgCvqzAdhR{G4xnMF;jTdX@`G$-H&KF|dxcOgL^q^Dcr)QEpy+emh^EqaYt&{d6->W41)+0FdqiiLblI%WRGg?mU&7IJ2X* zuTjtZM`8{+umxxp<)g73`vo z;j0b0mELQ!s^u5R55Gc@od>cXT`(>%`ZY+5$(7^;luUn=1bmY;HA17uHgQhg)+hz> zl!M{APgRC{EYGg3t!#DNqW__0QGuGD3jZfkP6(%|;mAYW2rexij15c;-i`~2v3(Db zxFs~yQF1>~kdOEFa81=&M>F|i$)WlyEu~`Hnr<@A3(XDfj~3$N-Lw4d=7ofh){s!h z`?NThm>IcB?r%xG9XA%sIPcvQ>UM6VM&bO|9stO0bPG%Gw{N&oKQ}f~0#{#IIoxR< z_MOkt<=8J@)+|&!T!YEH9oH~CZBAuu5mVd?Gd*ht>bcFb3vio`)CAPs)=jh1P>-8~ zzkrB!-8Gmex8WjMa)xWyknTy`>1*ZkAL7ilZDQX`>^E&(4G`a1C_i!FMnw#Qdbfa;|dUK;#$$_$(s?4vBb{!G~j9yC`k%kKUGnJ21Y1>u4;^HVSL z0y~R)+g5LW@uMEruddz_{z3KLR*tje#OR2-WsUmcP#B=001ul<@RsmqSH?jrPAojs zI}do-+z~N;tN|AW8-rXqI7}+Xb|B#y=do9nrCDQl_tlt~3X#1A4u!C=gBReVqqT_1 zg{CGwyu3jBu`ofK>}yIdGvoUt{L27;-T$@s-9b&QYrl%1p-BQrF9}HRy@g&C1hIkA zi;4n*pc1-3=v@RGqJRokK#CwuLRFAr1Ce6rN=rZ~((bc7`}@w>?lW^|?%#LMo;@RO zU?o}WeV_MN6ZyiqypYF0EhT_`&F~K3=H)#)?5bQ4WV6WNO>UUuDMTEI`Cp>tl$8+D)#Zic~81^bLC zTlH%m=HX-Sg*$F4aCyQ|70_i+^HDzGd|GO%jPwegx|(o8(mQW9e=YFodH-L`fr9k7 ze|HxC3#M^bgG24-(C~6ijJP!oQJD4R&1=@;m(%u3PsmK>=EB^xyc~Cmc+NG>kgHh; z)qF2cVuUa9kfMwH#Ov|g1bAFuV#2E6l7fd67!EYmkZN>EOqdMRaB`q);1q6B!9X+$ zcgTep0JTt?$_5H7>R&H+@9mOtd48neWGxgD=$}JL;4-;fF&vAJ7Q2s-4%06t!&NWv ziuF5n@OCt&Vi+I@v5k?&zRUsrQ=G|QPM2iw=6HUHcyQb|74w?)GY}#hz9IUIpG?zP z=R{l{+fE5je48S_Ks{+-NK7sJ;J@>8D!B2SzDE$xpHM-|5BYX<@jdtxG#_g+R{xkfIJ*~K0c zMH1V+dBv2Xd#D7l4t+%p8NMVl)4aqeWP@DM}=+j?+z8n?0p zZlFsU+E+TTkFHGb-p-|v!WU>;DBZqZ;y!>mzUVp1zjrmmE7`8!$Hi~I;zj;HFb8oL z1Z`N^=|RAV&(cPE#1yl(&u6XW$(4qPTTaL3WO6+7kAV_oC#+4ErMlz2GuEZ9h zG-f{aZb13O^UipB-hAzVa#qS8NRB&a#FkF2d+*CK z7)c_Su$T2B&7zB`Fhd8|mB@P&1s9reFUeGZ*pcHE9agf2H7~&z8Q=&*iqC}avH$MT zE^H`eR7k0DMNV7;)eH?O)I!TOnA!=~_X^mKc_s3M3Nws+GmR6$RU9d}ALRAKIU3>N z4ZUBdbIfBnXT@fO2`)&0GNb7c?&io>(efrb^>7NW6vGaAk9|-4*YoouHty1=2@<4OrV_pu@tzvFj25+NoIskE<|$8P9W(NRf_N^(RM zC&+jj3O`q{I)fD-5s5u5Jn9;sGXC*^vwo)ioLJ;M&`TRvUe&@3y?H}u=0>p6$v5nr z;ZYRxQDpy5b)QUlH0(b5t@4j&=oAKGI!+DBy*)IOgaqF%=cH}sn=jFwd_+ARrIPOr zI#vlsi&dMHlk9_SCB180wr{Z?t*6V5x%r383>YUEs`Ee z%B`c%5PYrOv2n+H>LlFt(j(IHWwJ-rU0H{MQNebugjd!fxVmBk$tX?sI*io1!K)JLB) zQJjwZc**r0ys7PkU}$w5T*P41#;S#xZoFxvK$`Z``|m{ShK~&SSk`wWu43kr3#I=6 zYuX$UY;h>~ab~>UC)PO5u{=iO4#vy_hcyJeGrosCKU@CL{*IaYh-OU#rH1rAIggXw z0=7b&MlI*>NxPB207v19ohw z`V6@T9kP7AYIvx`rbB1geo3`e6#kNF8(1eQXXLZ(dTUbe17|A1liv7<)S;1K$((8}iq$*0K(WEg`I0uon9&-g8z(0(s;nfjRQ*N0t<99Q0^Bv6`lnPMLB#dAFpnSDe3y&{P}?+r$h3td)?xed4rv-fKN6GQGFc14580uUpBR+?Ff;v&N{Ao{ z9jqwUlzbG{HVD@1E<)y8kOy;ql>cr+`!4boQs0T_L2g4V>lp>X1OFT1`Y#seFD}O& zb+6oGxz{QDGjc=+&ukf-F|(L($&xh9W(Z5R1g_H0kZAt3iZ}7R2eZiEj?I6)t~Aio zYvPe;cvU3x6+j&ZViLL$Y051^`dhsG4bO(d1cIPjjLNFXAOi@5tbr_R`>!B~mFxZq zv{`nM#%E&$s7<{7x|4H~iok>uowq#!>U)l8@5tTk%t%7{4B|op=u*uE48ITWX~JLK zQuV%xFjk+yQLP1s5A7nCyd^t7rt>Sq(5sc>kWCng{{%-N{1^65uMyD<96UUs+daRi zs`%GY-T(UG+%UvG1@Te}(6ntdlS?mQkD7fgcIQWRF(g%Rs(YDZP5g!Y7`7})fS zbT4lKw~;ux7wMPtF8_GUQ7<1<{SwOx!0Q`6u{Z^S$3y*bmxwY*!0w4MkMtvDyeem} z#;W=Y9@;aDwg;ZW0^FgqqFkGk;hU|9|6dF8u2ePZ?)#u;q0a0VzFJ>dTDB)8-X7T) z5kMS}|Jyz}8SnS~9hdp*_IM(kRzWU7sX|p(F$`avC`~%4$ZPzZpwNq=dzsS$4pt?< zZ{8`jK#IgT$67Q0fcIr_O z^V)0Bz2^1xRYXPDMvxY8RWkrz${wKw@~M5CaShG_!CTOf`C5A@*D%(AU#Y$ma$EG4 zKXjPCdRxSD`@a*!_B3av&!|E217|Igp@4l!2uHF9&@a&;i18K?@or6w8@J6OgbHxg z6^P5K5d(Or4|2%gGlQCK@}HZy52a>eSD=nq<`)hDB5p`U-XQ$`uyB}K*Sn?1W&DF+8(;WIV^L+O^52yhd^8$o&MHKR z6hJ^9U5kS=v&5j6CZOWNU^>)F@Uud%Vk_^EpJrLi&6|MYY< za6Wen-fCen(Umc;(zmJ_NS+0;mZ0p|u$9)$4#?bpYrQ2t{@BoI;A}#eD&)VMyylQCvIFVF z36tjdJ~P^aZ}oG{%N0a)5Fzb65PdQ?>9#rm=*hvK%RRaZ)Q??=M@U1VM?s9^=JY)I zAQW9>+pauXJiS}Nr+vWu21_fz5mzPwXOT}1T!}W+DDm~2-;w3Qx3Zwo=$ez;dGkDi z=!ZA^@%&P0<@2{Vr%U&_3aEa6SI2O=s=c%Q3xh}r!TWQLH`7q=k`XV4g4)AvTs3Tz zF4Eup-I(+5X+|%B_MIwTRdmGG!Ylp^_8~7F3*}K`JEPovs2%>*%x>{Yn7Off`oXPp ziuhp<7@~)RHj5#2k|)QTa6cM-WFZ?7PPj@BDoKlmRJHcQBjP!hBYagwv@@`Ny`ep& zf?Xyq-fZqnGu0zbHYWreS!LIqC!zNIve4{~lTKdwgJuKV90vH-A?g`cy zXK**4uY)Wu_ktHI>cheQSH%P_Bs_~9maY^0V*rAs zHDdj@;i!#cvG7eeT{;I&In#Ha!0v}UiQSEc!Y-v;@f(IJhe(GM5_r*%g5F3JtgNl* zqMXZ&SMs>F3mxzH(qQQJxfPvfu=x@;tu8@7`l6;b^O(XI>ys)ICnxicb{y_n8V(On z3>-e*!TZ|4_JNwkg4jg!c&6pUmS138eUG^6K)3hv6Om4sW+DdmQgSF!KF@cQtbDTN76=@Tg7 zf%hJEO%)K{6p$fFicg8&Wc8K^i!d{0({%#v{m?J5x#m05`D>i^6-@>o-DuIr zd)V~UO$vt(eYp~bEzJ(}>bux~9{*kR&0izY+7-A#d)O$0|{tPwbL|9R{Bt7;qxaII!m~iWy zAmgy{aB6mNN5n42CTz{eLxEhUH z%Czr5-}llvfm4Jeztdk@KAEA2ZX+qslzx+a=>#iNdPyw0CgXURKmv6#YK4E;X=R{A z&}vENxGr^;ZO|sH=B=oj>SsDD&naQAVLXqMxZN)6^%;o+-n7lAxF81wuoI zD;aj~>m)y9)RGKdOx>~GxSh_O#>!7;A(eaG^1J{}8+DOAu)$ES>^`(o{Cnm2Yl;Qy zp-jI>j^9W=L67VZeV460zv4Bc51Qc+1+E}HK+nSq{n~Z)js3boTw~-mHrnlYlS1d0 zfS^=5zi@7#VT`6LR8G_ecTL@Ru9{|;xUU|WPT+3f*YTi7xg*U64a@>(sdu?y!dXu5 z6-;o${%Br!TcyU^yoX}XXkwjQ>`1ayXeya%4F0`DB(-L#&>E&Sxdu*z@NTfRTTkW0 z_})+3nYYbAirmJ2_m%k2W$RZF!R$;d+C(Mk6Yi1A*7{eLsU|(lcwBzgl~WLRpxrjx9zuR*BR#>73N%QV(}EQe}bSD(?1zAQXFhcE~8Y(Lqa z(c6Vt6&~u)m8Edw26!5SugM?LaU;+!-g>p1R<0=5sSTacz>fwKed;(-o`hA_p{~;` zhV1#jREOnSaLn6=TH>27^s{j!V!4cbCWzbK&NJ2Xvj@@dtcK7=q2=J#d69YzazKXs z*3|r4;9t_Dp8MCU@A_wSLY&?Z?dId9u|e6{t{C5DTk6i`xJ1kAHO~023-VTB8Uj;M zwk?ffEafPVxNTf4Yg|G+j;ct_B|&Q3@N&sRF>rrBjjvP>e!nu%7;cm+o_==Y0NAeNzv$tNrX`Nk)6x_hu9oHFYG!gxJW&R1zmosM88bUBy$m4b_F$Z-k+% z+rryIXMxqWIr+e<&XCYOa>ksXoToS}({!5Fg{bsvtXg1JtmixTov!zw0GO-SB6KW- zHU_ilUtiBcMR(jNSL7r;Q^1cDUhbG=RA4Gn#UG`1jxJyB;;YhwQ}F?x-p4j_^HJ!d zMk+PuMwxf7yU|QDa7ay!RueYKuX$=^iQexomoM@*`Pfi2$4`7xzBFUYNx$mo>mxt$ z>Sq$Sq{do&pWrVBlGATP*1sOw|M~CLQ#2<_U8rNOq{hTp6M;jcGAJ{`O-ivDhF)MH z@bYA?0824K@GlJo`_!|~vl^-3?FpA#*ND4Z1x7I5LCbTquG?9tW3LQ+Nx@7#a*};L z$CY1j=i#Cmrgo(2(Y7G7Eu)lglK(1qq}$f!#)f`&xuR)Jh1zw>Pao`qWNfcv zuHR=^mbOPA!b)egNmp%P2Q8N9KvbbUuM-t_A*3E-Q|07EZDNjT6&>M;)LNE8QOI~Z zoi3DHNbhRWLhXa$uRX0kEr@y-$$E7lkfS$w(FQg78+-d(d3UEL@ui|{P<`ty*rCM@ zqvA&NIE6AA5bd@;y2JCH%;buFi{$Y&pFP98Msjsxgpas6;JZ8Pt&$q%4}7qb)szc^ zJZIL>qPFH6GnzF^Uz@TGH!Z_<(R)uSrM`MSFDUSq91wdRV{+rPJR$8xdN6>ZWUe-k zzthk{2m9%-#s}VEKete1Ae12A93^95X3fnKTa&kXlVppxU7)l#p8K#Cwacx>s&Iz; ztrN#HskW?Lo<=GHOMz3eanx59amUwpsDujLBv<+Sc2v_@N5zH;3{Yhozes1Qy2!q6 zp`XmR!}r*lU$ucX^G>WkDS&+I8t(enSuV+viH{ZPo#fX|_9KRVn0X4p2xUNNLMyHE zfxco~_Sc>ZVMlmGXE@{zk{FbF5=MfPxDwPk=k*x`@e0%gW&_n$%Ary95gr5998VmJ zP$V~vRGIS^)M?QTXJY7Rc??b!H$jeWsb#sd=AkieU%YtVs+eIZNh>zZl&RQOT+2Ml0Kb)XSxnH4*oB+K%&ne#=Tw7B z67~}PWx4|&x0*6?luJb?Bkmie$xb0ekRonUCfsq`ZGAF2xHY5HQ7-nXZMFm&&o z&Y-{$)oi~zQDLMf{$PYDHu7AdEnlVBOUqUU%WdhmyRDn-i2_WyJXB`=%t!|7p4}yk z^Pipdof+oYyfKv&e50^3AsVL`n|oaQ;j~f=HG4!h z&S2~!5~qzX;?407*`%tD@>R)Fm6?xPFOrPJ#YQ-U*p}Jk-s22oR)UE#O*S>39l^3bhG<;n4gOW-2yaXl^`XGriuB{w&+_sH{{cw2(~j(cES>y_{F zWE~1Zp+tI-j5*hN6F6CagLR7^EZYcs{bYmqH@FuvnPa@DMuyq+t&<7_`0Ms+m zPw=AcYLMSGC$gcyu}Yz6Uj2iQLf(lVy!vfANR_oiQUZCb{8(1F)zotxtxJ0wQy+UvspS9zC-++L5_x>kx){4SMq4c z(hWJ6c4GPDN%qLQ&kAo9-X1DfTV?hu*=gZU=R<%-3|>1r8UOND5J$Hb2z!I0Y_^B}v7Vh#K{JSnq7nTQRWT|B>}4 zTW!{2oG&#{;YNVsd6}S4$F;HM#!;mo2Rb!r-H9DWF>!Hsk6m{e&?h7XQLG)V1sgm& z@OgsGtaUj0tyA)|Kk$vVM5tF3UpRZzV3N=#jH$Pv-7mbIB=Y{F0Z`~DicqT4wIef1 zt=qOqU)^V8FD%bn zZ-Bo7QdxcZ8)8rL6+JF?gA`Nnkr;d1u*eeI=l)bO;pyva}ev2;Q zpivasg%tEzRLLOwjNMg}b6TVrL+jK$KJ(B&_^mj-3dBzFmk6IIuP&MRAhA#X<0nAA z#@laFj@MAHt3~gEJewQyDrZ4wlcpO%sn(080IoL~9&zH23wD=|C|fFPw|#W862&eQ z0hY}12{Earb83$tuP0~_E!zQFuO`0cFljqIW%J*lY;hSxotmZf^x`S$?UFYiB$_fu ziv#$3D^0}lBD-?o;er&KYqJ2Y55n#ZIuR0a_ToQ1y>Po>H6otBw)&QYoOi|!V2QJb zG?qY7R|@49Um%@$wuRTHtahniYCiGBSLvh2B+ebY5`*2>6KkXj0cPOmZe_hKNhtwc zDd)<~ygFx)^zMtrdX*OXkBRWxi~Xs7$0j1h9(lJO-iL4>R_u>VS2iSb?x}4FDFzzj zL9`*4C2;}ND-b@u=*lhi84HukJxKo)CZCb~p2DZ0NUnRPo#nJ{-pplBpB zvqyqukU1xU$}E0UpPJ+zb6T)B#y*rfi(<6=6i_C!!M?ZE>G?&IwWQ%K5C%R4y*d5l zeibLjz^5wxPL`IP!@rILLW8K=dQQ~|_Rj%8+#)qZT0N55`rA`v~TZ~WuNZLCq+f0hiFOTIJEl7%-MRa+@V#v2Y0lLH_`9b&v4M>w^^&0?z zzJPGb3DIqnb9;eBss8rh*7`blV}1kwJSu1VKn>^xQ{=4ZP$XFKpMxi^t!wl+0n}Qb zL5=3W76y7HuU>}$aGyP@O3Qrm90`r`glVk;H0}^`?|BOB${n-9pF0sp!tZn5ol&Ij z7h;8q0oYPmz5--jR~!Edq%zxr9wc=0i5ut&OQxSy%f1+dAAqa`Iy$QumlvR099X1k z5#Es{R)B)(gN%(?0G27|sj@~~&DE@z2wDq4P+*PFY+-X?UwDC}b5knwQz3V!55Shw zR(LA$z->*H0CA!vDGq{W&ICh^-Yk-%M4fW_hh$yISrnwXGyp>-2~i-#|E1pV)F%)Z zxB;GDiddi)3vrf6k~pZ!8M*>NeELO;a@bO%8L?bII`qZ!4C&tx|I6ZfAZS^=o8mCC7G!e3#EsJvIgDCJZSdowy8dX1 zg<51ck|m9c+&n*f{PgW{xrudf_k9N4s5`7wWnlLwK6CgmJycsA+=VMcLS5^AeV5|w zM~Y|--5X_JP6=@?sq2D%-)Fc!d}|;qPmAy!2`mJS+!(nFykYrBN}lYyIS`b}Cgoh} zKjX+pX98kBHA%i@up89MSM7=`AX=0<5`@Y|ZgU!G)oeH;QT3esaA@}B)eWm5CtvG0 ztf*-^`;T?-3?fxl9ys~bn)dniZF{^iH{j=saV8)Q2qTzCi~*X2&ie?NTBDK2QG-U6 zjfpeB;4cH~<2_AtNH2PspN1=sYv^K}7vUq>n1d;o0hd_9y(6`Bg@!xsG?5jg9&xjJ=`@*&;)?AvDjWxi zv)5Q?B8R?Sl7YNIk`RkP?j2&JYc^xdwSEY%ArBEy&M1qxpdWjftmXSavmU~kT2e^% zMpC_k!7t~}(gpearL>PA+q}}lR9!xBq)mg9X?t>aFV+A=R|Rw1O$kz$fZwzQT02BA zBFXne%~qa?UC;49jSOSvLjCmt56A7&Y zpX_|Rt*vxBg%1i{#to&Lr*?k^H8rne7(#F@NB0hbUf2z~a$1I)lt?yWRyi|~0vpyJ zBD;^-qC4OCa2Tr%&HST&0$dIUEa7#UXLDoHsil6ckqhyS#h-@pAT z+%03jR=lgDE=wW4Z4sT_MlhSm&DrGy;ODCcv=o~BINFbnn7iWW2;bOU{5jrZPlW~f zg}^nFj}PZI5>3At5CA%O&*E4nN=<_h8uA=i!Y-}&AHlkMDtH3A}5+^(-`GC4F54nfiCb(Q_aCm-swyeQ-qB~_3LNaOEeP_cbp;{gm?P*zX=%6WoG29GyOMRlc7+%PG6BGYnU*1LhA($QT zEWD$+Sq#akx|@~3u?Jl+m^6wq-iYGMtrJq2UXb9cXfT8-A9cAM>+EMtJ{l#)=S}}m zxMMd&F?FrG+}U+XAg>5^*6Qz%9Z_epa>`B~=~U2LU}I4(HA*S>H|reSfPQXFXF?ijYakY| z^sa<3={#gJD9rXip9XJP8+ZX}jiN+V7>)YEu8@#!P&0 zai*`w&@C!pkN#`x6(_~`t}_uhB-f(aBb)P!e$4NzGhy8p#qMey&p9i(ANAToy7 zUT&6hLi655@%Y#nH0Pr|BS#HU9KUxq{OEQ8==ANASU^94Pg0gZt%FxHcU}$TBrJnM z7v`W^mGS_QbjLo#Wn(5x6fe@^JH>*!O)c(4x}v{BSp!A>UgCuYw%rZ8<@jn=2`dwt zeuwF-G&^7T3=jFAj^1rB#Va87gBO1u%}Za~{9d*XKGxdsnoSh*UM3lxF&WU$g`&QG ze7&p(`A;h{Uo+cQQV^xV=Kc$H;;Ga%%+t-AZ)^$uB8qkMbhA>{y3H4v=6hCzc$!rz zTK?REAig85BIgn@T}T!x+Eq_x^-$D}r2WiXP#4Fx33(-r%@7{qlIVnKWw>5{+V@Go zpb`Dcz|Kf-K?C=JEJ0#St#ha03M{bQMSe;cCDUdOz|SK31Rw%}}WGc4nM(w~R5 z-(W;SHj?ENX9rmWKWi>LJY;sHCW2yPq$;U@<*ERS)~{p+8|w(Eq7ur8p{?*eMsg}A z&MRKhM5qF{KyHrZ6!-#keV3HFP(?aQAObxa`r#HD!_vk5sZoPglU6M$aF<+-(X<1! zqCShwaYC;}aSD1e8B4Q^^0wWZ=P2PhzXaV*=EM8WBBr)~{%dT4aGu93T;k)|#DdPp zycM}T$t|>Jbrd~-Zh%7jR(t(q`6GU=NZC=M&esN$-7i5UwdCWFzBLEuMl~ZtJQWq~ zW-$>t1?q?L0nh7)QPJbhKeX2xgj48%Z;qG1QZM}!wP3Gy=OmG8p%5k|9@8*yErg_qY%B})Xrz!s+jTka zxe~Y*wM72Vog$N#7s4*4TcuFm)jTSlh!s4aXdgi62bo((B0d|=3yx!v_C9n9_*q8+ znXX87pCjH6O3S`oF_&GnQzNz<3S27hbzF?(8fz3j%`f1;*S?^VmYhm_y@0hU?{l`! z-Ca~&h~fm{v6hh`Dg5DuL~I+iaGTkku~gERXV4B=cjwV*m+Pq&&E}W8=mfIaEz?9q zU!CSo*F4OG@g@=Jt8i=7#Rnd{GxIaJUA4EirQNaCzd0P4#)GY2()_1eKCKQmRs&K0 zcL71C5Fa*U03q+kbgxfoLBd_*N*Cq%!BYVo)oBOqn#zvQ$_rE&*1eP$U2Hg1rDM-l zZ`|GZezyy2WBVK!>n&{Ag*Q*sT3OMcUbEl1o1pM9UTN^x^89?BV&-wi_vmhkH{B2k za^R&gAEV3Ut?am3{cZ+2`;ji3AI?im3BP6#7Zh@9{aLb)V5s0T5%)Xc_bNePmshYj z$by^C#Tk3Fm3{`bkZ;=y>TI6aqNZuJjJ6=Z`I?=jGx(Zw^7qWQQ@+%X*FM_y_jN1c z!rrt`IhVG<+3$Ana|dV_$}v3Wj}uDSljYpXC%&2X=qra@-+Arc2SM7iY}}a_1NBa8 zL3jk`3@SYHq-+F~>b9bu)`8bcF#uzXU(8R{=}&yg7rsu-v0~Nt2Bp}X%l=K%rV9pr zQB-~$J{y09FooM3zVQA)*v;>qV>M0h_sk!!;eGglFNvWJGI5uDFOhlxPWj~fCOQKm zMuxih!8cgd$~KFAK;B*r3Mk#=UI!%T&XPDN{A%nZp^M5wM;J)v(|CtOog$J#n`b$i z7auw8&-@OFbMLhSOp|%WTc-jbT0qu!~hZ9j>xah+Dc}ZZ(IUr2z|(*y;;8R{cb}%!eAx_5$}(#5}*)p zReJ;#m*@-w=j=?7=1IP;NXU;bAcT4YI|nS``CTB~CRmMx;jSW*e$EMJ2A1ADXpk zNB%xHA!@S3#2#PwPx9fLA)v?0fdCAphXHQSRsQrF0CTCgNvmj3CVY>%3sXT%qhe*1 z8?(9BNR#rUvh%CU_2aooOA&ph0v06y&!*icpFLqr44U!N8GDrta?)6yake5A^U3CX+i|Cvm7 zmqNeSYUId@o40i;K8|%FMz0(s?Nz;uEYBcO+?^)Q0JVS2t0|GOOW}9}3M-k;xI1EZ zIz5h|v6?wmVPS`f%=$UBWCF_g`q^US1l}hxuVFQex@c|qiovAeMkJ5GSwbT&%LPSP ze;`s?h>jKKW{wcEIxX&MIA=j@gH$%=)=4Si8Z*Oxw z>Ef4j)lcU~8c<)vW4lfMajrl|kc86|^7zd~e@uhq(%0uYl0Ur()g8UhswQsUdp*v` zk^yNDBr$n#pJ;&=x%LVbG@3KGzj zYNx6^i6mipsO4m-Y7%CWlkkg9kFvUZp`O#c^h3oKfnfE+JO>nXr>}Z2I+$zBJ-Gu83KN7IL9(v+2?E-1EG!d z#MIR*`KitHGL!>}~4 z$(@=YUK1cUcO<%Uav6x!SLr`VO1YtR{n9@tB8J;~CV~CY9~X-cl$){M-9nUjU~~?4 zlqB`F1)8pKu{>!Qh0XUVid}6xad(q|fe>{nFLDwIO#+DSypKEsI4UeJ(_q-su|zf> zJHL;(0i0!Y&Bbg;n!XVmJCYm#+QVwoLFnyrMly$3_NVh2T%o@qQt$<1%I5+=><|CA z%Lu8p99tY)z&(nXe(3J_jxpc|4eAl&1fySEL_AZMI(`NnaNG(NdS50|DEA4OD{#Ke z&D7Y2*3@s-dT*2~_mgYBpU?~)Dn#b@Sr@4SR5oigqNbc3v~9N4DgBYyZ8oIEG_QkS z_-!2i`}k#Se%GQSU#I}$1%C}u1#lX80V%`?I+-i^%UUH8#h#=GRDgp890U#zxFy=3 z`g{)ceJnE=LX#OnAI4e4S>uc{hqu=>k%D(NnKN~nJbJQI*k=%dLtVGp(uEzSTK!oJ zvm1qz*9q47g2bmD!##_)s=KmRcg2tt@hl}%c#L9{8Fveg$Yrg_XL>ik*tl&MSHH+h z)$I2b?kLLVu|v&HR7$o=Ab*x zET12gzq@xbHg7}`6-qqAp`ZZI|BBDo*i5xwm7x}dG^NY(}r7)VU{ zs$By!Tz1yzf6-0miKXqyb6{u7bp&zB=^trJ5IV76VmnEj`XFDPF84J=crF)P85}7= zOeD~OcMA5vrXVC+2BIt_joP6Z4g>%T>>vc~%5B-DQQ~&C{pRV+Bq#c{lm8{I z#!QgrI7Z->j=Bo8X+(%eh zdpEkh{`oNd&sTCT{bB;d)m>Qk(GyD$A}5 zou_+r{gcIMgo>kSk(vX53|2Xo4%J*M_>v9VVn8qi;V_eBZ{Ygi9dLSWIsJ#L57}ig zP!nxK^!-?lx_SwTdy`=8L85BudnU$JV$3o-7FeHE?v$%?&l)Z#zjXKCJ;~<1_+6_= zL*%>ECK7q*jOcP9aYSSDDr7#blpqp&$l2&U&>8E0i*LPNE%3Ja2S?B=VC7})j%}^V zs%tyo{&tqRVXU{+d*}GFdFdYDC=TA=zXu^47%z633Wk;;+!zwGhC~M0ALLc{y$hRj zd&O{A@E6Fq^lD4PRk_sxAyxsv`3d+dW*;P$^D~m>F=_Mk#7R^Bi&v4Two5~Sr;*?e zBpbD=Hw+k)Ptb`64(^*Dp?(O-1Q_s#5cca1;Tu20kcQe0?Hms=%}EGd7)Ao-fts*C zcbK*oOguqt^T<+!3?IM`ovT2S;*qo`SmfS#-|Efw<2Aknsa`Vz7m+BcTJTuU9an=s zawOeq7Tf{l5YG`fjSw%$*ePt1M5#iuVv0uhIwnKmatS1ke1@TH+`DpDg9p;P+z(cX zbH5$i$JT(5B);$G5Q+esWuQ-d($(c)lP$Ef(laYHSG3)4J^zb=A>355iPi1!j zhBiG=RoW$NucxcecW>BKAh4+wVDKEE9D61Yd|97h|HWuWvcr4;CGs~u^cH#scsuv% zndga#H?)I(_)=3;6o+uJe6A3Z`eQm${s*i#s~6+qz?xP8v`-(z>4$LnF{TLW4xOm* z`nG5k5&}n5dvG0gS5QzPaQ9b03d0FV^kgVH{PT~LxU?+f86EfTxo3pcLIG%}BfE*s z*^_xYWa0JP_L#fGWln+f#7v=sI8mgb2O*%ooVw*b1OI0QFqMr3k-lo6#;XR6_+b81 z$hi3gqwT<%5rr5r9-)tbWP2kP|LyaD(zJO;O~o!d!fof5djEM;TwEGw&4Vd6eT6>6 zVT5F00b%|HaJs3*0Z6?FE*V!V=-y?w&;w7*2iyW5bUD`T?!>(#XL2oJHx(-GBx6Y!{#J<=8=?Z9*q@x-gfp&1*EhbmsHyE6xp;7K&6Hh9eho#TE6O zFhQ3uv&bCjr2cF+i%pLxGQ*X7{13V_Z38~alUv%K7>w^Wp}vko{*Vm|os4A9ZaGbo z33cU>Lv;nC-PlQC7u{%f)R~ila`H29@bpu749tbBG{PHxg46VXe;wPJp;Mgg58j$L zNN&Rc22ZbjaY93vIx+&kk~v$PLt2`m&}*Pv)h2TGNM~xS8kgu2pDvsos4NNQ41@S2 zfr^AlER0$!!aq1hweuY08G^pj#TCYin?8F55mYN@h{6WRQR1AHF`gKXGv-^*Ng|h5 zlAVKql-_f$_4^-{TUZ(Ts|VVTpE(4Z%W=c6Tjc?AxjMBDe6N;oZ5P?Q!}xp0MMYKl zv<`N*9VabLiC(#S@RB6|G*N^wlvD3LzI-poQ0v5AI+=EQz=EqFsZDXIauU%Ul3er_t zCu7#%@%ro30RcV%J$-N}J^jWvX~-@c;&Ipo4=3RvbT&huQ=&Lo^g)PPl-Ni{`GaT` zQ3dlJnMRfV$1nD%7LCtqbUpLV@D3OouMJU)epxm*@h0>RKJd`oZJJ>yZjA|`WU{Qd zbH@U2b7*8NtTEhWS>AV#@aaq5t>x#BWs8`Zn68$t z#>B)d_(@o#C_k`u|JnrMiS6Af**({UPF-pM(()<0_WQFpR6l2DT%&(Eo0;ceS7?6A z3nDsvhCKuNn0N11%@DJa^=^hzN2%#E0p#-K#l=awE05uosDY>P*XpgR9slu)kD}Hm zr)95h9m71t(xVHHVPy&>2KZq;t#&x6`?7EbYaa2`+xqR*4@|ipTRCeFZvUi?w!Q_w zb*x~9|Ma^@)xeV|DyT-6&P29nIs`yagv{h9b2xcguF8tRrgnKQH2hwDIIn*{-}{@l zT-atal~!5pE{%k)P+SP6c57j4{>lpDRkf2J#|1v0zczjP)72HlsXXte2d2FklFr1> z$^6LNwK^J0H}93d7So)kSK#wH6!&I#dA9DgVWklA=^~%R zgV1faK9{ADD0BEY_~3ip)dm3qc*E^I>l+W+VP!aOOBin<;{W6N!stCxXRp;vvU0`JXs~#LDfPaH zl6PV0=`Mj-hAazbcbYE{jtha|eSE-fy*{V)pO4U}`73M!HPh#@NViQy*@090J!7~a z;JUsld@IaplYmv(eW_h60!ND1*fREt{?A*pou*!2uV+pT8%(>MW{b0J z?q&9*YQWsU^J&@Ha1GwK#+UWp<3m=8v+D^ES*iGw0Ld%1|MT#|+sjozlW=KNnVNOr z?j0Hk@$!*{p$Vyj`wWYGhCVX{MR-EO@`tWs{4Kp6Yh^C z837j2-)q6|PwVa$O=sD3I3%Jw+cVaLZM=lx$6QHS`2*BF-+%4i3#uxWsHmuu#SLHu zZYfV~4zT(Pjc0GymgjF>lXFsqna@*k?>I$8{peyZ3B{_oASokp1L zU>Wa?3@Z$l!b_(UzG;662P4n3Rk&k)LY|vqR({feS=R%C`TCh)eL2?Wv}I)VujTGv zFVSSXaWzk==&Ap>sDHhs5tfWxMm^ttoZ$P9U-z$@ST7mgXq8h3I{x*?f8RXYX>N1C z8hRl}CgnfB_<#RR;{6vjYdK7jRrqf|^I-nvJcs1tY)XH8UGK790Ui6S=55DB;eUT# ze|>wQwO-G&mM8Hy{`_frci+Q>-?l7j#{9=y@UQRsAb!`w#_dy+#Xqj0`wYBAmIb{d z|8cAR_3dZb50*Vv@O1r;d*-iipDKe3FL>{H{%Zi1&ZIuA;#9k88Ma0xtah zw{rErzX|YN5j^l}&vx9rPXE_l_3t063Aa%1|Noe<|Nmq9-{1o>B#mMe25*k0J Rz777_XKZQo%)mMF{{Sr5y> Date: Wed, 30 Dec 2015 20:55:43 +0100 Subject: [PATCH 10/13] Update to latest rspec-rails (3.4) --- Gemfile | 2 +- Gemfile.lock | 34 ++++++++++++++++++---------------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/Gemfile b/Gemfile index 49165d3..ece6532 100644 --- a/Gemfile +++ b/Gemfile @@ -54,7 +54,7 @@ group :development do end group :development, :test do - gem "rspec-rails", '~> 2.14' + gem "rspec-rails", '~> 3.4.0' gem "capybara", '~> 2.4.4' gem "byebug" end diff --git a/Gemfile.lock b/Gemfile.lock index 55c1aed..d17abd3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -262,21 +262,23 @@ GEM railties (>= 4.2.0.alpha, < 5) rollbar (1.3.2) multi_json (~> 1.3) - rspec-collection_matchers (1.1.2) - rspec-expectations (>= 2.99.0.beta1) - rspec-core (2.99.2) - rspec-expectations (2.99.2) - diff-lcs (>= 1.1.3, < 2.0) - rspec-mocks (2.99.2) - rspec-rails (2.99.0) - actionpack (>= 3.0) - activemodel (>= 3.0) - activesupport (>= 3.0) - railties (>= 3.0) - rspec-collection_matchers - rspec-core (~> 2.99.0) - rspec-expectations (~> 2.99.0) - rspec-mocks (~> 2.99.0) + rspec-core (3.4.1) + rspec-support (~> 3.4.0) + rspec-expectations (3.4.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.4.0) + rspec-mocks (3.4.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.4.0) + rspec-rails (3.4.0) + actionpack (>= 3.0, < 4.3) + activesupport (>= 3.0, < 4.3) + railties (>= 3.0, < 4.3) + rspec-core (~> 3.4.0) + rspec-expectations (~> 3.4.0) + rspec-mocks (~> 3.4.0) + rspec-support (~> 3.4.0) + rspec-support (3.4.1) rubocop (0.28.0) astrolabe (~> 1.3) parser (>= 2.2.0.pre.7, < 3.0) @@ -398,7 +400,7 @@ DEPENDENCIES rdiscount responders (~> 2.0) rollbar - rspec-rails (~> 2.14) + rspec-rails (~> 3.4.0) rubocop sass-rails (~> 5.0.1) select2-rails From 701f0548f6feeb8db5f1c0629892a1dad2ade37e Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Wed, 30 Dec 2015 20:59:38 +0100 Subject: [PATCH 11/13] use Rails.application instead of Timeoverflow::Application --- Rakefile | 2 +- config.ru | 2 +- config/initializers/secret_token.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Rakefile b/Rakefile index 6a1208f..baff551 100644 --- a/Rakefile +++ b/Rakefile @@ -4,4 +4,4 @@ require File.expand_path('../config/application', __FILE__) -Timeoverflow::Application.load_tasks +Rails.application.load_tasks diff --git a/config.ru b/config.ru index 51e773e..fd7e9ea 100644 --- a/config.ru +++ b/config.ru @@ -2,4 +2,4 @@ Encoding.default_internal = 'utf-8' Encoding.default_external = 'utf-8' require ::File.expand_path('../config/environment', __FILE__) -run Timeoverflow::Application +run Rails.application diff --git a/config/initializers/secret_token.rb b/config/initializers/secret_token.rb index 90f0790..4cffbcf 100644 --- a/config/initializers/secret_token.rb +++ b/config/initializers/secret_token.rb @@ -9,4 +9,4 @@ # Make sure your secret_token is kept private # if you're sharing your code publicly. -Timeoverflow::Application.config.secret_token = ENV['SECRET_TOKEN'] || "8df86bdf5c64ce11154ea056d592ddab1f668c8c6982f1d9e2396c78246d6d7cbe05765684abf9767c41d7ebadc90c05175fc55fddf0ea83e65ee261a41dd631" +Rails.application.config.secret_token = ENV['SECRET_TOKEN'] || "8df86bdf5c64ce11154ea056d592ddab1f668c8c6982f1d9e2396c78246d6d7cbe05765684abf9767c41d7ebadc90c05175fc55fddf0ea83e65ee261a41dd631" From 278f0d4dca846f1385e5fa20399f581bd7d140a2 Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Thu, 31 Dec 2015 13:04:20 +0100 Subject: [PATCH 12/13] [workaround] remove "data-toggle" => "dropdown" to avoid double click on dropdowns (more info: https://github.com/angular-ui/bootstrap/issues/2294) --- app/views/application/_navbar.html.haml | 10 +++++----- app/views/inquiries/index.html.haml | 2 +- app/views/offers/dashboard.html.haml | 2 +- app/views/offers/index.html.haml | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/views/application/_navbar.html.haml b/app/views/application/_navbar.html.haml index 39f286e..c5a2fec 100644 --- a/app/views/application/_navbar.html.haml +++ b/app/views/application/_navbar.html.haml @@ -15,7 +15,7 @@ - if current_user.manages? current_organization %li.dropdown - %a.dropdown-toggle{ href: "#", data: { toggle: :dropdown } } + %a.dropdown-toggle{ href: "#"} = glyph("paperclip") = t ".reports" %b.caret @@ -33,7 +33,7 @@ %span.glyphicon.glyphicon-list-alt = Inquiry.model_name.human(count: :many) %li.dropdown - %a.dropdown-toggle{href: "#", data: { toggle: :dropdown } } + %a.dropdown-toggle{href: "#"} = glyph("stats") = t ".statistics" %b.caret @@ -67,7 +67,7 @@ %span.glyphicon.glyphicon-stats = t ".statistics_all_transfers" %li.dropdown - %a.dropdown-toggle{ href: "#", data: { toggle: :dropdown } } + %a.dropdown-toggle{ href: "#"} = glyph("wrench") = t ".admin" %b.caret @@ -99,7 +99,7 @@ %ul.nav.navbar-nav.navbar-right - if current_user %li.dropdown - %a.dropdown-toggle{href: "#", data: { toggle: :dropdown } } + %a.dropdown-toggle{href: "#"} = image_tag avatar_url(current_user), style: "margin: -8px auto" = current_user.email %b.caret @@ -147,7 +147,7 @@ %li.divider{role: :presentation} %li.dropdown - %a.dropdown-toggle{ href: "#", data: { toggle: :dropdown } } + %a.dropdown-toggle{ href: "#"} = glyph("globe") %b.caret %ul.dropdown-menu{role: :menu} diff --git a/app/views/inquiries/index.html.haml b/app/views/inquiries/index.html.haml index bdba71f..1d4f1ed 100644 --- a/app/views/inquiries/index.html.haml +++ b/app/views/inquiries/index.html.haml @@ -13,7 +13,7 @@ %ul.nav.navbar-nav %li.dropdown - %a.dropdown-toggle{href: "#", "data-toggle" => "dropdown"} + %a.dropdown-toggle{href: "#"} = @category ? @category.name : Category.model_name.human %span.caret %ul.dropdown-menu{role: "menu"} diff --git a/app/views/offers/dashboard.html.haml b/app/views/offers/dashboard.html.haml index 7ff643e..4e0519a 100644 --- a/app/views/offers/dashboard.html.haml +++ b/app/views/offers/dashboard.html.haml @@ -11,7 +11,7 @@ %ul.nav.navbar-nav %li.dropdown - %a.dropdown-toggle{href: "#", "data-toggle" => "dropdown"} + %a.dropdown-toggle{href: "#"} = @category ? @category.name : Category.model_name.human %span.caret %ul.dropdown-menu{role: "menu"} diff --git a/app/views/offers/index.html.haml b/app/views/offers/index.html.haml index 1008558..8bc0312 100644 --- a/app/views/offers/index.html.haml +++ b/app/views/offers/index.html.haml @@ -13,7 +13,7 @@ %ul.nav.navbar-nav %li.dropdown - %a.dropdown-toggle{href: "#", "data-toggle" => "dropdown"} + %a.dropdown-toggle{href: "#"} = @category ? @category.name : Category.model_name.human %span.caret %ul.dropdown-menu{role: "menu"} From 05e4b2840cca9a9b4622e7b17c34434462a81fc3 Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Thu, 31 Dec 2015 13:51:11 +0100 Subject: [PATCH 13/13] Drop a couple of deprecated partials --- app/views/application/_menu.html.haml | 23 --------------- app/views/application/_nav.html.haml | 41 --------------------------- 2 files changed, 64 deletions(-) delete mode 100644 app/views/application/_menu.html.haml delete mode 100644 app/views/application/_nav.html.haml diff --git a/app/views/application/_menu.html.haml b/app/views/application/_menu.html.haml deleted file mode 100644 index 58b765f..0000000 --- a/app/views/application/_menu.html.haml +++ /dev/null @@ -1,23 +0,0 @@ -%a.brand{href: "/"} TimeOverflow -%ul.nav.pull-right - - if current_user - %li.dropdown - %a.dropdown-toggle{href: true, data: {toggle: "dropdown"}} - %span.glyphicon.glyphicon-user - = current_user.email - %b.caret - %ul.dropdown-menu - %li - %a.disabled - %span.glyphicon.glyphicon-wrench - = t "menu.preferences" - %li - %a#signout{href: true} - %span.glyphicon.glyphicon-signout - = t ".signout" - - - else - %li - %a#signin{href: true} - %span.glyphicon.glyphicon-signin - = t ".signin" diff --git a/app/views/application/_nav.html.haml b/app/views/application/_nav.html.haml deleted file mode 100644 index 77f047a..0000000 --- a/app/views/application/_nav.html.haml +++ /dev/null @@ -1,41 +0,0 @@ - - -%li.nav-header= t ".administration" -%li{class: ('active' if current_page? controller: "organizations")} - %a{href: organizations_path} - %span.glyphicon.glyphicon-group - = Organization.model_name.human(count: :many) -/ %li{class: ('active' if current_page? controller: "categories")} -/ %a{href: categories_path} -/ %span.glyphicon.glyphicon-tags -/ = Category.model_name.human.pluralize -%li{class: ('active' if current_page? controller: "users")} - %a{href: users_path} - %span.glyphicon.glyphicon-user - = User.model_name.human.pluralize - -%li{class: ('active' if current_page? controller: "offers")} - %a{href: offers_path} - %span.glyphicon.glyphicon-hand-up - = Offer.model_name.human(count: :many) - -%li{class: ('active' if current_page? controller: "inquiries")} - %a{href: inquiries_path} - %span.glyphicon.glyphicon-bell - = Inquiry.model_name.human(count: :many) - -%li.nav-header= t ".reports" -%li - %a{href: "/report/cat_with_users", data: {popup: true}} - %span.glyphicon.glyphicon-list-alt - = t "reports.cat_with_users.title" -%li - %a{href: "/report/user_list", data: {popup: true}} - %span.glyphicon.glyphicon-list-alt - = t "reports.user_list.title" - -%li.nav-header= t ".stats" -%li - %a{href: "#"} - %span.glyphicon.glyphicon-tasks - = t "stats.min_balance.title"
- - -
- - - - -
-

Getting started

-

Here’s how to get rolling:

- -
    -
  1. -

    Use rails generate to create your models and controllers

    -

    To see all available options, run it without parameters.

    -
  2. - -
  3. -

    Set up a default route and remove public/index.html

    -

    Routes are set up in config/routes.rb.

    -
  4. - -
  5. -

    Create your database

    -

    Run rake db:create to create your database. If you're not using SQLite (the default), edit config/database.yml with your username and password.

    -
  6. -
-
-
- - -