From 155f926f3bd76218cb507dfea65c1fbb76439ff2 Mon Sep 17 00:00:00 2001 From: nVisium-ken-johnson Date: Wed, 12 Jul 2017 10:30:56 -0400 Subject: [PATCH 001/554] there were too many conflicts during merge with the existing gemfile.lock that I just removed the old one and created a new one --- Gemfile.lock | 346 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 346 insertions(+) create mode 100644 Gemfile.lock diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 000000000..3f4a200c2 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,346 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (5.0.1) + actionpack (= 5.0.1) + nio4r (~> 1.2) + websocket-driver (~> 0.6.1) + actionmailer (5.0.1) + actionpack (= 5.0.1) + actionview (= 5.0.1) + activejob (= 5.0.1) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (5.0.1) + actionview (= 5.0.1) + activesupport (= 5.0.1) + rack (~> 2.0) + rack-test (~> 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.0.1) + activesupport (= 5.0.1) + builder (~> 3.1) + erubis (~> 2.7.0) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + activejob (5.0.1) + activesupport (= 5.0.1) + globalid (>= 0.3.6) + activemodel (5.0.1) + activesupport (= 5.0.1) + activerecord (5.0.1) + activemodel (= 5.0.1) + activesupport (= 5.0.1) + arel (~> 7.0) + activesupport (5.0.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (~> 0.7) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.5.1) + public_suffix (~> 2.0, >= 2.0.2) + arel (7.1.4) + aruba (0.14.2) + childprocess (~> 0.5.6) + contracts (~> 0.9) + cucumber (>= 1.3.19) + ffi (~> 1.9.10) + rspec-expectations (>= 2.99) + thor (~> 0.19) + bcrypt (3.1.11) + better_errors (2.1.1) + coderay (>= 1.0.0) + erubis (>= 2.6.6) + rack (>= 0.9.0) + binding_of_caller (0.7.2) + debug_inspector (>= 0.0.1) + brakeman (3.7.0) + builder (3.2.3) + bundler-audit (0.5.0) + bundler (~> 1.2) + thor (~> 0.18) + capybara (2.14.4) + addressable + mime-types (>= 1.16) + nokogiri (>= 1.3.3) + rack (>= 1.0.0) + rack-test (>= 0.5.4) + xpath (~> 2.0) + childprocess (0.5.9) + ffi (~> 1.0, >= 1.0.11) + cliver (0.3.2) + coderay (1.1.1) + coffee-rails (4.2.2) + coffee-script (>= 2.2.0) + railties (>= 4.0.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + concurrent-ruby (1.0.5) + contracts (0.16.0) + crack (0.3.1) + cucumber (2.4.0) + builder (>= 2.1.2) + cucumber-core (~> 1.5.0) + cucumber-wire (~> 0.0.1) + diff-lcs (>= 1.1.3) + gherkin (~> 4.0) + multi_json (>= 1.7.5, < 2.0) + multi_test (>= 0.1.2) + cucumber-core (1.5.0) + gherkin (~> 4.0) + cucumber-wire (0.0.1) + database_cleaner (1.6.1) + debug_inspector (0.0.3) + diff-lcs (1.3) + docile (1.1.5) + em-websocket (0.5.1) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + erubis (2.7.0) + eventmachine (1.2.3) + execjs (2.7.0) + ffi (1.9.18) + foreman (0.84.0) + thor (~> 0.19.1) + formatador (0.2.5) + gherkin (4.1.3) + globalid (0.4.0) + activesupport (>= 4.2.0) + guard (2.14.1) + formatador (>= 0.2.4) + listen (>= 2.7, < 4.0) + lumberjack (~> 1.0) + nenv (~> 0.1) + notiffany (~> 0.0) + pry (>= 0.9.12) + shellany (~> 0.0) + thor (>= 0.18.1) + guard-brakeman (0.8.3) + brakeman (>= 2.1.1) + guard (>= 2.0.0) + guard-compat (1.2.1) + guard-livereload (2.5.2) + em-websocket (~> 0.5) + guard (~> 2.8) + guard-compat (~> 1.0) + multi_json (~> 1.8) + guard-rspec (4.7.3) + guard (~> 2.1) + guard-compat (~> 1.1) + rspec (>= 2.99.0, < 4.0) + guard-shell (0.7.1) + guard (>= 2.0.0) + guard-compat (~> 1.0) + http_parser.rb (0.6.0) + i18n (0.8.6) + jquery-fileupload-rails (0.4.7) + actionpack (>= 3.1) + railties (>= 3.1) + sass (>= 3.2) + jquery-rails (4.3.1) + rails-dom-testing (>= 1, < 3) + railties (>= 4.2.0) + thor (>= 0.14, < 2.0) + json (2.1.0) + kgio (2.11.0) + launchy (2.4.3) + addressable (~> 2.3) + libv8 (3.16.14.19) + listen (3.1.5) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) + loofah (2.0.3) + nokogiri (>= 1.5.9) + lumberjack (1.0.12) + mail (2.6.6) + mime-types (>= 1.16, < 4) + method_source (0.8.2) + mime-types (3.1) + mime-types-data (~> 3.2015) + mime-types-data (3.2016.0521) + mini_portile2 (2.2.0) + minitest (5.10.2) + multi_json (1.12.1) + multi_test (0.1.2) + mysql2 (0.4.8) + nenv (0.3.0) + nio4r (1.2.1) + nokogiri (1.8.0) + mini_portile2 (~> 2.2.0) + notiffany (0.1.1) + nenv (~> 0.1) + shellany (~> 0.0) + poltergeist (1.15.0) + capybara (~> 2.1) + cliver (~> 0.3.1) + websocket-driver (>= 0.2.0) + powder (0.3.2) + thor (>= 0.11.5) + power_assert (1.0.2) + pry (0.10.4) + coderay (~> 1.1.0) + method_source (~> 0.8.1) + slop (~> 3.4) + pry-rails (0.3.6) + pry (>= 0.10.4) + public_suffix (2.0.5) + rack (2.0.3) + rack-livereload (0.3.16) + rack + rack-test (0.6.3) + rack (>= 1.0) + rails (5.0.1) + actioncable (= 5.0.1) + actionmailer (= 5.0.1) + actionpack (= 5.0.1) + actionview (= 5.0.1) + activejob (= 5.0.1) + activemodel (= 5.0.1) + activerecord (= 5.0.1) + activesupport (= 5.0.1) + bundler (>= 1.3.0, < 2.0) + railties (= 5.0.1) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.0.3) + loofah (~> 2.0) + railties (5.0.1) + actionpack (= 5.0.1) + activesupport (= 5.0.1) + method_source + rake (>= 0.8.7) + thor (>= 0.18.1, < 2.0) + raindrops (0.18.0) + rake (12.0.0) + rb-fsevent (0.10.2) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) + ref (2.0.0) + responders (2.4.0) + actionpack (>= 4.2.0, < 5.3) + railties (>= 4.2.0, < 5.3) + rspec (3.6.0) + rspec-core (~> 3.6.0) + rspec-expectations (~> 3.6.0) + rspec-mocks (~> 3.6.0) + rspec-core (3.6.0) + rspec-support (~> 3.6.0) + rspec-expectations (3.6.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.6.0) + rspec-mocks (3.6.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.6.0) + rspec-rails (3.6.0) + actionpack (>= 3.0) + activesupport (>= 3.0) + railties (>= 3.0) + rspec-core (~> 3.6.0) + rspec-expectations (~> 3.6.0) + rspec-mocks (~> 3.6.0) + rspec-support (~> 3.6.0) + rspec-support (3.6.0) + ruby_dep (1.5.0) + sass (3.4.25) + sass-rails (5.0.6) + railties (>= 4.0.0, < 6) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + shellany (0.0.1) + simplecov (0.14.1) + docile (~> 1.1.0) + json (>= 1.8, < 3) + simplecov-html (~> 0.10.0) + simplecov-html (0.10.1) + slop (3.6.0) + sprockets (3.7.1) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-rails (3.2.0) + actionpack (>= 4.0) + activesupport (>= 4.0) + sprockets (>= 3.0.0) + sqlite3 (1.3.13) + test-unit (3.2.5) + power_assert + therubyracer (0.12.3) + libv8 (~> 3.16.14.15) + ref + thor (0.19.4) + thread_safe (0.3.6) + tilt (2.0.7) + travis-lint (2.0.0) + json + turbolinks (5.0.1) + turbolinks-source (~> 5) + turbolinks-source (5.0.3) + tzinfo (1.2.3) + thread_safe (~> 0.1) + uglifier (3.2.0) + execjs (>= 0.3.0, < 3) + unicorn (5.3.0) + kgio (~> 2.6) + raindrops (~> 0.7) + websocket-driver (0.6.5) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.2) + xpath (2.1.0) + nokogiri (~> 1.3) + +PLATFORMS + ruby + +DEPENDENCIES + aruba + bcrypt + better_errors + binding_of_caller + brakeman + bundler-audit + capybara + coffee-rails + crack (= 0.3.1) + database_cleaner + execjs + foreman + guard-brakeman + guard-livereload + guard-rspec + guard-shell + jquery-fileupload-rails + jquery-rails + launchy + mysql2 + poltergeist + powder + pry + pry-rails + rack-livereload + rails (= 5.0.1) + rake + rb-fsevent + responders + rspec-rails + sass-rails + simplecov + sqlite3 + test-unit + therubyracer + travis-lint + turbolinks + uglifier + unicorn + +RUBY VERSION + ruby 2.3.4p301 + +BUNDLED WITH + 1.15.1 From c214693adb134f9c5a76a1941cb9e0023acddb30 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Thu, 13 Jul 2017 20:15:24 -0400 Subject: [PATCH 002/554] Upgraded sass and sass-listen gems --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e5a1854a6..3faf18bbe 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -247,11 +247,11 @@ GEM rspec-support (~> 3.6.0) rspec-support (3.6.0) ruby_dep (1.5.0) - sass (3.5.0) - sass-listen (~> 3.0.7) - sass-listen (3.0.7) - rb-fsevent (>= 0.9.3) - rb-inotify (>= 0.9.7) + sass (3.5.1) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) sass-rails (5.0.6) railties (>= 4.0.0, < 6) sass (~> 3.1) From c4b7c1e60e46c0e4aba677a2d4d207d943b364ec Mon Sep 17 00:00:00 2001 From: Al Snow Date: Tue, 18 Jul 2017 09:21:07 -0400 Subject: [PATCH 003/554] Upgraded bundler gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3faf18bbe..9cb5791ff 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -347,4 +347,4 @@ RUBY VERSION ruby 2.3.4p301 BUNDLED WITH - 1.15.1 + 1.15.2 From af94379ec73ed97c1dfdc74924bcddb332b24d75 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Wed, 19 Jul 2017 08:05:27 -0400 Subject: [PATCH 004/554] Upgrade bundler-audit gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9cb5791ff..f56f174d7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -57,7 +57,7 @@ GEM debug_inspector (>= 0.0.1) brakeman (3.7.0) builder (3.2.3) - bundler-audit (0.5.0) + bundler-audit (0.6.0) bundler (~> 1.2) thor (~> 0.18) capybara (2.14.4) From f218ecf8c7b34ffa9b95c4f7cf700280a9411c68 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Wed, 19 Jul 2017 19:41:33 -0400 Subject: [PATCH 005/554] Upgrade Rails to 5.1.3.rc1 --- Gemfile | 2 +- Gemfile.lock | 81 ++++++++++++++++++++++++++-------------------------- 2 files changed, 42 insertions(+), 41 deletions(-) diff --git a/Gemfile b/Gemfile index ab88171a8..fd319ab24 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ source 'https://rubygems.org' #don't upgrade -gem 'rails', '5.0.1' +gem 'rails', '5.1.3.rc1' ruby '2.3.4' diff --git a/Gemfile.lock b/Gemfile.lock index f56f174d7..c0a9e58d0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,46 +1,46 @@ GEM remote: https://rubygems.org/ specs: - actioncable (5.0.1) - actionpack (= 5.0.1) - nio4r (~> 1.2) + actioncable (5.1.3.rc1) + actionpack (= 5.1.3.rc1) + nio4r (~> 2.0) websocket-driver (~> 0.6.1) - actionmailer (5.0.1) - actionpack (= 5.0.1) - actionview (= 5.0.1) - activejob (= 5.0.1) + actionmailer (5.1.3.rc1) + actionpack (= 5.1.3.rc1) + actionview (= 5.1.3.rc1) + activejob (= 5.1.3.rc1) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.0.1) - actionview (= 5.0.1) - activesupport (= 5.0.1) + actionpack (5.1.3.rc1) + actionview (= 5.1.3.rc1) + activesupport (= 5.1.3.rc1) rack (~> 2.0) rack-test (~> 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.0.1) - activesupport (= 5.0.1) + actionview (5.1.3.rc1) + activesupport (= 5.1.3.rc1) builder (~> 3.1) - erubis (~> 2.7.0) + erubi (~> 1.4) rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.2) - activejob (5.0.1) - activesupport (= 5.0.1) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activejob (5.1.3.rc1) + activesupport (= 5.1.3.rc1) globalid (>= 0.3.6) - activemodel (5.0.1) - activesupport (= 5.0.1) - activerecord (5.0.1) - activemodel (= 5.0.1) - activesupport (= 5.0.1) - arel (~> 7.0) - activesupport (5.0.1) + activemodel (5.1.3.rc1) + activesupport (= 5.1.3.rc1) + activerecord (5.1.3.rc1) + activemodel (= 5.1.3.rc1) + activesupport (= 5.1.3.rc1) + arel (~> 8.0) + activesupport (5.1.3.rc1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (~> 0.7) minitest (~> 5.1) tzinfo (~> 1.1) addressable (2.5.1) public_suffix (~> 2.0, >= 2.0.2) - arel (7.1.4) + arel (8.0.0) aruba (0.14.2) childprocess (~> 0.5.6) contracts (~> 0.9) @@ -99,6 +99,7 @@ GEM em-websocket (0.5.1) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) + erubi (1.6.1) erubis (2.7.0) eventmachine (1.2.3) execjs (2.7.0) @@ -168,7 +169,7 @@ GEM multi_test (0.1.2) mysql2 (0.4.8) nenv (0.3.0) - nio4r (1.2.1) + nio4r (2.1.0) nokogiri (1.8.0) mini_portile2 (~> 2.2.0) notiffany (0.1.1) @@ -193,26 +194,26 @@ GEM rack rack-test (0.6.3) rack (>= 1.0) - rails (5.0.1) - actioncable (= 5.0.1) - actionmailer (= 5.0.1) - actionpack (= 5.0.1) - actionview (= 5.0.1) - activejob (= 5.0.1) - activemodel (= 5.0.1) - activerecord (= 5.0.1) - activesupport (= 5.0.1) - bundler (>= 1.3.0, < 2.0) - railties (= 5.0.1) + rails (5.1.3.rc1) + actioncable (= 5.1.3.rc1) + actionmailer (= 5.1.3.rc1) + actionpack (= 5.1.3.rc1) + actionview (= 5.1.3.rc1) + activejob (= 5.1.3.rc1) + activemodel (= 5.1.3.rc1) + activerecord (= 5.1.3.rc1) + activesupport (= 5.1.3.rc1) + bundler (>= 1.3.0) + railties (= 5.1.3.rc1) sprockets-rails (>= 2.0.0) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) rails-html-sanitizer (1.0.3) loofah (~> 2.0) - railties (5.0.1) - actionpack (= 5.0.1) - activesupport (= 5.0.1) + railties (5.1.3.rc1) + actionpack (= 5.1.3.rc1) + activesupport (= 5.1.3.rc1) method_source rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) @@ -328,7 +329,7 @@ DEPENDENCIES pry pry-rails rack-livereload - rails (= 5.0.1) + rails (= 5.1.3.rc1) rake rb-fsevent responders From c5579ec6b7178da7120cb8ec2fbefa6b0d1e5f3f Mon Sep 17 00:00:00 2001 From: Al Snow Date: Fri, 21 Jul 2017 08:15:38 -0400 Subject: [PATCH 006/554] Upgraded minitest gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c0a9e58d0..0e99f2e35 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -164,7 +164,7 @@ GEM mime-types-data (~> 3.2015) mime-types-data (3.2016.0521) mini_portile2 (2.2.0) - minitest (5.10.2) + minitest (5.10.3) multi_json (1.12.1) multi_test (0.1.2) mysql2 (0.4.8) From 53bc8c69bbdface20f84d2e80dc2b9a809d9ee51 Mon Sep 17 00:00:00 2001 From: Tom Copeland Date: Fri, 21 Jul 2017 09:15:06 -0400 Subject: [PATCH 007/554] Comment out csrf_meta_tags Per https://github.com/OWASP/railsgoat/wiki/R4-A8-CSRF this line should be commented out for the developer to fix (by uncommenting it). --- app/views/layouts/application.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 5baa3626b..960c52126 100755 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -4,7 +4,7 @@ RailsGoat <%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %> <%= javascript_include_tag "application", "data-turbolinks-track" => true %> - <%= csrf_meta_tags %> + <%#= csrf_meta_tags %> <% if cookies[:font] From da9b9622fe06e5c5d735929d643cc8a0345a8f60 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Sun, 23 Jul 2017 12:22:39 -0400 Subject: [PATCH 008/554] Upgrade bundler gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0e99f2e35..4b2fa5f7b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -348,4 +348,4 @@ RUBY VERSION ruby 2.3.4p301 BUNDLED WITH - 1.15.2 + 1.15.3 From 49b8870b17a202393ff3841f6a2accf11624a67a Mon Sep 17 00:00:00 2001 From: Al Snow Date: Mon, 24 Jul 2017 08:52:06 -0400 Subject: [PATCH 009/554] Upgraded tilt gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 4b2fa5f7b..4d9fb73ae 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -281,7 +281,7 @@ GEM ref thor (0.19.4) thread_safe (0.3.6) - tilt (2.0.7) + tilt (2.0.8) travis-lint (2.0.0) json turbolinks (5.0.1) From f129de249d53d6e71997675b47528741b8a56d7b Mon Sep 17 00:00:00 2001 From: Al Snow Date: Tue, 25 Jul 2017 18:45:27 -0400 Subject: [PATCH 010/554] Upgraded Rails to 5.1.3.rc2 --- Gemfile | 2 +- Gemfile.lock | 66 ++++++++++++++++++++++++++-------------------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/Gemfile b/Gemfile index fd319ab24..a56e5b981 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ source 'https://rubygems.org' #don't upgrade -gem 'rails', '5.1.3.rc1' +gem 'rails', '5.1.3.rc2' ruby '2.3.4' diff --git a/Gemfile.lock b/Gemfile.lock index 4d9fb73ae..cbcf3aa1c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,39 +1,39 @@ GEM remote: https://rubygems.org/ specs: - actioncable (5.1.3.rc1) - actionpack (= 5.1.3.rc1) + actioncable (5.1.3.rc2) + actionpack (= 5.1.3.rc2) nio4r (~> 2.0) websocket-driver (~> 0.6.1) - actionmailer (5.1.3.rc1) - actionpack (= 5.1.3.rc1) - actionview (= 5.1.3.rc1) - activejob (= 5.1.3.rc1) + actionmailer (5.1.3.rc2) + actionpack (= 5.1.3.rc2) + actionview (= 5.1.3.rc2) + activejob (= 5.1.3.rc2) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.1.3.rc1) - actionview (= 5.1.3.rc1) - activesupport (= 5.1.3.rc1) + actionpack (5.1.3.rc2) + actionview (= 5.1.3.rc2) + activesupport (= 5.1.3.rc2) rack (~> 2.0) rack-test (~> 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.1.3.rc1) - activesupport (= 5.1.3.rc1) + actionview (5.1.3.rc2) + activesupport (= 5.1.3.rc2) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.1.3.rc1) - activesupport (= 5.1.3.rc1) + activejob (5.1.3.rc2) + activesupport (= 5.1.3.rc2) globalid (>= 0.3.6) - activemodel (5.1.3.rc1) - activesupport (= 5.1.3.rc1) - activerecord (5.1.3.rc1) - activemodel (= 5.1.3.rc1) - activesupport (= 5.1.3.rc1) + activemodel (5.1.3.rc2) + activesupport (= 5.1.3.rc2) + activerecord (5.1.3.rc2) + activemodel (= 5.1.3.rc2) + activesupport (= 5.1.3.rc2) arel (~> 8.0) - activesupport (5.1.3.rc1) + activesupport (5.1.3.rc2) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (~> 0.7) minitest (~> 5.1) @@ -194,26 +194,26 @@ GEM rack rack-test (0.6.3) rack (>= 1.0) - rails (5.1.3.rc1) - actioncable (= 5.1.3.rc1) - actionmailer (= 5.1.3.rc1) - actionpack (= 5.1.3.rc1) - actionview (= 5.1.3.rc1) - activejob (= 5.1.3.rc1) - activemodel (= 5.1.3.rc1) - activerecord (= 5.1.3.rc1) - activesupport (= 5.1.3.rc1) + rails (5.1.3.rc2) + actioncable (= 5.1.3.rc2) + actionmailer (= 5.1.3.rc2) + actionpack (= 5.1.3.rc2) + actionview (= 5.1.3.rc2) + activejob (= 5.1.3.rc2) + activemodel (= 5.1.3.rc2) + activerecord (= 5.1.3.rc2) + activesupport (= 5.1.3.rc2) bundler (>= 1.3.0) - railties (= 5.1.3.rc1) + railties (= 5.1.3.rc2) sprockets-rails (>= 2.0.0) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) rails-html-sanitizer (1.0.3) loofah (~> 2.0) - railties (5.1.3.rc1) - actionpack (= 5.1.3.rc1) - activesupport (= 5.1.3.rc1) + railties (5.1.3.rc2) + actionpack (= 5.1.3.rc2) + activesupport (= 5.1.3.rc2) method_source rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) @@ -329,7 +329,7 @@ DEPENDENCIES pry pry-rails rack-livereload - rails (= 5.1.3.rc1) + rails (= 5.1.3.rc2) rake rb-fsevent responders From d41158445a7b0d3d9bd40cb352c693750e097caf Mon Sep 17 00:00:00 2001 From: Al Snow Date: Fri, 28 Jul 2017 09:05:59 -0400 Subject: [PATCH 011/554] Upgrade eventmachine gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index cbcf3aa1c..415a4353e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -101,7 +101,7 @@ GEM http_parser.rb (~> 0.6.0) erubi (1.6.1) erubis (2.7.0) - eventmachine (1.2.3) + eventmachine (1.2.5) execjs (2.7.0) ffi (1.9.18) foreman (0.84.0) From 54dab40906d4f306165e53e11c13f6e42d2db87d Mon Sep 17 00:00:00 2001 From: Al Snow Date: Sun, 30 Jul 2017 07:46:13 -0400 Subject: [PATCH 012/554] Upgraded better_errors gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 415a4353e..704284550 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -49,7 +49,7 @@ GEM rspec-expectations (>= 2.99) thor (~> 0.19) bcrypt (3.1.11) - better_errors (2.1.1) + better_errors (2.2.0) coderay (>= 1.0.0) erubis (>= 2.6.6) rack (>= 0.9.0) From 463365e0b420b366f67bd38eca720db0a1b1a774 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Tue, 1 Aug 2017 08:07:35 -0400 Subject: [PATCH 013/554] Upgraded Rails to 5.1.3.rc3 --- Gemfile | 2 +- Gemfile.lock | 66 ++++++++++++++++++++++++++-------------------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/Gemfile b/Gemfile index a56e5b981..cb071ffb0 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ source 'https://rubygems.org' #don't upgrade -gem 'rails', '5.1.3.rc2' +gem 'rails', '5.1.3.rc3' ruby '2.3.4' diff --git a/Gemfile.lock b/Gemfile.lock index 704284550..988ecdc6a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,39 +1,39 @@ GEM remote: https://rubygems.org/ specs: - actioncable (5.1.3.rc2) - actionpack (= 5.1.3.rc2) + actioncable (5.1.3.rc3) + actionpack (= 5.1.3.rc3) nio4r (~> 2.0) websocket-driver (~> 0.6.1) - actionmailer (5.1.3.rc2) - actionpack (= 5.1.3.rc2) - actionview (= 5.1.3.rc2) - activejob (= 5.1.3.rc2) + actionmailer (5.1.3.rc3) + actionpack (= 5.1.3.rc3) + actionview (= 5.1.3.rc3) + activejob (= 5.1.3.rc3) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.1.3.rc2) - actionview (= 5.1.3.rc2) - activesupport (= 5.1.3.rc2) + actionpack (5.1.3.rc3) + actionview (= 5.1.3.rc3) + activesupport (= 5.1.3.rc3) rack (~> 2.0) rack-test (~> 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.1.3.rc2) - activesupport (= 5.1.3.rc2) + actionview (5.1.3.rc3) + activesupport (= 5.1.3.rc3) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.1.3.rc2) - activesupport (= 5.1.3.rc2) + activejob (5.1.3.rc3) + activesupport (= 5.1.3.rc3) globalid (>= 0.3.6) - activemodel (5.1.3.rc2) - activesupport (= 5.1.3.rc2) - activerecord (5.1.3.rc2) - activemodel (= 5.1.3.rc2) - activesupport (= 5.1.3.rc2) + activemodel (5.1.3.rc3) + activesupport (= 5.1.3.rc3) + activerecord (5.1.3.rc3) + activemodel (= 5.1.3.rc3) + activesupport (= 5.1.3.rc3) arel (~> 8.0) - activesupport (5.1.3.rc2) + activesupport (5.1.3.rc3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (~> 0.7) minitest (~> 5.1) @@ -194,26 +194,26 @@ GEM rack rack-test (0.6.3) rack (>= 1.0) - rails (5.1.3.rc2) - actioncable (= 5.1.3.rc2) - actionmailer (= 5.1.3.rc2) - actionpack (= 5.1.3.rc2) - actionview (= 5.1.3.rc2) - activejob (= 5.1.3.rc2) - activemodel (= 5.1.3.rc2) - activerecord (= 5.1.3.rc2) - activesupport (= 5.1.3.rc2) + rails (5.1.3.rc3) + actioncable (= 5.1.3.rc3) + actionmailer (= 5.1.3.rc3) + actionpack (= 5.1.3.rc3) + actionview (= 5.1.3.rc3) + activejob (= 5.1.3.rc3) + activemodel (= 5.1.3.rc3) + activerecord (= 5.1.3.rc3) + activesupport (= 5.1.3.rc3) bundler (>= 1.3.0) - railties (= 5.1.3.rc2) + railties (= 5.1.3.rc3) sprockets-rails (>= 2.0.0) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) rails-html-sanitizer (1.0.3) loofah (~> 2.0) - railties (5.1.3.rc2) - actionpack (= 5.1.3.rc2) - activesupport (= 5.1.3.rc2) + railties (5.1.3.rc3) + actionpack (= 5.1.3.rc3) + activesupport (= 5.1.3.rc3) method_source rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) @@ -329,7 +329,7 @@ DEPENDENCIES pry pry-rails rack-livereload - rails (= 5.1.3.rc2) + rails (= 5.1.3.rc3) rake rb-fsevent responders From e8b22a669721d2aa77c034b3069af6dbb050728c Mon Sep 17 00:00:00 2001 From: Al Snow Date: Thu, 3 Aug 2017 17:25:58 -0400 Subject: [PATCH 014/554] Upgraded Rails to 5.1.3 --- Gemfile | 2 +- Gemfile.lock | 66 ++++++++++++++++++++++++++-------------------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/Gemfile b/Gemfile index cb071ffb0..82b1db5bd 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ source 'https://rubygems.org' #don't upgrade -gem 'rails', '5.1.3.rc3' +gem 'rails', '5.1.3' ruby '2.3.4' diff --git a/Gemfile.lock b/Gemfile.lock index 988ecdc6a..58b02c169 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,39 +1,39 @@ GEM remote: https://rubygems.org/ specs: - actioncable (5.1.3.rc3) - actionpack (= 5.1.3.rc3) + actioncable (5.1.3) + actionpack (= 5.1.3) nio4r (~> 2.0) websocket-driver (~> 0.6.1) - actionmailer (5.1.3.rc3) - actionpack (= 5.1.3.rc3) - actionview (= 5.1.3.rc3) - activejob (= 5.1.3.rc3) + actionmailer (5.1.3) + actionpack (= 5.1.3) + actionview (= 5.1.3) + activejob (= 5.1.3) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.1.3.rc3) - actionview (= 5.1.3.rc3) - activesupport (= 5.1.3.rc3) + actionpack (5.1.3) + actionview (= 5.1.3) + activesupport (= 5.1.3) rack (~> 2.0) rack-test (~> 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.1.3.rc3) - activesupport (= 5.1.3.rc3) + actionview (5.1.3) + activesupport (= 5.1.3) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.1.3.rc3) - activesupport (= 5.1.3.rc3) + activejob (5.1.3) + activesupport (= 5.1.3) globalid (>= 0.3.6) - activemodel (5.1.3.rc3) - activesupport (= 5.1.3.rc3) - activerecord (5.1.3.rc3) - activemodel (= 5.1.3.rc3) - activesupport (= 5.1.3.rc3) + activemodel (5.1.3) + activesupport (= 5.1.3) + activerecord (5.1.3) + activemodel (= 5.1.3) + activesupport (= 5.1.3) arel (~> 8.0) - activesupport (5.1.3.rc3) + activesupport (5.1.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (~> 0.7) minitest (~> 5.1) @@ -194,26 +194,26 @@ GEM rack rack-test (0.6.3) rack (>= 1.0) - rails (5.1.3.rc3) - actioncable (= 5.1.3.rc3) - actionmailer (= 5.1.3.rc3) - actionpack (= 5.1.3.rc3) - actionview (= 5.1.3.rc3) - activejob (= 5.1.3.rc3) - activemodel (= 5.1.3.rc3) - activerecord (= 5.1.3.rc3) - activesupport (= 5.1.3.rc3) + rails (5.1.3) + actioncable (= 5.1.3) + actionmailer (= 5.1.3) + actionpack (= 5.1.3) + actionview (= 5.1.3) + activejob (= 5.1.3) + activemodel (= 5.1.3) + activerecord (= 5.1.3) + activesupport (= 5.1.3) bundler (>= 1.3.0) - railties (= 5.1.3.rc3) + railties (= 5.1.3) sprockets-rails (>= 2.0.0) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) rails-html-sanitizer (1.0.3) loofah (~> 2.0) - railties (5.1.3.rc3) - actionpack (= 5.1.3.rc3) - activesupport (= 5.1.3.rc3) + railties (5.1.3) + actionpack (= 5.1.3) + activesupport (= 5.1.3) method_source rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) @@ -329,7 +329,7 @@ DEPENDENCIES pry pry-rails rack-livereload - rails (= 5.1.3.rc3) + rails (= 5.1.3) rake rb-fsevent responders From d4fda57c32b7d0c169f7b5d865b42f0ce77c819c Mon Sep 17 00:00:00 2001 From: Al Snow Date: Fri, 4 Aug 2017 07:42:03 -0400 Subject: [PATCH 015/554] Upgraded capybara and better_errors gems --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 58b02c169..69c28557c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -49,9 +49,9 @@ GEM rspec-expectations (>= 2.99) thor (~> 0.19) bcrypt (3.1.11) - better_errors (2.2.0) + better_errors (2.3.0) coderay (>= 1.0.0) - erubis (>= 2.6.6) + erubi (>= 1.0.0) rack (>= 0.9.0) binding_of_caller (0.7.2) debug_inspector (>= 0.0.1) @@ -60,9 +60,9 @@ GEM bundler-audit (0.6.0) bundler (~> 1.2) thor (~> 0.18) - capybara (2.14.4) + capybara (2.15.0) addressable - mime-types (>= 1.16) + mini_mime (>= 0.1.3) nokogiri (>= 1.3.3) rack (>= 1.0.0) rack-test (>= 0.5.4) @@ -100,7 +100,6 @@ GEM eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) erubi (1.6.1) - erubis (2.7.0) eventmachine (1.2.5) execjs (2.7.0) ffi (1.9.18) @@ -163,6 +162,7 @@ GEM mime-types (3.1) mime-types-data (~> 3.2015) mime-types-data (3.2016.0521) + mini_mime (0.1.3) mini_portile2 (2.2.0) minitest (5.10.3) multi_json (1.12.1) From 4f2e7ff0de3cf0e9ec3e2b36fe5fbf76346c1266 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Fri, 4 Aug 2017 16:28:03 -0400 Subject: [PATCH 016/554] Upgraded capybara gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 69c28557c..634ea9eb6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -60,7 +60,7 @@ GEM bundler-audit (0.6.0) bundler (~> 1.2) thor (~> 0.18) - capybara (2.15.0) + capybara (2.15.1) addressable mini_mime (>= 0.1.3) nokogiri (>= 1.3.3) From 6466a439e4d95597a641f61bd89d1e1776ffa0fd Mon Sep 17 00:00:00 2001 From: Al Snow Date: Mon, 7 Aug 2017 15:35:29 -0400 Subject: [PATCH 017/554] Upgraded poltergeist gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 634ea9eb6..b7a380e9b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -175,7 +175,7 @@ GEM notiffany (0.1.1) nenv (~> 0.1) shellany (~> 0.0) - poltergeist (1.15.0) + poltergeist (1.16.0) capybara (~> 2.1) cliver (~> 0.3.1) websocket-driver (>= 0.2.0) From c2c031179ab5abae7ee6d95ab7c30640d765c1fd Mon Sep 17 00:00:00 2001 From: Al Snow Date: Thu, 10 Aug 2017 07:05:40 -0400 Subject: [PATCH 018/554] Upgraded raindrops gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index b7a380e9b..22e56cd1e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -217,7 +217,7 @@ GEM method_source rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) - raindrops (0.18.0) + raindrops (0.19.0) rake (12.0.0) rb-fsevent (0.10.2) rb-inotify (0.9.10) From 17349ecb62a540951b8cd9272aa23176e3dfcdf7 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Fri, 11 Aug 2017 06:37:02 -0400 Subject: [PATCH 019/554] Upgraded mysql2 gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 22e56cd1e..ab5034ca6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -167,7 +167,7 @@ GEM minitest (5.10.3) multi_json (1.12.1) multi_test (0.1.2) - mysql2 (0.4.8) + mysql2 (0.4.9) nenv (0.3.0) nio4r (2.1.0) nokogiri (1.8.0) From cef053bb76405b7e42514eb62db265abc262b1e9 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Fri, 11 Aug 2017 10:33:44 -0400 Subject: [PATCH 020/554] Upgraded rspec-rails gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ab5034ca6..4e85da4c9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -238,7 +238,7 @@ GEM rspec-mocks (3.6.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.6.0) - rspec-rails (3.6.0) + rspec-rails (3.6.1) actionpack (>= 3.0) activesupport (>= 3.0) railties (>= 3.0) From a947ffada0860d2919684f7458a62477a578ed3f Mon Sep 17 00:00:00 2001 From: Al Snow Date: Sat, 12 Aug 2017 09:00:52 -0400 Subject: [PATCH 021/554] Upgraded mini_mime gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 4e85da4c9..f5f9be66a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -162,7 +162,7 @@ GEM mime-types (3.1) mime-types-data (~> 3.2015) mime-types-data (3.2016.0521) - mini_mime (0.1.3) + mini_mime (0.1.4) mini_portile2 (2.2.0) minitest (5.10.3) multi_json (1.12.1) From 9bcea6a3add467bf2361d30a40697dea015fcfae Mon Sep 17 00:00:00 2001 From: Al Snow Date: Mon, 14 Aug 2017 08:11:34 -0400 Subject: [PATCH 022/554] Upgraded [simplecov, simplecov-html] gems --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f5f9be66a..e6d901995 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -260,11 +260,11 @@ GEM sprockets-rails (>= 2.0, < 4.0) tilt (>= 1.1, < 3) shellany (0.0.1) - simplecov (0.14.1) + simplecov (0.15.0) docile (~> 1.1.0) json (>= 1.8, < 3) simplecov-html (~> 0.10.0) - simplecov-html (0.10.1) + simplecov-html (0.10.2) slop (3.6.0) sprockets (3.7.1) concurrent-ruby (~> 1.0) From 144e6cddf4bf5442caa887d9adf8ce47cf909e23 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Wed, 16 Aug 2017 08:53:54 -0400 Subject: [PATCH 023/554] Upgraded brakeman gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index e6d901995..e564d6b29 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -55,7 +55,7 @@ GEM rack (>= 0.9.0) binding_of_caller (0.7.2) debug_inspector (>= 0.0.1) - brakeman (3.7.0) + brakeman (3.7.1) builder (3.2.3) bundler-audit (0.6.0) bundler (~> 1.2) From be0cfea9335861112755958ad24527ff367d12f0 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Wed, 16 Aug 2017 16:00:56 -0400 Subject: [PATCH 024/554] Upgraded brakeman gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index e564d6b29..f2591c946 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -55,7 +55,7 @@ GEM rack (>= 0.9.0) binding_of_caller (0.7.2) debug_inspector (>= 0.0.1) - brakeman (3.7.1) + brakeman (3.7.2) builder (3.2.3) bundler-audit (0.6.0) bundler (~> 1.2) From 6986ad761436a5c4e8b1f7d15fb947041dacf4c0 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Sat, 19 Aug 2017 09:03:08 -0400 Subject: [PATCH 025/554] Upgraded power_assert gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index f2591c946..64de5a838 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -181,7 +181,7 @@ GEM websocket-driver (>= 0.2.0) powder (0.3.2) thor (>= 0.11.5) - power_assert (1.0.2) + power_assert (1.1.0) pry (0.10.4) coderay (~> 1.1.0) method_source (~> 0.8.1) From ed7910dc9f1a85a85a84f3155f34f7b52294e381 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Sat, 19 Aug 2017 19:52:06 -0400 Subject: [PATCH 026/554] Upgraded bundler gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 64de5a838..d21ada3e4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -348,4 +348,4 @@ RUBY VERSION ruby 2.3.4p301 BUNDLED WITH - 1.15.3 + 1.15.4 From 1aac90f80d061893bc0caa009c1b091bc5e2cbde Mon Sep 17 00:00:00 2001 From: cktricky Date: Thu, 24 Aug 2017 09:25:24 -0400 Subject: [PATCH 027/554] Fixes issue #258 --- Gemfile | 7 +++++-- Gemfile.lock | 9 +++++++-- test/fixtures/benefits.yml | 4 ++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index ab88171a8..01ff0e20f 100644 --- a/Gemfile +++ b/Gemfile @@ -6,6 +6,8 @@ gem 'rails', '5.0.1' ruby '2.3.4' gem 'rake' +gem 'rails-perftest' +gem 'ruby-prof', '0.15.9' # Bundle edge Rails instead: # gem 'rails', git: 'https://github.com/rails/rails' @@ -73,9 +75,7 @@ gem 'jquery-rails' gem 'powder' gem 'aruba' -#gem 'minitest', '~> 4.0', :require=> "minitest/autorun" -#gem 'minitest' # Deploy with Capistrano # gem 'capistrano' @@ -98,3 +98,6 @@ gem 'therubyracer' #For Rails 4.2 gem 'responders' + +# Locked at 5.10.1, see https://github.com/seattlerb/minitest/issues/689 +gem "minitest", "5.10.1" diff --git a/Gemfile.lock b/Gemfile.lock index 3f4a200c2..870073154 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -163,7 +163,7 @@ GEM mime-types-data (~> 3.2015) mime-types-data (3.2016.0521) mini_portile2 (2.2.0) - minitest (5.10.2) + minitest (5.10.1) multi_json (1.12.1) multi_test (0.1.2) mysql2 (0.4.8) @@ -210,6 +210,7 @@ GEM nokogiri (>= 1.6) rails-html-sanitizer (1.0.3) loofah (~> 2.0) + rails-perftest (0.0.7) railties (5.0.1) actionpack (= 5.0.1) activesupport (= 5.0.1) @@ -246,6 +247,7 @@ GEM rspec-mocks (~> 3.6.0) rspec-support (~> 3.6.0) rspec-support (3.6.0) + ruby-prof (0.15.9) ruby_dep (1.5.0) sass (3.4.25) sass-rails (5.0.6) @@ -318,6 +320,7 @@ DEPENDENCIES jquery-fileupload-rails jquery-rails launchy + minitest (= 5.10.1) mysql2 poltergeist powder @@ -325,10 +328,12 @@ DEPENDENCIES pry-rails rack-livereload rails (= 5.0.1) + rails-perftest rake rb-fsevent responders rspec-rails + ruby-prof (= 0.15.9) sass-rails simplecov sqlite3 @@ -343,4 +348,4 @@ RUBY VERSION ruby 2.3.4p301 BUNDLED WITH - 1.15.1 + 1.15.3 diff --git a/test/fixtures/benefits.yml b/test/fixtures/benefits.yml index c63aac0b6..9cfe87b6e 100644 --- a/test/fixtures/benefits.yml +++ b/test/fixtures/benefits.yml @@ -4,8 +4,8 @@ # model remove the '{}' from the fixture names and add the columns immediately # below each fixture, per the syntax in the comments below # -one: {} +#one: {} # column: value # -two: {} +#two: {} # column: value From 5a554be389fb7f50edad0d09ee7b52dfb8521dd1 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Thu, 24 Aug 2017 16:31:30 -0400 Subject: [PATCH 028/554] Upgraded Rails to 5.1.4.rc1 --- Gemfile | 2 +- Gemfile.lock | 72 ++++++++++++++++++++++++++-------------------------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/Gemfile b/Gemfile index 82b1db5bd..97a2d087e 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ source 'https://rubygems.org' #don't upgrade -gem 'rails', '5.1.3' +gem 'rails', '5.1.4.rc1' ruby '2.3.4' diff --git a/Gemfile.lock b/Gemfile.lock index d21ada3e4..d2941d99f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,39 +1,39 @@ GEM remote: https://rubygems.org/ specs: - actioncable (5.1.3) - actionpack (= 5.1.3) + actioncable (5.1.4.rc1) + actionpack (= 5.1.4.rc1) nio4r (~> 2.0) websocket-driver (~> 0.6.1) - actionmailer (5.1.3) - actionpack (= 5.1.3) - actionview (= 5.1.3) - activejob (= 5.1.3) + actionmailer (5.1.4.rc1) + actionpack (= 5.1.4.rc1) + actionview (= 5.1.4.rc1) + activejob (= 5.1.4.rc1) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.1.3) - actionview (= 5.1.3) - activesupport (= 5.1.3) + actionpack (5.1.4.rc1) + actionview (= 5.1.4.rc1) + activesupport (= 5.1.4.rc1) rack (~> 2.0) - rack-test (~> 0.6.3) + rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.1.3) - activesupport (= 5.1.3) + actionview (5.1.4.rc1) + activesupport (= 5.1.4.rc1) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.1.3) - activesupport (= 5.1.3) + activejob (5.1.4.rc1) + activesupport (= 5.1.4.rc1) globalid (>= 0.3.6) - activemodel (5.1.3) - activesupport (= 5.1.3) - activerecord (5.1.3) - activemodel (= 5.1.3) - activesupport (= 5.1.3) + activemodel (5.1.4.rc1) + activesupport (= 5.1.4.rc1) + activerecord (5.1.4.rc1) + activemodel (= 5.1.4.rc1) + activesupport (= 5.1.4.rc1) arel (~> 8.0) - activesupport (5.1.3) + activesupport (5.1.4.rc1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (~> 0.7) minitest (~> 5.1) @@ -192,28 +192,28 @@ GEM rack (2.0.3) rack-livereload (0.3.16) rack - rack-test (0.6.3) - rack (>= 1.0) - rails (5.1.3) - actioncable (= 5.1.3) - actionmailer (= 5.1.3) - actionpack (= 5.1.3) - actionview (= 5.1.3) - activejob (= 5.1.3) - activemodel (= 5.1.3) - activerecord (= 5.1.3) - activesupport (= 5.1.3) + rack-test (0.7.0) + rack (>= 1.0, < 3) + rails (5.1.4.rc1) + actioncable (= 5.1.4.rc1) + actionmailer (= 5.1.4.rc1) + actionpack (= 5.1.4.rc1) + actionview (= 5.1.4.rc1) + activejob (= 5.1.4.rc1) + activemodel (= 5.1.4.rc1) + activerecord (= 5.1.4.rc1) + activesupport (= 5.1.4.rc1) bundler (>= 1.3.0) - railties (= 5.1.3) + railties (= 5.1.4.rc1) sprockets-rails (>= 2.0.0) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) rails-html-sanitizer (1.0.3) loofah (~> 2.0) - railties (5.1.3) - actionpack (= 5.1.3) - activesupport (= 5.1.3) + railties (5.1.4.rc1) + actionpack (= 5.1.4.rc1) + activesupport (= 5.1.4.rc1) method_source rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) @@ -329,7 +329,7 @@ DEPENDENCIES pry pry-rails rack-livereload - rails (= 5.1.3) + rails (= 5.1.4.rc1) rake rb-fsevent responders From 210500a8038d09bbb4126ec2d9c4ea30cbccb22a Mon Sep 17 00:00:00 2001 From: Al Snow Date: Tue, 29 Aug 2017 08:03:42 -0400 Subject: [PATCH 029/554] Unlocked down mintest gem --- Gemfile | 3 +-- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index c01425084..474add9d2 100644 --- a/Gemfile +++ b/Gemfile @@ -99,5 +99,4 @@ gem 'therubyracer' #For Rails 4.2 gem 'responders' -# Locked at 5.10.1, see https://github.com/seattlerb/minitest/issues/689 -gem "minitest", "5.10.1" +gem "minitest" diff --git a/Gemfile.lock b/Gemfile.lock index f5c2f7996..c8a4974ba 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -164,7 +164,7 @@ GEM mime-types-data (3.2016.0521) mini_mime (0.1.4) mini_portile2 (2.2.0) - minitest (5.10.1) + minitest (5.10.3) multi_json (1.12.1) multi_test (0.1.2) mysql2 (0.4.9) @@ -325,7 +325,7 @@ DEPENDENCIES jquery-fileupload-rails jquery-rails launchy - minitest (= 5.10.1) + minitest mysql2 poltergeist powder From 84ce01db2c7dce3726e81c5eecdcc1f1b9619a60 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Tue, 29 Aug 2017 08:05:04 -0400 Subject: [PATCH 030/554] Unlocked down ruby-prof gem --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 474add9d2..48d36d315 100644 --- a/Gemfile +++ b/Gemfile @@ -7,7 +7,7 @@ ruby '2.3.4' gem 'rake' gem 'rails-perftest' -gem 'ruby-prof', '0.15.9' +gem 'ruby-prof' # Bundle edge Rails instead: # gem 'rails', git: 'https://github.com/rails/rails' diff --git a/Gemfile.lock b/Gemfile.lock index c8a4974ba..2ef3a2b01 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -248,7 +248,7 @@ GEM rspec-mocks (~> 3.6.0) rspec-support (~> 3.6.0) rspec-support (3.6.0) - ruby-prof (0.15.9) + ruby-prof (0.16.2) ruby_dep (1.5.0) sass (3.5.1) sass-listen (~> 4.0.0) @@ -338,7 +338,7 @@ DEPENDENCIES rb-fsevent responders rspec-rails - ruby-prof (= 0.15.9) + ruby-prof sass-rails simplecov sqlite3 From 65e3f2c564880b078ba1f38a6969c3aac5284f9a Mon Sep 17 00:00:00 2001 From: Al Snow Date: Fri, 1 Sep 2017 08:40:17 -0400 Subject: [PATCH 031/554] Upgraded sprockets-rails gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2ef3a2b01..b060489f1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -271,7 +271,7 @@ GEM sprockets (3.7.1) concurrent-ruby (~> 1.0) rack (> 1, < 3) - sprockets-rails (3.2.0) + sprockets-rails (3.2.1) actionpack (>= 4.0) activesupport (>= 4.0) sprockets (>= 3.0.0) From 346cae25aff636f3f2eb9293a0fbf255dfcf6dda Mon Sep 17 00:00:00 2001 From: Al Snow Date: Sun, 3 Sep 2017 13:07:55 -0400 Subject: [PATCH 032/554] Upgraded coderay gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index b060489f1..47338c87c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -70,7 +70,7 @@ GEM childprocess (0.5.9) ffi (~> 1.0, >= 1.0.11) cliver (0.3.2) - coderay (1.1.1) + coderay (1.1.2) coffee-rails (4.2.2) coffee-script (>= 2.2.0) railties (>= 4.0.0) From 04550ace0822e68c65f8393e29bb600501aac186 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Thu, 7 Sep 2017 08:58:04 -0400 Subject: [PATCH 033/554] Upgraded multi_json gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 47338c87c..02893ca2b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -165,7 +165,7 @@ GEM mini_mime (0.1.4) mini_portile2 (2.2.0) minitest (5.10.3) - multi_json (1.12.1) + multi_json (1.12.2) multi_test (0.1.2) mysql2 (0.4.9) nenv (0.3.0) From 81da19d04afd32166a5c2be393bc395932772f2d Mon Sep 17 00:00:00 2001 From: Al Snow Date: Fri, 8 Sep 2017 08:54:43 -0400 Subject: [PATCH 034/554] Upgraded Rails to 5.1.4 --- Gemfile | 2 +- Gemfile.lock | 66 ++++++++++++++++++++++++++-------------------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/Gemfile b/Gemfile index 48d36d315..72b548775 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ source 'https://rubygems.org' #don't upgrade -gem 'rails', '5.1.4.rc1' +gem 'rails', '5.1.4' ruby '2.3.4' diff --git a/Gemfile.lock b/Gemfile.lock index 02893ca2b..0f68fd399 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,39 +1,39 @@ GEM remote: https://rubygems.org/ specs: - actioncable (5.1.4.rc1) - actionpack (= 5.1.4.rc1) + actioncable (5.1.4) + actionpack (= 5.1.4) nio4r (~> 2.0) websocket-driver (~> 0.6.1) - actionmailer (5.1.4.rc1) - actionpack (= 5.1.4.rc1) - actionview (= 5.1.4.rc1) - activejob (= 5.1.4.rc1) + actionmailer (5.1.4) + actionpack (= 5.1.4) + actionview (= 5.1.4) + activejob (= 5.1.4) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.1.4.rc1) - actionview (= 5.1.4.rc1) - activesupport (= 5.1.4.rc1) + actionpack (5.1.4) + actionview (= 5.1.4) + activesupport (= 5.1.4) rack (~> 2.0) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.1.4.rc1) - activesupport (= 5.1.4.rc1) + actionview (5.1.4) + activesupport (= 5.1.4) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.1.4.rc1) - activesupport (= 5.1.4.rc1) + activejob (5.1.4) + activesupport (= 5.1.4) globalid (>= 0.3.6) - activemodel (5.1.4.rc1) - activesupport (= 5.1.4.rc1) - activerecord (5.1.4.rc1) - activemodel (= 5.1.4.rc1) - activesupport (= 5.1.4.rc1) + activemodel (5.1.4) + activesupport (= 5.1.4) + activerecord (5.1.4) + activemodel (= 5.1.4) + activesupport (= 5.1.4) arel (~> 8.0) - activesupport (5.1.4.rc1) + activesupport (5.1.4) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (~> 0.7) minitest (~> 5.1) @@ -194,17 +194,17 @@ GEM rack rack-test (0.7.0) rack (>= 1.0, < 3) - rails (5.1.4.rc1) - actioncable (= 5.1.4.rc1) - actionmailer (= 5.1.4.rc1) - actionpack (= 5.1.4.rc1) - actionview (= 5.1.4.rc1) - activejob (= 5.1.4.rc1) - activemodel (= 5.1.4.rc1) - activerecord (= 5.1.4.rc1) - activesupport (= 5.1.4.rc1) + rails (5.1.4) + actioncable (= 5.1.4) + actionmailer (= 5.1.4) + actionpack (= 5.1.4) + actionview (= 5.1.4) + activejob (= 5.1.4) + activemodel (= 5.1.4) + activerecord (= 5.1.4) + activesupport (= 5.1.4) bundler (>= 1.3.0) - railties (= 5.1.4.rc1) + railties (= 5.1.4) sprockets-rails (>= 2.0.0) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) @@ -212,9 +212,9 @@ GEM rails-html-sanitizer (1.0.3) loofah (~> 2.0) rails-perftest (0.0.7) - railties (5.1.4.rc1) - actionpack (= 5.1.4.rc1) - activesupport (= 5.1.4.rc1) + railties (5.1.4) + actionpack (= 5.1.4) + activesupport (= 5.1.4) method_source rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) @@ -332,7 +332,7 @@ DEPENDENCIES pry pry-rails rack-livereload - rails (= 5.1.4.rc1) + rails (= 5.1.4) rails-perftest rake rb-fsevent From dbeb1b70b642d6e81c61d68d89a50e6ef5fd5de7 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Mon, 11 Sep 2017 08:07:47 -0400 Subject: [PATCH 035/554] Upgraded rake gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0f68fd399..3cd474952 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -219,7 +219,7 @@ GEM rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) raindrops (0.19.0) - rake (12.0.0) + rake (12.1.0) rb-fsevent (0.10.2) rb-inotify (0.9.10) ffi (>= 0.5.0, < 2) From 0c9820db5fea90f9839413939d581e307426be25 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Mon, 11 Sep 2017 16:12:01 -0400 Subject: [PATCH 036/554] Upgraded simplecov gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3cd474952..3f6be214d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -262,7 +262,7 @@ GEM sprockets-rails (>= 2.0, < 4.0) tilt (>= 1.1, < 3) shellany (0.0.1) - simplecov (0.15.0) + simplecov (0.15.1) docile (~> 1.1.0) json (>= 1.8, < 3) simplecov-html (~> 0.10.0) From 7c24684ed1a26dbd65520c2bd347071b51565966 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Sun, 17 Sep 2017 12:40:36 -0400 Subject: [PATCH 037/554] Upgraded to ruby 2.3.5 --- .ruby-version | 2 +- .travis.yml | 2 +- Dockerfile | 2 +- Gemfile | 2 +- Gemfile.lock | 2 +- README.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.ruby-version b/.ruby-version index 3f684d2d9..cc6c9a491 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.3.4 +2.3.5 diff --git a/.travis.yml b/.travis.yml index 93ec1ba10..8e4ea9772 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: ruby rvm: - - "2.3.4" + - "2.3.5" before_install: - "phantomjs --version" diff --git a/Dockerfile b/Dockerfile index 921705fa4..744f6b005 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:2.3.4 +FROM ruby:2.3.5 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs RUN mkdir /myapp WORKDIR /myapp diff --git a/Gemfile b/Gemfile index 72b548775..e1223b0d3 100644 --- a/Gemfile +++ b/Gemfile @@ -3,7 +3,7 @@ source 'https://rubygems.org' #don't upgrade gem 'rails', '5.1.4' -ruby '2.3.4' +ruby '2.3.5' gem 'rake' gem 'rails-perftest' diff --git a/Gemfile.lock b/Gemfile.lock index 3f6be214d..852c34125 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -350,7 +350,7 @@ DEPENDENCIES unicorn RUBY VERSION - ruby 2.3.4p301 + ruby 2.3.5p376 BUNDLED WITH 1.15.4 diff --git a/README.md b/README.md index 274c74e9d..d7ac7464f 100755 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ If you are looking for support or troubleshooting assistance, please visit our [ To begin, install the Ruby Version Manager (RVM): ```bash -$ curl -L https://get.rvm.io | bash -s stable --autolibs=3 --ruby=2.3.4 +$ curl -L https://get.rvm.io | bash -s stable --autolibs=3 --ruby=2.3.5 ``` After installing the package, clone this repo: From fb17f57c6fc0703cdd5ea9ae988ed273791c468d Mon Sep 17 00:00:00 2001 From: Al Snow Date: Mon, 18 Sep 2017 08:59:35 -0400 Subject: [PATCH 038/554] Upgraded to bundler 1.16.0.pre.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 852c34125..b72d42a18 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -353,4 +353,4 @@ RUBY VERSION ruby 2.3.5p376 BUNDLED WITH - 1.15.4 + 1.16.0.pre.2 From 217895e127500d14e01687576a6a50df3ba55442 Mon Sep 17 00:00:00 2001 From: Joseph Mastey Date: Mon, 18 Sep 2017 12:43:47 -0500 Subject: [PATCH 039/554] bug(pto): fix issue where not having a PTO record causes the app to barf closes #187 --- app/controllers/application_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 4f08d3493..102b9009b 100755 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -40,7 +40,7 @@ def has_info redirect = false if current_user begin - if !(current_user.retirement || current_user.paid_time_off.schedule || current_user.paid_time_off || current_user.work_info || current_user.performance) + if !(current_user.retirement || current_user.paid_time_off || current_user.paid_time_off.schedule || current_user.work_info || current_user.performance) redirect = true end rescue From 86ee233c32528af2f4fa105420164afb286f563d Mon Sep 17 00:00:00 2001 From: Joseph Mastey Date: Mon, 18 Sep 2017 12:47:39 -0500 Subject: [PATCH 040/554] chore(seeds): remove useless trailing whitespace from seeds --- db/seeds.rb | 113 ++++++++++++++++++++++++++-------------------------- 1 file changed, 56 insertions(+), 57 deletions(-) diff --git a/db/seeds.rb b/db/seeds.rb index 333d5adaa..9aed4d5de 100755 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -4,49 +4,49 @@ users = [ { - :email => "admin@metacorp.com", - :admin => true, - :password => "admin1234", - :password_confirmation => "admin1234", - :first_name => "Admin", - :last_name => "", - :user_id =>1 + :email => "admin@metacorp.com", + :admin => true, + :password => "admin1234", + :password_confirmation => "admin1234", + :first_name => "Admin", + :last_name => "", + :user_id =>1 }, { - :email => "jack@metacorp.com", - :admin => false, - :password => "yankeessuck", - :password_confirmation => "yankeessuck", - :first_name => "Jack", - :last_name => "Mannino", + :email => "jack@metacorp.com", + :admin => false, + :password => "yankeessuck", + :password_confirmation => "yankeessuck", + :first_name => "Jack", + :last_name => "Mannino", :user_id => 2 }, { - :email => "jim@metacorp.com", - :admin => false, - :password => "alohaowasp", - :password_confirmation => "alohaowasp", - :first_name => "Jim", - :last_name => "Manico", - :user_id =>3 + :email => "jim@metacorp.com", + :admin => false, + :password => "alohaowasp", + :password_confirmation => "alohaowasp", + :first_name => "Jim", + :last_name => "Manico", + :user_id =>3 }, { - :email => "mike@metacorp.com", - :admin => false, - :password => "motocross1445", - :password_confirmation => "motocross1445", - :first_name => "Mike", - :last_name => "McCabe", - :user_id =>4 + :email => "mike@metacorp.com", + :admin => false, + :password => "motocross1445", + :password_confirmation => "motocross1445", + :first_name => "Mike", + :last_name => "McCabe", + :user_id =>4 }, { - :email => "ken@metacorp.com", - :admin => false, - :password => "citrusblend", - :password_confirmation => "citrusblend", - :first_name => "Ken", - :last_name => "Johnson", - :user_id =>5 + :email => "ken@metacorp.com", + :admin => false, + :password => "citrusblend", + :password_confirmation => "citrusblend", + :first_name => "Ken", + :last_name => "Johnson", + :user_id =>5 } ] @@ -75,7 +75,7 @@ :employer_contrib => "6000", :total => "12500" } - + ] paid_time_off = [ @@ -107,9 +107,9 @@ :pto_taken => 10, :pto_earned => 30 } - + ] - + schedule = [ { :user_id => 2, @@ -117,8 +117,8 @@ :date_end => Date.new(2014, 8, 2), :event_type => "pto", :event_desc => "vacation to france", - :event_name => "My 2014 Vacation" - + :event_name => "My 2014 Vacation" + }, { :user_id => 3, @@ -127,7 +127,7 @@ :event_type => "pto", :event_desc => "Going Home to see folks", :event_name => "Visit Parents" - + }, { :user_id => 4, @@ -136,7 +136,7 @@ :event_type => "pto", :event_desc => "Taking kids to Grand Canyon", :event_name => "AZ Trip" - + }, { :user_id => 5, @@ -148,7 +148,7 @@ } ] - + work_info = [ { :user_id => 2, @@ -156,7 +156,7 @@ :bonuses => "$10,000", :years_worked => 2, :SSN => "555-55-5555", - :DoB => "01-01-1980" + :DoB => "01-01-1980" }, { :user_id => 3, @@ -164,7 +164,7 @@ :bonuses => "$10,000", :years_worked => 1, :SSN => "333-33-3333", - :DoB => "01-01-1979" + :DoB => "01-01-1979" }, { :user_id => 4, @@ -172,7 +172,7 @@ :bonuses => "$12,000", :years_worked => 3, :SSN => "444-44-4444", - :DoB => "01-01-1981" + :DoB => "01-01-1981" }, { :user_id => 5, @@ -180,57 +180,57 @@ :bonuses => "7,000", :years_worked => 1, :SSN => "222-22-2222", - :DoB => "01-01-1982" - } + :DoB => "01-01-1982" + } ] - + performance = [ { :user_id => 2, :reviewer => 1, - :comments => "Great job! You are my hero", + :comments => "Great job! You are my hero", :date_submitted => Date.new(2012, 01, 01), :score => 5 }, { :user_id => 2, :reviewer => 1, - :comments => "Once again, you've done a great job this year. We greatly appreciate your hard work.", + :comments => "Once again, you've done a great job this year. We greatly appreciate your hard work.", :date_submitted => Date.new(2013, 01, 01), :score => 5 }, { :user_id => 3, :reviewer => 1, - :comments => "Great worker, great attitude for this newcomer!", + :comments => "Great worker, great attitude for this newcomer!", :date_submitted => Date.new(2013, 01, 01), :score => 5 }, { :user_id => 4, :reviewer => 1, - :comments => "Wow, right out of the gate we've been very impressed but unfortunately, our system doesn't allow us to give you a full 5.0 because other ppl have gotten 5.0 ratings.", + :comments => "Wow, right out of the gate we've been very impressed but unfortunately, our system doesn't allow us to give you a full 5.0 because other ppl have gotten 5.0 ratings.", :date_submitted => Date.new(2011, 01, 01), :score => 4 }, { :user_id => 4, :reviewer => 1, - :comments => "We highly recommend promotion for this employee! Consistent performer with proven leadership qualities.", + :comments => "We highly recommend promotion for this employee! Consistent performer with proven leadership qualities.", :date_submitted => Date.new(2012, 01, 01), :score => 5 }, { :user_id => 4, :reviewer => 1, - :comments => "Right out of the gate, Mike has made incredible moves as a newly appointed leader. His only improvement would be more cowbell. Not enough of it.", + :comments => "Right out of the gate, Mike has made incredible moves as a newly appointed leader. His only improvement would be more cowbell. Not enough of it.", :date_submitted => Date.new(2013, 01, 01), :score => 4 }, { :user_id => 5, :reviewer => 1, - :comments => "Ehh, you are okay, we will let you stay..... barely", + :comments => "Ehh, you are okay, we will let you stay..... barely", :date_submitted => Date.new(2013, 01, 01), :score => 2 } @@ -274,13 +274,12 @@ ret = Retirement.new(r.reject {|k| k == :user_id}) ret.user_id = r[:user_id] ret.save -end +end paid_time_off.each do |pto| ptoff = PaidTimeOff.new(pto.reject {|k| k == :user_id}) ptoff.user_id = pto[:user_id] ptoff.save - end schedule.each do |event| From 6ba5325b1c3518bf6182e896a343138655331f64 Mon Sep 17 00:00:00 2001 From: Joseph Mastey Date: Mon, 18 Sep 2017 12:58:26 -0500 Subject: [PATCH 041/554] bug(passwords): fix situations where better password rules inadvertently break tests * use bang version of save methods in the seeds file, so that when you fix validation, it will at least explode, rather than silently failing to create users * fix two tests where passwords are hardcoded so that they use stronger passwords, since password complexity is not the important bit of either of those tests. --- db/seeds.rb | 14 +++++++------- spec/vulnerabilities/password_hashing_spec.rb | 2 +- spec/vulnerabilities/sql_injection_spec.rb | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/db/seeds.rb b/db/seeds.rb index 9aed4d5de..1da14997f 100755 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -267,43 +267,43 @@ users.each do |user_info| user = User.new(user_info.reject {|k| k == :user_id }) user.user_id = user_info[:user_id] - user.save + user.save! end retirements.each do |r| ret = Retirement.new(r.reject {|k| k == :user_id}) ret.user_id = r[:user_id] - ret.save + ret.save! end paid_time_off.each do |pto| ptoff = PaidTimeOff.new(pto.reject {|k| k == :user_id}) ptoff.user_id = pto[:user_id] - ptoff.save + ptoff.save! end schedule.each do |event| sched = Schedule.new(event.reject {|k| k == :user_id}) sched.user_id = event[:user_id] - sched.save + sched.save! end performance.each do |perf| p = Performance.new(perf.reject {|k| k == :user_id}) p.user_id = perf[:user_id] - p.save + p.save! end messages.each do |message| m = Message.new(message.reject {|k| k == :creator_id}) m.creator_id = message[:creator_id] - m.save + m.save! end work_info.each do |wi| info = WorkInfo.new(wi.reject {|k| k == :user_id } ) info.user_id = wi[:user_id] - info.save + info.save! end diff --git a/spec/vulnerabilities/password_hashing_spec.rb b/spec/vulnerabilities/password_hashing_spec.rb index 19f7b6fe2..ee5423238 100644 --- a/spec/vulnerabilities/password_hashing_spec.rb +++ b/spec/vulnerabilities/password_hashing_spec.rb @@ -7,7 +7,7 @@ end scenario "with just md5\nTutorial: https://github.com/OWASP/railsgoat/wiki/A6-Sensitive-Data-Exposure-Insecure-Password-Storage" do - new_pass = 'testpassword' + new_pass = 'testPassw0rd!' @normal_user.password = new_pass @normal_user.password_confirmation = new_pass @normal_user.save diff --git a/spec/vulnerabilities/sql_injection_spec.rb b/spec/vulnerabilities/sql_injection_spec.rb index a963a56ca..b8b95b69f 100644 --- a/spec/vulnerabilities/sql_injection_spec.rb +++ b/spec/vulnerabilities/sql_injection_spec.rb @@ -7,7 +7,7 @@ @admin_user = User.where("admin='t'").first end - scenario "attack\nTutorial: https://github.com/OWASP/railsgoat/wiki/R5-A1-SQL-Injection-Concatentation" do + scenario "attack\nTutorial: https://github.com/OWASP/railsgoat/wiki/R4-A1-SQL-Injection-Concatentation" do expect(@admin_user.admin).to be_truthy login(@normal_user) @@ -15,8 +15,8 @@ visit "/users/#{@normal_user.user_id}/account_settings" within('#account_edit') do fill_in 'Email', :with => 'joe.admin@schmoe.com' - fill_in 'user_password', :with => 'hacketyhack' - fill_in 'user_password_confirmation', :with => 'hacketyhack' + fill_in 'user_password', :with => 'H4cketyhack' + fill_in 'user_password_confirmation', :with => 'H4cketyhack' # this is a hidden field, so cannot use fill_in to access it. find(:xpath, "//input[@id='user_user_id']", :visible => false).set "8' OR admin='t') --" From d17e027493311b930d89f5a3087c04837dea2d22 Mon Sep 17 00:00:00 2001 From: Joseph Mastey Date: Mon, 18 Sep 2017 16:28:05 -0500 Subject: [PATCH 042/554] bug(work-info): raise more useful error when work_info.key_management is missing --- app/models/work_info.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/work_info.rb b/app/models/work_info.rb index ce098ce18..2642aec03 100644 --- a/app/models/work_info.rb +++ b/app/models/work_info.rb @@ -26,12 +26,12 @@ def decrypt_ssn end def key - raise "Key Missing" if !(KEY) + raise "Key Missing" unless KEY.present? KEY end def iv - raise "No IV for this User" if !(self.key_management.iv) + raise "No IV for this User" unless self.key_management.try(:iv).present? self.key_management.iv end From 08d61f50d86ea7b2230f3659d9e0de3d04d323ef Mon Sep 17 00:00:00 2001 From: Joseph Mastey Date: Mon, 18 Sep 2017 18:44:45 -0500 Subject: [PATCH 043/554] feat(vulnerabilities): adds description of vulnerability for sql interpolation also fixes several small errors on that page, otherwise JS raises errors. fixes #181 --- app/views/layouts/admin/_analytics.html.erb | 20 ++++++++++--------- spec/vulnerabilities/sql_injection_spec.rb | 22 ++++++++++++++++++++- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/app/views/layouts/admin/_analytics.html.erb b/app/views/layouts/admin/_analytics.html.erb index be676a018..ba0c4363e 100644 --- a/app/views/layouts/admin/_analytics.html.erb +++ b/app/views/layouts/admin/_analytics.html.erb @@ -1,18 +1,18 @@ -
- Search by IP:
- IP Address
- Referrer
- User Agent + + Search by IP:
+ IP Address
+ Referrer
+ User Agent
- +
" id="data-table"> <% - count = (params[:field] ? params[:field].count : 3) + count = (params[:field] ? (params[:field].count+1) : 6) count.times do %> - + <% end %> @@ -33,6 +33,8 @@ +<%= javascript_include_tag "jquery.dataTables.js"%> + \ No newline at end of file + diff --git a/spec/vulnerabilities/sql_injection_spec.rb b/spec/vulnerabilities/sql_injection_spec.rb index a963a56ca..96ffe83c4 100644 --- a/spec/vulnerabilities/sql_injection_spec.rb +++ b/spec/vulnerabilities/sql_injection_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' feature 'sql injection' do - before do + before(:each) do UserFixture.reset_all_users @normal_user = UserFixture.normal_user @admin_user = User.where("admin='t'").first @@ -28,4 +28,24 @@ expect(@admin_user.email).to eq('joe.admin@schmoe.com') expect(@admin_user.admin).to eq(true) end + + scenario "attack\nTutorial: https://github.com/OWASP/railsgoat/wiki/A1-SQL-Injection-Interpolation", js: true do + login(@normal_user) + Analytics.create!(ip_address: "::1") + + visit "/admin/1/analytics" + + within('#analytics_search') do + fill_in 'ip', :with => '::1' + check "field_user_agent" + payload = "(select group_concat(password) from users where admin='t')" + + page.execute_script "$('#field_user_agent').attr('name', \"field[#{payload}]\");" + page.execute_script "$('#analytics_search').submit();" + end + + pending if verifying_fixed? + expect(page).to have_css(".dataTable.custom") + expect(page.source).to include(@admin_user.password) + end end From b078bf15368f0277c06a384886ab1c1a5c191879 Mon Sep 17 00:00:00 2001 From: Joseph Mastey Date: Mon, 18 Sep 2017 18:44:45 -0500 Subject: [PATCH 044/554] feat(vulnerabilities): adds description of vulnerability for sql interpolation also fixes several small errors on that page, otherwise JS raises errors. fixes #181 --- app/views/layouts/admin/_analytics.html.erb | 20 ++++++++++--------- spec/vulnerabilities/sql_injection_spec.rb | 22 ++++++++++++++++++++- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/app/views/layouts/admin/_analytics.html.erb b/app/views/layouts/admin/_analytics.html.erb index be676a018..ba0c4363e 100644 --- a/app/views/layouts/admin/_analytics.html.erb +++ b/app/views/layouts/admin/_analytics.html.erb @@ -1,18 +1,18 @@ -
- Search by IP:
- IP Address
- Referrer
- User Agent + + Search by IP:
+ IP Address
+ Referrer
+ User Agent
-
  
+
" id="data-table"> <% - count = (params[:field] ? params[:field].count : 3) + count = (params[:field] ? (params[:field].count+1) : 6) count.times do %> - + <% end %> @@ -33,6 +33,8 @@ +<%= javascript_include_tag "jquery.dataTables.js"%> + \ No newline at end of file + diff --git a/spec/vulnerabilities/sql_injection_spec.rb b/spec/vulnerabilities/sql_injection_spec.rb index a963a56ca..96ffe83c4 100644 --- a/spec/vulnerabilities/sql_injection_spec.rb +++ b/spec/vulnerabilities/sql_injection_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' feature 'sql injection' do - before do + before(:each) do UserFixture.reset_all_users @normal_user = UserFixture.normal_user @admin_user = User.where("admin='t'").first @@ -28,4 +28,24 @@ expect(@admin_user.email).to eq('joe.admin@schmoe.com') expect(@admin_user.admin).to eq(true) end + + scenario "attack\nTutorial: https://github.com/OWASP/railsgoat/wiki/A1-SQL-Injection-Interpolation", js: true do + login(@normal_user) + Analytics.create!(ip_address: "::1") + + visit "/admin/1/analytics" + + within('#analytics_search') do + fill_in 'ip', :with => '::1' + check "field_user_agent" + payload = "(select group_concat(password) from users where admin='t')" + + page.execute_script "$('#field_user_agent').attr('name', \"field[#{payload}]\");" + page.execute_script "$('#analytics_search').submit();" + end + + pending if verifying_fixed? + expect(page).to have_css(".dataTable.custom") + expect(page.source).to include(@admin_user.password) + end end From 5470d2cc98b1525a0537f3d16b837de1b485e711 Mon Sep 17 00:00:00 2001 From: Joseph Mastey Date: Mon, 18 Sep 2017 20:08:02 -0500 Subject: [PATCH 045/554] bug(rails): fix incompatibility with Rails 5 --- app/controllers/admin_controller.rb | 7 ++++++- app/views/layouts/admin/_analytics.html.erb | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 73029658f..9d311a31b 100755 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -9,7 +9,7 @@ def analytics if params[:field].nil? fields = "*" else - fields = params[:field].map {|k,v| k }.join(",") + fields = custom_fields.join(",") end if params[:ip] @@ -61,6 +61,11 @@ def delete_user private + def custom_fields + params.require(:field).keys + end + helper_method :custom_fields + def admin_param params[:admin_id] != '1' end diff --git a/app/views/layouts/admin/_analytics.html.erb b/app/views/layouts/admin/_analytics.html.erb index ba0c4363e..e08807689 100644 --- a/app/views/layouts/admin/_analytics.html.erb +++ b/app/views/layouts/admin/_analytics.html.erb @@ -10,7 +10,7 @@ <% - count = (params[:field] ? (params[:field].count+1) : 6) + count = (params[:field] ? (custom_fields.count+1) : 6) count.times do %> <% end %> From ce8aa12174a3d302205317809aa49b0c0df688e9 Mon Sep 17 00:00:00 2001 From: cktricky Date: Tue, 19 Sep 2017 11:21:08 -0400 Subject: [PATCH 046/554] I have moved the build_benefits_data invocation from the controller to the model using before_create. This has not affected behavior afaict. Tested by running rake db:drop db:setup and RAILSGOAT_MAINTAINER=yes rake (all tests passed). --- app/controllers/users_controller.rb | 1 - app/models/user.rb | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index d577d5095..ac3613e48 100755 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -8,7 +8,6 @@ def new def create user = User.new(user_params) - user.build_benefits_data if user.save session[:user_id] = user.user_id redirect_to home_dashboard_index_path diff --git a/app/models/user.rb b/app/models/user.rb index 38eeb2ebc..2ec814c2b 100755 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -21,6 +21,7 @@ class User < ApplicationRecord has_many :messages, :foreign_key => :receiver_id, :primary_key => :user_id, :dependent => :destroy has_many :pay, :foreign_key => :user_id, :primary_key => :user_id, :dependent => :destroy before_create { generate_token(:auth_token) } + before_create :build_benefits_data def build_benefits_data build_retirement(POPULATE_RETIREMENTS.shuffle.first) From e58c30a9d3135f74446b61568d9d51e60be95aff Mon Sep 17 00:00:00 2001 From: cktricky Date: Tue, 19 Sep 2017 11:38:03 -0400 Subject: [PATCH 047/554] whoops. Good catch @jmmastey --- spec/support/user_fixture.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/spec/support/user_fixture.rb b/spec/support/user_fixture.rb index bb71be223..f4f7e94ba 100644 --- a/spec/support/user_fixture.rb +++ b/spec/support/user_fixture.rb @@ -11,7 +11,6 @@ def self.normal_user def user.clear_password 'thi$ 1s cOmplExEr' end - user.build_benefits_data user.save! user end From 838d49956ba2f9ee50e4e5996b3a209a3f5b7879 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Tue, 19 Sep 2017 14:38:06 -0400 Subject: [PATCH 048/554] Upgraded [mini_portile2, nokogiri] gems --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b72d42a18..605e30354 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -163,15 +163,15 @@ GEM mime-types-data (~> 3.2015) mime-types-data (3.2016.0521) mini_mime (0.1.4) - mini_portile2 (2.2.0) + mini_portile2 (2.3.0) minitest (5.10.3) multi_json (1.12.2) multi_test (0.1.2) mysql2 (0.4.9) nenv (0.3.0) nio4r (2.1.0) - nokogiri (1.8.0) - mini_portile2 (~> 2.2.0) + nokogiri (1.8.1) + mini_portile2 (~> 2.3.0) notiffany (0.1.1) nenv (~> 0.1) shellany (~> 0.0) From cba66cb57dbc07cd35b064fb54b962981d7d0b00 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Wed, 20 Sep 2017 13:51:21 -0400 Subject: [PATCH 049/554] Upgraded [pry, slop] gems --- Gemfile.lock | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 605e30354..b1c73327e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -182,10 +182,9 @@ GEM powder (0.3.2) thor (>= 0.11.5) power_assert (1.1.0) - pry (0.10.4) + pry (0.11.0) coderay (~> 1.1.0) method_source (~> 0.8.1) - slop (~> 3.4) pry-rails (0.3.6) pry (>= 0.10.4) public_suffix (3.0.0) @@ -267,7 +266,6 @@ GEM json (>= 1.8, < 3) simplecov-html (~> 0.10.0) simplecov-html (0.10.2) - slop (3.6.0) sprockets (3.7.1) concurrent-ruby (~> 1.0) rack (> 1, < 3) From d2b7d2b29c17508d42ace5a2f359a041a46abf73 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Thu, 21 Sep 2017 07:45:21 -0400 Subject: [PATCH 050/554] Upgraded test-unit gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index b1c73327e..07327f588 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -274,7 +274,7 @@ GEM activesupport (>= 4.0) sprockets (>= 3.0.0) sqlite3 (1.3.13) - test-unit (3.2.5) + test-unit (3.2.6) power_assert therubyracer (0.12.3) libv8 (~> 3.16.14.15) From e795d1507004eb5e3a7503d7f01841583700a153 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Mon, 25 Sep 2017 12:58:06 -0400 Subject: [PATCH 051/554] Upgraded Ruby to 2.4.2, fixed OpenSSL warnings, and 3 gems --- .ruby-version | 2 +- .travis.yml | 2 +- Dockerfile | 2 +- Gemfile | 2 +- Gemfile.lock | 10 +- README.md | 2 +- app/models/work_info.rb | 8 +- lib/encryption.rb | 12 +- r | 393 ++++++++++++++++++++++++++++++++++++++++ 9 files changed, 414 insertions(+), 19 deletions(-) create mode 100644 r diff --git a/.ruby-version b/.ruby-version index cc6c9a491..8e8299dcc 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.3.5 +2.4.2 diff --git a/.travis.yml b/.travis.yml index 8e4ea9772..da33b7b51 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: ruby rvm: - - "2.3.5" + - "2.4.2" before_install: - "phantomjs --version" diff --git a/Dockerfile b/Dockerfile index 744f6b005..1b9bc1d9e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:2.3.5 +FROM ruby:2.4.2 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs RUN mkdir /myapp WORKDIR /myapp diff --git a/Gemfile b/Gemfile index e1223b0d3..d14933a14 100644 --- a/Gemfile +++ b/Gemfile @@ -3,7 +3,7 @@ source 'https://rubygems.org' #don't upgrade gem 'rails', '5.1.4' -ruby '2.3.5' +ruby '2.4.2' gem 'rake' gem 'rails-perftest' diff --git a/Gemfile.lock b/Gemfile.lock index 07327f588..5cbc89bc0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -55,7 +55,7 @@ GEM rack (>= 0.9.0) binding_of_caller (0.7.2) debug_inspector (>= 0.0.1) - brakeman (3.7.2) + brakeman (4.0.1) builder (3.2.3) bundler-audit (0.6.0) bundler (~> 1.2) @@ -81,6 +81,7 @@ GEM concurrent-ruby (1.0.5) contracts (0.16.0) crack (0.3.1) + crass (1.0.2) cucumber (2.4.0) builder (>= 2.1.2) cucumber-core (~> 1.5.0) @@ -153,7 +154,8 @@ GEM rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) ruby_dep (~> 1.2) - loofah (2.0.3) + loofah (2.1.1) + crass (~> 1.0.2) nokogiri (>= 1.5.9) lumberjack (1.0.12) mail (2.6.6) @@ -348,7 +350,7 @@ DEPENDENCIES unicorn RUBY VERSION - ruby 2.3.5p376 + ruby 2.4.2p198 BUNDLED WITH - 1.16.0.pre.2 + 1.15.4 diff --git a/README.md b/README.md index d7ac7464f..b9909587a 100755 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ If you are looking for support or troubleshooting assistance, please visit our [ To begin, install the Ruby Version Manager (RVM): ```bash -$ curl -L https://get.rvm.io | bash -s stable --autolibs=3 --ruby=2.3.5 +$ curl -L https://get.rvm.io | bash -s stable --autolibs=3 --ruby=2.4.2 ``` After installing the package, clone this repo: diff --git a/app/models/work_info.rb b/app/models/work_info.rb index 2642aec03..bdf65dfb1 100644 --- a/app/models/work_info.rb +++ b/app/models/work_info.rb @@ -9,18 +9,18 @@ def last_four end def encrypt_ssn - aes = OpenSSL::Cipher::Cipher.new(cipher_type) + aes = OpenSSL::Cipher.new(cipher_type) aes.encrypt - aes.key = key + aes.key = key[0..31] aes.iv = iv if iv != nil self.encrypted_ssn = aes.update(self.SSN) + aes.final self.SSN = nil end def decrypt_ssn - aes = OpenSSL::Cipher::Cipher.new(cipher_type) + aes = OpenSSL::Cipher.new(cipher_type) aes.decrypt - aes.key = key + aes.key = key[0..31] aes.iv = iv if iv != nil aes.update(self.encrypted_ssn) + aes.final end diff --git a/lib/encryption.rb b/lib/encryption.rb index 85cd165df..31eeda3fc 100644 --- a/lib/encryption.rb +++ b/lib/encryption.rb @@ -2,19 +2,19 @@ module Encryption # Added a re-usable encryption routine, shouldn't be an issue! def self.encrypt_sensitive_value(val="") - aes = OpenSSL::Cipher::Cipher.new(cipher_type) + aes = OpenSSL::Cipher.new(cipher_type) aes.encrypt - aes.key = key - aes.iv = iv if iv != nil + aes.key = key[0..31] + aes.iv = iv[0..15] if iv != nil new_val = aes.update("#{val}") + aes.final Base64.strict_encode64(new_val).encode('utf-8') end def self.decrypt_sensitive_value(val="") - aes = OpenSSL::Cipher::Cipher.new(cipher_type) + aes = OpenSSL::Cipher.new(cipher_type) aes.decrypt - aes.key = key - aes.iv = iv if iv != nil + aes.key = key[0..31] + aes.iv = iv[0.15] if iv != nil decoded = Base64.strict_decode64("#{val}") aes.update("#{decoded}") + aes.final end diff --git a/r b/r new file mode 100644 index 000000000..41653921b --- /dev/null +++ b/r @@ -0,0 +1,393 @@ + +Randomized with seed 33309 +FFFFFFFFFFFFFFFFFFFFF + +Failures: + + 1) improper password hashing with just md5 +Tutorial: https://github.com/OWASP/railsgoat/wiki/A6-Sensitive-Data-Exposure-Insecure-Password-Storage + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/vulnerabilities/password_hashing_spec.rb:5:in `block (2 levels) in ' + + 2) command injection attack +Tutorial: https://github.com/OWASP/railsgoat/wiki/A1-Command-Injection + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/vulnerabilities/command_injection_spec.rb:6:in `block (2 levels) in ' + + 3) csrf attack +Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-A8-CSRF + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/vulnerabilities/csrf_spec.rb:6:in `block (2 levels) in ' + + 4) url access attack +Tutorial: https://github.com/OWASP/railsgoat/wiki/A7-Missing-Function-Level-Access-Control--(Admin-Controller) + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/vulnerabilities/url_access_spec.rb:5:in `block (2 levels) in ' + + 5) broken_auth one +Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/vulnerabilities/broken_auth_spec.rb:5:in `block (2 levels) in ' + + 6) broken_auth two +Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/vulnerabilities/broken_auth_spec.rb:5:in `block (2 levels) in ' + + 7) xss attack +Tutorial: https://github.com/OWASP/railsgoat/wiki/A3-Cross-Site-Scripting + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/vulnerabilities/xss_spec.rb:5:in `block (2 levels) in ' + + 8) insecure direct object reference attack one + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/vulnerabilities/insecure_dor_spec.rb:5:in `block (2 levels) in ' + + 9) insecure direct object reference attack two +Tutorial: https://github.com/OWASP/railsgoat/wiki/A4-Insecure-Direct-Object-Reference + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/vulnerabilities/insecure_dor_spec.rb:5:in `block (2 levels) in ' + + 10) sql injection attack +Tutorial: https://github.com/OWASP/railsgoat/wiki/R4-A1-SQL-Injection-Concatentation + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/vulnerabilities/sql_injection_spec.rb:5:in `block (2 levels) in ' + + 11) User can be instantiated + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/models/benefits_spec.rb:5:in `block (2 levels) in ' + + 12) User name can be updated + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/models/benefits_spec.rb:5:in `block (2 levels) in ' + + 13) mass assignment attack one + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/vulnerabilities/mass_assignment_spec.rb:5:in `block (2 levels) in ' + + 14) mass assignment attack two, Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-Extras-Mass-Assignment-Admin-Role + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/vulnerabilities/mass_assignment_spec.rb:5:in `block (2 levels) in ' + + 15) password complexity one +Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Lack-of-Password-Complexity + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/vulnerabilities/password_complexity_spec.rb:5:in `block (2 levels) in ' + + 16) User can be instantiated + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' + + 17) User should require a email + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' + + 18) User should require valid email + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' + + 19) User should require unique email + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' + + 20) User name can be updated + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' + + 21) unvalidated redirect attack +Tutorial: https://github.com/OWASP/railsgoat/wiki/A10-Unvalidated-Redirects-and-Forwards-(redirect_to) + Failure/Error: aes.iv = iv if iv != nil + + ArgumentError: + iv must be 16 bytes + # ./lib/encryption.rb:8:in `iv=' + # ./lib/encryption.rb:8:in `encrypt_sensitive_value' + # ./app/models/user.rb:82:in `generate_token' + # ./app/models/user.rb:23:in `block in ' + # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' + # ./db/seeds.rb:270:in `block in ' + # ./db/seeds.rb:267:in `each' + # ./db/seeds.rb:267:in `' + # ./spec/support/user_fixture.rb:4:in `reset_all_users' + # ./spec/vulnerabilities/unvalidated_redirects_spec.rb:5:in `block (2 levels) in ' + +Finished in 0.2747 seconds (files took 2.04 seconds to load) +21 examples, 21 failures + +Failed examples: + +rspec ./spec/vulnerabilities/password_hashing_spec.rb:9 # improper password hashing with just md5 +Tutorial: https://github.com/OWASP/railsgoat/wiki/A6-Sensitive-Data-Exposure-Insecure-Password-Storage +rspec ./spec/vulnerabilities/command_injection_spec.rb:10 # command injection attack +Tutorial: https://github.com/OWASP/railsgoat/wiki/A1-Command-Injection +rspec ./spec/vulnerabilities/csrf_spec.rb:10 # csrf attack +Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-A8-CSRF +rspec ./spec/vulnerabilities/url_access_spec.rb:9 # url access attack +Tutorial: https://github.com/OWASP/railsgoat/wiki/A7-Missing-Function-Level-Access-Control--(Admin-Controller) +rspec ./spec/vulnerabilities/broken_auth_spec.rb:9 # broken_auth one +Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration +rspec ./spec/vulnerabilities/broken_auth_spec.rb:22 # broken_auth two +Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration +rspec ./spec/vulnerabilities/xss_spec.rb:9 # xss attack +Tutorial: https://github.com/OWASP/railsgoat/wiki/A3-Cross-Site-Scripting +rspec ./spec/vulnerabilities/insecure_dor_spec.rb:9 # insecure direct object reference attack one +rspec ./spec/vulnerabilities/insecure_dor_spec.rb:23 # insecure direct object reference attack two +Tutorial: https://github.com/OWASP/railsgoat/wiki/A4-Insecure-Direct-Object-Reference +rspec ./spec/vulnerabilities/sql_injection_spec.rb:10 # sql injection attack +Tutorial: https://github.com/OWASP/railsgoat/wiki/R4-A1-SQL-Injection-Concatentation +rspec ./spec/models/benefits_spec.rb:13 # User can be instantiated +rspec ./spec/models/benefits_spec.rb:17 # User name can be updated +rspec ./spec/vulnerabilities/mass_assignment_spec.rb:9 # mass assignment attack one +rspec ./spec/vulnerabilities/mass_assignment_spec.rb:24 # mass assignment attack two, Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-Extras-Mass-Assignment-Admin-Role +rspec ./spec/vulnerabilities/password_complexity_spec.rb:9 # password complexity one +Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Lack-of-Password-Complexity +rspec ./spec/models/user_spec.rb:13 # User can be instantiated +rspec ./spec/models/user_spec.rb:17 # User should require a email +rspec ./spec/models/user_spec.rb:21 # User should require valid email +rspec ./spec/models/user_spec.rb:25 # User should require unique email +rspec ./spec/models/user_spec.rb:30 # User name can be updated +rspec ./spec/vulnerabilities/unvalidated_redirects_spec.rb:9 # unvalidated redirect attack +Tutorial: https://github.com/OWASP/railsgoat/wiki/A10-Unvalidated-Redirects-and-Forwards-(redirect_to) + +Randomized with seed 33309 + From 06d4a41b118144ffd2988829619fb2cc1c849294 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Tue, 26 Sep 2017 09:00:36 -0400 Subject: [PATCH 052/554] Upgraded to latest edge rails + [method-source, pry, bundler] gems --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5cbc89bc0..c6b11763b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -160,7 +160,7 @@ GEM lumberjack (1.0.12) mail (2.6.6) mime-types (>= 1.16, < 4) - method_source (0.8.2) + method_source (0.9.0) mime-types (3.1) mime-types-data (~> 3.2015) mime-types-data (3.2016.0521) @@ -184,9 +184,9 @@ GEM powder (0.3.2) thor (>= 0.11.5) power_assert (1.1.0) - pry (0.11.0) + pry (0.11.1) coderay (~> 1.1.0) - method_source (~> 0.8.1) + method_source (~> 0.9.0) pry-rails (0.3.6) pry (>= 0.10.4) public_suffix (3.0.0) @@ -353,4 +353,4 @@ RUBY VERSION ruby 2.4.2p198 BUNDLED WITH - 1.15.4 + 1.16.0.pre.2 From e34f3601059d900446be69793d15ce06aab47120 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Wed, 27 Sep 2017 19:22:58 -0400 Subject: [PATCH 053/554] Upgraded to cucumber and backports gems --- Gemfile.lock | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c6b11763b..4f7f1a60e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,6 +48,7 @@ GEM ffi (~> 1.9.10) rspec-expectations (>= 2.99) thor (~> 0.19) + backports (3.8.0) bcrypt (3.1.11) better_errors (2.3.0) coderay (>= 1.0.0) @@ -82,16 +83,21 @@ GEM contracts (0.16.0) crack (0.3.1) crass (1.0.2) - cucumber (2.4.0) + cucumber (3.0.0) builder (>= 2.1.2) - cucumber-core (~> 1.5.0) + cucumber-core (~> 3.0.0) + cucumber-expressions (~> 4.0.3) cucumber-wire (~> 0.0.1) - diff-lcs (>= 1.1.3) + diff-lcs (~> 1.3) gherkin (~> 4.0) multi_json (>= 1.7.5, < 2.0) multi_test (>= 0.1.2) - cucumber-core (1.5.0) - gherkin (~> 4.0) + cucumber-core (3.0.0) + backports (>= 3.8.0) + cucumber-tag_expressions (>= 1.0.1) + gherkin (>= 4.1.3) + cucumber-expressions (4.0.3) + cucumber-tag_expressions (1.0.1) cucumber-wire (0.0.1) database_cleaner (1.6.1) debug_inspector (0.0.3) From 5f185b10e98bd9cfd0d4b5a24c624d6c20dd249b Mon Sep 17 00:00:00 2001 From: Joseph Mastey Date: Wed, 27 Sep 2017 18:57:40 -0500 Subject: [PATCH 054/554] fix user password field to not accidentally re-encrypt itself on save currently this is flagged manually in one place, but there's no reason not to let the user model handle it. this way, you can update your user model from a console or some other area without accidentally changing your password. --- app/controllers/users_controller.rb | 4 +--- app/models/user.rb | 9 +++------ 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index ac3613e48..8d4a8da31 100755 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -29,10 +29,8 @@ def update if user user.skip_user_id_assign = true - user.skip_hash_password = true user.update_attributes(user_params_without_password) - if !(params[:user][:password].empty?) && (params[:user][:password] == params[:user][:password_confirmation]) - user.skip_hash_password = false + if params[:user][:password].present? && (params[:user][:password] == params[:user][:password_confirmation]) user.password = params[:user][:password] end message = true if user.save! diff --git a/app/models/user.rb b/app/models/user.rb index 2ec814c2b..31d21ab7a 100755 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -11,7 +11,6 @@ class User < ApplicationRecord validates_uniqueness_of :email validates_format_of :email, :with => /.+@.+\..+/i attr_accessor :skip_user_id_assign - attr_accessor :skip_hash_password before_save :assign_user_id, :on => :create before_save :hash_password has_one :retirement, :foreign_key => :user_id, :primary_key => :user_id, :dependent => :destroy @@ -21,7 +20,7 @@ class User < ApplicationRecord has_many :messages, :foreign_key => :receiver_id, :primary_key => :user_id, :dependent => :destroy has_many :pay, :foreign_key => :user_id, :primary_key => :user_id, :dependent => :destroy before_create { generate_token(:auth_token) } - before_create :build_benefits_data + before_create :build_benefits_data def build_benefits_data build_retirement(POPULATE_RETIREMENTS.shuffle.first) @@ -70,10 +69,8 @@ def assign_user_id end def hash_password - unless @skip_hash_password == true - if password.present? - self.password = Digest::MD5.hexdigest(password) - end + if password.present? && password_changed? + self.password = Digest::MD5.hexdigest(password) end end From 1c0442bf0ba24b4ac262b322d18a7abccae66163 Mon Sep 17 00:00:00 2001 From: Joseph Mastey Date: Wed, 27 Sep 2017 19:22:44 -0500 Subject: [PATCH 055/554] change to idiomatic use of layouts versus regular views no functional change here, but familiar Rails users will see view files in the locations they expect. this also slightly simplifies controller code there is one attendant change in the wiki at `rails_3/A1-SQL-Injection-Interpolation.md` that I'm happy to make after the PR is merged. --- app/controllers/admin_controller.rb | 5 ++--- app/controllers/dashboard_controller.rb | 4 ++-- app/controllers/tutorials_controller.rb | 2 +- .../admin/_analytics.html.erb => admin/analytics.html.erb} | 0 .../_get_all_users.html.erb => admin/get_all_users.html.erb} | 0 .../admin/_get_user.html.erb => admin/get_user.html.erb} | 0 .../_bar_graph.html.erb => dashboard/bar_graph.html.erb} | 0 .../dashboard_stats.html.erb} | 0 app/views/dashboard/home.html.erb | 2 +- .../_creds.html.erb => tutorials/credentials.html.erb} | 0 10 files changed, 6 insertions(+), 7 deletions(-) rename app/views/{layouts/admin/_analytics.html.erb => admin/analytics.html.erb} (100%) rename app/views/{layouts/admin/_get_all_users.html.erb => admin/get_all_users.html.erb} (100%) rename app/views/{layouts/admin/_get_user.html.erb => admin/get_user.html.erb} (100%) rename app/views/{layouts/dashboard/_bar_graph.html.erb => dashboard/bar_graph.html.erb} (100%) rename app/views/{layouts/dashboard/_dashboard_stats.html.erb => dashboard/dashboard_stats.html.erb} (100%) rename app/views/{layouts/tutorial/credentials/_creds.html.erb => tutorials/credentials.html.erb} (100%) diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 73029658f..7b7c7bd5e 100755 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -17,19 +17,18 @@ def analytics else @analytics = Analytics.all end - render "layouts/admin/_analytics" end def get_all_users @users = User.all - render :partial => "layouts/admin/get_all_users" + render layout: false end def get_user @user = User.find_by_id(params[:admin_id].to_s) arr = ["true", "false"] @admin_select = @user.admin ? arr : arr.reverse - render :partial => "layouts/admin/get_user" + render layout: false end def update_user diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb index cff7eb542..0c19f0737 100644 --- a/app/controllers/dashboard_controller.rb +++ b/app/controllers/dashboard_controller.rb @@ -15,12 +15,12 @@ def change_graph end def bar_graph - render :partial => "layouts/dashboard/bar_graph" + render :bar_graph, layout: false end def pie_charts @user = current_user - render :partial => "layouts/dashboard/dashboard_stats" + render :dashboard_stats, layout: false end end diff --git a/app/controllers/tutorials_controller.rb b/app/controllers/tutorials_controller.rb index e4ff5cf63..8f2f69e49 100755 --- a/app/controllers/tutorials_controller.rb +++ b/app/controllers/tutorials_controller.rb @@ -3,7 +3,7 @@ class TutorialsController < ApplicationController skip_before_action :authenticated def credentials - render :partial => "layouts/tutorial/credentials/creds" + render layout: false end end diff --git a/app/views/layouts/admin/_analytics.html.erb b/app/views/admin/analytics.html.erb similarity index 100% rename from app/views/layouts/admin/_analytics.html.erb rename to app/views/admin/analytics.html.erb diff --git a/app/views/layouts/admin/_get_all_users.html.erb b/app/views/admin/get_all_users.html.erb similarity index 100% rename from app/views/layouts/admin/_get_all_users.html.erb rename to app/views/admin/get_all_users.html.erb diff --git a/app/views/layouts/admin/_get_user.html.erb b/app/views/admin/get_user.html.erb similarity index 100% rename from app/views/layouts/admin/_get_user.html.erb rename to app/views/admin/get_user.html.erb diff --git a/app/views/layouts/dashboard/_bar_graph.html.erb b/app/views/dashboard/bar_graph.html.erb similarity index 100% rename from app/views/layouts/dashboard/_bar_graph.html.erb rename to app/views/dashboard/bar_graph.html.erb diff --git a/app/views/layouts/dashboard/_dashboard_stats.html.erb b/app/views/dashboard/dashboard_stats.html.erb similarity index 100% rename from app/views/layouts/dashboard/_dashboard_stats.html.erb rename to app/views/dashboard/dashboard_stats.html.erb diff --git a/app/views/dashboard/home.html.erb b/app/views/dashboard/home.html.erb index cee5c39c5..36e5d6b83 100644 --- a/app/views/dashboard/home.html.erb +++ b/app/views/dashboard/home.html.erb @@ -21,7 +21,7 @@
- <%#= render :partial => "layouts/dashboard/dashboard_stats"%> + <%#= render partial: "dashboard_stats" %>
diff --git a/app/views/layouts/tutorial/credentials/_creds.html.erb b/app/views/tutorials/credentials.html.erb similarity index 100% rename from app/views/layouts/tutorial/credentials/_creds.html.erb rename to app/views/tutorials/credentials.html.erb From 4a85853e5525ff8205a92676afae40e56cc5d595 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Fri, 29 Sep 2017 11:23:19 -0400 Subject: [PATCH 056/554] Upgraded cucumber gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 4f7f1a60e..6f6342126 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -83,7 +83,7 @@ GEM contracts (0.16.0) crack (0.3.1) crass (1.0.2) - cucumber (3.0.0) + cucumber (3.0.1) builder (>= 2.1.2) cucumber-core (~> 3.0.0) cucumber-expressions (~> 4.0.3) From 6bfb5fd945d7951e22843e834f01ad6e8063eb4c Mon Sep 17 00:00:00 2001 From: Al Snow Date: Fri, 29 Sep 2017 11:23:19 -0400 Subject: [PATCH 057/554] Upgraded cucumber gem --- Gemfile.lock | 4 +- r | 393 --------------------------------------------------- 2 files changed, 2 insertions(+), 395 deletions(-) delete mode 100644 r diff --git a/Gemfile.lock b/Gemfile.lock index 4f7f1a60e..929c11520 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -61,7 +61,7 @@ GEM bundler-audit (0.6.0) bundler (~> 1.2) thor (~> 0.18) - capybara (2.15.1) + capybara (2.15.2) addressable mini_mime (>= 0.1.3) nokogiri (>= 1.3.3) @@ -83,7 +83,7 @@ GEM contracts (0.16.0) crack (0.3.1) crass (1.0.2) - cucumber (3.0.0) + cucumber (3.0.1) builder (>= 2.1.2) cucumber-core (~> 3.0.0) cucumber-expressions (~> 4.0.3) diff --git a/r b/r deleted file mode 100644 index 41653921b..000000000 --- a/r +++ /dev/null @@ -1,393 +0,0 @@ - -Randomized with seed 33309 -FFFFFFFFFFFFFFFFFFFFF - -Failures: - - 1) improper password hashing with just md5 -Tutorial: https://github.com/OWASP/railsgoat/wiki/A6-Sensitive-Data-Exposure-Insecure-Password-Storage - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/password_hashing_spec.rb:5:in `block (2 levels) in ' - - 2) command injection attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A1-Command-Injection - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/command_injection_spec.rb:6:in `block (2 levels) in ' - - 3) csrf attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-A8-CSRF - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/csrf_spec.rb:6:in `block (2 levels) in ' - - 4) url access attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A7-Missing-Function-Level-Access-Control--(Admin-Controller) - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/url_access_spec.rb:5:in `block (2 levels) in ' - - 5) broken_auth one -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/broken_auth_spec.rb:5:in `block (2 levels) in ' - - 6) broken_auth two -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/broken_auth_spec.rb:5:in `block (2 levels) in ' - - 7) xss attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A3-Cross-Site-Scripting - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/xss_spec.rb:5:in `block (2 levels) in ' - - 8) insecure direct object reference attack one - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/insecure_dor_spec.rb:5:in `block (2 levels) in ' - - 9) insecure direct object reference attack two -Tutorial: https://github.com/OWASP/railsgoat/wiki/A4-Insecure-Direct-Object-Reference - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/insecure_dor_spec.rb:5:in `block (2 levels) in ' - - 10) sql injection attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/R4-A1-SQL-Injection-Concatentation - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/sql_injection_spec.rb:5:in `block (2 levels) in ' - - 11) User can be instantiated - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/benefits_spec.rb:5:in `block (2 levels) in ' - - 12) User name can be updated - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/benefits_spec.rb:5:in `block (2 levels) in ' - - 13) mass assignment attack one - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/mass_assignment_spec.rb:5:in `block (2 levels) in ' - - 14) mass assignment attack two, Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-Extras-Mass-Assignment-Admin-Role - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/mass_assignment_spec.rb:5:in `block (2 levels) in ' - - 15) password complexity one -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Lack-of-Password-Complexity - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/password_complexity_spec.rb:5:in `block (2 levels) in ' - - 16) User can be instantiated - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 17) User should require a email - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 18) User should require valid email - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 19) User should require unique email - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 20) User name can be updated - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 21) unvalidated redirect attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A10-Unvalidated-Redirects-and-Forwards-(redirect_to) - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/unvalidated_redirects_spec.rb:5:in `block (2 levels) in ' - -Finished in 0.2747 seconds (files took 2.04 seconds to load) -21 examples, 21 failures - -Failed examples: - -rspec ./spec/vulnerabilities/password_hashing_spec.rb:9 # improper password hashing with just md5 -Tutorial: https://github.com/OWASP/railsgoat/wiki/A6-Sensitive-Data-Exposure-Insecure-Password-Storage -rspec ./spec/vulnerabilities/command_injection_spec.rb:10 # command injection attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A1-Command-Injection -rspec ./spec/vulnerabilities/csrf_spec.rb:10 # csrf attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-A8-CSRF -rspec ./spec/vulnerabilities/url_access_spec.rb:9 # url access attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A7-Missing-Function-Level-Access-Control--(Admin-Controller) -rspec ./spec/vulnerabilities/broken_auth_spec.rb:9 # broken_auth one -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration -rspec ./spec/vulnerabilities/broken_auth_spec.rb:22 # broken_auth two -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration -rspec ./spec/vulnerabilities/xss_spec.rb:9 # xss attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A3-Cross-Site-Scripting -rspec ./spec/vulnerabilities/insecure_dor_spec.rb:9 # insecure direct object reference attack one -rspec ./spec/vulnerabilities/insecure_dor_spec.rb:23 # insecure direct object reference attack two -Tutorial: https://github.com/OWASP/railsgoat/wiki/A4-Insecure-Direct-Object-Reference -rspec ./spec/vulnerabilities/sql_injection_spec.rb:10 # sql injection attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/R4-A1-SQL-Injection-Concatentation -rspec ./spec/models/benefits_spec.rb:13 # User can be instantiated -rspec ./spec/models/benefits_spec.rb:17 # User name can be updated -rspec ./spec/vulnerabilities/mass_assignment_spec.rb:9 # mass assignment attack one -rspec ./spec/vulnerabilities/mass_assignment_spec.rb:24 # mass assignment attack two, Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-Extras-Mass-Assignment-Admin-Role -rspec ./spec/vulnerabilities/password_complexity_spec.rb:9 # password complexity one -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Lack-of-Password-Complexity -rspec ./spec/models/user_spec.rb:13 # User can be instantiated -rspec ./spec/models/user_spec.rb:17 # User should require a email -rspec ./spec/models/user_spec.rb:21 # User should require valid email -rspec ./spec/models/user_spec.rb:25 # User should require unique email -rspec ./spec/models/user_spec.rb:30 # User name can be updated -rspec ./spec/vulnerabilities/unvalidated_redirects_spec.rb:9 # unvalidated redirect attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A10-Unvalidated-Redirects-and-Forwards-(redirect_to) - -Randomized with seed 33309 - From 8797ad52893956d3690b2a90e6c80d0ead3eec7c Mon Sep 17 00:00:00 2001 From: Al Snow Date: Wed, 4 Oct 2017 09:58:12 -0400 Subject: [PATCH 058/554] Upgraded [capybara, unicorn] gems --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 929c11520..e71d2d974 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -61,7 +61,7 @@ GEM bundler-audit (0.6.0) bundler (~> 1.2) thor (~> 0.18) - capybara (2.15.2) + capybara (2.15.3) addressable mini_mime (>= 0.1.3) nokogiri (>= 1.3.3) @@ -299,7 +299,7 @@ GEM thread_safe (~> 0.1) uglifier (3.2.0) execjs (>= 0.3.0, < 3) - unicorn (5.3.0) + unicorn (5.3.1) kgio (~> 2.6) raindrops (~> 0.7) websocket-driver (0.6.5) From 644eac505a223d49825e770cbedf1a9fe832b63b Mon Sep 17 00:00:00 2001 From: Mike McCabe Date: Wed, 4 Oct 2017 13:21:52 -0400 Subject: [PATCH 059/554] updating seeds adding new admin --- db/seeds.rb | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/db/seeds.rb b/db/seeds.rb index 1da14997f..f830dd56e 100755 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -13,12 +13,12 @@ :user_id =>1 }, { - :email => "jack@metacorp.com", + :email => "jmmastey@metacorp.com", :admin => false, - :password => "yankeessuck", - :password_confirmation => "yankeessuck", - :first_name => "Jack", - :last_name => "Mannino", + :password => "railsgoat!", + :password_confirmation => "railsgoat!", + :first_name => "Joseph", + :last_name => "Mastey", :user_id => 2 }, { @@ -47,6 +47,15 @@ :first_name => "Ken", :last_name => "Johnson", :user_id =>5 + }, + { + :email => "admin2@metacorp.com", + :admin => false, + :password => "adminadmin", + :password_confirmation => "adminadmin", + :first_name => "Admin2", + :last_name => "", + :user_id =>6 } ] From 5a0802143a7018c5db004d216c30d3fb7e5e2e83 Mon Sep 17 00:00:00 2001 From: Mike McCabe Date: Wed, 4 Oct 2017 13:39:31 -0400 Subject: [PATCH 060/554] cleaning up seeds file --- db/seeds.rb | 34 +++++++++++----------------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/db/seeds.rb b/db/seeds.rb index f830dd56e..2182f2c2d 100755 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -249,80 +249,68 @@ { :receiver_id => 2, :creator_id => 5, - :message => 'Your benefits have been updated.', + :message => "Your benefits have been updated.", :read => false }, { :receiver_id => 3, :creator_id => 4, - :message => 'Please update your profile.', + :message => "Please update your profile.", :read => false }, { :receiver_id => 4, :creator_id => 3, - :message => 'Welcome to Railsgoat.', + :message => "Welcome to Railsgoat.", :read => false }, { :receiver_id => 5, :creator_id => 2, - :message => 'Hello friend.', + :message => "Hello friend.", :read => false } ] users.each do |user_info| - user = User.new(user_info.reject {|k| k == :user_id }) + user = User.new(user_info.reject { |k| k == :user_id }) user.user_id = user_info[:user_id] user.save! end retirements.each do |r| - ret = Retirement.new(r.reject {|k| k == :user_id}) + ret = Retirement.new(r.reject { |k| k == :user_id}) ret.user_id = r[:user_id] ret.save! end paid_time_off.each do |pto| - ptoff = PaidTimeOff.new(pto.reject {|k| k == :user_id}) + ptoff = PaidTimeOff.new(pto.reject { |k| k == :user_id}) ptoff.user_id = pto[:user_id] ptoff.save! end schedule.each do |event| - sched = Schedule.new(event.reject {|k| k == :user_id}) + sched = Schedule.new(event.reject { |k| k == :user_id}) sched.user_id = event[:user_id] sched.save! end performance.each do |perf| - p = Performance.new(perf.reject {|k| k == :user_id}) + p = Performance.new(perf.reject { |k| k == :user_id}) p.user_id = perf[:user_id] p.save! end messages.each do |message| - m = Message.new(message.reject {|k| k == :creator_id}) + m = Message.new(message.reject { |k| k == :creator_id}) m.creator_id = message[:creator_id] m.save! end work_info.each do |wi| - info = WorkInfo.new(wi.reject {|k| k == :user_id } ) + info = WorkInfo.new(wi.reject { |k| k == :user_id }) info.user_id = wi[:user_id] info.save! end - - -=begin -work_info.each do |wi| - list = [:user_id, :SSN] - info = WorkInfo.new(wi.reject {|k| list.include?(k)}) - info.user_id = wi[:user_id] - info.build_key_management({:user_id => wi[:user_id], :iv => SecureRandom.hex(32) }) - info.SSN = wi[:SSN] - info.save -end -=end From 82a57614772f5f413af9c4d5c4b8c7dccff5a568 Mon Sep 17 00:00:00 2001 From: Mike McCabe Date: Wed, 4 Oct 2017 13:43:34 -0400 Subject: [PATCH 061/554] fixing IDOR spec --- spec/vulnerabilities/insecure_dor_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/vulnerabilities/insecure_dor_spec.rb b/spec/vulnerabilities/insecure_dor_spec.rb index c192773b8..9de485c59 100644 --- a/spec/vulnerabilities/insecure_dor_spec.rb +++ b/spec/vulnerabilities/insecure_dor_spec.rb @@ -27,6 +27,6 @@ visit '/users/2/work_info' pending if verifying_fixed? - expect(first('td').text).to eq('Jack Mannino') + expect(first('td').text).to eq('Joseph Mastey') end end From 159af03bfd75e5c680f8a74efad8c9789024f360 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Thu, 5 Oct 2017 08:40:26 -0400 Subject: [PATCH 062/554] Upgraded sass and bundler gems --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e71d2d974..2e426a55c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -257,7 +257,7 @@ GEM rspec-support (3.6.0) ruby-prof (0.16.2) ruby_dep (1.5.0) - sass (3.5.1) + sass (3.5.2) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) @@ -359,4 +359,4 @@ RUBY VERSION ruby 2.4.2p198 BUNDLED WITH - 1.16.0.pre.2 + 1.16.0.pre.3 From c65c993c5d4357a5cd23cfc1e1eea0eacd247f64 Mon Sep 17 00:00:00 2001 From: Joseph Mastey Date: Fri, 6 Oct 2017 19:52:37 -0500 Subject: [PATCH 063/554] bug(password): fixes URL for password reset --- app/controllers/password_resets_controller.rb | 2 +- config/routes.rb | 5 +- r | 393 ------------------ 3 files changed, 5 insertions(+), 395 deletions(-) delete mode 100644 r diff --git a/app/controllers/password_resets_controller.rb b/app/controllers/password_resets_controller.rb index 959d828ea..b8178fd63 100644 --- a/app/controllers/password_resets_controller.rb +++ b/app/controllers/password_resets_controller.rb @@ -25,7 +25,7 @@ def confirm_token end end - def forgot_password + def send_forgot_password @user = User.find_by_email(params[:email]) unless params[:email].nil? if @user && password_reset_mailer(@user) diff --git a/config/routes.rb b/config/routes.rb index e9e30b02d..7fe93b7f8 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -3,9 +3,12 @@ get "login" => "sessions#new" get "signup" => "users#new" get "logout" => "sessions#destroy" - post "forgot_password" => "password_resets#forgot_password" + + get "forgot_password" => "password_resets#forgot_password" + post "forgot_password" => "password_resets#send_forgot_password" get "password_resets" => "password_resets#confirm_token" post "password_resets" => "password_resets#reset_password" + get "dashboard/doc" => "dashboard#doc" resources :sessions do diff --git a/r b/r deleted file mode 100644 index 41653921b..000000000 --- a/r +++ /dev/null @@ -1,393 +0,0 @@ - -Randomized with seed 33309 -FFFFFFFFFFFFFFFFFFFFF - -Failures: - - 1) improper password hashing with just md5 -Tutorial: https://github.com/OWASP/railsgoat/wiki/A6-Sensitive-Data-Exposure-Insecure-Password-Storage - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/password_hashing_spec.rb:5:in `block (2 levels) in ' - - 2) command injection attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A1-Command-Injection - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/command_injection_spec.rb:6:in `block (2 levels) in ' - - 3) csrf attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-A8-CSRF - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/csrf_spec.rb:6:in `block (2 levels) in ' - - 4) url access attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A7-Missing-Function-Level-Access-Control--(Admin-Controller) - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/url_access_spec.rb:5:in `block (2 levels) in ' - - 5) broken_auth one -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/broken_auth_spec.rb:5:in `block (2 levels) in ' - - 6) broken_auth two -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/broken_auth_spec.rb:5:in `block (2 levels) in ' - - 7) xss attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A3-Cross-Site-Scripting - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/xss_spec.rb:5:in `block (2 levels) in ' - - 8) insecure direct object reference attack one - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/insecure_dor_spec.rb:5:in `block (2 levels) in ' - - 9) insecure direct object reference attack two -Tutorial: https://github.com/OWASP/railsgoat/wiki/A4-Insecure-Direct-Object-Reference - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/insecure_dor_spec.rb:5:in `block (2 levels) in ' - - 10) sql injection attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/R4-A1-SQL-Injection-Concatentation - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/sql_injection_spec.rb:5:in `block (2 levels) in ' - - 11) User can be instantiated - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/benefits_spec.rb:5:in `block (2 levels) in ' - - 12) User name can be updated - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/benefits_spec.rb:5:in `block (2 levels) in ' - - 13) mass assignment attack one - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/mass_assignment_spec.rb:5:in `block (2 levels) in ' - - 14) mass assignment attack two, Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-Extras-Mass-Assignment-Admin-Role - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/mass_assignment_spec.rb:5:in `block (2 levels) in ' - - 15) password complexity one -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Lack-of-Password-Complexity - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/password_complexity_spec.rb:5:in `block (2 levels) in ' - - 16) User can be instantiated - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 17) User should require a email - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 18) User should require valid email - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 19) User should require unique email - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 20) User name can be updated - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 21) unvalidated redirect attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A10-Unvalidated-Redirects-and-Forwards-(redirect_to) - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/unvalidated_redirects_spec.rb:5:in `block (2 levels) in ' - -Finished in 0.2747 seconds (files took 2.04 seconds to load) -21 examples, 21 failures - -Failed examples: - -rspec ./spec/vulnerabilities/password_hashing_spec.rb:9 # improper password hashing with just md5 -Tutorial: https://github.com/OWASP/railsgoat/wiki/A6-Sensitive-Data-Exposure-Insecure-Password-Storage -rspec ./spec/vulnerabilities/command_injection_spec.rb:10 # command injection attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A1-Command-Injection -rspec ./spec/vulnerabilities/csrf_spec.rb:10 # csrf attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-A8-CSRF -rspec ./spec/vulnerabilities/url_access_spec.rb:9 # url access attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A7-Missing-Function-Level-Access-Control--(Admin-Controller) -rspec ./spec/vulnerabilities/broken_auth_spec.rb:9 # broken_auth one -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration -rspec ./spec/vulnerabilities/broken_auth_spec.rb:22 # broken_auth two -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration -rspec ./spec/vulnerabilities/xss_spec.rb:9 # xss attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A3-Cross-Site-Scripting -rspec ./spec/vulnerabilities/insecure_dor_spec.rb:9 # insecure direct object reference attack one -rspec ./spec/vulnerabilities/insecure_dor_spec.rb:23 # insecure direct object reference attack two -Tutorial: https://github.com/OWASP/railsgoat/wiki/A4-Insecure-Direct-Object-Reference -rspec ./spec/vulnerabilities/sql_injection_spec.rb:10 # sql injection attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/R4-A1-SQL-Injection-Concatentation -rspec ./spec/models/benefits_spec.rb:13 # User can be instantiated -rspec ./spec/models/benefits_spec.rb:17 # User name can be updated -rspec ./spec/vulnerabilities/mass_assignment_spec.rb:9 # mass assignment attack one -rspec ./spec/vulnerabilities/mass_assignment_spec.rb:24 # mass assignment attack two, Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-Extras-Mass-Assignment-Admin-Role -rspec ./spec/vulnerabilities/password_complexity_spec.rb:9 # password complexity one -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Lack-of-Password-Complexity -rspec ./spec/models/user_spec.rb:13 # User can be instantiated -rspec ./spec/models/user_spec.rb:17 # User should require a email -rspec ./spec/models/user_spec.rb:21 # User should require valid email -rspec ./spec/models/user_spec.rb:25 # User should require unique email -rspec ./spec/models/user_spec.rb:30 # User name can be updated -rspec ./spec/vulnerabilities/unvalidated_redirects_spec.rb:9 # unvalidated redirect attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A10-Unvalidated-Redirects-and-Forwards-(redirect_to) - -Randomized with seed 33309 - From 7fa26c981c01bc6c1756fdb8dfba4a23b39c418a Mon Sep 17 00:00:00 2001 From: Joseph Mastey Date: Fri, 6 Oct 2017 19:58:12 -0500 Subject: [PATCH 064/554] chore(tests): remove unused TestUnit suite, plus fixtures included in it --- r | 393 ------------------ spec/spec_helper.rb | 3 - test/controllers/.keep | 0 test/fixtures/.keep | 0 test/fixtures/benefits.yml | 11 - test/fixtures/paid_time_offs.yml | 15 - test/fixtures/performances.yml | 15 - test/fixtures/retirements.yml | 13 - test/fixtures/schedules.yml | 17 - test/fixtures/users.yml | 9 - test/fixtures/work_infos.yml | 17 - test/functional/admin_controller_test.rb | 7 - .../benefit_forms_controller_test.rb | 7 - test/functional/dashboard_controller_test.rb | 7 - .../paid_time_off_controller_test.rb | 7 - .../functional/performance_controller_test.rb | 7 - test/functional/retirement_controller_test.rb | 7 - test/functional/schedule_controller_test.rb | 7 - test/functional/sessions_controller_test.rb | 7 - test/functional/tutorials_controller_test.rb | 7 - test/functional/users_controller_test.rb | 5 - test/functional/work_info_controller_test.rb | 7 - test/helpers/.keep | 0 test/integration/.gitkeep | 0 test/integration/.keep | 0 test/mailers/.keep | 0 test/models/.keep | 0 test/performance/browsing_test.rb | 12 - test/test_helper.rb | 20 - test/unit/benefits_test.rb | 2 - test/unit/helpers/admin_helper_test.rb | 4 - .../unit/helpers/benefit_forms_helper_test.rb | 4 - test/unit/helpers/dashboard_helper_test.rb | 4 - .../unit/helpers/paid_time_off_helper_test.rb | 4 - test/unit/helpers/performance_helper_test.rb | 4 - test/unit/helpers/retirement_helper_test.rb | 4 - test/unit/helpers/schedule_helper_test.rb | 4 - test/unit/helpers/sessions_helper_test.rb | 4 - test/unit/helpers/tutorials_helper_test.rb | 4 - test/unit/helpers/users_helper_test.rb | 4 - test/unit/helpers/work_info_helper_test.rb | 4 - test/unit/paid_time_off_test.rb | 7 - test/unit/performance_test.rb | 7 - test/unit/retirement_test.rb | 7 - test/unit/schedule_test.rb | 7 - test/unit/user_test.rb | 7 - test/unit/work_info_test.rb | 7 - 47 files changed, 688 deletions(-) delete mode 100644 r delete mode 100644 test/controllers/.keep delete mode 100644 test/fixtures/.keep delete mode 100644 test/fixtures/benefits.yml delete mode 100644 test/fixtures/paid_time_offs.yml delete mode 100644 test/fixtures/performances.yml delete mode 100644 test/fixtures/retirements.yml delete mode 100644 test/fixtures/schedules.yml delete mode 100755 test/fixtures/users.yml delete mode 100644 test/fixtures/work_infos.yml delete mode 100755 test/functional/admin_controller_test.rb delete mode 100644 test/functional/benefit_forms_controller_test.rb delete mode 100755 test/functional/dashboard_controller_test.rb delete mode 100644 test/functional/paid_time_off_controller_test.rb delete mode 100644 test/functional/performance_controller_test.rb delete mode 100644 test/functional/retirement_controller_test.rb delete mode 100644 test/functional/schedule_controller_test.rb delete mode 100755 test/functional/sessions_controller_test.rb delete mode 100755 test/functional/tutorials_controller_test.rb delete mode 100755 test/functional/users_controller_test.rb delete mode 100644 test/functional/work_info_controller_test.rb delete mode 100644 test/helpers/.keep delete mode 100755 test/integration/.gitkeep delete mode 100644 test/integration/.keep delete mode 100644 test/mailers/.keep delete mode 100644 test/models/.keep delete mode 100755 test/performance/browsing_test.rb delete mode 100755 test/test_helper.rb delete mode 100644 test/unit/benefits_test.rb delete mode 100755 test/unit/helpers/admin_helper_test.rb delete mode 100644 test/unit/helpers/benefit_forms_helper_test.rb delete mode 100755 test/unit/helpers/dashboard_helper_test.rb delete mode 100644 test/unit/helpers/paid_time_off_helper_test.rb delete mode 100644 test/unit/helpers/performance_helper_test.rb delete mode 100644 test/unit/helpers/retirement_helper_test.rb delete mode 100644 test/unit/helpers/schedule_helper_test.rb delete mode 100755 test/unit/helpers/sessions_helper_test.rb delete mode 100755 test/unit/helpers/tutorials_helper_test.rb delete mode 100755 test/unit/helpers/users_helper_test.rb delete mode 100644 test/unit/helpers/work_info_helper_test.rb delete mode 100644 test/unit/paid_time_off_test.rb delete mode 100644 test/unit/performance_test.rb delete mode 100644 test/unit/retirement_test.rb delete mode 100644 test/unit/schedule_test.rb delete mode 100755 test/unit/user_test.rb delete mode 100644 test/unit/work_info_test.rb diff --git a/r b/r deleted file mode 100644 index 41653921b..000000000 --- a/r +++ /dev/null @@ -1,393 +0,0 @@ - -Randomized with seed 33309 -FFFFFFFFFFFFFFFFFFFFF - -Failures: - - 1) improper password hashing with just md5 -Tutorial: https://github.com/OWASP/railsgoat/wiki/A6-Sensitive-Data-Exposure-Insecure-Password-Storage - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/password_hashing_spec.rb:5:in `block (2 levels) in ' - - 2) command injection attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A1-Command-Injection - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/command_injection_spec.rb:6:in `block (2 levels) in ' - - 3) csrf attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-A8-CSRF - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/csrf_spec.rb:6:in `block (2 levels) in ' - - 4) url access attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A7-Missing-Function-Level-Access-Control--(Admin-Controller) - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/url_access_spec.rb:5:in `block (2 levels) in ' - - 5) broken_auth one -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/broken_auth_spec.rb:5:in `block (2 levels) in ' - - 6) broken_auth two -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/broken_auth_spec.rb:5:in `block (2 levels) in ' - - 7) xss attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A3-Cross-Site-Scripting - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/xss_spec.rb:5:in `block (2 levels) in ' - - 8) insecure direct object reference attack one - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/insecure_dor_spec.rb:5:in `block (2 levels) in ' - - 9) insecure direct object reference attack two -Tutorial: https://github.com/OWASP/railsgoat/wiki/A4-Insecure-Direct-Object-Reference - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/insecure_dor_spec.rb:5:in `block (2 levels) in ' - - 10) sql injection attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/R4-A1-SQL-Injection-Concatentation - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/sql_injection_spec.rb:5:in `block (2 levels) in ' - - 11) User can be instantiated - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/benefits_spec.rb:5:in `block (2 levels) in ' - - 12) User name can be updated - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/benefits_spec.rb:5:in `block (2 levels) in ' - - 13) mass assignment attack one - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/mass_assignment_spec.rb:5:in `block (2 levels) in ' - - 14) mass assignment attack two, Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-Extras-Mass-Assignment-Admin-Role - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/mass_assignment_spec.rb:5:in `block (2 levels) in ' - - 15) password complexity one -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Lack-of-Password-Complexity - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/password_complexity_spec.rb:5:in `block (2 levels) in ' - - 16) User can be instantiated - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 17) User should require a email - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 18) User should require valid email - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 19) User should require unique email - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 20) User name can be updated - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/models/user_spec.rb:5:in `block (2 levels) in ' - - 21) unvalidated redirect attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A10-Unvalidated-Redirects-and-Forwards-(redirect_to) - Failure/Error: aes.iv = iv if iv != nil - - ArgumentError: - iv must be 16 bytes - # ./lib/encryption.rb:8:in `iv=' - # ./lib/encryption.rb:8:in `encrypt_sensitive_value' - # ./app/models/user.rb:82:in `generate_token' - # ./app/models/user.rb:23:in `block in ' - # /Users/macbookpro/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' - # ./db/seeds.rb:270:in `block in ' - # ./db/seeds.rb:267:in `each' - # ./db/seeds.rb:267:in `' - # ./spec/support/user_fixture.rb:4:in `reset_all_users' - # ./spec/vulnerabilities/unvalidated_redirects_spec.rb:5:in `block (2 levels) in ' - -Finished in 0.2747 seconds (files took 2.04 seconds to load) -21 examples, 21 failures - -Failed examples: - -rspec ./spec/vulnerabilities/password_hashing_spec.rb:9 # improper password hashing with just md5 -Tutorial: https://github.com/OWASP/railsgoat/wiki/A6-Sensitive-Data-Exposure-Insecure-Password-Storage -rspec ./spec/vulnerabilities/command_injection_spec.rb:10 # command injection attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A1-Command-Injection -rspec ./spec/vulnerabilities/csrf_spec.rb:10 # csrf attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-A8-CSRF -rspec ./spec/vulnerabilities/url_access_spec.rb:9 # url access attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A7-Missing-Function-Level-Access-Control--(Admin-Controller) -rspec ./spec/vulnerabilities/broken_auth_spec.rb:9 # broken_auth one -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration -rspec ./spec/vulnerabilities/broken_auth_spec.rb:22 # broken_auth two -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Credential-Enumeration -rspec ./spec/vulnerabilities/xss_spec.rb:9 # xss attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A3-Cross-Site-Scripting -rspec ./spec/vulnerabilities/insecure_dor_spec.rb:9 # insecure direct object reference attack one -rspec ./spec/vulnerabilities/insecure_dor_spec.rb:23 # insecure direct object reference attack two -Tutorial: https://github.com/OWASP/railsgoat/wiki/A4-Insecure-Direct-Object-Reference -rspec ./spec/vulnerabilities/sql_injection_spec.rb:10 # sql injection attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/R4-A1-SQL-Injection-Concatentation -rspec ./spec/models/benefits_spec.rb:13 # User can be instantiated -rspec ./spec/models/benefits_spec.rb:17 # User name can be updated -rspec ./spec/vulnerabilities/mass_assignment_spec.rb:9 # mass assignment attack one -rspec ./spec/vulnerabilities/mass_assignment_spec.rb:24 # mass assignment attack two, Tutorial: https://github.com/OWASP/railsgoat/wiki/R5-Extras-Mass-Assignment-Admin-Role -rspec ./spec/vulnerabilities/password_complexity_spec.rb:9 # password complexity one -Tutorial: https://github.com/OWASP/railsgoat/wiki/A2-Lack-of-Password-Complexity -rspec ./spec/models/user_spec.rb:13 # User can be instantiated -rspec ./spec/models/user_spec.rb:17 # User should require a email -rspec ./spec/models/user_spec.rb:21 # User should require valid email -rspec ./spec/models/user_spec.rb:25 # User should require unique email -rspec ./spec/models/user_spec.rb:30 # User name can be updated -rspec ./spec/vulnerabilities/unvalidated_redirects_spec.rb:9 # unvalidated redirect attack -Tutorial: https://github.com/OWASP/railsgoat/wiki/A10-Unvalidated-Redirects-and-Forwards-(redirect_to) - -Randomized with seed 33309 - diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 72934dddc..75e356091 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -24,9 +24,6 @@ # config.mock_with :flexmock # config.mock_with :rr - # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures - config.fixture_path = "#{::Rails.root}/spec/fixtures" - # If you're not using ActiveRecord, or you'd prefer not to run each of your # examples within a transaction, remove the following line or assign false # instead of true. diff --git a/test/controllers/.keep b/test/controllers/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/fixtures/.keep b/test/fixtures/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/fixtures/benefits.yml b/test/fixtures/benefits.yml deleted file mode 100644 index 9cfe87b6e..000000000 --- a/test/fixtures/benefits.yml +++ /dev/null @@ -1,11 +0,0 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -# This model initially had no columns defined. If you add columns to the -# model remove the '{}' from the fixture names and add the columns immediately -# below each fixture, per the syntax in the comments below -# -#one: {} -# column: value -# -#two: {} -# column: value diff --git a/test/fixtures/paid_time_offs.yml b/test/fixtures/paid_time_offs.yml deleted file mode 100644 index b5d4bd192..000000000 --- a/test/fixtures/paid_time_offs.yml +++ /dev/null @@ -1,15 +0,0 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - user_id: 1 - sick_days_taken: 1 - sick_days_earned: 1 - pto_taken: 1 - pto_earned: 1 - -two: - user_id: 1 - sick_days_taken: 1 - sick_days_earned: 1 - pto_taken: 1 - pto_earned: 1 diff --git a/test/fixtures/performances.yml b/test/fixtures/performances.yml deleted file mode 100644 index 74a3abb2e..000000000 --- a/test/fixtures/performances.yml +++ /dev/null @@ -1,15 +0,0 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - user_id: 1 - date_submitted: 2013-05-31 - score: 1 - comments: MyString - reviewer: 1 - -two: - user_id: 1 - date_submitted: 2013-05-31 - score: 1 - comments: MyString - reviewer: 1 diff --git a/test/fixtures/retirements.yml b/test/fixtures/retirements.yml deleted file mode 100644 index ee49de84c..000000000 --- a/test/fixtures/retirements.yml +++ /dev/null @@ -1,13 +0,0 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - total: MyString - employee_contrib: MyString - employer_contrib: MyString - user_id: MyString - -two: - total: MyString - employee_contrib: MyString - employer_contrib: MyString - user_id: MyString diff --git a/test/fixtures/schedules.yml b/test/fixtures/schedules.yml deleted file mode 100644 index 6827e86a6..000000000 --- a/test/fixtures/schedules.yml +++ /dev/null @@ -1,17 +0,0 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - event_type: MyString - date_begin: 2013-05-27 - date_end: 2013-05-27 - event_name: MyString - event_desc: MyString - user_id: 1 - -two: - event_type: MyString - date_begin: 2013-05-27 - date_end: 2013-05-27 - event_name: MyString - event_desc: MyString - user_id: 1 diff --git a/test/fixtures/users.yml b/test/fixtures/users.yml deleted file mode 100755 index 2e0c74076..000000000 --- a/test/fixtures/users.yml +++ /dev/null @@ -1,9 +0,0 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - email: MyString - password: MyString - -two: - email: MyString - password: MyString diff --git a/test/fixtures/work_infos.yml b/test/fixtures/work_infos.yml deleted file mode 100644 index 6aeb3bc59..000000000 --- a/test/fixtures/work_infos.yml +++ /dev/null @@ -1,17 +0,0 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - user_id: 1 - income: MyString - bonuses: MyString - years_worked: 1 - SSN: MyString - DoB: 2013-05-31 - -two: - user_id: 1 - income: MyString - bonuses: MyString - years_worked: 1 - SSN: MyString - DoB: 2013-05-31 diff --git a/test/functional/admin_controller_test.rb b/test/functional/admin_controller_test.rb deleted file mode 100755 index 7bb9eb97a..000000000 --- a/test/functional/admin_controller_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class AdminControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/functional/benefit_forms_controller_test.rb b/test/functional/benefit_forms_controller_test.rb deleted file mode 100644 index 292f2f987..000000000 --- a/test/functional/benefit_forms_controller_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class BenefitFormsControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/functional/dashboard_controller_test.rb b/test/functional/dashboard_controller_test.rb deleted file mode 100755 index b72f3c091..000000000 --- a/test/functional/dashboard_controller_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class DashboardControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/functional/paid_time_off_controller_test.rb b/test/functional/paid_time_off_controller_test.rb deleted file mode 100644 index 992d400de..000000000 --- a/test/functional/paid_time_off_controller_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class PaidTimeOffControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/functional/performance_controller_test.rb b/test/functional/performance_controller_test.rb deleted file mode 100644 index f0de602a8..000000000 --- a/test/functional/performance_controller_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class PerformanceControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/functional/retirement_controller_test.rb b/test/functional/retirement_controller_test.rb deleted file mode 100644 index 9f23c1125..000000000 --- a/test/functional/retirement_controller_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class RetirementControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/functional/schedule_controller_test.rb b/test/functional/schedule_controller_test.rb deleted file mode 100644 index 25a90612e..000000000 --- a/test/functional/schedule_controller_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class ScheduleControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/functional/sessions_controller_test.rb b/test/functional/sessions_controller_test.rb deleted file mode 100755 index d30ebc380..000000000 --- a/test/functional/sessions_controller_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class SessionsControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/functional/tutorials_controller_test.rb b/test/functional/tutorials_controller_test.rb deleted file mode 100755 index c3cc72012..000000000 --- a/test/functional/tutorials_controller_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class TutorialsControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/functional/users_controller_test.rb b/test/functional/users_controller_test.rb deleted file mode 100755 index dfbee34b3..000000000 --- a/test/functional/users_controller_test.rb +++ /dev/null @@ -1,5 +0,0 @@ -require 'test_helper' - -class UsersControllerTest < ActionController::TestCase - -end \ No newline at end of file diff --git a/test/functional/work_info_controller_test.rb b/test/functional/work_info_controller_test.rb deleted file mode 100644 index 56b393aca..000000000 --- a/test/functional/work_info_controller_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class WorkInfoControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/helpers/.keep b/test/helpers/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/integration/.gitkeep b/test/integration/.gitkeep deleted file mode 100755 index e69de29bb..000000000 diff --git a/test/integration/.keep b/test/integration/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/mailers/.keep b/test/mailers/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/models/.keep b/test/models/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/performance/browsing_test.rb b/test/performance/browsing_test.rb deleted file mode 100755 index 3fea27b91..000000000 --- a/test/performance/browsing_test.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'test_helper' -require 'rails/performance_test_help' - -class BrowsingTest < ActionDispatch::PerformanceTest - # Refer to the documentation for all available options - # self.profile_options = { :runs => 5, :metrics => [:wall_time, :memory] - # :output => 'tmp/performance', :formats => [:flat] } - - def test_homepage - get '/' - end -end diff --git a/test/test_helper.rb b/test/test_helper.rb deleted file mode 100755 index 9f44476f3..000000000 --- a/test/test_helper.rb +++ /dev/null @@ -1,20 +0,0 @@ -ENV["RAILS_ENV"] ||= "test" - -# To use simplecov, do this: COVERAGE=true rake -require 'simplecov' -SimpleCov.start if ENV["COVERAGE"] - -require File.expand_path('../../config/environment', __FILE__) -require 'rails/test_help' - -class ActiveSupport::TestCase - # Maybe for Rails 4.0: ActiveRecord::Migration.check_pending! - - # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order. - # - # Note: You'll currently still have to declare fixtures explicitly in integration tests - # -- they do not yet inherit this setting - fixtures :all - - # Add more helper methods to be used by all tests here... -end diff --git a/test/unit/benefits_test.rb b/test/unit/benefits_test.rb deleted file mode 100644 index faca8c7ec..000000000 --- a/test/unit/benefits_test.rb +++ /dev/null @@ -1,2 +0,0 @@ -require 'test_helper' - diff --git a/test/unit/helpers/admin_helper_test.rb b/test/unit/helpers/admin_helper_test.rb deleted file mode 100755 index 23d9f4077..000000000 --- a/test/unit/helpers/admin_helper_test.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'test_helper' - -class AdminHelperTest < ActionView::TestCase -end diff --git a/test/unit/helpers/benefit_forms_helper_test.rb b/test/unit/helpers/benefit_forms_helper_test.rb deleted file mode 100644 index 4b2710538..000000000 --- a/test/unit/helpers/benefit_forms_helper_test.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'test_helper' - -class BenefitFormsHelperTest < ActionView::TestCase -end diff --git a/test/unit/helpers/dashboard_helper_test.rb b/test/unit/helpers/dashboard_helper_test.rb deleted file mode 100755 index 4300e713b..000000000 --- a/test/unit/helpers/dashboard_helper_test.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'test_helper' - -class DashboardHelperTest < ActionView::TestCase -end diff --git a/test/unit/helpers/paid_time_off_helper_test.rb b/test/unit/helpers/paid_time_off_helper_test.rb deleted file mode 100644 index 6950bb8f9..000000000 --- a/test/unit/helpers/paid_time_off_helper_test.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'test_helper' - -class PaidTimeOffHelperTest < ActionView::TestCase -end diff --git a/test/unit/helpers/performance_helper_test.rb b/test/unit/helpers/performance_helper_test.rb deleted file mode 100644 index fa3612d0f..000000000 --- a/test/unit/helpers/performance_helper_test.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'test_helper' - -class PerformanceHelperTest < ActionView::TestCase -end diff --git a/test/unit/helpers/retirement_helper_test.rb b/test/unit/helpers/retirement_helper_test.rb deleted file mode 100644 index e7dcb8fc2..000000000 --- a/test/unit/helpers/retirement_helper_test.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'test_helper' - -class RetirementHelperTest < ActionView::TestCase -end diff --git a/test/unit/helpers/schedule_helper_test.rb b/test/unit/helpers/schedule_helper_test.rb deleted file mode 100644 index 995546423..000000000 --- a/test/unit/helpers/schedule_helper_test.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'test_helper' - -class ScheduleHelperTest < ActionView::TestCase -end diff --git a/test/unit/helpers/sessions_helper_test.rb b/test/unit/helpers/sessions_helper_test.rb deleted file mode 100755 index 7d44e0965..000000000 --- a/test/unit/helpers/sessions_helper_test.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'test_helper' - -class SessionsHelperTest < ActionView::TestCase -end diff --git a/test/unit/helpers/tutorials_helper_test.rb b/test/unit/helpers/tutorials_helper_test.rb deleted file mode 100755 index dae016ccb..000000000 --- a/test/unit/helpers/tutorials_helper_test.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'test_helper' - -class TutorialsHelperTest < ActionView::TestCase -end diff --git a/test/unit/helpers/users_helper_test.rb b/test/unit/helpers/users_helper_test.rb deleted file mode 100755 index 96af37a82..000000000 --- a/test/unit/helpers/users_helper_test.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'test_helper' - -class UsersHelperTest < ActionView::TestCase -end diff --git a/test/unit/helpers/work_info_helper_test.rb b/test/unit/helpers/work_info_helper_test.rb deleted file mode 100644 index f5a236c37..000000000 --- a/test/unit/helpers/work_info_helper_test.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'test_helper' - -class WorkInfoHelperTest < ActionView::TestCase -end diff --git a/test/unit/paid_time_off_test.rb b/test/unit/paid_time_off_test.rb deleted file mode 100644 index 44aa6d807..000000000 --- a/test/unit/paid_time_off_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class PaidTimeOffTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/unit/performance_test.rb b/test/unit/performance_test.rb deleted file mode 100644 index d71151397..000000000 --- a/test/unit/performance_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class PerformanceTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/unit/retirement_test.rb b/test/unit/retirement_test.rb deleted file mode 100644 index 02aa836d5..000000000 --- a/test/unit/retirement_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class RetirementTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/unit/schedule_test.rb b/test/unit/schedule_test.rb deleted file mode 100644 index 8e3ee1d17..000000000 --- a/test/unit/schedule_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class ScheduleTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb deleted file mode 100755 index 82f61e010..000000000 --- a/test/unit/user_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class UserTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/unit/work_info_test.rb b/test/unit/work_info_test.rb deleted file mode 100644 index 775aec15c..000000000 --- a/test/unit/work_info_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class WorkInfoTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end From c7b0335c7e547f342d72786b609629587252e55a Mon Sep 17 00:00:00 2001 From: Al Snow Date: Sat, 7 Oct 2017 08:27:11 -0400 Subject: [PATCH 065/554] Upgraded [backports, cucumber-expressions, capybara] gems --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2e426a55c..1ab91204f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,7 +48,7 @@ GEM ffi (~> 1.9.10) rspec-expectations (>= 2.99) thor (~> 0.19) - backports (3.8.0) + backports (3.9.1) bcrypt (3.1.11) better_errors (2.3.0) coderay (>= 1.0.0) @@ -61,7 +61,7 @@ GEM bundler-audit (0.6.0) bundler (~> 1.2) thor (~> 0.18) - capybara (2.15.3) + capybara (2.15.4) addressable mini_mime (>= 0.1.3) nokogiri (>= 1.3.3) @@ -96,7 +96,7 @@ GEM backports (>= 3.8.0) cucumber-tag_expressions (>= 1.0.1) gherkin (>= 4.1.3) - cucumber-expressions (4.0.3) + cucumber-expressions (4.0.4) cucumber-tag_expressions (1.0.1) cucumber-wire (0.0.1) database_cleaner (1.6.1) From 63e9bb06d617420dc884b4368386740cf1372adb Mon Sep 17 00:00:00 2001 From: Al Snow Date: Tue, 10 Oct 2017 20:59:23 -0400 Subject: [PATCH 066/554] Upgraded erubi gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1ab91204f..3a88939dd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -106,7 +106,7 @@ GEM em-websocket (0.5.1) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) - erubi (1.6.1) + erubi (1.7.0) eventmachine (1.2.5) execjs (2.7.0) ffi (1.9.18) From fe7f4ac9a3decc3988a01f4cf5901f60dc171b44 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Wed, 11 Oct 2017 10:43:25 -0400 Subject: [PATCH 067/554] Upgraded backports gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3a88939dd..ac4539f2a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,7 +48,7 @@ GEM ffi (~> 1.9.10) rspec-expectations (>= 2.99) thor (~> 0.19) - backports (3.9.1) + backports (3.10.0) bcrypt (3.1.11) better_errors (2.3.0) coderay (>= 1.0.0) From 16d2825381714006b5e79c4d78027850f86616de Mon Sep 17 00:00:00 2001 From: Al Snow Date: Fri, 13 Oct 2017 16:45:13 -0400 Subject: [PATCH 068/554] Upgraded better_errors gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ac4539f2a..80278562f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -50,7 +50,7 @@ GEM thor (~> 0.19) backports (3.10.0) bcrypt (3.1.11) - better_errors (2.3.0) + better_errors (2.4.0) coderay (>= 1.0.0) erubi (>= 1.0.0) rack (>= 0.9.0) From 0af68f234394c982dc2f42f77bb641b194e05372 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Mon, 16 Oct 2017 09:35:45 -0400 Subject: [PATCH 069/554] Upgraded i18n gem --- Gemfile.lock | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 80278562f..2995c2746 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -142,7 +142,8 @@ GEM guard (>= 2.0.0) guard-compat (~> 1.0) http_parser.rb (0.6.0) - i18n (0.8.6) + i18n (0.9.0) + concurrent-ruby (~> 1.0) jquery-fileupload-rails (0.4.7) actionpack (>= 3.1) railties (>= 3.1) From 69e3abc2f5fe296a2f0d48e86c3d7a0091395d5d Mon Sep 17 00:00:00 2001 From: Al Snow Date: Tue, 17 Oct 2017 08:46:11 -0400 Subject: [PATCH 070/554] Upgraded backports gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2995c2746..a04c08eab 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,7 +48,7 @@ GEM ffi (~> 1.9.10) rspec-expectations (>= 2.99) thor (~> 0.19) - backports (3.10.0) + backports (3.10.3) bcrypt (3.1.11) better_errors (2.4.0) coderay (>= 1.0.0) From eba41a9b86f9bde0da4122d8752fdf1476d6059b Mon Sep 17 00:00:00 2001 From: Al Snow Date: Tue, 17 Oct 2017 14:40:57 -0400 Subject: [PATCH 071/554] Upgraded rspec gem; Added puma gem --- Gemfile | 1 + Gemfile.lock | 34 ++++++++++++++++++---------------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/Gemfile b/Gemfile index d14933a14..a9aa21e76 100644 --- a/Gemfile +++ b/Gemfile @@ -42,6 +42,7 @@ group :development, :test, :mysql do gem 'database_cleaner' gem 'poltergeist' gem 'rspec-rails' + gem 'puma' gem 'test-unit' end diff --git a/Gemfile.lock b/Gemfile.lock index a04c08eab..6b58b1e82 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -197,6 +197,7 @@ GEM pry-rails (0.3.6) pry (>= 0.10.4) public_suffix (3.0.0) + puma (3.10.0) rack (2.0.3) rack-livereload (0.3.16) rack @@ -235,27 +236,27 @@ GEM responders (2.4.0) actionpack (>= 4.2.0, < 5.3) railties (>= 4.2.0, < 5.3) - rspec (3.6.0) - rspec-core (~> 3.6.0) - rspec-expectations (~> 3.6.0) - rspec-mocks (~> 3.6.0) - rspec-core (3.6.0) - rspec-support (~> 3.6.0) - rspec-expectations (3.6.0) + rspec (3.7.0) + rspec-core (~> 3.7.0) + rspec-expectations (~> 3.7.0) + rspec-mocks (~> 3.7.0) + rspec-core (3.7.0) + rspec-support (~> 3.7.0) + rspec-expectations (3.7.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.6.0) - rspec-mocks (3.6.0) + rspec-support (~> 3.7.0) + rspec-mocks (3.7.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.6.0) - rspec-rails (3.6.1) + rspec-support (~> 3.7.0) + rspec-rails (3.7.0) actionpack (>= 3.0) activesupport (>= 3.0) railties (>= 3.0) - rspec-core (~> 3.6.0) - rspec-expectations (~> 3.6.0) - rspec-mocks (~> 3.6.0) - rspec-support (~> 3.6.0) - rspec-support (3.6.0) + rspec-core (~> 3.7.0) + rspec-expectations (~> 3.7.0) + rspec-mocks (~> 3.7.0) + rspec-support (~> 3.7.0) + rspec-support (3.7.0) ruby-prof (0.16.2) ruby_dep (1.5.0) sass (3.5.2) @@ -338,6 +339,7 @@ DEPENDENCIES powder pry pry-rails + puma rack-livereload rails (= 5.1.4) rails-perftest From b0e4d8fe4e347d2fdf998ddbf9d1706b8756818a Mon Sep 17 00:00:00 2001 From: Al Snow Date: Wed, 18 Oct 2017 09:03:47 -0400 Subject: [PATCH 072/554] Upgraded rspec-rails gem; Removed un-needed puma gem --- Gemfile | 1 - Gemfile.lock | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index a9aa21e76..d14933a14 100644 --- a/Gemfile +++ b/Gemfile @@ -42,7 +42,6 @@ group :development, :test, :mysql do gem 'database_cleaner' gem 'poltergeist' gem 'rspec-rails' - gem 'puma' gem 'test-unit' end diff --git a/Gemfile.lock b/Gemfile.lock index 6b58b1e82..ae06fb02a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -197,7 +197,6 @@ GEM pry-rails (0.3.6) pry (>= 0.10.4) public_suffix (3.0.0) - puma (3.10.0) rack (2.0.3) rack-livereload (0.3.16) rack @@ -248,7 +247,7 @@ GEM rspec-mocks (3.7.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.7.0) - rspec-rails (3.7.0) + rspec-rails (3.7.1) actionpack (>= 3.0) activesupport (>= 3.0) railties (>= 3.0) @@ -339,7 +338,6 @@ DEPENDENCIES powder pry pry-rails - puma rack-livereload rails (= 5.1.4) rails-perftest From 4990afaa179a2d21d2eb389b4b2d26034ae58104 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Thu, 19 Oct 2017 08:49:02 -0400 Subject: [PATCH 073/554] Upgraded pry gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ae06fb02a..5edc24f81 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -191,7 +191,7 @@ GEM powder (0.3.2) thor (>= 0.11.5) power_assert (1.1.0) - pry (0.11.1) + pry (0.11.2) coderay (~> 1.1.0) method_source (~> 0.9.0) pry-rails (0.3.6) From 1e92923d84a2b029eda4c66b497cdcab20370637 Mon Sep 17 00:00:00 2001 From: Al Snow Date: Sat, 21 Oct 2017 21:13:18 -0400 Subject: [PATCH 074/554] Upgraded binding_of_caller gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5edc24f81..b907dd55d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -54,7 +54,7 @@ GEM coderay (>= 1.0.0) erubi (>= 1.0.0) rack (>= 0.9.0) - binding_of_caller (0.7.2) + binding_of_caller (0.7.3) debug_inspector (>= 0.0.1) brakeman (4.0.1) builder (3.2.3) From 764c2d93ea4dd6306eeae7bca5fc8ac45712af79 Mon Sep 17 00:00:00 2001 From: Joseph Mastey Date: Mon, 23 Oct 2017 20:53:55 -0500 Subject: [PATCH 075/554] upgrade jQuery dataTable library, with minified version --- app/assets/javascripts/jquery.dataTables.js | 12099 ---------------- .../javascripts/jquery.dataTables.min.js | 164 + app/assets/stylesheets/main.css.erb | 2 +- app/views/admin/analytics.html.erb | 2 +- app/views/admin/dashboard.html.erb | 4 +- config/initializers/assets.rb | 2 +- 6 files changed, 169 insertions(+), 12104 deletions(-) delete mode 100755 app/assets/javascripts/jquery.dataTables.js create mode 100644 app/assets/javascripts/jquery.dataTables.min.js diff --git a/app/assets/javascripts/jquery.dataTables.js b/app/assets/javascripts/jquery.dataTables.js deleted file mode 100755 index 1d8a220ba..000000000 --- a/app/assets/javascripts/jquery.dataTables.js +++ /dev/null @@ -1,12099 +0,0 @@ -/** - * @summary DataTables - * @description Paginate, search and sort HTML tables - * @version 1.9.4 - * @file jquery.dataTables.js - * @author Allan Jardine (www.sprymedia.co.uk) - * @contact www.sprymedia.co.uk/contact - * - * @copyright Copyright 2008-2012 Allan Jardine, all rights reserved. - * - * This source file is free software, under either the GPL v2 license or a - * BSD style license, available at: - * http://datatables.net/license_gpl2 - * http://datatables.net/license_bsd - * - * This source file is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. - * - * For details please refer to: http://www.datatables.net - */ - -/*jslint evil: true, undef: true, browser: true */ -/*globals $, jQuery,define,_fnExternApiFunc,_fnInitialise,_fnInitComplete,_fnLanguageCompat,_fnAddColumn,_fnColumnOptions,_fnAddData,_fnCreateTr,_fnGatherData,_fnBuildHead,_fnDrawHead,_fnDraw,_fnReDraw,_fnAjaxUpdate,_fnAjaxParameters,_fnAjaxUpdateDraw,_fnServerParams,_fnAddOptionsHtml,_fnFeatureHtmlTable,_fnScrollDraw,_fnAdjustColumnSizing,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnBuildSearchArray,_fnBuildSearchRow,_fnFilterCreateSearch,_fnDataToSearch,_fnSort,_fnSortAttachListener,_fnSortingClasses,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnFeatureHtmlLength,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnNodeToDataIndex,_fnVisbleColumns,_fnCalculateEnd,_fnConvertToWidth,_fnCalculateColumnWidths,_fnScrollingWidthAdjust,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnDetectType,_fnSettingsFromNode,_fnGetDataMaster,_fnGetTrNodes,_fnGetTdNodes,_fnEscapeRegex,_fnDeleteIndex,_fnReOrderIndex,_fnColumnOrdering,_fnLog,_fnClearTable,_fnSaveState,_fnLoadState,_fnCreateCookie,_fnReadCookie,_fnDetectHeader,_fnGetUniqueThs,_fnScrollBarWidth,_fnApplyToChildren,_fnMap,_fnGetRowData,_fnGetCellData,_fnSetCellData,_fnGetObjectDataFn,_fnSetObjectDataFn,_fnApplyColumnDefs,_fnBindAction,_fnCallbackReg,_fnCallbackFire,_fnJsonString,_fnRender,_fnNodeToColumnIndex,_fnInfoMacros,_fnBrowserDetect,_fnGetColumns*/ - -(/** @lends */function( window, document, undefined ) { - -(function( factory ) { - "use strict"; - - // Define as an AMD module if possible - if ( typeof define === 'function' && define.amd ) - { - define( ['jquery'], factory ); - } - /* Define using browser globals otherwise - * Prevent multiple instantiations if the script is loaded twice - */ - else if ( jQuery && !jQuery.fn.dataTable ) - { - factory( jQuery ); - } -} -(/** @lends */function( $ ) { - "use strict"; - /** - * DataTables is a plug-in for the jQuery Javascript library. It is a - * highly flexible tool, based upon the foundations of progressive - * enhancement, which will add advanced interaction controls to any - * HTML table. For a full list of features please refer to - * DataTables.net. - * - * Note that the DataTable object is not a global variable but is - * aliased to jQuery.fn.DataTable and jQuery.fn.dataTable through which - * it may be accessed. - * - * @class - * @param {object} [oInit={}] Configuration object for DataTables. Options - * are defined by {@link DataTable.defaults} - * @requires jQuery 1.3+ - * - * @example - * // Basic initialisation - * $(document).ready( function { - * $('#example').dataTable(); - * } ); - * - * @example - * // Initialisation with configuration options - in this case, disable - * // pagination and sorting. - * $(document).ready( function { - * $('#example').dataTable( { - * "bPaginate": false, - * "bSort": false - * } ); - * } ); - */ - var DataTable = function( oInit ) - { - - - /** - * Add a column to the list used for the table with default values - * @param {object} oSettings dataTables settings object - * @param {node} nTh The th element for this column - * @memberof DataTable#oApi - */ - function _fnAddColumn( oSettings, nTh ) - { - var oDefaults = DataTable.defaults.columns; - var iCol = oSettings.aoColumns.length; - var oCol = $.extend( {}, DataTable.models.oColumn, oDefaults, { - "sSortingClass": oSettings.oClasses.sSortable, - "sSortingClassJUI": oSettings.oClasses.sSortJUI, - "nTh": nTh ? nTh : document.createElement('th'), - "sTitle": oDefaults.sTitle ? oDefaults.sTitle : nTh ? nTh.innerHTML : '', - "aDataSort": oDefaults.aDataSort ? oDefaults.aDataSort : [iCol], - "mData": oDefaults.mData ? oDefaults.oDefaults : iCol - } ); - oSettings.aoColumns.push( oCol ); - - /* Add a column specific filter */ - if ( oSettings.aoPreSearchCols[ iCol ] === undefined || oSettings.aoPreSearchCols[ iCol ] === null ) - { - oSettings.aoPreSearchCols[ iCol ] = $.extend( {}, DataTable.models.oSearch ); - } - else - { - var oPre = oSettings.aoPreSearchCols[ iCol ]; - - /* Don't require that the user must specify bRegex, bSmart or bCaseInsensitive */ - if ( oPre.bRegex === undefined ) - { - oPre.bRegex = true; - } - - if ( oPre.bSmart === undefined ) - { - oPre.bSmart = true; - } - - if ( oPre.bCaseInsensitive === undefined ) - { - oPre.bCaseInsensitive = true; - } - } - - /* Use the column options function to initialise classes etc */ - _fnColumnOptions( oSettings, iCol, null ); - } - - - /** - * Apply options for a column - * @param {object} oSettings dataTables settings object - * @param {int} iCol column index to consider - * @param {object} oOptions object with sType, bVisible and bSearchable etc - * @memberof DataTable#oApi - */ - function _fnColumnOptions( oSettings, iCol, oOptions ) - { - var oCol = oSettings.aoColumns[ iCol ]; - - /* User specified column options */ - if ( oOptions !== undefined && oOptions !== null ) - { - /* Backwards compatibility for mDataProp */ - if ( oOptions.mDataProp && !oOptions.mData ) - { - oOptions.mData = oOptions.mDataProp; - } - - if ( oOptions.sType !== undefined ) - { - oCol.sType = oOptions.sType; - oCol._bAutoType = false; - } - - $.extend( oCol, oOptions ); - _fnMap( oCol, oOptions, "sWidth", "sWidthOrig" ); - - /* iDataSort to be applied (backwards compatibility), but aDataSort will take - * priority if defined - */ - if ( oOptions.iDataSort !== undefined ) - { - oCol.aDataSort = [ oOptions.iDataSort ]; - } - _fnMap( oCol, oOptions, "aDataSort" ); - } - - /* Cache the data get and set functions for speed */ - var mRender = oCol.mRender ? _fnGetObjectDataFn( oCol.mRender ) : null; - var mData = _fnGetObjectDataFn( oCol.mData ); - - oCol.fnGetData = function (oData, sSpecific) { - var innerData = mData( oData, sSpecific ); - - if ( oCol.mRender && (sSpecific && sSpecific !== '') ) - { - return mRender( innerData, sSpecific, oData ); - } - return innerData; - }; - oCol.fnSetData = _fnSetObjectDataFn( oCol.mData ); - - /* Feature sorting overrides column specific when off */ - if ( !oSettings.oFeatures.bSort ) - { - oCol.bSortable = false; - } - - /* Check that the class assignment is correct for sorting */ - if ( !oCol.bSortable || - ($.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) == -1) ) - { - oCol.sSortingClass = oSettings.oClasses.sSortableNone; - oCol.sSortingClassJUI = ""; - } - else if ( $.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) == -1 ) - { - oCol.sSortingClass = oSettings.oClasses.sSortable; - oCol.sSortingClassJUI = oSettings.oClasses.sSortJUI; - } - else if ( $.inArray('asc', oCol.asSorting) != -1 && $.inArray('desc', oCol.asSorting) == -1 ) - { - oCol.sSortingClass = oSettings.oClasses.sSortableAsc; - oCol.sSortingClassJUI = oSettings.oClasses.sSortJUIAscAllowed; - } - else if ( $.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) != -1 ) - { - oCol.sSortingClass = oSettings.oClasses.sSortableDesc; - oCol.sSortingClassJUI = oSettings.oClasses.sSortJUIDescAllowed; - } - } - - - /** - * Adjust the table column widths for new data. Note: you would probably want to - * do a redraw after calling this function! - * @param {object} oSettings dataTables settings object - * @memberof DataTable#oApi - */ - function _fnAdjustColumnSizing ( oSettings ) - { - /* Not interested in doing column width calculation if auto-width is disabled */ - if ( oSettings.oFeatures.bAutoWidth === false ) - { - return false; - } - - _fnCalculateColumnWidths( oSettings ); - for ( var i=0 , iLen=oSettings.aoColumns.length ; i
").appendTo(q));p.nTBody=b[0];b=q.children("tfoot");if(b.length===0&&a.length>0&&(p.oScroll.sX!==""||p.oScroll.sY!==""))b=h("").appendTo(q);if(b.length===0||b.children().length===0)q.addClass(u.sNoFooter); +else if(b.length>0){p.nTFoot=b[0];da(p.aoFooter,p.nTFoot)}if(g.aaData)for(j=0;j/g,Zb=/^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/,$b=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)", +"g"),Wa=/[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi,L=function(a){return!a||!0===a||"-"===a?!0:!1},Nb=function(a){var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Ob=function(a,b){Xa[b]||(Xa[b]=RegExp(Pa(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(Xa[b],"."):a},Ya=function(a,b,c){var d="string"===typeof a;if(L(a))return!0;b&&d&&(a=Ob(a,b));c&&d&&(a=a.replace(Wa,""));return!isNaN(parseFloat(a))&&isFinite(a)},Pb=function(a,b,c){return L(a)?!0:!(L(a)||"string"=== +typeof a)?null:Ya(a.replace(Aa,""),b,c)?!0:null},D=function(a,b,c){var d=[],e=0,f=a.length;if(c!==k)for(;ea.length)){b=a.slice().sort();for(var c=b[0],d=1,e=b.length;d")[0],Wb=va.textContent!==k,Yb=/<.*?>/g,Na=m.util.throttle,Rb=[],w=Array.prototype,ac=function(a){var b,c,d=m.settings,e=h.map(d,function(a){return a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase())return b=h.inArray(a,e),-1!==b?[d[b]]:null;if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===typeof a?c=h(a):a instanceof +h&&(c=a)}else return[];if(c)return c.map(function(){b=h.inArray(this,e);return-1!==b?d[b]:null}).toArray()};s=function(a,b){if(!(this instanceof s))return new s(a,b);var c=[],d=function(a){(a=ac(a))&&(c=c.concat(a))};if(h.isArray(a))for(var e=0,f=a.length;ea?new s(b[a],this[a]):null},filter:function(a){var b=[];if(w.filter)b=w.filter.call(this,a,this);else for(var c=0,d=this.length;c").addClass(b),h("td",c).addClass(b).html(a)[0].colSpan=aa(d),e.push(c[0]))};f(a,b);c._details&&c._details.detach();c._details=h(e);c._detailsShow&& +c._details.insertAfter(c.nTr)}return this});o(["row().child.show()","row().child().show()"],function(){Tb(this,!0);return this});o(["row().child.hide()","row().child().hide()"],function(){Tb(this,!1);return this});o(["row().child.remove()","row().child().remove()"],function(){bb(this);return this});o("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var bc=/^([^:]+):(name|visIdx|visible)$/,Ub=function(a,b,c,d,e){for(var c= +[],d=0,f=e.length;d=0?b:g.length+b];if(typeof a==="function"){var e=Ba(c,f);return h.map(g,function(b,f){return a(f,Ub(c,f,0,0,e),i[f])?f:null})}var k=typeof a==="string"?a.match(bc):"";if(k)switch(k[2]){case "visIdx":case "visible":b= +parseInt(k[1],10);if(b<0){var m=h.map(g,function(a,b){return a.bVisible?b:null});return[m[m.length+b]]}return[Z(c,b)];case "name":return h.map(j,function(a,b){return a===k[1]?b:null});default:return[]}if(a.nodeName&&a._DT_CellIndex)return[a._DT_CellIndex.column];b=h(i).filter(a).map(function(){return h.inArray(this,i)}).toArray();if(b.length||!a.nodeName)return b;b=h(a).closest("*[data-dt-column]");return b.length?[b.data("dt-column")]:[]},c,f)},1);c.selector.cols=a;c.selector.opts=b;return c});u("columns().header()", +"column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});u("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});u("columns().data()","column().data()",function(){return this.iterator("column-rows",Ub,1)});u("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},1)});u("columns().cache()","column().cache()", +function(a){return this.iterator("column-rows",function(b,c,d,e,f){return ia(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});u("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return ia(a.aoData,e,"anCells",b)},1)});u("columns().visible()","column().visible()",function(a,b){var c=this.iterator("column",function(b,c){if(a===k)return b.aoColumns[c].bVisible;var f=b.aoColumns,g=f[c],j=b.aoData,i,n,l;if(a!==k&&g.bVisible!==a){if(a){var m= +h.inArray(!0,D(f,"bVisible"),c+1);i=0;for(n=j.length;id;return!0};m.isDataTable=m.fnIsDataTable=function(a){var b=h(a).get(0),c=!1;if(a instanceof m.Api)return!0;h.each(m.settings,function(a,e){var f=e.nScrollHead?h("table",e.nScrollHead)[0]:null,g=e.nScrollFoot? +h("table",e.nScrollFoot)[0]:null;if(e.nTable===b||f===b||g===b)c=!0});return c};m.tables=m.fnTables=function(a){var b=!1;h.isPlainObject(a)&&(b=a.api,a=a.visible);var c=h.map(m.settings,function(b){if(!a||a&&h(b.nTable).is(":visible"))return b.nTable});return b?new s(c):c};m.camelToHungarian=I;o("$()",function(a,b){var c=this.rows(b).nodes(),c=h(c);return h([].concat(c.filter(a).toArray(),c.find(a).toArray()))});h.each(["on","one","off"],function(a,b){o(b+"()",function(){var a=Array.prototype.slice.call(arguments); +a[0]=h.map(a[0].split(/\s/),function(a){return!a.match(/\.dt\b/)?a+".dt":a}).join(" ");var d=h(this.tables().nodes());d[b].apply(d,a);return this})});o("clear()",function(){return this.iterator("table",function(a){na(a)})});o("settings()",function(){return new s(this.context,this.context)});o("init()",function(){var a=this.context;return a.length?a[0].oInit:null});o("data()",function(){return this.iterator("table",function(a){return D(a.aoData,"_aData")}).flatten()});o("destroy()",function(a){a=a|| +!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead,j=b.nTFoot,i=h(e),f=h(f),k=h(b.nTableWrapper),l=h.map(b.aoData,function(a){return a.nTr}),o;b.bDestroying=!0;r(b,"aoDestroyCallback","destroy",[b]);a||(new s(b)).columns().visible(!0);k.off(".DT").find(":not(tbody *)").off(".DT");h(E).off(".DT-"+b.sInstance);e!=g.parentNode&&(i.children("thead").detach(),i.append(g));j&&e!=j.parentNode&&(i.children("tfoot").detach(),i.append(j)); +b.aaSorting=[];b.aaSortingFixed=[];wa(b);h(l).removeClass(b.asStripeClasses.join(" "));h("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);f.children().detach();f.append(l);g=a?"remove":"detach";i[g]();k[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),i.css("width",b.sDestroyWidth).removeClass(d.sTable),(o=b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%o])}));c=h.inArray(b,m.settings);-1!==c&&m.settings.splice(c, +1)})});h.each(["column","row","cell"],function(a,b){o(b+"s().every()",function(a){var d=this.selector.opts,e=this;return this.iterator(b,function(f,g,h,i,n){a.call(e[b](g,"cell"===b?h:d,"cell"===b?d:k),g,h,i,n)})})});o("i18n()",function(a,b,c){var d=this.context[0],a=Q(a)(d.oLanguage);a===k&&(a=b);c!==k&&h.isPlainObject(a)&&(a=a[c]!==k?a[c]:a._);return a.replace("%d",c)});m.version="1.10.16";m.settings=[];m.models={};m.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};m.models.oRow= +{nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null,idx:-1};m.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null, +sWidthOrig:null};m.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g, +this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+ +"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries", +sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},m.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,rowId:"DT_RowId"}; +X(m.defaults);m.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};X(m.defaults.column);m.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null, +bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[], +aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:k,oAjaxData:k,fnServerData:null, +aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==y(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==y(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength, +b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};m.ext=x={buttons:{},classes:{},builder:"-source-",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}}, +order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:m.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:m.version};h.extend(x,{afnFiltering:x.search,aTypes:x.type.detect,ofnSearch:x.type.search,oSort:x.type.order,afnSortData:x.order,aoFeatures:x.feature,oApi:x.internal,oStdClasses:x.classes,oPagination:x.pager});h.extend(m.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd", +sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead", +sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""});var Kb=m.ext.pager;h.extend(Kb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},numbers:function(a,b){return[ha(a, +b)]},simple_numbers:function(a,b){return["previous",ha(a,b),"next"]},full_numbers:function(a,b){return["first","previous",ha(a,b),"next","last"]},first_last_numbers:function(a,b){return["first",ha(a,b),"last"]},_numbers:ha,numbers_length:7});h.extend(!0,m.ext.renderer,{pageButton:{_:function(a,b,c,d,e,f){var g=a.oClasses,j=a.oLanguage.oPaginate,i=a.oLanguage.oAria.paginate||{},n,l,m=0,o=function(b,d){var k,s,u,r,v=function(b){Sa(a,b.data.action,true)};k=0;for(s=d.length;k").appendTo(b);o(u,r)}else{n=null;l="";switch(r){case "ellipsis":b.append('');break;case "first":n=j.sFirst;l=r+(e>0?"":" "+g.sPageButtonDisabled);break;case "previous":n=j.sPrevious;l=r+(e>0?"":" "+g.sPageButtonDisabled);break;case "next":n=j.sNext;l=r+(e",{"class":g.sPageButton+ +" "+l,"aria-controls":a.sTableId,"aria-label":i[r],"data-dt-idx":m,tabindex:a.iTabIndex,id:c===0&&typeof r==="string"?a.sTableId+"_"+r:null}).html(n).appendTo(b);Va(u,{action:r},v);m++}}}},s;try{s=h(b).find(G.activeElement).data("dt-idx")}catch(u){}o(h(b).empty(),d);s!==k&&h(b).find("[data-dt-idx="+s+"]").focus()}}});h.extend(m.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;return Ya(a,c)?"num"+c:null},function(a){if(a&&!(a instanceof Date)&&!Zb.test(a))return null;var b=Date.parse(a); +return null!==b&&!isNaN(b)||L(a)?"date":null},function(a,b){var c=b.oLanguage.sDecimal;return Ya(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Pb(a,c)?"html-num"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Pb(a,c,!0)?"html-num-fmt"+c:null},function(a){return L(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);h.extend(m.ext.type.search,{html:function(a){return L(a)?a:"string"===typeof a?a.replace(Mb," ").replace(Aa,""):""},string:function(a){return L(a)? +a:"string"===typeof a?a.replace(Mb," "):a}});var za=function(a,b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Ob(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};h.extend(x.type.order,{"date-pre":function(a){return Date.parse(a)||-Infinity},"html-pre":function(a){return L(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return L(a)?"":"string"===typeof a?a.toLowerCase():!a.toString?"":a.toString()},"string-asc":function(a,b){return a< +b?-1:a>b?1:0},"string-desc":function(a,b){return ab?-1:0}});cb("");h.extend(!0,m.ext.renderer,{header:{_:function(a,b,c,d){h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(c.sSortingClass+" "+d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass)}})},jqueryui:function(a,b,c,d){h("
").addClass(d.sSortJUIWrapper).append(b.contents()).append(h("").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b); +h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass);b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass(h[e]=="asc"?d.sSortJUIAsc:h[e]=="desc"?d.sSortJUIDesc:c.sSortingClassJUI)}})}}});var Vb=function(a){return"string"===typeof a?a.replace(//g,">").replace(/"/g, +"""):a};m.render={number:function(a,b,c,d,e){return{display:function(f){if("number"!==typeof f&&"string"!==typeof f)return f;var g=0>f?"-":"",h=parseFloat(f);if(isNaN(h))return Vb(f);h=h.toFixed(c);f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):"";return g+(d||"")+h.toString().replace(/\B(?=(\d{3})+(?!\d))/g,a)+f+(e||"")}}},text:function(){return{display:Vb}}};h.extend(m.ext.internal,{_fnExternApiFunc:Lb,_fnBuildAjax:sa,_fnAjaxUpdate:kb,_fnAjaxParameters:tb,_fnAjaxUpdateDraw:ub, +_fnAjaxDataSrc:ta,_fnAddColumn:Da,_fnColumnOptions:ja,_fnAdjustColumnSizing:Y,_fnVisibleToColumnIndex:Z,_fnColumnIndexToVisible:$,_fnVisbleColumns:aa,_fnGetColumns:la,_fnColumnTypes:Fa,_fnApplyColumnDefs:hb,_fnHungarianMap:X,_fnCamelToHungarian:I,_fnLanguageCompat:Ca,_fnBrowserDetect:fb,_fnAddData:M,_fnAddTr:ma,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==k?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return h.inArray(c,a.aoData[b].anCells)},_fnGetCellData:B,_fnSetCellData:ib, +_fnSplitObjNotation:Ia,_fnGetObjectDataFn:Q,_fnSetObjectDataFn:R,_fnGetDataMaster:Ja,_fnClearTable:na,_fnDeleteIndex:oa,_fnInvalidate:ca,_fnGetRowElements:Ha,_fnCreateTr:Ga,_fnBuildHead:jb,_fnDrawHead:ea,_fnDraw:N,_fnReDraw:S,_fnAddOptionsHtml:mb,_fnDetectHeader:da,_fnGetUniqueThs:ra,_fnFeatureHtmlFilter:ob,_fnFilterComplete:fa,_fnFilterCustom:xb,_fnFilterColumn:wb,_fnFilter:vb,_fnFilterCreateSearch:Oa,_fnEscapeRegex:Pa,_fnFilterData:yb,_fnFeatureHtmlInfo:rb,_fnUpdateInfo:Bb,_fnInfoMacros:Cb,_fnInitialise:ga, +_fnInitComplete:ua,_fnLengthChange:Qa,_fnFeatureHtmlLength:nb,_fnFeatureHtmlPaginate:sb,_fnPageChange:Sa,_fnFeatureHtmlProcessing:pb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:qb,_fnScrollDraw:ka,_fnApplyToChildren:H,_fnCalculateColumnWidths:Ea,_fnThrottle:Na,_fnConvertToWidth:Db,_fnGetWidestNode:Eb,_fnGetMaxLenString:Fb,_fnStringToCss:v,_fnSortFlatten:V,_fnSort:lb,_fnSortAria:Hb,_fnSortListener:Ua,_fnSortAttachListener:La,_fnSortingClasses:wa,_fnSortData:Gb,_fnSaveState:xa,_fnLoadState:Ib,_fnSettingsFromNode:ya, +_fnLog:J,_fnMap:F,_fnBindAction:Va,_fnCallbackReg:z,_fnCallbackFire:r,_fnLengthOverflow:Ra,_fnRenderer:Ma,_fnDataSource:y,_fnRowAttributes:Ka,_fnCalculateEnd:function(){}});h.fn.dataTable=m;m.$=h;h.fn.dataTableSettings=m.settings;h.fn.dataTableExt=m.ext;h.fn.DataTable=function(a){return h(this).dataTable(a).api()};h.each(m,function(a,b){h.fn.DataTable[a]=b});return h.fn.dataTable}); diff --git a/app/assets/stylesheets/main.css.erb b/app/assets/stylesheets/main.css.erb index c820b74a3..2c1e9b6dd 100755 --- a/app/assets/stylesheets/main.css.erb +++ b/app/assets/stylesheets/main.css.erb @@ -6111,7 +6111,7 @@ header { border-top: 1px solid #d9d9d9; border-bottom: 1px solid #d9d9d9; padding: 7px 10px; } - #dt_example .dataTables_paginate .first:hover, #dt_example .dataTables_paginate .previous:hover, #dt_example .dataTables_paginate .next:hover, #dt_example .dataTables_paginate .paginate_active:hover, #dt_example .dataTables_paginate .last:hover, #dt_example .dataTables_paginate .paginate_button:hover { + #dt_example .dataTables_paginate .current, #dt_example .dataTables_paginate .first:hover, #dt_example .dataTables_paginate .previous:hover, #dt_example .dataTables_paginate .next:hover, #dt_example .dataTables_paginate .paginate_active:hover, #dt_example .dataTables_paginate .last:hover, #dt_example .dataTables_paginate .paginate_button:hover { background: #f9f9f9; cursor: pointer; } #dt_example .dataTables_paginate .last { diff --git a/app/views/admin/analytics.html.erb b/app/views/admin/analytics.html.erb index e08807689..9e9ac1fd1 100644 --- a/app/views/admin/analytics.html.erb +++ b/app/views/admin/analytics.html.erb @@ -33,7 +33,7 @@
-<%= javascript_include_tag "jquery.dataTables.js"%> +<%= javascript_include_tag "jquery.dataTables.min.js"%> \ No newline at end of file + diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb index 9e84bb11c..fd64b5c80 100644 --- a/config/initializers/assets.rb +++ b/config/initializers/assets.rb @@ -1 +1 @@ -Rails.application.config.assets.precompile += %w( validation.js jquery.dataTables.js fullcalendar.js ) +Rails.application.config.assets.precompile += %w( validation.js jquery.dataTables.min.js fullcalendar.js ) From 6258fc2b21d51e49721b09ed2707f8d9a8283747 Mon Sep 17 00:00:00 2001 From: Joseph Mastey Date: Mon, 23 Oct 2017 21:10:22 -0500 Subject: [PATCH 076/554] update fullcalendar js library, plus styles etc --- app/assets/javascripts/fullcalendar.js | 5378 ------------------- app/assets/javascripts/fullcalendar.min.js | 11 + app/assets/javascripts/moment.min.js | 1 + app/assets/stylesheets/fullcalendar.css | 579 -- app/assets/stylesheets/fullcalendar.min.css | 5 + app/views/paid_time_off/index.html.erb | 11 +- config/initializers/assets.rb | 2 +- 7 files changed, 25 insertions(+), 5962 deletions(-) delete mode 100755 app/assets/javascripts/fullcalendar.js create mode 100644 app/assets/javascripts/fullcalendar.min.js create mode 100644 app/assets/javascripts/moment.min.js delete mode 100755 app/assets/stylesheets/fullcalendar.css create mode 100644 app/assets/stylesheets/fullcalendar.min.css diff --git a/app/assets/javascripts/fullcalendar.js b/app/assets/javascripts/fullcalendar.js deleted file mode 100755 index 0d43e5866..000000000 --- a/app/assets/javascripts/fullcalendar.js +++ /dev/null @@ -1,5378 +0,0 @@ -/*! - * FullCalendar v1.6.1 - * Docs & License: http://arshaw.com/fullcalendar/ - * (c) 2013 Adam Shaw - */ - -/* - * Use fullcalendar.css for basic styling. - * For event drag & drop, requires jQuery UI draggable. - * For event resizing, requires jQuery UI resizable. - */ - -(function($, undefined) { - - -;; - -var defaults = { - - // display - defaultView: 'month', - aspectRatio: 1.35, - header: { - left: 'title', - center: '', - right: 'today prev,next' - }, - weekends: true, - weekNumbers: false, - weekNumberCalculation: 'iso', - weekNumberTitle: 'W', - - // editing - //editable: false, - //disableDragging: false, - //disableResizing: false, - - allDayDefault: true, - ignoreTimezone: true, - - // event ajax - lazyFetching: true, - startParam: 'start', - endParam: 'end', - - // time formats - titleFormat: { - month: 'MMMM yyyy', - week: "MMM d[ yyyy]{ '—'[ MMM] d yyyy}", - day: 'dddd, MMM d, yyyy' - }, - columnFormat: { - month: 'ddd', - week: 'ddd M/d', - day: 'dddd M/d' - }, - timeFormat: { // for event elements - '': 'h(:mm)t' // default - }, - - // locale - isRTL: false, - firstDay: 0, - monthNames: ['January','February','March','April','May','June','July','August','September','October','November','December'], - monthNamesShort: ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'], - dayNames: ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'], - dayNamesShort: ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'], - buttonText: { - prev: "", - next: "", - prevYear: "«", - nextYear: "»", - today: 'today', - month: 'month', - week: 'week', - day: 'day' - }, - - // jquery-ui theming - theme: false, - buttonIcons: { - prev: 'circle-triangle-w', - next: 'circle-triangle-e' - }, - - //selectable: false, - unselectAuto: true, - - dropAccept: '*' - -}; - -// right-to-left defaults -var rtlDefaults = { - header: { - left: 'next,prev today', - center: '', - right: 'title' - }, - buttonText: { - prev: "", - next: "", - prevYear: "»", - nextYear: "«" - }, - buttonIcons: { - prev: 'circle-triangle-e', - next: 'circle-triangle-w' - } -}; - - - -;; - -var fc = $.fullCalendar = { version: "1.6.1" }; -var fcViews = fc.views = {}; - - -$.fn.fullCalendar = function(options) { - - - // method calling - if (typeof options == 'string') { - var args = Array.prototype.slice.call(arguments, 1); - var res; - this.each(function() { - var calendar = $.data(this, 'fullCalendar'); - if (calendar && $.isFunction(calendar[options])) { - var r = calendar[options].apply(calendar, args); - if (res === undefined) { - res = r; - } - if (options == 'destroy') { - $.removeData(this, 'fullCalendar'); - } - } - }); - if (res !== undefined) { - return res; - } - return this; - } - - - // would like to have this logic in EventManager, but needs to happen before options are recursively extended - var eventSources = options.eventSources || []; - delete options.eventSources; - if (options.events) { - eventSources.push(options.events); - delete options.events; - } - - - options = $.extend(true, {}, - defaults, - (options.isRTL || options.isRTL===undefined && defaults.isRTL) ? rtlDefaults : {}, - options - ); - - - this.each(function(i, _element) { - var element = $(_element); - var calendar = new Calendar(element, options, eventSources); - element.data('fullCalendar', calendar); // TODO: look into memory leak implications - calendar.render(); - }); - - - return this; - -}; - - -// function for adding/overriding defaults -function setDefaults(d) { - $.extend(true, defaults, d); -} - - - -;; - - -function Calendar(element, options, eventSources) { - var t = this; - - - // exports - t.options = options; - t.render = render; - t.destroy = destroy; - t.refetchEvents = refetchEvents; - t.reportEvents = reportEvents; - t.reportEventChange = reportEventChange; - t.rerenderEvents = rerenderEvents; - t.changeView = changeView; - t.select = select; - t.unselect = unselect; - t.prev = prev; - t.next = next; - t.prevYear = prevYear; - t.nextYear = nextYear; - t.today = today; - t.gotoDate = gotoDate; - t.incrementDate = incrementDate; - t.formatDate = function(format, date) { return formatDate(format, date, options) }; - t.formatDates = function(format, date1, date2) { return formatDates(format, date1, date2, options) }; - t.getDate = getDate; - t.getView = getView; - t.option = option; - t.trigger = trigger; - - - // imports - EventManager.call(t, options, eventSources); - var isFetchNeeded = t.isFetchNeeded; - var fetchEvents = t.fetchEvents; - - - // locals - var _element = element[0]; - var header; - var headerElement; - var content; - var tm; // for making theme classes - var currentView; - var viewInstances = {}; - var elementOuterWidth; - var suggestedViewHeight; - var absoluteViewElement; - var resizeUID = 0; - var ignoreWindowResize = 0; - var date = new Date(); - var events = []; - var _dragElement; - - - - /* Main Rendering - -----------------------------------------------------------------------------*/ - - - setYMD(date, options.year, options.month, options.date); - - - function render(inc) { - if (!content) { - initialRender(); - }else{ - calcSize(); - markSizesDirty(); - markEventsDirty(); - renderView(inc); - } - } - - - function initialRender() { - tm = options.theme ? 'ui' : 'fc'; - element.addClass('fc'); - if (options.isRTL) { - element.addClass('fc-rtl'); - } - else { - element.addClass('fc-ltr'); - } - if (options.theme) { - element.addClass('ui-widget'); - } - content = $("
") - .prependTo(element); - header = new Header(t, options); - headerElement = header.render(); - if (headerElement) { - element.prepend(headerElement); - } - changeView(options.defaultView); - $(window).resize(windowResize); - // needed for IE in a 0x0 iframe, b/c when it is resized, never triggers a windowResize - if (!bodyVisible()) { - lateRender(); - } - } - - - // called when we know the calendar couldn't be rendered when it was initialized, - // but we think it's ready now - function lateRender() { - setTimeout(function() { // IE7 needs this so dimensions are calculated correctly - if (!currentView.start && bodyVisible()) { // !currentView.start makes sure this never happens more than once - renderView(); - } - },0); - } - - - function destroy() { - $(window).unbind('resize', windowResize); - header.destroy(); - content.remove(); - element.removeClass('fc fc-rtl ui-widget'); - } - - - - function elementVisible() { - return _element.offsetWidth !== 0; - } - - - function bodyVisible() { - return $('body')[0].offsetWidth !== 0; - } - - - - /* View Rendering - -----------------------------------------------------------------------------*/ - - // TODO: improve view switching (still weird transition in IE, and FF has whiteout problem) - - function changeView(newViewName) { - if (!currentView || newViewName != currentView.name) { - ignoreWindowResize++; // because setMinHeight might change the height before render (and subsequently setSize) is reached - - unselect(); - - var oldView = currentView; - var newViewElement; - - if (oldView) { - (oldView.beforeHide || noop)(); // called before changing min-height. if called after, scroll state is reset (in Opera) - setMinHeight(content, content.height()); - oldView.element.hide(); - }else{ - setMinHeight(content, 1); // needs to be 1 (not 0) for IE7, or else view dimensions miscalculated - } - content.css('overflow', 'hidden'); - - currentView = viewInstances[newViewName]; - if (currentView) { - currentView.element.show(); - }else{ - currentView = viewInstances[newViewName] = new fcViews[newViewName]( - newViewElement = absoluteViewElement = - $("
") - .appendTo(content), - t // the calendar object - ); - } - - if (oldView) { - header.deactivateButton(oldView.name); - } - header.activateButton(newViewName); - - renderView(); // after height has been set, will make absoluteViewElement's position=relative, then set to null - - content.css('overflow', ''); - if (oldView) { - setMinHeight(content, 1); - } - - if (!newViewElement) { - (currentView.afterShow || noop)(); // called after setting min-height/overflow, so in final scroll state (for Opera) - } - - ignoreWindowResize--; - } - } - - - - function renderView(inc) { - if (elementVisible()) { - ignoreWindowResize++; // because renderEvents might temporarily change the height before setSize is reached - - unselect(); - - if (suggestedViewHeight === undefined) { - calcSize(); - } - - var forceEventRender = false; - if (!currentView.start || inc || date < currentView.start || date >= currentView.end) { - // view must render an entire new date range (and refetch/render events) - currentView.render(date, inc || 0); // responsible for clearing events - setSize(true); - forceEventRender = true; - } - else if (currentView.sizeDirty) { - // view must resize (and rerender events) - currentView.clearEvents(); - setSize(); - forceEventRender = true; - } - else if (currentView.eventsDirty) { - currentView.clearEvents(); - forceEventRender = true; - } - currentView.sizeDirty = false; - currentView.eventsDirty = false; - updateEvents(forceEventRender); - - elementOuterWidth = element.outerWidth(); - - header.updateTitle(currentView.title); - var today = new Date(); - if (today >= currentView.start && today < currentView.end) { - header.disableButton('today'); - }else{ - header.enableButton('today'); - } - - ignoreWindowResize--; - currentView.trigger('viewDisplay', _element); - } - } - - - - /* Resizing - -----------------------------------------------------------------------------*/ - - - function updateSize() { - markSizesDirty(); - if (elementVisible()) { - calcSize(); - setSize(); - unselect(); - currentView.clearEvents(); - currentView.renderEvents(events); - currentView.sizeDirty = false; - } - } - - - function markSizesDirty() { - $.each(viewInstances, function(i, inst) { - inst.sizeDirty = true; - }); - } - - - function calcSize() { - if (options.contentHeight) { - suggestedViewHeight = options.contentHeight; - } - else if (options.height) { - suggestedViewHeight = options.height - (headerElement ? headerElement.height() : 0) - vsides(content); - } - else { - suggestedViewHeight = Math.round(content.width() / Math.max(options.aspectRatio, .5)); - } - } - - - function setSize(dateChanged) { // todo: dateChanged? - ignoreWindowResize++; - currentView.setHeight(suggestedViewHeight, dateChanged); - if (absoluteViewElement) { - absoluteViewElement.css('position', 'relative'); - absoluteViewElement = null; - } - currentView.setWidth(content.width(), dateChanged); - ignoreWindowResize--; - } - - - function windowResize() { - if (!ignoreWindowResize) { - if (currentView.start) { // view has already been rendered - var uid = ++resizeUID; - setTimeout(function() { // add a delay - if (uid == resizeUID && !ignoreWindowResize && elementVisible()) { - if (elementOuterWidth != (elementOuterWidth = element.outerWidth())) { - ignoreWindowResize++; // in case the windowResize callback changes the height - updateSize(); - currentView.trigger('windowResize', _element); - ignoreWindowResize--; - } - } - }, 200); - }else{ - // calendar must have been initialized in a 0x0 iframe that has just been resized - lateRender(); - } - } - } - - - - /* Event Fetching/Rendering - -----------------------------------------------------------------------------*/ - - - // fetches events if necessary, rerenders events if necessary (or if forced) - function updateEvents(forceRender) { - if (!options.lazyFetching || isFetchNeeded(currentView.visStart, currentView.visEnd)) { - refetchEvents(); - } - else if (forceRender) { - rerenderEvents(); - } - } - - - function refetchEvents() { - fetchEvents(currentView.visStart, currentView.visEnd); // will call reportEvents - } - - - // called when event data arrives - function reportEvents(_events) { - events = _events; - rerenderEvents(); - } - - - // called when a single event's data has been changed - function reportEventChange(eventID) { - rerenderEvents(eventID); - } - - - // attempts to rerenderEvents - function rerenderEvents(modifiedEventID) { - markEventsDirty(); - if (elementVisible()) { - currentView.clearEvents(); - currentView.renderEvents(events, modifiedEventID); - currentView.eventsDirty = false; - } - } - - - function markEventsDirty() { - $.each(viewInstances, function(i, inst) { - inst.eventsDirty = true; - }); - } - - - - /* Selection - -----------------------------------------------------------------------------*/ - - - function select(start, end, allDay) { - currentView.select(start, end, allDay===undefined ? true : allDay); - } - - - function unselect() { // safe to be called before renderView - if (currentView) { - currentView.unselect(); - } - } - - - - /* Date - -----------------------------------------------------------------------------*/ - - - function prev() { - renderView(-1); - } - - - function next() { - renderView(1); - } - - - function prevYear() { - addYears(date, -1); - renderView(); - } - - - function nextYear() { - addYears(date, 1); - renderView(); - } - - - function today() { - date = new Date(); - renderView(); - } - - - function gotoDate(year, month, dateOfMonth) { - if (year instanceof Date) { - date = cloneDate(year); // provided 1 argument, a Date - }else{ - setYMD(date, year, month, dateOfMonth); - } - renderView(); - } - - - function incrementDate(years, months, days) { - if (years !== undefined) { - addYears(date, years); - } - if (months !== undefined) { - addMonths(date, months); - } - if (days !== undefined) { - addDays(date, days); - } - renderView(); - } - - - function getDate() { - return cloneDate(date); - } - - - - /* Misc - -----------------------------------------------------------------------------*/ - - - function getView() { - return currentView; - } - - - function option(name, value) { - if (value === undefined) { - return options[name]; - } - if (name == 'height' || name == 'contentHeight' || name == 'aspectRatio') { - options[name] = value; - updateSize(); - } - } - - - function trigger(name, thisObj) { - if (options[name]) { - return options[name].apply( - thisObj || _element, - Array.prototype.slice.call(arguments, 2) - ); - } - } - - - - /* External Dragging - ------------------------------------------------------------------------*/ - - if (options.droppable) { - $(document) - .bind('dragstart', function(ev, ui) { - var _e = ev.target; - var e = $(_e); - if (!e.parents('.fc').length) { // not already inside a calendar - var accept = options.dropAccept; - if ($.isFunction(accept) ? accept.call(_e, e) : e.is(accept)) { - _dragElement = _e; - currentView.dragStart(_dragElement, ev, ui); - } - } - }) - .bind('dragstop', function(ev, ui) { - if (_dragElement) { - currentView.dragStop(_dragElement, ev, ui); - _dragElement = null; - } - }); - } - - -} - -;; - -function Header(calendar, options) { - var t = this; - - - // exports - t.render = render; - t.destroy = destroy; - t.updateTitle = updateTitle; - t.activateButton = activateButton; - t.deactivateButton = deactivateButton; - t.disableButton = disableButton; - t.enableButton = enableButton; - - - // locals - var element = $([]); - var tm; - - - - function render() { - tm = options.theme ? 'ui' : 'fc'; - var sections = options.header; - if (sections) { - element = $("
  
 ",{valign:"top",colSpan:aa(a),"class":a.oClasses.sRowEmpty}).html(c))[0];r(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Ja(a),g,n,i]);r(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],Ja(a),g,n,i]);d=h(a.nTBody);d.children().detach();d.append(h(b));r(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function S(a,b){var c=a.oFeatures,d=c.bFilter; +c.bSort&&lb(a);d?fa(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;N(a);a._drawHold=!1}function mb(a){var b=a.oClasses,c=h(a.nTable),c=h("
").insertBefore(c),d=a.oFeatures,e=h("
",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),g,j,i,n,l,q,k=0;k")[0]; +n=f[k+1];if("'"==n||'"'==n){l="";for(q=2;f[k+q]!=n;)l+=f[k+q],q++;"H"==l?l=b.sJUIHeader:"F"==l&&(l=b.sJUIFooter);-1!=l.indexOf(".")?(n=l.split("."),i.id=n[0].substr(1,n[0].length-1),i.className=n[1]):"#"==l.charAt(0)?i.id=l.substr(1,l.length-1):i.className=l;k+=q}e.append(i);e=h(i)}else if(">"==j)e=e.parent();else if("l"==j&&d.bPaginate&&d.bLengthChange)g=nb(a);else if("f"==j&&d.bFilter)g=ob(a);else if("r"==j&&d.bProcessing)g=pb(a);else if("t"==j)g=qb(a);else if("i"==j&&d.bInfo)g=rb(a);else if("p"== +j&&d.bPaginate)g=sb(a);else if(0!==m.ext.feature.length){i=m.ext.feature;q=0;for(n=i.length;q',j=d.sSearch,j=j.match(/_INPUT_/)?j.replace("_INPUT_",g):j+g,b=h("
",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("
").addClass(b.sLength);a.aanFeatures.l||(i[0].id=c+"_length");i.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",e[0].outerHTML));h("select",i).val(a._iDisplayLength).on("change.DT",function(){Qa(a,h(this).val());N(a)});h(a.nTable).on("length.dt.DT",function(b,c,d){a===c&&h("select",i).val(d)});return i[0]}function sb(a){var b=a.sPaginationType,c=m.ext.pager[b],d="function"===typeof c,e=function(a){N(a)}, +b=h("
").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,i=a._iDisplayLength,h=a.fnRecordsDisplay(),l=-1===i,b=l?0:Math.ceil(b/i),i=l?1:Math.ceil(h/i),h=c(b,i),k,l=0;for(k=f.p.length;lf&&(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==b?d+e",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function C(a,b){a.oFeatures.bProcessing&&h(a.aanFeatures.r).css("display", +b?"block":"none");r(a,null,"processing",[a,b])}function qb(a){var b=h(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,g=b.children("caption"),j=g.length?g[0]._captionSide:null,i=h(b[0].cloneNode(!1)),n=h(b[0].cloneNode(!1)),l=b.children("tfoot");l.length||(l=null);i=h("
",{"class":f.sScrollWrapper}).append(h("
",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?!d?null:v(d):"100%"}).append(h("
", +{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(i.removeAttr("id").css("margin-left",0).append("top"===j?g:null).append(b.children("thead"))))).append(h("
",{"class":f.sScrollBody}).css({position:"relative",overflow:"auto",width:!d?null:v(d)}).append(b));l&&i.append(h("
",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?!d?null:v(d):"100%"}).append(h("
",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left", +0).append("bottom"===j?g:null).append(b.children("tfoot")))));var b=i.children(),k=b[0],f=b[1],t=l?b[2]:null;if(d)h(f).on("scroll.DT",function(){var a=this.scrollLeft;k.scrollLeft=a;l&&(t.scrollLeft=a)});h(f).css(e&&c.bCollapse?"max-height":"height",e);a.nScrollHead=k;a.nScrollBody=f;a.nScrollFoot=t;a.aoDrawCallback.push({fn:ka,sName:"scrolling"});return i[0]}function ka(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY,b=b.iBarWidth,f=h(a.nScrollHead),g=f[0].style,j=f.children("div"),i=j[0].style,n=j.children("table"), +j=a.nScrollBody,l=h(j),q=j.style,t=h(a.nScrollFoot).children("div"),m=t.children("table"),o=h(a.nTHead),p=h(a.nTable),s=p[0],r=s.style,u=a.nTFoot?h(a.nTFoot):null,x=a.oBrowser,T=x.bScrollOversize,Xb=D(a.aoColumns,"nTh"),O,K,P,w,Ta=[],y=[],z=[],A=[],B,C=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};K=j.scrollHeight>j.clientHeight;if(a.scrollBarVis!==K&&a.scrollBarVis!==k)a.scrollBarVis=K,Y(a);else{a.scrollBarVis=K;p.children("thead, tfoot").remove(); +u&&(P=u.clone().prependTo(p),O=u.find("tr"),P=P.find("tr"));w=o.clone().prependTo(p);o=o.find("tr");K=w.find("tr");w.find("th, td").removeAttr("tabindex");c||(q.width="100%",f[0].style.width="100%");h.each(ra(a,w),function(b,c){B=Z(a,b);c.style.width=a.aoColumns[B].sWidth});u&&H(function(a){a.style.width=""},P);f=p.outerWidth();if(""===c){r.width="100%";if(T&&(p.find("tbody").height()>j.offsetHeight||"scroll"==l.css("overflow-y")))r.width=v(p.outerWidth()-b);f=p.outerWidth()}else""!==d&&(r.width= +v(d),f=p.outerWidth());H(C,K);H(function(a){z.push(a.innerHTML);Ta.push(v(h(a).css("width")))},K);H(function(a,b){if(h.inArray(a,Xb)!==-1)a.style.width=Ta[b]},o);h(K).height(0);u&&(H(C,P),H(function(a){A.push(a.innerHTML);y.push(v(h(a).css("width")))},P),H(function(a,b){a.style.width=y[b]},O),h(P).height(0));H(function(a,b){a.innerHTML='
'+z[b]+"
";a.style.width=Ta[b]},K);u&&H(function(a,b){a.innerHTML='
'+ +A[b]+"
";a.style.width=y[b]},P);if(p.outerWidth()j.offsetHeight||"scroll"==l.css("overflow-y")?f+b:f;if(T&&(j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")))r.width=v(O-b);(""===c||""!==d)&&J(a,1,"Possible column misalignment",6)}else O="100%";q.width=v(O);g.width=v(O);u&&(a.nScrollFoot.style.width=v(O));!e&&T&&(q.height=v(s.offsetHeight+b));c=p.outerWidth();n[0].style.width=v(c);i.width=v(c);d=p.height()>j.clientHeight||"scroll"==l.css("overflow-y");e="padding"+ +(x.bScrollbarLeft?"Left":"Right");i[e]=d?b+"px":"0px";u&&(m[0].style.width=v(c),t[0].style.width=v(c),t[0].style[e]=d?b+"px":"0px");p.children("colgroup").insertBefore(p.children("thead"));l.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}}function H(a,b,c){for(var d=0,e=0,f=b.length,g,j;e").appendTo(j.find("tbody")); +j.find("thead, tfoot").remove();j.append(h(a.nTHead).clone()).append(h(a.nTFoot).clone());j.find("tfoot th, tfoot td").css("width","");n=ra(a,j.find("thead")[0]);for(m=0;m").css({width:o.sWidthOrig,margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(m=0;m").css(f||e?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(j).appendTo(k);f&&g?j.width(g):f?(j.css("width","auto"),j.removeAttr("width"),j.width()").css("width",v(a)).appendTo(b||G.body),d=c[0].offsetWidth;c.remove();return d}function Eb(a,b){var c=Fb(a,b);if(0>c)return null;var d=a.aoData[c];return!d.nTr?h("
").html(B(a,c,b,"display"))[0]:d.anCells[b]}function Fb(a,b){for(var c,d=-1,e=-1,f=0,g=a.aoData.length;fd&&(d=c.length,e=f);return e}function v(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function V(a){var b,c,d=[],e=a.aoColumns,f,g,j,i;b=a.aaSortingFixed;c=h.isPlainObject(b);var n=[];f=function(a){a.length&&!h.isArray(a[0])?n.push(a):h.merge(n,a)};h.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;ae?1:0,0!==c)return"asc"===j.dir?c:-c;c=d[a];e=d[b];return ce?1:0}):i.sort(function(a,b){var c,g,j,i,k=h.length,m=f[a]._aSortData,o=f[b]._aSortData;for(j=0;jg?1:0})}a.bSorted=!0}function Hb(a){for(var b,c,d=a.aoColumns,e=V(a),a=a.oLanguage.oAria,f=0,g=d.length;f/g, +"");var i=c.nTh;i.removeAttribute("aria-sort");c.bSortable&&(0e?e+1:3));e=0;for(f=d.length;ee?e+1:3))}a.aLastSort=d}function Gb(a,b){var c=a.aoColumns[b],d=m.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,$(a,b)));for(var f,g=m.ext.type.order[c.sType+"-pre"],j=0,i=a.aoData.length;j=f.length?[0,c[1]]:c)}));b.search!== +k&&h.extend(a.oPreviousSearch,Ab(b.search));if(b.columns){d=0;for(e=b.columns.length;d=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function Ma(a,b){var c=a.renderer,d=m.ext.renderer[b];return h.isPlainObject(c)&&c[b]?d[c[b]]||d._:"string"===typeof c?d[c]||d._:d._}function y(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function ha(a,b){var c=[],c=Kb.numbers_length,d=Math.floor(c/2);b<=c?c=W(0,b):a<=d?(c=W(0, +c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-d?c=W(b-(c-2),b):(c=W(a-d+2,a+d-1),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function cb(a){h.each({num:function(b){return za(b,a)},"num-fmt":function(b){return za(b,a,Wa)},"html-num":function(b){return za(b,a,Aa)},"html-num-fmt":function(b){return za(b,a,Aa,Wa)}},function(b,c){x.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(x.type.search[b+a]=x.type.search.html)})}function Lb(a){return function(){var b= +[ya(this[m.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return m.ext.internal[a].apply(this,b)}}var m=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new s(ya(this[x.iApiIndex])):new s(this)};this.fnAddData=function(a,b){var c=this.api(!0),d=h.isArray(a)&&(h.isArray(a[0])||h.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===k||b)&&c.draw();return d.flatten().toArray()};this.fnAdjustColumnSizing= +function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===k||a?b.draw(!1):(""!==d.sX||""!==d.sY)&&ka(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();(a===k||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var d=this.api(!0),a=d.rows(a),e=a.settings()[0],h=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,h);(c===k||c)&&d.draw();return h};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(a)}; +this.fnFilter=function(a,b,c,d,e,h){e=this.api(!0);null===b||b===k?e.search(a,c,d,h):e.column(b).search(a,c,d,h);e.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==k){var d=a.nodeName?a.nodeName.toLowerCase():"";return b!==k||"td"==d||"th"==d?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==k?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase(); +return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){var c=this.api(!0).page(a);(b===k||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===k||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return ya(this[x.iApiIndex])}; +this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var h=this.api(!0);c===k||null===c?h.row(b).data(a):h.cell(b,c).data(a);(e===k||e)&&h.columns.adjust();(d===k||d)&&h.draw();return 0};this.fnVersionCheck=x.fnVersionCheck;var b=this,c=a===k,d=this.length;c&&(a={});this.oApi=this.internal=x.internal;for(var e in m.ext.internal)e&&(this[e]=Lb(e));this.each(function(){var e={},g=1").appendTo(q));p.nTHead=b[0];b=q.children("tbody");b.length===0&&(b=h("
") - .append( - $("") - .append(renderSection('left')) - .append(renderSection('center')) - .append(renderSection('right')) - ); - return element; - } - } - - - function destroy() { - element.remove(); - } - - - function renderSection(position) { - var e = $("" + - ""; - - if (showWeekNumbers) { - s += ""; - } - - for (i=0; i"; // fc- needed for setDayID - } - s += - "" + - "" + - "" + - "" + - "" + - ""; - for (i=0; i" + // fc- needed for setDayID - "
" + - "
" + - "
 
" + - "
" + - "
" + - ""; - } - s += - "
" + - "" + - "" + - "
"); - var buttonStr = options.header[position]; - if (buttonStr) { - $.each(buttonStr.split(' '), function(i) { - if (i > 0) { - e.append(""); - } - var prevButton; - $.each(this.split(','), function(j, buttonName) { - if (buttonName == 'title') { - e.append("

 

"); - if (prevButton) { - prevButton.addClass(tm + '-corner-right'); - } - prevButton = null; - }else{ - var buttonClick; - if (calendar[buttonName]) { - buttonClick = calendar[buttonName]; // calendar method - } - else if (fcViews[buttonName]) { - buttonClick = function() { - button.removeClass(tm + '-state-hover'); // forget why - calendar.changeView(buttonName); - }; - } - if (buttonClick) { - var icon = options.theme ? smartProperty(options.buttonIcons, buttonName) : null; // why are we using smartProperty here? - var text = smartProperty(options.buttonText, buttonName); // why are we using smartProperty here? - var button = $( - "" + - (icon ? - "" + - "" + - "" : - text - ) + - "" - ) - .click(function() { - if (!button.hasClass(tm + '-state-disabled')) { - buttonClick(); - } - }) - .mousedown(function() { - button - .not('.' + tm + '-state-active') - .not('.' + tm + '-state-disabled') - .addClass(tm + '-state-down'); - }) - .mouseup(function() { - button.removeClass(tm + '-state-down'); - }) - .hover( - function() { - button - .not('.' + tm + '-state-active') - .not('.' + tm + '-state-disabled') - .addClass(tm + '-state-hover'); - }, - function() { - button - .removeClass(tm + '-state-hover') - .removeClass(tm + '-state-down'); - } - ) - .appendTo(e); - disableTextSelection(button); - if (!prevButton) { - button.addClass(tm + '-corner-left'); - } - prevButton = button; - } - } - }); - if (prevButton) { - prevButton.addClass(tm + '-corner-right'); - } - }); - } - return e; - } - - - function updateTitle(html) { - element.find('h2') - .html(html); - } - - - function activateButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .addClass(tm + '-state-active'); - } - - - function deactivateButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .removeClass(tm + '-state-active'); - } - - - function disableButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .addClass(tm + '-state-disabled'); - } - - - function enableButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .removeClass(tm + '-state-disabled'); - } - - -} - -;; - -fc.sourceNormalizers = []; -fc.sourceFetchers = []; - -var ajaxDefaults = { - dataType: 'json', - cache: false -}; - -var eventGUID = 1; - - -function EventManager(options, _sources) { - var t = this; - - - // exports - t.isFetchNeeded = isFetchNeeded; - t.fetchEvents = fetchEvents; - t.addEventSource = addEventSource; - t.removeEventSource = removeEventSource; - t.updateEvent = updateEvent; - t.renderEvent = renderEvent; - t.removeEvents = removeEvents; - t.clientEvents = clientEvents; - t.normalizeEvent = normalizeEvent; - - - // imports - var trigger = t.trigger; - var getView = t.getView; - var reportEvents = t.reportEvents; - - - // locals - var stickySource = { events: [] }; - var sources = [ stickySource ]; - var rangeStart, rangeEnd; - var currentFetchID = 0; - var pendingSourceCnt = 0; - var loadingLevel = 0; - var cache = []; - - - for (var i=0; i<_sources.length; i++) { - _addEventSource(_sources[i]); - } - - - - /* Fetching - -----------------------------------------------------------------------------*/ - - - function isFetchNeeded(start, end) { - return !rangeStart || start < rangeStart || end > rangeEnd; - } - - - function fetchEvents(start, end) { - rangeStart = start; - rangeEnd = end; - cache = []; - var fetchID = ++currentFetchID; - var len = sources.length; - pendingSourceCnt = len; - for (var i=0; i)), return null instead - return null; -} - - -function parseISO8601(s, ignoreTimezone) { // ignoreTimezone defaults to false - // derived from http://delete.me.uk/2005/03/iso8601.html - // TODO: for a know glitch/feature, read tests/issue_206_parseDate_dst.html - var m = s.match(/^([0-9]{4})(-([0-9]{2})(-([0-9]{2})([T ]([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2})(:?([0-9]{2}))?))?)?)?)?$/); - if (!m) { - return null; - } - var date = new Date(m[1], 0, 1); - if (ignoreTimezone || !m[13]) { - var check = new Date(m[1], 0, 1, 9, 0); - if (m[3]) { - date.setMonth(m[3] - 1); - check.setMonth(m[3] - 1); - } - if (m[5]) { - date.setDate(m[5]); - check.setDate(m[5]); - } - fixDate(date, check); - if (m[7]) { - date.setHours(m[7]); - } - if (m[8]) { - date.setMinutes(m[8]); - } - if (m[10]) { - date.setSeconds(m[10]); - } - if (m[12]) { - date.setMilliseconds(Number("0." + m[12]) * 1000); - } - fixDate(date, check); - }else{ - date.setUTCFullYear( - m[1], - m[3] ? m[3] - 1 : 0, - m[5] || 1 - ); - date.setUTCHours( - m[7] || 0, - m[8] || 0, - m[10] || 0, - m[12] ? Number("0." + m[12]) * 1000 : 0 - ); - if (m[14]) { - var offset = Number(m[16]) * 60 + (m[18] ? Number(m[18]) : 0); - offset *= m[15] == '-' ? 1 : -1; - date = new Date(+date + (offset * 60 * 1000)); - } - } - return date; -} - - -function parseTime(s) { // returns minutes since start of day - if (typeof s == 'number') { // an hour - return s * 60; - } - if (typeof s == 'object') { // a Date object - return s.getHours() * 60 + s.getMinutes(); - } - var m = s.match(/(\d+)(?::(\d+))?\s*(\w+)?/); - if (m) { - var h = parseInt(m[1], 10); - if (m[3]) { - h %= 12; - if (m[3].toLowerCase().charAt(0) == 'p') { - h += 12; - } - } - return h * 60 + (m[2] ? parseInt(m[2], 10) : 0); - } -} - - - -/* Date Formatting ------------------------------------------------------------------------------*/ -// TODO: use same function formatDate(date, [date2], format, [options]) - - -function formatDate(date, format, options) { - return formatDates(date, null, format, options); -} - - -function formatDates(date1, date2, format, options) { - options = options || defaults; - var date = date1, - otherDate = date2, - i, len = format.length, c, - i2, formatter, - res = ''; - for (i=0; ii; i2--) { - if (formatter = dateFormatters[format.substring(i, i2)]) { - if (date) { - res += formatter(date, options); - } - i = i2 - 1; - break; - } - } - if (i2 == i) { - if (date) { - res += c; - } - } - } - } - return res; -}; - - -var dateFormatters = { - s : function(d) { return d.getSeconds() }, - ss : function(d) { return zeroPad(d.getSeconds()) }, - m : function(d) { return d.getMinutes() }, - mm : function(d) { return zeroPad(d.getMinutes()) }, - h : function(d) { return d.getHours() % 12 || 12 }, - hh : function(d) { return zeroPad(d.getHours() % 12 || 12) }, - H : function(d) { return d.getHours() }, - HH : function(d) { return zeroPad(d.getHours()) }, - d : function(d) { return d.getDate() }, - dd : function(d) { return zeroPad(d.getDate()) }, - ddd : function(d,o) { return o.dayNamesShort[d.getDay()] }, - dddd: function(d,o) { return o.dayNames[d.getDay()] }, - M : function(d) { return d.getMonth() + 1 }, - MM : function(d) { return zeroPad(d.getMonth() + 1) }, - MMM : function(d,o) { return o.monthNamesShort[d.getMonth()] }, - MMMM: function(d,o) { return o.monthNames[d.getMonth()] }, - yy : function(d) { return (d.getFullYear()+'').substring(2) }, - yyyy: function(d) { return d.getFullYear() }, - t : function(d) { return d.getHours() < 12 ? 'a' : 'p' }, - tt : function(d) { return d.getHours() < 12 ? 'am' : 'pm' }, - T : function(d) { return d.getHours() < 12 ? 'A' : 'P' }, - TT : function(d) { return d.getHours() < 12 ? 'AM' : 'PM' }, - u : function(d) { return formatDate(d, "yyyy-MM-dd'T'HH:mm:ss'Z'") }, - S : function(d) { - var date = d.getDate(); - if (date > 10 && date < 20) { - return 'th'; - } - return ['st', 'nd', 'rd'][date%10-1] || 'th'; - }, - w : function(d, o) { // local - return o.weekNumberCalculation(d); - }, - W : function(d) { // ISO - return iso8601Week(d); - } -}; -fc.dateFormatters = dateFormatters; - - -/* thanks jQuery UI (https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.datepicker.js) - * - * Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. - * @param date Date - the date to get the week for - * @return number - the number of the week within the year that contains this date - */ -function iso8601Week(date) { - var time; - var checkDate = new Date(date.getTime()); - - // Find Thursday of this week starting on Monday - checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7)); - - time = checkDate.getTime(); - checkDate.setMonth(0); // Compare with Jan 1 - checkDate.setDate(1); - return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1; -} - - -;; - -fc.applyAll = applyAll; - - -/* Event Date Math ------------------------------------------------------------------------------*/ - - -function exclEndDay(event) { - if (event.end) { - return _exclEndDay(event.end, event.allDay); - }else{ - return addDays(cloneDate(event.start), 1); - } -} - - -function _exclEndDay(end, allDay) { - end = cloneDate(end); - return allDay || end.getHours() || end.getMinutes() ? addDays(end, 1) : clearTime(end); -} - - -function segCmp(a, b) { - return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start); -} - - -function segsCollide(seg1, seg2) { - return seg1.end > seg2.start && seg1.start < seg2.end; -} - - - -/* Event Sorting ------------------------------------------------------------------------------*/ - - -// event rendering utilities -function sliceSegs(events, visEventEnds, start, end) { - var segs = [], - i, len=events.length, event, - eventStart, eventEnd, - segStart, segEnd, - isStart, isEnd; - for (i=0; i start && eventStart < end) { - if (eventStart < start) { - segStart = cloneDate(start); - isStart = false; - }else{ - segStart = eventStart; - isStart = true; - } - if (eventEnd > end) { - segEnd = cloneDate(end); - isEnd = false; - }else{ - segEnd = eventEnd; - isEnd = true; - } - segs.push({ - event: event, - start: segStart, - end: segEnd, - isStart: isStart, - isEnd: isEnd, - msLength: segEnd - segStart - }); - } - } - return segs.sort(segCmp); -} - - -// event rendering calculation utilities -function stackSegs(segs) { - var levels = [], - i, len = segs.length, seg, - j, collide, k; - for (i=0; i=0; i--) { - res = obj[parts[i].toLowerCase()]; - if (res !== undefined) { - return res; - } - } - return obj['']; -} - - -function htmlEscape(s) { - return s.replace(/&/g, '&') - .replace(//g, '>') - .replace(/'/g, ''') - .replace(/"/g, '"') - .replace(/\n/g, '
'); -} - - -function cssKey(_element) { - return _element.id + '/' + _element.className + '/' + _element.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/ig, ''); -} - - -function disableTextSelection(element) { - element - .attr('unselectable', 'on') - .css('MozUserSelect', 'none') - .bind('selectstart.ui', function() { return false; }); -} - - -/* -function enableTextSelection(element) { - element - .attr('unselectable', 'off') - .css('MozUserSelect', '') - .unbind('selectstart.ui'); -} -*/ - - -function markFirstLast(e) { - e.children() - .removeClass('fc-first fc-last') - .filter(':first-child') - .addClass('fc-first') - .end() - .filter(':last-child') - .addClass('fc-last'); -} - - -function setDayID(cell, date) { - cell.each(function(i, _cell) { - _cell.className = _cell.className.replace(/^fc-\w*/, 'fc-' + dayIDs[date.getDay()]); - // TODO: make a way that doesn't rely on order of classes - }); -} - - -function getSkinCss(event, opt) { - var source = event.source || {}; - var eventColor = event.color; - var sourceColor = source.color; - var optionColor = opt('eventColor'); - var backgroundColor = - event.backgroundColor || - eventColor || - source.backgroundColor || - sourceColor || - opt('eventBackgroundColor') || - optionColor; - var borderColor = - event.borderColor || - eventColor || - source.borderColor || - sourceColor || - opt('eventBorderColor') || - optionColor; - var textColor = - event.textColor || - source.textColor || - opt('eventTextColor'); - var statements = []; - if (backgroundColor) { - statements.push('background-color:' + backgroundColor); - } - if (borderColor) { - statements.push('border-color:' + borderColor); - } - if (textColor) { - statements.push('color:' + textColor); - } - return statements.join(';'); -} - - -function applyAll(functions, thisObj, args) { - if ($.isFunction(functions)) { - functions = [ functions ]; - } - if (functions) { - var i; - var ret; - for (i=0; i") - .appendTo(element); - } - - - - function buildTable(showNumbers) { - var html = ''; - var i, j; - var headerClass = tm + "-widget-header"; - var contentClass = tm + "-widget-content"; - var month = t.start.getMonth(); - var today = clearTime(new Date()); - var cellDate; // not to be confused with local function. TODO: better names - var cellClasses; - var cell; - - html += "" + - "" + - ""; - - if (showWeekNumbers) { - html += "" + - "" + - ""; - - for (i=0; i" + - "
" + - ""; - } - - for (j=0; j" + - "
"; - if (showNumbers) { - html += "
" + cellDate.getDate() + "
"; - } - html += "
" + - "
 
" + - "
" + - "
" + - ""; - } - - html += ""; - } - html += "
" + - "
"; - } - - for (i=0; i"; - } - - html += "
"; - - lockHeight(); // the unlock happens later, in setHeight()... - if (table) { - table.remove(); - } - table = $(html).appendTo(element); - - head = table.find('thead'); - headCells = head.find('.fc-day-header'); - body = table.find('tbody'); - bodyRows = body.find('tr'); - bodyCells = body.find('.fc-day'); - bodyFirstCells = bodyRows.find('td:first-child'); - bodyCellTopInners = bodyRows.eq(0).find('.fc-day-content > div'); - - markFirstLast(head.add(head.find('tr'))); // marks first+last tr/th's - markFirstLast(bodyRows); // marks first+last td's - bodyRows.eq(0).addClass('fc-first'); - bodyRows.filter(':last').addClass('fc-last'); - - if (showWeekNumbers) { - head.find('.fc-week-number').text(weekNumberTitle); - } - - headCells.each(function(i, _cell) { - var date = indexDate(i); - $(_cell).text(formatDate(date, colFormat)); - }); - - if (showWeekNumbers) { - body.find('.fc-week-number > div').each(function(i, _cell) { - var weekStart = _cellDate(i, 0); - $(_cell).text(formatDate(weekStart, weekNumberFormat)); - }); - } - - bodyCells.each(function(i, _cell) { - var date = indexDate(i); - trigger('dayRender', t, date, $(_cell)); - }); - - dayBind(bodyCells); - } - - - - function setHeight(height) { - viewHeight = height; - - var bodyHeight = viewHeight - head.height(); - var rowHeight; - var rowHeightLast; - var cell; - - if (opt('weekMode') == 'variable') { - rowHeight = rowHeightLast = Math.floor(bodyHeight / (rowCnt==1 ? 2 : 6)); - }else{ - rowHeight = Math.floor(bodyHeight / rowCnt); - rowHeightLast = bodyHeight - rowHeight * (rowCnt-1); - } - - bodyFirstCells.each(function(i, _cell) { - if (i < rowCnt) { - cell = $(_cell); - setMinHeight( - cell.find('> div'), - (i==rowCnt-1 ? rowHeightLast : rowHeight) - vsides(cell) - ); - } - }); - - unlockHeight(); - } - - - function setWidth(width) { - viewWidth = width; - colContentPositions.clear(); - - weekNumberWidth = 0; - if (showWeekNumbers) { - weekNumberWidth = head.find('th.fc-week-number').outerWidth(); - } - - colWidth = Math.floor((viewWidth - weekNumberWidth) / colCnt); - setOuterWidth(headCells.slice(0, -1), colWidth); - } - - - - /* Day clicking and binding - -----------------------------------------------------------*/ - - - function dayBind(days) { - days.click(dayClick) - .mousedown(daySelectionMousedown); - } - - - function dayClick(ev) { - if (!opt('selectable')) { // if selectable, SelectionManager will worry about dayClick - var date = parseISO8601($(this).data('date')); - trigger('dayClick', this, date, true, ev); - } - } - - - - /* Semi-transparent Overlay Helpers - ------------------------------------------------------*/ - - - function renderDayOverlay(overlayStart, overlayEnd, refreshCoordinateGrid) { // overlayEnd is exclusive - if (refreshCoordinateGrid) { - coordinateGrid.build(); - } - var rowStart = cloneDate(t.visStart); - var rowEnd = addDays(cloneDate(rowStart), colCnt); - for (var i=0; i" + - "
"; - } - else { - s += "  
  
"; - dayTable = $(s).appendTo(element); - dayHead = dayTable.find('thead'); - dayHeadCells = dayHead.find('th').slice(1, -1); - dayBody = dayTable.find('tbody'); - dayBodyCells = dayBody.find('td').slice(0, -1); - dayBodyCellInners = dayBodyCells.find('div.fc-day-content div'); - dayBodyFirstCell = dayBodyCells.eq(0); - dayBodyFirstCellStretcher = dayBodyFirstCell.find('> div'); - - markFirstLast(dayHead.add(dayHead.find('tr'))); - markFirstLast(dayBody.add(dayBody.find('tr'))); - - axisFirstCells = dayHead.find('th:first'); - gutterCells = dayTable.find('.fc-agenda-gutter'); - - slotLayer = - $("
") - .appendTo(element); - - if (opt('allDaySlot')) { - - daySegmentContainer = - $("
") - .appendTo(slotLayer); - - s = - "" + - "" + - "" + - "" + - "" + - "" + - "
" + opt('allDayText') + "" + - "
" + - "
 
"; - allDayTable = $(s).appendTo(slotLayer); - allDayRow = allDayTable.find('tr'); - - dayBind(allDayRow.find('td')); - - axisFirstCells = axisFirstCells.add(allDayTable.find('th:first')); - gutterCells = gutterCells.add(allDayTable.find('th.fc-agenda-gutter')); - - slotLayer.append( - "
" + - "
" + - "
" - ); - - }else{ - - daySegmentContainer = $([]); // in jQuery 1.4, we can just do $() - - } - - slotScroller = - $("
") - .appendTo(slotLayer); - - slotContent = - $("
") - .appendTo(slotScroller); - - slotSegmentContainer = - $("
") - .appendTo(slotContent); - - s = - "" + - ""; - d = zeroDate(); - maxd = addMinutes(cloneDate(d), maxMinute); - addMinutes(d, minMinute); - slotCnt = 0; - for (i=0; d < maxd; i++) { - minutes = d.getMinutes(); - s += - "" + - "" + - "" + - ""; - addMinutes(d, opt('slotMinutes')); - slotCnt++; - } - s += - "" + - "
" + - ((!slotNormal || !minutes) ? formatDate(d, opt('axisFormat')) : ' ') + - "" + - "
 
" + - "
"; - slotTable = $(s).appendTo(slotContent); - slotTableFirstInner = slotTable.find('div:first'); - - slotBind(slotTable.find('td')); - - axisFirstCells = axisFirstCells.add(slotTable.find('th:first')); - } - - - - function updateCells() { - var i; - var headCell; - var bodyCell; - var date; - var today = clearTime(new Date()); - - if (showWeekNumbers) { - var weekText = formatDate(colDate(0), weekNumberFormat); - if (rtl) { - weekText = weekText + weekNumberTitle; - } - else { - weekText = weekNumberTitle + weekText; - } - dayHead.find('.fc-week-number').text(weekText); - } - - for (i=0; i= 0) { - addMinutes(d, minMinute + slotIndex * snapMinutes); - } - return d; - } - - - function colDate(col) { // returns dates with 00:00:00 - return addDays(cloneDate(t.visStart), col*dis+dit); - } - - - function cellIsAllDay(cell) { - return opt('allDaySlot') && !cell.row; - } - - - function dayOfWeekCol(dayOfWeek) { - return ((dayOfWeek - Math.max(firstDay, nwe) + colCnt) % colCnt)*dis+dit; - } - - - - - // get the Y coordinate of the given time on the given day (both Date objects) - function timePosition(day, time) { // both date objects. day holds 00:00 of current day - day = cloneDate(day, true); - if (time < addMinutes(cloneDate(day), minMinute)) { - return 0; - } - if (time >= addMinutes(cloneDate(day), maxMinute)) { - return slotTable.height(); - } - var slotMinutes = opt('slotMinutes'), - minutes = time.getHours()*60 + time.getMinutes() - minMinute, - slotI = Math.floor(minutes / slotMinutes), - slotTop = slotTopCache[slotI]; - if (slotTop === undefined) { - slotTop = slotTopCache[slotI] = slotTable.find('tr:eq(' + slotI + ') td div')[0].offsetTop; //.position().top; // need this optimization??? - } - return Math.max(0, Math.round( - slotTop - 1 + slotHeight * ((minutes % slotMinutes) / slotMinutes) - )); - } - - - function allDayBounds() { - return { - left: axisWidth, - right: viewWidth - gutterWidth - } - } - - - function getAllDayRow(index) { - return allDayRow; - } - - - function defaultEventEnd(event) { - var start = cloneDate(event.start); - if (event.allDay) { - return start; - } - return addMinutes(start, opt('defaultEventMinutes')); - } - - - - /* Selection - ---------------------------------------------------------------------------------*/ - - - function defaultSelectionEnd(startDate, allDay) { - if (allDay) { - return cloneDate(startDate); - } - return addMinutes(cloneDate(startDate), opt('slotMinutes')); - } - - - function renderSelection(startDate, endDate, allDay) { // only for all-day - if (allDay) { - if (opt('allDaySlot')) { - renderDayOverlay(startDate, addDays(cloneDate(endDate), 1), true); - } - }else{ - renderSlotSelection(startDate, endDate); - } - } - - - function renderSlotSelection(startDate, endDate) { - var helperOption = opt('selectHelper'); - coordinateGrid.build(); - if (helperOption) { - var col = dayDiff(startDate, t.visStart) * dis + dit; - if (col >= 0 && col < colCnt) { // only works when times are on same day - var rect = coordinateGrid.rect(0, col, 0, col, slotContent); // only for horizontal coords - var top = timePosition(startDate, startDate); - var bottom = timePosition(startDate, endDate); - if (bottom > top) { // protect against selections that are entirely before or after visible range - rect.top = top; - rect.height = bottom - top; - rect.left += 2; - rect.width -= 5; - if ($.isFunction(helperOption)) { - var helperRes = helperOption(startDate, endDate); - if (helperRes) { - rect.position = 'absolute'; - rect.zIndex = 8; - selectionHelper = $(helperRes) - .css(rect) - .appendTo(slotContent); - } - }else{ - rect.isStart = true; // conside rect a "seg" now - rect.isEnd = true; // - selectionHelper = $(slotSegHtml( - { - title: '', - start: startDate, - end: endDate, - className: ['fc-select-helper'], - editable: false - }, - rect - )); - selectionHelper.css('opacity', opt('dragOpacity')); - } - if (selectionHelper) { - slotBind(selectionHelper); - slotContent.append(selectionHelper); - setOuterWidth(selectionHelper, rect.width, true); // needs to be after appended - setOuterHeight(selectionHelper, rect.height, true); - } - } - } - }else{ - renderSlotOverlay(startDate, endDate); - } - } - - - function clearSelection() { - clearOverlays(); - if (selectionHelper) { - selectionHelper.remove(); - selectionHelper = null; - } - } - - - function slotSelectionMousedown(ev) { - if (ev.which == 1 && opt('selectable')) { // ev.which==1 means left mouse button - unselect(ev); - var dates; - hoverListener.start(function(cell, origCell) { - clearSelection(); - if (cell && cell.col == origCell.col && !cellIsAllDay(cell)) { - var d1 = cellDate(origCell); - var d2 = cellDate(cell); - dates = [ - d1, - addMinutes(cloneDate(d1), snapMinutes), // calculate minutes depending on selection slot minutes - d2, - addMinutes(cloneDate(d2), snapMinutes) - ].sort(cmp); - renderSlotSelection(dates[0], dates[3]); - }else{ - dates = null; - } - }, ev); - $(document).one('mouseup', function(ev) { - hoverListener.stop(); - if (dates) { - if (+dates[0] == +dates[1]) { - reportDayClick(dates[0], false, ev); - } - reportSelection(dates[0], dates[3], false, ev); - } - }); - } - } - - - function reportDayClick(date, allDay, ev) { - trigger('dayClick', dayBodyCells[dayOfWeekCol(date.getDay())], date, allDay, ev); - } - - - - /* External Dragging - --------------------------------------------------------------------------------*/ - - - function dragStart(_dragElement, ev, ui) { - hoverListener.start(function(cell) { - clearOverlays(); - if (cell) { - if (cellIsAllDay(cell)) { - renderCellOverlay(cell.row, cell.col, cell.row, cell.col); - }else{ - var d1 = cellDate(cell); - var d2 = addMinutes(cloneDate(d1), opt('defaultEventMinutes')); - renderSlotOverlay(d1, d2); - } - } - }, ev); - } - - - function dragStop(_dragElement, ev, ui) { - var cell = hoverListener.stop(); - clearOverlays(); - if (cell) { - trigger('drop', _dragElement, cellDate(cell), cellIsAllDay(cell), ev, ui); - } - } - - -} - -;; - -function AgendaEventRenderer() { - var t = this; - - - // exports - t.renderEvents = renderEvents; - t.compileDaySegs = compileDaySegs; // for DayEventRenderer - t.clearEvents = clearEvents; - t.slotSegHtml = slotSegHtml; - t.bindDaySeg = bindDaySeg; - - - // imports - DayEventRenderer.call(t); - var opt = t.opt; - var trigger = t.trigger; - //var setOverflowHidden = t.setOverflowHidden; - var isEventDraggable = t.isEventDraggable; - var isEventResizable = t.isEventResizable; - var eventEnd = t.eventEnd; - var reportEvents = t.reportEvents; - var reportEventClear = t.reportEventClear; - var eventElementHandlers = t.eventElementHandlers; - var setHeight = t.setHeight; - var getDaySegmentContainer = t.getDaySegmentContainer; - var getSlotSegmentContainer = t.getSlotSegmentContainer; - var getHoverListener = t.getHoverListener; - var getMaxMinute = t.getMaxMinute; - var getMinMinute = t.getMinMinute; - var timePosition = t.timePosition; - var colContentLeft = t.colContentLeft; - var colContentRight = t.colContentRight; - var renderDaySegs = t.renderDaySegs; - var resizableDayEvent = t.resizableDayEvent; // TODO: streamline binding architecture - var getColCnt = t.getColCnt; - var getColWidth = t.getColWidth; - var getSnapHeight = t.getSnapHeight; - var getSnapMinutes = t.getSnapMinutes; - var getBodyContent = t.getBodyContent; - var reportEventElement = t.reportEventElement; - var showEvents = t.showEvents; - var hideEvents = t.hideEvents; - var eventDrop = t.eventDrop; - var eventResize = t.eventResize; - var renderDayOverlay = t.renderDayOverlay; - var clearOverlays = t.clearOverlays; - var calendar = t.calendar; - var formatDate = calendar.formatDate; - var formatDates = calendar.formatDates; - - - - /* Rendering - ----------------------------------------------------------------------------*/ - - - function renderEvents(events, modifiedEventId) { - reportEvents(events); - var i, len=events.length, - dayEvents=[], - slotEvents=[]; - for (i=0; i" + - "
" + - "
" + - htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) + - "
" + - "
" + - htmlEscape(event.title) + - "
" + - "
" + - "
"; - if (seg.isEnd && isEventResizable(event)) { - html += - "
=
"; - } - html += - ""; - return html; - } - - - function bindDaySeg(event, eventElement, seg) { - if (isEventDraggable(event)) { - draggableDayEvent(event, eventElement, seg.isStart); - } - if (seg.isEnd && isEventResizable(event)) { - resizableDayEvent(event, eventElement, seg); - } - eventElementHandlers(event, eventElement); - // needs to be after, because resizableDayEvent might stopImmediatePropagation on click - } - - - function bindSlotSeg(event, eventElement, seg) { - var timeElement = eventElement.find('div.fc-event-time'); - if (isEventDraggable(event)) { - draggableSlotEvent(event, eventElement, timeElement); - } - if (seg.isEnd && isEventResizable(event)) { - resizableSlotEvent(event, eventElement, timeElement); - } - eventElementHandlers(event, eventElement); - } - - - - /* Dragging - -----------------------------------------------------------------------------------*/ - - - // when event starts out FULL-DAY - - function draggableDayEvent(event, eventElement, isStart) { - var origWidth; - var revert; - var allDay=true; - var dayDelta; - var dis = opt('isRTL') ? -1 : 1; - var hoverListener = getHoverListener(); - var colWidth = getColWidth(); - var snapHeight = getSnapHeight(); - var snapMinutes = getSnapMinutes(); - var minMinute = getMinMinute(); - eventElement.draggable({ - zIndex: 9, - opacity: opt('dragOpacity', 'month'), // use whatever the month view was using - revertDuration: opt('dragRevertDuration'), - start: function(ev, ui) { - trigger('eventDragStart', eventElement, event, ev, ui); - hideEvents(event, eventElement); - origWidth = eventElement.width(); - hoverListener.start(function(cell, origCell, rowDelta, colDelta) { - clearOverlays(); - if (cell) { - //setOverflowHidden(true); - revert = false; - dayDelta = colDelta * dis; - if (!cell.row) { - // on full-days - renderDayOverlay( - addDays(cloneDate(event.start), dayDelta), - addDays(exclEndDay(event), dayDelta) - ); - resetElement(); - }else{ - // mouse is over bottom slots - if (isStart) { - if (allDay) { - // convert event to temporary slot-event - eventElement.width(colWidth - 10); // don't use entire width - setOuterHeight( - eventElement, - snapHeight * Math.round( - (event.end ? ((event.end - event.start) / MINUTE_MS) : opt('defaultEventMinutes')) / - snapMinutes - ) - ); - eventElement.draggable('option', 'grid', [colWidth, 1]); - allDay = false; - } - }else{ - revert = true; - } - } - revert = revert || (allDay && !dayDelta); - }else{ - resetElement(); - //setOverflowHidden(false); - revert = true; - } - eventElement.draggable('option', 'revert', revert); - }, ev, 'drag'); - }, - stop: function(ev, ui) { - hoverListener.stop(); - clearOverlays(); - trigger('eventDragStop', eventElement, event, ev, ui); - if (revert) { - // hasn't moved or is out of bounds (draggable has already reverted) - resetElement(); - eventElement.css('filter', ''); // clear IE opacity side-effects - showEvents(event, eventElement); - }else{ - // changed! - var minuteDelta = 0; - if (!allDay) { - minuteDelta = Math.round((eventElement.offset().top - getBodyContent().offset().top) / snapHeight) - * snapMinutes - + minMinute - - (event.start.getHours() * 60 + event.start.getMinutes()); - } - eventDrop(this, event, dayDelta, minuteDelta, allDay, ev, ui); - } - //setOverflowHidden(false); - } - }); - function resetElement() { - if (!allDay) { - eventElement - .width(origWidth) - .height('') - .draggable('option', 'grid', null); - allDay = true; - } - } - } - - - // when event starts out IN TIMESLOTS - - function draggableSlotEvent(event, eventElement, timeElement) { - var origPosition; - var allDay=false; - var dayDelta; - var minuteDelta; - var prevMinuteDelta; - var dis = opt('isRTL') ? -1 : 1; - var hoverListener = getHoverListener(); - var colCnt = getColCnt(); - var colWidth = getColWidth(); - var snapHeight = getSnapHeight(); - var snapMinutes = getSnapMinutes(); - eventElement.draggable({ - zIndex: 9, - scroll: false, - grid: [colWidth, snapHeight], - axis: colCnt==1 ? 'y' : false, - opacity: opt('dragOpacity'), - revertDuration: opt('dragRevertDuration'), - start: function(ev, ui) { - trigger('eventDragStart', eventElement, event, ev, ui); - hideEvents(event, eventElement); - origPosition = eventElement.position(); - minuteDelta = prevMinuteDelta = 0; - hoverListener.start(function(cell, origCell, rowDelta, colDelta) { - eventElement.draggable('option', 'revert', !cell); - clearOverlays(); - if (cell) { - dayDelta = colDelta * dis; - if (opt('allDaySlot') && !cell.row) { - // over full days - if (!allDay) { - // convert to temporary all-day event - allDay = true; - timeElement.hide(); - eventElement.draggable('option', 'grid', null); - } - renderDayOverlay( - addDays(cloneDate(event.start), dayDelta), - addDays(exclEndDay(event), dayDelta) - ); - }else{ - // on slots - resetElement(); - } - } - }, ev, 'drag'); - }, - drag: function(ev, ui) { - minuteDelta = Math.round((ui.position.top - origPosition.top) / snapHeight) * snapMinutes; - if (minuteDelta != prevMinuteDelta) { - if (!allDay) { - updateTimeText(minuteDelta); - } - prevMinuteDelta = minuteDelta; - } - }, - stop: function(ev, ui) { - var cell = hoverListener.stop(); - clearOverlays(); - trigger('eventDragStop', eventElement, event, ev, ui); - if (cell && (dayDelta || minuteDelta || allDay)) { - // changed! - eventDrop(this, event, dayDelta, allDay ? 0 : minuteDelta, allDay, ev, ui); - }else{ - // either no change or out-of-bounds (draggable has already reverted) - resetElement(); - eventElement.css('filter', ''); // clear IE opacity side-effects - eventElement.css(origPosition); // sometimes fast drags make event revert to wrong position - updateTimeText(0); - showEvents(event, eventElement); - } - } - }); - function updateTimeText(minuteDelta) { - var newStart = addMinutes(cloneDate(event.start), minuteDelta); - var newEnd; - if (event.end) { - newEnd = addMinutes(cloneDate(event.end), minuteDelta); - } - timeElement.text(formatDates(newStart, newEnd, opt('timeFormat'))); - } - function resetElement() { - // convert back to original slot-event - if (allDay) { - timeElement.css('display', ''); // show() was causing display=inline - eventElement.draggable('option', 'grid', [colWidth, snapHeight]); - allDay = false; - } - } - } - - - - /* Resizing - --------------------------------------------------------------------------------------*/ - - - function resizableSlotEvent(event, eventElement, timeElement) { - var snapDelta, prevSnapDelta; - var snapHeight = getSnapHeight(); - var snapMinutes = getSnapMinutes(); - eventElement.resizable({ - handles: { - s: '.ui-resizable-handle' - }, - grid: snapHeight, - start: function(ev, ui) { - snapDelta = prevSnapDelta = 0; - hideEvents(event, eventElement); - eventElement.css('z-index', 9); - trigger('eventResizeStart', this, event, ev, ui); - }, - resize: function(ev, ui) { - // don't rely on ui.size.height, doesn't take grid into account - snapDelta = Math.round((Math.max(snapHeight, eventElement.height()) - ui.originalSize.height) / snapHeight); - if (snapDelta != prevSnapDelta) { - timeElement.text( - formatDates( - event.start, - (!snapDelta && !event.end) ? null : // no change, so don't display time range - addMinutes(eventEnd(event), snapMinutes*snapDelta), - opt('timeFormat') - ) - ); - prevSnapDelta = snapDelta; - } - }, - stop: function(ev, ui) { - trigger('eventResizeStop', this, event, ev, ui); - if (snapDelta) { - eventResize(this, event, 0, snapMinutes*snapDelta, ev, ui); - }else{ - eventElement.css('z-index', 8); - showEvents(event, eventElement); - // BUG: if event was really short, need to put title back in span - } - } - }); - } - - -} - - -function countForwardSegs(levels) { - var i, j, k, level, segForward, segBack; - for (i=levels.length-1; i>0; i--) { - level = levels[i]; - for (j=0; j"); - var elements; - var segmentContainer = getDaySegmentContainer(); - var i; - var segCnt = segs.length; - var element; - tempContainer[0].innerHTML = daySegHTML(segs); // faster than .html() - elements = tempContainer.children(); - segmentContainer.append(elements); - daySegElementResolve(segs, elements); - daySegCalcHSides(segs); - daySegSetWidths(segs); - daySegCalcHeights(segs); - daySegSetTops(segs, getRowTops(getRowDivs())); - elements = []; - for (i=0; i" + - "
"; - if (!event.allDay && seg.isStart) { - html += - "" + - htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) + - ""; - } - html += - "" + htmlEscape(event.title) + "" + - "
"; - if (seg.isEnd && isEventResizable(event)) { - html += - "
" + - "   " + // makes hit area a lot better for IE6/7 - "
"; - } - html += - ""; - seg.left = left; - seg.outerWidth = right - left; - seg.startCol = leftCol; - seg.endCol = rightCol + 1; // needs to be exclusive - } - return html; - } - - - function daySegElementResolve(segs, elements) { // sets seg.element - var i; - var segCnt = segs.length; - var seg; - var event; - var element; - var triggerRes; - for (i=0; i div'); // optimal selector? - } - return rowDivs; - } - - - function getRowTops(rowDivs) { - var i; - var rowCnt = rowDivs.length; - var tops = []; - for (i=0; i selection for IE - element - .mousedown(function(ev) { // prevent native selection for others - ev.preventDefault(); - }) - .click(function(ev) { - if (isResizing) { - ev.preventDefault(); // prevent link from being visited (only method that worked in IE6) - ev.stopImmediatePropagation(); // prevent fullcalendar eventClick handler from being called - // (eventElementHandlers needs to be bound after resizableDayEvent) - } - }); - - handle.mousedown(function(ev) { - if (ev.which != 1) { - return; // needs to be left mouse button - } - isResizing = true; - var hoverListener = t.getHoverListener(); - var rowCnt = getRowCnt(); - var colCnt = getColCnt(); - var dis = rtl ? -1 : 1; - var dit = rtl ? colCnt-1 : 0; - var elementTop = element.css('top'); - var dayDelta; - var helpers; - var eventCopy = $.extend({}, event); - var minCell = dateCell(event.start); - clearSelection(); - $('body') - .css('cursor', direction + '-resize') - .one('mouseup', mouseup); - trigger('eventResizeStart', this, event, ev); - hoverListener.start(function(cell, origCell) { - if (cell) { - var r = Math.max(minCell.row, cell.row); - var c = cell.col; - if (rowCnt == 1) { - r = 0; // hack for all-day area in agenda views - } - if (r == minCell.row) { - if (rtl) { - c = Math.min(minCell.col, c); - }else{ - c = Math.max(minCell.col, c); - } - } - dayDelta = (r*7 + c*dis+dit) - (origCell.row*7 + origCell.col*dis+dit); - var newEnd = addDays(eventEnd(event), dayDelta, true); - if (dayDelta) { - eventCopy.end = newEnd; - var oldHelpers = helpers; - helpers = renderTempDaySegs(compileDaySegs([eventCopy]), seg.row, elementTop); - helpers.find('*').css('cursor', direction + '-resize'); - if (oldHelpers) { - oldHelpers.remove(); - } - hideEvents(event); - }else{ - if (helpers) { - showEvents(event); - helpers.remove(); - helpers = null; - } - } - clearOverlays(); - renderDayOverlay(event.start, addDays(cloneDate(newEnd), 1)); // coordinate grid already rebuild at hoverListener.start - } - }, ev); - - function mouseup(ev) { - trigger('eventResizeStop', this, event, ev); - $('body').css('cursor', ''); - hoverListener.stop(); - clearOverlays(); - if (dayDelta) { - eventResize(this, event, dayDelta, 0, ev); - // event redraw will clear helpers - } - // otherwise, the drag handler already restored the old events - - setTimeout(function() { // make this happen after the element's click event - isResizing = false; - },0); - } - - }); - } - - -} - -;; - -//BUG: unselect needs to be triggered when events are dragged+dropped - -function SelectionManager() { - var t = this; - - - // exports - t.select = select; - t.unselect = unselect; - t.reportSelection = reportSelection; - t.daySelectionMousedown = daySelectionMousedown; - - - // imports - var opt = t.opt; - var trigger = t.trigger; - var defaultSelectionEnd = t.defaultSelectionEnd; - var renderSelection = t.renderSelection; - var clearSelection = t.clearSelection; - - - // locals - var selected = false; - - - - // unselectAuto - if (opt('selectable') && opt('unselectAuto')) { - $(document).mousedown(function(ev) { - var ignore = opt('unselectCancel'); - if (ignore) { - if ($(ev.target).parents(ignore).length) { // could be optimized to stop after first match - return; - } - } - unselect(ev); - }); - } - - - function select(startDate, endDate, allDay) { - unselect(); - if (!endDate) { - endDate = defaultSelectionEnd(startDate, allDay); - } - renderSelection(startDate, endDate, allDay); - reportSelection(startDate, endDate, allDay); - } - - - function unselect(ev) { - if (selected) { - selected = false; - clearSelection(); - trigger('unselect', null, ev); - } - } - - - function reportSelection(startDate, endDate, allDay, ev) { - selected = true; - trigger('select', null, startDate, endDate, allDay, ev); - } - - - function daySelectionMousedown(ev) { // not really a generic manager method, oh well - var cellDate = t.cellDate; - var cellIsAllDay = t.cellIsAllDay; - var hoverListener = t.getHoverListener(); - var reportDayClick = t.reportDayClick; // this is hacky and sort of weird - if (ev.which == 1 && opt('selectable')) { // which==1 means left mouse button - unselect(ev); - var _mousedownElement = this; - var dates; - hoverListener.start(function(cell, origCell) { // TODO: maybe put cellDate/cellIsAllDay info in cell - clearSelection(); - if (cell && cellIsAllDay(cell)) { - dates = [ cellDate(origCell), cellDate(cell) ].sort(cmp); - renderSelection(dates[0], dates[1], true); - }else{ - dates = null; - } - }, ev); - $(document).one('mouseup', function(ev) { - hoverListener.stop(); - if (dates) { - if (+dates[0] == +dates[1]) { - reportDayClick(dates[0], true, ev); - } - reportSelection(dates[0], dates[1], true, ev); - } - }); - } - } - - -} - -;; - -function OverlayManager() { - var t = this; - - - // exports - t.renderOverlay = renderOverlay; - t.clearOverlays = clearOverlays; - - - // locals - var usedOverlays = []; - var unusedOverlays = []; - - - function renderOverlay(rect, parent) { - var e = unusedOverlays.shift(); - if (!e) { - e = $("
"); - } - if (e[0].parentNode != parent[0]) { - e.appendTo(parent); - } - usedOverlays.push(e.css(rect).show()); - return e; - } - - - function clearOverlays() { - var e; - while (e = usedOverlays.shift()) { - unusedOverlays.push(e.hide().unbind()); - } - } - - -} - -;; - -function CoordinateGrid(buildFunc) { - - var t = this; - var rows; - var cols; - - - t.build = function() { - rows = []; - cols = []; - buildFunc(rows, cols); - }; - - - t.cell = function(x, y) { - var rowCnt = rows.length; - var colCnt = cols.length; - var i, r=-1, c=-1; - for (i=0; i= rows[i][0] && y < rows[i][1]) { - r = i; - break; - } - } - for (i=0; i= cols[i][0] && x < cols[i][1]) { - c = i; - break; - } - } - return (r>=0 && c>=0) ? { row:r, col:c } : null; - }; - - - t.rect = function(row0, col0, row1, col1, originElement) { // row1,col1 is inclusive - var origin = originElement.offset(); - return { - top: rows[row0][0] - origin.top, - left: cols[col0][0] - origin.left, - width: cols[col1][1] - cols[col0][0], - height: rows[row1][1] - rows[row0][0] - }; - }; - -} - -;; - -function HoverListener(coordinateGrid) { - - - var t = this; - var bindType; - var change; - var firstCell; - var cell; - - - t.start = function(_change, ev, _bindType) { - change = _change; - firstCell = cell = null; - coordinateGrid.build(); - mouse(ev); - bindType = _bindType || 'mousemove'; - $(document).bind(bindType, mouse); - }; - - - function mouse(ev) { - _fixUIEvent(ev); // see below - var newCell = coordinateGrid.cell(ev.pageX, ev.pageY); - if (!newCell != !cell || newCell && (newCell.row != cell.row || newCell.col != cell.col)) { - if (newCell) { - if (!firstCell) { - firstCell = newCell; - } - change(newCell, firstCell, newCell.row-firstCell.row, newCell.col-firstCell.col); - }else{ - change(newCell, firstCell); - } - cell = newCell; - } - } - - - t.stop = function() { - $(document).unbind(bindType, mouse); - return cell; - }; - - -} - - - -// this fix was only necessary for jQuery UI 1.8.16 (and jQuery 1.7 or 1.7.1) -// upgrading to jQuery UI 1.8.17 (and using either jQuery 1.7 or 1.7.1) fixed the problem -// but keep this in here for 1.8.16 users -// and maybe remove it down the line - -function _fixUIEvent(event) { // for issue 1168 - if (event.pageX === undefined) { - event.pageX = event.originalEvent.pageX; - event.pageY = event.originalEvent.pageY; - } -} -;; - -function HorizontalPositionCache(getElement) { - - var t = this, - elements = {}, - lefts = {}, - rights = {}; - - function e(i) { - return elements[i] = elements[i] || getElement(i); - } - - t.left = function(i) { - return lefts[i] = lefts[i] === undefined ? e(i).position().left : lefts[i]; - }; - - t.right = function(i) { - return rights[i] = rights[i] === undefined ? t.left(i) + e(i).width() : rights[i]; - }; - - t.clear = function() { - elements = {}; - lefts = {}; - rights = {}; - }; - -} - -;; - -})(jQuery); \ No newline at end of file diff --git a/app/assets/javascripts/fullcalendar.min.js b/app/assets/javascripts/fullcalendar.min.js new file mode 100644 index 000000000..f43a7f3f8 --- /dev/null +++ b/app/assets/javascripts/fullcalendar.min.js @@ -0,0 +1,11 @@ +/*! + * FullCalendar v3.6.1 + * Docs & License: https://fullcalendar.io/ + * (c) 2017 Adam Shaw + */ +!function(t){"function"==typeof define&&define.amd?define(["jquery","moment"],t):"object"==typeof exports?module.exports=t(require("jquery"),require("moment")):t(jQuery,moment)}(function(t,e){function n(t){return j(t,qt)}function i(t,e){e.left&&t.css({"border-left-width":1,"margin-left":e.left-1}),e.right&&t.css({"border-right-width":1,"margin-right":e.right-1})}function r(t){t.css({"margin-left":"","margin-right":"","border-left-width":"","border-right-width":""})}function s(){t("body").addClass("fc-not-allowed")}function o(){t("body").removeClass("fc-not-allowed")}function a(e,n,i){var r=Math.floor(n/e.length),s=Math.floor(n-r*(e.length-1)),o=[],a=[],u=[],c=0;l(e),e.each(function(n,i){var l=n===e.length-1?s:r,h=t(i).outerHeight(!0);h *").each(function(e,i){var r=t(i).outerWidth();r>n&&(n=r)}),n++,e.width(n),n}function c(t,e){var n,i=t.add(e);return i.css({position:"relative",left:-1}),n=t.outerHeight()-e.outerHeight(),i.css({position:"",left:""}),n}function h(e){var n=e.css("position"),i=e.parents().filter(function(){var e=t(this);return/(auto|scroll)/.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==n&&i.length?i:t(e[0].ownerDocument||document)}function d(t,e){var n=t.offset(),i=n.left-(e?e.left:0),r=n.top-(e?e.top:0);return{left:i,right:i+t.outerWidth(),top:r,bottom:r+t.outerHeight()}}function f(t,e){var n=t.offset(),i=p(t),r=n.left+w(t,"border-left-width")+i.left-(e?e.left:0),s=n.top+w(t,"border-top-width")+i.top-(e?e.top:0);return{left:r,right:r+t[0].clientWidth,top:s,bottom:s+t[0].clientHeight}}function g(t,e){var n=t.offset(),i=n.left+w(t,"border-left-width")+w(t,"padding-left")-(e?e.left:0),r=n.top+w(t,"border-top-width")+w(t,"padding-top")-(e?e.top:0);return{left:i,right:i+t.width(),top:r,bottom:r+t.height()}}function p(t){var e,n=t[0].offsetWidth-t[0].clientWidth,i=t[0].offsetHeight-t[0].clientHeight;return n=v(n),i=v(i),e={left:0,right:0,top:0,bottom:i},m()&&"rtl"==t.css("direction")?e.left=n:e.right=n,e}function v(t){return t=Math.max(0,t),t=Math.round(t)}function m(){return null===Yt&&(Yt=y()),Yt}function y(){var e=t("
").css({position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}).appendTo("body"),n=e.children(),i=n.offset().left>e.offset().left;return e.remove(),i}function w(t,e){return parseFloat(t.css(e))||0}function D(t){return 1==t.which&&!t.ctrlKey}function b(t){var e=t.originalEvent.touches;return e&&e.length?e[0].pageX:t.pageX}function E(t){var e=t.originalEvent.touches;return e&&e.length?e[0].pageY:t.pageY}function S(t){return/^touch/.test(t.type)}function C(t){t.addClass("fc-unselectable").on("selectstart",T)}function R(t){t.removeClass("fc-unselectable").off("selectstart",T)}function T(t){t.preventDefault()}function I(t,e){var n={left:Math.max(t.left,e.left),right:Math.min(t.right,e.right),top:Math.max(t.top,e.top),bottom:Math.min(t.bottom,e.bottom)};return n.left=1&&at(r)));n++);return i}function N(t,e){var n=O(t);return"week"===n&&"object"==typeof e&&e.days&&(n="day"),n}function V(t,n,i){return null!=i?i.diff(n,t,!0):e.isDuration(n)?n.as(t):n.end.diff(n.start,t,!0)}function G(t,e,n){var i;return _(n)?(e-t)/n:(i=n.asMonths(),Math.abs(i)>=1&&at(i)?e.diff(t,"months",!0)/i:e.diff(t,"days",!0)/n.asDays())}function U(t,e){var n,i;return _(t)||_(e)?t/e:(n=t.asMonths(),i=e.asMonths(),Math.abs(n)>=1&&at(n)&&Math.abs(i)>=1&&at(i)?n/i:t.asDays()/e.asDays())}function W(t,n){var i;return _(t)?e.duration(t*n):(i=t.asMonths(),Math.abs(i)>=1&&at(i)?e.duration({months:i*n}):e.duration({days:t.asDays()*n}))}function _(t){return Boolean(t.hours()||t.minutes()||t.seconds()||t.milliseconds())}function q(t){return"[object Date]"===Object.prototype.toString.call(t)||t instanceof Date}function Y(t){return"string"==typeof t&&/^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(t)}function j(t,e){var n,i,r,s,o,a,l={};if(e)for(n=0;n=0;s--)if("object"==typeof(o=t[s][i]))r.unshift(o);else if(void 0!==o){l[i]=o;break}r.length&&(l[i]=j(r))}for(n=t.length-1;n>=0;n--){a=t[n];for(i in a)i in l||(l[i]=a[i])}return l}function Z(t,e){for(var n in t)Q(t,n)&&(e[n]=t[n])}function Q(t,e){return Qt.call(t,e)}function $(e,n,i){if(t.isFunction(e)&&(e=[e]),e){var r,s;for(r=0;r/g,">").replace(/'/g,"'").replace(/"/g,""").replace(/\n/g,"
")}function nt(t){return t.replace(/&.*?;/g,"")}function it(e){var n=[];return t.each(e,function(t,e){null!=e&&n.push(t+":"+e)}),n.join(";")}function rt(e){var n=[];return t.each(e,function(t,e){null!=e&&n.push(t+'="'+et(e)+'"')}),n.join(" ")}function st(t){return t.charAt(0).toUpperCase()+t.slice(1)}function ot(t,e){return t-e}function at(t){return t%1==0}function lt(t,e){var n=t[e];return function(){return n.apply(t,arguments)}}function ut(t,e,n){var i,r,s,o,a,l=function(){var u=+new Date-o;u"),g.append(o("left")).append(o("right")).append(o("center")).append('
')):s()}function s(){g&&(g.remove(),g=f.el=null)}function o(i){var r=e.theme,s=t('
'),o=n.layout[i],a=e.opt("customButtons")||{},l=e.overrides.buttonText||{},u=e.opt("buttonText")||{};return o&&t.each(o.split(" "),function(n){var i,o=t(),c=!0;t.each(this.split(","),function(n,i){var s,h,d,f,g,v,m,y;"title"==i?(o=o.add(t("

 

")),c=!1):((s=a[i])?(d=function(t){s.click&&s.click.call(y[0],t)},(f=r.getCustomButtonIconClass(s))||(f=r.getIconClass(i))||(g=s.text)):(h=e.getViewSpec(i))?(p.push(i),d=function(){e.changeView(i)},(g=h.buttonTextOverride)||(f=r.getIconClass(i))||(g=h.buttonTextDefault)):e[i]&&(d=function(){e[i]()},(g=l[i])||(f=r.getIconClass(i))||(g=u[i])),d&&(m=["fc-"+i+"-button",r.getClass("button"),r.getClass("stateDefault")],g?v=et(g):f&&(v=""),y=t('").click(function(t){y.hasClass(r.getClass("stateDisabled"))||(d(t),(y.hasClass(r.getClass("stateActive"))||y.hasClass(r.getClass("stateDisabled")))&&y.removeClass(r.getClass("stateHover")))}).mousedown(function(){y.not("."+r.getClass("stateActive")).not("."+r.getClass("stateDisabled")).addClass(r.getClass("stateDown"))}).mouseup(function(){y.removeClass(r.getClass("stateDown"))}).hover(function(){y.not("."+r.getClass("stateActive")).not("."+r.getClass("stateDisabled")).addClass(r.getClass("stateHover"))},function(){y.removeClass(r.getClass("stateHover")).removeClass(r.getClass("stateDown"))}),o=o.add(y)))}),c&&o.first().addClass(r.getClass("cornerLeft")).end().last().addClass(r.getClass("cornerRight")).end(),o.length>1?(i=t("
"),c&&i.addClass(r.getClass("buttonGroup")),i.append(o),s.append(i)):s.append(o)}),s}function a(t){g&&g.find("h2").text(t)}function l(t){g&&g.find(".fc-"+t+"-button").addClass(e.theme.getClass("stateActive"))}function u(t){g&&g.find(".fc-"+t+"-button").removeClass(e.theme.getClass("stateActive"))}function c(t){g&&g.find(".fc-"+t+"-button").prop("disabled",!0).addClass(e.theme.getClass("stateDisabled"))}function h(t){g&&g.find(".fc-"+t+"-button").prop("disabled",!1).removeClass(e.theme.getClass("stateDisabled"))}function d(){return p}var f=this;f.setToolbarOptions=i,f.render=r,f.removeElement=s,f.updateTitle=a,f.activateButton=l,f.deactivateButton=u,f.disableButton=c,f.enableButton=h,f.getViewsWithButtons=d,f.el=null;var g,p=[]}function Et(t,e,n){var i;for(i=0;is&&r.push(new Ue(s,i.startMs)),i.endMs>s&&(s=i.endMs);return s=t.leftCol)return!0;return!1}function At(t,e){return t.leftCol-e.leftCol}function Lt(t){var e,n,i,r=[];for(e=0;ee.top&&t.tops&&(!l[o]||u.isSame(c,l[o]))&&(o-1!==s||"."!==f[o]);o--)v=f[o]+v;for(a=s;a<=o;a++)m+=f[a],y+=g[a];return(m||y)&&(w=r?y+i+m:m+i+y),d(p+w+v)}function r(t){return D[t]||(D[t]=s(t))}function s(t){var e=o(t);return{fakeFormatString:l(e),sameUnits:u(e)}}function o(t){for(var e,n=[],i=/\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g;e=i.exec(t);)e[1]?n.push.apply(n,a(e[1])):e[2]?n.push({maybe:o(e[2])}):e[3]?n.push({token:e[3]}):e[5]&&n.push.apply(n,a(e[5]));return n}function a(t){return". "===t?["."," "]:[t]}function l(t){var e,n,i=[];for(e=0;er.value)&&(r=i);return r?r.unit:null}Wt.formatDate=t,Wt.formatRange=n,Wt.oldMomentFormat=e,Wt.queryMostGranularFormatUnit=f;var g="\v",p="",v="",m=new RegExp(v+"([^"+v+"]*)"+v,"g"),y={t:function(t){return e(t,"a").charAt(0)},T:function(t){return e(t,"A").charAt(0)}},w={Y:{value:1,unit:"year"},M:{value:2,unit:"month"},W:{value:3,unit:"week"},w:{value:3,unit:"week"},D:{value:4,unit:"day"},d:{value:4,unit:"day"}},D={}}();var ee=Wt.formatDate,ne=Wt.formatRange,ie=Wt.oldMomentFormat;Wt.Class=dt,dt.extend=function(){var t,e={};for(t=0;t0}},se=Wt.ListenerMixin=function(){var e=0;return{listenerId:null,listenTo:function(e,n,i){if("object"==typeof n)for(var r in n)n.hasOwnProperty(r)&&this.listenTo(e,r,n[r]);else"string"==typeof n&&e.on(n+"."+this.getListenerNamespace(),t.proxy(i,this))},stopListeningTo:function(t,e){t.off((e||"")+"."+this.getListenerNamespace())},getListenerNamespace:function(){return null==this.listenerId&&(this.listenerId=e++),"_listener"+this.listenerId}}}(),oe={standardPropMap:{},applyProps:function(t){var e,n=this.standardPropMap,i={},r={};for(e in t)!0===n[e]?this[e]=t[e]:!1===n[e]?i[e]=t[e]:r[e]=t[e];return this.applyMiscProps(r),this.applyManualStandardProps(i)},applyManualStandardProps:function(t){return!0},applyMiscProps:function(t){},isStandardProp:function(t){return t in this.standardPropMap}},ae=function(t){var e=this.prototype;e.hasOwnProperty("standardPropMap")||(e.standardPropMap=Object.create(e.standardPropMap)),Z(t,e.standardPropMap)},le=function(t,e){var n,i=this.prototype.standardPropMap;for(n in i)null!=t[n]&&!0===i[n]&&(e[n]=t[n])},ue=dt.extend(re,se,{_props:null,_watchers:null,_globalWatchArgs:{},constructor:function(){this._watchers={},this._props={},this.applyGlobalWatchers(),this.constructed()},constructed:function(){},applyGlobalWatchers:function(){var t,e=this._globalWatchArgs;for(t in e)this.watch.apply(this,e[t])},has:function(t){return t in this._props},get:function(t){return void 0===t?this._props:this._props[t]},set:function(t,e){var n;"string"==typeof t?(n={},n[t]=void 0===e?null:e):n=t,this.setProps(n)},reset:function(t){var e,n=this._props,i={};for(e in n)i[e]=void 0;for(e in t)i[e]=t[e];this.setProps(i)},unset:function(t){var e,n,i={};for(e="string"==typeof t?[t]:t,n=0;n=0;e--)switch(n=i[e],n.type){case"init":r=!1;case"add":case"remove":i.splice(e,1)}return r&&i.push(t),r}});Wt.RenderQueue=de;var fe=dt.extend(se,{isHidden:!0,options:null,el:null,margin:10,constructor:function(t){this.options=t||{}},show:function(){this.isHidden&&(this.el||this.render(),this.el.show(),this.position(),this.isHidden=!1,this.trigger("show"))},hide:function(){this.isHidden||(this.el.hide(),this.isHidden=!0,this.trigger("hide"))},render:function(){var e=this,n=this.options;this.el=t('
').addClass(n.className||"").css({top:0,left:0}).append(n.content).appendTo(n.parentEl),this.el.on("click",".fc-close",function(){e.hide()}),n.autoHide&&this.listenTo(t(document),"mousedown",this.documentMousedown)},documentMousedown:function(e){this.el&&!t(e.target).closest(this.el).length&&this.hide()},removeElement:function(){this.hide(),this.el&&(this.el.remove(),this.el=null),this.stopListeningTo(t(document),"mousedown")},position:function(){var e,n,i,r,s,o=this.options,a=this.el.offsetParent().offset(),l=this.el.outerWidth(),u=this.el.outerHeight(),c=t(window),d=h(this.el);r=o.top||0,s=void 0!==o.left?o.left:void 0!==o.right?o.right-l:0,d.is(window)||d.is(document)?(d=c,e=0,n=0):(i=d.offset(),e=i.top,n=i.left),e+=c.scrollTop(),n+=c.scrollLeft(),!1!==o.viewportConstrain&&(r=Math.min(r,e+d.outerHeight()-u-this.margin),r=Math.max(r,e+this.margin),s=Math.min(s,n+d.outerWidth()-l-this.margin),s=Math.max(s,n+this.margin)),this.el.css({top:r-a.top,left:s-a.left})},trigger:function(t){this.options[t]&&this.options[t].apply(this,Array.prototype.slice.call(arguments,1))}}),ge=Wt.CoordCache=dt.extend({els:null,forcedOffsetParentEl:null,origin:null,boundingRect:null,isHorizontal:!1,isVertical:!1,lefts:null,rights:null,tops:null,bottoms:null,constructor:function(e){this.els=t(e.els),this.isHorizontal=e.isHorizontal,this.isVertical=e.isVertical,this.forcedOffsetParentEl=e.offsetParent?t(e.offsetParent):null},build:function(){var t=this.forcedOffsetParentEl;!t&&this.els.length>0&&(t=this.els.eq(0).offsetParent()),this.origin=t?t.offset():null,this.boundingRect=this.queryBoundingRect(),this.isHorizontal&&this.buildElHorizontals(),this.isVertical&&this.buildElVerticals()},clear:function(){this.origin=null,this.boundingRect=null,this.lefts=null,this.rights=null,this.tops=null,this.bottoms=null},ensureBuilt:function(){this.origin||this.build()},buildElHorizontals:function(){var e=[],n=[];this.els.each(function(i,r){var s=t(r),o=s.offset().left,a=s.outerWidth();e.push(o),n.push(o+a)}),this.lefts=e,this.rights=n},buildElVerticals:function(){var e=[],n=[];this.els.each(function(i,r){var s=t(r),o=s.offset().top,a=s.outerHeight();e.push(o),n.push(o+a)}),this.tops=e,this.bottoms=n},getHorizontalIndex:function(t){this.ensureBuilt();var e,n=this.lefts,i=this.rights,r=n.length;for(e=0;e=n[e]&&t=n[e]&&t0&&(t=h(this.els.eq(0)),!t.is(document))?f(t):null},isPointInBounds:function(t,e){return this.isLeftInBounds(t)&&this.isTopInBounds(e)},isLeftInBounds:function(t){return!this.boundingRect||t>=this.boundingRect.left&&t=this.boundingRect.top&&t=i*i&&this.handleDistanceSurpassed(t),this.isDragging&&this.handleDrag(e,n,t)},handleDrag:function(t,e,n){this.trigger("drag",t,e,n),this.updateAutoScroll(n)},endDrag:function(t){this.isDragging&&(this.isDragging=!1,this.handleDragEnd(t))},handleDragEnd:function(t){this.trigger("dragEnd",t)},startDelay:function(t){var e=this;this.delay?this.delayTimeoutId=setTimeout(function(){e.handleDelayEnd(t)},this.delay):this.handleDelayEnd(t)},handleDelayEnd:function(t){this.isDelayEnded=!0,this.isDistanceSurpassed&&this.startDrag(t)},handleDistanceSurpassed:function(t){this.isDistanceSurpassed=!0,this.isDelayEnded&&this.startDrag(t)},handleTouchMove:function(t){this.isDragging&&this.shouldCancelTouchScroll&&t.preventDefault(),this.handleMove(t)},handleMouseMove:function(t){this.handleMove(t)},handleTouchScroll:function(t){this.isDragging&&!this.scrollAlwaysKills||this.endInteraction(t,!0)},trigger:function(t){this.options[t]&&this.options[t].apply(this,Array.prototype.slice.call(arguments,1)),this["_"+t]&&this["_"+t].apply(this,Array.prototype.slice.call(arguments,1))}});pe.mixin({isAutoScroll:!1,scrollBounds:null,scrollTopVel:null,scrollLeftVel:null,scrollIntervalId:null,scrollSensitivity:30,scrollSpeed:200,scrollIntervalMs:50,initAutoScroll:function(){var t=this.scrollEl;this.isAutoScroll=this.options.scroll&&t&&!t.is(window)&&!t.is(document),this.isAutoScroll&&this.listenTo(t,"scroll",ut(this.handleDebouncedScroll,100))},destroyAutoScroll:function(){this.endAutoScroll(),this.isAutoScroll&&this.stopListeningTo(this.scrollEl,"scroll")},computeScrollBounds:function(){this.isAutoScroll&&(this.scrollBounds=d(this.scrollEl))},updateAutoScroll:function(t){var e,n,i,r,s=this.scrollSensitivity,o=this.scrollBounds,a=0,l=0;o&&(e=(s-(E(t)-o.top))/s,n=(s-(o.bottom-E(t)))/s,i=(s-(b(t)-o.left))/s,r=(s-(o.right-b(t)))/s,e>=0&&e<=1?a=e*this.scrollSpeed*-1:n>=0&&n<=1&&(a=n*this.scrollSpeed),i>=0&&i<=1?l=i*this.scrollSpeed*-1:r>=0&&r<=1&&(l=r*this.scrollSpeed)),this.setScrollVel(a,l)},setScrollVel:function(t,e){this.scrollTopVel=t,this.scrollLeftVel=e,this.constrainScrollVel(),!this.scrollTopVel&&!this.scrollLeftVel||this.scrollIntervalId||(this.scrollIntervalId=setInterval(lt(this,"scrollIntervalFunc"),this.scrollIntervalMs))},constrainScrollVel:function(){var t=this.scrollEl;this.scrollTopVel<0?t.scrollTop()<=0&&(this.scrollTopVel=0):this.scrollTopVel>0&&t.scrollTop()+t[0].clientHeight>=t[0].scrollHeight&&(this.scrollTopVel=0),this.scrollLeftVel<0?t.scrollLeft()<=0&&(this.scrollLeftVel=0):this.scrollLeftVel>0&&t.scrollLeft()+t[0].clientWidth>=t[0].scrollWidth&&(this.scrollLeftVel=0)},scrollIntervalFunc:function(){var t=this.scrollEl,e=this.scrollIntervalMs/1e3;this.scrollTopVel&&t.scrollTop(t.scrollTop()+this.scrollTopVel*e),this.scrollLeftVel&&t.scrollLeft(t.scrollLeft()+this.scrollLeftVel*e),this.constrainScrollVel(),this.scrollTopVel||this.scrollLeftVel||this.endAutoScroll()},endAutoScroll:function(){this.scrollIntervalId&&(clearInterval(this.scrollIntervalId),this.scrollIntervalId=null,this.handleScrollEnd())},handleDebouncedScroll:function(){this.scrollIntervalId||this.handleScrollEnd()},handleScrollEnd:function(){}});var ve=pe.extend({component:null,origHit:null,hit:null,coordAdjust:null,constructor:function(t,e){pe.call(this,e),this.component=t},handleInteractionStart:function(t){var e,n,i,r=this.subjectEl;this.component.hitsNeeded(),this.computeScrollBounds(),t?(n={left:b(t),top:E(t)},i=n,r&&(e=d(r),i=H(i,e)),this.origHit=this.queryHit(i.left,i.top),r&&this.options.subjectCenter&&(this.origHit&&(e=I(this.origHit,e)||e),i=M(e)),this.coordAdjust=x(i,n)):(this.origHit=null,this.coordAdjust=null),pe.prototype.handleInteractionStart.apply(this,arguments)},handleDragStart:function(t){var e;pe.prototype.handleDragStart.apply(this,arguments),(e=this.queryHit(b(t),E(t)))&&this.handleHitOver(e)},handleDrag:function(t,e,n){var i;pe.prototype.handleDrag.apply(this,arguments),i=this.queryHit(b(n),E(n)),vt(i,this.hit)||(this.hit&&this.handleHitOut(),i&&this.handleHitOver(i))},handleDragEnd:function(){this.handleHitDone(),pe.prototype.handleDragEnd.apply(this,arguments)},handleHitOver:function(t){var e=vt(t,this.origHit);this.hit=t,this.trigger("hitOver",this.hit,e,this.origHit)},handleHitOut:function(){this.hit&&(this.trigger("hitOut",this.hit),this.handleHitDone(),this.hit=null)},handleHitDone:function(){this.hit&&this.trigger("hitDone",this.hit)},handleInteractionEnd:function(){pe.prototype.handleInteractionEnd.apply(this,arguments),this.origHit=null,this.hit=null,this.component.hitsNotNeeded()},handleScrollEnd:function(){pe.prototype.handleScrollEnd.apply(this,arguments),this.isDragging&&(this.component.releaseHits(),this.component.prepareHits())},queryHit:function(t,e){return this.coordAdjust&&(t+=this.coordAdjust.left,e+=this.coordAdjust.top),this.component.queryHit(t,e)}});Wt.touchMouseIgnoreWait=500;var me=dt.extend(se,re,{isTouching:!1,mouseIgnoreDepth:0,handleScrollProxy:null,bind:function(){var e=this;this.listenTo(t(document),{touchstart:this.handleTouchStart,touchcancel:this.handleTouchCancel,touchend:this.handleTouchEnd,mousedown:this.handleMouseDown,mousemove:this.handleMouseMove,mouseup:this.handleMouseUp,click:this.handleClick,selectstart:this.handleSelectStart,contextmenu:this.handleContextMenu}),window.addEventListener("touchmove",this.handleTouchMoveProxy=function(n){e.handleTouchMove(t.Event(n))},{passive:!1}),window.addEventListener("scroll",this.handleScrollProxy=function(n){e.handleScroll(t.Event(n))},!0)},unbind:function(){this.stopListeningTo(t(document)),window.removeEventListener("touchmove",this.handleTouchMoveProxy),window.removeEventListener("scroll",this.handleScrollProxy,!0)},handleTouchStart:function(t){this.stopTouch(t,!0),this.isTouching=!0,this.trigger("touchstart",t)},handleTouchMove:function(t){this.isTouching&&this.trigger("touchmove",t)},handleTouchCancel:function(t){this.isTouching&&(this.trigger("touchcancel",t),this.stopTouch(t))},handleTouchEnd:function(t){this.stopTouch(t)},handleMouseDown:function(t){this.shouldIgnoreMouse()||this.trigger("mousedown",t)},handleMouseMove:function(t){this.shouldIgnoreMouse()||this.trigger("mousemove",t)},handleMouseUp:function(t){this.shouldIgnoreMouse()||this.trigger("mouseup",t)},handleClick:function(t){this.shouldIgnoreMouse()||this.trigger("click",t)},handleSelectStart:function(t){this.trigger("selectstart",t)},handleContextMenu:function(t){this.trigger("contextmenu",t)},handleScroll:function(t){this.trigger("scroll",t)},stopTouch:function(t,e){this.isTouching&&(this.isTouching=!1,this.trigger("touchend",t),e||this.startTouchMouseIgnore())},startTouchMouseIgnore:function(){var t=this,e=Wt.touchMouseIgnoreWait;e&&(this.mouseIgnoreDepth++,setTimeout(function(){t.mouseIgnoreDepth--},e))},shouldIgnoreMouse:function(){return this.isTouching||Boolean(this.mouseIgnoreDepth)}});!function(){var t=null,e=0;me.get=function(){return t||(t=new me,t.bind()),t},me.needed=function(){me.get(),e++},me.unneeded=function(){--e||(t.unbind(),t=null)}}();var ye=dt.extend(se,{options:null,sourceEl:null,el:null,parentEl:null,top0:null,left0:null,y0:null,x0:null,topDelta:null,leftDelta:null,isFollowing:!1,isHidden:!1,isAnimating:!1,constructor:function(e,n){this.options=n=n||{},this.sourceEl=e,this.parentEl=n.parentEl?t(n.parentEl):e.parent()},start:function(e){this.isFollowing||(this.isFollowing=!0,this.y0=E(e),this.x0=b(e),this.topDelta=0,this.leftDelta=0,this.isHidden||this.updatePosition(),S(e)?this.listenTo(t(document),"touchmove",this.handleMove):this.listenTo(t(document),"mousemove",this.handleMove))},stop:function(e,n){function i(){r.isAnimating=!1,r.removeElement(),r.top0=r.left0=null,n&&n()}var r=this,s=this.options.revertDuration;this.isFollowing&&!this.isAnimating&&(this.isFollowing=!1,this.stopListeningTo(t(document)),e&&s&&!this.isHidden?(this.isAnimating=!0,this.el.animate({top:this.top0,left:this.left0},{duration:s,complete:i})):i())},getEl:function(){var t=this.el;return t||(t=this.el=this.sourceEl.clone().addClass(this.options.additionalClass||"").css({position:"absolute",visibility:"",display:this.isHidden?"none":"",margin:0,right:"auto",bottom:"auto",width:this.sourceEl.width(),height:this.sourceEl.height(),opacity:this.options.opacity||"",zIndex:this.options.zIndex}),t.addClass("fc-unselectable"),t.appendTo(this.parentEl)),t},removeElement:function(){this.el&&(this.el.remove(),this.el=null)},updatePosition:function(){var t,e;this.getEl(),null===this.top0&&(t=this.sourceEl.offset(),e=this.el.offsetParent().offset(),this.top0=t.top-e.top,this.left0=t.left-e.left),this.el.css({top:this.top0+this.topDelta,left:this.left0+this.leftDelta})},handleMove:function(t){this.topDelta=E(t)-this.y0,this.leftDelta=b(t)-this.x0,this.isHidden||this.updatePosition()},hide:function(){this.isHidden||(this.isHidden=!0,this.el&&this.el.hide())},show:function(){this.isHidden&&(this.isHidden=!1,this.updatePosition(),this.getEl().show())}}),we=Wt.Scroller=dt.extend({el:null,scrollEl:null,overflowX:null,overflowY:null,constructor:function(t){t=t||{},this.overflowX=t.overflowX||t.overflow||"auto",this.overflowY=t.overflowY||t.overflow||"auto"},render:function(){this.el=this.renderEl(),this.applyOverflow()},renderEl:function(){return this.scrollEl=t('
')},clear:function(){this.setHeight("auto"),this.applyOverflow()},destroy:function(){this.el.remove()},applyOverflow:function(){this.scrollEl.css({"overflow-x":this.overflowX,"overflow-y":this.overflowY})},lockOverflow:function(t){var e=this.overflowX,n=this.overflowY;t=t||this.getScrollbarWidths(),"auto"===e&&(e=t.top||t.bottom||this.scrollEl[0].scrollWidth-1>this.scrollEl[0].clientWidth?"scroll":"hidden"),"auto"===n&&(n=t.left||t.right||this.scrollEl[0].scrollHeight-1>this.scrollEl[0].clientHeight?"scroll":"hidden"),this.scrollEl.css({"overflow-x":e,"overflow-y":n})},setHeight:function(t){this.scrollEl.height(t)},getScrollTop:function(){return this.scrollEl.scrollTop()},setScrollTop:function(t){this.scrollEl.scrollTop(t)},getClientWidth:function(){return this.scrollEl[0].clientWidth},getClientHeight:function(){return this.scrollEl[0].clientHeight},getScrollbarWidths:function(){return p(this.scrollEl)}});yt.prototype.proxyCall=function(t){var e=Array.prototype.slice.call(arguments,1),n=[];return this.items.forEach(function(i){n.push(i[t].apply(i,e))}),n};var De=dt.extend({view:null,component:null,constructor:function(t){this.view=t._getView(),this.component=t},opt:function(t){return this.view.opt(t)},end:function(){}}),be=De.extend({dragListener:null,constructor:function(t){De.call(this,t),this.dragListener=this.buildDragListener()},end:function(){this.dragListener.endInteraction()},bindToEl:function(t){var e=this.component,n=this.dragListener;e.bindDateHandlerToEl(t,"mousedown",function(t){e.shouldIgnoreMouse()||n.startInteraction(t)}),e.bindDateHandlerToEl(t,"touchstart",function(t){e.shouldIgnoreTouch()||n.startInteraction(t)})},buildDragListener:function(){var t,e=this,n=this.component,i=new ve(n,{scroll:this.opt("dragScroll"),interactionStart:function(){t=i.origHit},hitOver:function(e,n,i){n||(t=null)},hitOut:function(){t=null},interactionEnd:function(i,r){var s;!r&&t&&(s=n.getSafeHitFootprint(t))&&e.view.triggerDayClick(s,n.getHitEl(t),i)}});return i.shouldCancelTouchScroll=!1,i.scrollAlwaysKills=!0,i}}),Ee=Wt.DateSelecting=De.extend({dragListener:null,constructor:function(t){De.call(this,t),this.dragListener=this.buildDragListener()},end:function(){this.dragListener.endInteraction()},getDelay:function(){var t=this.opt("selectLongPressDelay");return null==t&&(t=this.opt("longPressDelay")),t},bindToEl:function(t){var e=this,n=this.component,i=this.dragListener;n.bindDateHandlerToEl(t,"mousedown",function(t){e.opt("selectable")&&!n.shouldIgnoreMouse()&&i.startInteraction(t,{distance:e.opt("selectMinDistance")})}),n.bindDateHandlerToEl(t,"touchstart",function(t){e.opt("selectable")&&!n.shouldIgnoreTouch()&&i.startInteraction(t,{delay:e.getDelay()})}),C(t)},buildDragListener:function(){var t,e=this,n=this.component;return new ve(n,{scroll:this.opt("dragScroll"),interactionStart:function(){t=null},dragStart:function(t){e.view.unselect(t)},hitOver:function(i,r,o){var a,l;o&&(a=n.getSafeHitFootprint(o),l=n.getSafeHitFootprint(i),t=a&&l?e.computeSelection(a,l):null,t?n.renderSelectionFootprint(t):!1===t&&s())},hitOut:function(){t=null,n.unrenderSelection()},hitDone:function(){o()},interactionEnd:function(n,i){!i&&t&&e.view.reportSelection(t,n)}})},computeSelection:function(t,e){var n=this.computeSelectionFootprint(t,e);return!(n&&!this.isSelectionFootprintAllowed(n))&&n},computeSelectionFootprint:function(t,e){var n=[t.unzonedRange.startMs,t.unzonedRange.endMs,e.unzonedRange.startMs,e.unzonedRange.endMs];return n.sort(ot),new We(new Ue(n[0],n[3]),t.isAllDay)},isSelectionFootprintAllowed:function(t){return this.component.dateProfile.validUnzonedRange.containsRange(t.unzonedRange)&&this.view.calendar.isSelectionFootprintAllowed(t)}}),Se=Wt.EventDragging=De.extend({eventPointing:null,dragListener:null,isDragging:!1,constructor:function(t,e){De.call(this,t),this.eventPointing=e},end:function(){this.dragListener&&this.dragListener.endInteraction()},getSelectionDelay:function(){var t=this.opt("eventLongPressDelay");return null==t&&(t=this.opt("longPressDelay")),t},bindToEl:function(t){var e=this.component;e.bindSegHandlerToEl(t,"mousedown",this.handleMousedown.bind(this)),e.bindSegHandlerToEl(t,"touchstart",this.handleTouchStart.bind(this))},handleMousedown:function(t,e){this.component.canStartDrag(t,e)&&this.buildDragListener(t).startInteraction(e,{distance:5})},handleTouchStart:function(t,e){var n=this.component,i={delay:this.view.isEventDefSelected(t.footprint.eventDef)?0:this.getSelectionDelay()};n.canStartDrag(t,e)?this.buildDragListener(t).startInteraction(e,i):n.canStartSelection(t,e)&&this.buildSelectListener(t).startInteraction(e,i)},buildSelectListener:function(t){var e=this,n=this.view,i=t.footprint.eventDef,r=t.footprint.eventInstance;if(this.dragListener)return this.dragListener;var s=this.dragListener=new pe({dragStart:function(t){s.isTouch&&!n.isEventDefSelected(i)&&r&&n.selectEventInstance(r)},interactionEnd:function(t){e.dragListener=null}});return s},buildDragListener:function(t){var e,n,i,r=this,a=this.component,l=this.view,u=l.calendar,c=u.eventManager,h=t.el,d=t.footprint.eventDef,f=t.footprint.eventInstance;if(this.dragListener)return this.dragListener;var g=this.dragListener=new ve(l,{scroll:this.opt("dragScroll"),subjectEl:h,subjectCenter:!0,interactionStart:function(i){t.component=a,e=!1,n=new ye(t.el,{additionalClass:"fc-dragging",parentEl:l.el,opacity:g.isTouch?null:r.opt("dragOpacity"),revertDuration:r.opt("dragRevertDuration"),zIndex:2}),n.hide(),n.start(i)},dragStart:function(n){g.isTouch&&!l.isEventDefSelected(d)&&f&&l.selectEventInstance(f),e=!0,r.eventPointing.handleMouseout(t,n),r.segDragStart(t,n),l.hideEventsWithId(t.footprint.eventDef.id)},hitOver:function(e,o,h){var f,p,v,m=!0;t.hit&&(h=t.hit),f=h.component.getSafeHitFootprint(h),p=e.component.getSafeHitFootprint(e),f&&p?(i=r.computeEventDropMutation(f,p,d),i?(v=c.buildMutatedEventInstanceGroup(d.id,i),m=a.isEventInstanceGroupAllowed(v)):m=!1):m=!1,m||(i=null,s()),i&&l.renderDrag(a.eventRangesToEventFootprints(v.sliceRenderRanges(a.dateProfile.renderUnzonedRange,u)),t,g.isTouch)?n.hide():n.show(),o&&(i=null)},hitOut:function(){l.unrenderDrag(t),n.show(),i=null},hitDone:function(){o()},interactionEnd:function(s){delete t.component,n.stop(!i,function(){e&&(l.unrenderDrag(t),r.segDragStop(t,s)),l.showEventsWithId(t.footprint.eventDef.id),i&&l.reportEventDrop(f,i,h,s)}),r.dragListener=null}});return g},segDragStart:function(t,e){this.isDragging=!0,this.component.publiclyTrigger("eventDragStart",{context:t.el[0],args:[t.footprint.getEventLegacy(),e,{},this.view]})},segDragStop:function(t,e){this.isDragging=!1,this.component.publiclyTrigger("eventDragStop",{context:t.el[0],args:[t.footprint.getEventLegacy(),e,{},this.view]})},computeEventDropMutation:function(t,e,n){var i=new rn;return i.setDateMutation(this.computeEventDateMutation(t,e)),i},computeEventDateMutation:function(t,e){var n,i,r=t.unzonedRange.getStart(),s=e.unzonedRange.getStart(),o=!1,a=!1,l=!1;return t.isAllDay!==e.isAllDay&&(o=!0,e.isAllDay?(l=!0,r.stripTime()):a=!0),n=this.component.diffDates(s,r),i=new sn,i.clearEnd=o,i.forceTimed=a,i.forceAllDay=l,i.setDateDelta(n),i}}),Ce=Wt.EventResizing=De.extend({eventPointing:null,dragListener:null,isResizing:!1,constructor:function(t,e){De.call(this,t),this.eventPointing=e},end:function(){this.dragListener&&this.dragListener.endInteraction()},bindToEl:function(t){var e=this.component;e.bindSegHandlerToEl(t,"mousedown",this.handleMouseDown.bind(this)),e.bindSegHandlerToEl(t,"touchstart",this.handleTouchStart.bind(this))},handleMouseDown:function(e,n){this.component.canStartResize(e,n)&&this.buildDragListener(e,t(n.target).is(".fc-start-resizer")).startInteraction(n,{distance:5})},handleTouchStart:function(e,n){this.component.canStartResize(e,n)&&this.buildDragListener(e,t(n.target).is(".fc-start-resizer")).startInteraction(n)},buildDragListener:function(t,e){var n,i,r=this,a=this.component,l=this.view,u=l.calendar,c=u.eventManager,h=t.el,d=t.footprint.eventDef,f=t.footprint.eventInstance;return this.dragListener=new ve(a,{scroll:this.opt("dragScroll"),subjectEl:h,interactionStart:function(){n=!1},dragStart:function(e){n=!0,r.eventPointing.handleMouseout(t,e),r.segResizeStart(t,e)},hitOver:function(n,o,h){var f,g=!0,p=a.getSafeHitFootprint(h),v=a.getSafeHitFootprint(n);p&&v?(i=e?r.computeEventStartResizeMutation(p,v,t.footprint):r.computeEventEndResizeMutation(p,v,t.footprint),i?(f=c.buildMutatedEventInstanceGroup(d.id,i),g=a.isEventInstanceGroupAllowed(f)):g=!1):g=!1,g?i.isEmpty()&&(i=null):(i=null,s()),i&&(l.hideEventsWithId(t.footprint.eventDef.id),l.renderEventResize(a.eventRangesToEventFootprints(f.sliceRenderRanges(a.dateProfile.renderUnzonedRange,u)),t))},hitOut:function(){i=null},hitDone:function(){l.unrenderEventResize(t),l.showEventsWithId(t.footprint.eventDef.id),o()},interactionEnd:function(e){n&&r.segResizeStop(t,e),i&&l.reportEventResize(f,i,h,e),r.dragListener=null}})},segResizeStart:function(t,e){this.isResizing=!0,this.component.publiclyTrigger("eventResizeStart",{context:t.el[0],args:[t.footprint.getEventLegacy(),e,{},this.view]})},segResizeStop:function(t,e){this.isResizing=!1,this.component.publiclyTrigger("eventResizeStop",{context:t.el[0],args:[t.footprint.getEventLegacy(),e,{},this.view]})},computeEventStartResizeMutation:function(t,e,n){var i,r,s=n.componentFootprint.unzonedRange,o=this.component.diffDates(e.unzonedRange.getStart(),t.unzonedRange.getStart());return s.getStart().add(o)s.getStart()&&(i=new sn,i.setEndDelta(o),r=new rn,r.setDateMutation(i),r)}}),Re=Wt.ExternalDropping=De.extend(se,{dragListener:null,isDragging:!1,end:function(){this.dragListener&&this.dragListener.endInteraction()},bindToDocument:function(){this.listenTo(t(document),{dragstart:this.handleDragStart,sortstart:this.handleDragStart})},unbindFromDocument:function(){this.stopListeningTo(t(document))},handleDragStart:function(e,n){var i,r;this.opt("droppable")&&(i=t((n?n.item:null)||e.target),r=this.opt("dropAccept"),(t.isFunction(r)?r.call(i[0],i):i.is(r))&&(this.isDragging||this.listenToExternalDrag(i,e,n)))},listenToExternalDrag:function(t,e,n){var i,r=this,a=this.component,l=this.view,u=wt(t);(r.dragListener=new ve(a,{interactionStart:function(){r.isDragging=!0},hitOver:function(t){var e,n=!0,o=t.component.getSafeHitFootprint(t);o?(i=r.computeExternalDrop(o,u),i?(e=new Je(i.buildInstances()),n=u.eventProps?a.isEventInstanceGroupAllowed(e):a.isExternalInstanceGroupAllowed(e)):n=!1):n=!1,n||(i=null,s()),i&&a.renderDrag(a.eventRangesToEventFootprints(e.sliceRenderRanges(a.dateProfile.renderUnzonedRange,l.calendar)))},hitOut:function(){i=null},hitDone:function(){o(),a.unrenderDrag()},interactionEnd:function(e){i&&l.reportExternalDrop(i,Boolean(u.eventProps),Boolean(u.stick),t,e,n),r.isDragging=!1,r.dragListener=null}})).startDrag(e)},computeExternalDrop:function(e,n){var i,r=this.view.calendar,s=Wt.moment.utc(e.unzonedRange.startMs).stripZone();return e.isAllDay&&(n.startTime?s.time(n.startTime):s.stripTime()),n.duration&&(i=s.clone().add(n.duration)),s=r.applyTimezone(s),i&&(i=r.applyTimezone(i)),$e.parse(t.extend({},n.eventProps,{start:s,end:i}),new on(r))}});Wt.dataAttrPrefix="";var Te=Wt.EventPointing=De.extend({mousedOverSeg:null,bindToEl:function(t){var e=this.component;e.bindSegHandlerToEl(t,"click",this.handleClick.bind(this)),e.bindSegHandlerToEl(t,"mouseenter",this.handleMouseover.bind(this)),e.bindSegHandlerToEl(t,"mouseleave",this.handleMouseout.bind(this))},handleClick:function(t,e){!1===this.component.publiclyTrigger("eventClick",{context:t.el[0],args:[t.footprint.getEventLegacy(),e,this.view]})&&e.preventDefault()},handleMouseover:function(t,e){me.get().shouldIgnoreMouse()||this.mousedOverSeg||(this.mousedOverSeg=t,this.view.isEventDefResizable(t.footprint.eventDef)&&t.el.addClass("fc-allow-mouse-resize"),this.component.publiclyTrigger("eventMouseover",{context:t.el[0],args:[t.footprint.getEventLegacy(),e,this.view]}))},handleMouseout:function(t,e){this.mousedOverSeg&&(this.mousedOverSeg=null,this.view.isEventDefResizable(t.footprint.eventDef)&&t.el.removeClass("fc-allow-mouse-resize"),this.component.publiclyTrigger("eventMouseout",{context:t.el[0],args:[t.footprint.getEventLegacy(),e||{},this.view]}))},end:function(){this.mousedOverSeg&&this.handleMouseout(this.mousedOverSeg)}}),Ie=Wt.StandardInteractionsMixin={dateClickingClass:be,dateSelectingClass:Ee,eventPointingClass:Te,eventDraggingClass:Se,eventResizingClass:Ce,externalDroppingClass:Re},He=Wt.EventRenderer=dt.extend({view:null,component:null,fillRenderer:null,fgSegs:null,bgSegs:null,eventTimeFormat:null,displayEventTime:null,displayEventEnd:null,constructor:function(t,e){this.view=t._getView(),this.component=t,this.fillRenderer=e},opt:function(t){return this.view.opt(t)},rangeUpdated:function(){var t,e;this.eventTimeFormat=this.opt("eventTimeFormat")||this.opt("timeFormat")||this.computeEventTimeFormat(),t=this.opt("displayEventTime"),null==t&&(t=this.computeDisplayEventTime()),e=this.opt("displayEventEnd"),null==e&&(e=this.computeDisplayEventEnd()),this.displayEventTime=t,this.displayEventEnd=e},render:function(t){var e,n,i,r=this.component._getDateProfile(),s=[],o=[];for(e in t)n=t[e],i=n.sliceRenderRanges(r.activeUnzonedRange),n.getEventDef().hasBgRendering()?s.push.apply(s,i):o.push.apply(o,i);this.renderBgRanges(s),this.renderFgRanges(o)},unrender:function(){this.unrenderBgRanges(),this.unrenderFgRanges()},renderFgRanges:function(t){var e=this.component.eventRangesToEventFootprints(t),n=this.component.eventFootprintsToSegs(e);n=this.renderFgSegEls(n),!1!==this.renderFgSegs(n)&&(this.fgSegs=n)},unrenderFgRanges:function(){this.unrenderFgSegs(this.fgSegs||[]),this.fgSegs=null},renderBgRanges:function(t){var e=this.component.eventRangesToEventFootprints(t),n=this.component.eventFootprintsToSegs(e);!1!==this.renderBgSegs(n)&&(this.bgSegs=n)},unrenderBgRanges:function(){this.unrenderBgSegs(),this.bgSegs=null},getSegs:function(){return(this.bgSegs||[]).concat(this.fgSegs||[])},renderFgSegs:function(t){return!1},unrenderFgSegs:function(t){},renderBgSegs:function(t){var e=this;if(!this.fillRenderer)return!1;this.fillRenderer.renderSegs("bgEvent",t,{getClasses:function(t){return e.getBgClasses(t.footprint.eventDef)},getCss:function(t){return{"background-color":e.getBgColor(t.footprint.eventDef)}},filterEl:function(t,n){return e.filterEventRenderEl(t.footprint,n)}})},unrenderBgSegs:function(){this.fillRenderer&&this.fillRenderer.unrender("bgEvent")},renderFgSegEls:function(e,n){var i,r=this,s=this.view.hasPublicHandlers("eventRender"),o="",a=[];if(e.length){for(i=0;i"},attachSegEls:function(t,e){},reportEls:function(e,n){this.elsByFill[e]?this.elsByFill[e]=this.elsByFill[e].add(n):this.elsByFill[e]=t(n)}}),Pe=Wt.HelperRenderer=dt.extend({view:null,component:null,eventRenderer:null,helperEls:null,constructor:function(t,e){this.view=t._getView(),this.component=t,this.eventRenderer=e},renderComponentFootprint:function(t){this.renderEventFootprints([this.fabricateEventFootprint(t)])},renderEventDraggingFootprints:function(t,e,n){this.renderEventFootprints(t,e,"fc-dragging",n?null:this.view.opt("dragOpacity"))},renderEventResizingFootprints:function(t,e,n){this.renderEventFootprints(t,e,"fc-resizing")},renderEventFootprints:function(t,e,n,i){var r,s=this.component.eventFootprintsToSegs(t),o="fc-helper "+(n||"");for(s=this.eventRenderer.renderFgSegEls(s),r=0;r'+i+"
":""+i+""},getAllDayHtml:function(){return this.opt("allDayHtml")||et(this.opt("allDayText"))},getDayClasses:function(t,e){var n,i=this._getView(),r=[];return this.dateProfile.activeUnzonedRange.containsDate(t)?(r.push("fc-"+jt[t.day()]),i.isDateInOtherMonth(t,this.dateProfile)&&r.push("fc-other-month"),n=i.calendar.getNow(),t.isSame(n,"day")?(r.push("fc-today"),!0!==e&&r.push(i.calendar.theme.getClass("today"))):t=this.nextDayThreshold&&s.add(1,"days"),s<=n&&(s=n.clone().add(1,"days")),{start:n,end:s}},isMultiDayRange:function(t){var e=this.computeDayRange(t);return e.end.diff(e.start,"days")>1}});var ke=Wt.InteractiveDateComponent=Fe.extend({dateClickingClass:null,dateSelectingClass:null,eventPointingClass:null,eventDraggingClass:null,eventResizingClass:null,externalDroppingClass:null,dateClicking:null,dateSelecting:null,eventPointing:null,eventDragging:null,eventResizing:null,externalDropping:null,segSelector:".fc-event-container > *",largeUnit:null,constructor:function(){Fe.call(this),this.dateSelectingClass&&(this.dateClicking=new this.dateClickingClass(this)),this.dateSelectingClass&&(this.dateSelecting=new this.dateSelectingClass(this)),this.eventPointingClass&&(this.eventPointing=new this.eventPointingClass(this)),this.eventDraggingClass&&this.eventPointing&&(this.eventDragging=new this.eventDraggingClass(this,this.eventPointing)),this.eventResizingClass&&this.eventPointing&&(this.eventResizing=new this.eventResizingClass(this,this.eventPointing)),this.externalDroppingClass&&(this.externalDropping=new this.externalDroppingClass(this))},setElement:function(t){Fe.prototype.setElement.apply(this,arguments),this.dateClicking&&this.dateClicking.bindToEl(t),this.dateSelecting&&this.dateSelecting.bindToEl(t),this.bindAllSegHandlersToEl(t)},unrender:function(){this.endInteractions(),Fe.prototype.unrender.apply(this,arguments)},executeEventUnrender:function(){this.endInteractions(),Fe.prototype.executeEventUnrender.apply(this,arguments)},bindGlobalHandlers:function(){Fe.prototype.bindGlobalHandlers.apply(this,arguments),this.externalDropping&&this.externalDropping.bindToDocument()},unbindGlobalHandlers:function(){Fe.prototype.unbindGlobalHandlers.apply(this,arguments),this.externalDropping&&this.externalDropping.unbindFromDocument()},bindDateHandlerToEl:function(e,n,i){var r=this;this.el.on(n,function(e){if(!t(e.target).is(r.segSelector+","+r.segSelector+" *,.fc-more,a[data-goto]"))return i.call(r,e)})},bindAllSegHandlersToEl:function(t){[this.eventPointing,this.eventDragging,this.eventResizing].forEach(function(e){e&&e.bindToEl(t)})},bindSegHandlerToEl:function(e,n,i){var r=this;e.on(n,this.segSelector,function(e){var n=t(this).data("fc-seg");if(n&&!r.shouldIgnoreEventPointing())return i.call(r,n,e)})},shouldIgnoreMouse:function(){return me.get().shouldIgnoreMouse()},shouldIgnoreTouch:function(){var t=this._getView();return t.isSelected||t.selectedEvent},shouldIgnoreEventPointing:function(){return this.eventDragging&&this.eventDragging.isDragging||this.eventResizing&&this.eventResizing.isResizing},canStartSelection:function(t,e){return S(e)&&!this.canStartResize(t,e)&&(this.isEventDefDraggable(t.footprint.eventDef)||this.isEventDefResizable(t.footprint.eventDef))},canStartDrag:function(t,e){return!this.canStartResize(t,e)&&this.isEventDefDraggable(t.footprint.eventDef)},canStartResize:function(e,n){var i=this._getView(),r=e.footprint.eventDef;return(!S(n)||i.isEventDefSelected(r))&&this.isEventDefResizable(r)&&t(n.target).is(".fc-resizer")},endInteractions:function(){[this.dateClicking,this.dateSelecting,this.eventPointing,this.eventDragging,this.eventResizing].forEach(function(t){t&&t.end()})},isEventDefDraggable:function(t){return this.isEventDefStartEditable(t)},isEventDefStartEditable:function(t){var e=t.isStartExplicitlyEditable();return null==e&&null==(e=this.opt("eventStartEditable"))&&(e=this.isEventDefGenerallyEditable(t)),e},isEventDefGenerallyEditable:function(t){var e=t.isExplicitlyEditable();return null==e&&(e=this.opt("editable")),e},isEventDefResizableFromStart:function(t){return this.opt("eventResizableFromStart")&&this.isEventDefResizable(t)},isEventDefResizableFromEnd:function(t){return this.isEventDefResizable(t)},isEventDefResizable:function(t){var e=t.isDurationExplicitlyEditable();return null==e&&null==(e=this.opt("eventDurationEditable"))&&(e=this.isEventDefGenerallyEditable(t)),e},diffDates:function(t,e){return this.largeUnit?L(t,e,this.largeUnit):B(t,e)},isEventInstanceGroupAllowed:function(t){var e,n=this._getView(),i=this.dateProfile,r=this.eventRangesToEventFootprints(t.getAllEventRanges());for(e=0;e=e.length?e[e.length-1]+1:e[n]},computeColHeadFormat:function(){return this.rowCnt>1||this.colCnt>10?"ddd":this.colCnt>1?this.opt("dayOfMonthFormat"):"dddd"},sliceRangeByRow:function(t){var e,n,i,r,s,o=this.daysPerRow,a=this.view.computeDayRange(t),l=this.getDateDayIndex(a.start),u=this.getDateDayIndex(a.end.clone().subtract(1,"days")),c=[];for(e=0;e'+this.renderHeadTrHtml()+"
"},renderHeadIntroHtml:function(){return this.renderIntroHtml()},renderHeadTrHtml:function(){return""+(this.isRTL?"":this.renderHeadIntroHtml())+this.renderHeadDateCellsHtml()+(this.isRTL?this.renderHeadIntroHtml():"")+""},renderHeadDateCellsHtml:function(){var t,e,n=[];for(t=0;t1?' colspan="'+e+'"':"")+(n?" "+n:"")+">"+(r?i.buildGotoAnchorHtml({date:t,forceOff:this.rowCnt>1||1===this.colCnt},o):o)+""},renderBgTrHtml:function(t){return""+(this.isRTL?"":this.renderBgIntroHtml(t))+this.renderBgCellsHtml(t)+(this.isRTL?this.renderBgIntroHtml(t):"")+""},renderBgIntroHtml:function(t){return this.renderIntroHtml()},renderBgCellsHtml:function(t){var e,n,i=[];for(e=0;e"},renderIntroHtml:function(){},bookendCells:function(t){var e=this.renderIntroHtml();e&&(this.isRTL?t.append(e):t.prepend(e))}},Ae=Wt.View=ke.extend({type:null,name:null,title:null,calendar:null,viewSpec:null,options:null,renderQueue:null,batchRenderDepth:0,queuedScroll:null,isSelected:!1,selectedEventInstance:null,eventOrderSpecs:null,isHiddenDayHash:null,isNowIndicatorRendered:null,initialNowDate:null,initialNowQueriedMs:null,nowIndicatorTimeoutID:null,nowIndicatorIntervalID:null,constructor:function(t,e){this.calendar=t,this.viewSpec=e,this.type=e.type,this.options=e.options,this.name=this.type,ke.call(this),this.initRenderQueue(),this.initHiddenDays(),this.bindBaseRenderHandlers(),this.eventOrderSpecs=P(this.opt("eventOrder")),this.initialize&&this.initialize()},_getView:function(){return this},opt:function(t){return this.options[t]},initRenderQueue:function(){this.renderQueue=new de({event:this.opt("eventRenderWait")}),this.renderQueue.on("start",this.onRenderQueueStart.bind(this)),this.renderQueue.on("stop",this.onRenderQueueStop.bind(this)),this.on("before:change",this.startBatchRender),this.on("change",this.stopBatchRender)},onRenderQueueStart:function(){this.calendar.freezeContentHeight(),this.addScroll(this.queryScroll())},onRenderQueueStop:function(){this.calendar.updateViewSize()&&this.popScroll(),this.calendar.thawContentHeight()},startBatchRender:function(){this.batchRenderDepth++||this.renderQueue.pause()},stopBatchRender:function(){--this.batchRenderDepth||this.renderQueue.resume()},requestRender:function(t,e,n){this.renderQueue.queue(t,e,n)},whenSizeUpdated:function(t){this.renderQueue.isRunning?this.renderQueue.one("stop",t.bind(this)):t.call(this)},computeTitle:function(t){var e;return e=/^(year|month)$/.test(t.currentRangeUnit)?t.currentUnzonedRange:t.activeUnzonedRange,this.formatRange({start:this.calendar.msToMoment(e.startMs,t.isRangeAllDay),end:this.calendar.msToMoment(e.endMs,t.isRangeAllDay)},t.isRangeAllDay,this.opt("titleFormat")||this.computeTitleFormat(t),this.opt("titleRangeSeparator"))},computeTitleFormat:function(t){var e=t.currentRangeUnit;return"year"==e?"YYYY":"month"==e?this.opt("monthYearFormat"):t.currentUnzonedRange.as("days")>1?"ll":"LL"},setDate:function(t){var e=this.get("dateProfile"),n=this.buildDateProfile(t,null,!0);e&&e.activeUnzonedRange.equals(n.activeUnzonedRange)||this.set("dateProfile",n)},unsetDate:function(){this.unset("dateProfile")},fetchInitialEvents:function(t){var e=this.calendar,n=t.isRangeAllDay&&!this.usesMinMaxTime;return e.requestEvents(e.msToMoment(t.activeUnzonedRange.startMs,n),e.msToMoment(t.activeUnzonedRange.endMs,n))},bindEventChanges:function(){this.listenTo(this.calendar,"eventsReset",this.resetEvents)},unbindEventChanges:function(){this.stopListeningTo(this.calendar,"eventsReset")},setEvents:function(t){this.set("currentEvents",t),this.set("hasEvents",!0)},unsetEvents:function(){this.unset("currentEvents"),this.unset("hasEvents")},resetEvents:function(t){this.startBatchRender(),this.unsetEvents(),this.setEvents(t),this.stopBatchRender()},requestDateRender:function(t){var e=this;this.requestRender(function(){e.executeDateRender(t)},"date","init")},requestDateUnrender:function(){var t=this;this.requestRender(function(){t.executeDateUnrender()},"date","destroy")},executeDateRender:function(t){Fe.prototype.executeDateRender.apply(this,arguments),this.render&&this.render(),this.trigger("datesRendered"),this.addScroll({isDateInit:!0}),this.startNowIndicator()},executeDateUnrender:function(){this.unselect(),this.stopNowIndicator(),this.trigger("before:datesUnrendered"),this.destroy&&this.destroy(),Fe.prototype.executeDateUnrender.apply(this,arguments)},bindBaseRenderHandlers:function(){var t=this;this.on("datesRendered",function(){t.whenSizeUpdated(t.triggerViewRender)}),this.on("before:datesUnrendered",function(){t.triggerViewDestroy()})},triggerViewRender:function(){this.publiclyTrigger("viewRender",{context:this,args:[this,this.el]})},triggerViewDestroy:function(){this.publiclyTrigger("viewDestroy",{context:this,args:[this,this.el]})},requestEventsRender:function(t){var e=this;this.requestRender(function(){e.executeEventRender(t),e.whenSizeUpdated(e.triggerAfterEventsRendered)},"event","init")},requestEventsUnrender:function(){var t=this;this.requestRender(function(){t.triggerBeforeEventsDestroyed(),t.executeEventUnrender()},"event","destroy")},requestBusinessHoursRender:function(t){var e=this;this.requestRender(function(){e.renderBusinessHours(t)},"businessHours","init")},requestBusinessHoursUnrender:function(){var t=this;this.requestRender(function(){t.unrenderBusinessHours()},"businessHours","destroy")},bindGlobalHandlers:function(){ke.prototype.bindGlobalHandlers.apply(this,arguments),this.listenTo(me.get(),{touchstart:this.processUnselect,mousedown:this.handleDocumentMousedown})},unbindGlobalHandlers:function(){ke.prototype.unbindGlobalHandlers.apply(this,arguments),this.stopListeningTo(me.get())},startNowIndicator:function(){var t,n,i,r=this;this.opt("nowIndicator")&&(t=this.getNowIndicatorUnit())&&(n=lt(this,"updateNowIndicator"),this.initialNowDate=this.calendar.getNow(),this.initialNowQueriedMs=+new Date,i=this.initialNowDate.clone().startOf(t).add(1,t)-this.initialNowDate,this.nowIndicatorTimeoutID=setTimeout(function(){r.nowIndicatorTimeoutID=null,n(),i=+e.duration(1,t),i=Math.max(100,i),r.nowIndicatorIntervalID=setInterval(n,i)},i))},updateNowIndicator:function(){this.isDatesRendered&&this.initialNowDate&&(this.unrenderNowIndicator(),this.renderNowIndicator(this.initialNowDate.clone().add(new Date-this.initialNowQueriedMs)),this.isNowIndicatorRendered=!0)},stopNowIndicator:function(){this.isNowIndicatorRendered&&(this.nowIndicatorTimeoutID&&(clearTimeout(this.nowIndicatorTimeoutID),this.nowIndicatorTimeoutID=null),this.nowIndicatorIntervalID&&(clearTimeout(this.nowIndicatorIntervalID),this.nowIndicatorIntervalID=null),this.unrenderNowIndicator(),this.isNowIndicatorRendered=!1)},updateSize:function(t,e,n){this.setHeight?this.setHeight(t,e):ke.prototype.updateSize.apply(this,arguments),this.updateNowIndicator()},addScroll:function(e){var n=this.queuedScroll||(this.queuedScroll={});t.extend(n,e)},popScroll:function(){this.applyQueuedScroll(),this.queuedScroll=null},applyQueuedScroll:function(){this.queuedScroll&&this.applyScroll(this.queuedScroll)},queryScroll:function(){var e={};return this.isDatesRendered&&t.extend(e,this.queryDateScroll()),e},applyScroll:function(e){e.isDateInit&&this.isDatesRendered&&t.extend(e,this.computeInitialDateScroll()),this.isDatesRendered&&this.applyDateScroll(e)},computeInitialDateScroll:function(){return{}},queryDateScroll:function(){return{}},applyDateScroll:function(t){},reportEventDrop:function(t,n,i,r){var s=this.calendar.eventManager,o=s.mutateEventsWithId(t.def.id,n,this.calendar),a=n.dateMutation;a&&(t.dateProfile=a.buildNewDateProfile(t.dateProfile,this.calendar)),this.triggerEventDrop(t,a&&a.dateDelta||e.duration(),o,i,r)},triggerEventDrop:function(t,e,n,i,r){this.publiclyTrigger("eventDrop",{context:i[0],args:[t.toLegacy(),e,n,r,{},this]})},reportExternalDrop:function(t,e,n,i,r,s){e&&this.calendar.eventManager.addEventDef(t,n),this.triggerExternalDrop(t,e,i,r,s)},triggerExternalDrop:function(t,e,n,i,r){this.publiclyTrigger("drop",{context:n[0],args:[t.dateProfile.start.clone(),i,r,this]}),e&&this.publiclyTrigger("eventReceive",{context:this,args:[t.buildInstance().toLegacy(),this]})},reportEventResize:function(t,e,n,i){var r=this.calendar.eventManager,s=r.mutateEventsWithId(t.def.id,e,this.calendar);t.dateProfile=e.dateMutation.buildNewDateProfile(t.dateProfile,this.calendar),this.triggerEventResize(t,e.dateMutation.endDelta,s,n,i)},triggerEventResize:function(t,e,n,i,r){this.publiclyTrigger("eventResize",{context:i[0],args:[t.toLegacy(),e,n,r,{},this]})},select:function(t,e){this.unselect(e),this.renderSelectionFootprint(t),this.reportSelection(t,e)},renderSelectionFootprint:function(t,e){this.renderSelection?this.renderSelection(t.toLegacy(this.calendar)):ke.prototype.renderSelectionFootprint.apply(this,arguments)},reportSelection:function(t,e){this.isSelected=!0,this.triggerSelect(t,e)},triggerSelect:function(t,e){var n=this.calendar.footprintToDateProfile(t);this.publiclyTrigger("select",{context:this,args:[n.start,n.end,e,this]})},unselect:function(t){this.isSelected&&(this.isSelected=!1,this.destroySelection&&this.destroySelection(),this.unrenderSelection(),this.publiclyTrigger("unselect",{context:this,args:[t,this]}))},selectEventInstance:function(t){this.selectedEventInstance&&this.selectedEventInstance===t||(this.unselectEventInstance(),this.getEventSegs().forEach(function(e){e.footprint.eventInstance===t&&e.el&&e.el.addClass("fc-selected")}),this.selectedEventInstance=t)},unselectEventInstance:function(){this.selectedEventInstance&&(this.getEventSegs().forEach(function(t){t.el&&t.el.removeClass("fc-selected")}),this.selectedEventInstance=null)},isEventDefSelected:function(t){return this.selectedEventInstance&&this.selectedEventInstance.def.id===t.id},handleDocumentMousedown:function(t){D(t)&&this.processUnselect(t)},processUnselect:function(t){this.processRangeUnselect(t),this.processEventUnselect(t)},processRangeUnselect:function(e){var n;this.isSelected&&this.opt("unselectAuto")&&((n=this.opt("unselectCancel"))&&t(e.target).closest(n).length||this.unselect(e))},processEventUnselect:function(e){this.selectedEventInstance&&(t(e.target).closest(".fc-selected").length||this.unselectEventInstance())},triggerBaseRendered:function(){this.publiclyTrigger("viewRender",{context:this,args:[this,this.el]})},triggerBaseUnrendered:function(){this.publiclyTrigger("viewDestroy",{context:this,args:[this,this.el]})},triggerDayClick:function(t,e,n){var i=this.calendar.footprintToDateProfile(t);this.publiclyTrigger("dayClick",{context:e,args:[i.start,n,this]})}});Ae.watch("displayingDates",["isInDom","dateProfile"],function(t){this.requestDateRender(t.dateProfile)},function(){this.requestDateUnrender()}),Ae.watch("displayingBusinessHours",["displayingDates","businessHourGenerator"],function(t){this.requestBusinessHoursRender(t.businessHourGenerator)},function(){this.requestBusinessHoursUnrender()}),Ae.watch("initialEvents",["dateProfile"],function(t){return this.fetchInitialEvents(t.dateProfile)}),Ae.watch("bindingEvents",["initialEvents"],function(t){this.setEvents(t.initialEvents),this.bindEventChanges()},function(){this.unbindEventChanges(),this.unsetEvents()}),Ae.watch("displayingEvents",["displayingDates","hasEvents"],function(){this.requestEventsRender(this.get("currentEvents"))},function(){this.requestEventsUnrender()}),Ae.watch("title",["dateProfile"],function(t){return this.title=this.computeTitle(t.dateProfile)}),Ae.watch("legacyDateProps",["dateProfile"],function(t){var e=this.calendar,n=t.dateProfile;this.start=e.msToMoment(n.activeUnzonedRange.startMs,n.isRangeAllDay),this.end=e.msToMoment(n.activeUnzonedRange.endMs,n.isRangeAllDay),this.intervalStart=e.msToMoment(n.currentUnzonedRange.startMs,n.isRangeAllDay),this.intervalEnd=e.msToMoment(n.currentUnzonedRange.endMs,n.isRangeAllDay)}),Ae.mixin({usesMinMaxTime:!1,start:null,end:null,intervalStart:null,intervalEnd:null,buildPrevDateProfile:function(t){var e=this.get("dateProfile"),n=t.clone().startOf(e.currentRangeUnit).subtract(e.dateIncrement);return this.buildDateProfile(n,-1)},buildNextDateProfile:function(t){var e=this.get("dateProfile"),n=t.clone().startOf(e.currentRangeUnit).add(e.dateIncrement);return this.buildDateProfile(n,1)},buildDateProfile:function(t,n,i){var r,s,o,a,l,u,c=!t.hasTime(),h=null,d=null;return r=this.buildValidRange(),r=this.trimHiddenDays(r),i&&(t=this.calendar.msToUtcMoment(r.constrainDate(t),c)),s=this.buildCurrentRangeInfo(t,n),o=/^(year|month|week|day)$/.test(s.unit),a=this.buildRenderRange(this.trimHiddenDays(s.unzonedRange),s.unit,o),a=this.trimHiddenDays(a),l=a.clone(),this.opt("showNonCurrentDates")||(l=l.intersect(s.unzonedRange)),h=e.duration(this.opt("minTime")),d=e.duration(this.opt("maxTime")),l=this.adjustActiveRange(l,h,d),l=l.intersect(r),l&&(t=this.calendar.msToUtcMoment(l.constrainDate(t),c)),u=s.unzonedRange.intersectsWith(r),{validUnzonedRange:r,currentUnzonedRange:s.unzonedRange,currentRangeUnit:s.unit,isRangeAllDay:o,activeUnzonedRange:l,renderUnzonedRange:a,minTime:h,maxTime:d,isValid:u,date:t,dateIncrement:this.buildDateIncrement(s.duration)}},buildValidRange:function(){return this.getUnzonedRangeOption("validRange",this.calendar.getNow())||new Ue},buildCurrentRangeInfo:function(t,e){var n,i=null,r=null,s=null;return this.viewSpec.duration?(i=this.viewSpec.duration,r=this.viewSpec.durationUnit,s=this.buildRangeFromDuration(t,e,i,r)):(n=this.opt("dayCount"))?(r="day",s=this.buildRangeFromDayCount(t,e,n)):(s=this.buildCustomVisibleRange(t))?r=O(s.getStart(),s.getEnd()):(i=this.getFallbackDuration(),r=O(i),s=this.buildRangeFromDuration(t,e,i,r)),{duration:i,unit:r,unzonedRange:s}},getFallbackDuration:function(){return e.duration({days:1})},adjustActiveRange:function(t,e,n){var i=t.getStart(),r=t.getEnd();return this.usesMinMaxTime&&(e<0&&i.time(0).add(e),n>864e5&&r.time(n-864e5)),new Ue(i,r)},buildRangeFromDuration:function(t,n,i,r){var s,o,a,l=this.opt("dateAlignment"),u=t.clone();return i.as("days")<=1&&this.isHiddenDay(u)&&(u=this.skipHiddenDays(u,n),u.startOf("day")),l||(o=this.opt("dateIncrement"),o?(a=e.duration(o),l=a").prependTo(n),this.initToolbars(),this.renderHeader(),this.renderFooter(),this.renderView(this.opt("defaultView")),this.opt("handleWindowResize")&&t(window).resize(this.windowResizeProxy=ut(this.windowResize.bind(this),this.opt("windowResizeDelay")))},destroy:function(){this.view&&this.clearView(),this.toolbarsManager.proxyCall("removeElement"),this.contentEl.remove(),this.el.removeClass("fc fc-ltr fc-rtl"),this.optionsModel.unwatch("settingTheme"),this.optionsModel.unwatch("settingBusinessHourGenerator"),this.el.off(".fc"),this.windowResizeProxy&&(t(window).unbind("resize",this.windowResizeProxy),this.windowResizeProxy=null),me.unneeded()},elementVisible:function(){return this.el.is(":visible")},bindViewHandlers:function(t){var e=this;t.watch("titleForCalendar",["title"],function(n){t===e.view&&e.setToolbarsTitle(n.title)}),t.watch("dateProfileForCalendar",["dateProfile"],function(n){t===e.view&&(e.currentDate=n.dateProfile.date,e.updateToolbarButtons(n.dateProfile))})},unbindViewHandlers:function(t){this.stopListeningTo(t),t.unwatch("titleForCalendar"),t.unwatch("dateProfileForCalendar")},renderView:function(e){var n,i=this.view;this.freezeContentHeight(),i&&e&&i.type!==e&&this.clearView(),!this.view&&e&&(n=this.view=this.viewsByType[e]||(this.viewsByType[e]=this.instantiateView(e)),this.bindViewHandlers(n),n.setElement(t("
").appendTo(this.contentEl)),this.toolbarsManager.proxyCall("activateButton",e)),this.view&&(this.view.get("businessHourGenerator")!==this.businessHourGenerator&&this.view.set("businessHourGenerator",this.businessHourGenerator),this.view.setDate(this.currentDate)),this.thawContentHeight()},clearView:function(){var t=this.view;this.toolbarsManager.proxyCall("deactivateButton",t.type),this.unbindViewHandlers(t),t.removeElement(),this.view=null},reinitView:function(){var t=this.view,e=t.queryScroll();this.freezeContentHeight(),this.clearView(),this.calcSize(),this.renderView(t.type),this.view.applyScroll(e),this.thawContentHeight()},getSuggestedViewHeight:function(){return null===this.suggestedViewHeight&&this.calcSize(),this.suggestedViewHeight},isHeightAuto:function(){return"auto"===this.opt("contentHeight")||"auto"===this.opt("height")},updateViewSize:function(t){var e,n=this.view;if(!this.ignoreUpdateViewSize&&n)return t&&(this.calcSize(),e=n.queryScroll()),this.ignoreUpdateViewSize++,n.updateSize(this.getSuggestedViewHeight(),this.isHeightAuto(),t),this.ignoreUpdateViewSize--,t&&n.applyScroll(e),!0},calcSize:function(){this.elementVisible()&&this._calcSize()},_calcSize:function(){var t=this.opt("contentHeight"),e=this.opt("height");this.suggestedViewHeight="number"==typeof t?t:"function"==typeof t?t():"number"==typeof e?e-this.queryToolbarsHeight():"function"==typeof e?e()-this.queryToolbarsHeight():"parent"===e?this.el.parent().height()-this.queryToolbarsHeight():Math.round(this.contentEl.width()/Math.max(this.opt("aspectRatio"),.5))},windowResize:function(t){t.target===window&&this.view&&this.view.isDatesRendered&&this.updateViewSize(!0)&&this.publiclyTrigger("windowResize",[this.view])},freezeContentHeight:function(){this.freezeContentHeightDepth++||this.forceFreezeContentHeight()},forceFreezeContentHeight:function(){this.contentEl.css({width:"100%",height:this.contentEl.height(),overflow:"hidden"})},thawContentHeight:function(){this.freezeContentHeightDepth--,this.contentEl.css({width:"",height:"",overflow:""}),this.freezeContentHeightDepth&&this.forceFreezeContentHeight()}}),Le.mixin({header:null,footer:null,toolbarsManager:null,initToolbars:function(){this.header=new bt(this,this.computeHeaderOptions()),this.footer=new bt(this,this.computeFooterOptions()),this.toolbarsManager=new yt([this.header,this.footer])},computeHeaderOptions:function(){return{extraClasses:"fc-header-toolbar",layout:this.opt("header")}},computeFooterOptions:function(){return{extraClasses:"fc-footer-toolbar",layout:this.opt("footer")}},renderHeader:function(){var t=this.header;t.setToolbarOptions(this.computeHeaderOptions()),t.render(),t.el&&this.el.prepend(t.el)},renderFooter:function(){var t=this.footer;t.setToolbarOptions(this.computeFooterOptions()),t.render(),t.el&&this.el.append(t.el)},setToolbarsTitle:function(t){this.toolbarsManager.proxyCall("updateTitle",t)},updateToolbarButtons:function(t){var e=this.getNow(),n=this.view,i=n.buildDateProfile(e),r=n.buildPrevDateProfile(this.currentDate),s=n.buildNextDateProfile(this.currentDate);this.toolbarsManager.proxyCall(i.isValid&&!t.currentUnzonedRange.containsDate(e)?"enableButton":"disableButton","today"),this.toolbarsManager.proxyCall(r.isValid?"enableButton":"disableButton","prev"),this.toolbarsManager.proxyCall(s.isValid?"enableButton":"disableButton","next")},queryToolbarsHeight:function(){return this.toolbarsManager.items.reduce(function(t,e){return t+(e.el?e.el.outerHeight(!0):0)},0)}}),Le.prototype.isEventInstanceGroupAllowed=function(t){var e,n=t.getEventDef(),i=this.eventRangesToEventFootprints(t.getAllEventRanges()),r=this.getPeerEventInstances(n),s=r.map(Pt),o=this.eventRangesToEventFootprints(s),a=n.getConstraint(),l=n.getOverlap(),u=this.opt("eventAllow");for(e=0;et.startMs)&&(null===this.startMs||null===t.endMs||this.startMs=this.startMs)&&(null===this.endMs||null!==t.endMs&&t.endMs<=this.endMs)},containsDate:function(t){var e=t.valueOf();return(null===this.startMs||e>=this.startMs)&&(null===this.endMs||e=this.endMs&&(e=this.endMs-1),e},equals:function(t){return this.startMs===t.startMs&&this.endMs===t.endMs},clone:function(){var t=new Ue(this.startMs,this.endMs);return t.isStart=this.isStart,t.isEnd=this.isEnd,t},getStart:function(){if(null!==this.startMs)return Wt.moment.utc(this.startMs).stripZone()},getEnd:function(){if(null!==this.endMs)return Wt.moment.utc(this.endMs).stripZone()},as:function(t){return e.utc(this.endMs).diff(e.utc(this.startMs),t,!0)}}),We=Wt.ComponentFootprint=dt.extend({unzonedRange:null,isAllDay:!1,constructor:function(t,e){this.unzonedRange=t,this.isAllDay=e},toLegacy:function(t){return{start:t.msToMoment(this.unzonedRange.startMs,this.isAllDay),end:t.msToMoment(this.unzonedRange.endMs,this.isAllDay)}}}),_e=dt.extend(re,{start:null,end:null,timezone:null,unzonedRange:null,requestsByUid:null,pendingCnt:0,freezeDepth:0,stuntedReleaseCnt:0,releaseCnt:0,eventDefsByUid:null,eventDefsById:null,eventInstanceGroupsById:null,constructor:function(t,e,n){this.start=t,this.end=e,this.timezone=n,this.unzonedRange=new Ue(t.clone().stripZone(),e.clone().stripZone()),this.requestsByUid={},this.eventDefsByUid={},this.eventDefsById={},this.eventInstanceGroupsById={}},isWithinRange:function(t,e){return!t.isBefore(this.start)&&!e.isAfter(this.end)},requestSources:function(t){this.freeze();for(var e=0;e
'),s=r.find("tr"),a>0&&s.append(''),s.append(n.el.attr("colspan",l-a)),l'),this.component.bookendCells(s),r}}),mn=He.extend({dayGrid:null,rowStructs:null,constructor:function(t){He.apply(this,arguments),this.dayGrid=t},renderBgRanges:function(e){e=t.grep(e,function(t){return t.eventDef.isAllDay()}),He.prototype.renderBgRanges.call(this,e)},renderFgSegs:function(e){var n=this.rowStructs=this.renderSegRows(e);this.dayGrid.rowEls.each(function(e,i){t(i).find(".fc-content-skeleton > table").append(n[e].tbodyEl)})},unrenderFgSegs:function(){for(var t,e=this.rowStructs||[];t=e.pop();)t.tbodyEl.remove();this.rowStructs=null},renderSegRows:function(t){var e,n,i=[];for(e=this.groupSegRows(t),n=0;n"),a.append(c)),v[r][o]=c,m[r][o]=c,o++}var r,s,o,a,l,u,c,h=this.dayGrid.colCnt,d=this.buildSegLevels(n),f=Math.max(1,d.length),g=t(""),p=[],v=[],m=[];for(r=0;r"),p.push([]),v.push([]),m.push([]),s)for(l=0;l').append(u.el),u.leftCol!=u.rightCol?c.attr("colspan",u.rightCol-u.leftCol+1):m[r][o]=c;o<=u.rightCol;)v[r][o]=c,p[r][o]=u,o++;a.append(c)}i(h),this.dayGrid.bookendCells(a),g.append(a)}return{row:e,tbodyEl:g,cellMatrix:v,segMatrix:p,segLevels:d,segs:n}},buildSegLevels:function(t){var e,n,i,r=[];for(this.sortEventSegs(t),e=0;e'+et(n)+""),i=''+(et(s.title||"")||" ")+"",'
'+(this.isRTL?i+" "+d:d+" "+i)+"
"+(l?'
':"")+(u?'
':"")+""}}),yn=Pe.extend({renderSegs:function(e,n){var i,r=[];return i=this.eventRenderer.renderSegRows(e),this.component.rowEls.each(function(e,s){var o,a,l=t(s),u=t('
');n&&n.row===e?a=n.el.position().top:(o=l.find(".fc-content-skeleton tbody"),o.length||(o=l.find(".fc-content-skeleton table")),a=o.position().top),u.css("top",a).find("table").append(i[e].tbodyEl),l.append(u),r.push(u[0])}),t(r)}}),wn=Wt.DayGrid=ke.extend(Ie,Be,{eventRendererClass:mn,businessHourRendererClass:Me,helperRendererClass:yn,fillRendererClass:vn,view:null,helperRenderer:null,cellWeekNumbersVisible:!1,bottomCoordPadding:0,headContainerEl:null,rowEls:null,cellEls:null,rowCoordCache:null,colCoordCache:null,isRigid:!1,hasAllDayBusinessHours:!0,constructor:function(t){this.view=t,ke.call(this)},componentFootprintToSegs:function(t){var e,n,i=this.sliceRangeByRow(t.unzonedRange);for(e=0;e
'+this.renderBgTrHtml(t)+'
'+(this.getIsNumbersVisible()?""+this.renderNumberTrHtml(t)+"":"")+"
"},getIsNumbersVisible:function(){return this.getIsDayNumbersVisible()||this.cellWeekNumbersVisible},getIsDayNumbersVisible:function(){return this.rowCnt>1},renderNumberTrHtml:function(t){return""+(this.isRTL?"":this.renderNumberIntroHtml(t))+this.renderNumberCellsHtml(t)+(this.isRTL?this.renderNumberIntroHtml(t):"")+""},renderNumberIntroHtml:function(t){return this.renderIntroHtml()},renderNumberCellsHtml:function(t){var e,n,i=[];for(e=0;e",this.cellWeekNumbersVisible&&t.day()==n&&(r+=i.buildGotoAnchorHtml({date:t,type:"week"},{class:"fc-week-number"},t.format("w"))),o&&(r+=i.buildGotoAnchorHtml(t,{class:"fc-day-number"},t.date())),r+=""):""},prepareHits:function(){this.colCoordCache.build(),this.rowCoordCache.build(),this.rowCoordCache.bottoms[this.rowCnt-1]+=this.bottomCoordPadding},releaseHits:function(){this.colCoordCache.clear(),this.rowCoordCache.clear()},queryHit:function(t,e){if(this.colCoordCache.isLeftInBounds(t)&&this.rowCoordCache.isTopInBounds(e)){var n=this.colCoordCache.getHorizontalIndex(t),i=this.rowCoordCache.getVerticalIndex(e);if(null!=i&&null!=n)return this.getCellHit(i,n)}},getHitFootprint:function(t){var e=this.getCellRange(t.row,t.col);return new We(new Ue(e.start,e.end),!0)},getHitEl:function(t){return this.getCellEl(t.row,t.col)},getCellHit:function(t,e){return{row:t,col:e,component:this,left:this.colCoordCache.getLeftOffset(e),right:this.colCoordCache.getRightOffset(e),top:this.rowCoordCache.getTopOffset(t),bottom:this.rowCoordCache.getBottomOffset(t)}},getCellEl:function(t,e){return this.cellEls.eq(t*this.colCnt+e)},unrenderEvents:function(){this.removeSegPopover(),ke.prototype.unrenderEvents.apply(this,arguments)},getOwnEventSegs:function(){return ke.prototype.getOwnEventSegs.apply(this,arguments).concat(this.popoverSegs||[])},renderDrag:function(t,e,n){var i;for(i=0;i td > :first-child").each(n),r.position().top+s>a)return i;return!1},limitRow:function(e,n){function i(i){for(;E").append(y),d.append(m),b.push(m[0])),E++}var r,s,o,a,l,u,c,h,d,f,g,p,v,m,y,w=this,D=this.eventRenderer.rowStructs[e],b=[],E=0;if(n&&n').attr("rowspan",f),u=h[p],y=this.renderMoreLink(e,l.leftCol+p,[l].concat(u)),m=t("
").append(y),v.append(m),g.push(v[0]),b.push(v[0]);d.addClass("fc-limited").after(t(g)),o.push(d[0])}}i(this.colCnt),D.moreEls=t(b),D.limitedEls=t(o)}},unlimitRow:function(t){var e=this.eventRenderer.rowStructs[t];e.moreEls&&(e.moreEls.remove(),e.moreEls=null),e.limitedEls&&(e.limitedEls.removeClass("fc-limited"),e.limitedEls=null)},renderMoreLink:function(e,n,i){var r=this,s=this.view;return t('').text(this.getMoreLinkText(i.length)).on("click",function(o){var a=r.opt("eventLimitClick"),l=r.getCellDate(e,n),u=t(this),c=r.getCellEl(e,n),h=r.getCellSegs(e,n),d=r.resliceDaySegs(h,l),f=r.resliceDaySegs(i,l);"function"==typeof a&&(a=r.publiclyTrigger("eventLimitClick",{context:s,args:[{date:l.clone(),dayEl:c,moreEl:u,segs:d,hiddenSegs:f},o,s]})),"popover"===a?r.showSegPopover(e,n,u,d):"string"==typeof a&&s.calendar.zoomTo(l,a)})},showSegPopover:function(t,e,n,i){var r,s,o=this,a=this.view,l=n.parent();r=1==this.rowCnt?a.el:this.rowEls.eq(t),s={className:"fc-more-popover "+a.calendar.theme.getClass("popover"),content:this.renderSegPopoverContent(t,e,i),parentEl:a.el,top:r.offset().top,autoHide:!0,viewportConstrain:this.opt("popoverViewportConstrain"),hide:function(){o.popoverSegs&&o.triggerBeforeEventSegsDestroyed(o.popoverSegs),o.segPopover.removeElement(),o.segPopover=null,o.popoverSegs=null}},this.isRTL?s.right=l.offset().left+l.outerWidth()+1:s.left=l.offset().left-1,this.segPopover=new fe(s),this.segPopover.show(),this.bindAllSegHandlersToEl(this.segPopover.el),this.triggerAfterEventSegsRendered(i)},renderSegPopoverContent:function(e,n,i){var r,s=this.view,o=s.calendar.theme,a=this.getCellDate(e,n).format(this.opt("dayPopoverFormat")),l=t('
'+et(a)+'
'),u=l.find(".fc-event-container");for(i=this.eventRenderer.renderFgSegEls(i,!0),this.popoverSegs=i,r=0;r').appendTo(e),this.el.find(".fc-body > tr > td").append(e),this.dayGrid.headContainerEl=this.el.find(".fc-head-container"),this.dayGrid.setElement(n)},unrenderSkeleton:function(){this.dayGrid.removeElement(),this.scroller.destroy()},renderSkeletonHtml:function(){var t=this.calendar.theme;return''+(this.opt("columnHeader")?'':"")+'
 
'},weekNumberStyleAttr:function(){return null!==this.weekNumberWidth?'style="width:'+this.weekNumberWidth+'px"':""},hasRigidRows:function(){var t=this.opt("eventLimit");return t&&"number"!=typeof t},updateSize:function(t,e,n){var s,o,a=this.opt("eventLimit"),l=this.dayGrid.headContainerEl.find(".fc-row");if(!this.dayGrid.rowEls)return void(e||(s=this.computeScrollerHeight(t),this.scroller.setHeight(s)));Ae.prototype.updateSize.apply(this,arguments),this.dayGrid.colWeekNumbersVisible&&(this.weekNumberWidth=u(this.el.find(".fc-week-number"))),this.scroller.clear(),r(l),this.dayGrid.removeSegPopover(),a&&"number"==typeof a&&this.dayGrid.limitRows(a),s=this.computeScrollerHeight(t),this.setGridHeight(s,e),a&&"number"!=typeof a&&this.dayGrid.limitRows(a),e||(this.scroller.setHeight(s),o=this.scroller.getScrollbarWidths(),(o.left||o.right)&&(i(l,o),s=this.computeScrollerHeight(t),this.scroller.setHeight(s)),this.scroller.lockOverflow(o))},computeScrollerHeight:function(t){return t-c(this.el,this.scroller.el)},setGridHeight:function(t,e){e?l(this.dayGrid.rowEls):a(this.dayGrid.rowEls,t,!0)},computeInitialDateScroll:function(){return{top:0}},queryDateScroll:function(){return{top:this.scroller.getScrollTop()}},applyDateScroll:function(t){void 0!==t.top&&this.scroller.setScrollTop(t.top)}}),bn={colWeekNumbersVisible:!1,renderHeadIntroHtml:function(){var t=this.view;return this.colWeekNumbersVisible?'"+et(this.opt("weekNumberTitle"))+"":""},renderNumberIntroHtml:function(t){var e=this.view,n=this.getCellDate(t,0);return this.colWeekNumbersVisible?'"+e.buildGotoAnchorHtml({date:n,type:"week",forceOff:1===this.colCnt},n.format("w"))+"":""},renderBgIntroHtml:function(){var t=this.view;return this.colWeekNumbersVisible?'":""},renderIntroHtml:function(){var t=this.view +;return this.colWeekNumbersVisible?'":""},getIsNumbersVisible:function(){return wn.prototype.getIsNumbersVisible.apply(this,arguments)||this.colWeekNumbersVisible}},En=Wt.MonthView=Dn.extend({buildRenderRange:function(t,e,n){var i,r=Dn.prototype.buildRenderRange.apply(this,arguments),s=this.calendar.msToUtcMoment(r.startMs,n),o=this.calendar.msToUtcMoment(r.endMs,n);return this.isFixedWeeks()&&(i=Math.ceil(o.diff(s,"weeks",!0)),o.add(6-i,"weeks")),new Ue(s,o)},setGridHeight:function(t,e){e&&(t*=this.rowCnt/6),a(this.dayGrid.rowEls,t,!e)},isFixedWeeks:function(){return this.opt("fixedWeekCount")},isDateInOtherMonth:function(t,n){return t.month()!==e.utc(n.currentUnzonedRange.startMs).month()}});_t.basic={class:Dn},_t.basicDay={type:"basic",duration:{days:1}},_t.basicWeek={type:"basic",duration:{weeks:1}},_t.month={class:En,duration:{months:1},defaults:{fixedWeekCount:!0}};var Sn=xe.extend({attachSegEls:function(t,e){var n,i=this.component;return"bgEvent"===t?n=i.bgContainerEls:"businessHours"===t?n=i.businessContainerEls:"highlight"===t&&(n=i.highlightContainerEls),i.updateSegVerticals(e),i.attachSegsByCol(i.groupSegsByCol(e),n),e.map(function(t){return t.el[0]})}}),Cn=He.extend({timeGrid:null,constructor:function(t){He.apply(this,arguments),this.timeGrid=t},renderFgSegs:function(t){this.renderFgSegsIntoContainers(t,this.timeGrid.fgContainerEls)},renderFgSegsIntoContainers:function(t,e){var n,i;for(n=this.timeGrid.groupSegsByCol(t),i=0;i
'+(n?'
'+et(n)+"
":"")+(u.title?'
'+et(u.title)+"
":"")+'
'+(d?'
':"")+""},updateFgSegCoords:function(t){this.timeGrid.computeSegVerticals(t),this.computeFgSegHorizontals(t),this.timeGrid.assignSegVerticals(t),this.assignFgSegHorizontals(t)},computeFgSegHorizontals:function(t){var e,n,i;if(this.sortEventSegs(t),e=Lt(t),Ot(e),n=e[0]){for(i=0;i=0;n--)if(i=e.duration(Pn[n]),r=U(i,t),at(r)&&r>1)return i;return e.duration(t)},renderDates:function(t){this.dateProfile=t,this.updateDayTable(),this.renderSlats(),this.renderColumns()},renderSkeleton:function(){var t=this.view.calendar.theme;this.el.html('
'),this.bottomRuleEl=this.el.find("hr")},renderSlats:function(){var t=this.view.calendar.theme;this.slatContainerEl=this.el.find("> .fc-slats").html(''+this.renderSlatRowHtml()+"
"),this.slatEls=this.slatContainerEl.find("tr"),this.slatCoordCache=new ge({els:this.slatEls,isVertical:!0})},renderSlatRowHtml:function(){for(var t,n,i,r=this.view,s=r.calendar,o=s.theme,a=this.isRTL,l=this.dateProfile,u="",c=e.duration(+l.minTime),h=e.duration(0);c"+(n?""+et(t.format(this.labelFormat))+"":"")+"",u+='"+(a?"":i)+''+(a?i:"")+"",c.add(this.slotDuration),h.add(this.slotDuration);return u},renderColumns:function(){var t=this.dateProfile,e=this.view.calendar.theme;this.dayRanges=this.dayDates.map(function(e){return new Ue(e.clone().add(t.minTime),e.clone().add(t.maxTime))}),this.headContainerEl&&this.headContainerEl.html(this.renderHeadHtml()),this.el.find("> .fc-bg").html(''+this.renderBgTrHtml(0)+"
"),this.colEls=this.el.find(".fc-day, .fc-disabled-day"),this.colCoordCache=new ge({els:this.colEls,isHorizontal:!0}),this.renderContentSkeleton()},renderContentSkeleton:function(){var e,n,i="";for(e=0;e
';n=t('
'+i+"
"),this.colContainerEls=n.find(".fc-content-col"),this.helperContainerEls=n.find(".fc-helper-container"),this.fgContainerEls=n.find(".fc-event-container:not(.fc-helper-container)"),this.bgContainerEls=n.find(".fc-bgevent-container"),this.highlightContainerEls=n.find(".fc-highlight-container"),this.businessContainerEls=n.find(".fc-business-container"),this.bookendCells(n.find("tr")),this.el.append(n)},groupSegsByCol:function(t){var e,n=[];for(e=0;e
').css("top",r).appendTo(this.colContainerEls.eq(i[n].col))[0]);i.length>0&&s.push(t('
').css("top",r).appendTo(this.el.find(".fc-content-skeleton"))[0]),this.nowIndicatorEls=t(s)},unrenderNowIndicator:function(){this.nowIndicatorEls&&(this.nowIndicatorEls.remove(),this.nowIndicatorEls=null)},updateSize:function(t,e,n){ke.prototype.updateSize.apply(this,arguments),this.slatCoordCache.build(),n&&this.updateSegVerticals([].concat(this.eventRenderer.getSegs(),this.businessSegs||[]))},getTotalSlatHeight:function(){return this.slatContainerEl.outerHeight()},computeDateTop:function(t,n){return this.computeTimeTop(e.duration(t-n.clone().stripTime()))},computeTimeTop:function(t){var e,n,i=this.slatEls.length,r=this.dateProfile,s=(t-r.minTime)/this.slotDuration;return s=Math.max(0,s),s=Math.min(i,s),e=Math.floor(s),e=Math.min(e,i-1),n=s-e,this.slatCoordCache.getTopPosition(e)+this.slatCoordCache.getHeight(e)*n},updateSegVerticals:function(t){this.computeSegVerticals(t),this.assignSegVerticals(t)},computeSegVerticals:function(t){var e,n,i,r=this.opt("agendaEventMinHeight");for(e=0;e').appendTo(e),this.el.find(".fc-body > tr > td").append(e),this.timeGrid.headContainerEl=this.el.find(".fc-head-container"),this.timeGrid.setElement(n),this.dayGrid&&(this.dayGrid.setElement(this.el.find(".fc-day-grid")),this.dayGrid.bottomCoordPadding=this.dayGrid.el.next("hr").outerHeight())},unrenderSkeleton:function(){this.timeGrid.removeElement(),this.dayGrid&&this.dayGrid.removeElement(),this.scroller.destroy()},renderSkeletonHtml:function(){var t=this.calendar.theme;return''+(this.opt("columnHeader")?'':"")+'
 
'+(this.dayGrid?'

':"")+"
"},axisStyleAttr:function(){return null!==this.axisWidth?'style="width:'+this.axisWidth+'px"':""},getNowIndicatorUnit:function(){return this.timeGrid.getNowIndicatorUnit()},updateSize:function(t,e,n){var s,o,a;if(Ae.prototype.updateSize.apply(this,arguments),this.axisWidth=u(this.el.find(".fc-axis")),!this.timeGrid.colEls)return void(e||(o=this.computeScrollerHeight(t),this.scroller.setHeight(o)));var l=this.el.find(".fc-row:not(.fc-scroller *)");this.timeGrid.bottomRuleEl.hide(),this.scroller.clear(),r(l),this.dayGrid&&(this.dayGrid.removeSegPopover(),s=this.opt("eventLimit"),s&&"number"!=typeof s&&(s=xn),s&&this.dayGrid.limitRows(s)),e||(o=this.computeScrollerHeight(t),this.scroller.setHeight(o),a=this.scroller.getScrollbarWidths(),(a.left||a.right)&&(i(l,a),o=this.computeScrollerHeight(t),this.scroller.setHeight(o)),this.scroller.lockOverflow(a),this.timeGrid.getTotalSlatHeight()"+e.buildGotoAnchorHtml({date:i,type:"week",forceOff:this.colCnt>1},et(t))+""):'"},renderBgIntroHtml:function(){var t=this.view;return'"},renderIntroHtml:function(){return'"}},Mn={renderBgIntroHtml:function(){var t=this.view;return'"+t.getAllDayHtml()+""},renderIntroHtml:function(){return'"}},xn=5,Pn=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}];_t.agenda={class:In,defaults:{allDaySlot:!0,slotDuration:"00:30:00",slotEventOverlap:!0}},_t.agendaDay={type:"agenda",duration:{days:1}},_t.agendaWeek={type:"agenda",duration:{weeks:1}};var zn=Wt.ListView=Ae.extend({segSelector:".fc-list-item",scroller:null,contentEl:null,dayDates:null,dayRanges:null,constructor:function(){Ae.apply(this,arguments),this.scroller=new we({overflowX:"hidden",overflowY:"auto"})},renderSkeleton:function(){this.el.addClass("fc-list-view "+this.calendar.theme.getClass("listView")),this.scroller.render(),this.scroller.el.appendTo(this.el),this.contentEl=this.scroller.scrollEl},unrenderSkeleton:function(){this.scroller.destroy()},updateSize:function(t,e,n){this.scroller.setHeight(this.computeScrollerHeight(t))},computeScrollerHeight:function(t){return t-c(this.el,this.scroller.el)},renderDates:function(t){for(var e=this.calendar,n=e.msToUtcMoment(t.renderUnzonedRange.startMs,!0),i=e.msToUtcMoment(t.renderUnzonedRange.endMs,!0),r=[],s=[];n'+(this.displayEventTime?''+(e||"")+"":"")+'"+et(o.title||"")+""},computeEventTimeFormat:function(){return this.opt("mediumTimeFormat")}}),eventPointingClass:Te.extend({handleClick:function(e,n){var i;Te.prototype.handleClick.apply(this,arguments),t(n.target).closest("a[href]").length||(i=e.footprint.eventDef.url)&&!n.isDefaultPrevented()&&(window.location.href=i)}}),renderEmptyMessage:function(){this.contentEl.html('
'+et(this.opt("noEventsMessage"))+"
")},renderSegList:function(e){var n,i,r,s=this.groupSegsByDay(e),o=t('
'),a=o.find("tbody");for(n=0;n'+(e?this.buildGotoAnchorHtml(t,{class:"fc-list-heading-main"},et(t.format(e))):"")+(n?this.buildGotoAnchorHtml(t,{class:"fc-list-heading-alt"},et(t.format(n))):"")+""}});return _t.list={class:zn,buttonTextKey:"list",defaults:{buttonText:"list",listDayFormat:"LL",noEventsMessage:"No events to display"}},_t.listDay={type:"list",duration:{days:1},defaults:{listDayFormat:"dddd"}},_t.listWeek={type:"list",duration:{weeks:1},defaults:{listDayFormat:"dddd",listDayAltFormat:"LL"}},_t.listMonth={type:"list",duration:{month:1},defaults:{listDayAltFormat:"dddd"}},_t.listYear={type:"list",duration:{year:1},defaults:{listDayAltFormat:"dddd"}},Wt}); \ No newline at end of file diff --git a/app/assets/javascripts/moment.min.js b/app/assets/javascripts/moment.min.js new file mode 100644 index 000000000..42827dc37 --- /dev/null +++ b/app/assets/javascripts/moment.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";function e(){return Yt.apply(null,arguments)}function t(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function n(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function s(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}function i(e){return void 0===e}function r(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function a(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function o(e,t){var n,s=[];for(n=0;n0)for(n=0;n=0?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}function C(e,t,n,s){var i=s;"string"==typeof s&&(i=function(){return this[s]()}),e&&(Vt[e]=i),t&&(Vt[t[0]]=function(){return R(i.apply(this,arguments),t[1],t[2])}),n&&(Vt[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function F(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function U(e){var t,n,s=e.match(Ht);for(t=0,n=s.length;t=0&&Lt.test(e);)e=e.replace(Lt,function(e){return t.longDateFormat(e)||e}),Lt.lastIndex=0,n-=1;return e}function L(e,t,n){rn[e]=D(t)?t:function(e,s){return e&&n?n:t}}function G(e,t){return u(rn,e)?rn[e](t._strict,t._locale):new RegExp(V(e))}function V(e){return j(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i}))}function j(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function I(e,t){var n,s=t;for("string"==typeof e&&(e=[e]),r(t)&&(s=function(e,n){n[t]=w(e)}),n=0;n=0&&isFinite(o.getFullYear())&&o.setFullYear(e),o}function se(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function ie(e,t,n){var s=7+t-n;return-((7+se(e,0,s).getUTCDay()-t)%7)+s-1}function re(e,t,n,s,i){var r,a,o=1+7*(t-1)+(7+n-s)%7+ie(e,s,i);return o<=0?a=z(r=e-1)+o:o>z(e)?(r=e+1,a=o-z(e)):(r=e,a=o),{year:r,dayOfYear:a}}function ae(e,t,n){var s,i,r=ie(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+oe(i=e.year()-1,t,n):a>oe(e.year(),t,n)?(s=a-oe(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function oe(e,t,n){var s=ie(e,t,n),i=ie(e+1,t,n);return(z(e)-s+i)/7}function ue(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}function le(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function de(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=d([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=yn.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=yn.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=yn.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=yn.call(this._weekdaysParse,a))?i:-1!==(i=yn.call(this._shortWeekdaysParse,a))?i:-1!==(i=yn.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=yn.call(this._shortWeekdaysParse,a))?i:-1!==(i=yn.call(this._weekdaysParse,a))?i:-1!==(i=yn.call(this._minWeekdaysParse,a))?i:null:-1!==(i=yn.call(this._minWeekdaysParse,a))?i:-1!==(i=yn.call(this._weekdaysParse,a))?i:-1!==(i=yn.call(this._shortWeekdaysParse,a))?i:null}function he(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],l=[];for(t=0;t<7;t++)n=d([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),l.push(s),l.push(i),l.push(r);for(a.sort(e),o.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)o[t]=j(o[t]),u[t]=j(u[t]),l[t]=j(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function ce(){return this.hours()%12||12}function fe(e,t){C(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function me(e,t){return t._meridiemParse}function _e(e){return e?e.toLowerCase().replace("_","-"):e}function ye(e){for(var t,n,s,i,r=0;r0;){if(s=ge(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&v(i,n,!0)>=t-1)break;t--}r++}return null}function ge(e){var t=null;if(!Fn[e]&&"undefined"!=typeof module&&module&&module.exports){t=Pn._abbr;try{require("moment/locale/"+e)}catch(t){try{require("./locale/"+e)}catch(e){}}pe(t)}return Fn[e]}function pe(e,t){var n;return e&&(n=i(t)?ve(e):we(e,t))&&(Pn=n),Pn._abbr}function we(e,t){if(null!==t){var n=Cn;if(t.abbr=e,null!=Fn[e])S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=Fn[e]._config;else if(null!=t.parentLocale){if(null==Fn[t.parentLocale])return Un[t.parentLocale]||(Un[t.parentLocale]=[]),Un[t.parentLocale].push({name:e,config:t}),null;n=Fn[t.parentLocale]._config}return Fn[e]=new O(Y(n,t)),Un[e]&&Un[e].forEach(function(e){we(e.name,e.config)}),pe(e),Fn[e]}return delete Fn[e],null}function ve(e){var n;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Pn;if(!t(e)){if(n=ge(e))return n;e=[e]}return ye(e)}function Me(e){var t,n=e._a;return n&&-2===c(e).overflow&&(t=n[un]<0||n[un]>11?un:n[ln]<1||n[ln]>Q(n[on],n[un])?ln:n[dn]<0||n[dn]>24||24===n[dn]&&(0!==n[hn]||0!==n[cn]||0!==n[fn])?dn:n[hn]<0||n[hn]>59?hn:n[cn]<0||n[cn]>59?cn:n[fn]<0||n[fn]>999?fn:-1,c(e)._overflowDayOfYear&&(tln)&&(t=ln),c(e)._overflowWeeks&&-1===t&&(t=mn),c(e)._overflowWeekday&&-1===t&&(t=_n),c(e).overflow=t),e}function ke(e,t,n){return null!=e?e:null!=t?t:n}function Se(t){var n=new Date(e.now());return t._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function De(e){var t,n,s,i,r=[];if(!e._d){for(s=Se(e),e._w&&null==e._a[ln]&&null==e._a[un]&&Ye(e),null!=e._dayOfYear&&(i=ke(e._a[on],s[on]),(e._dayOfYear>z(i)||0===e._dayOfYear)&&(c(e)._overflowDayOfYear=!0),n=se(i,0,e._dayOfYear),e._a[un]=n.getUTCMonth(),e._a[ln]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=r[t]=s[t];for(;t<7;t++)e._a[t]=r[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[dn]&&0===e._a[hn]&&0===e._a[cn]&&0===e._a[fn]&&(e._nextDay=!0,e._a[dn]=0),e._d=(e._useUTC?se:ne).apply(null,r),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[dn]=24),e._w&&void 0!==e._w.d&&e._w.d!==e._d.getDay()&&(c(e).weekdayMismatch=!0)}}function Ye(e){var t,n,s,i,r,a,o,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)r=1,a=4,n=ke(t.GG,e._a[on],ae(Ie(),1,4).year),s=ke(t.W,1),((i=ke(t.E,1))<1||i>7)&&(u=!0);else{r=e._locale._week.dow,a=e._locale._week.doy;var l=ae(Ie(),r,a);n=ke(t.gg,e._a[on],l.year),s=ke(t.w,l.week),null!=t.d?((i=t.d)<0||i>6)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||t.e>6)&&(u=!0)):i=r}s<1||s>oe(n,r,a)?c(e)._overflowWeeks=!0:null!=u?c(e)._overflowWeekday=!0:(o=re(n,s,i,r,a),e._a[on]=o.year,e._dayOfYear=o.dayOfYear)}function Oe(e){var t,n,s,i,r,a,o=e._i,u=Nn.exec(o)||Hn.exec(o);if(u){for(c(e).iso=!0,t=0,n=Gn.length;t0&&c(t).unusedInput.push(a),o=o.slice(o.indexOf(s)+s.length),l+=s.length),Vt[r]?(s?c(t).empty=!1:c(t).unusedTokens.push(r),A(r,s,t)):t._strict&&!s&&c(t).unusedTokens.push(r);c(t).charsLeftOver=u-l,o.length>0&&c(t).unusedInput.push(o),t._a[dn]<=12&&!0===c(t).bigHour&&t._a[dn]>0&&(c(t).bigHour=void 0),c(t).parsedDateParts=t._a.slice(0),c(t).meridiem=t._meridiem,t._a[dn]=Ue(t._locale,t._a[dn],t._meridiem),De(t),Me(t)}else Re(t);else Oe(t)}function Ue(e,t,n){var s;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0),t):t}function Ne(e){var t,n,s,i,r;if(0===e._f.length)return c(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;ir&&(t=r),dt.call(this,e,t,n,s,i))}function dt(e,t,n,s,i){var r=re(e,t,n,s,i),a=se(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}function ht(e){return e}function ct(e,t,n,s){var i=ve(),r=d().set(s,t);return i[n](r,e)}function ft(e,t,n){if(r(e)&&(t=e,e=void 0),e=e||"",null!=t)return ct(e,t,n,"month");var s,i=[];for(s=0;s<12;s++)i[s]=ct(e,s,n,"month");return i}function mt(e,t,n,s){"boolean"==typeof e?(r(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,r(t)&&(n=t,t=void 0),t=t||"");var i=ve(),a=e?i._week.dow:0;if(null!=n)return ct(t,(n+a)%7,s,"day");var o,u=[];for(o=0;o<7;o++)u[o]=ct(t,(o+a)%7,s,"day");return u}function _t(e,t,n,s){var i=Ke(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function yt(e){return e<0?Math.floor(e):Math.ceil(e)}function gt(e){return 4800*e/146097}function pt(e){return 146097*e/4800}function wt(e){return function(){return this.as(e)}}function vt(e){return function(){return this.isValid()?this._data[e]:NaN}}function Mt(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}function kt(e,t,n){var s=Ke(e).abs(),i=ks(s.as("s")),r=ks(s.as("m")),a=ks(s.as("h")),o=ks(s.as("d")),u=ks(s.as("M")),l=ks(s.as("y")),d=i<=Ss.ss&&["s",i]||i0,d[4]=n,Mt.apply(null,d)}function St(e){return(e>0)-(e<0)||+e}function Dt(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,s=Ds(this._milliseconds)/1e3,i=Ds(this._days),r=Ds(this._months);t=p((e=p(s/60))/60),s%=60,e%=60;var a=n=p(r/12),o=r%=12,u=i,l=t,d=e,h=s?s.toFixed(3).replace(/\.?0+$/,""):"",c=this.asSeconds();if(!c)return"P0D";var f=c<0?"-":"",m=St(this._months)!==St(c)?"-":"",_=St(this._days)!==St(c)?"-":"",y=St(this._milliseconds)!==St(c)?"-":"";return f+"P"+(a?m+a+"Y":"")+(o?m+o+"M":"")+(u?_+u+"D":"")+(l||d||h?"T":"")+(l?y+l+"H":"")+(d?y+d+"M":"")+(h?y+h+"S":"")}var Yt,Ot;Ot=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,s=0;s68?1900:2e3)};var yn,gn=$("FullYear",!0);yn=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;tthis?this:e:m()}),Zn=["year","quarter","month","week","day","hour","minute","second","millisecond"];qe("Z",":"),qe("ZZ",""),L("Z",tn),L("ZZ",tn),I(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Je(tn,e)});var $n=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var qn=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Jn=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;Ke.fn=ze.prototype,Ke.invalid=function(){return Ke(NaN)};var Bn=st(1,"add"),Qn=st(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xn=k("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});C(0,["gg",2],0,function(){return this.weekYear()%100}),C(0,["GG",2],0,function(){return this.isoWeekYear()%100}),ut("gggg","weekYear"),ut("ggggg","weekYear"),ut("GGGG","isoWeekYear"),ut("GGGGG","isoWeekYear"),x("weekYear","gg"),x("isoWeekYear","GG"),P("weekYear",1),P("isoWeekYear",1),L("G",Kt),L("g",Kt),L("GG",Zt,It),L("gg",Zt,It),L("GGGG",Bt,At),L("gggg",Bt,At),L("GGGGG",Qt,zt),L("ggggg",Qt,zt),E(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=w(e)}),E(["gg","GG"],function(t,n,s,i){n[i]=e.parseTwoDigitYear(t)}),C("Q",0,"Qo","quarter"),x("quarter","Q"),P("quarter",7),L("Q",jt),I("Q",function(e,t){t[un]=3*(w(e)-1)}),C("D",["DD",2],"Do","date"),x("date","D"),P("date",9),L("D",Zt),L("DD",Zt,It),L("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),I(["D","DD"],ln),I("Do",function(e,t){t[ln]=w(e.match(Zt)[0],10)});var Kn=$("Date",!0);C("DDD",["DDDD",3],"DDDo","dayOfYear"),x("dayOfYear","DDD"),P("dayOfYear",4),L("DDD",Jt),L("DDDD",Et),I(["DDD","DDDD"],function(e,t,n){n._dayOfYear=w(e)}),C("m",["mm",2],0,"minute"),x("minute","m"),P("minute",14),L("m",Zt),L("mm",Zt,It),I(["m","mm"],hn);var es=$("Minutes",!1);C("s",["ss",2],0,"second"),x("second","s"),P("second",15),L("s",Zt),L("ss",Zt,It),I(["s","ss"],cn);var ts=$("Seconds",!1);C("S",0,0,function(){return~~(this.millisecond()/100)}),C(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),C(0,["SSS",3],0,"millisecond"),C(0,["SSSS",4],0,function(){return 10*this.millisecond()}),C(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),C(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),C(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),C(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),C(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),x("millisecond","ms"),P("millisecond",16),L("S",Jt,jt),L("SS",Jt,It),L("SSS",Jt,Et);var ns;for(ns="SSSS";ns.length<=9;ns+="S")L(ns,Xt);for(ns="S";ns.length<=9;ns+="S")I(ns,function(e,t){t[fn]=w(1e3*("0."+e))});var ss=$("Milliseconds",!1);C("z",0,0,"zoneAbbr"),C("zz",0,0,"zoneName");var is=y.prototype;is.add=Bn,is.calendar=function(t,n){var s=t||Ie(),i=Be(s,this).startOf("day"),r=e.calendarFormat(this,i)||"sameElse",a=n&&(D(n[r])?n[r].call(this,s):n[r]);return this.format(a||this.localeData().calendar(r,this,Ie(s)))},is.clone=function(){return new y(this)},is.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Be(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=T(t)){case"year":r=rt(this,s)/12;break;case"month":r=rt(this,s);break;case"quarter":r=rt(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:p(r)},is.endOf=function(e){return void 0===(e=T(e))||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))},is.format=function(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var n=N(this,t);return this.localeData().postformat(n)},is.from=function(e,t){return this.isValid()&&(g(e)&&e.isValid()||Ie(e).isValid())?Ke({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},is.fromNow=function(e){return this.from(Ie(),e)},is.to=function(e,t){return this.isValid()&&(g(e)&&e.isValid()||Ie(e).isValid())?Ke({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},is.toNow=function(e){return this.to(Ie(),e)},is.get=function(e){return e=T(e),D(this[e])?this[e]():this},is.invalidAt=function(){return c(this).overflow},is.isAfter=function(e,t){var n=g(e)?e:Ie(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=T(i(t)?"millisecond":t))?this.valueOf()>n.valueOf():n.valueOf()9999?N(e,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):D(Date.prototype.toISOString)?this.toDate().toISOString():N(e,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},is.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',s=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=t+'[")]';return this.format(n+s+"-MM-DD[T]HH:mm:ss.SSS"+i)},is.toJSON=function(){return this.isValid()?this.toISOString():null},is.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},is.unix=function(){return Math.floor(this.valueOf()/1e3)},is.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},is.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},is.year=gn,is.isLeapYear=function(){return Z(this.year())},is.weekYear=function(e){return lt.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},is.isoWeekYear=function(e){return lt.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},is.quarter=is.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},is.month=ee,is.daysInMonth=function(){return Q(this.year(),this.month())},is.week=is.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},is.isoWeek=is.isoWeeks=function(e){var t=ae(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},is.weeksInYear=function(){var e=this.localeData()._week;return oe(this.year(),e.dow,e.doy)},is.isoWeeksInYear=function(){return oe(this.year(),1,4)},is.date=Kn,is.day=is.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=ue(e,this.localeData()),this.add(e-t,"d")):t},is.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},is.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=le(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},is.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},is.hour=is.hours=Rn,is.minute=is.minutes=es,is.second=is.seconds=ts,is.millisecond=is.milliseconds=ss,is.utcOffset=function(t,n,s){var i,r=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Je(tn,t)))return this}else Math.abs(t)<16&&!s&&(t*=60);return!this._isUTC&&n&&(i=Qe(this)),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),r!==t&&(!n||this._changeInProgress?it(this,Ke(t-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?r:Qe(this)},is.utc=function(e){return this.utcOffset(0,e)},is.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Qe(this),"m")),this},is.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=Je(en,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},is.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Ie(e).utcOffset():0,(this.utcOffset()-e)%60==0)},is.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},is.isLocal=function(){return!!this.isValid()&&!this._isUTC},is.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},is.isUtc=Xe,is.isUTC=Xe,is.zoneAbbr=function(){return this._isUTC?"UTC":""},is.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},is.dates=k("dates accessor is deprecated. Use date instead.",Kn),is.months=k("months accessor is deprecated. Use month instead",ee),is.years=k("years accessor is deprecated. Use year instead",gn),is.zone=k("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),is.isDSTShifted=k("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!i(this._isDSTShifted))return this._isDSTShifted;var e={};if(_(e,this),(e=Ge(e))._a){var t=e._isUTC?d(e._a):Ie(e._a);this._isDSTShifted=this.isValid()&&v(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var rs=O.prototype;rs.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return D(s)?s.call(t,n):s},rs.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},rs.invalidDate=function(){return this._invalidDate},rs.ordinal=function(e){return this._ordinal.replace("%d",e)},rs.preparse=ht,rs.postformat=ht,rs.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return D(i)?i(e,t,n,s):i.replace(/%d/i,e)},rs.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return D(n)?n(t):n.replace(/%s/i,t)},rs.set=function(e){var t,n;for(n in e)D(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},rs.months=function(e,n){return e?t(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||pn).test(n)?"format":"standalone"][e.month()]:t(this._months)?this._months:this._months.standalone},rs.monthsShort=function(e,n){return e?t(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[pn.test(n)?"format":"standalone"][e.month()]:t(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},rs.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return X.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=d([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},rs.monthsRegex=function(e){return this._monthsParseExact?(u(this,"_monthsRegex")||te.call(this),e?this._monthsStrictRegex:this._monthsRegex):(u(this,"_monthsRegex")||(this._monthsRegex=kn),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},rs.monthsShortRegex=function(e){return this._monthsParseExact?(u(this,"_monthsRegex")||te.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(u(this,"_monthsShortRegex")||(this._monthsShortRegex=Mn),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},rs.week=function(e){return ae(e,this._week.dow,this._week.doy).week},rs.firstDayOfYear=function(){return this._week.doy},rs.firstDayOfWeek=function(){return this._week.dow},rs.weekdays=function(e,n){return e?t(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(n)?"format":"standalone"][e.day()]:t(this._weekdays)?this._weekdays:this._weekdays.standalone},rs.weekdaysMin=function(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin},rs.weekdaysShort=function(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort},rs.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return de.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=d([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},rs.weekdaysRegex=function(e){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||he.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,"_weekdaysRegex")||(this._weekdaysRegex=xn),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},rs.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||he.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Tn),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},rs.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||he.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=bn),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},rs.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},rs.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},pe("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===w(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),e.lang=k("moment.lang is deprecated. Use moment.locale instead.",pe),e.langData=k("moment.langData is deprecated. Use moment.localeData instead.",ve);var as=Math.abs,os=wt("ms"),us=wt("s"),ls=wt("m"),ds=wt("h"),hs=wt("d"),cs=wt("w"),fs=wt("M"),ms=wt("y"),_s=vt("milliseconds"),ys=vt("seconds"),gs=vt("minutes"),ps=vt("hours"),ws=vt("days"),vs=vt("months"),Ms=vt("years"),ks=Math.round,Ss={ss:44,s:45,m:45,h:22,d:26,M:11},Ds=Math.abs,Ys=ze.prototype;return Ys.isValid=function(){return this._isValid},Ys.abs=function(){var e=this._data;return this._milliseconds=as(this._milliseconds),this._days=as(this._days),this._months=as(this._months),e.milliseconds=as(e.milliseconds),e.seconds=as(e.seconds),e.minutes=as(e.minutes),e.hours=as(e.hours),e.months=as(e.months),e.years=as(e.years),this},Ys.add=function(e,t){return _t(this,e,t,1)},Ys.subtract=function(e,t){return _t(this,e,t,-1)},Ys.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=T(e))||"year"===e)return t=this._days+s/864e5,n=this._months+gt(t),"month"===e?n:n/12;switch(t=this._days+Math.round(pt(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},Ys.asMilliseconds=os,Ys.asSeconds=us,Ys.asMinutes=ls,Ys.asHours=ds,Ys.asDays=hs,Ys.asWeeks=cs,Ys.asMonths=fs,Ys.asYears=ms,Ys.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN},Ys._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return r>=0&&a>=0&&o>=0||r<=0&&a<=0&&o<=0||(r+=864e5*yt(pt(o)+a),a=0,o=0),u.milliseconds=r%1e3,e=p(r/1e3),u.seconds=e%60,t=p(e/60),u.minutes=t%60,n=p(t/60),u.hours=n%24,a+=p(n/24),i=p(gt(a)),o+=i,a-=yt(pt(i)),s=p(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},Ys.clone=function(){return Ke(this)},Ys.get=function(e){return e=T(e),this.isValid()?this[e+"s"]():NaN},Ys.milliseconds=_s,Ys.seconds=ys,Ys.minutes=gs,Ys.hours=ps,Ys.days=ws,Ys.weeks=function(){return p(this.days()/7)},Ys.months=vs,Ys.years=Ms,Ys.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=kt(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)},Ys.toISOString=Dt,Ys.toString=Dt,Ys.toJSON=Dt,Ys.locale=at,Ys.localeData=ot,Ys.toIsoString=k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Dt),Ys.lang=Xn,C("X",0,0,"unix"),C("x",0,0,"valueOf"),L("x",Kt),L("X",nn),I("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),I("x",function(e,t,n){n._d=new Date(w(e))}),e.version="2.19.0",function(e){Yt=e}(Ie),e.fn=is,e.min=function(){return Ee("isBefore",[].slice.call(arguments,0))},e.max=function(){return Ee("isAfter",[].slice.call(arguments,0))},e.now=function(){return Date.now?Date.now():+new Date},e.utc=d,e.unix=function(e){return Ie(1e3*e)},e.months=function(e,t){return ft(e,t,"months")},e.isDate=a,e.locale=pe,e.invalid=m,e.duration=Ke,e.isMoment=g,e.weekdays=function(e,t,n){return mt(e,t,n,"weekdays")},e.parseZone=function(){return Ie.apply(null,arguments).parseZone()},e.localeData=ve,e.isDuration=Ze,e.monthsShort=function(e,t){return ft(e,t,"monthsShort")},e.weekdaysMin=function(e,t,n){return mt(e,t,n,"weekdaysMin")},e.defineLocale=we,e.updateLocale=function(e,t){if(null!=t){var n,s=Cn;null!=Fn[e]&&(s=Fn[e]._config),(n=new O(t=Y(s,t))).parentLocale=Fn[e],Fn[e]=n,pe(e)}else null!=Fn[e]&&(null!=Fn[e].parentLocale?Fn[e]=Fn[e].parentLocale:null!=Fn[e]&&delete Fn[e]);return Fn[e]},e.locales=function(){return Pt(Fn)},e.weekdaysShort=function(e,t,n){return mt(e,t,n,"weekdaysShort")},e.normalizeUnits=T,e.relativeTimeRounding=function(e){return void 0===e?ks:"function"==typeof e&&(ks=e,!0)},e.relativeTimeThreshold=function(e,t){return void 0!==Ss[e]&&(void 0===t?Ss[e]:(Ss[e]=t,"s"===e&&(Ss.ss=t-1),!0))},e.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},e.prototype=is,e}); \ No newline at end of file diff --git a/app/assets/stylesheets/fullcalendar.css b/app/assets/stylesheets/fullcalendar.css deleted file mode 100755 index acae725d2..000000000 --- a/app/assets/stylesheets/fullcalendar.css +++ /dev/null @@ -1,579 +0,0 @@ -/*! - * FullCalendar v1.6.1 Stylesheet - * Docs & License: http://arshaw.com/fullcalendar/ - * (c) 2013 Adam Shaw - */ - - -.fc { - direction: ltr; - text-align: left; - } - -.fc table { - border-collapse: collapse; - border-spacing: 0; - } - -html .fc, -.fc table { - font-size: 1em; - } - -.fc td, -.fc th { - padding: 0; - vertical-align: top; - } - - - -/* Header -------------------------------------------------------------------------*/ - -.fc-header td { - white-space: nowrap; - } - -.fc-header-left { - width: 25%; - text-align: left; - } - -.fc-header-center { - text-align: center; - } - -.fc-header-right { - width: 25%; - text-align: right; - } - -.fc-header-title { - display: inline-block; - vertical-align: top; - } - -.fc-header-title h2 { - margin-top: 0; - white-space: nowrap; - } - -.fc .fc-header-space { - padding-left: 10px; - } - -.fc-header .fc-button { - margin-bottom: 1em; - vertical-align: top; - } - -/* buttons edges butting together */ - -.fc-header .fc-button { - margin-right: -1px; - } - -.fc-header .fc-corner-right, /* non-theme */ -.fc-header .ui-corner-right { /* theme */ - margin-right: 0; /* back to normal */ - } - -/* button layering (for border precedence) */ - -.fc-header .fc-state-hover, -.fc-header .ui-state-hover { - z-index: 2; - } - -.fc-header .fc-state-down { - z-index: 3; - } - -.fc-header .fc-state-active, -.fc-header .ui-state-active { - z-index: 4; - } - - - -/* Content -------------------------------------------------------------------------*/ - -.fc-content { - clear: both; - } - -.fc-view { - width: 100%; /* needed for view switching (when view is absolute) */ - overflow: hidden; - } - - - -/* Cell Styles -------------------------------------------------------------------------*/ - -.fc-widget-header, /* , usually */ -.fc-widget-content { /* , usually */ - border: 1px solid #ddd; - } - -.fc-state-highlight { /* today cell */ /* TODO: add .fc-today to */ - background: #fcf8e3; - } - -.fc-cell-overlay { /* semi-transparent rectangle while dragging */ - background: #bce8f1; - opacity: .3; - filter: alpha(opacity=30); /* for IE */ - } - - - -/* Buttons -------------------------------------------------------------------------*/ - -.fc-button { - position: relative; - display: inline-block; - padding: 0 .6em; - overflow: hidden; - height: 1.9em; - line-height: 1.9em; - white-space: nowrap; - cursor: pointer; - } - -.fc-state-default { /* non-theme */ - border: 1px solid; - } - -.fc-state-default.fc-corner-left { /* non-theme */ - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - } - -.fc-state-default.fc-corner-right { /* non-theme */ - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - } - -/* - Our default prev/next buttons use HTML entities like ‹ › « » - and we'll try to make them look good cross-browser. -*/ - -.fc-text-arrow { - margin: 0 .1em; - font-size: 2em; - font-family: "Courier New", Courier, monospace; - vertical-align: baseline; /* for IE7 */ - } - -.fc-button-prev .fc-text-arrow, -.fc-button-next .fc-text-arrow { /* for ‹ › */ - font-weight: bold; - } - -/* icon (for jquery ui) */ - -.fc-button .fc-icon-wrap { - position: relative; - float: left; - top: 50%; - } - -.fc-button .ui-icon { - position: relative; - float: left; - margin-top: -50%; - *margin-top: 0; - *top: -50%; - } - -/* - button states - borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/) -*/ - -.fc-state-default { - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); - background-repeat: repeat-x; - border-color: #e6e6e6 #e6e6e6 #bfbfbf; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - color: #333; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - } - -.fc-state-hover, -.fc-state-down, -.fc-state-active, -.fc-state-disabled { - color: #333333; - background-color: #e6e6e6; - } - -.fc-state-hover { - color: #333333; - text-decoration: none; - background-position: 0 -15px; - -webkit-transition: background-position 0.1s linear; - -moz-transition: background-position 0.1s linear; - -o-transition: background-position 0.1s linear; - transition: background-position 0.1s linear; - } - -.fc-state-down, -.fc-state-active { - background-color: #cccccc; - background-image: none; - outline: 0; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - } - -.fc-state-disabled { - cursor: default; - background-image: none; - opacity: 0.65; - filter: alpha(opacity=65); - box-shadow: none; - } - - - -/* Global Event Styles -------------------------------------------------------------------------*/ - -.fc-event { - border: 1px solid #3a87ad; /* default BORDER color */ - background-color: #3a87ad; /* default BACKGROUND color */ - color: #fff; /* default TEXT color */ - font-size: .85em; - cursor: default; - } - -a.fc-event { - text-decoration: none; - } - -a.fc-event, -.fc-event-draggable { - cursor: pointer; - } - -.fc-rtl .fc-event { - text-align: right; - } - -.fc-event-inner { - width: 100%; - height: 100%; - overflow: hidden; - } - -.fc-event-time, -.fc-event-title { - padding: 0 1px; - } - -.fc .ui-resizable-handle { - display: block; - position: absolute; - z-index: 99999; - overflow: hidden; /* hacky spaces (IE6/7) */ - font-size: 300%; /* */ - line-height: 50%; /* */ - } - - - -/* Horizontal Events -------------------------------------------------------------------------*/ - -.fc-event-hori { - border-width: 1px 0; - margin-bottom: 1px; - } - -.fc-ltr .fc-event-hori.fc-event-start, -.fc-rtl .fc-event-hori.fc-event-end { - border-left-width: 1px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - } - -.fc-ltr .fc-event-hori.fc-event-end, -.fc-rtl .fc-event-hori.fc-event-start { - border-right-width: 1px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - } - -/* resizable */ - -.fc-event-hori .ui-resizable-e { - top: 0 !important; /* importants override pre jquery ui 1.7 styles */ - right: -3px !important; - width: 7px !important; - height: 100% !important; - cursor: e-resize; - } - -.fc-event-hori .ui-resizable-w { - top: 0 !important; - left: -3px !important; - width: 7px !important; - height: 100% !important; - cursor: w-resize; - } - -.fc-event-hori .ui-resizable-handle { - _padding-bottom: 14px; /* IE6 had 0 height */ - } - - - -/* Reusable Separate-border Table -------------------------------------------------------------*/ - -table.fc-border-separate { - border-collapse: separate; - } - -.fc-border-separate th, -.fc-border-separate td { - border-width: 1px 0 0 1px; - } - -.fc-border-separate th.fc-last, -.fc-border-separate td.fc-last { - border-right-width: 1px; - } - -.fc-border-separate tr.fc-last th, -.fc-border-separate tr.fc-last td { - border-bottom-width: 1px; - } - -.fc-border-separate tbody tr.fc-first td, -.fc-border-separate tbody tr.fc-first th { - border-top-width: 0; - } - - - -/* Month View, Basic Week View, Basic Day View -------------------------------------------------------------------------*/ - -.fc-grid th { - text-align: center; - } - -.fc .fc-week-number { - width: 22px; - text-align: center; - } - -.fc .fc-week-number div { - padding: 0 2px; - } - -.fc-grid .fc-day-number { - float: right; - padding: 0 2px; - } - -.fc-grid .fc-other-month .fc-day-number { - opacity: 0.3; - filter: alpha(opacity=30); /* for IE */ - /* opacity with small font can sometimes look too faded - might want to set the 'color' property instead - making day-numbers bold also fixes the problem */ - } - -.fc-grid .fc-day-content { - clear: both; - padding: 2px 2px 1px; /* distance between events and day edges */ - } - -/* event styles */ - -.fc-grid .fc-event-time { - font-weight: bold; - } - -/* right-to-left */ - -.fc-rtl .fc-grid .fc-day-number { - float: left; - } - -.fc-rtl .fc-grid .fc-event-time { - float: right; - } - - - -/* Agenda Week View, Agenda Day View -------------------------------------------------------------------------*/ - -.fc-agenda table { - border-collapse: separate; - } - -.fc-agenda-days th { - text-align: center; - } - -.fc-agenda .fc-agenda-axis { - width: 50px; - padding: 0 4px; - vertical-align: middle; - text-align: right; - white-space: nowrap; - font-weight: normal; - } - -.fc-agenda .fc-week-number { - font-weight: bold; - } - -.fc-agenda .fc-day-content { - padding: 2px 2px 1px; - } - -/* make axis border take precedence */ - -.fc-agenda-days .fc-agenda-axis { - border-right-width: 1px; - } - -.fc-agenda-days .fc-col0 { - border-left-width: 0; - } - -/* all-day area */ - -.fc-agenda-allday th { - border-width: 0 1px; - } - -.fc-agenda-allday .fc-day-content { - min-height: 34px; /* TODO: doesnt work well in quirksmode */ - _height: 34px; - } - -/* divider (between all-day and slots) */ - -.fc-agenda-divider-inner { - height: 2px; - overflow: hidden; - } - -.fc-widget-header .fc-agenda-divider-inner { - background: #eee; - } - -/* slot rows */ - -.fc-agenda-slots th { - border-width: 1px 1px 0; - } - -.fc-agenda-slots td { - border-width: 1px 0 0; - background: none; - } - -.fc-agenda-slots td div { - height: 20px; - } - -.fc-agenda-slots tr.fc-slot0 th, -.fc-agenda-slots tr.fc-slot0 td { - border-top-width: 0; - } - -.fc-agenda-slots tr.fc-minor th, -.fc-agenda-slots tr.fc-minor td { - border-top-style: dotted; - } - -.fc-agenda-slots tr.fc-minor th.ui-widget-header { - *border-top-style: solid; /* doesn't work with background in IE6/7 */ - } - - - -/* Vertical Events -------------------------------------------------------------------------*/ - -.fc-event-vert { - border-width: 0 1px; - } - -.fc-event-vert.fc-event-start { - border-top-width: 1px; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - } - -.fc-event-vert.fc-event-end { - border-bottom-width: 1px; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - } - -.fc-event-vert .fc-event-time { - white-space: nowrap; - font-size: 10px; - } - -.fc-event-vert .fc-event-inner { - position: relative; - z-index: 2; - } - -.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */ - position: absolute; - z-index: 1; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #fff; - opacity: .25; - filter: alpha(opacity=25); - } - -.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */ -.fc-select-helper .fc-event-bg { - display: none\9; /* for IE6/7/8. nested opacity filters while dragging don't work */ - } - -/* resizable */ - -.fc-event-vert .ui-resizable-s { - bottom: 0 !important; /* importants override pre jquery ui 1.7 styles */ - width: 100% !important; - height: 8px !important; - overflow: hidden !important; - line-height: 8px !important; - font-size: 11px !important; - font-family: monospace; - text-align: center; - cursor: s-resize; - } - -.fc-agenda .ui-resizable-resizing { /* TODO: better selector */ - _overflow: hidden; - } - - diff --git a/app/assets/stylesheets/fullcalendar.min.css b/app/assets/stylesheets/fullcalendar.min.css new file mode 100644 index 000000000..450eb253e --- /dev/null +++ b/app/assets/stylesheets/fullcalendar.min.css @@ -0,0 +1,5 @@ +/*! + * FullCalendar v3.6.1 Stylesheet + * Docs & License: https://fullcalendar.io/ + * (c) 2017 Adam Shaw + */.fc button,.fc table,body .fc{font-size:1em}.fc-bg,.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc-icon,.fc-unselectable{-webkit-touch-callout:none;-khtml-user-select:none}.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}.fc th,.fc-basic-view td.fc-week-number,.fc-icon,.fc-toolbar{text-align:center}.fc-highlight{background:#bce8f1;opacity:.3}.fc-bgevent{background:#8fdf82;opacity:.3}.fc-nonbusiness{background:#d7d7d7}.fc button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;height:2.1em;padding:0 .6em;white-space:nowrap;cursor:pointer}.fc button::-moz-focus-inner{margin:0;padding:0}.fc-state-default{border:1px solid;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);color:#333;text-shadow:0 1px 1px rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.fc-state-default.fc-corner-left{border-top-left-radius:4px;border-bottom-left-radius:4px}.fc-state-default.fc-corner-right{border-top-right-radius:4px;border-bottom-right-radius:4px}.fc button .fc-icon{position:relative;top:-.05em;margin:0 .2em;vertical-align:middle}.fc-state-active,.fc-state-disabled,.fc-state-down,.fc-state-hover{color:#333;background-color:#e6e6e6}.fc-state-hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.fc-state-active,.fc-state-down{background-color:#ccc;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.fc-state-disabled{cursor:default;background-image:none;opacity:.65;box-shadow:none}.fc-event.fc-draggable,.fc-event[href],.fc-popover .fc-header .fc-close,a[data-goto]{cursor:pointer}.fc-button-group{display:inline-block}.fc .fc-button-group>*{float:left;margin:0 0 0 -1px}.fc .fc-button-group>:first-child{margin-left:0}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc-popover .fc-header{padding:2px 4px}.fc-popover .fc-header .fc-title{margin:0 2px}.fc-ltr .fc-popover .fc-header .fc-title,.fc-rtl .fc-popover .fc-header .fc-close{float:left}.fc-ltr .fc-popover .fc-header .fc-close,.fc-rtl .fc-popover .fc-header .fc-title{float:right}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0 0 2px;border-width:1px 0}.fc-bg table,.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-clear{clear:both}.fc-bg,.fc-bgevent-skeleton,.fc-helper-skeleton,.fc-highlight-skeleton{position:absolute;top:0;left:0;right:0}.fc table{width:100%;box-sizing:border-box;table-layout:fixed;border-collapse:collapse;border-spacing:0}.fc td,.fc th{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc td.fc-today{border-style:double}a[data-goto]:hover{text-decoration:underline}.fc .fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton td,.fc-row .fc-highlight-skeleton td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:2px}.fc-row .fc-helper-skeleton{z-index:5}.fc .fc-row .fc-content-skeleton table,.fc .fc-row .fc-content-skeleton td,.fc .fc-row .fc-helper-skeleton td{background:0 0;border-color:transparent}.fc-row .fc-content-skeleton td,.fc-row .fc-helper-skeleton td{border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-helper-skeleton tbody td{border-top:0}.fc-scroller{-webkit-overflow-scrolling:touch}.fc-icon,.fc-row.fc-rigid,.fc-time-grid-event{overflow:hidden}.fc-scroller>.fc-day-grid,.fc-scroller>.fc-time-grid{position:relative;width:100%}.fc-event{position:relative;display:block;font-size:.85em;line-height:1.3;border-radius:3px;border:1px solid #3a87ad}.fc-event,.fc-event-dot{background-color:#3a87ad}.fc-event,.fc-event:hover{color:#fff;text-decoration:none}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-bg{z-index:1;background:#fff;opacity:.25}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:4;display:none}.fc-event.fc-allow-mouse-resize .fc-resizer,.fc-event.fc-selected .fc-resizer{display:block}.fc-event.fc-selected .fc-resizer:before{content:"";position:absolute;z-index:9999;top:50%;left:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px}.fc-event.fc-selected{z-index:9999!important;box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event.fc-selected.fc-dragging{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-h-event.fc-selected:before{content:"";position:absolute;z-index:3;top:-10px;bottom:-10px;left:0;right:0}.fc-ltr .fc-h-event.fc-not-start,.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-ltr .fc-h-event .fc-start-resizer,.fc-rtl .fc-h-event .fc-end-resizer{cursor:w-resize;left:-1px}.fc-ltr .fc-h-event .fc-end-resizer,.fc-rtl .fc-h-event .fc-start-resizer{cursor:e-resize;right:-1px}.fc-h-event.fc-allow-mouse-resize .fc-resizer{width:7px;top:-1px;bottom:-1px}.fc-h-event.fc-selected .fc-resizer{border-radius:4px;border-width:1px;width:6px;height:6px;border-style:solid;border-color:inherit;background:#fff;top:50%;margin-top:-4px}.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,.fc-rtl .fc-h-event.fc-selected .fc-end-resizer{margin-left:-4px}.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,.fc-rtl .fc-h-event.fc-selected .fc-start-resizer{margin-right:-4px}.fc-day-grid-event{margin:1px 2px 0;padding:0 1px}tr:first-child>td>.fc-day-grid-event{margin-top:2px}.fc-day-grid-event.fc-selected:after{content:"";position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;background:#000;opacity:.25}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:700}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer{margin-left:-2px}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer{margin-right:-2px}a.fc-more{margin:1px 3px;font-size:.85em;cursor:pointer;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc.fc-bootstrap3 a,.ui-widget .fc-event{text-decoration:none}.fc-limited{display:none}.fc-icon,.fc-toolbar .fc-center{display:inline-block}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-now-indicator{position:absolute;border:0 solid red}.fc-icon:after,.fc-toolbar button{position:relative}.fc-unselectable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-list-view,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#ddd}.fc-unthemed .fc-popover{background-color:#fff;border-width:1px;border-style:solid}.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-popover .fc-header{background:#eee}.fc-unthemed td.fc-today{background:#fcf8e3}.fc-unthemed .fc-disabled-day{background:#d7d7d7;opacity:.3}.fc-icon{height:1em;line-height:1em;font-size:1em;font-family:"Courier New",Courier,monospace;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fc-icon-left-single-arrow:after{content:"\02039";font-weight:700;font-size:200%;top:-7%}.fc-icon-right-single-arrow:after{content:"\0203A";font-weight:700;font-size:200%;top:-7%}.fc-icon-left-double-arrow:after{content:"\000AB";font-size:160%;top:-7%}.fc-icon-right-double-arrow:after{content:"\000BB";font-size:160%;top:-7%}.fc-icon-left-triangle:after{content:"\25C4";font-size:125%;top:3%}.fc-icon-right-triangle:after{content:"\25BA";font-size:125%;top:3%}.fc-icon-down-triangle:after{content:"\25BC";font-size:125%;top:2%}.fc-icon-x:after{content:"\000D7";font-size:200%;top:6%}.fc-unthemed .fc-popover .fc-header .fc-close{color:#666;font-size:.9em;margin-top:2px}.fc-unthemed .fc-list-item:hover td{background-color:#f5f5f5}.ui-widget .fc-disabled-day{background-image:none}.fc-bootstrap3 .fc-time-grid .fc-slats table,.fc-time-grid .fc-slats .ui-widget-content{background:0 0}.fc-popover>.ui-widget-header+.ui-widget-content{border-top:0}.ui-widget .fc-event{color:#fff;font-weight:400}.ui-widget td.fc-axis{font-weight:400}.fc.fc-bootstrap3 a[data-goto]:hover{text-decoration:underline}.fc-bootstrap3 hr.fc-divider{border-color:inherit}.fc-bootstrap3 .fc-today.alert{border-radius:0}.fc-bootstrap3 .fc-popover .panel-body{padding:0}.fc-toolbar.fc-header-toolbar{margin-bottom:1em}.fc-toolbar.fc-footer-toolbar{margin-top:1em}.fc-toolbar .fc-left{float:left}.fc-toolbar .fc-right{float:right}.fc .fc-toolbar>*>*{float:left;margin-left:.75em}.fc .fc-toolbar>*>:first-child{margin-left:0}.fc-toolbar h2{margin:0}.fc-toolbar .fc-state-hover,.fc-toolbar .ui-state-hover{z-index:2}.fc-toolbar .fc-state-down{z-index:3}.fc-toolbar .fc-state-active,.fc-toolbar .ui-state-active{z-index:4}.fc-toolbar button:focus{z-index:5}.fc-view-container *,.fc-view-container :after,.fc-view-container :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}.fc-basicDay-view .fc-content-skeleton,.fc-basicWeek-view .fc-content-skeleton{padding-bottom:1em}.fc-basic-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-day-top.fc-other-month{opacity:.3}.fc-basic-view .fc-day-number,.fc-basic-view .fc-week-number{padding:2px}.fc-basic-view th.fc-day-number,.fc-basic-view th.fc-week-number{padding:0 2px}.fc-ltr .fc-basic-view .fc-day-top .fc-day-number{float:right}.fc-rtl .fc-basic-view .fc-day-top .fc-day-number{float:left}.fc-ltr .fc-basic-view .fc-day-top .fc-week-number{float:left;border-radius:0 0 3px}.fc-rtl .fc-basic-view .fc-day-top .fc-week-number{float:right;border-radius:0 0 0 3px}.fc-basic-view .fc-day-top .fc-week-number{min-width:1.5em;text-align:center;background-color:#f2f2f2;color:grey}.fc-basic-view td.fc-week-number>*{display:inline-block;min-width:1.25em}.fc-agenda-view .fc-day-grid{position:relative;z-index:2}.fc-agenda-view .fc-day-grid .fc-row{min-height:3em}.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton{padding-bottom:1em}.fc .fc-axis{vertical-align:middle;padding:0 4px;white-space:nowrap}.fc-ltr .fc-axis{text-align:right}.fc-rtl .fc-axis{text-align:left}.fc-time-grid,.fc-time-grid-container{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-content-col{position:relative}.fc-time-grid .fc-content-skeleton{position:absolute;z-index:3;top:0;left:0;right:0}.fc-time-grid .fc-business-container{position:relative;z-index:1}.fc-time-grid .fc-bgevent-container{position:relative;z-index:2}.fc-time-grid .fc-highlight-container{z-index:3;position:relative}.fc-time-grid .fc-event-container{position:relative;z-index:4}.fc-time-grid .fc-now-indicator-line{z-index:5}.fc-time-grid .fc-helper-container{position:relative;z-index:6}.fc-time-grid .fc-slats td{height:1.5em;border-bottom:0}.fc-time-grid .fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-ltr .fc-time-grid .fc-event-container{margin:0 2.5% 0 2px}.fc-rtl .fc-time-grid .fc-event-container{margin:0 2px 0 2.5%}.fc-time-grid .fc-bgevent,.fc-time-grid .fc-event{position:absolute;z-index:1}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-v-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-time-grid-event.fc-selected{overflow:visible}.fc-time-grid-event.fc-selected .fc-bg{display:none}.fc-time-grid-event .fc-content{overflow:hidden}.fc-time-grid-event .fc-time,.fc-time-grid-event .fc-title{padding:0 1px}.fc-time-grid-event .fc-time{font-size:.85em;white-space:nowrap}.fc-time-grid-event.fc-short .fc-content{white-space:nowrap}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:"\000A0-\000A0"}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer{left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:8px;font-size:11px;font-family:monospace;text-align:center;cursor:s-resize}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after{content:"="}.fc-time-grid-event.fc-selected .fc-resizer{border-radius:5px;border-width:1px;width:8px;height:8px;border-style:solid;border-color:inherit;background:#fff;left:50%;margin-left:-5px;bottom:-5px}.fc-time-grid .fc-now-indicator-line{border-top-width:1px;left:0;right:0}.fc-time-grid .fc-now-indicator-arrow{margin-top:-5px}.fc-ltr .fc-time-grid .fc-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-rtl .fc-time-grid .fc-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent}.fc-event-dot{display:inline-block;width:10px;height:10px;border-radius:5px}.fc-rtl .fc-list-view{direction:rtl}.fc-list-view{border-width:1px;border-style:solid}.fc .fc-list-table{table-layout:auto}.fc-list-table td{border-width:1px 0 0;padding:8px 14px}.fc-list-table tr:first-child td{border-top-width:0}.fc-list-heading{border-bottom-width:1px}.fc-list-heading td{font-weight:700}.fc-ltr .fc-list-heading-main{float:left}.fc-ltr .fc-list-heading-alt,.fc-rtl .fc-list-heading-main{float:right}.fc-rtl .fc-list-heading-alt{float:left}.fc-list-item.fc-has-url{cursor:pointer}.fc-list-item-marker,.fc-list-item-time{white-space:nowrap;width:1px}.fc-ltr .fc-list-item-marker{padding-right:0}.fc-rtl .fc-list-item-marker{padding-left:0}.fc-list-item-title a{text-decoration:none;color:inherit}.fc-list-item-title a[href]:hover{text-decoration:underline}.fc-list-empty-wrap2{position:absolute;top:0;left:0;right:0;bottom:0}.fc-list-empty-wrap1{width:100%;height:100%;display:table}.fc-list-empty{display:table-cell;vertical-align:middle;text-align:center}.fc-unthemed .fc-list-empty{background-color:#eee} \ No newline at end of file diff --git a/app/views/paid_time_off/index.html.erb b/app/views/paid_time_off/index.html.erb index 94b5c9f96..58b1e35be 100644 --- a/app/views/paid_time_off/index.html.erb +++ b/app/views/paid_time_off/index.html.erb @@ -118,7 +118,8 @@
-<%= javascript_include_tag "fullcalendar.js" %> +<%= javascript_include_tag "moment.min.js" %> +<%= javascript_include_tag "fullcalendar.min.js" %> \ No newline at end of file + diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb index fd64b5c80..701fd1e50 100644 --- a/config/initializers/assets.rb +++ b/config/initializers/assets.rb @@ -1 +1 @@ -Rails.application.config.assets.precompile += %w( validation.js jquery.dataTables.min.js fullcalendar.js ) +Rails.application.config.assets.precompile += %w( validation.js jquery.dataTables.min.js fullcalendar.min.js moment.min.js ) From 017c5833f92a63dba0ee0fab5fbbf87fb35a9888 Mon Sep 17 00:00:00 2001 From: Joseph Mastey Date: Mon, 23 Oct 2017 21:37:24 -0500 Subject: [PATCH 077/554] remove files from generated assets folder that shouldn't be checked in --- .../1-4125f191a8b1c0af0e0ed6de7ccd7ac4.jpg | Bin 72580 -> 0 bytes public/assets/1.jpg | Bin 72580 -> 0 bytes .../2-25f8e8f4f18872206f3800f16d7dfcbe.jpg | Bin 91665 -> 0 bytes public/assets/2.jpg | Bin 91665 -> 0 bytes .../3-e154bbe5f28637a837011ee3cdf59400.jpg | Bin 117977 -> 0 bytes public/assets/3.jpg | Bin 117977 -> 0 bytes .../4-962373fb07da63a676ade578f80e9c91.jpg | Bin 24700 -> 0 bytes public/assets/4.jpg | Bin 24700 -> 0 bytes ...alpha-932f5a0406e65532a0a6fd4f7228bddb.png | Bin 3271 -> 0 bytes public/assets/alpha.png | Bin 3271 -> 0 bytes ...cation-bbdcb4ca193350fe8addc3b0bb014c3a.js | 573 ----- ...ion-bbdcb4ca193350fe8addc3b0bb014c3a.js.gz | Bin 164493 -> 0 bytes ...ation-f6a7a847cfcdd336b9e20dda84bd2a8c.css | 42 - ...on-f6a7a847cfcdd336b9e20dda84bd2a8c.css.gz | Bin 50770 -> 0 bytes public/assets/application.css | 42 - public/assets/application.css.gz | Bin 50419 -> 0 bytes public/assets/application.js | 573 ----- public/assets/application.js.gz | Bin 164493 -> 0 bytes ...orest-af051acab7dd3319d2d6896c4c22ae89.png | Bin 92300 -> 0 bytes public/assets/blackforest.png | Bin 92300 -> 0 bytes ...clear-ba85e4011b6936306bf1660bc819d6d4.png | Bin 509 -> 0 bytes public/assets/clear.png | Bin 509 -> 0 bytes ...mpany-8b431abcf3fdd4f9e21f712c95587db5.png | Bin 1191 -> 0 bytes public/assets/company.png | Bin 1191 -> 0 bytes ...email-71a8296a2df51d12f4cb46fdc4cd6deb.png | Bin 1511 -> 0 bytes public/assets/email.png | Bin 1511 -> 0 bytes ...omoon-2213df2e039ef3ddc67ef201a0349d09.svg | 1930 ----------------- ...moon-5ff442043fb0620aae0e35869c06608d.woff | Bin 96488 -> 0 bytes ...omoon-9eab9943195af4209e68b5dff5a9bfa6.ttf | Bin 73632 -> 0 bytes ...omoon-ff776c24d91fac71f9183fb12ee734a2.eot | Bin 73796 -> 0 bytes ...n.dev-50c41dfca4e0ab0f86e0499a558f9edd.svg | 1930 ----------------- public/assets/fonts/icomoon.dev.svg | 1930 ----------------- public/assets/fonts/icomoon.eot | Bin 73796 -> 0 bytes public/assets/fonts/icomoon.svg | 1930 ----------------- public/assets/fonts/icomoon.ttf | Bin 73632 -> 0 bytes public/assets/fonts/icomoon.woff | Bin 96488 -> 0 bytes ...lings-7349fb2201bbc2a14fd8ba833919ed58.png | Bin 15745 -> 0 bytes ...white-6cccd17a7aed91dbc0157d343c68c0d9.png | Bin 8777 -> 0 bytes public/assets/glyphicons-halflings-white.png | Bin 8777 -> 0 bytes public/assets/glyphicons-halflings.png | Bin 15745 -> 0 bytes ...creen-58802ea4908e9c1bc1d583fff014649e.jpg | Bin 75071 -> 0 bytes public/assets/html-screen.jpg | Bin 75071 -> 0 bytes .../hue-5442c4a1b533c80e045ba26a142c1e48.png | Bin 2972 -> 0 bytes public/assets/hue.png | Bin 2972 -> 0 bytes ...y.min-6c267bfd2b3f36e6edccb2e584934c1c.map | 1 - public/assets/jquery.min.map | 1 - .../key-d3084ad3589d2755b52c8dc43ab73108.png | Bin 1259 -> 0 bytes public/assets/key.png | Bin 1259 -> 0 bytes ...black-39c883bbebd28b152119a65f6d2ea7b4.gif | Bin 3758 -> 0 bytes public/assets/loading-black.gif | Bin 3758 -> 0 bytes ...-blue-4f1972931e511fe87b09dc2b7ffde1dd.gif | Bin 3689 -> 0 bytes public/assets/loading-blue.gif | Bin 3689 -> 0 bytes ...ading-efec87a6e4d665ab02c27f9049095490.gif | Bin 1849 -> 0 bytes ...green-82f56791cf256b454aa284377142723e.gif | Bin 3776 -> 0 bytes public/assets/loading-green.gif | Bin 3776 -> 0 bytes ...range-fd48ff2ea3215bb0121fddfb60fef102.gif | Bin 3776 -> 0 bytes public/assets/loading-orange.gif | Bin 3776 -> 0 bytes ...g-red-5e398d3c3f6b44b8ca6e072d60454c65.gif | Bin 3817 -> 0 bytes public/assets/loading-red.gif | Bin 3817 -> 0 bytes public/assets/loading.gif | Bin 1849 -> 0 bytes .../logo-0ed1a5fd3d69994c8d58d36222b2c24a.psd | Bin 91309 -> 0 bytes .../logo-433111654da5e6db26944f3fd1c80831.png | Bin 3028 -> 0 bytes ...-blue-6aa0ff8da1338bbb0951b900f8de2b9b.png | Bin 1977 -> 0 bytes public/assets/logo-blue.png | Bin 1977 -> 0 bytes public/assets/logo.png | Bin 3028 -> 0 bytes public/assets/logo.psd | Bin 91309 -> 0 bytes ...logo1-37e955f777c0062b23a9d323ffaa92d8.png | Bin 3215 -> 0 bytes public/assets/logo1.png | Bin 3215 -> 0 bytes ...logo2-4b3f6ce8994626640fb977eda5b74521.png | Bin 9621 -> 0 bytes public/assets/logo2.png | Bin 9621 -> 0 bytes ...logo3-d8b78dab538bc2daf0f994b29aab9a7d.png | Bin 3231 -> 0 bytes public/assets/logo3.png | Bin 3231 -> 0 bytes public/assets/manifest.yml | 97 - ...ofile-52f786e5c452b44df8f6fa9bc55cae13.png | Bin 22205 -> 0 bytes ...ofile-c847e86811cb213cb5515a99e15c2147.jpg | Bin 5015 -> 0 bytes public/assets/profile.jpg | Bin 5015 -> 0 bytes public/assets/profile.png | Bin 22205 -> 0 bytes ...file1-ff44ad67a53c1267d3d4cc1176044623.png | Bin 5285 -> 0 bytes public/assets/profile1.png | Bin 5285 -> 0 bytes ...color-1ae5715b6319e03f38b6e4b1b362593c.jpg | Bin 3324 -> 0 bytes public/assets/profile_color.jpg | Bin 3324 -> 0 bytes ...ation-ef06f89134cc9292c1d0a6918c3d1347.png | Bin 8817 -> 0 bytes public/assets/saturation.png | Bin 8817 -> 0 bytes ...lect2-50edc2ca5ee0efd186a7842a8f9b07e6.png | Bin 199 -> 0 bytes public/assets/select2.png | Bin 199 -> 0 bytes ...icons-90b4c8f4d09b7d1289def36630a21f06.png | Bin 14664 -> 0 bytes public/assets/social_icons.png | Bin 14664 -> 0 bytes ...rting-e916f5b91d00d6d1da039d1617af690f.png | Bin 1121 -> 0 bytes public/assets/sorting.png | Bin 1121 -> 0 bytes ...g_asc-02aefa0e655dbb1572b217414b573838.png | Bin 1032 -> 0 bytes public/assets/sorting_asc.png | Bin 1032 -> 0 bytes ..._desc-d7fc90eb2c3346d22f953705db5a3fd5.png | Bin 177 -> 0 bytes public/assets/sorting_desc.png | Bin 177 -> 0 bytes ...tep-1-9e159976dc1d1821d0545d3b01541331.png | Bin 50580 -> 0 bytes public/assets/step-1.png | Bin 50580 -> 0 bytes ...tep-2-6abdaad54d03c3caed734378a18ad20f.png | Bin 68750 -> 0 bytes public/assets/step-2.png | Bin 68750 -> 0 bytes ...6x240-a4ba4821c4d4a15fc977431670953726.png | Bin 6299 -> 0 bytes public/assets/ui-icons_3d80b3_256x240.png | Bin 6299 -> 0 bytes ...splay-89703aa13cbcba40a7ac73fcd19ca420.png | Bin 58759 -> 0 bytes public/assets/user-display.png | Bin 58759 -> 0 bytes 101 files changed, 9049 deletions(-) delete mode 100755 public/assets/1-4125f191a8b1c0af0e0ed6de7ccd7ac4.jpg delete mode 100755 public/assets/1.jpg delete mode 100755 public/assets/2-25f8e8f4f18872206f3800f16d7dfcbe.jpg delete mode 100755 public/assets/2.jpg delete mode 100755 public/assets/3-e154bbe5f28637a837011ee3cdf59400.jpg delete mode 100755 public/assets/3.jpg delete mode 100755 public/assets/4-962373fb07da63a676ade578f80e9c91.jpg delete mode 100755 public/assets/4.jpg delete mode 100755 public/assets/alpha-932f5a0406e65532a0a6fd4f7228bddb.png delete mode 100755 public/assets/alpha.png delete mode 100644 public/assets/application-bbdcb4ca193350fe8addc3b0bb014c3a.js delete mode 100644 public/assets/application-bbdcb4ca193350fe8addc3b0bb014c3a.js.gz delete mode 100644 public/assets/application-f6a7a847cfcdd336b9e20dda84bd2a8c.css delete mode 100644 public/assets/application-f6a7a847cfcdd336b9e20dda84bd2a8c.css.gz delete mode 100644 public/assets/application.css delete mode 100644 public/assets/application.css.gz delete mode 100644 public/assets/application.js delete mode 100644 public/assets/application.js.gz delete mode 100755 public/assets/blackforest-af051acab7dd3319d2d6896c4c22ae89.png delete mode 100755 public/assets/blackforest.png delete mode 100755 public/assets/clear-ba85e4011b6936306bf1660bc819d6d4.png delete mode 100755 public/assets/clear.png delete mode 100755 public/assets/company-8b431abcf3fdd4f9e21f712c95587db5.png delete mode 100755 public/assets/company.png delete mode 100755 public/assets/email-71a8296a2df51d12f4cb46fdc4cd6deb.png delete mode 100755 public/assets/email.png delete mode 100755 public/assets/fonts/icomoon-2213df2e039ef3ddc67ef201a0349d09.svg delete mode 100755 public/assets/fonts/icomoon-5ff442043fb0620aae0e35869c06608d.woff delete mode 100755 public/assets/fonts/icomoon-9eab9943195af4209e68b5dff5a9bfa6.ttf delete mode 100755 public/assets/fonts/icomoon-ff776c24d91fac71f9183fb12ee734a2.eot delete mode 100755 public/assets/fonts/icomoon.dev-50c41dfca4e0ab0f86e0499a558f9edd.svg delete mode 100755 public/assets/fonts/icomoon.dev.svg delete mode 100755 public/assets/fonts/icomoon.eot delete mode 100755 public/assets/fonts/icomoon.svg delete mode 100755 public/assets/fonts/icomoon.ttf delete mode 100755 public/assets/fonts/icomoon.woff delete mode 100755 public/assets/glyphicons-halflings-7349fb2201bbc2a14fd8ba833919ed58.png delete mode 100755 public/assets/glyphicons-halflings-white-6cccd17a7aed91dbc0157d343c68c0d9.png delete mode 100755 public/assets/glyphicons-halflings-white.png delete mode 100755 public/assets/glyphicons-halflings.png delete mode 100755 public/assets/html-screen-58802ea4908e9c1bc1d583fff014649e.jpg delete mode 100755 public/assets/html-screen.jpg delete mode 100755 public/assets/hue-5442c4a1b533c80e045ba26a142c1e48.png delete mode 100755 public/assets/hue.png delete mode 100644 public/assets/jquery.min-6c267bfd2b3f36e6edccb2e584934c1c.map delete mode 100644 public/assets/jquery.min.map delete mode 100755 public/assets/key-d3084ad3589d2755b52c8dc43ab73108.png delete mode 100755 public/assets/key.png delete mode 100755 public/assets/loading-black-39c883bbebd28b152119a65f6d2ea7b4.gif delete mode 100755 public/assets/loading-black.gif delete mode 100755 public/assets/loading-blue-4f1972931e511fe87b09dc2b7ffde1dd.gif delete mode 100755 public/assets/loading-blue.gif delete mode 100755 public/assets/loading-efec87a6e4d665ab02c27f9049095490.gif delete mode 100755 public/assets/loading-green-82f56791cf256b454aa284377142723e.gif delete mode 100755 public/assets/loading-green.gif delete mode 100755 public/assets/loading-orange-fd48ff2ea3215bb0121fddfb60fef102.gif delete mode 100755 public/assets/loading-orange.gif delete mode 100755 public/assets/loading-red-5e398d3c3f6b44b8ca6e072d60454c65.gif delete mode 100755 public/assets/loading-red.gif delete mode 100755 public/assets/loading.gif delete mode 100755 public/assets/logo-0ed1a5fd3d69994c8d58d36222b2c24a.psd delete mode 100755 public/assets/logo-433111654da5e6db26944f3fd1c80831.png delete mode 100755 public/assets/logo-blue-6aa0ff8da1338bbb0951b900f8de2b9b.png delete mode 100755 public/assets/logo-blue.png delete mode 100755 public/assets/logo.png delete mode 100755 public/assets/logo.psd delete mode 100755 public/assets/logo1-37e955f777c0062b23a9d323ffaa92d8.png delete mode 100755 public/assets/logo1.png delete mode 100755 public/assets/logo2-4b3f6ce8994626640fb977eda5b74521.png delete mode 100755 public/assets/logo2.png delete mode 100755 public/assets/logo3-d8b78dab538bc2daf0f994b29aab9a7d.png delete mode 100755 public/assets/logo3.png delete mode 100644 public/assets/manifest.yml delete mode 100755 public/assets/profile-52f786e5c452b44df8f6fa9bc55cae13.png delete mode 100755 public/assets/profile-c847e86811cb213cb5515a99e15c2147.jpg delete mode 100755 public/assets/profile.jpg delete mode 100755 public/assets/profile.png delete mode 100755 public/assets/profile1-ff44ad67a53c1267d3d4cc1176044623.png delete mode 100755 public/assets/profile1.png delete mode 100755 public/assets/profile_color-1ae5715b6319e03f38b6e4b1b362593c.jpg delete mode 100755 public/assets/profile_color.jpg delete mode 100755 public/assets/saturation-ef06f89134cc9292c1d0a6918c3d1347.png delete mode 100755 public/assets/saturation.png delete mode 100755 public/assets/select2-50edc2ca5ee0efd186a7842a8f9b07e6.png delete mode 100755 public/assets/select2.png delete mode 100755 public/assets/social_icons-90b4c8f4d09b7d1289def36630a21f06.png delete mode 100755 public/assets/social_icons.png delete mode 100755 public/assets/sorting-e916f5b91d00d6d1da039d1617af690f.png delete mode 100755 public/assets/sorting.png delete mode 100755 public/assets/sorting_asc-02aefa0e655dbb1572b217414b573838.png delete mode 100755 public/assets/sorting_asc.png delete mode 100755 public/assets/sorting_desc-d7fc90eb2c3346d22f953705db5a3fd5.png delete mode 100755 public/assets/sorting_desc.png delete mode 100755 public/assets/step-1-9e159976dc1d1821d0545d3b01541331.png delete mode 100755 public/assets/step-1.png delete mode 100755 public/assets/step-2-6abdaad54d03c3caed734378a18ad20f.png delete mode 100755 public/assets/step-2.png delete mode 100755 public/assets/ui-icons_3d80b3_256x240-a4ba4821c4d4a15fc977431670953726.png delete mode 100755 public/assets/ui-icons_3d80b3_256x240.png delete mode 100755 public/assets/user-display-89703aa13cbcba40a7ac73fcd19ca420.png delete mode 100755 public/assets/user-display.png diff --git a/public/assets/1-4125f191a8b1c0af0e0ed6de7ccd7ac4.jpg b/public/assets/1-4125f191a8b1c0af0e0ed6de7ccd7ac4.jpg deleted file mode 100755 index 79268300b9286a6cecf0d237c7a519ea7e5a4d3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72580 zcma&NWmH^I(=ONqw-DSR(6|NH1-$xSg8Z+BjPmb_jDm{tA3;S!{U3schK`Pb zj*f0j|b1sMem9pe=$CK47B;MG6Xe^(;?$LW9S zH-K0Fap=`Qm(WqrQIT=~DezHH0R(7tJm}Jdn)DbJu3vbG5@dkH`E@_E`1nbFS(0L& zZMucXG6>Jpqkk6o07<~BuYaR1g9sY8^azCB)T<(dS9fAK zv-ETGTEcY`qTdc}xp=eNC}rLD&8-osv)mgG-V60bm!OPV z()GrFrxY!|r( z5pAiw5UaV*Qm3ljWrRC5U>Rcq9YA@xZbM_p4PNYPlu>@)r`QwsoZQ>LW?tS5RBGF< zTE#BS4U8AQT`r!>HZsV*VX;y4pk`xPRi3AzWF}dqc@={r2HJYoA9Y))+z#9Q*1yR+ zPpFcLOJrVXkRPkkTFchh9=Eb8PuF@?U8Rwf{bpwwxICd4*A$?Gh#G{A5XE$*8ds15 zVHUp%RPs1iW@DE!CZ}}-ICWV18xAu~t?c;${|CZxagg#cC_dr>{)0D6XdC^SP1^3X z@UF$ugFX*}g*9bYluOW?xaEW%2Ji_){zzUzA_K^lXAeaB96!9paX~KT({H+lo?N%K zk(?jh=C5+nr1c!?(ONtlsHaP7N%)hl-rIWR>Mx&6c8E z`DQ&_kj|V)rrG#10r8^~qt0n$e{#Cd8|usXH`n_dTi)z6a|@KQq6o-ib(5|HI-ZV- z&y+;ipmMUK;FVxMnmG;*r>P>iYDpGF$KGXGd`!^{ymNzPAF3*W9T0raM{VczqMgUd-Rt zmhy}k6Fr+er2hg+DrxO9$PT5j!mLdZGavYgvQ*t-db@BHU1~Rpe@gb@SC~upqlZ2| z+J5kV&9318OsIGF5^mD~9CqZNsbeC&(VVfF&Sf41E-~*)8FA_mR!tCdgrz zqCN~w5lI%#^{&e!A%dFjSi_*;TI3pOv!!H;F)bZ19tcJH-vi(%-#H+~rv2X&@c;Wt zLk;jz3q}nT0nl$@Ks2jP=#@9p4Q;|^c6Ru0I zAUkd#8+Eoe4DdvJJhuf`G1zli)qkpnslEyOJf&TH=Ag?T>MRr|25n4rO7wYN54~GX zxXfbWh&C;1BAep~!xv-$`hI5~JWcmZhRH~HuD*cZ}lGSn@wEG20xi_tJ_ z(_jPBUjUlV??&zhGi~p5^lyYk*|979Pb58~atvvxtjlo-%?mg`Uy{rPr8j3Z%jeB= zJ!QIPeDaaBkV~v)wtvr`#WXL(u#$-#*52LAU?56W)gRo_)iu^$$NH&H7?b9LvX(M+ z!!xeL6I1pH(ax^)izdpy(XIcpPQ@TfR3_L7Y=vdKWIPCVp_L0~#HzRfh&Z+BxypqnF5t^Zoiw#yXhIC9PQr|vi-V8I^@jdrUP*&~%`t9!}E>$=0gzAID2 zF`icjv2T)B^CZPypDo(Yt#i_d>>fjK5g$!3wM+GisQk(VX6q88K%eL>ws9D1$Tr_Y zgkzf9ntCmOf<8*8)ieh|Qwk2${}v{jNGJ^yRm71KemLeFG_RzXJc*v+0dV-AE9U>) zm;cW;(q6Dwb+Fh!BS3fAN_C~Qwvm25b!;$8^Nb4=ER4>#?faplFs+98eAM;xa3Uoh z!Zo3*CF@&WzBa{4mK3%y!wFNEZs}^vDAfYn&IbwVZG?ZUki)QW^{bz>4&i*cl&;G* zY;$QzI0@>m1TO&GYRE6SiJ6lpU8Uk=iY>wEVWOx5ycBmF+_=AOums=K9k(5>x-3<$ zaZiV6Lr5N((o#R+j=wSZQcr$qqNfRx5%cuUz|MRWAMqFJzgrn-2XlRYeZ?_3oD6sF z!p5tOO+uq0)=}@;!}s`J0BOA|H4k$a{qLTlHMVolRl*LmWpNp4t zUUi+KvOkH`nSN{Jvje9On8tIuku-DoGiU>OUI1-I2PzH;uJ#M3Ga^9%ZQQb^W+{PE+Gu`Mx`RLh&Ic6wzWm3vCOHUwG<_xtv z^DVGs{js`JP6){h0Mm}YJ-MDNHI?1*Wd4&faiv=Uagr!$(1?=liu$S7fhVIUqu$vy zX0d{a`GLsP3qTk=czMU3N%`166BFGUjamzx)KTo*lfgzenm=~# zwAUDm&N;^PNiHj6P|n9{+Z6eLXc&L&NBRh5N?OF5CbiU=6hfRh;Oq?fb&H~^*P^9! z(~2yjYIBd#{xlJC)l_Ts|rcx;m=w?>+c^>7)1mJyZqM~{~09+`XlQRs54Dl`q}6={9l zxK&AxZOY9q1`I*?W}wZQX2}!<7AVC##@IjUb}9c1^d^1O!fx|dQ^@keELH;lVluu-8zsWSm9tRN z#T9UxpTre5m}zW}%IcJ1?|zb6+n^28>ZKlI*aCUt;WxKB5ao9kjVjVBkQXZLMz^Ag z5=V?FVZ90~Q{+Bloga&HeF12h)H^>SqMVcVUBO-m|7hgZA&zRsNKM;SMj=8T0Pjp( zda2A6`EGq|m9o`+qJCk^h9`EnM8MZvU{ojP!21+)QWwtaH4c0yw;P!Xfv3WRf||rmSJ6;+5o;`x67z~&ZJlnev?V-(X7|p zOfd2NeRU0qFh~a_1{(ai#}O4zbGoEB?cHc}_V=Q~L=)pEZ+Vy=tWcQJ6e}lh68d!Y zOCt}q$a(xL1%>A%8^Wkb)4y_sQnu7qQQsu)NzRiw-_>Lmt|2n%iTrmWM%k5^Omk@2 z8{HGHNc5R_>Kr)cXOMjgP7_H6S1&JiTFq!T=}g1pNa%{v`^B@yLWH3b+m8Yt*^FyN z)r|_jOB|ic6-Y$jL|G zgDL_#Zz}Qh8Mr@p?0?U*Wl}h9@nm1PrGC(dLxaWdgivqed5#K$K@zge`OWJs30va=fWz$yPDYESN@!rygL&IJLb2DI?I2@C?Vo*+L9UCTXb0ump)fsU- zHN*SG?vclJ*ZiHC8y?V&vQx0+em0I|3!CaojVpdss1sr@e1mLCT2u~+t&jbUU@g5{ zG%$yuNw9W9!VN*=9y8!J*cVuIVc=vhnP|ab6}zEOxptV|OG;4g!uG*hupdRY)v3ql zma)Z)%1K^l{`KYbVptUPwFBGU`tInK0+l4?X9w6YRVV-61xf0Kz=n8%R5|5Ag?>NsW-KC=cYb-8VG(BFN2H-6hm-FMsFAWZoTf(-xIgl*J-iPxIHvqO8wM9Nn}cZqW_5mcu!v7FVd99Iej z!cSf9DNpH*4EiKnuHk7JiMKWPM67O&j3$M$s-#Fli;1|g@CmR3#W(;o&5bz zAijKDXNd5U1MbmJdyB9tU7TE&2#+`*;t>i>D9>qJ;%8P6n+RXp_PNFT%eE`aJa~G~ z#fLv?HDa*Al#ov;(F>bw#!SUWCnP+fPSLv*K%64Px z&U4hz_2{_R{TpZh@4pTwA=qtR4%wV1m@!rf!_9JfD>{S^UEC()%`q4w$<$e@ITveq zf;4J;gI;y~p@w7h8JN01*qM58MZNZ?4UA?EE^o3a^{KJLqA%uDdI{qq zeeR$)f;me86+k0t4(PfVOqoBXRYtGyn7(Sd;SS#ZhDfunPk6$*jeA^%18{Jq*Bxsq&)n92S03X;1eNj2;arz(MqiYG zu$oQp*-u`ZdoCez#sd1EIG5!jV#y0_{;(N-0D(t#8Hd3&{zTA$VvmX8UX;+pc5@2) z%}y*wpo$l+k%qrlC7$`08A_-}O&#nXGsDH7ou8YZzQQ~)-t$ERQP?!&Ifb;Bv|h1w z_2cK{#eoE8bX{)(WYrz7V?PMZya2xO_ue%%&s*&dJHiCV(SdK#P&t;+By*Q56DoaZJk{H0AmeTL8mN? zE*S{~8tH9Ib@QPQT+pYr2wO32iBT*F#t<0I`Jay+czFMNTP5WCvQ5&;!&&{cG#%-ph4s5%5Yuhdzq9iQvGPkB`7LKJ7 z9NXd#S-h!~PF?jzF2gRfcZ=#pQQ@6BP%>fqI}xzwj{C}F(6eC&rM^{A zp6X=9u65{AacnfjK;pPOLnn^p|4FHk@x1^_evv5%wX)ZNNy*ZwA%#&!JIV z^YLsfXa0M5821F2F=K7yH`+oaxR0K7s|mj{+AEC6K`-ACiJ{5Qu?x3ufL{dj2g!$s z$IkXeJJi)`+il9B@4j4gUKq=2jFEQnw;B@sc|`k#1Os+LXG_;)2Q8pFq zgu2>A|3`#y$4q@UpqfhVa%Ge;1*hH;^0u|iuo`oPKuFGzDxCIIyOcc7_*&f`PlaX35P=O02g~U_;5uZ^VnYsA(SC;GF(>D+I%B2>@t%^Q5@ zc@TuFwvw1EiUAU5^t>Eo8b4p-Jo*%6T*il&*n|T{h)ecQcP?!u9sn(~q z&ooO=$C!%{<`PThj=!8Vzu=M;D1HwjBF7O3RpJIU&J&Jv?_1h$M&8tF$X(!#uf~B` z9SueasdaLIDID3!SHk$One5M%27IW0#JZ7Qkbht4H+Q^2;dGj}M>eUb_p4ZZ;gdZ3H004z9NtzdG}}}}{}y#UZ{Lchs6!TQ&Y4bPUI~p>e;Ezn5b+Xec9Pn54{Yls`CvkTU5d<{ew$N zXZOEKU#jwgz*KsB2D`STgeL&GJP&?xWvfZ;57IkO+GZ(=$FTlKOlM~f`O8sPBK@~R zz&AaEzcXw0mLxqqMY0GyD~f4D6+o5Aa*J($D$j3u)6sTm=|g#8isnOwdcpdgPje2AS>Y3O<&^szAC;(Rqpw}cBIgS4<1{Fh|QrRYt z8e89$)}icQz;dKQyu>oz5hmK?q}nD{1jR@r9vSUz zMr;&3SHMq0|8xo&*Oife&qS58)L3!e@$y zuczJ6ew@QjEq4lQ#SfwzHK`h$I5YZAFm1w%iS?FPR5l=QdM-D-K@C#;P0r59&CH}a z-8o256~|=%WYIv;foPb+d@V!ymcZckP=&gbC)pZocrq!UD$8*&C^ldn$2AJ#oDq|v3npY5-ddB_Iay_;c)q!t*de75LIz>^NiEl>t>2U zD_^;QVU!5^rh+3lK?W5g|BvUC@W15EmR2Fly2#69{`v=;5c*JE z4HTIKXrQKw$DPN1Awc6Bv93%x7X23~^lp1H5xqQ(*x>zdlNS(yu-!Z3YVo1Ud0=>l zkJ-iWFeY;y+Zc2vzj%juW}B0%6r@v1r8tuI7!Xh*IqKH3BJujC*v-x2LwW~-d(Rp= zIRp&+l^@|4Y!Ivn_KBh#Hdl+yFx3Zt5|`L65$?ecf#?jvw(pbqM%EO1?wxXto5Fsg zzpn(2;&yZiHY3pXi!h3+l%V!-f7dE9=&9|i?-{K#Sx&5ix%}lZ{{Gx9F1;!>LNR#0 z==5FvZd4EvVV?=HWee13k}SVHl7V5=X^h@cIyMpmoFMwNgg@8!li7`iT_QqdDmDD2 zpG2Zpf}GTwX5;k*MvNAtqnkF_4%TNZ;aiQS!&R*|Ys;{1& zLZ^Z0E}x1le?E5UCwo*skAJ5oWjYx?SZDLX`)&zKdQ0qv1u*tZ@?Hk~hMt45ell?& zciXIY;QnFZzKp|UgNdS$)eo22O0(Y#XDV8%hf$KAhK9s*hE|!*{-tWu?T<4DuMyr_ z&PfnW7?bLVFlE<_EECtscEWgyaT-I@kjhPzZO^)AQ6F$c8VGoZ7ydYVl{f1)mBNzP zIqG?JJ?46E=G5={X}Ox@^osl&B^d-#o#T_boIxk_LZS{ z=NoCxz0qZy$%U%3=l0U7m0Rj0=o6Eo>yfE)i@kn%61HSGQ5ZTp2}6#KS+#M z(NpY4l^H)f)#yb&CA!(Qr7{-CUO)%T%caAAo1+kc>O5UTG+@mO8^v!Pvgxa5jA8|k zacuc)CloSz`~N6wzPO&3bpbQRZ!<8YoF-g+oL^LJYK8Gf+*>I+Cve0O5?Cm0Dh21c zq)j%ll++gZjD+fx4-+h>?f4XB&!dkh+ceN*UNOXJL?sn zQC4WHxq3K|9DFarv+8QfLJ9Cv=YzE% z_1BM_aSQKOE%jipIiR?!`g(mVUG#LWwo-2HhiJ-Kq)mLAVAFX4;6U;b!~K@yJZ&b! z?&-d^r_8y%Cd<}1dS2~O)ZZFYhLfx6`8&UvSZ4!Moy14_o4gf9zE$Gs?OU!KdVC(r z$l;d*4GT}WeD!6{UKq9@YiZhv`Rl*zr1xp zR?bt-$+O7cOFcfyV@{Jety#M?(MA78e^ME&DN@(3Ps39skQ1 zq&T83PvAM5`;DLM@o%WebNL2K{ApOxTW{unX-9{Iyw@s=FvFu0f`hdlE0+ZOU449B zZ68a_eADiDk7a5!#ICpN3h0e}VJz<}60^bpM~u@-t(9RB(hAo6fPf5{yw)D|ZV2s? zCnLi0Ofzhr!S2f}z7+>+3*nQUigC&$yFtQ$BG2*ZZDhp^TjC70W!5-P@L20mrIH;# z*9)NibpyhcQz`D^KAB(`sKTzEM0;~kLjR{PN|>9~*hzFa{shMV_I2>=7b4>Qa;kKX zkGc^Ta&x3gn)}3+r36btYoCj>N{aUmy07zRZ>HtzmHyaGMdbLLa>Jtr*2l&c*;Nf) z?xsc_vMaaQPnO?wzk7FzlQ+M^5V+Sy$=+fg_%*fjU*Ni9mK*8i*}fOjih`9*1hCJe zu_r%)BK;mbnl6Rzjy&frhpK;itQjQFG9y~)C6Q#gTt00HaWLZcS+3KQDe^00&eu}H z5r97LdF4(n9a&ZS)Mf9SP!G61i?>)rHf+Ct=H;sQc?BC)W$j2sJwahJGDw%^WgeH- zBetQ~oH%mGmsa3vEVlEuYfGxJTy{ZUK0C6JtZjV;+1a@>x$yM1q=gyLsADsWY>?Wj zrx)ImYi<292?k`(#HE47n__v+Hcm9*cfA7ZB%UYAA|(pzn4G*<0$<cY1J1^QNZ>dD*X_uLK)AvgvVMK@qesEkUe>4>+22sD8uIM#W`?uhOhhk6F&p)A7!yUl z?aT1N=kJUYp14QF%QGXAVF3MDk!e9aCzOX@&bEh*KmVduSa60FTv1 zg~2Q>MZ(NfQI-W{jhAm}SpCy;`M@q8|0RnAggwZ9CqE4;0{u7v08Omxar^ z4Ngkxh5?$MfbYMteny!}Va3XUwiyM}syFNPZ+u8Ur@0?kHn%zUw&HL>txCkysUQzu z7%ih~)4-~w>8Pj_nu;##3o*#V;O0*8KLom>_B9VIl43(TZx0yRnoyGziZVYEpQ^Av zxPf$acd$59D)uw3Z7%ExhcrPsT>dRan~rgS&brnc*rwtquQ%9%*XY$%3#{x23z-K^ zNTJov8h7N#z0mNDQ)`dvho)y~Ze@#B*}w!8+)Ma~x?YheUYp)pbk?pK%@%@DU#sH+ zhqzdjR^Yl=ZG-ywalqzQyk6%>V&PuzdlFz;tHD#bwEjCUyv?_I{;i9dL8t?13$(}f zBf69y0b%LA8oZ?tS{MR3vFdO|XgwM23BN_i{8HE?(@+s2a8mI`any*)XHh8nF>nE) z-J0FLNk8)3X*LWnt$EvIf?c#MbL&mFL=M|bw~-4~Dt9u^@`sK=2e8;`aC|d}h?IWw zWDfjBfZ&qQg<`J0%1<9H#z9~g7jpTJ(>%N!pB_dP*-ze7OPGT|2{2IR2gYY$(a4g? z4vp~_Qu>hT{?VhO3Y_iMRB&{nL~!JZxxr zfA(+c18a5FvR}Gr)E>pN#I9IH9ELW2(lB=Bl_KHxYN)%S3vYd2pjpHVz$3RM#v*04 zMCZMV=1_B1(9b|{XULXl5VcZlU0}w_3xK7K^V1J6dA=l#YTYlQ+V+kaliJ#Gu{l28 zq!lsGQ@Vq`QKREY16x5GgAAjp;=_$Cqx`azadE!7gpDyMMVcZrFuwplCujEJs;RIu zXsU(fyA(rJu>ieA_DIMMpV$Rk^(C1vP6$epB3MV|7^O(*v|QqMlA%+b8T4=kW)LF%Xfh(#wq^wlN$@;h1F{lP!v$Y+N zhn}N%$MUd-jhYOC!0`B^b8p^DfoE(X-`_6OE1$Aram{W5brR&Aq7ZNnmJ0MPhDeT& zk3YO$6?`fI+pQk$;$`Ysw^1-dj+o_%rgsLqlAnutRHsr_RKh|02$I0`$?-b~T`j z2Cyr0X~VB;XeN}WgKE1KV0_$G1~YRV0;H^5cr*I$HY_Ht2EV4-hy0VD?0hZ>6MLdu zev{`2B`0jBCaA{d%uUVP{~5VNN%^RL3*@Kvcgz-IHhn)GLGZijY|6c-a4_~aS*%3_ zeDoZrQkc@$l5eyHso~P31j%=70ki~}gQHZ60=Xlc z2Nj3uICf=kxi_p^Uc68BXr!}tYWrw)s>?FwWOR+(l-4yDPQ5*K>y|X+<)m zKV!(i@^gDC{eRF zY;>aeX^_LMh932TR$x1jt4GnjzafHn=w80ikg{?eqb<^Bo%M(MragAL1EU z5ofDJ?ibE#6b`t#u5MOvb?t+}XvWTMz{lovi3Z#p`6LKY(GY9cmK?J~%naA0zvpwd zTU|5L_wvm0fas|o8xC&1uFeZn#K2C~{)Sle$THrBCc~ZeMx{2dDk2YJhQk6IIEbe$ zS@lF3yypyVe1+P-<&2;=kY8U9KlP|4dQVhxT-{-=uqf;5xE-XWYu12v>&w}G zY!zChctEwL|HDm8Q1+`G$4QQJ5cAgER1Do(#b*~QN84B#S-fl-!I~w{=9;Trr{4Ay z0%(n2_wIdA8E0ROVd^ZzW#(M|=U-aH;E&Dqa;5WlY2w9x;~m@nHO0;WVN%+li|pml zga$eeQSB12uS3IvVGuh@mL>?cD`vJ$XJ-}UIfP(hegTvlM`WM>`We5?)Nz3E-J}-|gy_m= zo}K5J|0SHzZSXoQAe^%&eB@;bt9hU2j%`bg6xdXb<9X4D`3s1bjhuLu*qq!5Y;rcN zwi-yaq<)P;_M}3%J<5`^mGp2Y0q8f5uF9B{qbuQFBdSa{n^ClQ2zM81#H}XeRRX@} z=i_;Q>W)ath~23qqA29M7l05nP&snKiZhek-5~*Ny0Z(H z8%dtjAhsewJ&J2SBsxIxK!QsYHZq82CZPd7d%)c+By0 zx(&;)->+@4;WmHM!jqD##;4NCK!uds=-9fO@zuAH{43%oukNZn_g=vGdvhLNtJg~EF5WJK&R{Sj z%mBRcF}FNJnXG3V7*4!@i+$6{v?&B(i^>$?wy|7N+bR1~)17&z4~5*HqLV}DHXxKC z+mF?Yuw`KK?)~tE#7JF~pE8&Tj2%#j7Be$#L^9%XkfnVDdbW@4D5M=Je8LP+t{~j{ zcd%x~>CEYxrjB=hJ!rVRee6Pun=op|*;MI7q}epPI+OzXmiOvN9VAd+@-(kDR5M=d z-v)vo!(RYnsfgDNeS!IMD9owv=h!W?9m!AYOB&DBw_k=E0;)h0qc!)5v} z_TNN9`CeT6d-)o=62Wf@{LXRE9!@euEk;r`lHlQk_h3adjsxOy| zbI!UZGCnD6kGwO#ip{;lM=5UZ)V&bc4SFXQyZ0st!^`2Rdi@13?zi4&KEqwj{=~jv z9hmE5Hb5E>m9dt8$b2BIX7W{C3w0z$wYxs`(e)bN|M2wofwX&vcINN}kQXpM)>1+{ zzGu$zXCS-(6YaJGGbIwOSnWb(26;;? z{9?-~^P!s4hGCv->_VBnyL30w5!UC)TvOdC+UDR=FJ9FRm_`8NR0aE`FwkzX_FV5awUSs^*(($tKj`ybng4qS^X5Q zT6i2Su=T^|j>YCo)D-C46X8PUasnBMFa#IlwEPHM4d!NH6=7=GPdVrUT@7ub3bf2+Jxa_^Spm=Lx|t_^@hsuTlvCIR%Z%MJ5AbHbm$ zUQ0)1Zn~a(;=ZZm@n`90CP{3ogHA2|&6RH8Qu^=TL;ak7F18%6s5f3W!xK7eP5XJz ze{x^Yl8ldgck@kI7KIt?RGlnPdDO{ay1K<(OalC%Ld(??dxA@qmp3`uV9TAgwDRvO z%(DHWYE=A}K5D8Csk_l)1Ey`N9x~U$Q0|Xp)w7z}; z1cA*VWJxP9YtJ6B#1WpgpmWa>Nk?YAn3*Rb% z$!H0qv|ave8pX-M1hL-Hc5ji@MN1w8Q@DRx*!V(=#E@?~Rz(O~7>dX7CC%53eBpV} zhqg3(cr|1268!IQJMOn9ePZa=!ZPv1D46*iwcCqkw@XVy-R4!$f3X{KctB_t7u;|dfpOeQVcZUfUt2b1bTCI(g( zRG5S*L)#*)o3Y94Sx~@TE0)qFkPNSlj0zuE<~yNgG^H(f`t}PHm61SON#tW(lkc!H zZEz?k4Z5Iws?1@GwANN^DeUUC{WTdDc?lOK_VLL|q zEt5v&EQa}9LO@0`Z4V{Xpi{&o&fagvi`}qF%>FwwiOZNZ*Di||ec|x;7s6uJDH8<# znVtS0$XbZqU%4sJE-v5`eYp`K^E39YLkL#<3Wfyq8Lw&;&F5-WrQ; zqp0vv+VE9|hTk=?y8ZdV&f7_xl$dts0th+CDEAbq8nyZ$3S3wA*?(j=CN&3dmKCtq zI1p)QlvM?eyR}mc)wAQrGo;+EJbkDRm(y*Bxw!Gaeb#fJf6Q*nc1UhaK`De0+PdC5 z?}=~Jw)jVlVe%Dql&8dyN1|}{obd8~`4xFs)a=Mjl}^JjdbRBkg*_ z!%3q(x1{YABQ)=}L8FkWx5KvJ!WPw@;z{W@LNrHmb0LH@dwLcvuQwbY1UJ#kpsUTS zTI?jOy8)sZ=Q;X0-3z;wpl5PLik2OMnwE63y3QRYQ5&`kKGPpANLVa5;M(T#Iiczw zt1v^o3PkovN&T7gLYsmS9pNbFaC024UaPH+lmYEy zjGw!zzQ|w&0pjcGdYOjIIAEgJR5YQ9$_pTLe6`=5y0N}(Daz}OJocRQiBdi^Ui1q2 zh$6E|mbJ|RJi0oN${v-1iQSm`c1ZWYn;}zeTiPhmXnI=HHBV!ChtJ^fLlB%q)kE-9 zb(4=6VZkOQt<@Oyu?j&F0Ri0LM7;->Q6wX-FwsE4R=1WpWc-f3R79?vp$$GwQcRTZoOiM-=w@#)yW; zAMdx!N7Wt8nQ*@wBUo{UWaOnJ(51RJ==)(1zkLTeQEWhzp-s_XuOwVcA9_nEf~82P zl}SBofM(WM3f!(qETy$4T;7J7g4n*eJ06`ED9OGrpZySN{)Jjvr0HX*%UgV-<$j_R zv(=H2N``M3JGL#K+FsR+$mFJZTuXYDK`LS0OWPOk7D-_Sdakxeg_&_}bfu#Epxz^K zR7qSJmAq9|{VVef{mXUoK4mH=;ij=Q6M0Gw%^$53vbvFIQwFuf;$>?|^Xz5D8X<|l z&qb+eh~0xm@4w6ZZ6CC|$N`UMWV`y0lS$$uI==jqsbGMB z)n^4?gVb8+(h)Fw_wEYA?(f5e_(*NT4x%kZTx0u=F|DRs&v?Iy8-5V?JT5Mox7wLb z`_Ocqp&ZyCkzX(O0^mvmAQ69M; z@aG%9_l^~-%bBpLa8Dlo83V-~ct4B$CWQ`P7YG2b0A|<0GkK-SUB(2dAQy7g8OZqy zz^KKEhBoB9DHl76GPZxQKelPa#toO%AYMcHljS!UNLf_x>!effNqYezd*3{1))-tE zXV`SO%+f?$k;0#kw7$N!U{kM`(q4e!Y~7J^%~KtsqmVte!7$3Ut4GkWaX^Gbix0hdisA$wMfX?+f)c*{XJUVtSbKsNvA*4v|ConH3|$ z^qYoI+pJm5UoKRaqhrO~F!z<+LOoIhVvfoKo4YffvsG)iz)s#~ZAYu1c7NK;%B{!| zB(`{EOwiogjE<^QC?z3(0m@M`{_~dpM0r@&Lp}d=zPP|~G>DJibVY&Z7Xe;62mRKf zi8{%TtW>V?{-Z5T6}I%-fml+!=9&2v`zVPkqU$J<$fXO+(p# zUM*ES?E1H`x%Os##dK|}tM~G(5 zjax0nkl|LVvZ5)>yu{H8ke83 zrl5PkiqQS?_EF@IF_lbS!(^oST5 zd5yk2aCK#2#!Zz%!wKm9mNiRqkjkm70&+{{>}0n!m0qm+=1pIK9JXF0wZE zV%~W%nQH=xGc>U~F%WJ}C3o?D#Xm;lYpoMdiL%Wq-gk z>72P2GjTk8+r>i~NpTFKv<6C*G-j!(I&ig`T*Y$cDfSa2zDvtl<#BfMUS%c6&w|C| z@(XBLI&P-YA#k)g`k{*$OTVQ4)!GV zr)nK&gwtsXalx~Hh{;;Xih>y3Ba+%#7Uh@p<%t1YdyOXH&^hb@rlUM2#~-B|adZ;e zd&Rh(Q*1XarLsjKkWiWrZaQwLqJi9Bh$+U9Do1Hf8RQJAEslG<}kL3oH16lmX=6ba2mO=9*7Z!GLPPBfZm3MUX8uq<&b1kmU>bHjvTXjBt(7I%AbqiiAZBe!8$asIt z+UojT*OhU1nA?b9z2kQAt=x!2WtQR7ViG!vNKU>(cY*fn6r)8!@x_hgIqQq;e6Zo~ zc-}K9cV#n(<)UM+lFD6fCxt7-aZo@b<)p@5w;)L%ScAbE07Gp%eqWndWw%-vHHX0UUTNRn-e{cH z%PLMToMgUqzv>tsPQl{Wj!%TQ##~~dyS}!}O%=cK)(IkwqL37zP+q(02pxTU=&^am zSoa=7Rumu{eWjJAQfMQ*mP;`4$5l|0NR$lYcH`}UejRnHbFL^58#g7I3uqDU zVlhj3a>UF-g{gTRU5TI|)|Kh1-B_A5*_<__M`LmC{<<5PisZ^Lf;kk%cE-w~R8mD9 zLHjj3avVh%Xf5q|=LoXC7G?~lZo)Ysh&Y3J={+Z{e!?pH|hlPqXsDA5QYOlc&AuSMRk) zHyFeGs#To7FGDLoljgj%<~)Y$l-s4&Lok@Uu}h?@EEhLmBOp0LXDQIEfy{UOQt^T%Nkc5mgk_T3p&lTjPj zeF3LaO?|VgZR2}ubvK+|9*ob;oj<9?ZfvI-PBW!>qP%i$7cN@zY~&dz@0TF4N06TO zR;)EOMYwaZPzIn~}}rX_iryuI?n3>ROj zAFGZC_zEgo)+;R*vEE$1gduG?n?k8b< ztcA!D0vaFzQ%Y8wf%SWioo{y!4&tn8pQz~c{pHP_&35yp3upAT;NKhht-1bp%{;G@ zUgJ2`h9>IK>~CERvgD?kEsVa@@-Zb8C|Y$rb*9F`#g?OP)O)C3x$2vn-!$$^)?Pj- z^kejYC+jXJ@&5oKxrWV^VY$iVGQughASD3{Yz&IkRzX@3-&)+Ax>68ch5DFX$;&y* z);{qcOn*t1x74=qjxzq)r73SM!(?urfCU@UdD$vnzQ2~5lib})g7hzeUX=4~`dK66 z{3G=9iCImD)6X2Ly(0q$Z7Xf*)tYehBBs4{AGy5$0DS|)k0QMNP4Ny9gTMN3lLO+6 zCl;`u%Gd?FmMm43n%%69%C?g#M65?jm3ofaek|ISsW(p1#w&s^1)5J7o*Z|N@%Z`S zRrexT?c)gS0|a9l3jC+jwyAP&IWW?>8?=*_q|vNcD_E^c#ktl)y-7dB8$}1oJA8E- zs%AQN3GZX)myyeFAG3^w$SXQDf@&+HY^t+t-l3GRsTHWv7XS>RP{PqqpdZ9swAT6iSd(lc+=g7+t=mm>Dybb zB-;gnB;zqQ`P>##?XBjX>ju{Jk`1J)Na-K(gD^XOW!h9RucazR3&};A?KdWBE%>an zU*Fr?R+crAW+$LP#d`k$Myia{MSFzfDl)>YC$qy|Y-n5}7|1(;KFcpo$FZr@iel)= zyCco9*BnyM8Hv8QwvN${>TPaZG|tSbuFTW`)s=`Ii%*8QyNga&D$(tB8-)ugMUYl^ zFBi7{+1y!+83%8(rjmhYi(VowA zq0rgy9k-Q6{{SB+xG>^TYxt2L2col+*QaHgXdvva`bg9v6> zSxzr;f*8nB3rj1DhLGG9byl1z#H3MvRccYHY4O)DWh;s;Ty@2r9qpTOYeTLasB`}S zfN?$}!#Rd)BcE)hD;ROs_ZBeXr7-)~CPr6=S#~o78w(PwzYX1Jd}Z#nJ74jtv%MXo zx~NJr`J2H|-{SK)-XC#y%CHQ!*xTEep7!KLEWsKpXS=wN?_zfiqNlg5HIiHH-s9xD zuw~!Tlzw`nnSN!-$CmQfkg||mhMwm;eMU}x=nl>O%?A+ZCU`emoHKIz4$)x$01H&)m2E60eoOv!JvUpZChGp2Bfo=PVETpf@cArm& zO-dGM>WeDL6TmIUCg;sy!s=|F@=Szy`-stDwPi;aGEZ>fiFrx+R)8o$_-onuM(d96 zzAW(me1o~u+F!(vc|VW`CgitvIQw&NVSALaKvXo##r4YaXrnFzVp<><9TnNCc!$#X^FYN#!G{@QjHQzo40`$7urBll{5|Up!i9A z*zhAbO5B=ijCJQZg^F=rDa0^1Xye3k-Y>>Q&PEG^1KMTrh%Tm<5>&I)O)PR${Kbj% z>z-Fsu1PLRz2~p$8(G`vyLnyDT(qy{f2tu|_-sPwq`2gH3yr}TQ)@?N&iew?I(}fp zH{d?qMmE!Dk8vWa9G#iQWfp6J4D;MgcaOW3I_(>Y6hP0ofIAuuZ1CtEpOdn|YzMF44?HVM;o`x`B6mpobL#w9YJ>h7}k&E4)JvIb(~; zSjmsgtE8D5q?2T4X;Urv5T!lHcj#)7rM2AItE{RGbOxa&{mC6x6`J&+i2CsU8lh}aDOy-(V`sk50fom z;u#Jnin=!!cX!4aq_>$t5yVx=S5iwWgHM<4`!()h z?;*zbdG%2zfUMQBVY7~0<>d0nl;6jBkCi{e0PU&JkBqXSzBbe1Kcd@7An}riwdbFM1nvlSa&B-w;fHU$@q$y72hTG zPv>!nhVT9)U9H9DQqvqoy_PyPRJffZW3*bD8ZqmudVo`+L+ zC^EtFrT+j%Wc;PaEbSu@nXyN>WHN^b6TRogXnI$Ledn9z=<%H3Ty z?w~i@{W{GnbUHTo40Z8%mg3+UDAXdS{hG~q>FsA$NEud92eu6m13*C51hG3(e<=`V zZ2i@GrFxQn?Q|_Ojk$$J?;P>BF6UWSvf{W&@S=dD9YR!9bw4^cpta|!a zT?;m)aaALOeZ~(Q&fR?)dH(bME*Pnewy|s5 zY0}@^K|S5lG;zR*7>S#63YzT=+gmSmt;OqboFx?)x=OD;?ks&nd14!xs8{AyRN-9x zwJI0XPcg`HpC#ik6U?*X8kg_^AL(9c?>EMhO9^La)lon|NvfUI`TBJFcS-Q)^(jhN z9)GEI1nuQW#SJb|i@Uw?e~9w-F{8_3ISqzIqcsL-a!oi!C$8p>YSZCUtMur(IK0y{ zNouzlESff1OB}Z`;+`$DpDP>uWr4gvjFbW8oID%K>CSR#>7& zRZ7;q4K!V{tv3|vs?17ylw|ODRJYvE7nS5wa>E6%v$2OQV9?)R%!t=BM`w3?auIrx zh;LO8j`TI^4ym;W>5Fd~esni(qPSwYnx7o<3ma@Cvfj$J*r_iqUh1?+E$uF$ys|AL zQlOa&0y_nv(Cq4RTxsoJp*2WbgITsae2s3lJethobC*0~9(xL7?YRthD$jL1(!p`= zTf*pqmg#Q5ko~0fCtQ8Bp*xb(M?!=Z#;4Lx#77r#@|hiyq*&bch>PV z#as0-vTltCc3P9WZAcX$8dF~|*-1-r1xnSt4@qur39^yi_}9pG{C3)GHWv3SoVAqP znnSNhK`H5kIVUiQSCNR+xV|lGULqT@3(uotT2yZ4*vkCuvdSk zxR~D9$gu3lSTWvS^SjTup(MB3JiO~%M2lm{`DRYb8HKQyC3|@AMU9Tu zFLGCM!YGw#>crBW1$5;B8#Tz@SlC`EwrHls#POhn^jTu5k!D5#mA^0~cBkK}V-J|E zNM%877E0dWi%XZ1)lu#vWC0dQIxo&@K<4&AkVo0GQnLD89S?csS+X*J1?e;MX4EONQ4Jax2VDV4)t zTygZBR^diR3IX1e7RH;+BhAQPU-h5lwrdx~Nac7FQxo7rOoB57Xasfa= z3YJSyI-c4TbipOaTZ_`WCn-E|_Fym`Y{i^-`0n{8F2fa#MUN9Ttj24E_vNRy@V?L8 zEzptBbv-Gpkcv`tSiH?Uo~yXsLfxy9ZZ_2-xe9M2mnp&d(g-439D4qi>gkz+Pj^u? zZk1JPRx(zEsUQx=R>IvTj7<=RA{iBZcg9)bZsCs|a!NEXoPFY!kpd9b?%hRe*mb6;cIA!)>SfL??3<17MX&-R zYZcPnT*dN|0z&->BCZq?0r-JkD^YbE@K^}^hla?($mg`a%cEp7uwwF4Tar~2!f{iSFFp zM2D+-LX%OAL8^|MduyL^ z4wXf2e2E%PUH+c6#$s*SlFt&%5N9U#BRNhb@&mHz+?-CoAaQ|Tg+`$4XyY^|GK6D=?j zxT?udFz5<*f(iAKRkg4K-%N$@kc+z88h#uN!|p1hvwIa`uTH%CJ2d)pFeDaE(iiy`Iqxc>l&oXZ^p zBS!PCPC29{nb!K!3#uA-B+7d0i*n|Oojt9O5!8$`9`qR%c%D^sNH;un8$_^FRF8=i z9d%ugnN+iT4K9T78qx~q&b;LKh!t%h$K)(9iv~6QC-7!pcMdX73iHEoSV#=IJXOCm-Sx5+uQ99kjku& zv4CaVr>Ha|rnvi?l)&|y9lcdTb5^qct)Scf>I2_dIt{xjLfAqz@W31p;W{o*$3t+TN1JaRa_M*6cH6<@HhK0)%Y7UkHp z^y~DEhnFAXsNy!fmo_|bVskZd^S ze*(oxndsnv6oIsMpx2|@Zf6vy2aXKjUf8zZiHuonuDlh) zFnGI+5AzA0_8)rg(~jOP$lGynilf~AFnGfiTD3miS9Vt}Tyt+1*p0T`xY}0I`AX^J zOj*L)HPRak}SIk$NdoivoSmS#mCKmFB#DD|gRc!-L`SVKMYrnhR^2NaUAj1Fz33 zF$bxs>p`ekO4MUMdXq1`DO`q%Wsv;wrvR4+i{*S@mg1(f$YpIY(+L^qMYLD6qB52X zw7F^n*1rnsy~QS~yM4j7mCJuu3{b0|aSs=8^N-1Sf6AE7D`OlW+FD&t1~{5V$_=oY z<++ur#3@9sxf?Bwt)$%3t7mHN{`L6jjBw^QypxSLIJ~qG$U;4h>Il}qzi%Mv*S%@4 zkZt9oaS4AiJuGp9M?W}6Cgi+63oBmP z8(EpYdv@C(SkCaf_eK?Zbb3zqcWVja*I~!%yA^7ZilSma8TjAJabUcSfW~o4zk2B) zz&b9U@G9!XTyS2K4IbmL`v2U*QLt6Z- z4J)ZeEuwLCLx5+Yw!vhgv$M3alOb#^<-SQ>u04`Tl{OZj_c{VdtpKN~(5f+45&cbt zw*=>ytbNoryla?aZ1TAai2nfc0i21pwaFj@BC7)(KP^c#rEQE`M3x6oKALzO{156= ziof!^wY9k58Qwg(leF7U9uo2>G3JZ7i6qCvZzWldtcM(u>bR(<2Ma9LCL&oog zqC{XfHy74OiS8%1hCvOnJpnQjrmb2NO-2Zm?6{%*iN|<*HNdCg=Me`8Ze;0VB7s-0Zbd-SbekBOyYPQ$5lqTRK(SMD^Er5Em_;z)VCXVZW< zoTa6$ha$R$S#47RhRn--I|&eOmQf|DhEyq0{9VGmj-`6-$STEG&}r!V9j@Z;i_&qf zP2jyajvf=^?*`{qN44Qec@4p1WrmK<>i+65Rfv(N_hnWswVS0oABMAA-rSmh1GUur zy|voTHIh+kwbk`^8Qy(8c)olTxH}9^Z0>^L?Q)m+``f##cA6F2ByO_X$4J3f0IB$P z)r)a7>R`FE*f_NrW6xLUIJ15O;Mu$EUQXkP=I?Lf#@k_L$y``Y@w3>awmun}7^aVO zgoH|lpe#N*O7+yRAKP^0o5q~~072Q~PZ(qI9IDHXVlbl>BF~4+MQkwALh^qj&LodC zEiL2qF&U$JgS3K9>QSs$r7x)*ea6zv6>Z#1*K#cGS0jwF<`K^MTwI)!F>?jQ+!5S7 zaAIKnV7B*wF)WJ6O(P(Ix|BP$d@aTcOmI1pn|QODoO6fs{&jI~oPNXDRWQKs6cQ{k zlt7`GV2VJC)8=FAqH$F!rAdP4>7U4XTM2Ld-*W!|87|o@?X9mSmE}MvSNLIRMhvBj z^wo4+L0PY1Dq?<-yq%uFSzWJ^_yXhSh2wl?R(y@U-Mgc-ZnDL5XiBn34@%H_8XD>N z7OPsi_kN{L)ReeWyrL!(LFZ;aC1c z$?@4NxYU-G*HdIJTC+S7vKXaRHEpD_>xusWvg{|i`&isg?OLa5%^eAJ+v?wl)&=N- zG{|vlNPu||Tzl6Fh<;Hl5xAz>(zK?#mX2hd4Mf>!xaS5SbMVV6b#TKQ`-4gsOwr9jYqPW3e{V!YHfU*#d$9v zz2V%O$oziej9cYyaTxp^{yxfR4fZXr8&ptr)_tbZHX)`hy0-Ck z%(CQ}v*X;}&joM0m0$Dw-V=F{IDR*Wiz^MRWLigV_ck-G<}VsWHo(jd_{izIcD6=8 zGD|Z&zLv}5%r3ai_BEE=zuj=jYx(_JpN)OOR@UAGx0st%Om`5iAWZ8sM8w&f_bNpUOBkYvZ(`8*5z zf7C^q;rNjQvoU0xSX-oWRZ8_9%?)ZOPQN%`Rf+l^r#wirBVj%MRcxcVFs1w!fG*+` zvh<9w9qH5!S7zpjH^|w3$BlI^WaYy+K4K0plxv&axcqT5Gb&MnNwIg-lhUVM9fbUN z)|5G&M`!l4(^}OUbjM?1ix$%5?ru%&OvW2!UCAVJJZiQ5;LNn?_x9GSkV%+RsU`9J zHYuTg(HurPkjq`5>Nl=^ zzAry{==NPHb&6ZIlD4yd!oDn#{+l>A0P*gB8HA6WJXTpdnBl#^<6*kIy~td@%NddF z;&^Q#1oe^I+$&w72h3w)7cR|8?QzLdfupNN&q~|Q&c+qfoaEMgY5Y&KF7ig_941~> z^<{yR1;s7-Cke-K8Sz+o@m|dKrs+ht6AiKu&mgTBw&PmV)DSywVAORcmwpG&KdZv@ zKi*BsxsD$hd3sL_=HG((Cm)f+@Z)`R7BeCGQTp2evND8qttE*10^8U3Hv_j`FMqOE zZfU<-Mc~)tBj0a24UOj38;y%zBZ{nEQp1NQ>}86;ct63}Z1D0&3B1WzN1U{rJeZi{ ziW{%gPP6;#JU0SRRhMlQfFq*=K~F_HGP`0n<0h$;l`HT*S@$1rdP?MRSTy)DG3WR% z9PvJ5h~v48mNIkt8=RCA@;UD3f*E{mjzt zkHG5fH=BFa{{U%f@BFAk{G*w1jE6SF`0s_BM=Zy+g@n^$ZLfrwc^cMdmg(mCfMkth zMIbobO&EuBx9qFUlxK%4#*ym7Ub3U3_YA75ZVN6IMHwb7(Mj84QmbhmBrYJ-#;L z;#EbM*;^!OXck04?vqy=TcXp~TCG~SgkdS%VMxXxFg>q@WGV)K8f7&zW*2gWe@ z*zL01=QnL*cJ~#@T;t-nwvrgHEp1=qjHSo4SKL-krHY=q({jd$>U<2hH|u!g1#K!| zn!>zs=0kiV{$H3*SC;1d92$MNlK~Y`EosS zn_RtTGR7e<`4(dVK@>mB9>t<|F%`bHNn(vXz&=K2h$ttf;wnJbz1k*wA#wf z@>IoBo*sjlyuEJj+AfrT4@c%(_VLdT;CQ}Im4z+v)_EPWXK&}7BUWEz+YRr$YynvpE-^q3(mC4|qy<8nQR+sqZl^@* zYlKQ|^;5|>b>3Sf_ZbP`wqGFfo0|xr$CejYFxld5t_QrkNZ9+gGXmc>&^GGZHI!Fz zT$4(;J8sw0nT zQMp`A2alrUd0f=FPZ>#X#rTwx-phTM&qMADJ2_rf#>A@#kV!Lpg?2`-P#dxW+UM=I z?cAQU)m{g&>wDW5Hd}QGDNZq?Rmh$(JSUdg6t_NW#aqK^Z5^IA-yg)TF3LefjwL?) z(3dL`l_Y^$*U$}gUeXI1OW2Pm_k2EIXyxTTHS$Im50SdH^ZkxTBQ7dDjt?7ifVZ)= zyGxshS}7%z$j+#w#v~}4fl%L`wWZs)!AsVI#+MYmrG4YLU#X5A=Dq~pM9br6#BynJ zSY9=h#NFB4d$*UCQ`|%&Vk5X4=8QS{O6_1-w54t;Euisr7vs&?-W6xTvZ;IePBjsl z^>KLxkJ>QbWNhy7_U0%(zx?Bty4&o4Yf{~oy3J)bCOKt+S-zY&Cz3et9nafxY%AjA zl0}V6V$&X64XqK3EHRF&xtQ+h&^Co`-JBxu?R6sL<-nOR{983)l;qb}FiUUx>8-A# zS3oGS+oVk?s}gDK`~aZ*bUU%is8k_dU&k{;Czkz1y~7cbxH3<4rCw1il1&_hF=Mnw zY8tfK0reV$_cr02mKc>uHdgN`eLiI}JdPaZC(L;KZX){L-qQ4PYe%=9JFuoSU(ndv zN$x9<0F)}Rr%+E_67wF;+S4iJ!!i!eJPm#W=~p|6oAu|*ymrp!{@y99`4ydxMm4h` ziJe&<5W&$x{j468=ti*aJjbxQwCZ$yjL~9#43oi@L(QiHjQV8cb`$ah&Rj1WOF8bX zG4k6(EcS*6X+%s|#~iy3(dp|=eBY$>O{KoE9n>#5YLuFeoKt+?Be}TiO68ptqh)LG z_nmxkACL1{9Oh>49h<(7*~Mb*y|!5IZ6SsPGc#2CE~?GY15-~;eTpuJo1MCvZcpcq zKP{vFo0hn8;;9@gdJgnH+5Wvv%A_N0q9V$9-yd&=p57eg+@^MSb|~RWZUIF$iq(&A zS`nyJwL=m$o0?)Wl3Cr&n9Id2tngeaC@c%bKk6z;B8|JPN2w=MPJ`1@!uhZ2gMstU zr@lAhoDUGcv*ftBu$Mf8lib@`#U1P7qjZspg^aG!GlN$H_p9GoEZe%S%2JhL^89;? zRk)<7nHlrHss3T)OlJ$kX0K4S20vd zf&4$}6O8d3dtKgeIk`_Pv&lXFCo_I+CyEfr4McKBzuj4sHvRtqGP5b{gjl62r&Bbn zDJl;*zP!0iwrd@y7Ao-zQ6jbAJI$#j7}f?oNvSodpdOmu1%*> z8RO7pE+&gLkupt8gmz5s%;5}>$jX&sXh2HRy+0jzz17I4r;RFmO`WOzbi$+VXv1t_P0uj7CQ%1?{q6=N7?PKrUTER4F9& zjD8y1(r(o{b4E_J9Ae)h5&b>pGJIq+xSYf6&uLQMB1qoh3mW>Cs6DmTxYL#g3K<!luhxc{Nv+Y1`=T6M3)di;r0SQgPY*ZNYK8h3##uF?oDV)Itl3n`jTZ(Lp3{ zvfaUuD%L)wKx49_T-Z)mWrk~u_@099(d~AM-O1xDXt;Nl=gc_HC(XZ;<#=85;C%a& z$E$Jsd8Cd!h88P;S?+HwgoAvGy@XDtg#5s=DH`cn+$h1u<`Mk+KQo7CZFX{`Q)}2T zddB~;W8o0V=Z{nv6| zO3MS>bv^RwdpKCzxkmKWWk-&e?sDPDcaong`kL@Z18n9iiDU14myxqct?sNig`9C? zVcMly81BD?ZoR2k{lYy?p?h|ev3|1_&&!+r&6L`r?alf#_0WxcaSnU=)(gtGn`^9w zJCI|R3mlea?JiovS%`$%G8xf=!@R~sKqz8cu`Q@uy>jgJ#~8D#)wW$PZ?ao^k4EAz z6-QU;r3iCB%(8bkd5eB&XFLDc$;rxCzISFK_oMUX&4Ye9^-wQmde zUX|hPt-DlfO2)dlaHd|Nsr1FlvN*f1GTZRWyY5fKIP;9!aEnUCdt)S%%^bg`x4U@u ztb{J~W>p8~2fn>7-U-4q&7^!UuEoo9I_IgI--=XmxPpWX0YL&LLp+}1woJYOb` z+DPtTgn==F*4BHLC{zZKM^m&O*N?}u#ViHm;kBY23JD%jX{Ex@J7|L!aOOGE$!D48+TonBD1w~`snsg<8ffOX4CC9|7;plx6eJO+Zf{l`IMS!F*zH{K2mz8 z`=?rZg{#op%8sqY(+Vf)I=A{B(`5yAa-~zHY3{8_w~_L@d`B0)pN;dZ0ky?U#tCg~ z<$LmpF%FZ1KGu>tkpBR~?mI5Iv)lC>_P^S+^*V7>^_~J-ot?Y1xp8-KH=~1CGFQHn#mJ%UDA2iPNss zx+s)y*#&O;O zV|A9ra~xV5j$etk2-eotmqAey`Qed>nENR4D6dBOs7Tj(a!Jt~YgJg1pVFt4Ieb1m zhMIJCl~yDXy{E3#)hiJdQqS!v|33&=oy(3zy+;wUSgEAt_{;Lw>3wkLnkJ zOT)PLEXQN*aT!` z*2Z>JbuXzAb{FX{>88%k-15A>cRQI}O{!%V5p=NINA1iK8PZr%RN6_8dmfcFAwk+Y zmiq09O~xNL9xvQ;=WVQ8p>cc@<7_XEvD4xBFA%-4mlqO2 zYZtas2uxcm`@^LMt-E$t)oD*>yp$YL&Zaq!q|P(T`Bqz!a{MKSAdc%ZdzZswvO#2y z&GJ!MwaM54Qs!%F_1-B;ZR=a@O~NS>jmbt;i7S7>X<9g8k1qwB5XgaT($3w}*bEED zx7l9cP*C*ybbP!~zTZ^88L2ukA0YZ^;2gHrdrnPh9!@)oMv%4TbXrr|{ zcCMuNQ*N!|WLDD1kZimO!R&a38-?!5-QzG@e?xga-s`%mvhH~m6fOSKgB=|NuFpWM$9J_JOZ-rL0d zLdMGHm}e|F%odg>9gdRVz;1s^Sbqv2(aAH7=D#Q>aro;yZbga}$gj5kZu)b=-`e7> z{Ocw)u#?9;*4bF?;19YrUuZq-Ffdk+Z9;s*>?O6CSy9Ha&bgMTOR(AU-c80lje_Sl zTsJ*{@=g}x5F-9vi)FvaS+greb2+tkb!GNR0LCl!bth82DMHhB@s}cYptYqu5mfm% zHJ^>-uXv&6U&<^oP+3~TjCr875u{dVVU9h{zbldhvG4s}2dw?fw=zk~P8nC1VT$$1 zDYTvhO&6Ov-KCpFm(E~p3g-)okKjv^&UYx>t270M*vIRH2oqF85H=AubN*kMllNfa4drj#yul z-$RRQoR&%}s3S|)5eJqXfXNsv3#gEEtq9eVi`l|goMT9;;ITJsHuBtEjkTL5`yZgZ zz8(o|;PQ_Qx3XEDS02s$&$+3(zs6rd&<%6fp7ye7Y4)SkuPk1CCF(sNM7TSB^N070Y z4n1dC?k2LvQzTeT1oXHv1W;Z{(h(apPsvy%r0M z{U!KP>c%Vlmz%P<^3NhQgqRx?nux_iRb;zLFdLMHJrBoTc7A`e7S$KD=u5~O*vg9A zewF#qbW8ND^tlWyaz0(<7ZITiERow-+9z-TC-fBW_UUc>^K*4^Td@sOc_f?2v;P1? z-N9;=x-Qu-iLpBmc*Z~K zG`WuheKF&t_HD4d(=7>vxx15)Ndv5>pkHn{eql-))P35&YyH5RuZb7vqWGF2{kpp~ zoMY=`6%U5|U1Q5)yR+a~d;UDqC+cyx{F30Jp#dbKTH4#r<#w4Cw+mKc8=xBBbI;bD zrlS_8!|_TQE&l*)X09hIvD4lDB-tkt`hK#T9@btI#T#fP{{ZSxU(J)bcZjVBNhQfL zh6kvuZT-68Zv64NoGAq2`PQdTZT+`}Ua6;s7=D6G{jbx!F-S4rPnZ;tsQKnaBd4th ze?hK0^G{K@>Eg*9UAOk)%Eoe!q9rTyCTkGz;q367Zp)71?K2Ti6^)`QLV<&$QBf3i z+&a@-@4t&IX50B2hJTL&raLLTj4HLAdHq)DKGf=Sp)u>;ho9qg-pN@e-t2% zdrLN&jJuDT-@2tJ_mgig@|BMh=C*tu-w$XkxfT!fS=^IVUKhS;O|P`5LV&+1dV)^w zl-sKMBxbF-H=D!IKQYP@xfn+@z2w>Sp}}puqvkF>CUyyO7;YhL{QHq(QXw-=_L6P3 zwh3A>mf}d1Dd>9r`tNI^?KpdVySVum%j-MIoX*c7i106rYz40-RY8| z4Y^6@?|sBuz<6JhG90?{;ylDTKOl3vh01b!*&$ghF&1#sZp&#yBFAo&NY#3iL9P}3 z%(s`+V}w_`nf0q3A8+N}nJc#zr;^5v$>kMHd(NR+W%z%NI1eJa<@n1yFON7*4(s{M z$_#Psc$nOuZ1j?8gD^Bb3vFM_b?9Q8X`$o8(0n^{dhX+J=Q`?>uj8>C>&1BYC*>{+ zYve8VTo=Q)mZK@haFMZsnDthX?k^Gm&n%TvHWNzr-P2xr?#_4bN>g-IKIcC+bpD^U zg_{ajF0`uY$Cf!S!z{Ofd0f2v#<;7_6_%TYaNp()fwzLr-V>2{v8noJo$h54h+1~3 z3mVl$K62I9OKYaoX-fN#n)!m%w^#g0eQj!fmzSWdpIg|={{R~B%r_+Bc{|ID#lBYE zb6L#P(%)QP3&SFnn8@DV&{Zi!2d6{dQrudxelJug`wRL{SLz!Gr3DVo!2JuzDnMEPtsV}-9dMXl1bWGr%UCK+(^Nc6;p8( zg#}N_dUP7i9Z{3765aIeN;cFMDP!7P(~z`@zcG`iRUPY3h_0>7=Oj>{s*fe7j(Nu! z%ERP1I24(jMJ{cw;l7bCpthaSnSVzV${9BS{6(P#oir_QdZ6E`zO(FJL-Pj5Z?SuA z+P5UGH}lfET3<`=L_5uVhtFrp@p~^T*u{e3IUDcj(V!w?#J>u+mqy6+sZyjipWoE4qrKY1~LmP zXNMJJ-=+%!$u9XLiCK|1OCz;es?2J2>uh*?TUuPS$BS(F6yxI0R+_%!x;zt;?(gLZ?A2qvuH;)`X9GCgVA5q_V8HGDi&d(#I0U)-gz<-I-$yrCV~U zP;X!j8@JNBQ{7EnaMGx|pKT4Bjq|;2Dex{w2C&6&7>u}%F^9Lk*s#TYa6=@19X+diXaN1Lu79Um{3I{9 z>>8K+_nFG<6Ov!-KC2=}*Z%;`qUyzFB726p4f#1|GL_qRBFLEO)HVIi>ixlh)VvsS zA@@=d49r;bYRzFg_r^vk5C1GKZpB0N(V@#~kF^cZ~S(PW6 zE18goHt?|#M{iw=vvCEDbqPj_h_y(j#(1Z)lx{xwed0wl3>&(TI(O@+s)b!g7mvJ; z&HQ1>YW z6^@dz@ypA|;g~}&zS9Ty!PwC-k=zC>XhG@m)e?hT2`EHIk@1HXANgx8Cmo&5#nfqhlNX#y93>a^!A152>ia{{G^gP*H@uvHnzSQ z@&_WYTy(xWy2n`GLG0hW&lD2-ElQrd4M(7^rsAkWNblp{Nz>r(t+Utm5!peBKdXY` z_VT}{Fp(#?RzGrqcGscTH>mAAZN11YF>Ba$dNt_S-dec$NfSml#gEFdmbu&)F~nwZ z84b^Cl*cpNK`5zK+UNizFd&NbI{fiIk1I0MCq}y&_owFTR^FFtUYZM6!B_D@$o!Fg zxeZ=4wQ{r{X?p5wX{CK$!nt|A5_ML6zo3OY6tZqD$>d;$g(I^S{{Y^Q>8-t0YDxLM ztgNr~eu9SZ?l#p}T=ILAj=gt73J?9}(e`Rw{X`#|Zal3=*3EU#iu`@DNOFACG*8vy zxVf@aJ9>(%)N~@fb*9GF<%y}u-=X{nOU=8N`yjm!;%eS+rt4M`UHNAS%s+Mc6@dnw{{SOu_;hQ_ zD^vA9fn2=RylRU=^nRnJ_T#}=PA_lGZ}}b`4kvpjw`0iU$*S4T;IizBWN;m;8wxE? zL-5tswl`%rZCjI?;YU*x`sVYD()2IPg>t@c`a_0kUQTg?x_2c100w*6{{Ub`BU>Mr zdW4=9CHVA&e9?9ZFStwnBu(TWsSl-mM;Xap@s)>~@)S*&oE5ZL2o`BrfIZ8JQBpJ& zs~)C;fD^5oPbcrL+)Cs$M~h@<=R20wRr^C8UErZ13CbT%5m87_V zaNAYE7!*nkBwcbGw@iFpQ+wL9q$88Z)U$BF#dUQ0|UY~hKQl7i- z(0vAd4tVP&;hzZd-!SF4yf+yxNs5z`+i#LJxt_uZBy4rE)}G(G14?%uzT{`qT_tTz z#wp_2i%U;P?D2*plV{LALMJwmcoNi8w&F2q6~UtIS0lk$!a^vA|-y{jwhn_I47ZiJ6{i4!DJ5&N+w*I;{=`!ze) z9jMghbPa?z6qMCm-8-VQ^^7hb9QmA|HR3p1gOBmYhq%s0;~{T6zrdF68)qp5N(ajt zH}M!(tJL@H&e&_eai;M6+3Wn$wtX{gZg7wLlXR-!m*?6~A4C}ZWslPj6`uEzSlcw& z{LR})Tu?IJup_uFN>ir0D{Rwf`NvS|>Q_@y{ixS{ep~T-{{R4Ti5HSvo4Yi#yMo`j zm7>U7sOwYxWhn6A35E-SEF_^Up+mwE*H^0cFxkropDKhB=UI09Oh{ti8OG_NaX8!KR z7x|)F*sSAwf9V)2l#EjyueOQ!Ff$$7|W6gX^1D!Tmy9~~D z>egIy7Yffcz0b7nrF%yv*CVfQU0=W6{nd{S6;i_zHY~eR)L&S6A0RG?mF1jSZ`KC4 zY|3R}ns~y?xNf(%6A3HSQmaqDUl*4~wxrxtsa&Xb7e~D;X+YPW?<54L}V~1@Ce@MI8PVv6@E9W+bvYYOHoKd5Whkh|NxI}i-bnIS zJMy+gusoADlH|jePd*=wEuJ+ok1fUwLli>d2^wT;Xx+}`QVJC;NF!dSZMVA_>zZ%z z`5wEk`GaM5V)k1(LN?oN(K^>RR`b;Ojb0&<<(x+Y%B`_Bc%DQsoTAGgf6r{*;mo#i zH?m-`oB$(=MwB^|V3C7U@`9&k>eq=E7xc97K3`!%UoA0Z^zpxrZ2X5j`8>W6uQ>Jm z?j&35{GpotkdRDl(b})E3jiKKvHP{e+LV%9utnSJc6O?Z8GDPdhsI-g z-HbTwRjg1X5UeZg#v?^V?2(|Z!~~iO_a&IK635d<2`Vg(46ap&Ni4GVKYpf_3Y>x( zCMKo2p88^_m93cc1fAWf{kke9%of$b?bo)X*#szCSLyPCKJ7-MplG+)KGUY;It03? z1P@;1dTCUHV@me@@m>)6qvcV}?3>F`#%!)h00&D`3y|Mq-T-v({>b`$X4?voXU-m8 zEWb14*=yWpHsd96k-NCKir&r%CVy?^W)zMv#*`ziG~;4-ew5j6q_YXgaL!qRwQKCJ z5zXSPIxLwB%yr$g0FyykC5cz5=sM|7X?6;(ENbL=jem5Y+E5y|SN-C3oyMfezr!&3 zV*$?izcKOG8Ou+ez+T63jW*Wu1-Kvhur)y5lBH3AuS282Z34QJ#QKlmT(2d_xV?qW zLxZ@VFJ&FXwi##FG`#Cnq&SGX_aM}5{m`FdPCn|SQv zK@b~>R1PWCR-N@NDT`AQCDbS?u-r<2bhM+?{3vu#Dj)A;C8>%Dkw^iBT#v-)q6)E* zsA;wmf;urfi4+tX%f8$F#fjTanw2VaI!^6vH+Jty zRYpnB;$INYW&Z%zyuSl^ln9!!vWL9Fj?92{DC=L*O~cGAGgb2$HudG{{Zy@ z`}Q9wvzk~&$pW95numY;r?#&9O@x1BJxIj&`{{o6Ja}gx^Ou)AInKOG$}M?bBa-mz zhaqTWu@dY!A&%;-c-(<(gR0@RdF1 zcE;m#x!cM$YHN;FMRDQYG4ietJ&>E9c%zo)V1~@aX=#6py1#)h7V6$bd7^0}48$zTKixQ|3!KeT=Fg_mEv~|;#?uWyZvl=yM9G&`nZUkPRO3o zc*vkAD62&$xurb>cdLYF{+4j1)0}gZePcs6n3?$BDdQKsx5lOpNEFR^70l9H!6Hu$ zz<8vB$8q_f3KfY^3sb4CtXro40A#&isRgr)U)LNvMiz6PVK3m!*u0jFJox)eb(qDA znP8eoE`;W1mgyrPQ=kB9iS27R&N0%JYw7MfQR*MmqdC_fEs*rnm5%saepwtY!+V}!QgJWIxy+la14eq434*jq3S9vZ+QCDZ^_J*W{n zfnK!ib-Kj-H!0<%I(NJWv9#`9P2{osdPhGO%2{Ese4CbDs>voIHkKHG`M!1A5--~9 zHjlqqHqdf(=FW#%TCYOXcq)2X5G9u$!`fxJPa?$G-sL#;h1PQ;lxS2*{KDyqsaZuF zGf5=}Uc**L{{SO!soc8~{SKD)Ag*~u@hG^mrfC4E_w5G82rKZwLDxT-b6H?wJxGagA>8HXN%)f|y zwVlo8vUxnmCgPa@(MfUa!Uf_=Wu8|7pQu_^wV^u4(P`pWofov~e{iKMR_xoYac#cR z`~4yKuYhBG3BXpz9GO^P850%t#FDxOYx|AjH7&M)igX=&>$!U5?c9`8rYFqz3+D7M zaLfAhGP9B_$w&h;Nz{JxG6_pdm{^wtzVYA38tsEoTS}e27V_Cu-pR;f5#H$ z$jy$OC6{EexgaQS%vG!X8uMLJxcT=|yC~ndtNWQ_JU4^n_&!JEK5^rW zjC@Cp^W3=?SX;OfOUq`)JkW?iX#W6(vE9WMhMf;>S$##(ayZUzxRy=wJhJbuM>^MX zkxzBWW)$tz>Z}E*K{I5FsGBSE6Zr>I{>?fPDYw^;jXA~d4Dq&44`n|hy@w}wv*EF7 z_g9vwJP7g2Dnb|_W{!icL7+OFsV7lnS8gxiNPKaQZcUoym)P$i!j^d+9d&hzzq5kU z>)R$+u7%~PX8ELKVup=PB$hU#%>a<^)gLNs_uj0Zmr5lxb;X}&JHv11b&(jBs zyhEM0z&9YvWo$W^Ootrd5*u4{lg(OB8pm&D&>}Q3MQj`1kRcGow{Op|7p^nPD!!jv z2suIOu0-pHgZjth8&eYj#DENSREnz3dv)M2}FQ*~nR z&|E!#gw-Esr^ioGRRUVwW9clh$4;a>s{a648jFy$vA=c7IDMScTV8Vf6`jls7UJG) zm85SOBD8gBK~hJ@O-Yi`E<&q({{Rz|4{Md-C1Pj-WNldg07RN?v1ojav{x8;dZu3= zAnrAP;#IvZ;;*1^Uob|$jj!r&mYDG6(Z*)YZ(LXGFSRE)T&Fvmm)tOP(BWt zb%i{!#kU`sl;k2`m+>HJ)E$ZPHh=Md#(Cv?E+5J9{L3|alyCplV$0dUF9T=@KNM`>4%deXFf5CnYo?19lQ3nywR^K=X$`tr z#;mSOL_udt8WPNV>Wk8odR1s$2;owB=igKI9%8o5__KoXNV)$29_DsUh007V?ye#> z_sC(ml1U?s!4QpDkj(uE-Kyakr(B0EG{j(dul`@&5a1Fu?d^r1>0H# zh9kUvyQDSs8qwpmlA%VLmp=){xStTTTWlsHAB46=r?qDUR_aIl-q>B=jde_>-ek0j z=kj(V5B~s?Ee+Pw62$}wBe*h`0LoQ;v{F`z#Pu~F4M!45(22aC<(%Z4UywHz#N+OB z*4C3tg|oZ{SlaF=jFGFNkbZ5X4!zE+xv539nX6?RQ@s^-x*Nus(AMzIM4Y#W@lH)8 zwZs?Pj}c>%n$Z~|SY)|@C3IET?L{nUS{iD|HsYJ)Lvw02?#eNBNwl9};*!epRou}| zt53}fnxqdX4C;CGHtl{$TSp*kN_$9J{Ok z0Eh-ofc@cL`t-iS$NvDFeL?+B{{Zo^nQ_c{&CBk(=J(S%H7@xH82$ARsV$|I`y=W? z{-b~R->sT?vst-;dHF@m}S| zIr;&E;!*Krv00L3x0$8=NRmzQnG5x-V3h~C9s2>IgdI@F zfG_HyQ&AkQs#$uF7=hdI(vqqr31f+1xh1uOV{L7w$)s0yi1FJk)bIynGz%I-3rOUU zwL8cllj*EB?MXaM_csuw5pMp0#|)FsT$hpZEPVO7@YvqKg>MV2i1^=^xsc`nk_Bwjv13-^Dl;lt$0&ADQ6!A(+-jZn=9*z17@qse{Q@_ktxHOAZ8ow|UsWITH9~3S z-a_&QBFlqWaopTjuySm!XOU;tAsyYYvct-lTz)-LL_6bIp?ih|?gpO?U4L+`Sowac zQGfP-k&mHtH@@FZ-o`P{gKe!#(!~6m%{h#!c*n(g&M)rX`M);peSd|mwahq-SI%ZJ zT^S>AKxW&yM@FIPtNL8!1>#`cJ?9t9R@66Bgmoy}!yIwr$h*A5lW^WwXK}_ce2U2D zaK_sq{Dyg!D~KCr_=CjFT7@IEb$yz})vOuiDJ6;X^T|1$QxoMcsBC6rO@ib%cUKnD zW7(rHn^`Vrk=fW*r)<%*Y^}7RJu6LR>sZ;M;X~K?D(bbqi+MC&e+GFcf#CctD0y>< zWV{vQDDC9D$z9$-c^p=@@GwZ0JKKOvjOH+)0YEx^i%oYf#oU~vvZ?az!b*OH?kczZ z#=Q5%2aE2wyb;}|TK6xBSQX=psEP)fX$adXApD?yU0H2AO0S7hg>gA~!@0j3JZlqg z`k7$5Wp=!lXq{u+&d2irK@``M>MBydC)$0p%NOli*js~ibSkn5{q@$rig_D-Fw9A-jy0Oq8iwIm|R`j6u64sMJu(@?j?{i(u6RKfkHhrC<)Dy{{R5s*=r1bEpb^t z^rslJHMGH4TST!-32ntANn`#JHAw|&@gE&GMDfLfY}0aIrj9Ym{F!y-TmDa+lakzH zf0SD!(#JKum5`NX5ZT652u9@_iuGgFiDO+`3-OF;rFY^f#mfrdZQH>%g*J|3m{VWR zNXe(e=CAG1THS(WI{Chnk9LJFPl-8%O=q+xn?P9NL)h$e)``VY>#+X5S zej`>X#AnC!72vPtAI$FN<(XT+54P9YsV9wCiU#&sJ+>pb+@^=FpWb0j5%&B^cwMa7 zr_kSlSF7SL%A?NtM=DY`}uzieP5`&6!^bcvR|UV0TWs98C#yUA+uNU zgZM)VlGh6dv?my)zK>KgWheTSx(-`(L)^vB>o z1$O$_di@psDlGF{w}Uvu(@!HwER#U;)tJ~02v=i@9)3f{loBJxDpmSh;fc5AL;l<5yEj(Aojq-ici#!R)?P2lv7q+~%m0d2mS0RoZj%i(w zQ4PyRs|r*1V?`&`j-@Nj_IDAXZWEQ_Z0(~fIFv92Q96&=*lN1eV;7Kl7Wqxb^1*3i zFtuTCeR1y2#r@d-0D>Vxs4AP7I}<`FN@)yYWqGa5#aZqodiFJ_A7{f#q8hPhE-o*T z1dJ7!1Jrvq;JH@1w?8@n-AjB?AvY2v!#vh^Fr=}& zlvPq{SxEqO8ibJ~LC~$;<;}gFsu`|s=8g+!R8^W;SRyFQYa7D;-GRmr|AvYfzu6k-}fXX5KC*2a%=S|7YpI{`4_oh3apn>L24KpR1+IZ{W^<>BTR1T zjTaKr@jJP)d@C#DtbSh0Etce&T>k($g3dFs?k=xx4Ynx)?j#1CVpRvxwVQFbQr&oI z<;?oOPU@>|(_XkWsxh{o3THoKexx|O*^0mLryb)wVhjbv^WywtVQ0zj>|_wN-0;U!xIaV)7(ocqkH1rR+&z!fFD|sfUOmPvC6cYn0oImKv-Mttd^HWt{{R*Z(8ILZy}s@d zlftUK#p&=T7sb!w{{SFZrL5OquHZMURagW+EBwva9;fa5wdXoj`FOH?e^cxJeCXSF z>~_@2OWzuoE9j75uzyTEV?A|Y{A&sFwiatERLL*vrFPn)hJY}wPP_2EH(Yq1E9xCK z+P@e@FQqr?C@1{DV}|1ufyn;=C$+VCb8Bw}&_J>>t((l?_3A4iIm$bL4wbF?i!y^1EBjcQx z9?4B-mc~tWc?}A`xxE?}jJH~;Sq(w&uEx`GCk0dIK4R(i;klZJGo;)`=Ph@}aTobG zL|I&%BKIPI4w77d6Q}@np%vFh>O54{8#fZX&``YeCZwSiVt(G5R3K|EQtIe#h?v#C zGth1$sC98u@tYw>NP}z;KSTYEKvK3WSN3ShE%IFbO0zM)St6W2%UJhi!H58H@t$E6QK^c z)isO}*Z7V5{{V35_vt%{WJyDrF$JIiPyyI#lEdA)0)X3~4+zizq4;P6&e{O;a2}&T z0>5WZj(`x}Wii$t=du>oU;bWXjQ++WKv2+Ja{MZ*HN4W^C>>>j7i1*%3nPV&y(`ta zYFb!`y?nu8n!3$n`1l*}?HXO*D@QzR@^1N7RAxqH+t+C$sG&V*X`vR#w~^+qZkkE% zXL*^;S>38g^#e^2Y_AjK@}@nRsi2zlO*!{1P{$dI-EU-VEW}bWp!GF9bP0mrF(i>C zyakIXBe-7vl{!@eRdso~tu@e&gsVoCW}x-!(1L#5Cdn*@+}TA?@sMWR0Sw2r52lSQ zN3mz^G4}U)JdEZGOk@&XPUHUohXOQ?4_Xe2btiz1Me!dq^Rwr8Ii_DVb8~6TG7oEe zj7iAdXBalNc%VDE(yobv&&$G z0r{tvOSeCAk8VHOhf7&F!lx&`wYkp;^A=}}<#16=4o zsoflm#ag|XkA*CQZBUGr3O&aYCB^w37m?aoHTBj8_AC1+Wrh8-JPaNtU_0$_8lPsR zD1vk+4oCGD=B`H4{-*BmE0a}?BvIGkHAjSrxsgrobI3WJ^4-gL6qD4e1~u*i^*VkU z7l<_`#qvvv@3Os=*QxfNr}5O>C?_^++l}%PNEmy*pBS3I)u|}H0@Qi_k>t_=Og-8E z0P|#M$ctggzJ7d zJ0?Qr<|*a&9lgXwyjEg+Os%E9Ic=su^F;Dm)+gNHimQqm3Tsx^ zYZqZtf?k7-)c3Rd`^h$*sZ_gH96~$(SIco+x5U|dNbfll%Qj*t-Q$qYZ3N0pfKft{ zRFG-YS|_!Nf|XOi!49u}DJadVBac5>9zL6Zd0!Wtj>21fFE6&1Y(T-3HXz0&@to&`kd`-e3%5uy6uP^cjM#IO_ zV`8$nOE}vrwppPhN4=zp4&C9l)K;41^qr-tx!hHBt$!Wo(0t$5_quHCu0|_`WlMahrQQeh(JYiz^G;+lG|Ma^>c7_Y!Vqb~QiIuA{5RN?pqX z=65=d;^ehCx}2T=0GTM_H(a;J{x`+rQaJIJr#pUNxn-@+LCi4*3>vkHJ=OmJczO+A z;X}fAB~S1y+wON4rx4(rrMz~RH^AD&s&`2gfR$dob|=GL9&JiZ^JnNC zy}4Pj7{A()q2-=9INouIu&~NLN_=+}z0726o*!&lu!w~Pk=mrV6zDxGuSX5On`^lE zp7*GD+nKkPr|&wm71S9_UMVfO{yP@t#@BmVEXv!2Nm6%8$_YK_y1psU^OsUmVt2j=P0L9)J;3L(@^9RAY1BEZBJSC5*>r zI9E5#L6c4K=J@U+e6^G$I8B!_S`yJWTKvidI)mPlw`x=Red&AIG?UGwM$!FaeLqAl zf1C1b&l_trmP^FU;ImeyCASRHmM>~Y$P|;;(^fsL@8Eu+_ORk+$t5({<3^qes2d0;ND2`N?Kh0 zkX-SuA(FX*St!T&a?FscFHg)mbsc)@=JYk!`!Q6IQHcY12M#YYO)+3zDQ zKeoP;S<1PMg_bJ+06mwPxaJ}?j$2r5)>OD?Wnmgmb?p=z9Izo-fD7?DYCH;?G- z&v})uM}gz`b&gvd22Yg9kL0|`mfF@hasJGNIJR1u2rV3h?X5cz*w~>|#i)+Cmk9G$ zlW(k~<=mV3jxy>WcR7m2sCZT&cfn*XuHp9JaVmo0LpV*tsWjCywx1JCjl#C;LR#S% zciU;XrQsKMQNKSSz*{`AOOd$D-9$GvmKFxNH2Ac}hzHt%^tBH`5&472 zQb*#Rc`dge7&s)yi#vO%r+IHAYpE6%t#%;!8I1&E@6uU=jS2yj|^ZFR;WhRYueF`HXAl2npa zfh1N6%<-`;`J1^q6iBB=OV`

%f0qeKp7ew3=3BA99jF{hD;4I*mKbimEz??NPN& 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%0DN?SR;xe(psA$~+o-irp^StrLeMbn_x+k^7(+}K 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

%f0qeKp7ew3=3BA99jF{hD;4I*mKbimEz??NPN& z2BOtKjPtVopt_J;P>Of&+op)b9%M0Z5y7uhROz~+f6l5Q3ofCvCNJC0F+pm3In#a{ApcH zU@9S1mx=6VnmCrr-I@OYA_XM5=|HPOPvNHVB24(7rhJ@M@nkdB`0g2rDj9EcvkO)$ z>FwM6(?8v_Q1N204GoSvejnkUG@v?VJcWG`ph!pZd|)7Yvk5L-SKt#;S7!25?ItpdCYtdWy5j!z5!tW04pX2)I)IV+LB($?p!hZca1^Dzf)|U3nWLjeB(XDyqCkR zFL9?YipXQ{d5(W0aXhAWTzku7V5=i;Qd;Il{J@^I9kpKS>a}IRLFxRp)2F?@ql#Hq zg06nUqJ9(Qb{X4#NysHj_$Hd-(-$GUR3yz6x?M~c*#T&V?P4S->mSCaMWo%h)n=>f zIsI-Cx44ud(@DBgyy?fCDphV#<}MTEzaV*w7svS}o$Fw6*4V5(&2))xaSg1yF1CkZ zwbtOhE78<~y+N&=MXPpU3gYVDfA}5$04Z9XyPhVN(rUC-rWg&rd~sGhv+0wL-L2i# z)t4c*hSC@#NMUWSV@=cCg(M;FBaN%nRBHXK+$^-XqXQE-z(S z6rau1$GWZfbkTW#;?1s1?|EtpeMZb)PH41#AmX@r6M=GUl%<`KFgXPlpf8mJ+|BHnx`}9-BYVeZ??JOMW&Npk@aiMJY{Ri{N;lBYAHR-s_9vV}n31-wz6 zlml|2f<83qs?m;rQwwG7?gG{8PllNaiKb&w7y(rDPg(=(pkf(fP_)=8eNXMsMJ8)h zsG2ntqc9?s9=&PPLnK{Rj}se}_wKG+ajw*k75jR#N`Los@gqWX<9rJnd4|Ge5Xp?m zv_fHas|?cYXK5k@-aeame&`*@HR-79qa{Z{-k2PDURe9{AyO5p;HrNG2z)&f$Z_RR)nug>Q<(s zEK+N=RGehj8Wh6!jrpGmlZy7|74;#Cg6fmrS@Hf`#W`*|BHt@QBFb&KDm(Na>>84` z_(A$*7w{*oQkC_^en#8Ic~j16C+8dY1R28(S^=8{i_GNn6`BNxs48yS;$W6j*Tt!*#- zUF59QoM;qZ`5Vob7ErN~jE?hI@tBygUHd2siYTYYQjD#|e#-v2)p!e~;Z}t^WW_x6s%_8z6!oWXlkVNZgEpqpsj6XnS<+tVyck zL5+!gd&OQ$nX?mKXKrr-t>3?KBBO}p5}=~6AS(bz&FDTFdg+j~g-OM@6{Jf9d}9j) zDfv~cVwH#7WDQQ*JXv!Sf*V|$F^!7dZS3HCsQ}v)5Fu&-=oLYrA7Io_GPm;!?5f${ zxUd$oM{hIRTV2Z)xspJPQ7Jp2`IrIQO^`lrZgAPIPmj)WaWdUS9mC6!w%l4x^0ATL zood9A$Jf_dof0NoKcjwA1)m${_-vfB{*M`RZF>U1p5xMGXxu9Q0KM&vW|&g~(M`)T zvb}MZ7`{IOn*P4_L6Ev5y;U}ttN#FSAGcMuJt%MAWHHlhy5t#4-bo}MGXDTEo#D2R z*W`&Bv>y%B`!vRDt-OJ9`5}tqX?FL}0W5YH$Qme-TAN7-pb^)({7!+SHN5KvYHtx| z^IU@%mhv2qCiB`wDg;Jwu1ba~ckk=z@YL<*DG)a)&gFS827F|84`l{AM9N%RMP==) zTszxA0S_HffQ~dosRW(W9rY<95zOe1)2=f;h2WUK^$m^A9_q;5TiD}nQR0fm2T|D6kP>?dvj)76%SH3-=u%8uuJ9`k4BJ&vSpN zJicELY`Lws7E63b9lE=*SmTl#SiQz9k^6h8G_p{T4JoXf+wfLolcZVO^6t|8z5Trq z)i}J4vHdb~8_b6!=A3(yaGQ))UjxJVfXiEeRTb~j_WdI&%tqk105u5fsBE^*HltLr zHhHhCOL4iBp(ph}L!wTeqHyNc{0h?E@7%e)z+S^{*K@>SlH%AKaqa^uBVwPf5bF)~>?|VtnOr^`1=TZ#-pOx4x|JduO@O8;36PKkp?^N-)=&>(-?Nq1t^< z`*XUs_cOaJ=}%c8+hpzFxO|Lw#L0ew+G*!T721Icvru&;ZtbpLOpLrrr%E25&sVJd zlUh^M$W{n1Cbi>vM6!7v-8~utz4?R36~CH2bybXD1|lHr=%e;ep)}yA4~R z9nb;LkF;w-!5j&(B#xjkE%~}vuc7IqQCiGI?!Pwk)Bragod%p)F$9vAVOnAmtmthimX1bg7_R-IayMW0sxi)4c_mwK^ zI4H~APkIizG`>NnwGyr~m1A=l`#hbE{Bv4gM6+AUh}~7Xj)s&!9Y&&PRM}`c{{ZGB zKlV@$?a@#WT;^?dk-BLJ6(f47{erqGA}q=CTcnm~Z8&Y+#==0F?)@Q*(Dwp1cBkQ^ z5Wu1zR9{>f{{R5oVlbG#3CHq$r#%B*TiQz`vaPHLc8OM2e6Xtz{Opdv1k}>t$uAu#+{;*Pb>{j zk#qUQ@yC$4jrPl9j=|)o#$)Y~VTB}HNmwvdrFQh8Vp#VqPL3oSIlsa29Cr7{wz%Fo zaqsgUN6B$8OJq`n+QW`$_N%c8{8=JkYDEn`I=RZZkv4x#__^@;k0{&J1jh*N_9@;N z!E(qzD^Pkc>#F8SGR@j?j!l|v*6bH-)rNHHYyj$ z@=TqyHqedI-QLU@SHG(m;va)Pgz626ITx9HS>xV4dC4KcWciLW5Ya_8RV>}Hi7bpG zjC-ay?b~w@2GnEr>F8`oqh4hC!_0YW7n0(Z*f?=`jL)|WuD};q;*n%P4^k+|J{p{1 zLRb>p<}!S{Hx_FJVQYlpK3n8mXBC3NTbRgS<&s&3jiDV=+F;y0Bx_PhK7mJ5rUTZ`$9$4_R`Vfm2OY+NyZMG* zRJ4o__f^lh--7B6XlXG}weiLeZ|d?_{Lb+I0P?u?{SBBS`_s)?Sby13sOpo*dQ2b4 z*LE?>7Z=6jIE+tFCa{D_cHj1{r{5tzXr_f4<~pP>Z}PXt{{S@i4${4U z?Kvk_MNp2TT<#buf(h&P>EBk|;VY z1#8#8;iXXr*}BbpW`)Y6w-Clp!+e2j{W_4=W7CvlJes_p$XSbTDViEv1#R7TeUA2x1B8>#8>v+^^e9B^6(J?)qlx)t;GlGICRNr83VNmN)7HJ^Yu% zeo3>NkKe(5c#d8eZ>^&;EPHIF1*=6A>8%!a-XmE)!^m6RPTbU!$<*P`g!23@`wMF} zTR8Due!Rmiwo)bboO_Y7f_C=#`t|9rHNDzK8>%kD?i~xS-n-G8ny#H#^Nvh29YJX)z>`5%Ni z_btdKL!D*DUJd)#A8R?-I`kA^2d;^2o8nz-%o|&A({3(4gNYo+340fw{DozQu@=!< z=kpLoc81!KOz{v0*-c^UmRxLO%^lAs?qhSQDM8~#&eeT3;5qJVHNZTdjp8}pUuSp4 zq_pLH%P-1X9JA)CB5QduqC@(-Ye?hS18t;bj@3JAI(?FnDISd7@-aDryRzt8+ z*fIR91!?LvM#F0qocV{EI@Q~{cJ2K*u}k3Yt@*!$IQ4|aEOa?*E0`?ZPr0%gp;5e% zT9CwRWT=lR2|JbSOzU)vRF_~1xvHQw_0^R)q8Vj~RIg8))2$6Uogff7l4(&Q-0vaT z7+$8QumBFE_Mp>?#0mcZi11rJCujbw<&ven+z2JNw3Gsthxc8FUDF@kU)}!zwb~ah zR|FKP8gqVj{Eq1+m8Y}C;wASi?G=5-cBuKf~G5Fq59CxQ4mJ=5yYCx@Q$K8b) znsN#!rRMAg=?BJ1Bh zdB-9D0I7M8n9m!Zm`j_vKu5rjaWyZti{L-Fkw1Mf{Y7~b#{OI5xht+m$T`0m%-qM0 z<-BdKE^@CmrNabi?V>F+3E(H(QlhOwhofq5XxjN=SK}vyne=yefWO=cww6U_2pl0B ztJ_f+z<1Y=Ywzkp1u&Ih@$wx;n!IU?8 z>icRMag{v`i*Jzl@mJG#F!2W&hW-~T;3!`@)KF-G5*;wxGq)1~D z%_PrJ&~5nYGn`w%mY2m2uO)E%4oBlIeZ?-hRtt~aIF^CJVe8MKhAL;G3K5}$nz3aCTW8Xk;fH^NTLJKQMC;<%&|oxA|7SFxSj8_u))f5E=h+Y znk{zl6Vvz+vj`*nBh;uxs*5>Ko3i}Ni{<#9Zc%ZC%vzgUn_vYaRUwhk4uGSmVelhT zjBynxieQ)=q?b<>jl7qM8`3+KQh|kf5xcgoP-JRae+gM~95*J!=Q1|!1eljI;?y^| zvD`A0_gQPuqLM{DdirQ~*#^R_wHSf zaY8@<;y@k0sUEtW2HCR{OZk1qQzLw#dy;-16QqGLh#reBa;a%-?C*!&{@ z+^3~_jlP;-A(nP-%2)fu_ddD+c5!YGo#n3YXA)Xtqa;n0x~jmWe(KN?$NtEm^&?fz zYB`goN%IfmE(3wK$K7R2ceij$8%vhExRMnwy-g#GI;a&L1qu6gL%k=FB?EVW!`qa` zTiq&MWNvdJw?OY6<=$j7kVnM{srYJsB9->}FLFIa=3))5RNIm$=J4gU- zgQY9qSUQwzy03Bd4vTsg`a@2&q`l6A`xo^80KpsUB6~#91o+g-I7@oU_A{{Sa% zW47E*^xYI7&hYRqErjv^0FHRi8@I+aw6@r*Bbb`uV@t^|651%{lHf$niz(O@${HGX zJ@t)6+DbgIGVV7odwzGDuBP9#;V;$?kuDxMEXFZZmhrn*3PaB=+}Cv8kyK z7gI%%eJj`=$6Sls#eGH4^?NRZbEeAVRI|um{Qm$rBf?r=TmJwtTuxpo@ph847@5sI z!0Jg1p+@2GKYcaP+0W#qPaWn967lg=l`$vY8=A4@-%#E$v9puhd>+YfAg@%FM3-)) zd{I?F_#Iz99p@I`$!c$~>AbRq3@A}|Q)nGEGma*!%*z~Ad1hf6BJ?DaKtCV1O;d== zDa80z6M@+O0H`@d{g}-pe&k8+qyCgqyCP84l0*IADgED8G|F6tqS*#>K5KpCJjuk_ zypZ8B(i3#CxKxA@(OLfhdS@RG%0H$#7ipl5>knf*P{TNpqmD#nNabkABehyGtjED`bw7A>lUwK?HStW{u5E&{r8vb72)V(zGR4bp6ezpFE`9ozmua)g$5^&E}^+!;SxV(58__7Xz(6H{{WSbFXh-i6UKg=bJHY5E^7TjHFSWM6cf7Hacq`~$+Okdb*&JYZGG^~- z{W$_P7rnf>dY8b8u?}zAGBWs|`FL?&w|`F<0_b|jHcnfH{f#`e)PDZ+;=N1YO>N=N z-|-_0pQ!JkUO6SgC(*7A?XBF$YkeiIGGw2xbuufp2>}QO{{S}0xrLqOhC73Dem8AAQbz#7 zXJN%$MZ2Q7yN=#@cLDIA)O#AIi8#{u(@#b5WS@IzW$Vtn&*CNYJ zNE>p9m`wnPG5o?XySp_;pM~A(_>JCN-?0(YKUDdAek@{mX9nWFKgLNsmvh)+(&UM5 zBt=G&cbaB-4%7qYZ8vVYvJT+T$o)-udhp!a#mJzsw2+v{v$cs2w%r&8VCSgyt#sA6 zqPHSn`grnAH^*{abLZq1aq^BYK0PoTc6jA8Pi+);DI}4|0aCjs*i;&WMxg^%Hu51Q z#Hu;$<;G7rlf2&3Np*1~jNR(eF>~9$Q=vwqPJ)XIEY0cu94-MLnSmWY9W`uv$rBI3 z@>eBH%vc&40jaBKgSd%n591l73O$x8MHrRTlu{t(O1MuHTcL=w0Ez+)I#m2A-%`kf zbtc|F!0oL}A}dh+MIMy>pKhHhgj#ML;$B~ofo@{LOKXl*+;VsHwYLji`{kiwPwuJJ z5}aaL6v;9^Gr;g`{{YsxT)F$i`DDi6qXIEc-8WMFrk@elQ1K-4MD&@(&0)g-01Jt6 z`y3BSHcDk%%jOmJnm_>j2BP5JVS*YtJjPcyGfk4exys2>Ri}`+ANExAP(Hz_#wi6& zV_Uf$T&SnapwNEZN}>x$2ptn>?8NER0Bwyrf@pm!+xoOr0}M=hZ971r8dU=c3aB88 zk}3znpA(>BCY(`*;qsoKb*`9%63j`bS^xzqJA8D+Z17xrFUap&%MobzGOBKw{{VI* zW~S*F^b7w0L8!_~IgKil&OgSSZ;INCj%M2DndFD~82eZxFryCOMbmJv??`F>?z212 zSS$&s4Sq}HPI#>zI}5_H*o$RNsJQ%Ww+@Tg11qA&pK^hzD{bL?yV&9 z{-)#yj-^R5C>5r;TWg8#X5S<0U3+Bz0HJN%amBwvMECWR2zMp)Dd5^ZX+Say^ zEYqVixt{t6_Ja{nDi5x^`)NiJ)}AQ&THDFGQJmNCm(*rT9B&l2}?gEg{`VL7sJp`{{Toc8Z8xxeaCx@#f z_eztLtXTA7#UwPXdQfY=WoDz@|p&& zmssBTPC9b<9)qKF$nPO?Ez#2l+uPW6hsqvC<9FT|b4-&>elX^I(&H~PSuRVQX!d?!-`RzSax%r5zBy=Qf?jbZB5&klC3j_n%G@D% zBS@*ap^Opk%4P^N1 z#XZ)p-QWYZzZ!a1QEZ%1id$!S2z0bx(?>Wc`Du>#QQP=n)Rq8*D;v3K?Lh8+Ax@194ds^;Cg*@AtMSGBpRq$MO1;l`kyIN*ai~9zv@mu;)VzqLtnpdi+ z{*4Kt2%IsiQl+|eJu9gJkVV~60O&gXl{vbb2=;*)nEP^IR$?53Ds`fd?*+Zzm&Z3k+9+%id<$6J6W!6Uf#}TmF1K)z(%y7 zMFy?YzM*m&V%e)>ZCt+y^Jv!i(~e(de8YgwUe9lNYnIHxk;N=BD>F-s#^he$xKe4h zatB>u*;sCJxxt@M^Cwub{W8whDXGFQRaPH0DNjJB{$es;T75g@EntR3IX*{-w~$k& z(DF=rk4nZh(r|QiM~dmUVD4wZlmo!LTNgFQ5wyLEDee^@oy5vEf*`n%son9Q8uIpA zd#B&=KK0dX#@9lQ3I71Ly{(fL(ezc19eeD@iOv*VnGXpybOrZ)CRkquAF1FTv}cl&=@u*lJ*-phxGN`UQof*5S*oD~AN~9Ng{Dxt}I6gMw%ks#*@^H$r?vL;U>b3QG8 zn0_6BxO)yW$E_esdpH)cuE@ZSHlQ_V$L9Y4e6c-ssatH~#^#b~`ak3Lw$^@3&e+2( z*v;plv$NWTq-dnUQ_yN6+m$3b3zGO;4_~ z&D7G8p%-$VXPUQ5NFl^E-b(ePTLA<_+WeJ1PM;G#PzRlj+|nIpC+)6+!|l$fqhrF?Y2JA%M= zj*UU~08Kh+;8{?y^r4G1rI~dGyTisudMS^tFH^ z{Et9>Q$y4r+f4*y#bfDf3JRF*A^>zJX=C_liAkG_Po|6nMQe|Ziyozy`n0Mh+a2~^ z2IH2Dw8uiuy?{YZgRiEYLXD2wKM`RfRSS)UXhjH9U)j@3P-$bX%Yb8S#?`Zk3U=Gn zQ?87|NhWcx5%NAqAZ!;NxVnsh8tG$L?ZNwHeX0FAi<()6mP*#%7UTSM?&qAs%NrpT zd?qMW$gy}3o^!a-aw^Jig zO4~7|I#ddZ{{U`)7bU*kq^L9%0DN?SR;xe(psA$~+o-irp^StrLeMbn_x+k^7(+}K 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 diff --git a/public/assets/2.jpg b/public/assets/2.jpg deleted file mode 100755 index ed60c05953cb898ab4d16e4c5539dfb1e8b97574..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91665 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 diff --git a/public/assets/3-e154bbe5f28637a837011ee3cdf59400.jpg b/public/assets/3-e154bbe5f28637a837011ee3cdf59400.jpg deleted file mode 100755 index d8528486ba2a57957640460f5c44e85760bd5089..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117977 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%0AQ97Dy{_Wb`sk8$ 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 X0oO;>Ow2m6dUgmrvE*SwUTxujaUvt! diff --git a/public/assets/3.jpg b/public/assets/3.jpg deleted file mode 100755 index d8528486ba2a57957640460f5c44e85760bd5089..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117977 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%0AQ97Dy{_Wb`sk8$ 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 X0oO;>Ow2m6dUgmrvE*SwUTxujaUvt! diff --git a/public/assets/4-962373fb07da63a676ade578f80e9c91.jpg b/public/assets/4-962373fb07da63a676ade578f80e9c91.jpg deleted file mode 100755 index 1a1a2c6c5e40f7ba9726110c796e44672ed735c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24700 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%0AIe1smbdM18UX4GjUGHO$2w%+?@R)O z01vzE?V!cSjwIX-qz$Mh{AfDvozVbMmzbs?zsrPJ5(wjMEkSrq({UAMZz~2Xu%95l zpNF>H^c4*F^AFP}lEB$O79Pgdf`XQulZ}nDik@Nn);7?!_|RU0cyW%|F=Gz5En*tu zxtNU&27X6V#F6*5A;RAKBXR=BvJSM4CuIzmYW5_IOZF)cT^A

%WRM{EY!ITXuDox_!7Pr^YRlpL&h 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%0AIe1smbdM18UX4GjUGHO$2w%+?@R)O z01vzE?V!cSjwIX-qz$Mh{AfDvozVbMmzbs?zsrPJ5(wjMEkSrq({UAMZz~2Xu%95l zpNF>H^c4*F^AFP}lEB$O79Pgdf`XQulZ}nDik@Nn);7?!_|RU0cyW%|F=Gz5En*tu zxtNU&27X6V#F6*5A;RAKBXR=BvJSM4CuIzmYW5_IOZF)cT^A

%WRM{EY!ITXuDox_!7Pr^YRlpL&h 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 :: Code View :: "+location.href+""+''+"

"+e+"
"+""),top.consoleRef.document.close()}function sh_isEmailAddress(e){return/^mailto:/.test(e)?!1:-1!==e.indexOf("@")}function sh_setHref(e,t,n){var i=n.substring(e[t-2].pos,e[t-1].pos);i.length>=2&&"<"===i.charAt(0)&&">"===i.charAt(i.length-1)&&(i=i.substr(1,i.length-2)),sh_isEmailAddress(i)&&(i="mailto:"+i),e[t-2].node.href=i}function sh_konquerorExec(e){var t=[""];return t.index=e.length,t.input=e,t}function sh_highlightString(e,t){if(/Konqueror/.test(navigator.userAgent)&&!t.konquered){for(var n=0;t.length>n;n++)for(var i=0;t[n].length>i;i++){var r=t[n][i][0];"$"===r.source&&(r.exec=sh_konquerorExec)}t.konquered=!0}var s=document.createElement("a"),o=document.createElement("span"),a=[],l=0,c=[],h=0,u=null,d=function(t,n){var i=t.length;if(0!==i){if(!n){var r=c.length;if(0!==r){var d=c[r-1];d[3]||(n=d[1])}}if(u!==n&&(u&&(a[l++]={pos:h},"sh_url"===u&&sh_setHref(a,l,e)),n)){var f;f="sh_url"===n?s.cloneNode(!1):o.cloneNode(!1),f.className=n,a[l++]={node:f,pos:h}}h+=i,u=n}},f=/\r\n|\r|\n/g;f.lastIndex=0;for(var p=e.length;p>h;){var g,m,y=h,v=f.exec(e);null===v?(g=p,m=p):(g=v.index,m=f.lastIndex);for(var b=e.substring(y,g),w=[];;){var _,x=h-y,C=c.length;_=0===C?0:c[C-1][2];var T=t[_],E=T.length,k=w[_];k||(k=w[_]=[]);for(var N=null,A=-1,S=0;E>S;S++){var D;if(k.length>S&&(null===k[S]||k[S].index>=x))D=k[S];else{var M=T[S][0];M.lastIndex=x,D=M.exec(b),k[S]=D}if(null!==D&&(null===N||D.indexx&&d(b.substring(x,N.index),null);var R,L=T[A],z=L[1];if(z instanceof Array)for(var O=0;z.length>O;O++)R=N[O+1],d(R,z[O]);else R=N[0],d(R,z);switch(L[2]){case-1:break;case-2:c.pop();break;case-3:c.length=0;break;default:c.push(L)}}u&&(a[l++]={pos:h},"sh_url"===u&&sh_setHref(a,l,e),u=null),h=m}return a}function sh_getClasses(e){var t=[],n=e.className;if(n&&n.length>0)for(var i=n.split(" "),r=0;i.length>r;r++)i[r].length>0&&t.push(i[r]);return t}function sh_addClass(e,t){for(var n=sh_getClasses(e),i=0;n.length>i;i++)if(t.toLowerCase()===n[i].toLowerCase())return;n.push(t),e.className=n.join(" ")}function sh_extractTagsFromNodeList(e,t){for(var n=e.length,i=0;n>i;i++){var r=e.item(i);switch(r.nodeType){case 1:if("br"===r.nodeName.toLowerCase()){var s;s=/MSIE/.test(navigator.userAgent)?"\r":"\n",t.text.push(s),t.pos++}else t.tags.push({node:r.cloneNode(!1),pos:t.pos}),sh_extractTagsFromNodeList(r.childNodes,t),t.tags.push({pos:t.pos});break;case 3:case 4:t.text.push(r.data),t.pos+=r.length}}}function sh_extractTags(e,t){var n={};return n.text=[],n.tags=t,n.pos=0,sh_extractTagsFromNodeList(e.childNodes,n),n.text.join("")}function sh_mergeTags(e,t){var n=e.length;if(0===n)return t;var i=t.length;if(0===i)return e;for(var r=[],s=0,o=0;n>s&&i>o;){var a=e[s],l=t[o];a.pos<=l.pos?(r.push(a),s++):(r.push(l),t[o+1].pos<=a.pos?(o++,r.push(t[o]),o++):(r.push({pos:a.pos}),t[o]={node:l.node.cloneNode(!1),pos:a.pos}))}for(;n>s;)r.push(e[s]),s++;for(;i>o;)r.push(t[o]),o++;return r}function sh_insertTags(e,t){for(var n=document,i=document.createDocumentFragment(),r=0,s=e.length,o=0,a=t.length,l=i;a>o||s>r;){var c,h;if(s>r?(c=e[r],h=c.pos):h=a,o>=h){if(c.node){var u=c.node;l.appendChild(u),l=u}else l=l.parentNode;r++}else l.appendChild(n.createTextNode(t.substring(o,h))),o=h}return i}function sh_highlightElement(e,t){sh_addClass(e,"sh_sourceCode");for(var n=[],i=sh_extractTags(e,n),r=sh_highlightString(i,t),s=sh_mergeTags(n,r),o=sh_insertTags(s,i);e.hasChildNodes();)e.removeChild(e.firstChild);e.appendChild(o)}function sh_getXMLHttpRequest(){if(window.ActiveXObject)return new ActiveXObject("Msxml2.XMLHTTP");if(window.XMLHttpRequest)return new XMLHttpRequest;throw"No XMLHttpRequest implementation available"}function sh_load(language,element,prefix,suffix){if(language in sh_requests)return sh_requests[language].push(element),void 0;sh_requests[language]=[element];var request=sh_getXMLHttpRequest(),url=prefix+"sh_"+language+suffix;request.open("GET",url,!0),request.onreadystatechange=function(){if(4===request.readyState)try{if(request.status&&200!==request.status)throw"HTTP error: status "+request.status;eval(request.responseText);for(var elements=sh_requests[language],i=0;elements.length>i;i++)sh_highlightElement(elements[i],sh_languages[language])}finally{request=null}},request.send(null)}function sh_highlightDocument(e,t){for(var n=document.getElementsByTagName("pre"),i=0;n.length>i;i++){var r=n.item(i),s=r.className.toLowerCase(),o=s.replace(/sh_sourcecode/g,"");if(-1!=o.indexOf("sh_")&&(o=o.match(/(\bsh_)\w+\b/g)[0]),-1==s.indexOf("sh_sourcecode")&&"sh_"===o.substr(0,3)){var a=o.substring(3);if(a in sh_languages)sh_highlightElement(r,sh_languages[a]);else{if("string"!=typeof e||"string"!=typeof t){console.log('Found
 element with class="'+o+'", but no such language exists');continue}sh_load(a,r,e,t)}break}}}function rubyCodeFormat(){$("pre.ruby").snippet("ruby",{style:"rand01",transparent:!0,showNum:!0})}(function(e,t){function n(e){var t=e.length,n=lt.type(e);return lt.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}function i(e){var t=Ct[e]={};return lt.each(e.match(ht)||[],function(e,n){t[n]=!0}),t}function r(e,n,i,r){if(lt.acceptData(e)){var s,o,a=lt.expando,l="string"==typeof n,c=e.nodeType,h=c?lt.cache:e,u=c?e[a]:e[a]&&a;if(u&&h[u]&&(r||h[u].data)||!l||i!==t)return u||(c?e[a]=u=J.pop()||lt.guid++:u=a),h[u]||(h[u]={},c||(h[u].toJSON=lt.noop)),("object"==typeof n||"function"==typeof n)&&(r?h[u]=lt.extend(h[u],n):h[u].data=lt.extend(h[u].data,n)),s=h[u],r||(s.data||(s.data={}),s=s.data),i!==t&&(s[lt.camelCase(n)]=i),l?(o=s[n],null==o&&(o=s[lt.camelCase(n)])):o=s,o}}function s(e,t,n){if(lt.acceptData(e)){var i,r,s,o=e.nodeType,l=o?lt.cache:e,c=o?e[lt.expando]:lt.expando;if(l[c]){if(t&&(s=n?l[c]:l[c].data)){lt.isArray(t)?t=t.concat(lt.map(t,lt.camelCase)):t in s?t=[t]:(t=lt.camelCase(t),t=t in s?[t]:t.split(" "));for(i=0,r=t.length;r>i;i++)delete s[t[i]];if(!(n?a:lt.isEmptyObject)(s))return}(n||(delete l[c].data,a(l[c])))&&(o?lt.cleanData([e],!0):lt.support.deleteExpando||l!=l.window?delete l[c]:l[c]=null)}}}function o(e,n,i){if(i===t&&1===e.nodeType){var r="data-"+n.replace(Et,"-$1").toLowerCase();if(i=e.getAttribute(r),"string"==typeof i){try{i="true"===i?!0:"false"===i?!1:"null"===i?null:+i+""===i?+i:Tt.test(i)?lt.parseJSON(i):i}catch(s){}lt.data(e,n,i)}else i=t}return i}function a(e){var t;for(t in e)if(("data"!==t||!lt.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function l(){return!0}function c(){return!1}function h(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function u(e,t,n){if(t=t||0,lt.isFunction(t))return lt.grep(e,function(e,i){var r=!!t.call(e,i,e);return r===n});if(t.nodeType)return lt.grep(e,function(e){return e===t===n});if("string"==typeof t){var i=lt.grep(e,function(e){return 1===e.nodeType});if(Zt.test(t))return lt.filter(t,i,!n);t=lt.filter(t,i)}return lt.grep(e,function(e){return lt.inArray(e,t)>=0===n})}function d(e){var t=Ut.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function f(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function p(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function g(e){var t=sn.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function m(e,t){for(var n,i=0;null!=(n=e[i]);i++)lt._data(n,"globalEval",!t||lt._data(t[i],"globalEval"))}function y(e,t){if(1===t.nodeType&<.hasData(e)){var n,i,r,s=lt._data(e),o=lt._data(t,s),a=s.events;if(a){delete o.handle,o.events={};for(n in a)for(i=0,r=a[n].length;r>i;i++)lt.event.add(t,n,a[n][i])}o.data&&(o.data=lt.extend({},o.data))}}function v(e,t){var n,i,r;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!lt.support.noCloneEvent&&t[lt.expando]){r=lt._data(t);for(i in r.events)lt.removeEvent(t,i,r.handle);t.removeAttribute(lt.expando)}"script"===n&&t.text!==e.text?(p(t).text=e.text,g(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),lt.support.html5Clone&&e.innerHTML&&!lt.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&tn.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}function b(e,n){var i,r,s=0,o=typeof e.getElementsByTagName!==V?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==V?e.querySelectorAll(n||"*"):t;if(!o)for(o=[],i=e.childNodes||e;null!=(r=i[s]);s++)!n||lt.nodeName(r,n)?o.push(r):lt.merge(o,b(r,n));return n===t||n&<.nodeName(e,n)?lt.merge([e],o):o}function w(e){tn.test(e.type)&&(e.defaultChecked=e.checked)}function _(e,t){if(t in e)return t;for(var n=t.charAt(0).toUpperCase()+t.slice(1),i=t,r=En.length;r--;)if(t=En[r]+n,t in e)return t;return i}function x(e,t){return e=t||e,"none"===lt.css(e,"display")||!lt.contains(e.ownerDocument,e)}function C(e,t){for(var n,i,r,s=[],o=0,a=e.length;a>o;o++)i=e[o],i.style&&(s[o]=lt._data(i,"olddisplay"),n=i.style.display,t?(s[o]||"none"!==n||(i.style.display=""),""===i.style.display&&x(i)&&(s[o]=lt._data(i,"olddisplay",N(i.nodeName)))):s[o]||(r=x(i),(n&&"none"!==n||!r)&<._data(i,"olddisplay",r?n:lt.css(i,"display"))));for(o=0;a>o;o++)i=e[o],i.style&&(t&&"none"!==i.style.display&&""!==i.style.display||(i.style.display=t?s[o]||"":"none"));return e}function T(e,t,n){var i=vn.exec(t);return i?Math.max(0,i[1]-(n||0))+(i[2]||"px"):t}function E(e,t,n,i,r){for(var s=n===(i?"border":"content")?4:"width"===t?1:0,o=0;4>s;s+=2)"margin"===n&&(o+=lt.css(e,n+Tn[s],!0,r)),i?("content"===n&&(o-=lt.css(e,"padding"+Tn[s],!0,r)),"margin"!==n&&(o-=lt.css(e,"border"+Tn[s]+"Width",!0,r))):(o+=lt.css(e,"padding"+Tn[s],!0,r),"padding"!==n&&(o+=lt.css(e,"border"+Tn[s]+"Width",!0,r)));return o}function k(e,t,n){var i=!0,r="width"===t?e.offsetWidth:e.offsetHeight,s=un(e),o=lt.support.boxSizing&&"border-box"===lt.css(e,"boxSizing",!1,s);if(0>=r||null==r){if(r=dn(e,t,s),(0>r||null==r)&&(r=e.style[t]),bn.test(r))return r;i=o&&(lt.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+E(e,t,n||(o?"border":"content"),i,s)+"px"}function N(e){var t=X,n=_n[e];return n||(n=A(e,t),"none"!==n&&n||(hn=(hn||lt("