From e5dbc8aca50fd78978118c5a34c53b88e90a58bc Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Thu, 20 Jun 2024 06:07:59 +0700 Subject: [PATCH 01/16] Convert calendar.ru to calendar_rails.ru --- Gemfile | 1 + Gemfile.lock | 3 + gem/apps/calendar.ru | 2792 ++++++++++-------------------------------- 3 files changed, 661 insertions(+), 2135 deletions(-) diff --git a/Gemfile b/Gemfile index 6d31d0db0..d32dbc9f5 100644 --- a/Gemfile +++ b/Gemfile @@ -24,6 +24,7 @@ group :test do end group :playground do + gem 'groupdate' gem 'puma' gem 'rackup' gem 'rails' diff --git a/Gemfile.lock b/Gemfile.lock index 01dfc03b1..90c8c4515 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -102,6 +102,8 @@ GEM rake globalid (1.2.1) activesupport (>= 6.1) + groupdate (6.4.0) + activesupport (>= 6.1) http (5.2.0) addressable (~> 2.8) base64 (~> 0.1) @@ -291,6 +293,7 @@ PLATFORMS DEPENDENCIES activesupport + groupdate http i18n minitest diff --git a/gem/apps/calendar.ru b/gem/apps/calendar.ru index 72fc77937..895bd73f5 100644 --- a/gem/apps/calendar.ru +++ b/gem/apps/calendar.ru @@ -2,9 +2,6 @@ # Interactive showcase for the pagy calendar extra (https://ddnexus.github.io/pagy/docs/extras/calendar) -# DEMO USAGE -# pagy calendar - # DEV USAGE # pagy clone calendar # pagy ./calendar.ru @@ -16,2185 +13,710 @@ # pagy -h # DOC -# https://ddnexus.github.io/pagy/playground/#4-calendar-app +# https://ddnexus.github.io/pagy/playground/#5-calendar-app VERSION = '8.4.5' +# Gemfile require 'bundler/inline' require 'bundler' Bundler.configure gemfile(ENV['PAGY_INSTALL_BUNDLE'] == 'true') do source 'https://rubygems.org' - gem 'activesupport' - gem 'oj' + gem 'groupdate' gem 'puma' - gem 'sinatra' - gem 'sinatra-contrib' + gem 'rails' + gem 'sqlite3', '~> 1.4.0' +end + +# require 'rails/all' # too much stuff +require 'action_controller/railtie' +require 'active_record' + +OUTPUT = Rails.env.showcase? ? IO::NULL : $stdout + +# Rails config +class Calendar < Rails::Application # :nodoc: + config.root = __dir__ + config.session_store :cookie_store, key: 'cookie_store_key' + Rails.application.credentials.secret_key_base = 'absolute_secret' + + config.logger = Logger.new(OUTPUT) + Rails.logger = config.logger + + routes.draw do + root to: 'events#index' + end end -# pagy initializer +# AR config +dir = Rails.env.development? ? '.' : Dir.pwd # app dir in dev or pwd otherwise +unless File.writable?(dir) + warn "ERROR: directory #{dir.inspect} is not writable (the calendar-app needs to create DB files)" + exit 1 +end + +# Pagy initializer require 'pagy/extras/calendar' require 'pagy/extras/bootstrap' Pagy::DEFAULT.freeze -require 'sinatra/base' -# Sinatra application -class PagyCalendar < Sinatra::Base - configure do - enable :inline_templates +ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: "#{dir}/tmp/calendar.sqlite3") +ActiveRecord::Schema.define do + create_table :events, force: true do |t| + t.string :title + t.timestamp :time end - include Pagy::Backend +end - # Edit this section adding your own helpers as needed - helpers do - include Pagy::Frontend - end +# Models +class Event < ActiveRecord::Base # :nodoc: +end # :nodoc: + +# Helpers +module EventsHelper + include Pagy::Frontend +end + +# Controllers +class EventsController < ActionController::Base # :nodoc: + include Rails.application.routes.url_helpers + include Pagy::Backend # This method must be implemented by the application. # It must return the starting and ending local Time objects array defining the calendar :period def pagy_calendar_period(collection) - collection.minmax.map(&:in_time_zone) + starting = collection.minimum('time') + ending = collection.maximum('time') + [starting.in_time_zone, ending.in_time_zone] end # This method must be implemented by the application. # It receives the main collection and must return a filtered version of it. # The filter logic must be equivalent to {storage_time >= from && storage_time < to} def pagy_calendar_filter(collection, from, to) - collection.select_page_of_records(from.utc, to.utc) # storage in UTC + collection.where(time: from...to) end - # Controller action - get '/' do - Time.zone = 'EST' # convert the UTC storage time to time with zone 'EST' - yaml = settings.templates[:yaml_collection].first - array = YAML.load(yaml, permitted_classes: [ActiveSupport::TimeWithZone, ActiveSupport::TimeZone, Time], aliases: ['1']) - collection = CalendarCollection.new(array) + def index + Time.zone = 'EST' # convert the UTC storage time to time with zone 'EST' + # Default calendar # The conf Hash defines the pagy objects variables keyed by calendar unit and the final pagy standard object # The :skip is an optional and arbitrarily named param that skips the calendar pagination and uses only the pagy # object to paginate the unfiltered collection. (It's active by default even without a :skip param). # You way want to invert the logic (also in the view) with something like `active: params[:active]`, # which would be inactive by default and only active on demand. - @calendar, @pagy, @records = pagy_calendar(collection, year: {}, - month: {}, - day: {}, - active: !params[:skip]) - Time.now.to_s - erb :pagy_demo # template available in the __END__ section as @@ pagy_demo + @calendar, @pagy, @events = pagy_calendar(Event.all, + year: {}, + month: {}, + day: {}, + active: !params[:skip]) + render inline: TEMPLATE end end -run PagyCalendar - -# Simple array-based collection that acts as a standard DB collection. -class CalendarCollection < Array - def initialize(...) - super - @collection = clone - end - - def offset(value) - @collection = self[value..] - self - end - - def limit(value) - @collection[0, value] - end +TEMPLATE = <<~ERB + + + + + Pagy Calendar App + + - def count(*) - size - end + + - # Select days from the beginning of start_day to the end of end_day - # Accepts strings or DateTime args - def select_page_of_records(start_date, end_date) - paged = select { |date| date >= start_date && date < end_date } - # mock AR scope, returning the same type of object - self.class.new(paged) - end -end + -__END__ +
+

Pagy Calendar App

+

Self-contained, standalone Rails app implementing nested calendar pagination for year, month, day units.

+

See the Pagy Calendar Extra for details.

+

Please, report the following versions in any new issue.

+

Versions

+ +
-@@ layout - - - - Pagy Calendar App - - - - <%= yield %> - - - -@@ pagy_demo -
+ +

+ <% if params[:skip] %> + Show Calendar + <% else %> + Hide Calendar +
+ Go to the 2022-03-02 Page + + <% end %> +

-

Pagy Calendar App

-

Self-contained, standalone Sinatra app implementing nested calendar pagination for year, month, day units.

-

See the Pagy Calendar Extra for details.

-
+ + <% if @calendar %> +

Showtime: <%= @calendar.showtime %>

+ <%== pagy_bootstrap_nav(@calendar[:year], id: "year-nav", aria_label: "Years") %> + <%== pagy_bootstrap_nav(@calendar[:month], id: "month-nav", aria_label: "Months") %> + <%== pagy_bootstrap_nav(@calendar[:day], id: "day-nav", aria_label: "Days") %> + <% end %> - -

- <% if params[:skip] %> - Show Calendar - <% else %> - Hide Calendar -
- Go to the 2022-03-02 Page - - <% end %> -

+ + - - <% if @calendar %> -

Showtime: <%= @calendar.showtime %>

- <%= pagy_bootstrap_nav(@calendar[:year], id: "year-nav", aria_label: "Years") %> - <%= pagy_bootstrap_nav(@calendar[:month], id: "month-nav", aria_label: "Months") %> - <%= pagy_bootstrap_nav(@calendar[:day], id: "day-nav", aria_label: "Days") %> - <% end %> + +
+ <% @events.each do |event| %> +

<%= event.title %> - <%= event.time.to_s %>

+ <% end %> +
- - + +

<%== pagy_bootstrap_nav(@pagy, id: 'pages-nav', aria_label: 'Pages') if @pagy.pages > 1 %>

+

+ + +ERB - -
- <% @records.each do |record| %> -

<%= record.in_time_zone.to_s %>

- <% end %> -
+TIMES = <<~TIMES + 2021-10-21 13:18:23 + 2021-10-21 23:14:50 + 2021-10-23 01:06:02 + 2021-10-25 18:54:35 + 2021-10-26 02:22:17 + 2021-10-28 22:59:49 + 2021-10-30 15:02:25 + 2021-11-02 04:03:39 + 2021-11-04 22:41:23 + 2021-11-06 00:34:29 + 2021-11-06 23:56:16 + 2021-11-07 06:22:04 + 2021-11-07 19:46:08 + 2021-11-08 09:31:13 + 2021-11-09 17:22:03 + 2021-11-11 05:29:54 + 2021-11-13 09:41:04 + 2021-11-16 07:48:22 + 2021-11-16 12:43:44 + 2021-11-17 16:03:07 + 2021-11-20 02:39:01 + 2021-11-21 02:01:24 + 2021-11-23 19:24:43 + 2021-11-26 11:47:22 + 2021-11-28 06:30:04 + 2021-12-01 00:13:55 + 2021-12-03 19:10:16 + 2021-12-04 00:43:47 + 2021-12-06 20:15:35 + 2021-12-09 16:27:07 + 2021-12-10 15:28:48 + 2021-12-10 23:08:16 + 2021-12-11 23:09:08 + 2021-12-14 04:56:58 + 2021-12-14 14:00:56 + 2021-12-15 22:58:51 + 2021-12-16 01:28:21 + 2021-12-16 20:16:54 + 2021-12-19 00:34:04 + 2021-12-19 06:58:41 + 2021-12-21 11:13:53 + 2021-12-23 07:28:50 + 2021-12-23 07:57:58 + 2021-12-23 18:32:13 + 2021-12-24 01:17:51 + 2021-12-25 05:36:16 + 2021-12-25 23:21:57 + 2021-12-27 12:18:57 + 2021-12-28 16:59:57 + 2021-12-31 15:10:23 + 2022-01-01 19:18:06 + 2022-01-03 08:36:27 + 2022-01-03 23:31:01 + 2022-01-05 02:14:57 + 2022-01-06 09:26:03 + 2022-01-07 20:22:22 + 2022-01-10 04:04:28 + 2022-01-11 17:17:55 + 2022-01-14 05:21:54 + 2022-01-16 01:18:58 + 2022-01-18 08:42:56 + 2022-01-19 00:45:04 + 2022-01-20 08:18:54 + 2022-01-22 05:26:38 + 2022-01-24 10:57:50 + 2022-01-26 09:47:02 + 2022-01-28 20:44:30 + 2022-01-31 16:19:50 + 2022-02-01 21:23:58 + 2022-02-04 14:41:57 + 2022-02-06 20:40:06 + 2022-02-07 23:03:50 + 2022-02-09 05:28:08 + 2022-02-10 02:19:12 + 2022-02-11 07:51:30 + 2022-02-12 13:46:16 + 2022-02-13 21:06:40 + 2022-02-15 11:37:50 + 2022-02-18 11:23:15 + 2022-02-20 08:01:49 + 2022-02-23 03:00:30 + 2022-02-24 21:52:25 + 2022-02-25 12:07:56 + 2022-02-27 04:20:20 + 2022-02-28 21:09:42 + 2022-03-02 23:35:41 + 2022-03-04 00:42:10 + 2022-03-05 00:59:10 + 2022-03-06 19:58:01 + 2022-03-07 07:48:09 + 2022-03-09 06:08:00 + 2022-03-10 05:45:08 + 2022-03-12 21:16:31 + 2022-03-15 08:17:44 + 2022-03-16 03:37:03 + 2022-03-18 05:07:54 + 2022-03-20 04:05:26 + 2022-03-22 10:52:33 + 2022-03-23 15:26:54 + 2022-03-24 09:01:04 + 2022-03-24 23:53:07 + 2022-03-27 13:45:17 + 2022-03-28 19:57:00 + 2022-03-29 15:42:35 + 2022-03-29 18:20:32 + 2022-04-01 15:35:47 + 2022-04-02 06:33:31 + 2022-04-03 18:27:19 + 2022-04-03 23:44:08 + 2022-04-06 10:59:32 + 2022-04-07 01:33:53 + 2022-04-08 10:26:34 + 2022-04-10 19:21:08 + 2022-04-12 01:50:04 + 2022-04-14 19:56:29 + 2022-04-15 09:08:22 + 2022-04-16 07:58:47 + 2022-04-17 16:31:40 + 2022-04-20 09:50:22 + 2022-04-23 04:24:22 + 2022-04-25 07:18:04 + 2022-04-27 16:57:48 + 2022-04-29 18:48:09 + 2022-04-29 20:30:25 + 2022-05-02 03:44:25 + 2022-05-03 15:27:57 + 2022-05-04 08:11:15 + 2022-05-07 00:42:14 + 2022-05-09 15:23:31 + 2022-05-10 19:11:49 + 2022-05-11 14:04:17 + 2022-05-14 12:09:34 + 2022-05-15 13:31:54 + 2022-05-17 21:21:37 + 2022-05-19 01:27:43 + 2022-05-21 04:34:59 + 2022-05-23 11:05:18 + 2022-05-23 19:14:50 + 2022-05-26 13:16:18 + 2022-05-27 11:39:35 + 2022-05-29 07:09:07 + 2022-05-30 15:13:23 + 2022-06-01 04:18:40 + 2022-06-01 11:11:51 + 2022-06-01 12:45:06 + 2022-06-03 07:08:31 + 2022-06-04 23:28:11 + 2022-06-07 12:14:01 + 2022-06-08 13:32:22 + 2022-06-10 18:56:37 + 2022-06-12 16:00:09 + 2022-06-15 13:28:55 + 2022-06-16 18:42:37 + 2022-06-17 00:36:21 + 2022-06-18 16:21:27 + 2022-06-20 13:50:27 + 2022-06-22 09:43:55 + 2022-06-25 09:43:17 + 2022-06-27 06:51:01 + 2022-06-28 09:10:53 + 2022-06-30 18:46:16 + 2022-07-01 16:05:14 + 2022-07-02 14:02:12 + 2022-07-05 11:08:11 + 2022-07-05 12:44:38 + 2022-07-08 03:55:17 + 2022-07-08 18:02:14 + 2022-07-09 09:41:17 + 2022-07-11 07:34:51 + 2022-07-13 05:11:19 + 2022-07-15 02:46:56 + 2022-07-16 15:40:39 + 2022-07-17 19:44:15 + 2022-07-19 00:31:12 + 2022-07-21 21:58:24 + 2022-07-22 05:25:48 + 2022-07-22 18:33:04 + 2022-07-24 07:42:24 + 2022-07-25 07:21:20 + 2022-07-27 12:02:44 + 2022-07-29 03:29:28 + 2022-07-29 11:35:43 + 2022-07-30 05:25:21 + 2022-07-30 19:39:10 + 2022-07-31 18:54:58 + 2022-08-03 11:18:44 + 2022-08-05 00:37:47 + 2022-08-05 12:08:08 + 2022-08-07 14:39:19 + 2022-08-08 09:52:59 + 2022-08-09 13:48:29 + 2022-08-11 19:03:04 + 2022-08-13 01:56:49 + 2022-08-15 11:33:09 + 2022-08-17 23:37:45 + 2022-08-19 00:47:19 + 2022-08-19 01:01:12 + 2022-08-21 07:37:55 + 2022-08-21 21:42:15 + 2022-08-23 10:55:39 + 2022-08-25 16:20:29 + 2022-08-27 06:28:14 + 2022-08-27 13:12:57 + 2022-08-28 23:00:13 + 2022-08-31 05:19:56 + 2022-09-02 18:00:18 + 2022-09-04 12:02:47 + 2022-09-06 00:57:21 + 2022-09-08 04:26:01 + 2022-09-09 04:55:45 + 2022-09-11 22:59:36 + 2022-09-12 00:54:25 + 2022-09-12 17:44:24 + 2022-09-12 20:47:30 + 2022-09-15 11:39:20 + 2022-09-16 07:54:15 + 2022-09-17 08:06:29 + 2022-09-18 07:17:17 + 2022-09-19 08:39:55 + 2022-09-22 06:32:56 + 2022-09-22 21:26:29 + 2022-09-24 16:06:50 + 2022-09-27 05:50:18 + 2022-09-28 12:12:13 + 2022-09-29 21:13:01 + 2022-09-30 00:09:29 + 2022-10-02 04:35:07 + 2022-10-02 16:30:20 + 2022-10-04 10:35:59 + 2022-10-04 23:39:37 + 2022-10-07 23:25:10 + 2022-10-08 20:31:14 + 2022-10-09 07:30:41 + 2022-10-11 07:29:41 + 2022-10-11 08:00:58 + 2022-10-14 03:22:26 + 2022-10-16 14:47:54 + 2022-10-17 00:28:32 + 2022-10-19 10:46:33 + 2022-10-21 02:39:31 + 2022-10-21 19:24:24 + 2022-10-23 05:38:26 + 2022-10-25 13:28:28 + 2022-10-26 20:26:31 + 2022-10-29 12:43:40 + 2022-10-31 11:21:43 + 2022-11-03 04:42:32 + 2022-11-04 20:26:28 + 2022-11-05 15:08:01 + 2022-11-06 10:55:38 + 2022-11-07 04:13:28 + 2022-11-08 03:42:59 + 2022-11-10 13:56:10 + 2022-11-13 13:01:38 + 2022-11-15 02:04:32 + 2022-11-17 09:10:48 + 2022-11-19 11:37:01 + 2022-11-20 06:15:33 + 2022-11-22 08:35:41 + 2022-11-24 20:42:50 + 2022-11-25 17:45:48 + 2022-11-28 06:16:15 + 2022-11-28 18:12:24 + 2022-11-30 20:09:46 + 2022-12-01 03:29:43 + 2022-12-02 03:58:02 + 2022-12-02 19:47:06 + 2022-12-04 14:54:02 + 2022-12-06 02:22:58 + 2022-12-06 09:29:06 + 2022-12-06 17:16:19 + 2022-12-09 14:10:12 + 2022-12-11 19:54:41 + 2022-12-11 23:48:45 + 2022-12-12 12:05:28 + 2022-12-12 21:37:48 + 2022-12-15 05:08:10 + 2022-12-16 19:06:39 + 2022-12-18 21:49:36 + 2022-12-20 00:54:09 + 2022-12-22 21:51:31 + 2022-12-25 08:40:02 + 2022-12-26 22:01:45 + 2022-12-29 18:46:07 + 2023-01-01 01:55:31 + 2023-01-01 17:34:53 + 2023-01-04 09:05:13 + 2023-01-05 01:57:33 + 2023-01-06 08:56:47 + 2023-01-07 18:52:12 + 2023-01-08 00:43:40 + 2023-01-10 13:28:23 + 2023-01-13 10:22:38 + 2023-01-15 01:43:06 + 2023-01-15 04:30:52 + 2023-01-16 23:13:04 + 2023-01-19 17:16:31 + 2023-01-21 09:25:58 + 2023-01-23 09:42:42 + 2023-01-24 11:13:59 + 2023-01-25 00:57:26 + 2023-01-27 10:31:18 + 2023-01-28 07:08:54 + 2023-01-28 09:46:16 + 2023-01-30 04:34:32 + 2023-01-30 05:30:26 + 2023-01-31 08:08:44 + 2023-02-03 01:02:02 + 2023-02-03 10:02:38 + 2023-02-05 02:22:53 + 2023-02-05 05:55:46 + 2023-02-07 06:18:28 + 2023-02-08 13:57:28 + 2023-02-08 17:53:12 + 2023-02-10 08:40:27 + 2023-02-10 10:28:23 + 2023-02-12 15:42:42 + 2023-02-14 06:11:35 + 2023-02-14 12:22:06 + 2023-02-16 14:43:29 + 2023-02-16 15:58:19 + 2023-02-17 08:36:37 + 2023-02-19 04:20:36 + 2023-02-21 03:27:07 + 2023-02-22 09:09:23 + 2023-02-24 10:19:14 + 2023-02-26 13:28:50 + 2023-02-27 15:33:38 + 2023-03-01 14:48:42 + 2023-03-02 19:17:52 + 2023-03-03 09:48:41 + 2023-03-04 12:44:18 + 2023-03-06 18:24:47 + 2023-03-09 13:55:36 + 2023-03-11 13:50:26 + 2023-03-14 05:57:47 + 2023-03-14 09:16:38 + 2023-03-14 12:34:22 + 2023-03-14 15:15:53 + 2023-03-16 18:34:04 + 2023-03-19 13:01:38 + 2023-03-19 15:24:32 + 2023-03-20 14:56:28 + 2023-03-21 12:32:45 + 2023-03-23 22:16:22 + 2023-03-24 01:05:24 + 2023-03-26 12:01:36 + 2023-03-29 07:45:17 + 2023-04-01 06:03:31 + 2023-04-02 20:45:43 + 2023-04-03 05:33:10 + 2023-04-03 16:15:11 + 2023-04-05 14:56:49 + 2023-04-06 22:21:46 + 2023-04-08 19:50:51 + 2023-04-09 06:14:30 + 2023-04-09 11:26:27 + 2023-04-11 21:34:04 + 2023-04-14 08:51:06 + 2023-04-16 15:58:05 + 2023-04-17 03:06:43 + 2023-04-18 16:28:30 + 2023-04-18 17:32:38 + 2023-04-19 20:34:45 + 2023-04-22 06:16:01 + 2023-04-22 12:00:25 + 2023-04-24 21:12:27 + 2023-04-27 15:19:36 + 2023-04-29 00:43:46 + 2023-04-29 17:50:02 + 2023-04-30 05:22:14 + 2023-05-01 07:20:17 + 2023-05-03 05:11:16 + 2023-05-05 00:13:31 + 2023-05-05 12:08:33 + 2023-05-05 16:26:19 + 2023-05-07 23:53:00 + 2023-05-10 17:41:27 + 2023-05-12 01:37:24 + 2023-05-14 08:18:36 + 2023-05-16 15:17:43 + 2023-05-16 18:24:55 + 2023-05-19 16:16:45 + 2023-05-21 00:48:36 + 2023-05-22 00:54:41 + 2023-05-24 05:36:25 + 2023-05-25 10:05:39 + 2023-05-26 16:09:51 + 2023-05-29 12:40:29 + 2023-05-29 13:15:05 + 2023-05-31 15:28:14 + 2023-06-02 02:05:21 + 2023-06-02 13:05:50 + 2023-06-04 11:12:19 + 2023-06-05 10:04:34 + 2023-06-06 02:47:22 + 2023-06-07 04:35:17 + 2023-06-07 16:20:27 + 2023-06-08 07:43:14 + 2023-06-10 17:55:59 + 2023-06-12 17:00:02 + 2023-06-14 08:37:14 + 2023-06-14 18:07:30 + 2023-06-16 12:07:26 + 2023-06-18 22:29:39 + 2023-06-19 02:32:54 + 2023-06-20 14:24:40 + 2023-06-22 09:27:59 + 2023-06-23 07:31:20 + 2023-06-23 21:06:55 + 2023-06-26 06:57:28 + 2023-06-28 17:08:12 + 2023-06-29 03:06:47 + 2023-06-30 12:25:41 + 2023-07-02 08:49:42 + 2023-07-03 20:09:26 + 2023-07-06 17:39:13 + 2023-07-09 00:18:52 + 2023-07-11 03:58:21 + 2023-07-12 22:37:00 + 2023-07-14 01:58:44 + 2023-07-16 20:21:13 + 2023-07-17 01:41:47 + 2023-07-19 10:06:35 + 2023-07-21 17:44:16 + 2023-07-22 02:46:04 + 2023-07-22 06:52:04 + 2023-07-23 04:53:49 + 2023-07-25 16:37:24 + 2023-07-27 18:34:33 + 2023-07-28 02:34:02 + 2023-07-29 19:53:32 + 2023-07-30 23:30:11 + 2023-08-02 17:46:22 + 2023-08-03 00:01:21 + 2023-08-03 03:57:56 + 2023-08-03 21:41:28 + 2023-08-04 23:37:31 + 2023-08-05 08:20:42 + 2023-08-07 21:01:55 + 2023-08-10 17:03:47 + 2023-08-11 21:06:31 + 2023-08-12 08:45:08 + 2023-08-13 07:09:39 + 2023-08-14 11:15:10 + 2023-08-16 04:15:48 + 2023-08-19 04:11:43 + 2023-08-19 10:10:27 + 2023-08-22 09:41:20 + 2023-08-24 10:27:08 + 2023-08-24 18:16:12 + 2023-08-25 17:02:28 + 2023-08-27 15:58:52 + 2023-08-27 23:29:53 + 2023-08-28 21:31:27 + 2023-08-29 03:35:29 + 2023-08-31 06:15:19 + 2023-09-01 21:56:52 + 2023-09-02 22:57:53 + 2023-09-05 03:28:30 + 2023-09-07 04:57:12 + 2023-09-09 19:16:05 + 2023-09-09 20:01:39 + 2023-09-11 03:23:22 + 2023-09-12 15:18:29 + 2023-09-13 14:14:43 + 2023-09-13 17:37:25 + 2023-09-14 18:17:49 + 2023-09-16 19:56:55 + 2023-09-18 14:21:02 + 2023-09-21 00:34:13 + 2023-09-23 07:14:06 + 2023-09-24 17:22:22 + 2023-09-27 12:42:54 + 2023-09-28 14:48:45 + 2023-10-01 11:54:24 + 2023-10-03 07:36:32 + 2023-10-05 05:13:57 + 2023-10-06 16:07:06 + 2023-10-09 00:03:52 + 2023-10-09 02:32:01 + 2023-10-10 16:39:07 + 2023-10-12 13:28:16 + 2023-10-14 04:29:14 + 2023-10-17 03:30:24 + 2023-10-20 03:13:15 + 2023-10-20 20:47:06 + 2023-10-21 13:59:34 + 2023-10-23 21:38:48 + 2023-10-24 06:07:13 + 2023-10-25 22:51:17 + 2023-10-26 21:12:50 + 2023-10-28 05:52:20 + 2023-10-29 22:11:01 + 2023-10-30 12:29:25 + 2023-11-02 02:52:55 + 2023-11-02 06:00:32 + 2023-11-03 08:39:06 + 2023-11-04 23:51:22 + 2023-11-07 16:11:33 + 2023-11-10 10:55:29 + 2023-11-12 01:20:18 + 2023-11-12 04:22:50 + 2023-11-12 08:38:58 + 2023-11-13 15:43:40 +TIMES - -

<%= pagy_bootstrap_nav(@pagy, id: 'pages-nav', aria_label: 'Pages') if @pagy.pages > 1 %>

+# DB seed +count = 0 +TIMES.each_line(chomp: true) do |time| + Event.create(title: "Event ##{count += 1}", time:) +end -

+# Down here to avoid logging the DB seed above at each restart +ActiveRecord::Base.logger = Logger.new(OUTPUT) -@@ yaml_collection ---- -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 13:18:23.000000000 Z - zone: &1 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-10-21 13:18:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 23:14:50.000000000 Z - zone: *1 - time: 2021-10-21 23:14:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-23 01:06:02.000000000 Z - zone: *1 - time: 2021-10-23 01:06:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-25 18:54:35.000000000 Z - zone: *1 - time: 2021-10-25 18:54:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-26 02:22:17.000000000 Z - zone: *1 - time: 2021-10-26 02:22:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-28 22:59:49.000000000 Z - zone: *1 - time: 2021-10-28 22:59:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-30 15:02:25.000000000 Z - zone: *1 - time: 2021-10-30 15:02:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-02 04:03:39.000000000 Z - zone: *1 - time: 2021-11-02 04:03:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-04 22:41:23.000000000 Z - zone: *1 - time: 2021-11-04 22:41:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 00:34:29.000000000 Z - zone: *1 - time: 2021-11-06 00:34:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 23:56:16.000000000 Z - zone: *1 - time: 2021-11-06 23:56:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 06:22:04.000000000 Z - zone: *1 - time: 2021-11-07 06:22:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 19:46:08.000000000 Z - zone: *1 - time: 2021-11-07 19:46:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-08 09:31:13.000000000 Z - zone: *1 - time: 2021-11-08 09:31:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-09 17:22:03.000000000 Z - zone: *1 - time: 2021-11-09 17:22:03.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-11 05:29:54.000000000 Z - zone: *1 - time: 2021-11-11 05:29:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-13 09:41:04.000000000 Z - zone: *1 - time: 2021-11-13 09:41:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 07:48:22.000000000 Z - zone: *1 - time: 2021-11-16 07:48:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 12:43:44.000000000 Z - zone: *1 - time: 2021-11-16 12:43:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-17 16:03:07.000000000 Z - zone: *1 - time: 2021-11-17 16:03:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-20 02:39:01.000000000 Z - zone: *1 - time: 2021-11-20 02:39:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-21 02:01:24.000000000 Z - zone: *1 - time: 2021-11-21 02:01:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-23 19:24:43.000000000 Z - zone: *1 - time: 2021-11-23 19:24:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-26 11:47:22.000000000 Z - zone: *1 - time: 2021-11-26 11:47:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-28 06:30:04.000000000 Z - zone: *1 - time: 2021-11-28 06:30:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-01 00:13:55.000000000 Z - zone: *1 - time: 2021-12-01 00:13:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-03 19:10:16.000000000 Z - zone: *1 - time: 2021-12-03 19:10:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-04 00:43:47.000000000 Z - zone: *1 - time: 2021-12-04 00:43:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-06 20:15:35.000000000 Z - zone: *1 - time: 2021-12-06 20:15:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-09 16:27:07.000000000 Z - zone: *1 - time: 2021-12-09 16:27:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 15:28:48.000000000 Z - zone: *1 - time: 2021-12-10 15:28:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 23:08:16.000000000 Z - zone: *1 - time: 2021-12-10 23:08:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-11 23:09:08.000000000 Z - zone: *1 - time: 2021-12-11 23:09:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 04:56:58.000000000 Z - zone: *1 - time: 2021-12-14 04:56:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 14:00:56.000000000 Z - zone: *1 - time: 2021-12-14 14:00:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-15 22:58:51.000000000 Z - zone: *1 - time: 2021-12-15 22:58:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 01:28:21.000000000 Z - zone: *1 - time: 2021-12-16 01:28:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 20:16:54.000000000 Z - zone: *1 - time: 2021-12-16 20:16:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 00:34:04.000000000 Z - zone: *1 - time: 2021-12-19 00:34:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 06:58:41.000000000 Z - zone: *1 - time: 2021-12-19 06:58:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-21 11:13:53.000000000 Z - zone: *1 - time: 2021-12-21 11:13:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:28:50.000000000 Z - zone: *1 - time: 2021-12-23 07:28:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:57:58.000000000 Z - zone: *1 - time: 2021-12-23 07:57:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 18:32:13.000000000 Z - zone: *1 - time: 2021-12-23 18:32:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-24 01:17:51.000000000 Z - zone: *1 - time: 2021-12-24 01:17:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 05:36:16.000000000 Z - zone: *1 - time: 2021-12-25 05:36:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 23:21:57.000000000 Z - zone: *1 - time: 2021-12-25 23:21:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-27 12:18:57.000000000 Z - zone: *1 - time: 2021-12-27 12:18:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-28 16:59:57.000000000 Z - zone: *1 - time: 2021-12-28 16:59:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-31 15:10:23.000000000 Z - zone: *1 - time: 2021-12-31 15:10:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-01 19:18:06.000000000 Z - zone: *1 - time: 2022-01-01 19:18:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-03 08:36:27.000000000 Z - zone: *1 - time: 2022-01-03 08:36:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-03 23:31:01.000000000 Z - zone: *1 - time: 2022-01-03 23:31:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-05 02:14:57.000000000 Z - zone: *1 - time: 2022-01-05 02:14:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-06 09:26:03.000000000 Z - zone: *1 - time: 2022-01-06 09:26:03.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-07 20:22:22.000000000 Z - zone: *1 - time: 2022-01-07 20:22:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-10 04:04:28.000000000 Z - zone: *1 - time: 2022-01-10 04:04:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-11 17:17:55.000000000 Z - zone: *1 - time: 2022-01-11 17:17:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-14 05:21:54.000000000 Z - zone: *1 - time: 2022-01-14 05:21:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-16 01:18:58.000000000 Z - zone: *1 - time: 2022-01-16 01:18:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-18 08:42:56.000000000 Z - zone: *1 - time: 2022-01-18 08:42:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-19 00:45:04.000000000 Z - zone: *1 - time: 2022-01-19 00:45:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-20 08:18:54.000000000 Z - zone: *1 - time: 2022-01-20 08:18:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-22 05:26:38.000000000 Z - zone: *1 - time: 2022-01-22 05:26:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-24 10:57:50.000000000 Z - zone: *1 - time: 2022-01-24 10:57:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-26 09:47:02.000000000 Z - zone: *1 - time: 2022-01-26 09:47:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-28 20:44:30.000000000 Z - zone: *1 - time: 2022-01-28 20:44:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-31 16:19:50.000000000 Z - zone: *1 - time: 2022-01-31 16:19:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-01 21:23:58.000000000 Z - zone: *1 - time: 2022-02-01 21:23:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-04 14:41:57.000000000 Z - zone: *1 - time: 2022-02-04 14:41:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-06 20:40:06.000000000 Z - zone: *1 - time: 2022-02-06 20:40:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-07 23:03:50.000000000 Z - zone: *1 - time: 2022-02-07 23:03:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-09 05:28:08.000000000 Z - zone: *1 - time: 2022-02-09 05:28:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-10 02:19:12.000000000 Z - zone: *1 - time: 2022-02-10 02:19:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-11 07:51:30.000000000 Z - zone: *1 - time: 2022-02-11 07:51:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-12 13:46:16.000000000 Z - zone: *1 - time: 2022-02-12 13:46:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-13 21:06:40.000000000 Z - zone: *1 - time: 2022-02-13 21:06:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-15 11:37:50.000000000 Z - zone: *1 - time: 2022-02-15 11:37:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-18 11:23:15.000000000 Z - zone: *1 - time: 2022-02-18 11:23:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-20 08:01:49.000000000 Z - zone: *1 - time: 2022-02-20 08:01:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-23 03:00:30.000000000 Z - zone: *1 - time: 2022-02-23 03:00:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-24 21:52:25.000000000 Z - zone: *1 - time: 2022-02-24 21:52:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-25 12:07:56.000000000 Z - zone: *1 - time: 2022-02-25 12:07:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-27 04:20:20.000000000 Z - zone: *1 - time: 2022-02-27 04:20:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-28 21:09:42.000000000 Z - zone: *1 - time: 2022-02-28 21:09:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-02 23:35:41.000000000 Z - zone: *1 - time: 2022-03-02 23:35:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-04 00:42:10.000000000 Z - zone: *1 - time: 2022-03-04 00:42:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-05 00:59:10.000000000 Z - zone: *1 - time: 2022-03-05 00:59:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-06 19:58:01.000000000 Z - zone: *1 - time: 2022-03-06 19:58:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-07 07:48:09.000000000 Z - zone: *1 - time: 2022-03-07 07:48:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-09 06:08:00.000000000 Z - zone: *1 - time: 2022-03-09 06:08:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-10 05:45:08.000000000 Z - zone: *1 - time: 2022-03-10 05:45:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-12 21:16:31.000000000 Z - zone: *1 - time: 2022-03-12 21:16:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-15 08:17:44.000000000 Z - zone: *1 - time: 2022-03-15 08:17:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-16 03:37:03.000000000 Z - zone: *1 - time: 2022-03-16 03:37:03.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-18 05:07:54.000000000 Z - zone: *1 - time: 2022-03-18 05:07:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-20 04:05:26.000000000 Z - zone: *1 - time: 2022-03-20 04:05:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-22 10:52:33.000000000 Z - zone: *1 - time: 2022-03-22 10:52:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-23 15:26:54.000000000 Z - zone: *1 - time: 2022-03-23 15:26:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-24 09:01:04.000000000 Z - zone: *1 - time: 2022-03-24 09:01:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-24 23:53:07.000000000 Z - zone: *1 - time: 2022-03-24 23:53:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-27 13:45:17.000000000 Z - zone: *1 - time: 2022-03-27 13:45:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-28 19:57:00.000000000 Z - zone: *1 - time: 2022-03-28 19:57:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-29 15:42:35.000000000 Z - zone: *1 - time: 2022-03-29 15:42:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-29 18:20:32.000000000 Z - zone: *1 - time: 2022-03-29 18:20:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-01 15:35:47.000000000 Z - zone: *1 - time: 2022-04-01 15:35:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-02 06:33:31.000000000 Z - zone: *1 - time: 2022-04-02 06:33:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 18:27:19.000000000 Z - zone: *1 - time: 2022-04-03 18:27:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 23:44:08.000000000 Z - zone: *1 - time: 2022-04-03 23:44:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-06 10:59:32.000000000 Z - zone: *1 - time: 2022-04-06 10:59:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-07 01:33:53.000000000 Z - zone: *1 - time: 2022-04-07 01:33:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-08 10:26:34.000000000 Z - zone: *1 - time: 2022-04-08 10:26:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-10 19:21:08.000000000 Z - zone: *1 - time: 2022-04-10 19:21:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-12 01:50:04.000000000 Z - zone: *1 - time: 2022-04-12 01:50:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-14 19:56:29.000000000 Z - zone: *1 - time: 2022-04-14 19:56:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-15 09:08:22.000000000 Z - zone: *1 - time: 2022-04-15 09:08:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-16 07:58:47.000000000 Z - zone: *1 - time: 2022-04-16 07:58:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-17 16:31:40.000000000 Z - zone: *1 - time: 2022-04-17 16:31:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-20 09:50:22.000000000 Z - zone: *1 - time: 2022-04-20 09:50:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-23 04:24:22.000000000 Z - zone: *1 - time: 2022-04-23 04:24:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-25 07:18:04.000000000 Z - zone: *1 - time: 2022-04-25 07:18:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-27 16:57:48.000000000 Z - zone: *1 - time: 2022-04-27 16:57:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-29 18:48:09.000000000 Z - zone: *1 - time: 2022-04-29 18:48:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-29 20:30:25.000000000 Z - zone: *1 - time: 2022-04-29 20:30:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-02 03:44:25.000000000 Z - zone: *1 - time: 2022-05-02 03:44:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-03 15:27:57.000000000 Z - zone: *1 - time: 2022-05-03 15:27:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-04 08:11:15.000000000 Z - zone: *1 - time: 2022-05-04 08:11:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-07 00:42:14.000000000 Z - zone: *1 - time: 2022-05-07 00:42:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-09 15:23:31.000000000 Z - zone: *1 - time: 2022-05-09 15:23:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-10 19:11:49.000000000 Z - zone: *1 - time: 2022-05-10 19:11:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-11 14:04:17.000000000 Z - zone: *1 - time: 2022-05-11 14:04:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-14 12:09:34.000000000 Z - zone: *1 - time: 2022-05-14 12:09:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-15 13:31:54.000000000 Z - zone: *1 - time: 2022-05-15 13:31:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-17 21:21:37.000000000 Z - zone: *1 - time: 2022-05-17 21:21:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-19 01:27:43.000000000 Z - zone: *1 - time: 2022-05-19 01:27:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-21 04:34:59.000000000 Z - zone: *1 - time: 2022-05-21 04:34:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-23 11:05:18.000000000 Z - zone: *1 - time: 2022-05-23 11:05:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-23 19:14:50.000000000 Z - zone: *1 - time: 2022-05-23 19:14:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-26 13:16:18.000000000 Z - zone: *1 - time: 2022-05-26 13:16:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-27 11:39:35.000000000 Z - zone: *1 - time: 2022-05-27 11:39:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-29 07:09:07.000000000 Z - zone: *1 - time: 2022-05-29 07:09:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-30 15:13:23.000000000 Z - zone: *1 - time: 2022-05-30 15:13:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 04:18:40.000000000 Z - zone: *1 - time: 2022-06-01 04:18:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 11:11:51.000000000 Z - zone: *1 - time: 2022-06-01 11:11:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 12:45:06.000000000 Z - zone: *1 - time: 2022-06-01 12:45:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-03 07:08:31.000000000 Z - zone: *1 - time: 2022-06-03 07:08:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-04 23:28:11.000000000 Z - zone: *1 - time: 2022-06-04 23:28:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-07 12:14:01.000000000 Z - zone: *1 - time: 2022-06-07 12:14:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-08 13:32:22.000000000 Z - zone: *1 - time: 2022-06-08 13:32:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-10 18:56:37.000000000 Z - zone: *1 - time: 2022-06-10 18:56:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-12 16:00:09.000000000 Z - zone: *1 - time: 2022-06-12 16:00:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-15 13:28:55.000000000 Z - zone: *1 - time: 2022-06-15 13:28:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-16 18:42:37.000000000 Z - zone: *1 - time: 2022-06-16 18:42:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-17 00:36:21.000000000 Z - zone: *1 - time: 2022-06-17 00:36:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-18 16:21:27.000000000 Z - zone: *1 - time: 2022-06-18 16:21:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-20 13:50:27.000000000 Z - zone: *1 - time: 2022-06-20 13:50:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-22 09:43:55.000000000 Z - zone: *1 - time: 2022-06-22 09:43:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-25 09:43:17.000000000 Z - zone: *1 - time: 2022-06-25 09:43:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-27 06:51:01.000000000 Z - zone: *1 - time: 2022-06-27 06:51:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-28 09:10:53.000000000 Z - zone: *1 - time: 2022-06-28 09:10:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-30 18:46:16.000000000 Z - zone: *1 - time: 2022-06-30 18:46:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-01 16:05:14.000000000 Z - zone: *1 - time: 2022-07-01 16:05:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-02 14:02:12.000000000 Z - zone: *1 - time: 2022-07-02 14:02:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 11:08:11.000000000 Z - zone: *1 - time: 2022-07-05 11:08:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 12:44:38.000000000 Z - zone: *1 - time: 2022-07-05 12:44:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 03:55:17.000000000 Z - zone: *1 - time: 2022-07-08 03:55:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 18:02:14.000000000 Z - zone: *1 - time: 2022-07-08 18:02:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-09 09:41:17.000000000 Z - zone: *1 - time: 2022-07-09 09:41:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-11 07:34:51.000000000 Z - zone: *1 - time: 2022-07-11 07:34:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-13 05:11:19.000000000 Z - zone: *1 - time: 2022-07-13 05:11:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-15 02:46:56.000000000 Z - zone: *1 - time: 2022-07-15 02:46:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-16 15:40:39.000000000 Z - zone: *1 - time: 2022-07-16 15:40:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-17 19:44:15.000000000 Z - zone: *1 - time: 2022-07-17 19:44:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-19 00:31:12.000000000 Z - zone: *1 - time: 2022-07-19 00:31:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-21 21:58:24.000000000 Z - zone: *1 - time: 2022-07-21 21:58:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 05:25:48.000000000 Z - zone: *1 - time: 2022-07-22 05:25:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 18:33:04.000000000 Z - zone: *1 - time: 2022-07-22 18:33:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-24 07:42:24.000000000 Z - zone: *1 - time: 2022-07-24 07:42:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-25 07:21:20.000000000 Z - zone: *1 - time: 2022-07-25 07:21:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-27 12:02:44.000000000 Z - zone: *1 - time: 2022-07-27 12:02:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 03:29:28.000000000 Z - zone: *1 - time: 2022-07-29 03:29:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 11:35:43.000000000 Z - zone: *1 - time: 2022-07-29 11:35:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 05:25:21.000000000 Z - zone: *1 - time: 2022-07-30 05:25:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 19:39:10.000000000 Z - zone: *1 - time: 2022-07-30 19:39:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-31 18:54:58.000000000 Z - zone: *1 - time: 2022-07-31 18:54:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-03 11:18:44.000000000 Z - zone: *1 - time: 2022-08-03 11:18:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 00:37:47.000000000 Z - zone: *1 - time: 2022-08-05 00:37:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 12:08:08.000000000 Z - zone: *1 - time: 2022-08-05 12:08:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-07 14:39:19.000000000 Z - zone: *1 - time: 2022-08-07 14:39:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-08 09:52:59.000000000 Z - zone: *1 - time: 2022-08-08 09:52:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-09 13:48:29.000000000 Z - zone: *1 - time: 2022-08-09 13:48:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-11 19:03:04.000000000 Z - zone: *1 - time: 2022-08-11 19:03:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-13 01:56:49.000000000 Z - zone: *1 - time: 2022-08-13 01:56:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-15 11:33:09.000000000 Z - zone: *1 - time: 2022-08-15 11:33:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-17 23:37:45.000000000 Z - zone: *1 - time: 2022-08-17 23:37:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 00:47:19.000000000 Z - zone: *1 - time: 2022-08-19 00:47:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 01:01:12.000000000 Z - zone: *1 - time: 2022-08-19 01:01:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 07:37:55.000000000 Z - zone: *1 - time: 2022-08-21 07:37:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 21:42:15.000000000 Z - zone: *1 - time: 2022-08-21 21:42:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-23 10:55:39.000000000 Z - zone: *1 - time: 2022-08-23 10:55:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-25 16:20:29.000000000 Z - zone: *1 - time: 2022-08-25 16:20:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 06:28:14.000000000 Z - zone: *1 - time: 2022-08-27 06:28:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 13:12:57.000000000 Z - zone: *1 - time: 2022-08-27 13:12:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-28 23:00:13.000000000 Z - zone: *1 - time: 2022-08-28 23:00:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-31 05:19:56.000000000 Z - zone: *1 - time: 2022-08-31 05:19:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-02 18:00:18.000000000 Z - zone: *1 - time: 2022-09-02 18:00:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-04 12:02:47.000000000 Z - zone: *1 - time: 2022-09-04 12:02:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-06 00:57:21.000000000 Z - zone: *1 - time: 2022-09-06 00:57:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-08 04:26:01.000000000 Z - zone: *1 - time: 2022-09-08 04:26:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-09 04:55:45.000000000 Z - zone: *1 - time: 2022-09-09 04:55:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-11 22:59:36.000000000 Z - zone: *1 - time: 2022-09-11 22:59:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 00:54:25.000000000 Z - zone: *1 - time: 2022-09-12 00:54:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 17:44:24.000000000 Z - zone: *1 - time: 2022-09-12 17:44:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 20:47:30.000000000 Z - zone: *1 - time: 2022-09-12 20:47:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-15 11:39:20.000000000 Z - zone: *1 - time: 2022-09-15 11:39:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-16 07:54:15.000000000 Z - zone: *1 - time: 2022-09-16 07:54:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-17 08:06:29.000000000 Z - zone: *1 - time: 2022-09-17 08:06:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-18 07:17:17.000000000 Z - zone: *1 - time: 2022-09-18 07:17:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-19 08:39:55.000000000 Z - zone: *1 - time: 2022-09-19 08:39:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 06:32:56.000000000 Z - zone: *1 - time: 2022-09-22 06:32:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 21:26:29.000000000 Z - zone: *1 - time: 2022-09-22 21:26:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-24 16:06:50.000000000 Z - zone: *1 - time: 2022-09-24 16:06:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-27 05:50:18.000000000 Z - zone: *1 - time: 2022-09-27 05:50:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-28 12:12:13.000000000 Z - zone: *1 - time: 2022-09-28 12:12:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-29 21:13:01.000000000 Z - zone: *1 - time: 2022-09-29 21:13:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-30 00:09:29.000000000 Z - zone: *1 - time: 2022-09-30 00:09:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-02 04:35:07.000000000 Z - zone: *1 - time: 2022-10-02 04:35:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-02 16:30:20.000000000 Z - zone: *1 - time: 2022-10-02 16:30:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-04 10:35:59.000000000 Z - zone: *1 - time: 2022-10-04 10:35:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-04 23:39:37.000000000 Z - zone: *1 - time: 2022-10-04 23:39:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-07 23:25:10.000000000 Z - zone: *1 - time: 2022-10-07 23:25:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-08 20:31:14.000000000 Z - zone: *1 - time: 2022-10-08 20:31:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-09 07:30:41.000000000 Z - zone: *1 - time: 2022-10-09 07:30:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-11 07:29:41.000000000 Z - zone: *1 - time: 2022-10-11 07:29:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-11 08:00:58.000000000 Z - zone: *1 - time: 2022-10-11 08:00:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-14 03:22:26.000000000 Z - zone: *1 - time: 2022-10-14 03:22:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-16 14:47:54.000000000 Z - zone: *1 - time: 2022-10-16 14:47:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-17 00:28:32.000000000 Z - zone: *1 - time: 2022-10-17 00:28:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-19 10:46:33.000000000 Z - zone: *1 - time: 2022-10-19 10:46:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-21 02:39:31.000000000 Z - zone: *1 - time: 2022-10-21 02:39:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-21 19:24:24.000000000 Z - zone: *1 - time: 2022-10-21 19:24:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-23 05:38:26.000000000 Z - zone: *1 - time: 2022-10-23 05:38:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-25 13:28:28.000000000 Z - zone: *1 - time: 2022-10-25 13:28:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-26 20:26:31.000000000 Z - zone: *1 - time: 2022-10-26 20:26:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-29 12:43:40.000000000 Z - zone: *1 - time: 2022-10-29 12:43:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-31 11:21:43.000000000 Z - zone: *1 - time: 2022-10-31 11:21:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-03 04:42:32.000000000 Z - zone: *1 - time: 2022-11-03 04:42:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-04 20:26:28.000000000 Z - zone: *1 - time: 2022-11-04 20:26:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-05 15:08:01.000000000 Z - zone: *1 - time: 2022-11-05 15:08:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-06 10:55:38.000000000 Z - zone: *1 - time: 2022-11-06 10:55:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-07 04:13:28.000000000 Z - zone: *1 - time: 2022-11-07 04:13:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-08 03:42:59.000000000 Z - zone: *1 - time: 2022-11-08 03:42:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-10 13:56:10.000000000 Z - zone: *1 - time: 2022-11-10 13:56:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-13 13:01:38.000000000 Z - zone: *1 - time: 2022-11-13 13:01:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-15 02:04:32.000000000 Z - zone: *1 - time: 2022-11-15 02:04:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-17 09:10:48.000000000 Z - zone: *1 - time: 2022-11-17 09:10:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-19 11:37:01.000000000 Z - zone: *1 - time: 2022-11-19 11:37:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-20 06:15:33.000000000 Z - zone: *1 - time: 2022-11-20 06:15:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-22 08:35:41.000000000 Z - zone: *1 - time: 2022-11-22 08:35:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-24 20:42:50.000000000 Z - zone: *1 - time: 2022-11-24 20:42:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-25 17:45:48.000000000 Z - zone: *1 - time: 2022-11-25 17:45:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-28 06:16:15.000000000 Z - zone: *1 - time: 2022-11-28 06:16:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-28 18:12:24.000000000 Z - zone: *1 - time: 2022-11-28 18:12:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-30 20:09:46.000000000 Z - zone: *1 - time: 2022-11-30 20:09:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-01 03:29:43.000000000 Z - zone: *1 - time: 2022-12-01 03:29:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-02 03:58:02.000000000 Z - zone: *1 - time: 2022-12-02 03:58:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-02 19:47:06.000000000 Z - zone: *1 - time: 2022-12-02 19:47:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-04 14:54:02.000000000 Z - zone: *1 - time: 2022-12-04 14:54:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 02:22:58.000000000 Z - zone: *1 - time: 2022-12-06 02:22:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 09:29:06.000000000 Z - zone: *1 - time: 2022-12-06 09:29:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 17:16:19.000000000 Z - zone: *1 - time: 2022-12-06 17:16:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-09 14:10:12.000000000 Z - zone: *1 - time: 2022-12-09 14:10:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-11 19:54:41.000000000 Z - zone: *1 - time: 2022-12-11 19:54:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-11 23:48:45.000000000 Z - zone: *1 - time: 2022-12-11 23:48:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-12 12:05:28.000000000 Z - zone: *1 - time: 2022-12-12 12:05:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-12 21:37:48.000000000 Z - zone: *1 - time: 2022-12-12 21:37:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-15 05:08:10.000000000 Z - zone: *1 - time: 2022-12-15 05:08:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-16 19:06:39.000000000 Z - zone: *1 - time: 2022-12-16 19:06:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-18 21:49:36.000000000 Z - zone: *1 - time: 2022-12-18 21:49:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-20 00:54:09.000000000 Z - zone: *1 - time: 2022-12-20 00:54:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-22 21:51:31.000000000 Z - zone: *1 - time: 2022-12-22 21:51:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-25 08:40:02.000000000 Z - zone: *1 - time: 2022-12-25 08:40:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-26 22:01:45.000000000 Z - zone: *1 - time: 2022-12-26 22:01:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-29 18:46:07.000000000 Z - zone: *1 - time: 2022-12-29 18:46:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-01 01:55:31.000000000 Z - zone: *1 - time: 2023-01-01 01:55:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-01 17:34:53.000000000 Z - zone: *1 - time: 2023-01-01 17:34:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-04 09:05:13.000000000 Z - zone: *1 - time: 2023-01-04 09:05:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-05 01:57:33.000000000 Z - zone: *1 - time: 2023-01-05 01:57:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-06 08:56:47.000000000 Z - zone: *1 - time: 2023-01-06 08:56:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-07 18:52:12.000000000 Z - zone: *1 - time: 2023-01-07 18:52:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-08 00:43:40.000000000 Z - zone: *1 - time: 2023-01-08 00:43:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-10 13:28:23.000000000 Z - zone: *1 - time: 2023-01-10 13:28:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-13 10:22:38.000000000 Z - zone: *1 - time: 2023-01-13 10:22:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-15 01:43:06.000000000 Z - zone: *1 - time: 2023-01-15 01:43:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-15 04:30:52.000000000 Z - zone: *1 - time: 2023-01-15 04:30:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-16 23:13:04.000000000 Z - zone: *1 - time: 2023-01-16 23:13:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-19 17:16:31.000000000 Z - zone: *1 - time: 2023-01-19 17:16:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-21 09:25:58.000000000 Z - zone: *1 - time: 2023-01-21 09:25:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-23 09:42:42.000000000 Z - zone: *1 - time: 2023-01-23 09:42:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-24 11:13:59.000000000 Z - zone: *1 - time: 2023-01-24 11:13:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-25 00:57:26.000000000 Z - zone: *1 - time: 2023-01-25 00:57:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-27 10:31:18.000000000 Z - zone: *1 - time: 2023-01-27 10:31:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-28 07:08:54.000000000 Z - zone: *1 - time: 2023-01-28 07:08:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-28 09:46:16.000000000 Z - zone: *1 - time: 2023-01-28 09:46:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-30 04:34:32.000000000 Z - zone: *1 - time: 2023-01-30 04:34:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-30 05:30:26.000000000 Z - zone: *1 - time: 2023-01-30 05:30:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-31 08:08:44.000000000 Z - zone: *1 - time: 2023-01-31 08:08:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-03 01:02:02.000000000 Z - zone: *1 - time: 2023-02-03 01:02:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-03 10:02:38.000000000 Z - zone: *1 - time: 2023-02-03 10:02:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-05 02:22:53.000000000 Z - zone: *1 - time: 2023-02-05 02:22:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-05 05:55:46.000000000 Z - zone: *1 - time: 2023-02-05 05:55:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-07 06:18:28.000000000 Z - zone: *1 - time: 2023-02-07 06:18:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-08 13:57:28.000000000 Z - zone: *1 - time: 2023-02-08 13:57:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-08 17:53:12.000000000 Z - zone: *1 - time: 2023-02-08 17:53:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-10 08:40:27.000000000 Z - zone: *1 - time: 2023-02-10 08:40:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-10 10:28:23.000000000 Z - zone: *1 - time: 2023-02-10 10:28:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-12 15:42:42.000000000 Z - zone: *1 - time: 2023-02-12 15:42:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-14 06:11:35.000000000 Z - zone: *1 - time: 2023-02-14 06:11:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-14 12:22:06.000000000 Z - zone: *1 - time: 2023-02-14 12:22:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-16 14:43:29.000000000 Z - zone: *1 - time: 2023-02-16 14:43:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-16 15:58:19.000000000 Z - zone: *1 - time: 2023-02-16 15:58:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-17 08:36:37.000000000 Z - zone: *1 - time: 2023-02-17 08:36:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-19 04:20:36.000000000 Z - zone: *1 - time: 2023-02-19 04:20:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-21 03:27:07.000000000 Z - zone: *1 - time: 2023-02-21 03:27:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-22 09:09:23.000000000 Z - zone: *1 - time: 2023-02-22 09:09:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-24 10:19:14.000000000 Z - zone: *1 - time: 2023-02-24 10:19:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-26 13:28:50.000000000 Z - zone: *1 - time: 2023-02-26 13:28:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-27 15:33:38.000000000 Z - zone: *1 - time: 2023-02-27 15:33:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-01 14:48:42.000000000 Z - zone: *1 - time: 2023-03-01 14:48:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-02 19:17:52.000000000 Z - zone: *1 - time: 2023-03-02 19:17:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-03 09:48:41.000000000 Z - zone: *1 - time: 2023-03-03 09:48:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-04 12:44:18.000000000 Z - zone: *1 - time: 2023-03-04 12:44:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-06 18:24:47.000000000 Z - zone: *1 - time: 2023-03-06 18:24:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-09 13:55:36.000000000 Z - zone: *1 - time: 2023-03-09 13:55:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-11 13:50:26.000000000 Z - zone: *1 - time: 2023-03-11 13:50:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 05:57:47.000000000 Z - zone: *1 - time: 2023-03-14 05:57:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 09:16:38.000000000 Z - zone: *1 - time: 2023-03-14 09:16:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 12:34:22.000000000 Z - zone: *1 - time: 2023-03-14 12:34:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 15:15:53.000000000 Z - zone: *1 - time: 2023-03-14 15:15:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-16 18:34:04.000000000 Z - zone: *1 - time: 2023-03-16 18:34:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-19 13:01:38.000000000 Z - zone: *1 - time: 2023-03-19 13:01:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-19 15:24:32.000000000 Z - zone: *1 - time: 2023-03-19 15:24:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-20 14:56:28.000000000 Z - zone: *1 - time: 2023-03-20 14:56:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-21 12:32:45.000000000 Z - zone: *1 - time: 2023-03-21 12:32:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-23 22:16:22.000000000 Z - zone: *1 - time: 2023-03-23 22:16:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-24 01:05:24.000000000 Z - zone: *1 - time: 2023-03-24 01:05:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-26 12:01:36.000000000 Z - zone: *1 - time: 2023-03-26 12:01:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-29 07:45:17.000000000 Z - zone: *1 - time: 2023-03-29 07:45:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-01 06:03:31.000000000 Z - zone: *1 - time: 2023-04-01 06:03:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-02 20:45:43.000000000 Z - zone: *1 - time: 2023-04-02 20:45:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-03 05:33:10.000000000 Z - zone: *1 - time: 2023-04-03 05:33:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-03 16:15:11.000000000 Z - zone: *1 - time: 2023-04-03 16:15:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-05 14:56:49.000000000 Z - zone: *1 - time: 2023-04-05 14:56:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-06 22:21:46.000000000 Z - zone: *1 - time: 2023-04-06 22:21:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-08 19:50:51.000000000 Z - zone: *1 - time: 2023-04-08 19:50:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-09 06:14:30.000000000 Z - zone: *1 - time: 2023-04-09 06:14:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-09 11:26:27.000000000 Z - zone: *1 - time: 2023-04-09 11:26:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-11 21:34:04.000000000 Z - zone: *1 - time: 2023-04-11 21:34:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-14 08:51:06.000000000 Z - zone: *1 - time: 2023-04-14 08:51:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-16 15:58:05.000000000 Z - zone: *1 - time: 2023-04-16 15:58:05.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-17 03:06:43.000000000 Z - zone: *1 - time: 2023-04-17 03:06:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-18 16:28:30.000000000 Z - zone: *1 - time: 2023-04-18 16:28:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-18 17:32:38.000000000 Z - zone: *1 - time: 2023-04-18 17:32:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-19 20:34:45.000000000 Z - zone: *1 - time: 2023-04-19 20:34:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-22 06:16:01.000000000 Z - zone: *1 - time: 2023-04-22 06:16:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-22 12:00:25.000000000 Z - zone: *1 - time: 2023-04-22 12:00:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-24 21:12:27.000000000 Z - zone: *1 - time: 2023-04-24 21:12:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-27 15:19:36.000000000 Z - zone: *1 - time: 2023-04-27 15:19:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-29 00:43:46.000000000 Z - zone: *1 - time: 2023-04-29 00:43:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-29 17:50:02.000000000 Z - zone: *1 - time: 2023-04-29 17:50:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-30 05:22:14.000000000 Z - zone: *1 - time: 2023-04-30 05:22:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-01 07:20:17.000000000 Z - zone: *1 - time: 2023-05-01 07:20:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-03 05:11:16.000000000 Z - zone: *1 - time: 2023-05-03 05:11:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 00:13:31.000000000 Z - zone: *1 - time: 2023-05-05 00:13:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 12:08:33.000000000 Z - zone: *1 - time: 2023-05-05 12:08:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 16:26:19.000000000 Z - zone: *1 - time: 2023-05-05 16:26:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-07 23:53:00.000000000 Z - zone: *1 - time: 2023-05-07 23:53:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-10 17:41:27.000000000 Z - zone: *1 - time: 2023-05-10 17:41:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-12 01:37:24.000000000 Z - zone: *1 - time: 2023-05-12 01:37:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-14 08:18:36.000000000 Z - zone: *1 - time: 2023-05-14 08:18:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-16 15:17:43.000000000 Z - zone: *1 - time: 2023-05-16 15:17:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-16 18:24:55.000000000 Z - zone: *1 - time: 2023-05-16 18:24:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-19 16:16:45.000000000 Z - zone: *1 - time: 2023-05-19 16:16:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-21 00:48:36.000000000 Z - zone: *1 - time: 2023-05-21 00:48:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-22 00:54:41.000000000 Z - zone: *1 - time: 2023-05-22 00:54:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-24 05:36:25.000000000 Z - zone: *1 - time: 2023-05-24 05:36:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-25 10:05:39.000000000 Z - zone: *1 - time: 2023-05-25 10:05:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-26 16:09:51.000000000 Z - zone: *1 - time: 2023-05-26 16:09:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-29 12:40:29.000000000 Z - zone: *1 - time: 2023-05-29 12:40:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-29 13:15:05.000000000 Z - zone: *1 - time: 2023-05-29 13:15:05.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-31 15:28:14.000000000 Z - zone: *1 - time: 2023-05-31 15:28:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-02 02:05:21.000000000 Z - zone: *1 - time: 2023-06-02 02:05:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-02 13:05:50.000000000 Z - zone: *1 - time: 2023-06-02 13:05:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-04 11:12:19.000000000 Z - zone: *1 - time: 2023-06-04 11:12:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-05 10:04:34.000000000 Z - zone: *1 - time: 2023-06-05 10:04:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-06 02:47:22.000000000 Z - zone: *1 - time: 2023-06-06 02:47:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-07 04:35:17.000000000 Z - zone: *1 - time: 2023-06-07 04:35:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-07 16:20:27.000000000 Z - zone: *1 - time: 2023-06-07 16:20:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-08 07:43:14.000000000 Z - zone: *1 - time: 2023-06-08 07:43:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-10 17:55:59.000000000 Z - zone: *1 - time: 2023-06-10 17:55:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-12 17:00:02.000000000 Z - zone: *1 - time: 2023-06-12 17:00:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-14 08:37:14.000000000 Z - zone: *1 - time: 2023-06-14 08:37:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-14 18:07:30.000000000 Z - zone: *1 - time: 2023-06-14 18:07:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-16 12:07:26.000000000 Z - zone: *1 - time: 2023-06-16 12:07:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-18 22:29:39.000000000 Z - zone: *1 - time: 2023-06-18 22:29:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-19 02:32:54.000000000 Z - zone: *1 - time: 2023-06-19 02:32:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-20 14:24:40.000000000 Z - zone: *1 - time: 2023-06-20 14:24:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-22 09:27:59.000000000 Z - zone: *1 - time: 2023-06-22 09:27:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-23 07:31:20.000000000 Z - zone: *1 - time: 2023-06-23 07:31:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-23 21:06:55.000000000 Z - zone: *1 - time: 2023-06-23 21:06:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-26 06:57:28.000000000 Z - zone: *1 - time: 2023-06-26 06:57:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-28 17:08:12.000000000 Z - zone: *1 - time: 2023-06-28 17:08:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-29 03:06:47.000000000 Z - zone: *1 - time: 2023-06-29 03:06:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-30 12:25:41.000000000 Z - zone: *1 - time: 2023-06-30 12:25:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-02 08:49:42.000000000 Z - zone: *1 - time: 2023-07-02 08:49:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-03 20:09:26.000000000 Z - zone: *1 - time: 2023-07-03 20:09:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-06 17:39:13.000000000 Z - zone: *1 - time: 2023-07-06 17:39:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-09 00:18:52.000000000 Z - zone: *1 - time: 2023-07-09 00:18:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-11 03:58:21.000000000 Z - zone: *1 - time: 2023-07-11 03:58:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-12 22:37:00.000000000 Z - zone: *1 - time: 2023-07-12 22:37:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-14 01:58:44.000000000 Z - zone: *1 - time: 2023-07-14 01:58:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-16 20:21:13.000000000 Z - zone: *1 - time: 2023-07-16 20:21:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-17 01:41:47.000000000 Z - zone: *1 - time: 2023-07-17 01:41:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-19 10:06:35.000000000 Z - zone: *1 - time: 2023-07-19 10:06:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-21 17:44:16.000000000 Z - zone: *1 - time: 2023-07-21 17:44:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-22 02:46:04.000000000 Z - zone: *1 - time: 2023-07-22 02:46:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-22 06:52:04.000000000 Z - zone: *1 - time: 2023-07-22 06:52:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-23 04:53:49.000000000 Z - zone: *1 - time: 2023-07-23 04:53:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-25 16:37:24.000000000 Z - zone: *1 - time: 2023-07-25 16:37:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-27 18:34:33.000000000 Z - zone: *1 - time: 2023-07-27 18:34:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-28 02:34:02.000000000 Z - zone: *1 - time: 2023-07-28 02:34:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-29 19:53:32.000000000 Z - zone: *1 - time: 2023-07-29 19:53:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-30 23:30:11.000000000 Z - zone: *1 - time: 2023-07-30 23:30:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-02 17:46:22.000000000 Z - zone: *1 - time: 2023-08-02 17:46:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 00:01:21.000000000 Z - zone: *1 - time: 2023-08-03 00:01:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 03:57:56.000000000 Z - zone: *1 - time: 2023-08-03 03:57:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 21:41:28.000000000 Z - zone: *1 - time: 2023-08-03 21:41:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-04 23:37:31.000000000 Z - zone: *1 - time: 2023-08-04 23:37:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-05 08:20:42.000000000 Z - zone: *1 - time: 2023-08-05 08:20:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-07 21:01:55.000000000 Z - zone: *1 - time: 2023-08-07 21:01:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-10 17:03:47.000000000 Z - zone: *1 - time: 2023-08-10 17:03:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-11 21:06:31.000000000 Z - zone: *1 - time: 2023-08-11 21:06:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-12 08:45:08.000000000 Z - zone: *1 - time: 2023-08-12 08:45:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-13 07:09:39.000000000 Z - zone: *1 - time: 2023-08-13 07:09:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-14 11:15:10.000000000 Z - zone: *1 - time: 2023-08-14 11:15:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-16 04:15:48.000000000 Z - zone: *1 - time: 2023-08-16 04:15:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-19 04:11:43.000000000 Z - zone: *1 - time: 2023-08-19 04:11:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-19 10:10:27.000000000 Z - zone: *1 - time: 2023-08-19 10:10:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-22 09:41:20.000000000 Z - zone: *1 - time: 2023-08-22 09:41:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-24 10:27:08.000000000 Z - zone: *1 - time: 2023-08-24 10:27:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-24 18:16:12.000000000 Z - zone: *1 - time: 2023-08-24 18:16:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-25 17:02:28.000000000 Z - zone: *1 - time: 2023-08-25 17:02:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-27 15:58:52.000000000 Z - zone: *1 - time: 2023-08-27 15:58:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-27 23:29:53.000000000 Z - zone: *1 - time: 2023-08-27 23:29:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-28 21:31:27.000000000 Z - zone: *1 - time: 2023-08-28 21:31:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-29 03:35:29.000000000 Z - zone: *1 - time: 2023-08-29 03:35:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-31 06:15:19.000000000 Z - zone: *1 - time: 2023-08-31 06:15:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-01 21:56:52.000000000 Z - zone: *1 - time: 2023-09-01 21:56:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-02 22:57:53.000000000 Z - zone: *1 - time: 2023-09-02 22:57:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-05 03:28:30.000000000 Z - zone: *1 - time: 2023-09-05 03:28:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-07 04:57:12.000000000 Z - zone: *1 - time: 2023-09-07 04:57:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-09 19:16:05.000000000 Z - zone: *1 - time: 2023-09-09 19:16:05.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-09 20:01:39.000000000 Z - zone: *1 - time: 2023-09-09 20:01:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-11 03:23:22.000000000 Z - zone: *1 - time: 2023-09-11 03:23:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-12 15:18:29.000000000 Z - zone: *1 - time: 2023-09-12 15:18:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-13 14:14:43.000000000 Z - zone: *1 - time: 2023-09-13 14:14:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-13 17:37:25.000000000 Z - zone: *1 - time: 2023-09-13 17:37:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-14 18:17:49.000000000 Z - zone: *1 - time: 2023-09-14 18:17:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-16 19:56:55.000000000 Z - zone: *1 - time: 2023-09-16 19:56:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-18 14:21:02.000000000 Z - zone: *1 - time: 2023-09-18 14:21:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-21 00:34:13.000000000 Z - zone: *1 - time: 2023-09-21 00:34:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-23 07:14:06.000000000 Z - zone: *1 - time: 2023-09-23 07:14:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-24 17:22:22.000000000 Z - zone: *1 - time: 2023-09-24 17:22:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-27 12:42:54.000000000 Z - zone: *1 - time: 2023-09-27 12:42:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-28 14:48:45.000000000 Z - zone: *1 - time: 2023-09-28 14:48:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-01 11:54:24.000000000 Z - zone: *1 - time: 2023-10-01 11:54:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-03 07:36:32.000000000 Z - zone: *1 - time: 2023-10-03 07:36:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-05 05:13:57.000000000 Z - zone: *1 - time: 2023-10-05 05:13:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-06 16:07:06.000000000 Z - zone: *1 - time: 2023-10-06 16:07:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 00:03:52.000000000 Z - zone: *1 - time: 2023-10-09 00:03:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 02:32:01.000000000 Z - zone: *1 - time: 2023-10-09 02:32:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-10 16:39:07.000000000 Z - zone: *1 - time: 2023-10-10 16:39:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-12 13:28:16.000000000 Z - zone: *1 - time: 2023-10-12 13:28:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-14 04:29:14.000000000 Z - zone: *1 - time: 2023-10-14 04:29:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-17 03:30:24.000000000 Z - zone: *1 - time: 2023-10-17 03:30:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 03:13:15.000000000 Z - zone: *1 - time: 2023-10-20 03:13:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 20:47:06.000000000 Z - zone: *1 - time: 2023-10-20 20:47:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-21 13:59:34.000000000 Z - zone: *1 - time: 2023-10-21 13:59:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-23 21:38:48.000000000 Z - zone: *1 - time: 2023-10-23 21:38:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-24 06:07:13.000000000 Z - zone: *1 - time: 2023-10-24 06:07:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-25 22:51:17.000000000 Z - zone: *1 - time: 2023-10-25 22:51:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-26 21:12:50.000000000 Z - zone: *1 - time: 2023-10-26 21:12:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-28 05:52:20.000000000 Z - zone: *1 - time: 2023-10-28 05:52:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-29 22:11:01.000000000 Z - zone: *1 - time: 2023-10-29 22:11:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-30 12:29:25.000000000 Z - zone: *1 - time: 2023-10-30 12:29:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 02:52:55.000000000 Z - zone: *1 - time: 2023-11-02 02:52:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 06:00:32.000000000 Z - zone: *1 - time: 2023-11-02 06:00:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-03 08:39:06.000000000 Z - zone: *1 - time: 2023-11-03 08:39:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-04 23:51:22.000000000 Z - zone: *1 - time: 2023-11-04 23:51:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-07 16:11:33.000000000 Z - zone: *1 - time: 2023-11-07 16:11:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-10 10:55:29.000000000 Z - zone: *1 - time: 2023-11-10 10:55:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 01:20:18.000000000 Z - zone: *1 - time: 2023-11-12 01:20:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 04:22:50.000000000 Z - zone: *1 - time: 2023-11-12 04:22:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 08:38:58.000000000 Z - zone: *1 - time: 2023-11-12 08:38:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-13 15:43:40.000000000 Z - zone: *1 - time: 2023-11-13 15:43:40.000000000 Z +run Calendar From 3f5fd353f2c7a2c80c2193fc87185e810fc150bf Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Thu, 20 Jun 2024 10:29:40 +0700 Subject: [PATCH 02/16] Update gems --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 90c8c4515..d4e1051a5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -137,8 +137,8 @@ GEM net-smtp marcel (1.0.4) mini_mime (1.1.5) - minitest (5.23.1) - minitest-reporters (1.6.1) + minitest (5.24.0) + minitest-reporters (1.7.1) ansi builder minitest (>= 5.0) From 7ae4df41bafcabda6d707c4c9365be981b5dac0a Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Thu, 20 Jun 2024 11:26:32 +0700 Subject: [PATCH 03/16] Fix cy reconcile mangling snapshots.js --- e2e/cy/reconcile | 15 ++- e2e/snapshots.js | 233 ++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 246 insertions(+), 2 deletions(-) diff --git a/e2e/cy/reconcile b/e2e/cy/reconcile index 71c939a79..a4824b4eb 100755 --- a/e2e/cy/reconcile +++ b/e2e/cy/reconcile @@ -2,10 +2,23 @@ set -e +port=8080 + root="$(git rev-parse --show-toplevel)" . "$root/scripts/cd-and-back.sh" cd "$root/e2e" echo "Reconciling the test snapshots..." echo > snapshots.js -./cy-test + +test () { + NODE_NO_WARNINGS=1 \ + start-test "bundle exec pagy $app -p $port -q > /dev/null" "http://0.0.0.0:$port" \ + "cypress run --quiet --config baseUrl=http://0.0.0.0:$port --spec cypress/e2e/$app.cy.ts" +} + +for app in demo repro rails calendar +do + port=$((port+1)) + test +done diff --git a/e2e/snapshots.js b/e2e/snapshots.js index 6a45bd52b..5818454f8 100644 --- a/e2e/snapshots.js +++ b/e2e/snapshots.js @@ -313,5 +313,236 @@ module.exports = { "6": "Displaying items 981-1000 of 1000 in total" } }, - "__version": "13.12.0" + "__version": "13.12.0", + "[repro] Test helpers": { + "[repro] Test #nav": { + "1": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "2": "", + "3": "

@records:\n 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40

", + "4": "", + "5": "

@records:\n 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60

", + "6": "", + "7": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "8": "", + "9": "

@records:\n 961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980\n

", + "10": "" + }, + "[repro] Test #nav-js": { + "1": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "2": "", + "3": "

@records:\n 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40

", + "4": "", + "5": "

@records:\n 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60

", + "6": "", + "7": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "8": "", + "9": "

@records:\n 961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980\n

", + "10": "" + }, + "[repro] Test #nav-js-responsive": { + "1": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "2": "", + "3": "

@records:\n 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40

", + "4": "", + "5": "

@records:\n 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60

", + "6": "", + "7": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "8": "", + "9": "

@records:\n 961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980\n

", + "10": "", + "11": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "12": "", + "13": "

@records:\n 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40

", + "14": "", + "15": "

@records:\n 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60

", + "16": "", + "17": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "18": "", + "19": "

@records:\n 961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980\n

", + "20": "", + "21": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "22": "", + "23": "

@records:\n 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40

", + "24": "", + "25": "

@records:\n 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60

", + "26": "", + "27": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "28": "", + "29": "

@records:\n 961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980\n

", + "30": "", + "31": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "32": "", + "33": "

@records:\n 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40

", + "34": "", + "35": "

@records:\n 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60

", + "36": "", + "37": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "38": "", + "39": "

@records:\n 961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980\n

", + "40": "" + }, + "[repro] Test #combo-nav-js": { + "1": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "2": "", + "3": "

@records:\n 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40

", + "4": "", + "5": "

@records:\n 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60

", + "6": "", + "7": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "8": "", + "9": "

@records:\n 961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980\n

", + "10": "", + "11": "

@records:\n 941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960\n

", + "12": "" + }, + "[repro] Test #pagy-info": { + "1": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "2": "Displaying items 1-20 of 1000 in total", + "3": "

@records:\n 701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720\n

", + "4": "Displaying items 701-720 of 1000 in total", + "5": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "6": "Displaying items 981-1000 of 1000 in total" + }, + "[repro] Test #items-selector-js": { + "1": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "2": "", + "3": "

@records: 1,2,3,4,5,6,7,8,9,10

", + "4": "", + "5": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17

", + "6": "", + "7": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18

", + "8": "", + "9": "

@records:\n 701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720\n

", + "10": "", + "11": "

@records: 701,702,703,704,705,706,707,708,709,710

", + "12": "", + "13": "

@records:\n 698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714

", + "14": "", + "15": "

@records:\n 685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702

", + "16": "", + "17": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "18": "", + "19": "

@records: 981,982,983,984,985,986,987,988,989,990

", + "20": "", + "21": "

@records:\n 970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986

", + "22": "", + "23": "

@records:\n 955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972

", + "24": "" + } + }, + "[rails] Test helpers": { + "[rails] Test #nav": { + "1": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "2": "", + "3": "
\n

Comment 1 to Post 6

\n

Comment 2 to Post 6

\n

Comment 1 to Post 7

\n

Comment 2 to Post 7

\n

Comment 1 to Post 8

\n

Comment 2 to Post 8

\n

Comment 1 to Post 9

\n

Comment 2 to Post 9

\n

Comment 1 to Post 10

\n

Comment 2 to Post 10

\n
", + "4": "", + "5": "
\n

Comment 1 to Post 11

\n

Comment 2 to Post 11

\n
", + "6": "", + "7": "
\n

Comment 1 to Post 6

\n

Comment 2 to Post 6

\n

Comment 1 to Post 7

\n

Comment 2 to Post 7

\n

Comment 1 to Post 8

\n

Comment 2 to Post 8

\n

Comment 1 to Post 9

\n

Comment 2 to Post 9

\n

Comment 1 to Post 10

\n

Comment 2 to Post 10

\n
", + "8": "" + }, + "[rails] Test #nav-js": { + "1": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "2": "", + "3": "
\n

Comment 1 to Post 6

\n

Comment 2 to Post 6

\n

Comment 1 to Post 7

\n

Comment 2 to Post 7

\n

Comment 1 to Post 8

\n

Comment 2 to Post 8

\n

Comment 1 to Post 9

\n

Comment 2 to Post 9

\n

Comment 1 to Post 10

\n

Comment 2 to Post 10

\n
", + "4": "", + "5": "
\n

Comment 1 to Post 11

\n

Comment 2 to Post 11

\n
", + "6": "", + "7": "
\n

Comment 1 to Post 6

\n

Comment 2 to Post 6

\n

Comment 1 to Post 7

\n

Comment 2 to Post 7

\n

Comment 1 to Post 8

\n

Comment 2 to Post 8

\n

Comment 1 to Post 9

\n

Comment 2 to Post 9

\n

Comment 1 to Post 10

\n

Comment 2 to Post 10

\n
", + "8": "" + }, + "[rails] Test #combo-nav-js": { + "1": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "2": "", + "3": "
\n

Comment 1 to Post 6

\n

Comment 2 to Post 6

\n

Comment 1 to Post 7

\n

Comment 2 to Post 7

\n

Comment 1 to Post 8

\n

Comment 2 to Post 8

\n

Comment 1 to Post 9

\n

Comment 2 to Post 9

\n

Comment 1 to Post 10

\n

Comment 2 to Post 10

\n
", + "4": "", + "5": "
\n

Comment 1 to Post 11

\n

Comment 2 to Post 11

\n
", + "6": "", + "7": "
\n

Comment 1 to Post 11

\n

Comment 2 to Post 11

\n
", + "8": "", + "9": "
\n

Comment 1 to Post 6

\n

Comment 2 to Post 6

\n

Comment 1 to Post 7

\n

Comment 2 to Post 7

\n

Comment 1 to Post 8

\n

Comment 2 to Post 8

\n

Comment 1 to Post 9

\n

Comment 2 to Post 9

\n

Comment 1 to Post 10

\n

Comment 2 to Post 10

\n
", + "10": "", + "11": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "12": "" + }, + "[rails] Test #items-selector-js": { + "1": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "2": "", + "3": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "4": "", + "5": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "6": "", + "7": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n

Comment 1 to Post 6

\n
", + "8": "", + "9": "
\n
", + "10": "", + "11": "
\n
", + "12": "", + "13": "
\n
", + "14": "", + "15": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n

Comment 1 to Post 6

\n
", + "16": "", + "17": "
\n
", + "18": "", + "19": "
\n
", + "20": "", + "21": "
\n
", + "22": "", + "23": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n

Comment 1 to Post 6

\n
", + "24": "" + }, + "[rails] Test #pagy-info": { + "1": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "2": "Displaying items 1-10 of 22 in total", + "3": "
\n
", + "4": "Displaying items 0-0 of 22 in total", + "5": "
\n
", + "6": "Displaying items 0-0 of 22 in total" + } + }, + "[calendar] Test helpers": { + "[calendar] Test #toggle": { + "1": "
\n

Event #1 - 2021-10-21 13:18:23 UTC

\n

Event #2 - 2021-10-21 23:14:50 UTC

\n
", + "2": "", + "3": "", + "4": "", + "5": "Displaying 2 items", + "6": "
\n

Event #1 - 2021-10-21 13:18:23 UTC

\n

Event #2 - 2021-10-21 23:14:50 UTC

\n

Event #3 - 2021-10-23 01:06:02 UTC

\n

Event #4 - 2021-10-25 18:54:35 UTC

\n

Event #5 - 2021-10-26 02:22:17 UTC

\n

Event #6 - 2021-10-28 22:59:49 UTC

\n

Event #7 - 2021-10-30 15:02:25 UTC

\n

Event #8 - 2021-11-02 04:03:39 UTC

\n

Event #9 - 2021-11-04 22:41:23 UTC

\n

Event #10 - 2021-11-06 00:34:29 UTC

\n

Event #11 - 2021-11-06 23:56:16 UTC

\n

Event #12 - 2021-11-07 06:22:04 UTC

\n

Event #13 - 2021-11-07 19:46:08 UTC

\n

Event #14 - 2021-11-08 09:31:13 UTC

\n

Event #15 - 2021-11-09 17:22:03 UTC

\n

Event #16 - 2021-11-11 05:29:54 UTC

\n

Event #17 - 2021-11-13 09:41:04 UTC

\n

Event #18 - 2021-11-16 07:48:22 UTC

\n

Event #19 - 2021-11-16 12:43:44 UTC

\n

Event #20 - 2021-11-17 16:03:07 UTC

\n
", + "7": "", + "8": "
\n

Event #1 - 2021-10-21 13:18:23 UTC

\n

Event #2 - 2021-10-21 23:14:50 UTC

\n
", + "9": "", + "10": "", + "11": "", + "12": "Displaying 2 items" + }, + "[calendar] Test #go-to-day": { + "1": "
\n

Event #86 - 2022-03-02 23:35:41 UTC

\n
", + "2": "", + "3": "", + "4": "", + "5": "Displaying 1 item" + }, + "[calendar] Test calendar navs": { + "1": "
\n

Event #51 - 2022-01-01 19:18:06 UTC

\n
", + "2": "", + "3": "", + "4": "", + "5": "Displaying 1 item", + "6": "
\n

Event #106 - 2022-04-01 15:35:47 UTC

\n
", + "7": "", + "8": "", + "9": "", + "10": "Displaying 1 item", + "11": "
\n
", + "12": "", + "13": "", + "14": "", + "15": "No items found", + "16": "
\n

Event #110 - 2022-04-06 10:59:32 UTC

\n

Event #111 - 2022-04-07 01:33:53 UTC

\n
", + "17": "", + "18": "", + "19": "", + "20": "Displaying 2 items" + } + } } From 7fa0fd0f22d43ba50799a67241e1fdcbbf152ec4 Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Fri, 21 Jun 2024 08:18:11 +0700 Subject: [PATCH 04/16] Remove redundant Warning --- gem/lib/pagy/calendar.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gem/lib/pagy/calendar.rb b/gem/lib/pagy/calendar.rb index 29fee04a6..98f751745 100644 --- a/gem/lib/pagy/calendar.rb +++ b/gem/lib/pagy/calendar.rb @@ -63,7 +63,7 @@ def page_at(time, **opts) fit_time = fit_final ordinal = 'last' end - Warning.warn "Pagy::Calendar#page_at: Rescued #{time} out of range by returning the #{ordinal} page." + warn "Pagy::Calendar#page_at: Rescued #{time} out of range by returning the #{ordinal} page." end offset = page_offset_at(fit_time) # offset starts from 0 @order == :asc ? offset + 1 : @last - offset From ad6e88100b100d4d8a006d57ff628c63c6c7bd13 Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Fri, 21 Jun 2024 08:19:06 +0700 Subject: [PATCH 05/16] Add code for calendar counts --- docs/extras/calendar.md | 67 +- gem/apps/calendar.ru | 1037 ++++++++++++++++--------------- gem/lib/pagy/extras/calendar.rb | 37 +- 3 files changed, 617 insertions(+), 524 deletions(-) diff --git a/docs/extras/calendar.md b/docs/extras/calendar.md index 1a6a67f28..aeee92d3a 100644 --- a/docs/extras/calendar.md +++ b/docs/extras/calendar.md @@ -35,21 +35,29 @@ require 'pagy/extras/calendar' ``` ```ruby controller -# e.g. application_controller.rb +# REQUIRED: return the start and end limits of the collection as a 2 items array def pagy_calendar_period(collection) - return_period_array_using(collection) + starting = collection.minimum(:created_at) + ending = collection.maximum(:created_at) + [starting.in_time_zone, ending.in_time_zone] end -# e.g. application_controller.rb +# REQUIRED: return the collection filtered by a time period def pagy_calendar_filter(collection, from, to) - return_filtered_collection_using(collection, from, to) + collection.where(created_at: from...to) +end + +# OPTIONAL: return the array counts per time +def pagy_calendar_counts(collection, unit, from, to) + collection.group_by_period(unit, :created_at, range: from...to).count.values end -# some action: +# Example of usage def index - @calendar, @pagy, @records = pagy_calendar(collection, year: { size: [1, 1, 1, 1], ... }, - month: { size: [0, 12, 12, 0], ... }, - pagy: { items: 10, ... }) + @calendar, @pagy, @records = pagy_calendar(collection, + year: {}, + month: {}, + pagy: {}) end ``` @@ -77,10 +85,11 @@ couple of simple methods in your app and configure the objects that it creates a The whole usage boils down to these steps: -1. Configure the [pagy_calendar](#pagy-calendar-collection-configuration) method in your action +1. Configure the [pagy_calendar](#pagy-calendar-collection-configuration) in your action 2. Define the [pagy_calendar_period](#pagy-calendar-period-collection) method in your controller 3. Define the [pagy_calendar_filter](#pagy-calendar-filter-collection-from-to) method in your controller -4. Use it in your UI +4. Optionally define the [pagy_calendar_counts](#pagy-calendar-counts-collection-unit-from-to) in your controller +5. Use it in your UI [!button corners="pill" variant="success" text=":icon-play: Try it now!"](/playground.md#4-calendar-app) @@ -242,8 +251,7 @@ Depending on the type of storage, the `collection` argument can contain a differ If you use `ActiveRecord` the `collection` is going to be an `ActiveRecord::Relation` object that you can easily filter. Here is an example with the `created_at` field again (but you can use anything, of course): -```ruby controller - +```ruby Controller def pagy_calendar_filter(collection, from, to) collection.where(created_at: from...to) # 3-dots range excluding the end value end @@ -258,6 +266,41 @@ arguments that you passed to the `Model.pagy_search` method. That array is what passing it to the standard `Model.search` method to do the actual search._ So in order to filter the actual search with the `from` and `to` local `TimeWithZone` objects, you should simply return the same array with the filtering added to its relevant item. Pagy will use it to do the actual (filtered) search. + +==- `pagy_calendar_counts(collection, unit, from, to)` + +!!!primary Optional implementation +This method can be implemented by the application in order to add some UI feedback to the pagy nav links +!!! + +If this method is defined, pagy will run it for each used calendar unit and will add an extra `empty-page` +CSS class to the links to empty pages (that can be targeted to give a visual UI feedback). Pagy will also add a `title` +attribute to display a tooltip info for each page link. + +The method receives the main `collection` the `unit` symbol, and must return the array of the counts grouped by unit using the +`from` and `to` **local Time** objects. + +If your collection is an `ActiveRecord::Relation` object you won't have to do much: just add the +[groupdate gem](https://github.com/ankane/groupdate) to your bundle and use the following one liner (just change the +`:created_at` to the time field you need): + +```ruby +def pagy_calendar_counts(collection, unit, from, to) + collection.group_by_period(unit, :created_at, range: from...to).count.values +end +``` + +For other types of collection you should override the method. + +!!!warning Extra queries required + +The extra feedback triggered by this method executes one extra count query per unit, (e.g. with a year + month calendar +there are 2 extra queries). That is usually OK for most environments, but it might be slow on others, so check +it on your actual DB to evaluate the performance. + +If you want to use it dynamically, you can skip the extra query and the relative feedback by returning `nil` when you need it. +!!! + === ## Customization diff --git a/gem/apps/calendar.ru b/gem/apps/calendar.ru index 895bd73f5..8f45bad18 100644 --- a/gem/apps/calendar.ru +++ b/gem/apps/calendar.ru @@ -61,6 +61,13 @@ require 'pagy/extras/calendar' require 'pagy/extras/bootstrap' Pagy::DEFAULT.freeze +# Groupdate initializer (https://github.com/ankane/groupdate) +# Groupdate does not support the time zone with sqlite, so for this demo we can live with UTC +Groupdate.time_zone = false +# Groupdate week_start default is :sunday, while rails and pagy default to :monday +Groupdate.week_start = :monday + +# Activerecord initializer ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: "#{dir}/tmp/calendar.sqlite3") ActiveRecord::Schema.define do create_table :events, force: true do |t| @@ -70,8 +77,8 @@ ActiveRecord::Schema.define do end # Models -class Event < ActiveRecord::Base # :nodoc: -end # :nodoc: +class Event < ActiveRecord::Base +end # Helpers module EventsHelper @@ -79,7 +86,7 @@ module EventsHelper end # Controllers -class EventsController < ActionController::Base # :nodoc: +class EventsController < ActionController::Base include Rails.application.routes.url_helpers include Pagy::Backend @@ -98,9 +105,19 @@ class EventsController < ActionController::Base # :nodoc: collection.where(time: from...to) end - def index - Time.zone = 'EST' # convert the UTC storage time to time with zone 'EST' + # This method may optionally be implemented by the application. + # If present, pagy adds its result (as the vars[:counts] array) to each calendar unit pagy object + # The helpers use that info to add an "empty-page" class to the empty page lings + # and to provide the tooltip feedback about the count number per page + # This method must return an array of counts grouped by unit + def pagy_calendar_counts(collection, unit, from, to) + # group_by_period is provided by the groupdate gem + collection.group_by_period(unit, :time, range: from...to).count.values + end + def index + # We need UTC to work with the limitation of groupdate with sqlite + Time.zone = 'UTC' # Default calendar # The conf Hash defines the pagy objects variables keyed by calendar unit and the final pagy standard object # The :skip is an optional and arbitrarily named param that skips the calendar pagination and uses only the pagy @@ -203,511 +220,511 @@ TEMPLATE = <<~ERB ERB TIMES = <<~TIMES - 2021-10-21 13:18:23 - 2021-10-21 23:14:50 - 2021-10-23 01:06:02 - 2021-10-25 18:54:35 - 2021-10-26 02:22:17 - 2021-10-28 22:59:49 - 2021-10-30 15:02:25 - 2021-11-02 04:03:39 - 2021-11-04 22:41:23 - 2021-11-06 00:34:29 - 2021-11-06 23:56:16 - 2021-11-07 06:22:04 - 2021-11-07 19:46:08 - 2021-11-08 09:31:13 - 2021-11-09 17:22:03 - 2021-11-11 05:29:54 - 2021-11-13 09:41:04 - 2021-11-16 07:48:22 - 2021-11-16 12:43:44 - 2021-11-17 16:03:07 - 2021-11-20 02:39:01 - 2021-11-21 02:01:24 - 2021-11-23 19:24:43 - 2021-11-26 11:47:22 - 2021-11-28 06:30:04 - 2021-12-01 00:13:55 - 2021-12-03 19:10:16 - 2021-12-04 00:43:47 - 2021-12-06 20:15:35 - 2021-12-09 16:27:07 - 2021-12-10 15:28:48 - 2021-12-10 23:08:16 - 2021-12-11 23:09:08 - 2021-12-14 04:56:58 - 2021-12-14 14:00:56 - 2021-12-15 22:58:51 - 2021-12-16 01:28:21 - 2021-12-16 20:16:54 - 2021-12-19 00:34:04 - 2021-12-19 06:58:41 - 2021-12-21 11:13:53 - 2021-12-23 07:28:50 - 2021-12-23 07:57:58 - 2021-12-23 18:32:13 - 2021-12-24 01:17:51 - 2021-12-25 05:36:16 - 2021-12-25 23:21:57 - 2021-12-27 12:18:57 - 2021-12-28 16:59:57 - 2021-12-31 15:10:23 - 2022-01-01 19:18:06 - 2022-01-03 08:36:27 - 2022-01-03 23:31:01 - 2022-01-05 02:14:57 - 2022-01-06 09:26:03 - 2022-01-07 20:22:22 - 2022-01-10 04:04:28 - 2022-01-11 17:17:55 - 2022-01-14 05:21:54 - 2022-01-16 01:18:58 - 2022-01-18 08:42:56 - 2022-01-19 00:45:04 - 2022-01-20 08:18:54 - 2022-01-22 05:26:38 - 2022-01-24 10:57:50 - 2022-01-26 09:47:02 - 2022-01-28 20:44:30 - 2022-01-31 16:19:50 - 2022-02-01 21:23:58 - 2022-02-04 14:41:57 - 2022-02-06 20:40:06 - 2022-02-07 23:03:50 - 2022-02-09 05:28:08 - 2022-02-10 02:19:12 - 2022-02-11 07:51:30 - 2022-02-12 13:46:16 - 2022-02-13 21:06:40 - 2022-02-15 11:37:50 - 2022-02-18 11:23:15 - 2022-02-20 08:01:49 - 2022-02-23 03:00:30 - 2022-02-24 21:52:25 - 2022-02-25 12:07:56 - 2022-02-27 04:20:20 - 2022-02-28 21:09:42 - 2022-03-02 23:35:41 - 2022-03-04 00:42:10 - 2022-03-05 00:59:10 - 2022-03-06 19:58:01 - 2022-03-07 07:48:09 - 2022-03-09 06:08:00 - 2022-03-10 05:45:08 - 2022-03-12 21:16:31 - 2022-03-15 08:17:44 - 2022-03-16 03:37:03 - 2022-03-18 05:07:54 - 2022-03-20 04:05:26 - 2022-03-22 10:52:33 - 2022-03-23 15:26:54 - 2022-03-24 09:01:04 - 2022-03-24 23:53:07 - 2022-03-27 13:45:17 - 2022-03-28 19:57:00 - 2022-03-29 15:42:35 - 2022-03-29 18:20:32 - 2022-04-01 15:35:47 - 2022-04-02 06:33:31 - 2022-04-03 18:27:19 - 2022-04-03 23:44:08 - 2022-04-06 10:59:32 - 2022-04-07 01:33:53 - 2022-04-08 10:26:34 - 2022-04-10 19:21:08 - 2022-04-12 01:50:04 - 2022-04-14 19:56:29 - 2022-04-15 09:08:22 - 2022-04-16 07:58:47 - 2022-04-17 16:31:40 - 2022-04-20 09:50:22 - 2022-04-23 04:24:22 - 2022-04-25 07:18:04 - 2022-04-27 16:57:48 - 2022-04-29 18:48:09 - 2022-04-29 20:30:25 - 2022-05-02 03:44:25 - 2022-05-03 15:27:57 - 2022-05-04 08:11:15 - 2022-05-07 00:42:14 - 2022-05-09 15:23:31 - 2022-05-10 19:11:49 - 2022-05-11 14:04:17 - 2022-05-14 12:09:34 - 2022-05-15 13:31:54 - 2022-05-17 21:21:37 - 2022-05-19 01:27:43 - 2022-05-21 04:34:59 - 2022-05-23 11:05:18 - 2022-05-23 19:14:50 - 2022-05-26 13:16:18 - 2022-05-27 11:39:35 - 2022-05-29 07:09:07 - 2022-05-30 15:13:23 - 2022-06-01 04:18:40 - 2022-06-01 11:11:51 - 2022-06-01 12:45:06 - 2022-06-03 07:08:31 - 2022-06-04 23:28:11 - 2022-06-07 12:14:01 - 2022-06-08 13:32:22 - 2022-06-10 18:56:37 - 2022-06-12 16:00:09 - 2022-06-15 13:28:55 - 2022-06-16 18:42:37 - 2022-06-17 00:36:21 - 2022-06-18 16:21:27 - 2022-06-20 13:50:27 - 2022-06-22 09:43:55 - 2022-06-25 09:43:17 - 2022-06-27 06:51:01 - 2022-06-28 09:10:53 - 2022-06-30 18:46:16 - 2022-07-01 16:05:14 - 2022-07-02 14:02:12 - 2022-07-05 11:08:11 - 2022-07-05 12:44:38 - 2022-07-08 03:55:17 - 2022-07-08 18:02:14 - 2022-07-09 09:41:17 - 2022-07-11 07:34:51 - 2022-07-13 05:11:19 - 2022-07-15 02:46:56 - 2022-07-16 15:40:39 - 2022-07-17 19:44:15 - 2022-07-19 00:31:12 - 2022-07-21 21:58:24 - 2022-07-22 05:25:48 - 2022-07-22 18:33:04 - 2022-07-24 07:42:24 - 2022-07-25 07:21:20 - 2022-07-27 12:02:44 - 2022-07-29 03:29:28 - 2022-07-29 11:35:43 - 2022-07-30 05:25:21 - 2022-07-30 19:39:10 - 2022-07-31 18:54:58 - 2022-08-03 11:18:44 - 2022-08-05 00:37:47 - 2022-08-05 12:08:08 - 2022-08-07 14:39:19 - 2022-08-08 09:52:59 - 2022-08-09 13:48:29 - 2022-08-11 19:03:04 - 2022-08-13 01:56:49 - 2022-08-15 11:33:09 - 2022-08-17 23:37:45 - 2022-08-19 00:47:19 - 2022-08-19 01:01:12 - 2022-08-21 07:37:55 - 2022-08-21 21:42:15 - 2022-08-23 10:55:39 - 2022-08-25 16:20:29 - 2022-08-27 06:28:14 - 2022-08-27 13:12:57 - 2022-08-28 23:00:13 - 2022-08-31 05:19:56 - 2022-09-02 18:00:18 - 2022-09-04 12:02:47 - 2022-09-06 00:57:21 - 2022-09-08 04:26:01 - 2022-09-09 04:55:45 - 2022-09-11 22:59:36 - 2022-09-12 00:54:25 - 2022-09-12 17:44:24 - 2022-09-12 20:47:30 - 2022-09-15 11:39:20 - 2022-09-16 07:54:15 - 2022-09-17 08:06:29 - 2022-09-18 07:17:17 - 2022-09-19 08:39:55 - 2022-09-22 06:32:56 - 2022-09-22 21:26:29 - 2022-09-24 16:06:50 - 2022-09-27 05:50:18 - 2022-09-28 12:12:13 - 2022-09-29 21:13:01 - 2022-09-30 00:09:29 - 2022-10-02 04:35:07 - 2022-10-02 16:30:20 - 2022-10-04 10:35:59 - 2022-10-04 23:39:37 - 2022-10-07 23:25:10 - 2022-10-08 20:31:14 - 2022-10-09 07:30:41 - 2022-10-11 07:29:41 - 2022-10-11 08:00:58 - 2022-10-14 03:22:26 - 2022-10-16 14:47:54 - 2022-10-17 00:28:32 - 2022-10-19 10:46:33 - 2022-10-21 02:39:31 - 2022-10-21 19:24:24 - 2022-10-23 05:38:26 - 2022-10-25 13:28:28 - 2022-10-26 20:26:31 - 2022-10-29 12:43:40 - 2022-10-31 11:21:43 - 2022-11-03 04:42:32 - 2022-11-04 20:26:28 - 2022-11-05 15:08:01 - 2022-11-06 10:55:38 - 2022-11-07 04:13:28 - 2022-11-08 03:42:59 - 2022-11-10 13:56:10 - 2022-11-13 13:01:38 - 2022-11-15 02:04:32 - 2022-11-17 09:10:48 - 2022-11-19 11:37:01 - 2022-11-20 06:15:33 - 2022-11-22 08:35:41 - 2022-11-24 20:42:50 - 2022-11-25 17:45:48 - 2022-11-28 06:16:15 - 2022-11-28 18:12:24 - 2022-11-30 20:09:46 - 2022-12-01 03:29:43 - 2022-12-02 03:58:02 - 2022-12-02 19:47:06 - 2022-12-04 14:54:02 - 2022-12-06 02:22:58 - 2022-12-06 09:29:06 - 2022-12-06 17:16:19 - 2022-12-09 14:10:12 - 2022-12-11 19:54:41 - 2022-12-11 23:48:45 - 2022-12-12 12:05:28 - 2022-12-12 21:37:48 - 2022-12-15 05:08:10 - 2022-12-16 19:06:39 - 2022-12-18 21:49:36 - 2022-12-20 00:54:09 - 2022-12-22 21:51:31 - 2022-12-25 08:40:02 - 2022-12-26 22:01:45 - 2022-12-29 18:46:07 - 2023-01-01 01:55:31 - 2023-01-01 17:34:53 - 2023-01-04 09:05:13 - 2023-01-05 01:57:33 - 2023-01-06 08:56:47 - 2023-01-07 18:52:12 - 2023-01-08 00:43:40 - 2023-01-10 13:28:23 - 2023-01-13 10:22:38 - 2023-01-15 01:43:06 - 2023-01-15 04:30:52 - 2023-01-16 23:13:04 - 2023-01-19 17:16:31 - 2023-01-21 09:25:58 - 2023-01-23 09:42:42 - 2023-01-24 11:13:59 - 2023-01-25 00:57:26 - 2023-01-27 10:31:18 - 2023-01-28 07:08:54 - 2023-01-28 09:46:16 - 2023-01-30 04:34:32 - 2023-01-30 05:30:26 - 2023-01-31 08:08:44 - 2023-02-03 01:02:02 - 2023-02-03 10:02:38 - 2023-02-05 02:22:53 - 2023-02-05 05:55:46 - 2023-02-07 06:18:28 - 2023-02-08 13:57:28 - 2023-02-08 17:53:12 - 2023-02-10 08:40:27 - 2023-02-10 10:28:23 - 2023-02-12 15:42:42 - 2023-02-14 06:11:35 - 2023-02-14 12:22:06 - 2023-02-16 14:43:29 - 2023-02-16 15:58:19 - 2023-02-17 08:36:37 - 2023-02-19 04:20:36 - 2023-02-21 03:27:07 - 2023-02-22 09:09:23 - 2023-02-24 10:19:14 - 2023-02-26 13:28:50 - 2023-02-27 15:33:38 - 2023-03-01 14:48:42 - 2023-03-02 19:17:52 - 2023-03-03 09:48:41 - 2023-03-04 12:44:18 - 2023-03-06 18:24:47 - 2023-03-09 13:55:36 - 2023-03-11 13:50:26 - 2023-03-14 05:57:47 - 2023-03-14 09:16:38 - 2023-03-14 12:34:22 - 2023-03-14 15:15:53 - 2023-03-16 18:34:04 - 2023-03-19 13:01:38 - 2023-03-19 15:24:32 - 2023-03-20 14:56:28 - 2023-03-21 12:32:45 - 2023-03-23 22:16:22 - 2023-03-24 01:05:24 - 2023-03-26 12:01:36 - 2023-03-29 07:45:17 - 2023-04-01 06:03:31 - 2023-04-02 20:45:43 - 2023-04-03 05:33:10 - 2023-04-03 16:15:11 - 2023-04-05 14:56:49 - 2023-04-06 22:21:46 - 2023-04-08 19:50:51 - 2023-04-09 06:14:30 - 2023-04-09 11:26:27 - 2023-04-11 21:34:04 - 2023-04-14 08:51:06 - 2023-04-16 15:58:05 - 2023-04-17 03:06:43 - 2023-04-18 16:28:30 - 2023-04-18 17:32:38 - 2023-04-19 20:34:45 - 2023-04-22 06:16:01 - 2023-04-22 12:00:25 - 2023-04-24 21:12:27 - 2023-04-27 15:19:36 - 2023-04-29 00:43:46 - 2023-04-29 17:50:02 - 2023-04-30 05:22:14 - 2023-05-01 07:20:17 - 2023-05-03 05:11:16 - 2023-05-05 00:13:31 - 2023-05-05 12:08:33 - 2023-05-05 16:26:19 - 2023-05-07 23:53:00 - 2023-05-10 17:41:27 - 2023-05-12 01:37:24 - 2023-05-14 08:18:36 - 2023-05-16 15:17:43 - 2023-05-16 18:24:55 - 2023-05-19 16:16:45 - 2023-05-21 00:48:36 - 2023-05-22 00:54:41 - 2023-05-24 05:36:25 - 2023-05-25 10:05:39 - 2023-05-26 16:09:51 - 2023-05-29 12:40:29 - 2023-05-29 13:15:05 - 2023-05-31 15:28:14 - 2023-06-02 02:05:21 - 2023-06-02 13:05:50 - 2023-06-04 11:12:19 - 2023-06-05 10:04:34 - 2023-06-06 02:47:22 - 2023-06-07 04:35:17 - 2023-06-07 16:20:27 - 2023-06-08 07:43:14 - 2023-06-10 17:55:59 - 2023-06-12 17:00:02 - 2023-06-14 08:37:14 - 2023-06-14 18:07:30 - 2023-06-16 12:07:26 - 2023-06-18 22:29:39 - 2023-06-19 02:32:54 - 2023-06-20 14:24:40 - 2023-06-22 09:27:59 - 2023-06-23 07:31:20 - 2023-06-23 21:06:55 - 2023-06-26 06:57:28 - 2023-06-28 17:08:12 - 2023-06-29 03:06:47 - 2023-06-30 12:25:41 - 2023-07-02 08:49:42 - 2023-07-03 20:09:26 - 2023-07-06 17:39:13 - 2023-07-09 00:18:52 - 2023-07-11 03:58:21 - 2023-07-12 22:37:00 - 2023-07-14 01:58:44 - 2023-07-16 20:21:13 - 2023-07-17 01:41:47 - 2023-07-19 10:06:35 - 2023-07-21 17:44:16 - 2023-07-22 02:46:04 - 2023-07-22 06:52:04 - 2023-07-23 04:53:49 - 2023-07-25 16:37:24 - 2023-07-27 18:34:33 - 2023-07-28 02:34:02 - 2023-07-29 19:53:32 - 2023-07-30 23:30:11 - 2023-08-02 17:46:22 - 2023-08-03 00:01:21 - 2023-08-03 03:57:56 - 2023-08-03 21:41:28 - 2023-08-04 23:37:31 - 2023-08-05 08:20:42 - 2023-08-07 21:01:55 - 2023-08-10 17:03:47 - 2023-08-11 21:06:31 - 2023-08-12 08:45:08 - 2023-08-13 07:09:39 - 2023-08-14 11:15:10 - 2023-08-16 04:15:48 - 2023-08-19 04:11:43 - 2023-08-19 10:10:27 - 2023-08-22 09:41:20 - 2023-08-24 10:27:08 - 2023-08-24 18:16:12 - 2023-08-25 17:02:28 - 2023-08-27 15:58:52 - 2023-08-27 23:29:53 - 2023-08-28 21:31:27 - 2023-08-29 03:35:29 - 2023-08-31 06:15:19 - 2023-09-01 21:56:52 - 2023-09-02 22:57:53 - 2023-09-05 03:28:30 - 2023-09-07 04:57:12 - 2023-09-09 19:16:05 - 2023-09-09 20:01:39 - 2023-09-11 03:23:22 - 2023-09-12 15:18:29 - 2023-09-13 14:14:43 - 2023-09-13 17:37:25 - 2023-09-14 18:17:49 - 2023-09-16 19:56:55 - 2023-09-18 14:21:02 - 2023-09-21 00:34:13 - 2023-09-23 07:14:06 - 2023-09-24 17:22:22 - 2023-09-27 12:42:54 - 2023-09-28 14:48:45 - 2023-10-01 11:54:24 - 2023-10-03 07:36:32 - 2023-10-05 05:13:57 - 2023-10-06 16:07:06 - 2023-10-09 00:03:52 - 2023-10-09 02:32:01 - 2023-10-10 16:39:07 - 2023-10-12 13:28:16 - 2023-10-14 04:29:14 - 2023-10-17 03:30:24 - 2023-10-20 03:13:15 - 2023-10-20 20:47:06 - 2023-10-21 13:59:34 - 2023-10-23 21:38:48 - 2023-10-24 06:07:13 - 2023-10-25 22:51:17 - 2023-10-26 21:12:50 - 2023-10-28 05:52:20 - 2023-10-29 22:11:01 - 2023-10-30 12:29:25 - 2023-11-02 02:52:55 - 2023-11-02 06:00:32 - 2023-11-03 08:39:06 - 2023-11-04 23:51:22 - 2023-11-07 16:11:33 - 2023-11-10 10:55:29 - 2023-11-12 01:20:18 - 2023-11-12 04:22:50 - 2023-11-12 08:38:58 - 2023-11-13 15:43:40 + 2021-10-21 13:18:23 +0000 + 2021-10-21 23:14:50 +0000 + 2021-10-23 01:06:02 +0000 + 2021-10-25 18:54:35 +0000 + 2021-10-26 02:22:17 +0000 + 2021-10-28 22:59:49 +0000 + 2021-10-30 15:02:25 +0000 + 2021-11-02 04:03:39 +0000 + 2021-11-04 22:41:23 +0000 + 2021-11-06 00:34:29 +0000 + 2021-11-06 23:56:16 +0000 + 2021-11-07 06:22:04 +0000 + 2021-11-07 19:46:08 +0000 + 2021-11-08 09:31:13 +0000 + 2021-11-09 17:22:03 +0000 + 2021-11-11 05:29:54 +0000 + 2021-11-13 09:41:04 +0000 + 2021-11-16 07:48:22 +0000 + 2021-11-16 12:43:44 +0000 + 2021-11-17 16:03:07 +0000 + 2021-11-20 02:39:01 +0000 + 2021-11-21 02:01:24 +0000 + 2021-11-23 19:24:43 +0000 + 2021-11-26 11:47:22 +0000 + 2021-11-28 06:30:04 +0000 + 2021-12-01 00:13:55 +0000 + 2021-12-03 19:10:16 +0000 + 2021-12-04 00:43:47 +0000 + 2021-12-06 20:15:35 +0000 + 2021-12-09 16:27:07 +0000 + 2021-12-10 15:28:48 +0000 + 2021-12-10 23:08:16 +0000 + 2021-12-11 23:09:08 +0000 + 2021-12-14 04:56:58 +0000 + 2021-12-14 14:00:56 +0000 + 2021-12-15 22:58:51 +0000 + 2021-12-16 01:28:21 +0000 + 2021-12-16 20:16:54 +0000 + 2021-12-19 00:34:04 +0000 + 2021-12-19 06:58:41 +0000 + 2021-12-21 11:13:53 +0000 + 2021-12-23 07:28:50 +0000 + 2021-12-23 07:57:58 +0000 + 2021-12-23 18:32:13 +0000 + 2021-12-24 01:17:51 +0000 + 2021-12-25 05:36:16 +0000 + 2021-12-25 23:21:57 +0000 + 2021-12-27 12:18:57 +0000 + 2021-12-28 16:59:57 +0000 + 2021-12-31 15:10:23 +0000 + 2022-01-01 19:18:06 +0000 + 2022-01-03 08:36:27 +0000 + 2022-01-03 23:31:01 +0000 + 2022-01-05 02:14:57 +0000 + 2022-01-06 09:26:03 +0000 + 2022-01-07 20:22:22 +0000 + 2022-01-10 04:04:28 +0000 + 2022-01-11 17:17:55 +0000 + 2022-01-14 05:21:54 +0000 + 2022-01-16 01:18:58 +0000 + 2022-01-18 08:42:56 +0000 + 2022-01-19 00:45:04 +0000 + 2022-01-20 08:18:54 +0000 + 2022-01-22 05:26:38 +0000 + 2022-01-24 10:57:50 +0000 + 2022-01-26 09:47:02 +0000 + 2022-01-28 20:44:30 +0000 + 2022-01-31 16:19:50 +0000 + 2022-02-01 21:23:58 +0000 + 2022-02-04 14:41:57 +0000 + 2022-02-06 20:40:06 +0000 + 2022-02-07 23:03:50 +0000 + 2022-02-09 05:28:08 +0000 + 2022-02-10 02:19:12 +0000 + 2022-02-11 07:51:30 +0000 + 2022-02-12 13:46:16 +0000 + 2022-02-13 21:06:40 +0000 + 2022-02-15 11:37:50 +0000 + 2022-02-18 11:23:15 +0000 + 2022-02-20 08:01:49 +0000 + 2022-02-23 03:00:30 +0000 + 2022-02-24 21:52:25 +0000 + 2022-02-25 12:07:56 +0000 + 2022-02-27 04:20:20 +0000 + 2022-02-28 21:09:42 +0000 + 2022-03-02 23:35:41 +0000 + 2022-03-04 00:42:10 +0000 + 2022-03-05 00:59:10 +0000 + 2022-03-06 19:58:01 +0000 + 2022-03-07 07:48:09 +0000 + 2022-03-09 06:08:00 +0000 + 2022-03-10 05:45:08 +0000 + 2022-03-12 21:16:31 +0000 + 2022-03-15 08:17:44 +0000 + 2022-03-16 03:37:03 +0000 + 2022-03-18 05:07:54 +0000 + 2022-03-20 04:05:26 +0000 + 2022-03-22 10:52:33 +0000 + 2022-03-23 15:26:54 +0000 + 2022-03-24 09:01:04 +0000 + 2022-03-24 23:53:07 +0000 + 2022-03-27 13:45:17 +0000 + 2022-03-28 19:57:00 +0000 + 2022-03-29 15:42:35 +0000 + 2022-03-29 18:20:32 +0000 + 2022-04-01 15:35:47 +0000 + 2022-04-02 06:33:31 +0000 + 2022-04-03 18:27:19 +0000 + 2022-04-03 23:44:08 +0000 + 2022-04-06 10:59:32 +0000 + 2022-04-07 01:33:53 +0000 + 2022-04-08 10:26:34 +0000 + 2022-04-10 19:21:08 +0000 + 2022-04-12 01:50:04 +0000 + 2022-04-14 19:56:29 +0000 + 2022-04-15 09:08:22 +0000 + 2022-04-16 07:58:47 +0000 + 2022-04-17 16:31:40 +0000 + 2022-04-20 09:50:22 +0000 + 2022-04-23 04:24:22 +0000 + 2022-04-25 07:18:04 +0000 + 2022-04-27 16:57:48 +0000 + 2022-04-29 18:48:09 +0000 + 2022-04-29 20:30:25 +0000 + 2022-05-02 03:44:25 +0000 + 2022-05-03 15:27:57 +0000 + 2022-05-04 08:11:15 +0000 + 2022-05-07 00:42:14 +0000 + 2022-05-09 15:23:31 +0000 + 2022-05-10 19:11:49 +0000 + 2022-05-11 14:04:17 +0000 + 2022-05-14 12:09:34 +0000 + 2022-05-15 13:31:54 +0000 + 2022-05-17 21:21:37 +0000 + 2022-05-19 01:27:43 +0000 + 2022-05-21 04:34:59 +0000 + 2022-05-23 11:05:18 +0000 + 2022-05-23 19:14:50 +0000 + 2022-05-26 13:16:18 +0000 + 2022-05-27 11:39:35 +0000 + 2022-05-29 07:09:07 +0000 + 2022-05-30 15:13:23 +0000 + 2022-06-01 04:18:40 +0000 + 2022-06-01 11:11:51 +0000 + 2022-06-01 12:45:06 +0000 + 2022-06-03 07:08:31 +0000 + 2022-06-04 23:28:11 +0000 + 2022-06-07 12:14:01 +0000 + 2022-06-08 13:32:22 +0000 + 2022-06-10 18:56:37 +0000 + 2022-06-12 16:00:09 +0000 + 2022-06-15 13:28:55 +0000 + 2022-06-16 18:42:37 +0000 + 2022-06-17 00:36:21 +0000 + 2022-06-18 16:21:27 +0000 + 2022-06-20 13:50:27 +0000 + 2022-06-22 09:43:55 +0000 + 2022-06-25 09:43:17 +0000 + 2022-06-27 06:51:01 +0000 + 2022-06-28 09:10:53 +0000 + 2022-06-30 18:46:16 +0000 + 2022-07-01 16:05:14 +0000 + 2022-07-02 14:02:12 +0000 + 2022-07-05 11:08:11 +0000 + 2022-07-05 12:44:38 +0000 + 2022-07-08 03:55:17 +0000 + 2022-07-08 18:02:14 +0000 + 2022-07-09 09:41:17 +0000 + 2022-07-11 07:34:51 +0000 + 2022-07-13 05:11:19 +0000 + 2022-07-15 02:46:56 +0000 + 2022-07-16 15:40:39 +0000 + 2022-07-17 19:44:15 +0000 + 2022-07-19 00:31:12 +0000 + 2022-07-21 21:58:24 +0000 + 2022-07-22 05:25:48 +0000 + 2022-07-22 18:33:04 +0000 + 2022-07-24 07:42:24 +0000 + 2022-07-25 07:21:20 +0000 + 2022-07-27 12:02:44 +0000 + 2022-07-29 03:29:28 +0000 + 2022-07-29 11:35:43 +0000 + 2022-07-30 05:25:21 +0000 + 2022-07-30 19:39:10 +0000 + 2022-07-31 18:54:58 +0000 + 2022-08-03 11:18:44 +0000 + 2022-08-05 00:37:47 +0000 + 2022-08-05 12:08:08 +0000 + 2022-08-07 14:39:19 +0000 + 2022-08-08 09:52:59 +0000 + 2022-08-09 13:48:29 +0000 + 2022-08-11 19:03:04 +0000 + 2022-08-13 01:56:49 +0000 + 2022-08-15 11:33:09 +0000 + 2022-08-17 23:37:45 +0000 + 2022-08-19 00:47:19 +0000 + 2022-08-19 01:01:12 +0000 + 2022-08-21 07:37:55 +0000 + 2022-08-21 21:42:15 +0000 + 2022-08-23 10:55:39 +0000 + 2022-08-25 16:20:29 +0000 + 2022-08-27 06:28:14 +0000 + 2022-08-27 13:12:57 +0000 + 2022-08-28 23:00:13 +0000 + 2022-08-31 05:19:56 +0000 + 2022-09-02 18:00:18 +0000 + 2022-09-04 12:02:47 +0000 + 2022-09-06 00:57:21 +0000 + 2022-09-08 04:26:01 +0000 + 2022-09-09 04:55:45 +0000 + 2022-09-11 22:59:36 +0000 + 2022-09-12 00:54:25 +0000 + 2022-09-12 17:44:24 +0000 + 2022-09-12 20:47:30 +0000 + 2022-09-15 11:39:20 +0000 + 2022-09-16 07:54:15 +0000 + 2022-09-17 08:06:29 +0000 + 2022-09-18 07:17:17 +0000 + 2022-09-19 08:39:55 +0000 + 2022-09-22 06:32:56 +0000 + 2022-09-22 21:26:29 +0000 + 2022-09-24 16:06:50 +0000 + 2022-09-27 05:50:18 +0000 + 2022-09-28 12:12:13 +0000 + 2022-09-29 21:13:01 +0000 + 2022-09-30 00:09:29 +0000 + 2022-10-02 04:35:07 +0000 + 2022-10-02 16:30:20 +0000 + 2022-10-04 10:35:59 +0000 + 2022-10-04 23:39:37 +0000 + 2022-10-07 23:25:10 +0000 + 2022-10-08 20:31:14 +0000 + 2022-10-09 07:30:41 +0000 + 2022-10-11 07:29:41 +0000 + 2022-10-11 08:00:58 +0000 + 2022-10-14 03:22:26 +0000 + 2022-10-16 14:47:54 +0000 + 2022-10-17 00:28:32 +0000 + 2022-10-19 10:46:33 +0000 + 2022-10-21 02:39:31 +0000 + 2022-10-21 19:24:24 +0000 + 2022-10-23 05:38:26 +0000 + 2022-10-25 13:28:28 +0000 + 2022-10-26 20:26:31 +0000 + 2022-10-29 12:43:40 +0000 + 2022-10-31 11:21:43 +0000 + 2022-11-03 04:42:32 +0000 + 2022-11-04 20:26:28 +0000 + 2022-11-05 15:08:01 +0000 + 2022-11-06 10:55:38 +0000 + 2022-11-07 04:13:28 +0000 + 2022-11-08 03:42:59 +0000 + 2022-11-10 13:56:10 +0000 + 2022-11-13 13:01:38 +0000 + 2022-11-15 02:04:32 +0000 + 2022-11-17 09:10:48 +0000 + 2022-11-19 11:37:01 +0000 + 2022-11-20 06:15:33 +0000 + 2022-11-22 08:35:41 +0000 + 2022-11-24 20:42:50 +0000 + 2022-11-25 17:45:48 +0000 + 2022-11-28 06:16:15 +0000 + 2022-11-28 18:12:24 +0000 + 2022-11-30 20:09:46 +0000 + 2022-12-01 03:29:43 +0000 + 2022-12-02 03:58:02 +0000 + 2022-12-02 19:47:06 +0000 + 2022-12-04 14:54:02 +0000 + 2022-12-06 02:22:58 +0000 + 2022-12-06 09:29:06 +0000 + 2022-12-06 17:16:19 +0000 + 2022-12-09 14:10:12 +0000 + 2022-12-11 19:54:41 +0000 + 2022-12-11 23:48:45 +0000 + 2022-12-12 12:05:28 +0000 + 2022-12-12 21:37:48 +0000 + 2022-12-15 05:08:10 +0000 + 2022-12-16 19:06:39 +0000 + 2022-12-18 21:49:36 +0000 + 2022-12-20 00:54:09 +0000 + 2022-12-22 21:51:31 +0000 + 2022-12-25 08:40:02 +0000 + 2022-12-26 22:01:45 +0000 + 2022-12-29 18:46:07 +0000 + 2023-01-01 01:55:31 +0000 + 2023-01-01 17:34:53 +0000 + 2023-01-04 09:05:13 +0000 + 2023-01-05 01:57:33 +0000 + 2023-01-06 08:56:47 +0000 + 2023-01-07 18:52:12 +0000 + 2023-01-08 00:43:40 +0000 + 2023-01-10 13:28:23 +0000 + 2023-01-13 10:22:38 +0000 + 2023-01-15 01:43:06 +0000 + 2023-01-15 04:30:52 +0000 + 2023-01-16 23:13:04 +0000 + 2023-01-19 17:16:31 +0000 + 2023-01-21 09:25:58 +0000 + 2023-01-23 09:42:42 +0000 + 2023-01-24 11:13:59 +0000 + 2023-01-25 00:57:26 +0000 + 2023-01-27 10:31:18 +0000 + 2023-01-28 07:08:54 +0000 + 2023-01-28 09:46:16 +0000 + 2023-01-30 04:34:32 +0000 + 2023-01-30 05:30:26 +0000 + 2023-01-31 08:08:44 +0000 + 2023-02-03 01:02:02 +0000 + 2023-02-03 10:02:38 +0000 + 2023-02-05 02:22:53 +0000 + 2023-02-05 05:55:46 +0000 + 2023-02-07 06:18:28 +0000 + 2023-02-08 13:57:28 +0000 + 2023-02-08 17:53:12 +0000 + 2023-02-10 08:40:27 +0000 + 2023-02-10 10:28:23 +0000 + 2023-02-12 15:42:42 +0000 + 2023-02-14 06:11:35 +0000 + 2023-02-14 12:22:06 +0000 + 2023-02-16 14:43:29 +0000 + 2023-02-16 15:58:19 +0000 + 2023-02-17 08:36:37 +0000 + 2023-02-19 04:20:36 +0000 + 2023-02-21 03:27:07 +0000 + 2023-02-22 09:09:23 +0000 + 2023-02-24 10:19:14 +0000 + 2023-02-26 13:28:50 +0000 + 2023-02-27 15:33:38 +0000 + 2023-03-01 14:48:42 +0000 + 2023-03-02 19:17:52 +0000 + 2023-03-03 09:48:41 +0000 + 2023-03-04 12:44:18 +0000 + 2023-03-06 18:24:47 +0000 + 2023-03-09 13:55:36 +0000 + 2023-03-11 13:50:26 +0000 + 2023-03-14 05:57:47 +0000 + 2023-03-14 09:16:38 +0000 + 2023-03-14 12:34:22 +0000 + 2023-03-14 15:15:53 +0000 + 2023-03-16 18:34:04 +0000 + 2023-03-19 13:01:38 +0000 + 2023-03-19 15:24:32 +0000 + 2023-03-20 14:56:28 +0000 + 2023-03-21 12:32:45 +0000 + 2023-03-23 22:16:22 +0000 + 2023-03-24 01:05:24 +0000 + 2023-03-26 12:01:36 +0000 + 2023-03-29 07:45:17 +0000 + 2023-04-01 06:03:31 +0000 + 2023-04-02 20:45:43 +0000 + 2023-04-03 05:33:10 +0000 + 2023-04-03 16:15:11 +0000 + 2023-04-05 14:56:49 +0000 + 2023-04-06 22:21:46 +0000 + 2023-04-08 19:50:51 +0000 + 2023-04-09 06:14:30 +0000 + 2023-04-09 11:26:27 +0000 + 2023-04-11 21:34:04 +0000 + 2023-04-14 08:51:06 +0000 + 2023-04-16 15:58:05 +0000 + 2023-04-17 03:06:43 +0000 + 2023-04-18 16:28:30 +0000 + 2023-04-18 17:32:38 +0000 + 2023-04-19 20:34:45 +0000 + 2023-04-22 06:16:01 +0000 + 2023-04-22 12:00:25 +0000 + 2023-04-24 21:12:27 +0000 + 2023-04-27 15:19:36 +0000 + 2023-04-29 00:43:46 +0000 + 2023-04-29 17:50:02 +0000 + 2023-04-30 05:22:14 +0000 + 2023-05-01 07:20:17 +0000 + 2023-05-03 05:11:16 +0000 + 2023-05-05 00:13:31 +0000 + 2023-05-05 12:08:33 +0000 + 2023-05-05 16:26:19 +0000 + 2023-05-07 23:53:00 +0000 + 2023-05-10 17:41:27 +0000 + 2023-05-12 01:37:24 +0000 + 2023-05-14 08:18:36 +0000 + 2023-05-16 15:17:43 +0000 + 2023-05-16 18:24:55 +0000 + 2023-05-19 16:16:45 +0000 + 2023-05-21 00:48:36 +0000 + 2023-05-22 00:54:41 +0000 + 2023-05-24 05:36:25 +0000 + 2023-05-25 10:05:39 +0000 + 2023-05-26 16:09:51 +0000 + 2023-05-29 12:40:29 +0000 + 2023-05-29 13:15:05 +0000 + 2023-05-31 15:28:14 +0000 + 2023-06-02 02:05:21 +0000 + 2023-06-02 13:05:50 +0000 + 2023-06-04 11:12:19 +0000 + 2023-06-05 10:04:34 +0000 + 2023-06-06 02:47:22 +0000 + 2023-06-07 04:35:17 +0000 + 2023-06-07 16:20:27 +0000 + 2023-06-08 07:43:14 +0000 + 2023-06-10 17:55:59 +0000 + 2023-06-12 17:00:02 +0000 + 2023-06-14 08:37:14 +0000 + 2023-06-14 18:07:30 +0000 + 2023-06-16 12:07:26 +0000 + 2023-06-18 22:29:39 +0000 + 2023-06-19 02:32:54 +0000 + 2023-06-20 14:24:40 +0000 + 2023-06-22 09:27:59 +0000 + 2023-06-23 07:31:20 +0000 + 2023-06-23 21:06:55 +0000 + 2023-06-26 06:57:28 +0000 + 2023-06-28 17:08:12 +0000 + 2023-06-29 03:06:47 +0000 + 2023-06-30 12:25:41 +0000 + 2023-07-02 08:49:42 +0000 + 2023-07-03 20:09:26 +0000 + 2023-07-06 17:39:13 +0000 + 2023-07-09 00:18:52 +0000 + 2023-07-11 03:58:21 +0000 + 2023-07-12 22:37:00 +0000 + 2023-07-14 01:58:44 +0000 + 2023-07-16 20:21:13 +0000 + 2023-07-17 01:41:47 +0000 + 2023-07-19 10:06:35 +0000 + 2023-07-21 17:44:16 +0000 + 2023-07-22 02:46:04 +0000 + 2023-07-22 06:52:04 +0000 + 2023-07-23 04:53:49 +0000 + 2023-07-25 16:37:24 +0000 + 2023-07-27 18:34:33 +0000 + 2023-07-28 02:34:02 +0000 + 2023-07-29 19:53:32 +0000 + 2023-07-30 23:30:11 +0000 + 2023-08-02 17:46:22 +0000 + 2023-08-03 00:01:21 +0000 + 2023-08-03 03:57:56 +0000 + 2023-08-03 21:41:28 +0000 + 2023-08-04 23:37:31 +0000 + 2023-08-05 08:20:42 +0000 + 2023-08-07 21:01:55 +0000 + 2023-08-10 17:03:47 +0000 + 2023-08-11 21:06:31 +0000 + 2023-08-12 08:45:08 +0000 + 2023-08-13 07:09:39 +0000 + 2023-08-14 11:15:10 +0000 + 2023-08-16 04:15:48 +0000 + 2023-08-19 04:11:43 +0000 + 2023-08-19 10:10:27 +0000 + 2023-08-22 09:41:20 +0000 + 2023-08-24 10:27:08 +0000 + 2023-08-24 18:16:12 +0000 + 2023-08-25 17:02:28 +0000 + 2023-08-27 15:58:52 +0000 + 2023-08-27 23:29:53 +0000 + 2023-08-28 21:31:27 +0000 + 2023-08-29 03:35:29 +0000 + 2023-08-31 06:15:19 +0000 + 2023-09-01 21:56:52 +0000 + 2023-09-02 22:57:53 +0000 + 2023-09-05 03:28:30 +0000 + 2023-09-07 04:57:12 +0000 + 2023-09-09 19:16:05 +0000 + 2023-09-09 20:01:39 +0000 + 2023-09-11 03:23:22 +0000 + 2023-09-12 15:18:29 +0000 + 2023-09-13 14:14:43 +0000 + 2023-09-13 17:37:25 +0000 + 2023-09-14 18:17:49 +0000 + 2023-09-16 19:56:55 +0000 + 2023-09-18 14:21:02 +0000 + 2023-09-21 00:34:13 +0000 + 2023-09-23 07:14:06 +0000 + 2023-09-24 17:22:22 +0000 + 2023-09-27 12:42:54 +0000 + 2023-09-28 14:48:45 +0000 + 2023-10-01 11:54:24 +0000 + 2023-10-03 07:36:32 +0000 + 2023-10-05 05:13:57 +0000 + 2023-10-06 16:07:06 +0000 + 2023-10-09 00:03:52 +0000 + 2023-10-09 02:32:01 +0000 + 2023-10-10 16:39:07 +0000 + 2023-10-12 13:28:16 +0000 + 2023-10-14 04:29:14 +0000 + 2023-10-17 03:30:24 +0000 + 2023-10-20 03:13:15 +0000 + 2023-10-20 20:47:06 +0000 + 2023-10-21 13:59:34 +0000 + 2023-10-23 21:38:48 +0000 + 2023-10-24 06:07:13 +0000 + 2023-10-25 22:51:17 +0000 + 2023-10-26 21:12:50 +0000 + 2023-10-28 05:52:20 +0000 + 2023-10-29 22:11:01 +0000 + 2023-10-30 12:29:25 +0000 + 2023-11-02 02:52:55 +0000 + 2023-11-02 06:00:32 +0000 + 2023-11-03 08:39:06 +0000 + 2023-11-04 23:51:22 +0000 + 2023-11-07 16:11:33 +0000 + 2023-11-10 10:55:29 +0000 + 2023-11-12 01:20:18 +0000 + 2023-11-12 04:22:50 +0000 + 2023-11-12 08:38:58 +0000 + 2023-11-13 15:43:40 +0000 TIMES # DB seed diff --git a/gem/lib/pagy/extras/calendar.rb b/gem/lib/pagy/extras/calendar.rb index a5f96b8ea..145f4eadf 100644 --- a/gem/lib/pagy/extras/calendar.rb +++ b/gem/lib/pagy/extras/calendar.rb @@ -21,7 +21,14 @@ def pagy_calendar(collection, conf) conf[:pagy] ||= {} unless conf.key?(:active) && !conf[:active] calendar, from, to = Calendar::Helper.send(:init, conf, pagy_calendar_period(collection), params) - collection = pagy_calendar_filter(collection, from, to) + if respond_to?(:pagy_calendar_counts) + calendar.each_key do |unit| + next unless Calendar::UNITS.include?(unit) + + calendar[unit].vars[:counts] = pagy_calendar_counts(collection, unit, *calendar[unit].vars[:period]) + end + end + collection = pagy_calendar_filter(collection, from, to) end pagy, results = send(conf[:pagy][:backend] || :pagy, collection, conf[:pagy]) # use backend: :pagy when omitted [calendar, pagy, results] @@ -40,6 +47,32 @@ def pagy_calendar_filter(*) end end + # Override the pagy_anchor + module FrontendOverride + # Consider the vars[:count] + def pagy_anchor(pagy) + return super unless (counts = pagy.vars[:counts]) + + a_string = pagy.vars[:anchor_string] + a_string = %( #{a_string}) if a_string + left, right = %(#{text}) + end + end + end + # Additions for the Frontend module module UrlHelperAddOn # Return the url for the calendar page at time @@ -49,5 +82,5 @@ def pagy_calendar_url_at(calendar, time, **opts) end end Backend.prepend CalendarExtra::BackendAddOn, CalendarExtra::UrlHelperAddOn - Frontend.prepend CalendarExtra::UrlHelperAddOn + Frontend.prepend CalendarExtra::UrlHelperAddOn, CalendarExtra::FrontendOverride end From 0546420714326702408445f4938913b8e13b6f43 Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Sat, 22 Jun 2024 16:27:58 +0700 Subject: [PATCH 06/16] Refactor calendar test environment to use activerecord --- gem/apps/calendar.ru | 5 +- gem/lib/pagy/frontend.rb | 2 +- test/files/.gitignore | 1 + test/files/calendar_collection.yml | 2022 ----------------------- test/files/db/calendar.sqlite3 | Bin 0 -> 53248 bytes test/files/db/calendar.sqlite3-wal | Bin 0 -> 4120032 bytes test/files/models.rb | 548 ++++++ test/mock_helpers/app.rb | 16 +- test/mock_helpers/collection.rb | 28 - test/pagy/extras/calendar_extra_test.rb | 198 ++- test/pagy/extras/headers_test.rb | 21 +- test/pagy/extras/items_test.rb | 1 - test/pagy/extras/metadata_test.rb | 8 +- 13 files changed, 687 insertions(+), 2163 deletions(-) create mode 100644 test/files/.gitignore delete mode 100644 test/files/calendar_collection.yml create mode 100644 test/files/db/calendar.sqlite3 create mode 100644 test/files/db/calendar.sqlite3-wal create mode 100644 test/files/models.rb diff --git a/gem/apps/calendar.ru b/gem/apps/calendar.ru index 8f45bad18..644a391c9 100644 --- a/gem/apps/calendar.ru +++ b/gem/apps/calendar.ru @@ -728,9 +728,8 @@ TIMES = <<~TIMES TIMES # DB seed -count = 0 -TIMES.each_line(chomp: true) do |time| - Event.create(title: "Event ##{count += 1}", time:) +TIMES.each_line(chomp: true).with_index do |time, i| + Event.create(title: "Event ##{i + 1}", time:) end # Down here to avoid logging the DB seed above at each restart diff --git a/gem/lib/pagy/frontend.rb b/gem/lib/pagy/frontend.rb index 772cc957f..69cd847f4 100644 --- a/gem/lib/pagy/frontend.rb +++ b/gem/lib/pagy/frontend.rb @@ -20,7 +20,7 @@ def pagy_nav(pagy, id: nil, aria_label: nil, **vars) a = pagy_anchor(pagy) html = %(#{ - prev_a(pagy, a)}) + prev_a(pagy, a)}) pagy.series(**vars).each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36] html << case item when Integer diff --git a/test/files/.gitignore b/test/files/.gitignore new file mode 100644 index 000000000..0a3b55407 --- /dev/null +++ b/test/files/.gitignore @@ -0,0 +1 @@ +db/calendar.sqlite3-shm diff --git a/test/files/calendar_collection.yml b/test/files/calendar_collection.yml deleted file mode 100644 index 3bf83b941..000000000 --- a/test/files/calendar_collection.yml +++ /dev/null @@ -1,2022 +0,0 @@ ---- -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 13:18:23.000000000 Z - zone: &1 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-10-21 13:18:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 23:14:50.000000000 Z - zone: *1 - time: 2021-10-21 23:14:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-23 01:06:02.000000000 Z - zone: *1 - time: 2021-10-23 01:06:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-25 18:54:35.000000000 Z - zone: *1 - time: 2021-10-25 18:54:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-26 02:22:17.000000000 Z - zone: *1 - time: 2021-10-26 02:22:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-28 22:59:49.000000000 Z - zone: *1 - time: 2021-10-28 22:59:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-30 15:02:25.000000000 Z - zone: *1 - time: 2021-10-30 15:02:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-02 04:03:39.000000000 Z - zone: *1 - time: 2021-11-02 04:03:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-04 22:41:23.000000000 Z - zone: *1 - time: 2021-11-04 22:41:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 00:34:29.000000000 Z - zone: *1 - time: 2021-11-06 00:34:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 23:56:16.000000000 Z - zone: *1 - time: 2021-11-06 23:56:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 06:22:04.000000000 Z - zone: *1 - time: 2021-11-07 06:22:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 19:46:08.000000000 Z - zone: *1 - time: 2021-11-07 19:46:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-08 09:31:13.000000000 Z - zone: *1 - time: 2021-11-08 09:31:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-09 17:22:03.000000000 Z - zone: *1 - time: 2021-11-09 17:22:03.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-11 05:29:54.000000000 Z - zone: *1 - time: 2021-11-11 05:29:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-13 09:41:04.000000000 Z - zone: *1 - time: 2021-11-13 09:41:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 07:48:22.000000000 Z - zone: *1 - time: 2021-11-16 07:48:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 12:43:44.000000000 Z - zone: *1 - time: 2021-11-16 12:43:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-17 16:03:07.000000000 Z - zone: *1 - time: 2021-11-17 16:03:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-20 02:39:01.000000000 Z - zone: *1 - time: 2021-11-20 02:39:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-21 02:01:24.000000000 Z - zone: *1 - time: 2021-11-21 02:01:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-23 19:24:43.000000000 Z - zone: *1 - time: 2021-11-23 19:24:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-26 11:47:22.000000000 Z - zone: *1 - time: 2021-11-26 11:47:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-28 06:30:04.000000000 Z - zone: *1 - time: 2021-11-28 06:30:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-01 00:13:55.000000000 Z - zone: *1 - time: 2021-12-01 00:13:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-03 19:10:16.000000000 Z - zone: *1 - time: 2021-12-03 19:10:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-04 00:43:47.000000000 Z - zone: *1 - time: 2021-12-04 00:43:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-06 20:15:35.000000000 Z - zone: *1 - time: 2021-12-06 20:15:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-09 16:27:07.000000000 Z - zone: *1 - time: 2021-12-09 16:27:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 15:28:48.000000000 Z - zone: *1 - time: 2021-12-10 15:28:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 23:08:16.000000000 Z - zone: *1 - time: 2021-12-10 23:08:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-11 23:09:08.000000000 Z - zone: *1 - time: 2021-12-11 23:09:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 04:56:58.000000000 Z - zone: *1 - time: 2021-12-14 04:56:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 14:00:56.000000000 Z - zone: *1 - time: 2021-12-14 14:00:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-15 22:58:51.000000000 Z - zone: *1 - time: 2021-12-15 22:58:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 01:28:21.000000000 Z - zone: *1 - time: 2021-12-16 01:28:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 20:16:54.000000000 Z - zone: *1 - time: 2021-12-16 20:16:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 00:34:04.000000000 Z - zone: *1 - time: 2021-12-19 00:34:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 06:58:41.000000000 Z - zone: *1 - time: 2021-12-19 06:58:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-21 11:13:53.000000000 Z - zone: *1 - time: 2021-12-21 11:13:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:28:50.000000000 Z - zone: *1 - time: 2021-12-23 07:28:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:57:58.000000000 Z - zone: *1 - time: 2021-12-23 07:57:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 18:32:13.000000000 Z - zone: *1 - time: 2021-12-23 18:32:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-24 01:17:51.000000000 Z - zone: *1 - time: 2021-12-24 01:17:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 05:36:16.000000000 Z - zone: *1 - time: 2021-12-25 05:36:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 23:21:57.000000000 Z - zone: *1 - time: 2021-12-25 23:21:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-27 12:18:57.000000000 Z - zone: *1 - time: 2021-12-27 12:18:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-28 16:59:57.000000000 Z - zone: *1 - time: 2021-12-28 16:59:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-31 15:10:23.000000000 Z - zone: *1 - time: 2021-12-31 15:10:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-01 19:18:06.000000000 Z - zone: *1 - time: 2022-01-01 19:18:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-03 08:36:27.000000000 Z - zone: *1 - time: 2022-01-03 08:36:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-03 23:31:01.000000000 Z - zone: *1 - time: 2022-01-03 23:31:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-05 02:14:57.000000000 Z - zone: *1 - time: 2022-01-05 02:14:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-06 09:26:03.000000000 Z - zone: *1 - time: 2022-01-06 09:26:03.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-07 20:22:22.000000000 Z - zone: *1 - time: 2022-01-07 20:22:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-10 04:04:28.000000000 Z - zone: *1 - time: 2022-01-10 04:04:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-11 17:17:55.000000000 Z - zone: *1 - time: 2022-01-11 17:17:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-14 05:21:54.000000000 Z - zone: *1 - time: 2022-01-14 05:21:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-16 01:18:58.000000000 Z - zone: *1 - time: 2022-01-16 01:18:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-18 08:42:56.000000000 Z - zone: *1 - time: 2022-01-18 08:42:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-19 00:45:04.000000000 Z - zone: *1 - time: 2022-01-19 00:45:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-20 08:18:54.000000000 Z - zone: *1 - time: 2022-01-20 08:18:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-22 05:26:38.000000000 Z - zone: *1 - time: 2022-01-22 05:26:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-24 10:57:50.000000000 Z - zone: *1 - time: 2022-01-24 10:57:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-26 09:47:02.000000000 Z - zone: *1 - time: 2022-01-26 09:47:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-28 20:44:30.000000000 Z - zone: *1 - time: 2022-01-28 20:44:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-31 16:19:50.000000000 Z - zone: *1 - time: 2022-01-31 16:19:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-01 21:23:58.000000000 Z - zone: *1 - time: 2022-02-01 21:23:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-04 14:41:57.000000000 Z - zone: *1 - time: 2022-02-04 14:41:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-06 20:40:06.000000000 Z - zone: *1 - time: 2022-02-06 20:40:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-07 23:03:50.000000000 Z - zone: *1 - time: 2022-02-07 23:03:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-09 05:28:08.000000000 Z - zone: *1 - time: 2022-02-09 05:28:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-10 02:19:12.000000000 Z - zone: *1 - time: 2022-02-10 02:19:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-11 07:51:30.000000000 Z - zone: *1 - time: 2022-02-11 07:51:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-12 13:46:16.000000000 Z - zone: *1 - time: 2022-02-12 13:46:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-13 21:06:40.000000000 Z - zone: *1 - time: 2022-02-13 21:06:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-15 11:37:50.000000000 Z - zone: *1 - time: 2022-02-15 11:37:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-18 11:23:15.000000000 Z - zone: *1 - time: 2022-02-18 11:23:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-20 08:01:49.000000000 Z - zone: *1 - time: 2022-02-20 08:01:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-23 03:00:30.000000000 Z - zone: *1 - time: 2022-02-23 03:00:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-24 21:52:25.000000000 Z - zone: *1 - time: 2022-02-24 21:52:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-25 12:07:56.000000000 Z - zone: *1 - time: 2022-02-25 12:07:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-27 04:20:20.000000000 Z - zone: *1 - time: 2022-02-27 04:20:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-28 21:09:42.000000000 Z - zone: *1 - time: 2022-02-28 21:09:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-02 23:35:41.000000000 Z - zone: *1 - time: 2022-03-02 23:35:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-04 00:42:10.000000000 Z - zone: *1 - time: 2022-03-04 00:42:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-05 00:59:10.000000000 Z - zone: *1 - time: 2022-03-05 00:59:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-06 19:58:01.000000000 Z - zone: *1 - time: 2022-03-06 19:58:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-07 07:48:09.000000000 Z - zone: *1 - time: 2022-03-07 07:48:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-09 06:08:00.000000000 Z - zone: *1 - time: 2022-03-09 06:08:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-10 05:45:08.000000000 Z - zone: *1 - time: 2022-03-10 05:45:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-12 21:16:31.000000000 Z - zone: *1 - time: 2022-03-12 21:16:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-15 08:17:44.000000000 Z - zone: *1 - time: 2022-03-15 08:17:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-16 03:37:03.000000000 Z - zone: *1 - time: 2022-03-16 03:37:03.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-18 05:07:54.000000000 Z - zone: *1 - time: 2022-03-18 05:07:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-20 04:05:26.000000000 Z - zone: *1 - time: 2022-03-20 04:05:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-22 10:52:33.000000000 Z - zone: *1 - time: 2022-03-22 10:52:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-23 15:26:54.000000000 Z - zone: *1 - time: 2022-03-23 15:26:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-24 09:01:04.000000000 Z - zone: *1 - time: 2022-03-24 09:01:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-24 23:53:07.000000000 Z - zone: *1 - time: 2022-03-24 23:53:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-27 13:45:17.000000000 Z - zone: *1 - time: 2022-03-27 13:45:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-28 19:57:00.000000000 Z - zone: *1 - time: 2022-03-28 19:57:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-29 15:42:35.000000000 Z - zone: *1 - time: 2022-03-29 15:42:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-29 18:20:32.000000000 Z - zone: *1 - time: 2022-03-29 18:20:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-01 15:35:47.000000000 Z - zone: *1 - time: 2022-04-01 15:35:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-02 06:33:31.000000000 Z - zone: *1 - time: 2022-04-02 06:33:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 18:27:19.000000000 Z - zone: *1 - time: 2022-04-03 18:27:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 23:44:08.000000000 Z - zone: *1 - time: 2022-04-03 23:44:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-06 10:59:32.000000000 Z - zone: *1 - time: 2022-04-06 10:59:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-07 01:33:53.000000000 Z - zone: *1 - time: 2022-04-07 01:33:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-08 10:26:34.000000000 Z - zone: *1 - time: 2022-04-08 10:26:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-10 19:21:08.000000000 Z - zone: *1 - time: 2022-04-10 19:21:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-12 01:50:04.000000000 Z - zone: *1 - time: 2022-04-12 01:50:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-14 19:56:29.000000000 Z - zone: *1 - time: 2022-04-14 19:56:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-15 09:08:22.000000000 Z - zone: *1 - time: 2022-04-15 09:08:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-16 07:58:47.000000000 Z - zone: *1 - time: 2022-04-16 07:58:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-17 16:31:40.000000000 Z - zone: *1 - time: 2022-04-17 16:31:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-20 09:50:22.000000000 Z - zone: *1 - time: 2022-04-20 09:50:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-23 04:24:22.000000000 Z - zone: *1 - time: 2022-04-23 04:24:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-25 07:18:04.000000000 Z - zone: *1 - time: 2022-04-25 07:18:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-27 16:57:48.000000000 Z - zone: *1 - time: 2022-04-27 16:57:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-29 18:48:09.000000000 Z - zone: *1 - time: 2022-04-29 18:48:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-29 20:30:25.000000000 Z - zone: *1 - time: 2022-04-29 20:30:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-02 03:44:25.000000000 Z - zone: *1 - time: 2022-05-02 03:44:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-03 15:27:57.000000000 Z - zone: *1 - time: 2022-05-03 15:27:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-04 08:11:15.000000000 Z - zone: *1 - time: 2022-05-04 08:11:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-07 00:42:14.000000000 Z - zone: *1 - time: 2022-05-07 00:42:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-09 15:23:31.000000000 Z - zone: *1 - time: 2022-05-09 15:23:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-10 19:11:49.000000000 Z - zone: *1 - time: 2022-05-10 19:11:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-11 14:04:17.000000000 Z - zone: *1 - time: 2022-05-11 14:04:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-14 12:09:34.000000000 Z - zone: *1 - time: 2022-05-14 12:09:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-15 13:31:54.000000000 Z - zone: *1 - time: 2022-05-15 13:31:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-17 21:21:37.000000000 Z - zone: *1 - time: 2022-05-17 21:21:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-19 01:27:43.000000000 Z - zone: *1 - time: 2022-05-19 01:27:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-21 04:34:59.000000000 Z - zone: *1 - time: 2022-05-21 04:34:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-23 11:05:18.000000000 Z - zone: *1 - time: 2022-05-23 11:05:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-23 19:14:50.000000000 Z - zone: *1 - time: 2022-05-23 19:14:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-26 13:16:18.000000000 Z - zone: *1 - time: 2022-05-26 13:16:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-27 11:39:35.000000000 Z - zone: *1 - time: 2022-05-27 11:39:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-29 07:09:07.000000000 Z - zone: *1 - time: 2022-05-29 07:09:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-30 15:13:23.000000000 Z - zone: *1 - time: 2022-05-30 15:13:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 04:18:40.000000000 Z - zone: *1 - time: 2022-06-01 04:18:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 11:11:51.000000000 Z - zone: *1 - time: 2022-06-01 11:11:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 12:45:06.000000000 Z - zone: *1 - time: 2022-06-01 12:45:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-03 07:08:31.000000000 Z - zone: *1 - time: 2022-06-03 07:08:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-04 23:28:11.000000000 Z - zone: *1 - time: 2022-06-04 23:28:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-07 12:14:01.000000000 Z - zone: *1 - time: 2022-06-07 12:14:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-08 13:32:22.000000000 Z - zone: *1 - time: 2022-06-08 13:32:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-10 18:56:37.000000000 Z - zone: *1 - time: 2022-06-10 18:56:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-12 16:00:09.000000000 Z - zone: *1 - time: 2022-06-12 16:00:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-15 13:28:55.000000000 Z - zone: *1 - time: 2022-06-15 13:28:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-16 18:42:37.000000000 Z - zone: *1 - time: 2022-06-16 18:42:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-17 00:36:21.000000000 Z - zone: *1 - time: 2022-06-17 00:36:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-18 16:21:27.000000000 Z - zone: *1 - time: 2022-06-18 16:21:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-20 13:50:27.000000000 Z - zone: *1 - time: 2022-06-20 13:50:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-22 09:43:55.000000000 Z - zone: *1 - time: 2022-06-22 09:43:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-25 09:43:17.000000000 Z - zone: *1 - time: 2022-06-25 09:43:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-27 06:51:01.000000000 Z - zone: *1 - time: 2022-06-27 06:51:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-28 09:10:53.000000000 Z - zone: *1 - time: 2022-06-28 09:10:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-30 18:46:16.000000000 Z - zone: *1 - time: 2022-06-30 18:46:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-01 16:05:14.000000000 Z - zone: *1 - time: 2022-07-01 16:05:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-02 14:02:12.000000000 Z - zone: *1 - time: 2022-07-02 14:02:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 11:08:11.000000000 Z - zone: *1 - time: 2022-07-05 11:08:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 12:44:38.000000000 Z - zone: *1 - time: 2022-07-05 12:44:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 03:55:17.000000000 Z - zone: *1 - time: 2022-07-08 03:55:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 18:02:14.000000000 Z - zone: *1 - time: 2022-07-08 18:02:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-09 09:41:17.000000000 Z - zone: *1 - time: 2022-07-09 09:41:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-11 07:34:51.000000000 Z - zone: *1 - time: 2022-07-11 07:34:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-13 05:11:19.000000000 Z - zone: *1 - time: 2022-07-13 05:11:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-15 02:46:56.000000000 Z - zone: *1 - time: 2022-07-15 02:46:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-16 15:40:39.000000000 Z - zone: *1 - time: 2022-07-16 15:40:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-17 19:44:15.000000000 Z - zone: *1 - time: 2022-07-17 19:44:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-19 00:31:12.000000000 Z - zone: *1 - time: 2022-07-19 00:31:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-21 21:58:24.000000000 Z - zone: *1 - time: 2022-07-21 21:58:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 05:25:48.000000000 Z - zone: *1 - time: 2022-07-22 05:25:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 18:33:04.000000000 Z - zone: *1 - time: 2022-07-22 18:33:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-24 07:42:24.000000000 Z - zone: *1 - time: 2022-07-24 07:42:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-25 07:21:20.000000000 Z - zone: *1 - time: 2022-07-25 07:21:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-27 12:02:44.000000000 Z - zone: *1 - time: 2022-07-27 12:02:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 03:29:28.000000000 Z - zone: *1 - time: 2022-07-29 03:29:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 11:35:43.000000000 Z - zone: *1 - time: 2022-07-29 11:35:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 05:25:21.000000000 Z - zone: *1 - time: 2022-07-30 05:25:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 19:39:10.000000000 Z - zone: *1 - time: 2022-07-30 19:39:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-31 18:54:58.000000000 Z - zone: *1 - time: 2022-07-31 18:54:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-03 11:18:44.000000000 Z - zone: *1 - time: 2022-08-03 11:18:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 00:37:47.000000000 Z - zone: *1 - time: 2022-08-05 00:37:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 12:08:08.000000000 Z - zone: *1 - time: 2022-08-05 12:08:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-07 14:39:19.000000000 Z - zone: *1 - time: 2022-08-07 14:39:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-08 09:52:59.000000000 Z - zone: *1 - time: 2022-08-08 09:52:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-09 13:48:29.000000000 Z - zone: *1 - time: 2022-08-09 13:48:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-11 19:03:04.000000000 Z - zone: *1 - time: 2022-08-11 19:03:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-13 01:56:49.000000000 Z - zone: *1 - time: 2022-08-13 01:56:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-15 11:33:09.000000000 Z - zone: *1 - time: 2022-08-15 11:33:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-17 23:37:45.000000000 Z - zone: *1 - time: 2022-08-17 23:37:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 00:47:19.000000000 Z - zone: *1 - time: 2022-08-19 00:47:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 01:01:12.000000000 Z - zone: *1 - time: 2022-08-19 01:01:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 07:37:55.000000000 Z - zone: *1 - time: 2022-08-21 07:37:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 21:42:15.000000000 Z - zone: *1 - time: 2022-08-21 21:42:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-23 10:55:39.000000000 Z - zone: *1 - time: 2022-08-23 10:55:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-25 16:20:29.000000000 Z - zone: *1 - time: 2022-08-25 16:20:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 06:28:14.000000000 Z - zone: *1 - time: 2022-08-27 06:28:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 13:12:57.000000000 Z - zone: *1 - time: 2022-08-27 13:12:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-28 23:00:13.000000000 Z - zone: *1 - time: 2022-08-28 23:00:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-31 05:19:56.000000000 Z - zone: *1 - time: 2022-08-31 05:19:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-02 18:00:18.000000000 Z - zone: *1 - time: 2022-09-02 18:00:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-04 12:02:47.000000000 Z - zone: *1 - time: 2022-09-04 12:02:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-06 00:57:21.000000000 Z - zone: *1 - time: 2022-09-06 00:57:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-08 04:26:01.000000000 Z - zone: *1 - time: 2022-09-08 04:26:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-09 04:55:45.000000000 Z - zone: *1 - time: 2022-09-09 04:55:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-11 22:59:36.000000000 Z - zone: *1 - time: 2022-09-11 22:59:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 00:54:25.000000000 Z - zone: *1 - time: 2022-09-12 00:54:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 17:44:24.000000000 Z - zone: *1 - time: 2022-09-12 17:44:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 20:47:30.000000000 Z - zone: *1 - time: 2022-09-12 20:47:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-15 11:39:20.000000000 Z - zone: *1 - time: 2022-09-15 11:39:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-16 07:54:15.000000000 Z - zone: *1 - time: 2022-09-16 07:54:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-17 08:06:29.000000000 Z - zone: *1 - time: 2022-09-17 08:06:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-18 07:17:17.000000000 Z - zone: *1 - time: 2022-09-18 07:17:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-19 08:39:55.000000000 Z - zone: *1 - time: 2022-09-19 08:39:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 06:32:56.000000000 Z - zone: *1 - time: 2022-09-22 06:32:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 21:26:29.000000000 Z - zone: *1 - time: 2022-09-22 21:26:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-24 16:06:50.000000000 Z - zone: *1 - time: 2022-09-24 16:06:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-27 05:50:18.000000000 Z - zone: *1 - time: 2022-09-27 05:50:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-28 12:12:13.000000000 Z - zone: *1 - time: 2022-09-28 12:12:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-29 21:13:01.000000000 Z - zone: *1 - time: 2022-09-29 21:13:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-30 00:09:29.000000000 Z - zone: *1 - time: 2022-09-30 00:09:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-02 04:35:07.000000000 Z - zone: *1 - time: 2022-10-02 04:35:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-02 16:30:20.000000000 Z - zone: *1 - time: 2022-10-02 16:30:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-04 10:35:59.000000000 Z - zone: *1 - time: 2022-10-04 10:35:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-04 23:39:37.000000000 Z - zone: *1 - time: 2022-10-04 23:39:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-07 23:25:10.000000000 Z - zone: *1 - time: 2022-10-07 23:25:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-08 20:31:14.000000000 Z - zone: *1 - time: 2022-10-08 20:31:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-09 07:30:41.000000000 Z - zone: *1 - time: 2022-10-09 07:30:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-11 07:29:41.000000000 Z - zone: *1 - time: 2022-10-11 07:29:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-11 08:00:58.000000000 Z - zone: *1 - time: 2022-10-11 08:00:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-14 03:22:26.000000000 Z - zone: *1 - time: 2022-10-14 03:22:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-16 14:47:54.000000000 Z - zone: *1 - time: 2022-10-16 14:47:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-17 00:28:32.000000000 Z - zone: *1 - time: 2022-10-17 00:28:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-19 10:46:33.000000000 Z - zone: *1 - time: 2022-10-19 10:46:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-21 02:39:31.000000000 Z - zone: *1 - time: 2022-10-21 02:39:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-21 19:24:24.000000000 Z - zone: *1 - time: 2022-10-21 19:24:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-23 05:38:26.000000000 Z - zone: *1 - time: 2022-10-23 05:38:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-25 13:28:28.000000000 Z - zone: *1 - time: 2022-10-25 13:28:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-26 20:26:31.000000000 Z - zone: *1 - time: 2022-10-26 20:26:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-29 12:43:40.000000000 Z - zone: *1 - time: 2022-10-29 12:43:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-31 11:21:43.000000000 Z - zone: *1 - time: 2022-10-31 11:21:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-03 04:42:32.000000000 Z - zone: *1 - time: 2022-11-03 04:42:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-04 20:26:28.000000000 Z - zone: *1 - time: 2022-11-04 20:26:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-05 15:08:01.000000000 Z - zone: *1 - time: 2022-11-05 15:08:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-06 10:55:38.000000000 Z - zone: *1 - time: 2022-11-06 10:55:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-07 04:13:28.000000000 Z - zone: *1 - time: 2022-11-07 04:13:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-08 03:42:59.000000000 Z - zone: *1 - time: 2022-11-08 03:42:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-10 13:56:10.000000000 Z - zone: *1 - time: 2022-11-10 13:56:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-13 13:01:38.000000000 Z - zone: *1 - time: 2022-11-13 13:01:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-15 02:04:32.000000000 Z - zone: *1 - time: 2022-11-15 02:04:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-17 09:10:48.000000000 Z - zone: *1 - time: 2022-11-17 09:10:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-19 11:37:01.000000000 Z - zone: *1 - time: 2022-11-19 11:37:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-20 06:15:33.000000000 Z - zone: *1 - time: 2022-11-20 06:15:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-22 08:35:41.000000000 Z - zone: *1 - time: 2022-11-22 08:35:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-24 20:42:50.000000000 Z - zone: *1 - time: 2022-11-24 20:42:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-25 17:45:48.000000000 Z - zone: *1 - time: 2022-11-25 17:45:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-28 06:16:15.000000000 Z - zone: *1 - time: 2022-11-28 06:16:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-28 18:12:24.000000000 Z - zone: *1 - time: 2022-11-28 18:12:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-30 20:09:46.000000000 Z - zone: *1 - time: 2022-11-30 20:09:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-01 03:29:43.000000000 Z - zone: *1 - time: 2022-12-01 03:29:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-02 03:58:02.000000000 Z - zone: *1 - time: 2022-12-02 03:58:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-02 19:47:06.000000000 Z - zone: *1 - time: 2022-12-02 19:47:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-04 14:54:02.000000000 Z - zone: *1 - time: 2022-12-04 14:54:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 02:22:58.000000000 Z - zone: *1 - time: 2022-12-06 02:22:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 09:29:06.000000000 Z - zone: *1 - time: 2022-12-06 09:29:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 17:16:19.000000000 Z - zone: *1 - time: 2022-12-06 17:16:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-09 14:10:12.000000000 Z - zone: *1 - time: 2022-12-09 14:10:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-11 19:54:41.000000000 Z - zone: *1 - time: 2022-12-11 19:54:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-11 23:48:45.000000000 Z - zone: *1 - time: 2022-12-11 23:48:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-12 12:05:28.000000000 Z - zone: *1 - time: 2022-12-12 12:05:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-12 21:37:48.000000000 Z - zone: *1 - time: 2022-12-12 21:37:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-15 05:08:10.000000000 Z - zone: *1 - time: 2022-12-15 05:08:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-16 19:06:39.000000000 Z - zone: *1 - time: 2022-12-16 19:06:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-18 21:49:36.000000000 Z - zone: *1 - time: 2022-12-18 21:49:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-20 00:54:09.000000000 Z - zone: *1 - time: 2022-12-20 00:54:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-22 21:51:31.000000000 Z - zone: *1 - time: 2022-12-22 21:51:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-25 08:40:02.000000000 Z - zone: *1 - time: 2022-12-25 08:40:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-26 22:01:45.000000000 Z - zone: *1 - time: 2022-12-26 22:01:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-29 18:46:07.000000000 Z - zone: *1 - time: 2022-12-29 18:46:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-01 01:55:31.000000000 Z - zone: *1 - time: 2023-01-01 01:55:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-01 17:34:53.000000000 Z - zone: *1 - time: 2023-01-01 17:34:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-04 09:05:13.000000000 Z - zone: *1 - time: 2023-01-04 09:05:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-05 01:57:33.000000000 Z - zone: *1 - time: 2023-01-05 01:57:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-06 08:56:47.000000000 Z - zone: *1 - time: 2023-01-06 08:56:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-07 18:52:12.000000000 Z - zone: *1 - time: 2023-01-07 18:52:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-08 00:43:40.000000000 Z - zone: *1 - time: 2023-01-08 00:43:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-10 13:28:23.000000000 Z - zone: *1 - time: 2023-01-10 13:28:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-13 10:22:38.000000000 Z - zone: *1 - time: 2023-01-13 10:22:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-15 01:43:06.000000000 Z - zone: *1 - time: 2023-01-15 01:43:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-15 04:30:52.000000000 Z - zone: *1 - time: 2023-01-15 04:30:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-16 23:13:04.000000000 Z - zone: *1 - time: 2023-01-16 23:13:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-19 17:16:31.000000000 Z - zone: *1 - time: 2023-01-19 17:16:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-21 09:25:58.000000000 Z - zone: *1 - time: 2023-01-21 09:25:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-23 09:42:42.000000000 Z - zone: *1 - time: 2023-01-23 09:42:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-24 11:13:59.000000000 Z - zone: *1 - time: 2023-01-24 11:13:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-25 00:57:26.000000000 Z - zone: *1 - time: 2023-01-25 00:57:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-27 10:31:18.000000000 Z - zone: *1 - time: 2023-01-27 10:31:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-28 07:08:54.000000000 Z - zone: *1 - time: 2023-01-28 07:08:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-28 09:46:16.000000000 Z - zone: *1 - time: 2023-01-28 09:46:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-30 04:34:32.000000000 Z - zone: *1 - time: 2023-01-30 04:34:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-30 05:30:26.000000000 Z - zone: *1 - time: 2023-01-30 05:30:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-31 08:08:44.000000000 Z - zone: *1 - time: 2023-01-31 08:08:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-03 01:02:02.000000000 Z - zone: *1 - time: 2023-02-03 01:02:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-03 10:02:38.000000000 Z - zone: *1 - time: 2023-02-03 10:02:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-05 02:22:53.000000000 Z - zone: *1 - time: 2023-02-05 02:22:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-05 05:55:46.000000000 Z - zone: *1 - time: 2023-02-05 05:55:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-07 06:18:28.000000000 Z - zone: *1 - time: 2023-02-07 06:18:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-08 13:57:28.000000000 Z - zone: *1 - time: 2023-02-08 13:57:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-08 17:53:12.000000000 Z - zone: *1 - time: 2023-02-08 17:53:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-10 08:40:27.000000000 Z - zone: *1 - time: 2023-02-10 08:40:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-10 10:28:23.000000000 Z - zone: *1 - time: 2023-02-10 10:28:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-12 15:42:42.000000000 Z - zone: *1 - time: 2023-02-12 15:42:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-14 06:11:35.000000000 Z - zone: *1 - time: 2023-02-14 06:11:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-14 12:22:06.000000000 Z - zone: *1 - time: 2023-02-14 12:22:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-16 14:43:29.000000000 Z - zone: *1 - time: 2023-02-16 14:43:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-16 15:58:19.000000000 Z - zone: *1 - time: 2023-02-16 15:58:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-17 08:36:37.000000000 Z - zone: *1 - time: 2023-02-17 08:36:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-19 04:20:36.000000000 Z - zone: *1 - time: 2023-02-19 04:20:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-21 03:27:07.000000000 Z - zone: *1 - time: 2023-02-21 03:27:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-22 09:09:23.000000000 Z - zone: *1 - time: 2023-02-22 09:09:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-24 10:19:14.000000000 Z - zone: *1 - time: 2023-02-24 10:19:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-26 13:28:50.000000000 Z - zone: *1 - time: 2023-02-26 13:28:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-27 15:33:38.000000000 Z - zone: *1 - time: 2023-02-27 15:33:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-01 14:48:42.000000000 Z - zone: *1 - time: 2023-03-01 14:48:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-02 19:17:52.000000000 Z - zone: *1 - time: 2023-03-02 19:17:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-03 09:48:41.000000000 Z - zone: *1 - time: 2023-03-03 09:48:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-04 12:44:18.000000000 Z - zone: *1 - time: 2023-03-04 12:44:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-06 18:24:47.000000000 Z - zone: *1 - time: 2023-03-06 18:24:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-09 13:55:36.000000000 Z - zone: *1 - time: 2023-03-09 13:55:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-11 13:50:26.000000000 Z - zone: *1 - time: 2023-03-11 13:50:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 05:57:47.000000000 Z - zone: *1 - time: 2023-03-14 05:57:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 09:16:38.000000000 Z - zone: *1 - time: 2023-03-14 09:16:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 12:34:22.000000000 Z - zone: *1 - time: 2023-03-14 12:34:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 15:15:53.000000000 Z - zone: *1 - time: 2023-03-14 15:15:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-16 18:34:04.000000000 Z - zone: *1 - time: 2023-03-16 18:34:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-19 13:01:38.000000000 Z - zone: *1 - time: 2023-03-19 13:01:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-19 15:24:32.000000000 Z - zone: *1 - time: 2023-03-19 15:24:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-20 14:56:28.000000000 Z - zone: *1 - time: 2023-03-20 14:56:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-21 12:32:45.000000000 Z - zone: *1 - time: 2023-03-21 12:32:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-23 22:16:22.000000000 Z - zone: *1 - time: 2023-03-23 22:16:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-24 01:05:24.000000000 Z - zone: *1 - time: 2023-03-24 01:05:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-26 12:01:36.000000000 Z - zone: *1 - time: 2023-03-26 12:01:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-29 07:45:17.000000000 Z - zone: *1 - time: 2023-03-29 07:45:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-01 06:03:31.000000000 Z - zone: *1 - time: 2023-04-01 06:03:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-02 20:45:43.000000000 Z - zone: *1 - time: 2023-04-02 20:45:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-03 05:33:10.000000000 Z - zone: *1 - time: 2023-04-03 05:33:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-03 16:15:11.000000000 Z - zone: *1 - time: 2023-04-03 16:15:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-05 14:56:49.000000000 Z - zone: *1 - time: 2023-04-05 14:56:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-06 22:21:46.000000000 Z - zone: *1 - time: 2023-04-06 22:21:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-08 19:50:51.000000000 Z - zone: *1 - time: 2023-04-08 19:50:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-09 06:14:30.000000000 Z - zone: *1 - time: 2023-04-09 06:14:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-09 11:26:27.000000000 Z - zone: *1 - time: 2023-04-09 11:26:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-11 21:34:04.000000000 Z - zone: *1 - time: 2023-04-11 21:34:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-14 08:51:06.000000000 Z - zone: *1 - time: 2023-04-14 08:51:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-16 15:58:05.000000000 Z - zone: *1 - time: 2023-04-16 15:58:05.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-17 03:06:43.000000000 Z - zone: *1 - time: 2023-04-17 03:06:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-18 16:28:30.000000000 Z - zone: *1 - time: 2023-04-18 16:28:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-18 17:32:38.000000000 Z - zone: *1 - time: 2023-04-18 17:32:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-19 20:34:45.000000000 Z - zone: *1 - time: 2023-04-19 20:34:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-22 06:16:01.000000000 Z - zone: *1 - time: 2023-04-22 06:16:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-22 12:00:25.000000000 Z - zone: *1 - time: 2023-04-22 12:00:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-24 21:12:27.000000000 Z - zone: *1 - time: 2023-04-24 21:12:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-27 15:19:36.000000000 Z - zone: *1 - time: 2023-04-27 15:19:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-29 00:43:46.000000000 Z - zone: *1 - time: 2023-04-29 00:43:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-29 17:50:02.000000000 Z - zone: *1 - time: 2023-04-29 17:50:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-30 05:22:14.000000000 Z - zone: *1 - time: 2023-04-30 05:22:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-01 07:20:17.000000000 Z - zone: *1 - time: 2023-05-01 07:20:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-03 05:11:16.000000000 Z - zone: *1 - time: 2023-05-03 05:11:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 00:13:31.000000000 Z - zone: *1 - time: 2023-05-05 00:13:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 12:08:33.000000000 Z - zone: *1 - time: 2023-05-05 12:08:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 16:26:19.000000000 Z - zone: *1 - time: 2023-05-05 16:26:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-07 23:53:00.000000000 Z - zone: *1 - time: 2023-05-07 23:53:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-10 17:41:27.000000000 Z - zone: *1 - time: 2023-05-10 17:41:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-12 01:37:24.000000000 Z - zone: *1 - time: 2023-05-12 01:37:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-14 08:18:36.000000000 Z - zone: *1 - time: 2023-05-14 08:18:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-16 15:17:43.000000000 Z - zone: *1 - time: 2023-05-16 15:17:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-16 18:24:55.000000000 Z - zone: *1 - time: 2023-05-16 18:24:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-19 16:16:45.000000000 Z - zone: *1 - time: 2023-05-19 16:16:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-21 00:48:36.000000000 Z - zone: *1 - time: 2023-05-21 00:48:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-22 00:54:41.000000000 Z - zone: *1 - time: 2023-05-22 00:54:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-24 05:36:25.000000000 Z - zone: *1 - time: 2023-05-24 05:36:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-25 10:05:39.000000000 Z - zone: *1 - time: 2023-05-25 10:05:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-26 16:09:51.000000000 Z - zone: *1 - time: 2023-05-26 16:09:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-29 12:40:29.000000000 Z - zone: *1 - time: 2023-05-29 12:40:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-29 13:15:05.000000000 Z - zone: *1 - time: 2023-05-29 13:15:05.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-31 15:28:14.000000000 Z - zone: *1 - time: 2023-05-31 15:28:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-02 02:05:21.000000000 Z - zone: *1 - time: 2023-06-02 02:05:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-02 13:05:50.000000000 Z - zone: *1 - time: 2023-06-02 13:05:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-04 11:12:19.000000000 Z - zone: *1 - time: 2023-06-04 11:12:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-05 10:04:34.000000000 Z - zone: *1 - time: 2023-06-05 10:04:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-06 02:47:22.000000000 Z - zone: *1 - time: 2023-06-06 02:47:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-07 04:35:17.000000000 Z - zone: *1 - time: 2023-06-07 04:35:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-07 16:20:27.000000000 Z - zone: *1 - time: 2023-06-07 16:20:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-08 07:43:14.000000000 Z - zone: *1 - time: 2023-06-08 07:43:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-10 17:55:59.000000000 Z - zone: *1 - time: 2023-06-10 17:55:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-12 17:00:02.000000000 Z - zone: *1 - time: 2023-06-12 17:00:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-14 08:37:14.000000000 Z - zone: *1 - time: 2023-06-14 08:37:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-14 18:07:30.000000000 Z - zone: *1 - time: 2023-06-14 18:07:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-16 12:07:26.000000000 Z - zone: *1 - time: 2023-06-16 12:07:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-18 22:29:39.000000000 Z - zone: *1 - time: 2023-06-18 22:29:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-19 02:32:54.000000000 Z - zone: *1 - time: 2023-06-19 02:32:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-20 14:24:40.000000000 Z - zone: *1 - time: 2023-06-20 14:24:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-22 09:27:59.000000000 Z - zone: *1 - time: 2023-06-22 09:27:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-23 07:31:20.000000000 Z - zone: *1 - time: 2023-06-23 07:31:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-23 21:06:55.000000000 Z - zone: *1 - time: 2023-06-23 21:06:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-26 06:57:28.000000000 Z - zone: *1 - time: 2023-06-26 06:57:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-28 17:08:12.000000000 Z - zone: *1 - time: 2023-06-28 17:08:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-29 03:06:47.000000000 Z - zone: *1 - time: 2023-06-29 03:06:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-30 12:25:41.000000000 Z - zone: *1 - time: 2023-06-30 12:25:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-02 08:49:42.000000000 Z - zone: *1 - time: 2023-07-02 08:49:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-03 20:09:26.000000000 Z - zone: *1 - time: 2023-07-03 20:09:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-06 17:39:13.000000000 Z - zone: *1 - time: 2023-07-06 17:39:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-09 00:18:52.000000000 Z - zone: *1 - time: 2023-07-09 00:18:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-11 03:58:21.000000000 Z - zone: *1 - time: 2023-07-11 03:58:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-12 22:37:00.000000000 Z - zone: *1 - time: 2023-07-12 22:37:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-14 01:58:44.000000000 Z - zone: *1 - time: 2023-07-14 01:58:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-16 20:21:13.000000000 Z - zone: *1 - time: 2023-07-16 20:21:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-17 01:41:47.000000000 Z - zone: *1 - time: 2023-07-17 01:41:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-19 10:06:35.000000000 Z - zone: *1 - time: 2023-07-19 10:06:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-21 17:44:16.000000000 Z - zone: *1 - time: 2023-07-21 17:44:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-22 02:46:04.000000000 Z - zone: *1 - time: 2023-07-22 02:46:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-22 06:52:04.000000000 Z - zone: *1 - time: 2023-07-22 06:52:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-23 04:53:49.000000000 Z - zone: *1 - time: 2023-07-23 04:53:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-25 16:37:24.000000000 Z - zone: *1 - time: 2023-07-25 16:37:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-27 18:34:33.000000000 Z - zone: *1 - time: 2023-07-27 18:34:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-28 02:34:02.000000000 Z - zone: *1 - time: 2023-07-28 02:34:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-29 19:53:32.000000000 Z - zone: *1 - time: 2023-07-29 19:53:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-30 23:30:11.000000000 Z - zone: *1 - time: 2023-07-30 23:30:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-02 17:46:22.000000000 Z - zone: *1 - time: 2023-08-02 17:46:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 00:01:21.000000000 Z - zone: *1 - time: 2023-08-03 00:01:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 03:57:56.000000000 Z - zone: *1 - time: 2023-08-03 03:57:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 21:41:28.000000000 Z - zone: *1 - time: 2023-08-03 21:41:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-04 23:37:31.000000000 Z - zone: *1 - time: 2023-08-04 23:37:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-05 08:20:42.000000000 Z - zone: *1 - time: 2023-08-05 08:20:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-07 21:01:55.000000000 Z - zone: *1 - time: 2023-08-07 21:01:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-10 17:03:47.000000000 Z - zone: *1 - time: 2023-08-10 17:03:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-11 21:06:31.000000000 Z - zone: *1 - time: 2023-08-11 21:06:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-12 08:45:08.000000000 Z - zone: *1 - time: 2023-08-12 08:45:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-13 07:09:39.000000000 Z - zone: *1 - time: 2023-08-13 07:09:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-14 11:15:10.000000000 Z - zone: *1 - time: 2023-08-14 11:15:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-16 04:15:48.000000000 Z - zone: *1 - time: 2023-08-16 04:15:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-19 04:11:43.000000000 Z - zone: *1 - time: 2023-08-19 04:11:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-19 10:10:27.000000000 Z - zone: *1 - time: 2023-08-19 10:10:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-22 09:41:20.000000000 Z - zone: *1 - time: 2023-08-22 09:41:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-24 10:27:08.000000000 Z - zone: *1 - time: 2023-08-24 10:27:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-24 18:16:12.000000000 Z - zone: *1 - time: 2023-08-24 18:16:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-25 17:02:28.000000000 Z - zone: *1 - time: 2023-08-25 17:02:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-27 15:58:52.000000000 Z - zone: *1 - time: 2023-08-27 15:58:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-27 23:29:53.000000000 Z - zone: *1 - time: 2023-08-27 23:29:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-28 21:31:27.000000000 Z - zone: *1 - time: 2023-08-28 21:31:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-29 03:35:29.000000000 Z - zone: *1 - time: 2023-08-29 03:35:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-31 06:15:19.000000000 Z - zone: *1 - time: 2023-08-31 06:15:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-01 21:56:52.000000000 Z - zone: *1 - time: 2023-09-01 21:56:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-02 22:57:53.000000000 Z - zone: *1 - time: 2023-09-02 22:57:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-05 03:28:30.000000000 Z - zone: *1 - time: 2023-09-05 03:28:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-07 04:57:12.000000000 Z - zone: *1 - time: 2023-09-07 04:57:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-09 19:16:05.000000000 Z - zone: *1 - time: 2023-09-09 19:16:05.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-09 20:01:39.000000000 Z - zone: *1 - time: 2023-09-09 20:01:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-11 03:23:22.000000000 Z - zone: *1 - time: 2023-09-11 03:23:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-12 15:18:29.000000000 Z - zone: *1 - time: 2023-09-12 15:18:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-13 14:14:43.000000000 Z - zone: *1 - time: 2023-09-13 14:14:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-13 17:37:25.000000000 Z - zone: *1 - time: 2023-09-13 17:37:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-14 18:17:49.000000000 Z - zone: *1 - time: 2023-09-14 18:17:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-16 19:56:55.000000000 Z - zone: *1 - time: 2023-09-16 19:56:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-18 14:21:02.000000000 Z - zone: *1 - time: 2023-09-18 14:21:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-21 00:34:13.000000000 Z - zone: *1 - time: 2023-09-21 00:34:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-23 07:14:06.000000000 Z - zone: *1 - time: 2023-09-23 07:14:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-24 17:22:22.000000000 Z - zone: *1 - time: 2023-09-24 17:22:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-27 12:42:54.000000000 Z - zone: *1 - time: 2023-09-27 12:42:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-28 14:48:45.000000000 Z - zone: *1 - time: 2023-09-28 14:48:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-01 11:54:24.000000000 Z - zone: *1 - time: 2023-10-01 11:54:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-03 07:36:32.000000000 Z - zone: *1 - time: 2023-10-03 07:36:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-05 05:13:57.000000000 Z - zone: *1 - time: 2023-10-05 05:13:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-06 16:07:06.000000000 Z - zone: *1 - time: 2023-10-06 16:07:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 00:03:52.000000000 Z - zone: *1 - time: 2023-10-09 00:03:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 02:32:01.000000000 Z - zone: *1 - time: 2023-10-09 02:32:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-10 16:39:07.000000000 Z - zone: *1 - time: 2023-10-10 16:39:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-12 13:28:16.000000000 Z - zone: *1 - time: 2023-10-12 13:28:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-14 04:29:14.000000000 Z - zone: *1 - time: 2023-10-14 04:29:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-17 03:30:24.000000000 Z - zone: *1 - time: 2023-10-17 03:30:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 03:13:15.000000000 Z - zone: *1 - time: 2023-10-20 03:13:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 20:47:06.000000000 Z - zone: *1 - time: 2023-10-20 20:47:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-21 13:59:34.000000000 Z - zone: *1 - time: 2023-10-21 13:59:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-23 21:38:48.000000000 Z - zone: *1 - time: 2023-10-23 21:38:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-24 06:07:13.000000000 Z - zone: *1 - time: 2023-10-24 06:07:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-25 22:51:17.000000000 Z - zone: *1 - time: 2023-10-25 22:51:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-26 21:12:50.000000000 Z - zone: *1 - time: 2023-10-26 21:12:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-28 05:52:20.000000000 Z - zone: *1 - time: 2023-10-28 05:52:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-29 22:11:01.000000000 Z - zone: *1 - time: 2023-10-29 22:11:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-30 12:29:25.000000000 Z - zone: *1 - time: 2023-10-30 12:29:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 02:52:55.000000000 Z - zone: *1 - time: 2023-11-02 02:52:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 06:00:32.000000000 Z - zone: *1 - time: 2023-11-02 06:00:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-03 08:39:06.000000000 Z - zone: *1 - time: 2023-11-03 08:39:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-04 23:51:22.000000000 Z - zone: *1 - time: 2023-11-04 23:51:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-07 16:11:33.000000000 Z - zone: *1 - time: 2023-11-07 16:11:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-10 10:55:29.000000000 Z - zone: *1 - time: 2023-11-10 10:55:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 01:20:18.000000000 Z - zone: *1 - time: 2023-11-12 01:20:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 04:22:50.000000000 Z - zone: *1 - time: 2023-11-12 04:22:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 08:38:58.000000000 Z - zone: *1 - time: 2023-11-12 08:38:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-13 15:43:40.000000000 Z - zone: *1 - time: 2023-11-13 15:43:40.000000000 Z diff --git a/test/files/db/calendar.sqlite3 b/test/files/db/calendar.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..46dab9be22581e866e590b10cf360b44007b8ba8 GIT binary patch literal 53248 zcmeI5e~=|tRmbQ3o*(Z=0wJ4(gzery*gz)f?%QwPdqW`Ez>;5^-y4#Uz-E%2B%ADR zlHExN5QX<1prTR~qM(9BQK*Ot7APVjqJ@frsA!=g2r5{h$S;vXQ1o+d-@Z9*0{Ta+ z3VNp|kj#Fz-|g=`_uTV6{ob9cuGn*6Ycsm#&Lf95wj#4|%tF1saBdVWEG*Rdr^i3# zSCfB{f6A{~`7ht$|LY59UUNaO|H_3<_ZR{ zC=e6~3Iqj$0zrYGKu{nkP$)3n+wN=|4r{ZEw>EA%xVdp;-+{whn@0|B9Nc$kb8BP& z#@5C|{jBr!D|heOyF1#u>%2X?qa6>0?1*;mxMTDAJED6xj@*3P#*ygK%l1Z>UcF~e zborGRUb5@T>!OQyUw1~db0T?f@Xf)$48B27(zUmtvCVepy3SNPZP6%+^x1O-}_Z-rMM%(>ta6&F)`zf3^Fg-J{(rx@UEJ zEC0Ci`zt@Y^3s)?S9YyzU;g*yzv6=7D<}{Y2nqxRf&xK-pg>R{DDZG95bbO(Y&W~* zeZkSGd6Ferx|(LI=_E?l)`#QuJdK{H2s6<{vTpMAB#%zh#Ml#SQI@QyTqcj6pox(p zl5{;AuV-oWculN%Vi;wajANKar)py8i9AXfM6y0yi*{%tS45KY$6O|gHDNrFMwwYp zChN&KiZqdVBC*7n+ljVoB2`2>lzYj?(c?7XHBBZFVq~NBWE7pEh|Fu66p9Vk%`iGy z6JArq=2mmFo{yr(YQk%pm?)jBry_iGk|w;SNh;S!&H8W{ou~3FX~Jm=VaJi>3^qDm6HZeI#*wW{0OZkQG~qObNQ5xVOBx-g38yKc zIucD2CT|oyS`n$!6oQdvRnsAyzn26xWQ_R{C=e6~3Ov#jSe5|=|NlsvmN1^6Ku{nk5EKXs1OR{C=e6~3Iqj$0zrYGKu{nk5EKXs1O*-$3S3reoqFo7U7LsR zJ#ggC!-x3r)Bep{HtspNwT~b1iJp8lSzG1fAbfHp;X?$;nd8aG82NOxuU<5Z$9BHh`NPi7 zcYdIAYiD=o)K0Da$@Xuwf3p4j_BHKc`_Zj0xBjU0i>)7Q9cZ23dP1ww{F~-)HecU- zVe`7?sQH-2KR5oQ@wUbfH|}U$*mz>2RsXyC`|7W+zo33iJ+B{I`$Fx5wKvyZTDz%s zPVHoFvHBI?-CT&v6C%=7PFKiQlYBMhgog>|y3jv~@2VhjzJf(K#DZf=G7cKa<2x&e zoUl+J9A}ZP8_ugR@!<+0r&SaP=X-GY3kPRp@ga>Qa$ZG&7&-DH=R}Hee6WJZi4`Rx z=Qxbk(@A_s1(7o=3WP%~7%PWbr19+)MEXJnlFG3bX2`)P@qr2==T?B2)r@06cp=W$ z$l}{7h@4#E5iY^OC&T#G3gXn|DoDp!BOE1@#J5xsr!EL*g>chD4#}m!(-eX*OeH=*uh4|k6oR8#h*B0! z5?!tdrzr&UB64wFOmvwdMov>sv|`D~i8bql!KIpTnnEyAk_{tGqDwU4G=(6M*dt@| zB-*11rzr%n&Z@Jg>s+h}uc@3A#7po(Npz7WyrvRkOdE$dWzmJ2@R~}D*|VmI!V5Iv zH6_NlRYc=n&ew$3v^Z-j=ZvSd=$V@Eni4@Ae#0?8!%?(b5o=yk!V^6thm50VXu@fl zuCkC=P7=&X^mI))O*!LBHQ1RuR})TC z2$HwWQf3^TqY0-egpDA3WKi@pO*l8F#0QI3 zPEd+Qn(&&+DNt zuPJ|3mI8~LgR3+lnj%+bV~lN%+hHqGL@t_ILbgjbDA_TiL=&QEL9knLFU-p*I!hCx zX+dxjow4&Wiq6!8Xj&4?9QVQ`uWCXxEePh8*_Y)XouLWQv>>}dw)3pPfj}w=l^l~W9H(NTo}&(Lyy$0eU?l( z{|`M}I!&>6;ru@gt{f1k&;PrlR$mx=V({+4YX)0`D+Xr{R{Edq|4#pn{TKCb=ui5` z_rB8maPKX>m-TMyJ*{_A_iNpcbl=*2dH0s?dELjYd}HOKD{o(U#mem~&s^ED{H^7W zEx&X5Rm+E$FIqlrxxVz*OYdI#v85wRmo7bNslE8Oi|<|hiN$*tuUtHHak=yNo!{>K zRObbqXLYhpzx@yG-)+CK{k`pHx7XT_YJH*g2d$rJ&05cGt+$SEex>>0=3AOCYu?m+ zTJxmF*BT#bytVQ2#x0HW8jq`gqyEwQ+v~5W-(G)aeMjwEwU5=_S$kFOaP6YnY24QT z;47Zun0zNdHY00iC${v$QAtr0Pw`9-F!qp6EbqjYR&0B0(8G9&Yf_9WdtgXPw(P;s zPVr5OafJ^I`@2*M99r%CG((E{%;-?hjbRJ9TM#&`hfcwHxDaPqMwg$nPztqH2Je6Xc&M>yw!H|ZG z2Un#Sr?X`wFz5g<7x*g0IGtgbcNj`Z;sA~QwJd>795g2QX#C$Us zxGTjtoh?Hgirs|4Un$1vJhtmXs%NZVJjG!t#_3!zHV$cBP4QTY@jA0Eq!6d;z-!^M z6ytSvF^|+-2cM-Fud{4~IFmJOc09#tDaPw8_Jo!Z*Fk5zmSVil#H!e28ev=qx1|`b zv&1TaAz>d+@mmitWus)gijBd4kT>Msaa@Y=I%88LRtZJo5YMF;uXE8(5q*dsT$f_J z&R7*Gn(=qs7rsj|PUn%eBGlb1LtYE#r5L9(jO~odn8_P>FU2^WEh8pSd|*7qeJRH2 zJhGicx(KXy)&>4cF-~X8FcBO}oG~68m|~pHFxL9WTIRm+U=J{5^8^N~$Kl0zea4In zQ;gFY26KaeSW2#g4^xcO8OG)WdZ-c`I5EXIoh?(`d(N2gVv6xP7wd}#nYP z!mi74%B&sym}0!na(pzcg<>zjktxRO%zibL>#_KF= zhg`>axDLMT0j6xIjO;PenwW#4GG4>TAYsw4hv8$c0A>zcBP@ynYV4)ydf!?b-`Kf4=`nu1%^6-$&%C>PdTk!F-~U~ z<`kW27@{-hwJXNyY~LbUFp|Sht}sq#7}mS=;b?Kh)5lgAr}LU^PO|T?zF*<138UnI;pj z#aT+%sYX~x?r6yR~V-=4EqFCF)I+Nv;4 zXBZo+@3j`{nVADu|bvaJKnU%ERxiAYNsuHh3lJ^u^y(LA=N$RT4PK z8RKw&1#ueZ5?>Uv{2~XC7gi7_u|*_~*)1mV3o3|H7=#EUTQZyD`1uvY2@GNj1TMtJ zeqRM~`hu`N87tpe{5*}6HV}lqH6dzqY^Czr24&f3f%J-urs5>)qGe+e>=g?q|F2@4lgXfA`vM-aTgJ^D7@% zdDF^^S8iAtuN=4hrR5JTzj^s3%Qr5cy?nybSC{^H=@*v1e`){Hxl1Q6etq%J7Jq5+ zhZb*Je8ytb`M1trbbh(>%Fe;g1)axt7TOr<`wv|iiVYF*ws zqqW%lbn|`9*ER2J?rkQ`ZsW6!_cz|qxW932BX1m2|9t%e^*7aDT)&|{t{+$XQtd-L z^M6V0#@gAn6S%F1{EBDV{g_N9z^o=bjI-IuHlX8~c0VSQ87LV0$i^n5c&6Qtv2DnL zL0?iM)vJkT+WnYJ=AdB6Mxf$E03o zVWg~(DsQIUkFnj3Vm#KVgHgTCwEHoM*IB9tc06fj#53)FOyc6%KExzd@Qp*7Y4>9i zr!x#1(h@*J#;o0sNu16FLn+NSuch6ONu16_>z%68R=6|meoW%xxnOLi!>%~f?#Iw_ zvvUeVo+RKYWVmq@#A`Z3t z$tF%`7}hBZnQ3J_+Wlk`uQThE7-Oqpcb#eXlTEzNBzLx7#=}N4)9xpmc%3D?BQm#! z&f5KC6R)!{Y$9BTd)MwKn|PgZY_fKW_|fi%f}qq{)|ahJWqoP)lTEzN;~)rP!JdSPWIWpaWMi+hlpo|( zsyrC&ezLLGS*qZ|iNa|2la0O3QU&u`ggx`6-A^_ao#ovS?)^^0v*c&(ezLLXTrkWj z3y|p`*J<~YjYa2z;l8BYw(C^8pKL5T7mR)Tj=Z&k@o4vxjYa2zVVx2f6obUGc0ZZx zcF5yE-jX0?pxrOD`^iS4v%QWuEi@!nxsG-}*+_IQ7{)B`6p~KQOuL_KBsv$29kXi!s+Wll}UT2AC*|^2E%(VN-)|}2Zhf_#M zy5qI9`^nav&g44VePPPzPR+FYq5LUywv6n9d^2C#{bXxSXBgZMfx$kAKHB|cYffhv zoUwHqxVo8kKbh-xq%hP`*kZ23yleN94V}&~tP2^8%^TYNWJ9Mjk3oqIv1{VgXWIQ_ zL#Hzg`@6I@Wz17;f3l&|8HRO1JllP6s{Kzk^g2uKB{}nQTt^$AZ0L0^aI!jH$B4yv9YodKnmOGvK4QjSaA!!PSt&LEYJDqtx$$YUX z+kI!MolurLongqmc0A%}wH3;8r!!31F%o^W7orR=bcSKfB97EQ)4P>l%5tYO3}YrI zhzX3RcU2gtvt^`UBlj|%J2m6F9XxlHI3&Qxz1;iZ3gdK!VNSU(c`r>oJyc!HB<8_wY%S0eGuXS^U@j6THWwEm~c&(c%OrbMRfTe!6c~zbWZB&>-XBg>b*jiN9 z*NqjX&{-IAuM|;I+f4UWm_lb^hz)M4cry9i3RCDT4EIjaLfeD;dQOEYbQZ?$-LjS^ z|1bUjTzjG1$Q)3o@>GtPVBbQQES_sGlpC1?82f}v;*U8<8>N)e)5H_59Znn<(Q$8v9-1ME)&nS7s_p{+wn+_BaT_3c|6x%D5nT5uVeEv zfZpu>2sy-;5EK46G-HVM8*@mzZ$Qg?Y@;;C4`vb5s4_Ck5t``|j{L27;Lf#=!_ z$*enlKlsd!fASeZcVc(;}y!q4q*~+53R8wGp*GJ(RijLV4NyD4sg80oeL!uDwuR_C9#Z z!cQ%iaeJ_l`Jr|C?(sWXj%$eZs|HsIla=v==gE?*qp6 ztYwL@2DKM5W$(i>#U9BMin;bertE#dSieNQB6(GNAyf7~V8~Rv+z!OxgS3 zi4u7X0jUp&XYGYd+50FMawZxwX6=Pc+53PYCy-RxG8m8cLZ<9}z!dsWs&XCeg-qG| zfFXVW*uNN$_CluYeZX+(fjO~4tjKl`D1mn?O$k^UT!H_qY)1nWhy^yiJkAk6&w`*DE zLVF=&dmjbET1G?G4)LSCkg>gwl40MG<%74^UdY(qhh>OW@g7(vuA{w>vAvIiv3neQ zf%M$97vl7+B5&|$4Mq&Gqx(hS$iR4dmjZuT}P}^|1cNY3mMz{C>Yib!Beck8qp5|?(tCYYg>muBhf|3S_BiI9-s062#`%gQG>%eed_DTEfiVEX(mKurT8SlV-U0z|l&cg6Q z>?zFGWfjKjEIsAo-A&Bbr4`2OENcfww$ylbNrmw`OFeJ*IC-r-6~^lR{C=e6~3Iqj$0zrYGKu{nk@CZ{Np6^mVFfV%_e3H{X zN0ELgz4CJ_jPr{2Q=0VU`Ict@=TsQy$%{{NVs7nwI_6KSFwT?1@C*RPz9(q@)C%J~ zIZV;tr%k|k&aN>28LfO8jR$qb^O&bp80X2k4)-N*D5L!v&(|xA^W-qLcSh@n_iM~2 z6~=jT7~3zVHzdy>#}&qTa{Eb68ea5AFn#Q(ayB`i2_@cJh4cwcd+^nhx)+4)c4y&-2S( zKJ$WU{lDC1+O);fbZm6n`gKb$x$~my9$bFqZ=d#|6SvmCn{NN1`|sDi^u^D4$)+EA z`~v;EjThZ9ZP6Wz?zR8UfdB#sAb6&q*b32xu8`fVG#w5_Ntz9^6oid%WkK< zsYZLho^vwqoFFN}ut?%Ydu7i#&H9|CvvblS(c@Xsb52^HqsJWDIiViU@}6^&`kdGW zdQz<-ZZ+D=dd`XKbM(COB1y~VUi6$3)#rpR3X7mw#9^b|>NzK@&k0kIY{mCL_v{6jdru=oZ2}^Toe~^Rz9Az=bYL(i0!`Y?@NYB z&pEZT&d~!-vm$La+Huc0wX>ZQ6oGCh)WzGA7x>`K&wkY_UbJi;d4Vx~S##$IAbpHe&0rDbj7NP3T);(;k&Qbg}>=JzwC( zv!?&>y*n;_BYA;G{gUPf5I_I{1Q0*~0R#|0009IL7;gdt^8#NTJTGwG`@ehXdFTB8 z@3t-`9R^!qRLzv-YKe~G++_k!jh5kLR|1Q0*~0R#|0009ILn3w_s^8z;v zo)_4C-Cxey^vnPCGFuneVnHy(yns&RKmY**5I_I{1Q0*~0R*OqK%;$7PZpr=dsh}f z`_D(MB8|xl#A~`)fMyg#ald-w!=?+8LUD;CZ?sqVh6#BAn;nqY^%IYEUf_50uIM}H z&3iwCyucKBL*r>8fB*srAbj~ z1Q0*~0R#|0009ILKww~A;Om3u1(t0(^Ve@X`MH^`3v4z2&PS0K(8(MKAb*?-RG`EWpIc3q0oq|FTtk!TtA;7Z}HHW;`?m5I_I{1Q0*~0R#|0009Js zCNMBB@QuOq0+-+ZlC4ia@x*dnVC(r`c~p4;oz8&(0tg_000IagfB*srjEO*_eW+ij zP3t;#9J-)sGw?%Y0mut<_Xw!#*iqzyR*`6KLeOZh@(mO60=9=j;KHm>oFq|JBJc4D z>MX$I$_pIx>d)Ww@~>QT9(jQ=c`M^i5kLR|1Q0*~0R#|0009IL7*2tKd4U@T&kIa{ z>H`P-`JS!LwsnDR=D+Jv<^}Wv90(wQ00IagfB*srAb`Ly3pCn?`E}Z~s$;kMgV6fA z(`J!s#yfd|DhrU-b?hjyxd4&M-Fc(Ezi*h37qBcqdHpC(5{Hd;tH&qoW&x&PUf@le zUDx=;gI~IgyudKOk#TbfAb z;N<9mxiBr#yxc?KK;JMWFJM^!%}odk5rxWb9r+{rvOaOI~1-zlrno5I_I{1Q0*~0R#|0009K1g22GM zz_$m_3*7RXz2E$cS6p+1tqbfhfAM3?3+M+q5I_I{1Q0*~0R#|0V8RMC+DH0z$Yxc? zRu-V;!j{dz4^r|15A6|9*Rhoah%`5$Rqmm%#y3pK3s@GQX;~6w0TR`^SNJ|j-S_E7YqSsY4O8+0mIY{)Spb!?<3@X>?~~Mh z@8kva5=%69qv`v^d7TAFEN?RAd4U@bI`!$7M4$UMd4X~G2F^o5009ILKmY**5I_I{ z1Q0;r(FqL93*0hzUf|9b%sJ~DcVD-ctqbfp@9P_o7tjxLAbBOAfgmhW&E3d+pSV?L0a6#_#e~QUeDyDz-2LfmuJ|K)fl+b^00IagfB*sr zAb`Ly2{hWr_;tu;RmWBqAab_ZyGoI&b(0t9W&!FtcC4&K(`Mj@@;SseOvwu<3lK#v zXqEHrgGPIm?~~Mh@5%y@7f3W$BJc4D>MVfvp$LmflNb2foMYd={HxD=7I}eTdh_OH z5I_I{1Q0*~0R#|0009IL7(0Q1d4c~NJTLI}H>}O>x%pi;+q!_8_lgb73+M(o5I_I{ z1Q0*~0R#|0;1LBH?PL8qWV5PcD+>_2Q2V_n<&1ao0^KY?RmavI3Zd0$(`J!sZo;9y zVM<=WvH*$I`J=1|@}CPNz=Z;gi>Z?rxMZ*7`Ww$V z`yTQFkNDQj2?!v700IagfB*srAbq<)Y-Ir=7ez&y z6=~dPALbjTK>oE@149rl9pMC!uLs{Itx(dO~?yOn>O9vq;Ffl zZs{d=UUc1ap7ZV{w>|jY?~oUm(jQ$sc?1wZ009ILKmY**5I_Kd$ssT>FL2x7d4Xd# zdd`pDzV*V_*t)<@^YUTH3+P5T5I_I{1Q0*~0R#}3qymlh@qQh$S=X^c^>wS3n-z&> z;FA}qvH;Dhj;$Azdl{L4?t3rx}vE}j+w z2q1s}0tg_000IagfWTA|7?>CM?%;WWvkyIF^S}Pv?8|LkVClRqh9xhco8dqJ0R#|0 z009ILKw!cNG}`O@I$N`@V~0%_w#pg!nhQW)pqmA#>e$KxWG+Z-E`asDukA4;FJM`K z%!O%@=H(s=2l_r~-StHP zj%MRABp^8()+JTLI= z=fC2G*Q|KkeYP&J^V~lVQ(izf#DM?;2q1s}0tg_0z&H|Uv`_HskXc>F4s#bKYPc-| z)w;yzOv$lg{=$hGWT1{x%Ox++%>q<)>@o`wmGjB1XZuLsut{FP zvH-bLoi z(`D8e!@R)Du9fT^8()=JTLJ2 z=N)*`r|!P*Tw52|b?yg-F)yGS<3Iob1Q0*~0R#|0U;_mj?Z^3bwydsWN9BBSjRpub zf1A8OHw#eJv0MG2vJ&ch*B{MIILbF{k{7TnK+AmMRHFeJ?Sp-vwC;N+FAxT0R$@Qj zC#n11Lm4Uypw@Tt0^S}0)jlT50;Dd;3q^7gy#~j3ULg6_*H3s;y7Ax13vA#A7C(*v z0tg_000IagfB*srAb`Nw3k=K){9y3Bz)6?pmG6_(eecQwC@er;pq=;lRQs4H3!u3Y+QcL* zQti```RBwFF)wiYs^9LAoO9!Z`EI?JqRu&+38k(R#*0X(#Z`dR+5NHpD(CV~lvq;smeW>q~)_w2f1){77 zwAcOqzE4uuv7^WZt%AHjyVc`U?PHSnhk@mlG=3t{J`__UFR=dLlb`>x8-M&{@&Z%x zel&Pq-~&tcPJeyRuh-hTz#em#4|`rfH_3qj z0tg_000IagFv$cO?I-$mwydsWYks>Gy7MAY&n-PA@%=3=9Z~Lc`7no!p);t{q5I_I{1Q0*~0R#|00D-9} zFfcFh00IagfB*srOc;Si`y{{4mUZgb zVPJjT+NeBDib!(-$P09{0CgQZRGn6}+^k461OGVRut{FPvH;r4JuafWh&2QMaNj4b z`rgS4sK~E9I5ZdFfF7T^@7=Nh(Ry5yUPC zY!8Jf)CbaZ`%voU1>XJI*?)QKlRx|?@&Xg)qnZbb00IagfB*srAb&!l2LcEnfB*srAb`L)5NNcYRTo+(9HtWb?mU|!d5v0UvmMD_YIrm1uP4YxgfE*0M_@uw#TRHdnYfD z7HMAYp>Uw@lh$?YC@p8;lNVU-`y|yqCdvYo?@`)DAto=-sP{36tGOhdEI?e&=4dwB zv2Pex^Irzd3#@wI!5d%v{rf&hUSJ%2Q1cKFKmY**5I_I{1Q0*~0R#}(FoA)2fu9bZ z7dZ31&wK4|)4ygy&i(B9AYN$S4$Q14O70;u(!ynvSlsOFL=3!vF9d7+nBqSs*4H;l(yUSQ^;8(#F< zk6d^ld4T~R(fkVp5I_I{1Q0*~0R#|0009Ihn!v!kz%K^R3-s^$FF(Hc&dV0ty1>43 zo;IR+0o^CD zOzJwevH)SA4Fby93giX4KGj?jWdSr-LYtU`MXG%|GXENjCt_aU>C0}sVZ}{Z)6QX6pjMoK+*77tkGW zAbJwhpS13Kk2PC?ynyEa@9+C0bsam3 zT+k{K?XwUx+N*lbAukZ*<$Jg`d5Mce@8Nlm&t%ODTz=<&Zv5pJZ1#Ba0+Zwm3Qq$8 z1Q0*~0R#|0009ILKwv5h49pAsYVf?k-@bI&;xF8^`f6Jj2fnpNLBc>x7UvLaPh;xOMQt?Jm?Lm{-jZt?={)jd9S9ouGe*ie8XATRLH z9sx-;mqb~B^7>JnB-U(~mT#DJ=D$qMyudHc&n|v&?oWP6USQmRJ>dZ&fB*srAb2(SFYvjy|6|GVoBaOSwk{CO{_7~@1#~AI2q1s}0tg_0z!(ZN z+E4RqM0uxidcXmlq z%_UJ5Kywo;tW;(t3g3{tK)-SjLF|IS_E3mIeFRUpkKxoR44xNQeCtg!Z`x(*i-lNnhY!XBwYLFMGvjEjx5@i9(_b6?n5G#+f%)iFS3v{ypahbKz?3>v4iK{%< zpm~8CcYONSSAF|=2ay*Tk*_A)C;|u|fB*srAbX6zdAXF`vyg)Y# z(5Yiv7C?2{)O=Fy#r-7TFe5KuS%7j61&z25RO?>n`!wsmck%-2X%F=JI-U&of zKzW?RYL(;#rg>R_y6-*8T$mPVUZlFl4)hJl3s|k&vNoaKz>82>lI6ZnLSCRV7eH@N ziRJ<*OOp6LakY<0CkwCvd4YR&z4CQ8zUEWgk{5WCUrab10R#|0009ILKmY**5I_Kd z@h31aFYw#J^8!cx&%zrnI{ks&Y+WFo{kl=h3+S#m5I_I{1Q0*~fm)!^euiHI$?H0{ zvH(#~Bx<`=&m?()ZWf?Z$F?kh`rcK@?f9JR8)oDMlm&=Fo4*|=ic2)wC-nH#eedK2 zG@smhwvY6EnpNMsvH&fctw3I&eUR^y)^%)U0V2&!(D(^mV{3ZOAunKAfTm?hlm$ps z>t5meBz50Ad4X8tUBX5?^?l-MACoc*Fw%K}&&=8<*k{X?$B-AOzn1V12q1s}0tg_0 z00IagfB*srOjLn^d4W3z&kN+uS#y80(GB0Wb%EyW(?>BcpgZG0009ILKmdU$A<$@_ z?$REI?GmkxI3V_LF-I$qQH(K=a8n z6}rn>_v3t@tnPa!FA(NxYj3oV_I;XF-@Eo%&};>T1;`5=;`^j^9XnF3TXovBG$b$3 z%>vYQY-It$KpO;oHmUaM$b6r;+Q&raXfGJONGC#G;ENBR>j3fs6Z}gV4<7*p5I_I{1Q0*~0R#|00D)=K2Id8RKX_i?f*t?sn~QJw)N)%F z$Y;Az&I{-cIS@bq0R#|0VB88c+RyT9Ag#KNty*qS&cL@B@8ku#S%6L*TUmfGuss6e zmbM9Kw4dS|=Hvw|3!uH+BQ@L>spd*N-uKDszIXBhnwwxf+sF7m&8qKRS%ApdX7A($ z4)uM~y6-(!R-$P$@I&P($P09{0CgQZid@ht63tBr8tqlSVM1QO_E6A!xHfr-wG~dI zo%i@u`pJvtf-pK-FwpTfMfoY9+O}Exv)v=WYh|0WDR-~G(KwhBhQ`fOA z3t(X-y^S~8tNm+?ynyWypgfo6|0ijgl_-3lq}s=Xyg*=kC`6&YbWFD|9=EMuxAc-b zFS_p7%eMIZXHR{~i^&TN>(?=E3;_fXKmY**5I_I{1Q0*~fw2%6m>2lt;CX>pT>F#X zp76eSiLDDPoArq?$qVRiIS@bq0R#|0V2A>Z_H+CiNUN@6t4<t2~$XP>|vOkr!C=1NX9zo^s^Y)vN6gF=#DuMKmY** z5I|sBqkX2o#^0*z*ip-RZq?cyXnrzzfo>L{u46}m)giS_K&V>oX})1jUcl=7s?%yC zcPk||+E4O*vQFPSc>xXo*XWHvS&4PNPqVILhfPObAkgdUh#sG+j;$I5fQUk6NtXLQNwtp&d4aG70lthPfB*srAbs9J9z>1)5eM75{>o=JwA2cdzd@& z0@kyAr0>(L>e$Kxv@9!Oml=5hZx4mKj;$;}q`3(iKcQ=Ejc=He7qGbiP0Nxf3y`SR zy~6iN>b`fI&7r+=$P1*tPh9O|Qf2`ZXd2PHz)$AibJJ)4bmV);3ry;-qC7bS5I_I{ z1Q0*~0R#|00D-9?FfcFh=fU#=Ge7i}V0G zXZsZ2C+qaRlNV4>LZyDoN}Sl^Q}?~=8Y3?d>H0a!_i0vj>@o|WJdXA=CoeF~%L3GO zZ0+-+I&G}JZq4R6$Tv*M3s@FF?@`JEsFbaf^Msr%l^3s~e$ufeA86Ic6~C<~BS z-Xzv`Fq$7Uc6ovQ_I={3u3!DU8_5ey&@ZAqYy=QM009ILKmY**5I_I{1RfF?m>0Nb z@VvmO?t*^_emn0{TNl`G*3M&^7tq~vAbHEAW8%p@KApaI@&ek+UE6S2t^0AlPgeK6 z>l!035NR&J(Y{Z!s$;kMLuDn@_pU$W1-vXkUB}iwFY<{~jRt765B3dH@&cVKKp1F) zfHEtwpYM~@eedK2l(n%uVCMV8)jlT50%$LoyqFMqfhYauFBi@~WX)OR1;*XiP#zEh z2q1s}0tg_000IagfB*uIR$yRW;NHRW0`nh;ulUn5mc7~51y;?PHpY1YJpc{_5I_I{ z1V&My(LUQ><8M`UY-Isdhs@P*TlOuJ7pSrTt-6jKB`zpu;M&e=L+vrq zEUzE+BtNCcr_=XNUO;0Nj z@Vvm6KYRKM*Ioa?lWkpK|Cv7?^Spo_0tW&JAb)281)YL7XP<4`L^%#;Duq=S;v})MSwVivT{Z!v4@ASQs7tjU)iRMbE z=k^J{PgeK6Yrl8$0+D=<^?jOE9a~v|*vZfs$qRT{fU1tIJrqK#)27XGpN>O)!<4*$ zWdW46v7rD(kT=@<`#wqC_fB3waT1&V-|F$H_A${u3(9;6FfOJ}ULgC!^LF|2*WR+0 zyuh%01?5H%KmY**5I_I{1Q0*~0R#{jOM!uTf%^x~3+(ldx4-4JeV3kR>jJB1erg=# z1@s^|5I_I{1Q2)xfkylJ-Wq=zRCR1+0aS-nPpP(>R-KK!KsO6e*Ri9f)!9_4P1RHS zY|k)hkr%K!zvd<+YS>n(w$VP-_sKhb@8kva;z~s%pC|f0S>5-p{oct7BRc%!|#$EWUlCohns zWmcl_eUfS)6J-I)ya{=MY15|LSFPLDuUmS_oflpA%EPaI;EdOOas_#TNB9EDe?|ZS z1Q0*~0R#|0009ILKw$g}49pAs*Wh`9tByMOg85qoC)m2c0W&Wj7kL3a3=RYkKmdU$ zEYN7bz+2-_gQ|`lmi>N#2LG1xx5*21vjBA+TXotXRl}{eN^Z2z@C?;b8U;}-z<%-q zvD$7`>wcQ=lXv>w$qNLkW2@&@b;y%^pRCjOE+6%ElNYer{l%5!NC1?{yI*d7W|sIQqld4b=Zec9D-`tg^~ATKb5zku`9 z5kLR|1Q0*~0R#|0009Ihi@?CVz+VQ>3w-&8o z1XhRCHUXh(xu^L)d8bZdS%A#WAurH=lJAps`ra)IpgIzH0c9oD`996MjvY2#*eYk> zlNa!^0974ZSpdDhk|NE@zW22~hU5h-3!vFI%5&xA9tsEgK55%*uk{9S?0V2&!P@F`2D6H{)(z@@RynwO*iSmFee4nK5 zd$-vf+AD{=K)MiDH#9OnS~4uDrm1zis--H^1c1Um-6r!M=R+a1lTN z0R#|0009ILKmY**5Ev*hFfZ`e!Se#g9Wv+Tr=EVp9=0xU(9GS(QC>g~h64cv5I|tu z2sGL+^46!*psHhcvH*Dzt7lSc*yIJeS%9jJ9ok;pfr1kHqdMDjJ;S6$Ucj;dns2Wn zw)#c2N5C_DpS3g>1h8Xg7VIxZ1}=S%Ac@pIGBvG(TwU@&cP2{D$uywc>$W$qS5|uiiWm1Q0*~ z0R#|0009ILKmY**9;?8>yugEl=LJ^2^z;vAANlDMY+c~snKQ;!UO*3r0|5jOKwuOE z8toT*YuIT})v=WYh;4py5*LZ)1Ctl%W&x@?b|(vAp{1_q~%Bh@*0ki6{5?bn4ia1!$FfO)FACUf`j=_pI)F*EOb~M3|Jb703%z z?@`UFj@{}Hm6cH6yZ-3&dFQ;h~_v=8=u(z@@Ryg(R~S&998pQP@4 z5A`0UEPz_y$qPL69u-&nm?#UN*)F;5wUp>JIPUTS_S^RC+t#n!Y2EH~uYKZO=b!$E z&4a(%y1=&c|9#q`pDp_QqIWEM>7pktDi&?K@UIJRU--#|>ldE2@Ti6T3+FBP-GZ+z zc;ABdf~PFlZ^4rJf1CdU{RjsF2q1s}0tg_000IagFd71G+ZogPy1ThX_6xjLu|o^| z2Tj|ERH^K3{4;Esq;rN^ZuI+WrezYhwSR^!l620{Vz?&2Ci*4UZRMX~OHrLOwA5m2 zc{<5$>7QYZE1fg6X=enyX`n}Jlk)*5(Xcfd-_E{GQSr_PpgdXd%73`x9(nCwD~6UtsP=)3@E|G+Q({XFJ{d+|DEDnJ=)d z{++E0)OmsT@AZjYnzP>Vbk+qrTKr!G5I_I{1Q0*~0R#|0009Ihs=yG|1#G>bXTHEj zkK6WDKfYr9`{^T?sDJA`ZUhiO009ILKmY**CW!!j1f4Dc<_jzhnJ=)W(gS9H%$*H=lyB$ zz1rrPFHlYoU|oQ9fqJyzh^-6s%omusZmXSV9(T?y^brj97RG-=009ILKmY**5I_I{ z1Q0-A{0n$}1l#M;KHPi(>m%ryFYwBXzkjKF?`7MvE-?Q8etColAb8fYGKs>7R1rEOA-WOi}f~&W+b%7n`AM+UJ3+M+q z5I_I{1Q0*~0R#|0VCo9E9lYOiqrCH5uBHbhE(nSwE|QFO0oDbo-*v;Ny9%P^k)T;b zQK1WEo_7VYE->Qj0zLBuPHpxte8B-f{0DsmQ}->LXN~{@2q1s}0tg_000IagFgXOg zK7t+ej2>>jfb|jd%oq5@HGBW!oeRHxDeD50;~L;uAb(}kH zZuhy@-u%1wz57F-I)90+3oMzx?_-`XpdaNx009ILKmY**5I_Kd$tmEL_`l^=Gx9V& zpy{HZ2vhwo!@2E&#oW#Jt{~P0>Rm5EfD5w)9f*QP`axzen%)&+b?{uu!T5I_I{1Q0*~0R#|00D*}oFobmhTQBID zFR;%a=Y8V!J8!x-eFPKl@0&-A00IagfB*srAb`NI2+&7h(*t7LQ!h%2Bz9YQsrV?W zrw1@!z@`V#NAOUaK(ihnkUPx|NVO?rt8Wu;e84#FBj}kgF#Shoy!AVOd-r9wF3>mc z4;wUJKtIlb00IagfB*srAbRrpw>^O!^4M*PAzw1_1;RKmY** z5I_I{1Q0*~fk!Lg^%3;xXCH39fb|jd%oljZFWz<6uXb6nBkKZ>R-5w?KmY**5I_I{ z1Q0*~0R#{jUjjo|7qIn$p7{cOXZG(j`>J0)i#~$!^>@jmK>z^+5I_I{1Q0-Am;~q} zur7h73&SF@V7%MfOT|ZVJw1T=0yaH>J_4^zAnT3~h|8v%AS$A?Z>D#`MD8Q#nJ+MH z&WU^6`kGm1+q!_8_l*slFQ6OXKmY**5I_I{1Q0*~fzcCi&igGlu4d$w(*vTo2=XFq zvM#{7KzDjT^?PjCA8Ll8rc1PnG;xc(D~NT0S>CVxlX_jCXTHGqKXl72`^}EUKmY**5I_I{1Q0*~fsqjK`UsqE|Ka8fSRX;pe1V^xwCk-0?ETYKtP709 z-w3yf00IagfB*srAbIfniB-)U% zh+BPArjMX!zQBEdd(X*FKj`+wwl2_^cg+UR7tl>`Abf6R#gT-zPO{j$f>;;mV_hK3izwFHQ_p;X z7q2?5@#%9{9!ej<@Vs$zD+nNf00IagfB*srAbF7HBM77ZKzr&1MHm-p>bCV#@lo3C4`;r>nKnIu zK7zhE-uQr4_wrCTMHE?EMHJIVP;~nUdgcp!Y2G(qf8zRU4!3oIo#tIQ4D$taBOC}I zfB*srAbjgdY1-3pUzwC|6UcD221dr^?83-VN00IagfB*sr z466Wr1lA=GyRcP+8X(Yg+j*(@sM(1>Ghg7`)5_@q^bxqZ-t`d%_4okwRRl$x6cK#{ zY7-c0A3@K2fwz8k=WBoP^`&35b%CYxP92u{0=gLv1Q0*~0R#|0009K1x`12i{T35f zGxEym0s88$Uu4oI>jJC`bf*W@L-Mpd5^6|ZTqKFx%)5d@)&*D>2#cUu1X16{-uQsX z8y^roigkgW`2ttI^mkW0{r*oLNgu&f|JdUBBY*$`2q1s}0tg_000Ib1bOEoAV5y$V z!_614K7yY40voTs@xwdc_w!e?E-=ym_IdmWAb z%oljRTN=_w;O2SPM_6sH7xo8Dr*yn_?NoyW^96>nkDzD1z$;+wSQiNOwviNZ+Be-B9}w5$17a79*nENOKKY*0{(1cRL+B%z z%pY1jHv|ws009ILKmY**5I_KdsUYC>5$vqz`*8CGtdF2)zQEa=H~0S8AKrT?>jG2Z z3gI~-fB*srAbw=H`UraF3-rAqI^x#TxBors0$fE1AbjJyZ{hwi+ zFQ6OaKmY**5I_I{1Q0-AJPNp7z29QudPbh62iO$7rZy30U4V6g?(~3qMxKUBs72fc zOeAhg?+S`o7hqi=cbXlLY7wN>w~04CAg#v-jJtIK>m!(b+xm4ot=oO>wKtx;@UMG4 zcuGJY!Fc?@;xQqB00IagfB*srAbSN+t(%@?pff}Z&TJ05w*`ooTY z^$%DV7`iiOB7gt_2q1s}0tg_000IagFdhYlur6Th1wHcxny)(OC$OS+(PgA2&^ApD!#ZC;H^+eh0tg_000Iag zfWT-AxZS+pV&Zy6Uf6O$P{c_QB&-XtF3_DGP|wJVVy78-QBowa+seCwSQm&{7l_M6 zG)df zZM*3Dyi|N#?WxCnfpbqg)20W|N8lED*GE`wtf%P#nl6zQ+I%mdkDz}t_7U{V7r6DB zznu5W9o~1btqbfv_tV2XUqCm=fdB#sAb#trs##N z3$QNGogPrn$cvgT42#5m(REvUR}kw03F`v=LF57r9*K*%)i=uV1Q0*~0R#|0009ILKw$I*ygq{6b?*;1U%>hZdgco} zecf&8Zf9TpSJnka|L==?L;wK<5I_I{1Q0*~0R#|0U^oSaur6Th1wHcxes{`t#mpV400IagfB*s`CO{v7bqR#drU$e%K)^XK6(2{P;Bz@WfcXMTBl-y3 zV(6%}-3iB8vNFd*cK0&MMjzT^Hz?FL2WGm5)2+uoYXE#UU{Dz!;n+g2Jt{i<=KaxQrRn+=fK=<`&w5<<7s z6N{_bHhF<64N&#MD-ED4s8xgt1T@`to>)X)z-{Jvg!S}%L1`XGqBik}ya0KDYEDZz zK0teuDvXo{eH(eXiE3MyLFWq`chL`)|MHugpG;n0Vt-8Y=n+5w0R#|0009ILKmY** z5b*K>drMe_agIbC2uTm%_;0ZRj9E@)~{LZM*EJWnjF zn&Qjd2FMHahnfx$TUbe2LDaXgH$Grk<_ok>eC_ALuRXYwyujFeM02kQAbmKWG}&NoLiFQA*}KmY**5I_I{1P~a0 z0k^MLXG`kZw$cEqvqfQ%X5+Nw$P4s$(g50PB2kGuck?~5u&QyB7g$>D?4me8YCF56 ziLy6+)4e!A+!>=V!g+xkHh;+-ryhO48^{X`{|7X;hyVfzAb#y4^gnxUOxJ7qHm?aaG$^ej;!h44}OglHBd+i;)*_TX`N) zUE9_s6iNfwh7<{T0ZRkqE@&08HY|zV0#7WgO59}{fV@D|*(^YtCPX$!AX_Dr2U}hsob&1t&kN`-I1oSp0R#|0009IZ5^$kcXG`kZc9dIZciOTv0C|C^UzOU> z%92GIyWM@Uy0&d;0P+HHRogDp0Gcilc<95Ke?kBO1Q0*~0R#|0009ILKwu&YczJ))#ffie_RgZumJ&S-%KwKFlq7vf7;@eKRW+iAAc!%fvNK4gy)F>0tg_000Iag zfB*srATU`4yu3i9=QyOiz`Gup{^F~zIQ$mN3&e8{7?r$$?uG*a1Q0*~0R#}33<56p z>TIdiwzcKE>TF5_v}~tv=?VZCl;lnl2FsML=FaQGkAJ5TGzg5}L7Jh3l%L^oP8l#jK&>e9gfB*srAbUE3xvP|gOZYTIQRAXIHKP$0nV7f5ISbJX$zx+@L@5I_I{1Q0-AECpQZ)!9<3ZFkcE zn)4p3FE=DFU}*q#x`&0fF;7Fcw*_XnfzqSe-$ii%&!S2LcEnfB*srATUw_uIbes zQ>$%v(g3N`4%BMyPBZcXmIjbVYO@klfb93glDf7{UZ9)}P}jDtQmZay72HC%vnNJg zAay%<9#K`>*2_+blb}fABFV@L*ld8zg-x4$A7pNGPb{p9+q%X=HN#6Rahv&PkQZ=s zeGl>i)gTUizUjg$;{Zy#+2>o(w~?2d7)oB?@Asa2#W~+U;eF%2q1s}0th@7 z0hf7Iqtt5Koiu=Ixve6yVjOvaP8vYfqbRg=#6F%_Qul3>7bw#Jb!}Uf+Q{16i!^b& zcw#Ym0k_2Sh^pGQUUnTZg-*x|^eYVz1(ryPTQ;9$3tz0RZIc%$X9L*&E~;^BHbCYA zZSE2k3YN_C#KNk`T}}_s`&e40n#cW5l2q1s}0tg_000IagfB*vHN5IPqWO`IX$_woJxnD2&;FY(Rd4YWPTShrApgZJ1 z009ILKmY**{Pp(Po4kN#1E^0~vl2A-K6CqeVo6=wRvLi3 zz|y#`ZHKLDYPl+tyLw_Vc>%Yh?@`sZ^|EVOFMO0)FFbhxr2#@q1K5Cx#BJ$`MRjeP zyg-=-u>D=SX#njtk*LI-yZN42NM0ab)0qxX?d+mze`-6sq=~XOebc=-K!vFjVjFHU zLV1BRmwn`0cir&B=aCoq-(N`h{}Dg{0R#|0009ILKmY**5SUm3US1&ABOg*;V5iw` z=Pz#mu9Y@lpf&r2qn;PgU2-6R00IagfWXuea4oNDlv-`OOap}K%T3f`s!{Lc1#C7z zZk5`!WodxG6HDsaHhBT7OeS@0+tL6M%Zns*yLn>d1)8qU_o!;ykp`H%FtxoElAOGN z%?5~_YTHqwtpMCso>)}Zw#f^WX@IK2t0HwJkD-6;nG2q1s}0tieV0aticqtt5Koisq`!c29N zB2CE)C=C$HBP~LWOHhf@6HDq|c=7^e8lbLit5O?US+YoDx4SP!UcfoeBd%)OWg0-! zC4yYrE07nkG(gj?pd_>TBwKr8QC-_6FHoidssgvt0GcjgT(-ZpOV?)!9_rZrM%&wz<16R@b)43zTVqy0&eDwpE$bFz&$Z;fW>W1zf}Ph^yMR z(g30DHKFEiwRn>kP#Qp;?#&_&G@`_9r0(af>~%ki5Wbui9Vj?xJ_~sN4@HF5*_-EboM=lNY#V&$mrG<75ARAbEkY|0>2K zKmY**5I_I{1Q0*~0R#|0U_%7FyufnZ&XDo~|G53$ORs+4>DO6aV8yJv$1E?PyXHUu z0R#|00D+Mea4Wp3QM0aXhw97K2Id;1+$1m1Ndu^FTRU>AM45PEsnxbSX#ny9&v#3c zy0&do+?Aiuw%oDX%M(k;3%I48M_kpm%QQfk6e@u0HAh}RFDhL@n#Z9)K+|pKiA7ay zo4mlerf8 z%apu;%0{WvL}?Xk)6AuwSZcNHZW@5Rz|y3yZAa>K*K`TZ1_<5Wo)~$7(CzGb#C2^u zOv`=DHIE}CFJQ9)bOq@>C@zxBZSRRiRc)KRK$Qlli`z;Ageq=JEODE8Vj+0}H`n*5 z_IJ_yy7Ci25hq2|A}>&Wz6E_7dAW&dTbH0e(pEXK4GS8W7ieE|`N}=656&Sk@YuhG z@skK3fB*srAb2?@&fzK`p}r>1$6fu z2q1s}0tg`R@B(f>uS(LaYuiy^vjJ?UfP}n&%?41_s8vMGLJiAJPb{@w_)Z#tynxLH zsB7DiJW|_RK_$w5PmH`k;&$;o;<~nNo!#nER>6(DK)+rblys@gVr zfleAg??6GMZ36TsbD_OO6+z}U_ryZ-0&bq~Q5Ct%_jP5sv^$4heB=d+Kvz%Hx3L!o zsP=U!;{cMfJlvzt3;gJkjqds5nyYUnFYxeR!uYocAb;)z97ZJWG6l?JG5+m_*qinwL_nQY;Ukr#0DJ&&-e zahLDws(|Z#U4tmd3t0G1*_*!UUL2s>*hO&wZH1$qaz-XEaPw1EzkTt#?$yoQt)_|=R4<6n1Kbk$Cl7ubK+GsZkGpohSL z00IagfWTxEaQk~zl4f1o)|_{3*qv(5dq7@5X@F35Htp%IiPE{tJ+ah!;X7#n@&c9y zsB7Di`joY|f(lHT+t(8#FA%!jJde1pZFhF((A08OCdms#_L|dR0L@BBa<`)|R@Ju2 z3sh-4`<;1>6G9Bdki?Wf~xC6^TmRIe7uQcod8Xv%VQ#9KaHS z_5s+hd{;RvXl(KV=l_1^Pc8r8ZS%+rOt!C}JRbxQKmY**5I_I{1Q0*~fvG0oN`)hyuj*NYsNudKo5cg0R#|00D*}l;8uH8l4f1oj>=B=M18pt zc>zlUXxrpWb&?`YUCR?otrxyb1CSRu)6xKSZCkMkYjbZ|8X)k*$P2`7ci*F~ZCe^Z zVyb?V7qFcI^or7S3EQxw>H0jexT9${7C zRvI9;9bn?H2xIaBxl-LIWnOMCpl<7YN)QzDHf#R%dr;WyvBXFHoid!ZHn@x%atqo>*Mfw#f@rX@I)6 ztqhm0AZ56;pUKvqSVUgHE%H3Vs=%!@fOexWt|ExZ3+S_6Z`oGxPy1$iaRAE*cH#gN zJTLI)yWV*83GX@WUE~GE%hyjH2LcEnfB*srAbwR5& zD`+vvHFb&_m%s009IL zKwv`!+#0V+(yVIRR?c;iwx3p?a!y{rW&^0srV;KMq}+7NeKD(TchUgl1uP9h?_-}x!4mUFA%%EJddQVZFkZDsdl5t$qU#{0f`G$n+)tVx05FpSGDc(4Dtd? zqpG%DzH5uirc0!5TThI#oSffWWq`biE zH-6k*%MZEeJj)9lH1qm#lo!y0;XnWZ1Q0-AFadXvS0%}++P3OSWhG8!0qy!uUOvx95@6wQbu{LHUWu z_AnPBbo|Z;lrSu$W*c4nST&4nek`}On<&=TtLggR?Az9_ z+iBhIbFV$@dprO0MSH$w8hL@izIgKA5I_I{1Q0*~0R#|0009IL82`-+9Bly z7C&X#Mvs5_RjK6#4xah8ag`U)!{I;x0R#}3x&rQCuS$|twQbdvG~Qj+Z_S);k{8fy zfGDs|ciSl-aVtHsX59-@^ovwQarZbOq^MJ1&yUZSRRio?0Agn#i$qOhApdFR9zqB^x z&fR{VShMbhCofQ@0j##&Ndu^s+cGgVEH^!|l)Ql3$MZ<)+IFP;L~460s1iqBK%M_( zA}MTI0%sRbEUs(YIz#yh@&cU#q+WI%F-bz5r4g?TD0DYGV%gpCk>#%0C|ywZZ}UXu4~)m z1+mUyQtf+sgBZ>e{w8p->vY223PwOaBb=0&aol5mqH`@&ayY zwY7`l0Qyp3X*cce(l^741B{crz@m5F{%=>lZLimm7Z_h(xp_1QAb-XKES}O_QaZXZJWG6nFg@hb|(!Gx-e6nq)1cO^2Ac| z0xtAClDf97Ys|*tw=4}nULfjMr8W$UP`j1HZg*d-u5DWyfV@Cl)wattfbH*++g=lW zo>)v?z-{e$M0IUDik%{FQBou^d4W*1{+7LK+fD(oTj+^}RfSt;f6MN15A{>z@Lu1=ObTS+jk;)fzkWI%{?K200IagfB*srAbdNV)_QCHSykIsT`6)Z!)ao$ z>PqAV!v0v5Nnxl`8@K~Jv1VP{CNEH?0j##&NdqM1UK5&opSZ#kOUVnk$oHsg+jfnm zg*K$H5~X(rd4a&~;d|7zZSn%;Y=Ek^U1qo}4WPOAxpSTvd4a@j<9S4NZCe>GB~CQ+ zMf;hM7tnlrr2sWuLZ5SqTjYs_Re_tlfW6|X&0T_iWdrq=Z36<*zL{Pez`jRyHVc^G zd4bFF-+cLfXaD3t@&d#2b(>p3009ILKmY**5I_I{1Q0-AtOUHgz*;?qA>{=wc=wy1 z`?NEz`;FxVj@abpahn&=L*qaI0R#|uWC3@Cx8|Q!wQbdvVy6wv)p(l(pWN-~i6wO}eCLcv*BE&L1-SY{C2*1=wQ&iq;fclM1>CltM^x9gmEqEd zTpVai6Y>I@4WQ3`g-H^9^e1kyCl*%qZSn%A*~eV9yNj|BQMn&ZT*R%uSza7q>f{Bo zPww{4v(9_@-Q)!x`O7wEAbH_XaZ_PieYTK$SrPebUs}dKG7qB!y;zEs+R;PRB z)_7vgsMUvaBgiXCGD6Goc&D^ zP^Y`5ODK^Py1hNIq^@n-mI~wr;<~o2H*4F+T(c5Fx6~7h$qTscJ&&lWZR=&HD@gM= z6bNX#?ff%pQ@t3;3oH%m>Na@+OW=gn{w|6GC_fPtaiZ-N`sR3X0P+Hz+(fmlOVDrI zy6F3)f+n%PP*2zY>b$`1;az=m&u(5!USKl+s=;$Z009ILKmY**5I_I{1Q3`C0$yI= zC_UdH*%Ko#kh&c_kEp6` z>t(0Ji84!Zk!0irY&JmV!lr%B=>ui)gTUi zzUjg$;{X;f)#qE#w~?2d7)oB?s_(2hX7!x?ZY3`;QGe0kaU*~L0tg_000IagfB*sr zAkY!;@&ZTe-wY`)(D#l1_ll((T|d|I0>^A}@VL(l=pk|-fB*vHQNSJJtzhSMZQEvW zt0bVNw}8BWr2*9Go?4wP$lW2HSXTAI>kRS&mIkP6+Zr`(V%n5Dcl&u_|oaM7>sTSi`BJpP)&V?qD{ z1Q0*~0R#|0009ILKw#(sUS8lB{nU{10*`y~yJmdog743>yuh)W>@orJ0(y`f2q1vK zXbZSwy%p@du5GL9*2-{Ep@JKE0qwV4R!MBAbmR{8#ImXvp1eS(5wKa;wsi$*0C%c6 z?}1z8iIEq`UG90LR@?5R0hA{RtgfUW1$hCb0o13gSqYjhk-2?6v81kT>&=P0z|y#` zZFhF((A08OCU^D3V)6oRN8h8WZI|!b3Qt6t^}>@EP#Qq{BB-#f0TYSa(i4m7+BSKC zG7Vs#``t8vz7`}Zap!KnCl-}&Ms-9>`mWvFAh*)>I8*QwNuW> zx|ZjWT5Y>b16bn33b`6VL0%wK8X&i+ ze{xY0VI|eN$7U-#K;RYU7zn!)waub?XaBrlH}wCY&Jmb zRNIacZ3W=A^2DOLwoP83OaoLEZgu|WHqj*xi!gQzJh70xz>;nppxW9+)qZ^`u(Vqd zW_>ffIKVi`3(Pttc=8V~`pWs_1%~ri3~mbn1Q0*~0R#|0009ILKmdW!7x3}|$LZdO zlo#0Sv^6I^=|}snwYs)0ZRik?Fv$cOY=##_QayPwoP83OaoK}ZlwWQ_O5L^1;lQlCl-z6C4g?TDzy#bnZv{KAYumPJtC6i* zwT;LNSQ;QMJ(@)lxV4^GR@Ju23sh-yk`D9ikx-W#3JGLwLWa$)A3 znKS1MNDoLCBoq-aKqw+nNeCT0g1sSG3yO$}EmlNyak1{|u3guxb+PN;-Bnz5UCXZP z|M$*)@8mgNxn3aUmhXImLNfQ>bH15&-rx6mo+jJ&jkc9csu_0@?PG}L_ySREcw`~l zt{pCK19W_!cYFca0IGCvN#OFcCU!Q&T$63%3)D71$hZBlfcmPf`&=H)H^fqW0h9KJ z;Vwy^+(0Q_zCl2-Xqwq!%=iND{OyIaf41zzx8Mu#0Sf{UfB*y_009U<00Izz00bZ~ zx(OIxV7cDOuzZ25@BHk91O9izwcZyveah=ckuRVZ%LV}mjC}&p>1GAH9kT7LPwm~6 zl4OPNIgKx%)JT&PG$ufG+evhyAy$TL8($#U03qA<@wWFTbPyHo=qN+1g)a~tY zyWa*-8)a2?E6Z);3wRqq*>=0i{8;xWGsFs?ZP&!`1!^0h$+r7#fI?TPcC@b{mg5UV ziw%z~WZSxG%fQJs4#yM27pSk=Nm6&0D58aim}|0ae1X~q2=TUT09~adO-h~2qXmXo ziZ3w3r2S#Ki>~Ufo`<7{%g&oH6CPQRNHh<+4El0;8KibcR{M zZij4JHh@wR^?BET*92d{_Xf}m^E%s>7I2awR)%aFU!dOxC_}cbTq%!Ijh|Mfdl@Y= z#9H_Q(c>+TCfn9Aru19qT+zZ8=(hp9k))h0jdDY*@Y#014S+AOCR&m=*|zWEE`LH- z?JU~Q5Xq73_yRhqbOfm%hlGGuw2L9;Lbi=B(0`vxn{->C z)Q=-?``HTH7-A{Dz@nKZ?GNK!qyyxBSb!c3T($^bK-X)R=_ABs{WD|3y5)~A|gp;29gD>C zE1PT^U%=N)mLc0#YNYn=@=4Tlx)mL5iQx-GhZr8MCfiOswSl8P$~nG(w*hnwQn0Pk z?J_D1vBGED12zD@z>>Vlww)Xc^4d3#2-! z`Yph$%FAe1L(GM2TYKOO=suS=;kImmRN=OW<+8B7AXHza@C9T`R*73Q$>;!Ku1l>0h?Mu?9=R{@wcCEU z?!NDQ`0e-tTjzrnKNSKHfB*y_009U<00Izz00bbgsR$Tfz}MXm%NMx!i2Yx^_R}+e z?|p$MPuXD<`T}~l^Utiz3@3((vF^Bh?V#P(P4&1tI4+2YT6TPRT;iOpSJd;xC*G}*Q;PD+pbg{q7WFvRc$^5}7fN7iK9vH^6ADbAIFgD+5DwFSeK zKHJ{i5ObjxUVGpRcpIR}w!OpUs;uL^$?YvMe1T|=;gN=nyS}a~0oQe1VhO&0m;dD6 zEShX|fH2raI)EfpP0HCkzQ9TU`~3H;x@Fn9_yU{$V-?>K0uX=z1Rwwb2tWV=5P$## zAh0C~7+>JY`nkjM1&;a2ci#E(Ke!vcFL3tcUyn*(KrfpO0uXp)1fsLeift!k+p+r)w0oefl2+~Y`l|_ySop*YHR~#9i9}dMwEO<0Za;KX@cYq~)S1MhEauQT_&4KX-0DU*Ny?J$U`L zhyL4ie1S*yp^CjB009U<00Izz00bZa0SG_<0waxp@deJ-Ya5m?@Yd7*^w3F9Uw)1E z1)ehbE2GpG&7J`D*Wn9z8$e@|OXVb0QA8a> ztnjt)wGDtT;Lo|d$+o3U_%e5mc+us`5W^S9qNSEclWlt&K*W@O;|usn0Xn1ne3!PL zHL=JL%R((YzCf@6nrvI;+sd|GUgcS|qalVbkVW$hk2ECQvH{wD0!)@xDZYTN*m41M z#m+m6rWzfs%5KIZC!MlA=YlPZG3^+1_;@|}^J ze1T}b;gN=bTQ)$)TV8%r0KPznPK(_6Ff8^D7ee3{y zf${Q@lJ^M#2tWV=5P$##AOHafKmY<`m4NXD&e3}umM?J4%$HyAs(-%mdEOT|ck)X| zu`i$(&jx|9Kp;BTtk`x!wk;c=hyZRc^<%U?h$+qzYY8xPA z+e(eH+Mj4uc@mvqh?V#P(NTs+tI4)~mMeKemE8%xfVTlu7OA9Gjgs5ZL55i2YvKEC z0DJ*&1BCf5%Gq=TX*7rCyJ)z(C5A5$?Q3}CO}6a^b1RwDF@`Tt+WgvH_IDX@OE* z%QJidZv!YLQQfu%ye84~Q`^VxR44S+A;ZGbS}MK*x4?RJ&5Dm5y}3^9Cx zEZWcT$eV1t-v%gjm1^S)_(=hIlq#D{{5iMS5X(ZgUGIS}u*8LIyS{1*m+vl7L<~PPtm))`F-+kWu0#BWM z>?rpI^aj`N)1>m5@eD46!WK z!s82sNdY0-)>T_akbf-j6LEGi#P9|3Xj{W0ZPIOTnyTqk+s{_O7tmE(Jd!HQ)h=Pt zOrrz%N2z`t0AD~Hl0HAyMbDEua58;lnyi0jY*@E^@$#j!*5A}UC4KI>-?$H7U~7Ju zw(XL-f2kU}w(teK4WQ}3YHh0?+-Y>CA=VDH@c07#DM`D@w*3+0 zaaDOII@u5_@dct|ERT?FD_2r`cctIzIgKx%MhSiWN06TskVl6YVy&hY9$%og0m6J2 zN7m@Cfj!E`J!nQvfl6oY8#;LwxP)hO5XM~#ImLqUUHX8 znRO?`7f?i5J6zsb%BsAKb~VHtzCg5{;gL4swrqe@#qc7AFHqP1>%Onn5*iZJie_12 zVZIB#z`)Q1U6j0Ds{32AXrl2Z{3Fy~^94@*z+oT%-~(44iZ8IaK1%X^ApijgKmY;| zfB*y_009U<00LWvfbj)Z=qC=#7g*X}IQ^V?>;K350_RVjItF|Jy$Lo5JQ@Pg`DXpG z(`4H!+fun(;i@dd7w|Sf8S2@RPIQ(b)(+V=zCf@6nrz$m;Ld!{Y0bTTq9uke5Iw>0 zC_}cbT&eVH-GZjs3itxD0W?wB>qu4Bjt(`%T1_oHzCdjQg!wN0sZqxhQ^9h}5G(Kn zq5}+%yveqm{E5QPR!|a$FQCf*+DJ-U-oV+*5X+iuTYJc#z!&HbAO{?-R0mNJ?PiF% zPz#SQ5V|Qe*>+k+I>7wHL5VNmCjsc$Qo~)G?}0Ph96@Oax$EmXzChg_Ko6Dbe50es zEt+I>0RId%paVQ=U%)-{qhpU*OSvkmPG1009U<00Izz00bZa0SG_<0wafj z@deJ;s~VOs@bs6wf8Dn4_~bd>7r0>3566Trptr#Wfj=h@U0~K9J59FjJ1EyloKgXN z0cHK_TCO!n6}uvO) z=@@I{3;5munw%gbNp;&vbeJL5YO-y7f!YQL^Ihs(N!=xsD+x?#h!yw((Se3X-elXl zI4M2y7pf9pK$Y(O-8R&6)46&@qw($l0IhTcOyS{2G+jgbTws$wgT&RV|7YH^$ zlWlv4OPXoN_gUKB62ljW<`^Dn$hh$ZmW0VJ8WvFa$u31M_h!*#qXYPdsD2$_bNT|i zo%x2>zU?!+zaL-V&p$@;-w=QR1Rwwb2tWV=5P$##AOL~UMZow17wDA_%NN-0bqCG4 z_?}no<$Zw*Cw+X3_yT$(Y~zYReBqP{aki{~!8T2rY};R{4N8Xm66w$<-lHh^z1kw-h& zJ@5shxrRp?BJSD-&|^XFbyR!-fAC0nOUp%5j1DkDe1Sh6n$7>?bN&loU|fBQ=FLI? z0uX=z1Rwwb2tWV=5P-l~Bw&1j3-$hnzJT5e+gKqG zuk4WlnrK_=w7xZ|Z{~_G(5FcO3TRb8sv^KFjhfNX$vq{Amy9bgh2VTiSwY#U#owgJL?7uf)5 zl$Od#s-lQGhFF0w5T%Ak-elW4#(Z1+j<*5u1zew!+En*BfA5c$T4GJM?QH;jfh=U( zwGE(0C3Ou_(}YEaScWeU?PPekCfoLXr!>zbuks9Ez)uS3_^Y;`6p%&p46!sM+}fk< zy|~PunD_#EDscXaop%;ZH9CNQjOyHb?KUi5V9f{iccs_%U}I>-+uD)?gwaoIs_m90SG_<0uX=z1Rwwb2teSm5-`5N#rj^u z@&&eC_QxBZaqG`N=6!)nCgo$y7tkAG+iV2lOL}C0Cf9cAT&fV)DayqcNP-QZ6>JqG zDJ99H^UR8ECuG~Q0q_O=-3yzW{ zC2{R4YgKB8gD+6q08%3|UA41lKSL~UvTb~Ux;H?`wrd+eS1H}~;GZ1TbgJ!pC2V7kpftqW_yYY$P#Eu`i?-&NIsahbvPCnD z4uCH(W5c@Ti2o%Ok-u18Ws*H-jYvtrw6vTdKl;S01wwk;b#vlSGPsPHz4&M?IA1v=5mhDX_C z+d6_|1E>~WS^&O)PCJ!r%O_C{X)8L~5)0Y3_P`hLy#bnR+s||tFfQiNw(XNz zIa~_d(r8aZ3}2v#b~8L&$hK>T%R5V1m6!MezBfP_r7eG-(+zJsLo98=Z5?B&is3~p zkG8dY;0r{vEDwBv(1=48vkt6U2k?5S?r+JWiN>24jxVs}w0Ax0=nW_Q0$6v>T@Q0<}NUWZS+6w;}-*z2OVgHh?PKb8~>Fcw#D8#uun<0HsH+p3ZTAA(l6F+xP;t4bWuUN@~@? zL~*X34E8d_GJJt(cf-SlY+8C%V?}K>;R~p{QkA$xlZ*}!SUxsi;O=MMcl=LpziTGG zz<63Z;Jrcs0uX=z1Rwwb2tWV=5P-l~Bw&1j%k=(+pS1Hvgt5<@$OO(-phFIQY z+qyX63oOZ+Y`cFthq{*Q$>4E@ScWeU?O}O@Y`eZ{OPZ(cw1F6FoNR%t7Yq?SqoACuk{;~nD5CRZ@00bZa0SG_< z0uX=z1RyXJ0pkl?uKkAP3*2$v_dolizy0q$y)Uq8;`w9P7tovAs$0CuCfaF8v?T** zKB;O;wb1791%ySlNGfH^>WWE85``Aj;*}O1zJMm#o@3TyJ0aVa4d8sGyP~Bm#TW24 zK-=^1VXcc!GsN0Wwv8`P+W?_%Td9$YQk`{mx8LIpF?@j}I@0iHHQBa5#x#*zb%059 zgx#a5g~u20$5;`1;rK$+C{-gINhkOMI^p_su~t&6hX5Z@njft` z(D7GoKPe!K<{4rszQBY=2MDuWqyy-w!1+&gd1uj7qXUc=-~agU{rIad#TVGB ziw68~2tWV=5P$##AOHafKmY;|fWTuWV0?j9`ewuO1y(-v#pf=*^pZaB3p``up<~(? z(A(QwTl@^0XxGCw6?#hsP(7e3as9$JzCfBZ!L|=Te6^&S-p3bNboc^(J@#C)9@`1o zwrqeR@(cc@!byAq86_&$RtA!(T|ycyH^kaaExcc~#TO_;wyo4Ct9i7lJc&*)#7caD z=qSUZ)nwZ~%auH#YZbmgpL!)IZqyCUH%e|t2N_~TXojObGyz6+${Ns-N0r^9VTvzM z`x8yJjW1B!08O^-8*M9@)G?Ms`*Sc)%T(*7{qCFzqJD8M$zJO|K^XNRY9@`1owrl_;aZ10XP~Z#r{t{a1PgJ+9hOJ3-x*^sM**3mF|G?Wa z0E7m0dE5+XH!FR6-KtAgDtVp z4F_MK|C}pA7aUdHD%);XnIG#OWrkQ0hURDw87CUe(blBt$k{#c1)_Zoj~rhhT5Nb^ zA=}nSP`*FvRc$ z7R@kezkibQ>V!8@{X85!j&~MKH#>|UUts1pj=kfU_Z1(<7kCs427CzwAOHafKmY;| zfB*y_009U{HAN#(*@Bi#CEPj?vwChou zwG5z?(vL6I5?dQzAWfQB+sgoLKk!}S6E3mn@CAHXlGW;m~<@h9TAtwea`?!3JouZ5=_f0hDb^3pmLT!xv~pM_V2t+xA!SDAo9BRl4H~ z)V%>T(_IFRE<<_rctfn!WZU=xb>)9(gHzi8zJrM#0@5fq#P9{uXn(^aZ?bLQ#a;e{ zEUzru&+gIG!uNL%P-`Kj-}nNx4WO%(zZtgh1vH&Q29Eb@Bm}ggUCa^WLhUxbK>w3L z+N9gwG*#0nJ(as?8$&F`7g#jYr2S#Mi!STA9~Pho1DD|oc$Lj%`cynw|IFC1Zu#Qn zOJ}YB(UZ14@wZ<%_DFnzKU**0KOq1C2tWV=5P$##AOHafKmY=xjDYb4o~4)maK6Aq z|F#C!1wMH6`K#VG{lkxc(kUlgx@Ki`(KD{Ne8rk5o3LQQq)8JFiz4khN&kfJrGJ|+ zVM_R?{tx|6{rv|1<6-`P(u4!fc*5Lyw@#Qo=iUkPub%(7d9RuK)p;k*xp(f19_B0f zZ3sXB0uX=z1Rwwb2tWV=8wqqzn>Kx?qL}!c|LH4NTyfr|tJbW%V%3VLpLhAn zH7hP$v1Y|z`n~B#p1SPt)0Rc29e%_K%c8}9X_v*((#4mpyk>EbgJ7oN9b&EiNuf90A> zFJHN|wNLZ)+U3e;`agL1UG_O<`m~+SE+$U6bk&6`uU`GEr|V3z)uzwKY@r57%a`~h+C$}8-Piw<9Y+R4YBq^~=1*-83a4S%!xn^|+| zny2^tZTi2xp1;R^o;YdRPW$aQ@vMHL{eL&BS3c{?m8&jT8UCsU{&RBAEBmuQT)Jw- z!!VF#WyEk z^NFeYy@~Vx$N$l+{{Qp;$_4=lKmY;|fB*y_009U<00Izzz}O)$(|ZKIj-Xi=c*}k7 zdEz`by+s|t*!f%Loj?Er5P$##AOHafKmY;|fWY`9VCo325P^rQBbe#w4Ac>vc;mr0 zF5LN-3+OvoPxheipe77v8ZubMm-aLjr0-y%xr7Q=DzB>uCr2o(eui6=sQ^7-;zZW zP5(vz2&Hk1NuRD-n)W%+chIjF%o?g4O!nhpQv#@ddieZ+_9l?4j>?UtrSw56c(O z|FA&-0uX=z1Rwwb2tWV=5P$##ATYuR#H)K`fKc!)89?<(s^x8|n&MIT0!xqkx1WD; zZ})P1ff4rC&C7uR1Rwwb2tWV=5P$##AOHafJVFA-7g(b&9hNU}?xc_X>uxhod6oAC zCeMF$?F;Dt*dPD_2tWV=5P$##AOHafKmY;|*m4BoH9azbZ)d8`oRR_5GPhHyQ?+xO z#~1jAg+IOO#*h5-*YO3m++Q|72?7v+00bZa0SG_<0uX=z1R$_E2pC`BN`3!f`2wGR z-rjf2f5~0n^uEB9`D=nNpnqY500bZa0SG_<0uX=z1Rwwb2tZ(y5QwkrkpaTgbIAaj zv#3$9Z9gr3Yxx2vXPrYoeZs7@_yU{cubOWH0SG_<0uX=z1Rwwb2tWV=5ZG!2j4!ZO zFJf4}Kz!AWue~Gw?f1MdFm?VZjW3{oWrF|&AOHafKmY;|fB*y_009U<;I9#g*Y?N& z?WQw88Ktc%ORGE?$-clXYwy4Or!SuRdwhYv_7}~cLjVF0fB*y_009U<00Izz00c%h z0pkl?rB^yEU*M`&UO9W#tnaMxzQDBk2N+*K|G@?U2tWV=5P$##AOHafKmY;|7}o^i zt9oRB&VUTy5=LVGv@vD&wK&>1{(w*009U<00Izz z00bZa0SG`~6cUK9>5&1_Mg}ONq^#0*mE`yWOJ}Wr&%eEFo9(wbb2+}iC_Kn{$q;}5 z1Rwwb2tWV=5P$##AOHbF!1w~!>bHmG3q0eJJMX^bJ)gY6`vNoPeQJ;|pxX6ovLV6t`lEj(GANN_~r8799jMGp-yft00Izz00bZa0SG_<0uX=z1pW$v_y(J3yHEjN^d)MC zpH+G8WdMAEv}|O6R+N-gp{5CCyvCy2g1*50ufF|VcbzfgQhb5Ga&Ys<5P$##AOHaf zKmY;|fB*y_0D%!s!1w|;>ZK0L7ue&E8)p9Tb=y7QeSx|2IuGj$=#SVS009U<00Izz z00bZa0SG`~JQIj-w28J074VV)vM4Por`)^57f91~BLkFC+N!d&%9Hp?i*9830uM}n z@U9o0c;UP81;+Eq&3lIc1Rwwb2tWV=5P$##AOL}}K*0C{euBWTe1XR=_|_lZ@$UHj z-WQlRZ^t2g0sSEx1Rwwb2tWV=5P$##AOHafj8OvdO*YYXp#okqKpv?VewtQkfiIAz zodFrZC4Njmq45bWUTe{fI$t3A=j*?9;^7PL^XmeW=KpxY{2$N%)fhdG{kp*XxxX6H7tkNGK>z{}fB*y_009U<00Izzz^Ee-cPH3H z+l2~v$pB@PBvtOJG{+Z6r2-_*$&l!CS(IpYf_}O9DvNF``T}R&y?W^v-hKQl@C8QQ ziOma!00bZa0SG_<0uX=z1Rwwb2>dyL!M;FuXkTEj_x$GmUtIL*kNb6j1#`dnS9}5O zzy<*bKmY;|fB*y_009U<00JY3K-`^Z18o-y;N=2z>L~%48sg&%EJ>Z$0s3WtB1+0C zZC6PiU){rQeEI_KS^LowpYgHF{~ljp1fABr6bL{70uX=z1Rwwb2tWV=5P-m=BQV$( zc+SwiK=G90&v?$a4}Gm)7uaU*`oHQ6XcsmJKmY;|fB*y_009U<00I!$A_U^@B%5bv zA#x!54@m1Gq*8D5JDh6=jvT<7+HDe1RnO;}eoxhwfy5_zv_PeABVJ zEV+00-IzzPMb2q{2m~Mi0SG_<0uX=z1Rwwb2tZ)75*X|Y+&r`|@W*w_@A~BHPd&~1 z0^81g-Y|Rt?ZgHF2tWV=5P$##AOHafKmY=dkwDy?Y~$=Kl)uXbNTW1YtXriezQ7tU z17wX1pq2@3nE+MNiLbTv@CBrg6s^j2;wvndG#@~hy6EA2ftCB7bLM-0a>SSDFYp*o zX}%l+5P$##AOHafKmY;|fB*y_u=NQH_62Sk+81aYas4|^_}X!k{kp(*bI%`^FQDDn zAOHafKmY;|fB*y_009U<;9&{G-6=M;%|i9NT!1`Eozm_q%kc$P)iOYnXuD42k}69o zSH#y@eE0%7V3Ky_T)f(HNsC4X&|&rHeSt6B{qE-;a7gt7e1V5Oq4@&{KmY;|fB*y_ z009U<00Izzz-S>b*cW*2(7wPMPTutyS0D6^1%6#%`?-e<(-+W=Y!H9|1Rwwb2tWV= z5P$###wCHcJJp7^Stx#&3s6L9R%L4XE*Ah_pq2qbqFwYQDsRuKJohrd^_HK*7bvSj zO%uv^jpdTI8X2I7Hm@(R^0c>H_CR_35Ag-Y+pydscJc+NgT+*_U0a{VA zwS9pH{-AOHafKmY;|fB*y_009V$8Uk^5x{YkJCdy7bezLpL?mWX6 zShjX$zYGu(ZOH(6q+a-GTBSvNqb2C@1vCRd;}cxG)^bVPjSNsm=_v38<{f+LrTZ@U z&sX3JjGBuXFBAe0fB*y_009U<00Izz00bcLa0CYX0xuZa7kKfRi$1a4J=@Rm>jFE? z`R7OE3ut#X2tWV=5P$##AOHafKmYYFgpGIaO?ngLK~xNt%T?TP{EvNt94|ds@cbNj(hl1tPTt z$kiF36JKk|IM>JkWrQ!#7$#{xz$JB2lKSxpNv>0MvOir1e1R|DHm`N`)yGBn0)sAM z{00Od009U<00Izz00bZa0SG`~v=JEW3%q1#U*LOBdBWwBPQLI~zb>%roFg8UFQ6}D zg8&2|009U<00Izz00hPrfw()zrnPyKV>_j_X_a-VtiTs&Qrj$~*>VB$D0ND^t1OSZ zlPyDh0oRFKQe{cyiugK<#$^Mcw|2o7Xb!8i7~tX$t4>w4D%Xjxu;_;63*3C$j_FsI zf8$Yo@c06jOWJB=0F6)3N!PBNi&yvTvWa|w z15bO}v(NhZ>1W~#jFC$?Zvz4lfB*y_009U<00Izz00hP}fx*7O%ZBy^9(w)}M_qg8 zuO|6*f!$~S;Zgen`cgIsKmY;|fB*y_009UeEUiFr#Z~3}k7uaL=*B*l}pf6^F00bZa0SG_<0uX=z1hyi9xI5qGjd{qiTYX6y zC3)rhxF`4m8(n}V%1+fcK`ua9<#HvaS%&xmiIV<2Qf<4YOr%A8qow0QqOD!<1t!GJ zk(IU^89>uHTE63i&b$%q3q0u?Hy`rvzk1*he1WZa`Q}GM00Izz00bZa0SG_<0uX=z z1U3zU!M?z)L;C^`p1=QP&pm9~QGQ)u(d_p>CSO2b&ISPpKmY;|fB*y_009VW76Ng1 zflX@jQ1@QD06xi85BwBgph;}ACdqcSE0N_@(TTg$EyE07z{>z-lq6N|sx*&pvUpsm zfX5ezud-ay&VUTy5JjZg#ZK~009U< z00Izz00bZa0SIhK0)u^lR}Ae7yx>EpT=LOVXV&Wi(d?H!MqfbRfDHl=fB*y_009U< z00IzrgaqR5Ha2a{Lyq0=0=OzKs-%T4u+ar*f^4U%_OwbgMxh;dXIO^#0)5^E=+sjJ zG8MST-3gYD3yC(qKzwx%m!y#aGT)QK>6aV(zQD0B{M-w!xpmT=_yUjc(#`G=fB*y_ z009U<00Izz00bZafssdGurF}i(7wPg)|~W)AI- zo4^;)H(`SS1Rwwb2tWV=5P-nAAP{%AvvFh|a%{N(dE~On`I+zd0vr1RG�wMQK)P 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�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ⅈ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 literal 0 HcmV?d00001 diff --git a/test/files/models.rb b/test/files/models.rb new file mode 100644 index 000000000..1290fbf2c --- /dev/null +++ b/test/files/models.rb @@ -0,0 +1,548 @@ +# frozen_string_literal: true + +require 'active_record' + +# Models +class Event < ActiveRecord::Base +end + +class Event40 < ActiveRecord::Base +end + +db_path ="#{__dir__}/db/calendar.sqlite3" + +# Activerecord initializer +ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: db_path) + +unless File.exist?(db_path) + + ActiveRecord::Schema.define do + create_table :events do |t| + t.string :title + t.timestamp :time + end + create_table :event40s do |t| + t.string :title + t.timestamp :time + end + end + + TIMES = <<~TIMES + 2021-10-21 13:18:23 +0000 + 2021-10-21 23:14:50 +0000 + 2021-10-23 01:06:02 +0000 + 2021-10-25 18:54:35 +0000 + 2021-10-26 02:22:17 +0000 + 2021-10-28 22:59:49 +0000 + 2021-10-30 15:02:25 +0000 + 2021-11-02 04:03:39 +0000 + 2021-11-04 22:41:23 +0000 + 2021-11-06 00:34:29 +0000 + 2021-11-06 23:56:16 +0000 + 2021-11-07 06:22:04 +0000 + 2021-11-07 19:46:08 +0000 + 2021-11-08 09:31:13 +0000 + 2021-11-09 17:22:03 +0000 + 2021-11-11 05:29:54 +0000 + 2021-11-13 09:41:04 +0000 + 2021-11-16 07:48:22 +0000 + 2021-11-16 12:43:44 +0000 + 2021-11-17 16:03:07 +0000 + 2021-11-20 02:39:01 +0000 + 2021-11-21 02:01:24 +0000 + 2021-11-23 19:24:43 +0000 + 2021-11-26 11:47:22 +0000 + 2021-11-28 06:30:04 +0000 + 2021-12-01 00:13:55 +0000 + 2021-12-03 19:10:16 +0000 + 2021-12-04 00:43:47 +0000 + 2021-12-06 20:15:35 +0000 + 2021-12-09 16:27:07 +0000 + 2021-12-10 15:28:48 +0000 + 2021-12-10 23:08:16 +0000 + 2021-12-11 23:09:08 +0000 + 2021-12-14 04:56:58 +0000 + 2021-12-14 14:00:56 +0000 + 2021-12-15 22:58:51 +0000 + 2021-12-16 01:28:21 +0000 + 2021-12-16 20:16:54 +0000 + 2021-12-19 00:34:04 +0000 + 2021-12-19 06:58:41 +0000 + 2021-12-21 11:13:53 +0000 + 2021-12-23 07:28:50 +0000 + 2021-12-23 07:57:58 +0000 + 2021-12-23 18:32:13 +0000 + 2021-12-24 01:17:51 +0000 + 2021-12-25 05:36:16 +0000 + 2021-12-25 23:21:57 +0000 + 2021-12-27 12:18:57 +0000 + 2021-12-28 16:59:57 +0000 + 2021-12-31 15:10:23 +0000 + 2022-01-01 19:18:06 +0000 + 2022-01-03 08:36:27 +0000 + 2022-01-03 23:31:01 +0000 + 2022-01-05 02:14:57 +0000 + 2022-01-06 09:26:03 +0000 + 2022-01-07 20:22:22 +0000 + 2022-01-10 04:04:28 +0000 + 2022-01-11 17:17:55 +0000 + 2022-01-14 05:21:54 +0000 + 2022-01-16 01:18:58 +0000 + 2022-01-18 08:42:56 +0000 + 2022-01-19 00:45:04 +0000 + 2022-01-20 08:18:54 +0000 + 2022-01-22 05:26:38 +0000 + 2022-01-24 10:57:50 +0000 + 2022-01-26 09:47:02 +0000 + 2022-01-28 20:44:30 +0000 + 2022-01-31 16:19:50 +0000 + 2022-02-01 21:23:58 +0000 + 2022-02-04 14:41:57 +0000 + 2022-02-06 20:40:06 +0000 + 2022-02-07 23:03:50 +0000 + 2022-02-09 05:28:08 +0000 + 2022-02-10 02:19:12 +0000 + 2022-02-11 07:51:30 +0000 + 2022-02-12 13:46:16 +0000 + 2022-02-13 21:06:40 +0000 + 2022-02-15 11:37:50 +0000 + 2022-02-18 11:23:15 +0000 + 2022-02-20 08:01:49 +0000 + 2022-02-23 03:00:30 +0000 + 2022-02-24 21:52:25 +0000 + 2022-02-25 12:07:56 +0000 + 2022-02-27 04:20:20 +0000 + 2022-02-28 21:09:42 +0000 + 2022-03-02 23:35:41 +0000 + 2022-03-04 00:42:10 +0000 + 2022-03-05 00:59:10 +0000 + 2022-03-06 19:58:01 +0000 + 2022-03-07 07:48:09 +0000 + 2022-03-09 06:08:00 +0000 + 2022-03-10 05:45:08 +0000 + 2022-03-12 21:16:31 +0000 + 2022-03-15 08:17:44 +0000 + 2022-03-16 03:37:03 +0000 + 2022-03-18 05:07:54 +0000 + 2022-03-20 04:05:26 +0000 + 2022-03-22 10:52:33 +0000 + 2022-03-23 15:26:54 +0000 + 2022-03-24 09:01:04 +0000 + 2022-03-24 23:53:07 +0000 + 2022-03-27 13:45:17 +0000 + 2022-03-28 19:57:00 +0000 + 2022-03-29 15:42:35 +0000 + 2022-03-29 18:20:32 +0000 + 2022-04-01 15:35:47 +0000 + 2022-04-02 06:33:31 +0000 + 2022-04-03 18:27:19 +0000 + 2022-04-03 23:44:08 +0000 + 2022-04-06 10:59:32 +0000 + 2022-04-07 01:33:53 +0000 + 2022-04-08 10:26:34 +0000 + 2022-04-10 19:21:08 +0000 + 2022-04-12 01:50:04 +0000 + 2022-04-14 19:56:29 +0000 + 2022-04-15 09:08:22 +0000 + 2022-04-16 07:58:47 +0000 + 2022-04-17 16:31:40 +0000 + 2022-04-20 09:50:22 +0000 + 2022-04-23 04:24:22 +0000 + 2022-04-25 07:18:04 +0000 + 2022-04-27 16:57:48 +0000 + 2022-04-29 18:48:09 +0000 + 2022-04-29 20:30:25 +0000 + 2022-05-02 03:44:25 +0000 + 2022-05-03 15:27:57 +0000 + 2022-05-04 08:11:15 +0000 + 2022-05-07 00:42:14 +0000 + 2022-05-09 15:23:31 +0000 + 2022-05-10 19:11:49 +0000 + 2022-05-11 14:04:17 +0000 + 2022-05-14 12:09:34 +0000 + 2022-05-15 13:31:54 +0000 + 2022-05-17 21:21:37 +0000 + 2022-05-19 01:27:43 +0000 + 2022-05-21 04:34:59 +0000 + 2022-05-23 11:05:18 +0000 + 2022-05-23 19:14:50 +0000 + 2022-05-26 13:16:18 +0000 + 2022-05-27 11:39:35 +0000 + 2022-05-29 07:09:07 +0000 + 2022-05-30 15:13:23 +0000 + 2022-06-01 04:18:40 +0000 + 2022-06-01 11:11:51 +0000 + 2022-06-01 12:45:06 +0000 + 2022-06-03 07:08:31 +0000 + 2022-06-04 23:28:11 +0000 + 2022-06-07 12:14:01 +0000 + 2022-06-08 13:32:22 +0000 + 2022-06-10 18:56:37 +0000 + 2022-06-12 16:00:09 +0000 + 2022-06-15 13:28:55 +0000 + 2022-06-16 18:42:37 +0000 + 2022-06-17 00:36:21 +0000 + 2022-06-18 16:21:27 +0000 + 2022-06-20 13:50:27 +0000 + 2022-06-22 09:43:55 +0000 + 2022-06-25 09:43:17 +0000 + 2022-06-27 06:51:01 +0000 + 2022-06-28 09:10:53 +0000 + 2022-06-30 18:46:16 +0000 + 2022-07-01 16:05:14 +0000 + 2022-07-02 14:02:12 +0000 + 2022-07-05 11:08:11 +0000 + 2022-07-05 12:44:38 +0000 + 2022-07-08 03:55:17 +0000 + 2022-07-08 18:02:14 +0000 + 2022-07-09 09:41:17 +0000 + 2022-07-11 07:34:51 +0000 + 2022-07-13 05:11:19 +0000 + 2022-07-15 02:46:56 +0000 + 2022-07-16 15:40:39 +0000 + 2022-07-17 19:44:15 +0000 + 2022-07-19 00:31:12 +0000 + 2022-07-21 21:58:24 +0000 + 2022-07-22 05:25:48 +0000 + 2022-07-22 18:33:04 +0000 + 2022-07-24 07:42:24 +0000 + 2022-07-25 07:21:20 +0000 + 2022-07-27 12:02:44 +0000 + 2022-07-29 03:29:28 +0000 + 2022-07-29 11:35:43 +0000 + 2022-07-30 05:25:21 +0000 + 2022-07-30 19:39:10 +0000 + 2022-07-31 18:54:58 +0000 + 2022-08-03 11:18:44 +0000 + 2022-08-05 00:37:47 +0000 + 2022-08-05 12:08:08 +0000 + 2022-08-07 14:39:19 +0000 + 2022-08-08 09:52:59 +0000 + 2022-08-09 13:48:29 +0000 + 2022-08-11 19:03:04 +0000 + 2022-08-13 01:56:49 +0000 + 2022-08-15 11:33:09 +0000 + 2022-08-17 23:37:45 +0000 + 2022-08-19 00:47:19 +0000 + 2022-08-19 01:01:12 +0000 + 2022-08-21 07:37:55 +0000 + 2022-08-21 21:42:15 +0000 + 2022-08-23 10:55:39 +0000 + 2022-08-25 16:20:29 +0000 + 2022-08-27 06:28:14 +0000 + 2022-08-27 13:12:57 +0000 + 2022-08-28 23:00:13 +0000 + 2022-08-31 05:19:56 +0000 + 2022-09-02 18:00:18 +0000 + 2022-09-04 12:02:47 +0000 + 2022-09-06 00:57:21 +0000 + 2022-09-08 04:26:01 +0000 + 2022-09-09 04:55:45 +0000 + 2022-09-11 22:59:36 +0000 + 2022-09-12 00:54:25 +0000 + 2022-09-12 17:44:24 +0000 + 2022-09-12 20:47:30 +0000 + 2022-09-15 11:39:20 +0000 + 2022-09-16 07:54:15 +0000 + 2022-09-17 08:06:29 +0000 + 2022-09-18 07:17:17 +0000 + 2022-09-19 08:39:55 +0000 + 2022-09-22 06:32:56 +0000 + 2022-09-22 21:26:29 +0000 + 2022-09-24 16:06:50 +0000 + 2022-09-27 05:50:18 +0000 + 2022-09-28 12:12:13 +0000 + 2022-09-29 21:13:01 +0000 + 2022-09-30 00:09:29 +0000 + 2022-10-02 04:35:07 +0000 + 2022-10-02 16:30:20 +0000 + 2022-10-04 10:35:59 +0000 + 2022-10-04 23:39:37 +0000 + 2022-10-07 23:25:10 +0000 + 2022-10-08 20:31:14 +0000 + 2022-10-09 07:30:41 +0000 + 2022-10-11 07:29:41 +0000 + 2022-10-11 08:00:58 +0000 + 2022-10-14 03:22:26 +0000 + 2022-10-16 14:47:54 +0000 + 2022-10-17 00:28:32 +0000 + 2022-10-19 10:46:33 +0000 + 2022-10-21 02:39:31 +0000 + 2022-10-21 19:24:24 +0000 + 2022-10-23 05:38:26 +0000 + 2022-10-25 13:28:28 +0000 + 2022-10-26 20:26:31 +0000 + 2022-10-29 12:43:40 +0000 + 2022-10-31 11:21:43 +0000 + 2022-11-03 04:42:32 +0000 + 2022-11-04 20:26:28 +0000 + 2022-11-05 15:08:01 +0000 + 2022-11-06 10:55:38 +0000 + 2022-11-07 04:13:28 +0000 + 2022-11-08 03:42:59 +0000 + 2022-11-10 13:56:10 +0000 + 2022-11-13 13:01:38 +0000 + 2022-11-15 02:04:32 +0000 + 2022-11-17 09:10:48 +0000 + 2022-11-19 11:37:01 +0000 + 2022-11-20 06:15:33 +0000 + 2022-11-22 08:35:41 +0000 + 2022-11-24 20:42:50 +0000 + 2022-11-25 17:45:48 +0000 + 2022-11-28 06:16:15 +0000 + 2022-11-28 18:12:24 +0000 + 2022-11-30 20:09:46 +0000 + 2022-12-01 03:29:43 +0000 + 2022-12-02 03:58:02 +0000 + 2022-12-02 19:47:06 +0000 + 2022-12-04 14:54:02 +0000 + 2022-12-06 02:22:58 +0000 + 2022-12-06 09:29:06 +0000 + 2022-12-06 17:16:19 +0000 + 2022-12-09 14:10:12 +0000 + 2022-12-11 19:54:41 +0000 + 2022-12-11 23:48:45 +0000 + 2022-12-12 12:05:28 +0000 + 2022-12-12 21:37:48 +0000 + 2022-12-15 05:08:10 +0000 + 2022-12-16 19:06:39 +0000 + 2022-12-18 21:49:36 +0000 + 2022-12-20 00:54:09 +0000 + 2022-12-22 21:51:31 +0000 + 2022-12-25 08:40:02 +0000 + 2022-12-26 22:01:45 +0000 + 2022-12-29 18:46:07 +0000 + 2023-01-01 01:55:31 +0000 + 2023-01-01 17:34:53 +0000 + 2023-01-04 09:05:13 +0000 + 2023-01-05 01:57:33 +0000 + 2023-01-06 08:56:47 +0000 + 2023-01-07 18:52:12 +0000 + 2023-01-08 00:43:40 +0000 + 2023-01-10 13:28:23 +0000 + 2023-01-13 10:22:38 +0000 + 2023-01-15 01:43:06 +0000 + 2023-01-15 04:30:52 +0000 + 2023-01-16 23:13:04 +0000 + 2023-01-19 17:16:31 +0000 + 2023-01-21 09:25:58 +0000 + 2023-01-23 09:42:42 +0000 + 2023-01-24 11:13:59 +0000 + 2023-01-25 00:57:26 +0000 + 2023-01-27 10:31:18 +0000 + 2023-01-28 07:08:54 +0000 + 2023-01-28 09:46:16 +0000 + 2023-01-30 04:34:32 +0000 + 2023-01-30 05:30:26 +0000 + 2023-01-31 08:08:44 +0000 + 2023-02-03 01:02:02 +0000 + 2023-02-03 10:02:38 +0000 + 2023-02-05 02:22:53 +0000 + 2023-02-05 05:55:46 +0000 + 2023-02-07 06:18:28 +0000 + 2023-02-08 13:57:28 +0000 + 2023-02-08 17:53:12 +0000 + 2023-02-10 08:40:27 +0000 + 2023-02-10 10:28:23 +0000 + 2023-02-12 15:42:42 +0000 + 2023-02-14 06:11:35 +0000 + 2023-02-14 12:22:06 +0000 + 2023-02-16 14:43:29 +0000 + 2023-02-16 15:58:19 +0000 + 2023-02-17 08:36:37 +0000 + 2023-02-19 04:20:36 +0000 + 2023-02-21 03:27:07 +0000 + 2023-02-22 09:09:23 +0000 + 2023-02-24 10:19:14 +0000 + 2023-02-26 13:28:50 +0000 + 2023-02-27 15:33:38 +0000 + 2023-03-01 14:48:42 +0000 + 2023-03-02 19:17:52 +0000 + 2023-03-03 09:48:41 +0000 + 2023-03-04 12:44:18 +0000 + 2023-03-06 18:24:47 +0000 + 2023-03-09 13:55:36 +0000 + 2023-03-11 13:50:26 +0000 + 2023-03-14 05:57:47 +0000 + 2023-03-14 09:16:38 +0000 + 2023-03-14 12:34:22 +0000 + 2023-03-14 15:15:53 +0000 + 2023-03-16 18:34:04 +0000 + 2023-03-19 13:01:38 +0000 + 2023-03-19 15:24:32 +0000 + 2023-03-20 14:56:28 +0000 + 2023-03-21 12:32:45 +0000 + 2023-03-23 22:16:22 +0000 + 2023-03-24 01:05:24 +0000 + 2023-03-26 12:01:36 +0000 + 2023-03-29 07:45:17 +0000 + 2023-04-01 06:03:31 +0000 + 2023-04-02 20:45:43 +0000 + 2023-04-03 05:33:10 +0000 + 2023-04-03 16:15:11 +0000 + 2023-04-05 14:56:49 +0000 + 2023-04-06 22:21:46 +0000 + 2023-04-08 19:50:51 +0000 + 2023-04-09 06:14:30 +0000 + 2023-04-09 11:26:27 +0000 + 2023-04-11 21:34:04 +0000 + 2023-04-14 08:51:06 +0000 + 2023-04-16 15:58:05 +0000 + 2023-04-17 03:06:43 +0000 + 2023-04-18 16:28:30 +0000 + 2023-04-18 17:32:38 +0000 + 2023-04-19 20:34:45 +0000 + 2023-04-22 06:16:01 +0000 + 2023-04-22 12:00:25 +0000 + 2023-04-24 21:12:27 +0000 + 2023-04-27 15:19:36 +0000 + 2023-04-29 00:43:46 +0000 + 2023-04-29 17:50:02 +0000 + 2023-04-30 05:22:14 +0000 + 2023-05-01 07:20:17 +0000 + 2023-05-03 05:11:16 +0000 + 2023-05-05 00:13:31 +0000 + 2023-05-05 12:08:33 +0000 + 2023-05-05 16:26:19 +0000 + 2023-05-07 23:53:00 +0000 + 2023-05-10 17:41:27 +0000 + 2023-05-12 01:37:24 +0000 + 2023-05-14 08:18:36 +0000 + 2023-05-16 15:17:43 +0000 + 2023-05-16 18:24:55 +0000 + 2023-05-19 16:16:45 +0000 + 2023-05-21 00:48:36 +0000 + 2023-05-22 00:54:41 +0000 + 2023-05-24 05:36:25 +0000 + 2023-05-25 10:05:39 +0000 + 2023-05-26 16:09:51 +0000 + 2023-05-29 12:40:29 +0000 + 2023-05-29 13:15:05 +0000 + 2023-05-31 15:28:14 +0000 + 2023-06-02 02:05:21 +0000 + 2023-06-02 13:05:50 +0000 + 2023-06-04 11:12:19 +0000 + 2023-06-05 10:04:34 +0000 + 2023-06-06 02:47:22 +0000 + 2023-06-07 04:35:17 +0000 + 2023-06-07 16:20:27 +0000 + 2023-06-08 07:43:14 +0000 + 2023-06-10 17:55:59 +0000 + 2023-06-12 17:00:02 +0000 + 2023-06-14 08:37:14 +0000 + 2023-06-14 18:07:30 +0000 + 2023-06-16 12:07:26 +0000 + 2023-06-18 22:29:39 +0000 + 2023-06-19 02:32:54 +0000 + 2023-06-20 14:24:40 +0000 + 2023-06-22 09:27:59 +0000 + 2023-06-23 07:31:20 +0000 + 2023-06-23 21:06:55 +0000 + 2023-06-26 06:57:28 +0000 + 2023-06-28 17:08:12 +0000 + 2023-06-29 03:06:47 +0000 + 2023-06-30 12:25:41 +0000 + 2023-07-02 08:49:42 +0000 + 2023-07-03 20:09:26 +0000 + 2023-07-06 17:39:13 +0000 + 2023-07-09 00:18:52 +0000 + 2023-07-11 03:58:21 +0000 + 2023-07-12 22:37:00 +0000 + 2023-07-14 01:58:44 +0000 + 2023-07-16 20:21:13 +0000 + 2023-07-17 01:41:47 +0000 + 2023-07-19 10:06:35 +0000 + 2023-07-21 17:44:16 +0000 + 2023-07-22 02:46:04 +0000 + 2023-07-22 06:52:04 +0000 + 2023-07-23 04:53:49 +0000 + 2023-07-25 16:37:24 +0000 + 2023-07-27 18:34:33 +0000 + 2023-07-28 02:34:02 +0000 + 2023-07-29 19:53:32 +0000 + 2023-07-30 23:30:11 +0000 + 2023-08-02 17:46:22 +0000 + 2023-08-03 00:01:21 +0000 + 2023-08-03 03:57:56 +0000 + 2023-08-03 21:41:28 +0000 + 2023-08-04 23:37:31 +0000 + 2023-08-05 08:20:42 +0000 + 2023-08-07 21:01:55 +0000 + 2023-08-10 17:03:47 +0000 + 2023-08-11 21:06:31 +0000 + 2023-08-12 08:45:08 +0000 + 2023-08-13 07:09:39 +0000 + 2023-08-14 11:15:10 +0000 + 2023-08-16 04:15:48 +0000 + 2023-08-19 04:11:43 +0000 + 2023-08-19 10:10:27 +0000 + 2023-08-22 09:41:20 +0000 + 2023-08-24 10:27:08 +0000 + 2023-08-24 18:16:12 +0000 + 2023-08-25 17:02:28 +0000 + 2023-08-27 15:58:52 +0000 + 2023-08-27 23:29:53 +0000 + 2023-08-28 21:31:27 +0000 + 2023-08-29 03:35:29 +0000 + 2023-08-31 06:15:19 +0000 + 2023-09-01 21:56:52 +0000 + 2023-09-02 22:57:53 +0000 + 2023-09-05 03:28:30 +0000 + 2023-09-07 04:57:12 +0000 + 2023-09-09 19:16:05 +0000 + 2023-09-09 20:01:39 +0000 + 2023-09-11 03:23:22 +0000 + 2023-09-12 15:18:29 +0000 + 2023-09-13 14:14:43 +0000 + 2023-09-13 17:37:25 +0000 + 2023-09-14 18:17:49 +0000 + 2023-09-16 19:56:55 +0000 + 2023-09-18 14:21:02 +0000 + 2023-09-21 00:34:13 +0000 + 2023-09-23 07:14:06 +0000 + 2023-09-24 17:22:22 +0000 + 2023-09-27 12:42:54 +0000 + 2023-09-28 14:48:45 +0000 + 2023-10-01 11:54:24 +0000 + 2023-10-03 07:36:32 +0000 + 2023-10-05 05:13:57 +0000 + 2023-10-06 16:07:06 +0000 + 2023-10-09 00:03:52 +0000 + 2023-10-09 02:32:01 +0000 + 2023-10-10 16:39:07 +0000 + 2023-10-12 13:28:16 +0000 + 2023-10-14 04:29:14 +0000 + 2023-10-17 03:30:24 +0000 + 2023-10-20 03:13:15 +0000 + 2023-10-20 20:47:06 +0000 + 2023-10-21 13:59:34 +0000 + 2023-10-23 21:38:48 +0000 + 2023-10-24 06:07:13 +0000 + 2023-10-25 22:51:17 +0000 + 2023-10-26 21:12:50 +0000 + 2023-10-28 05:52:20 +0000 + 2023-10-29 22:11:01 +0000 + 2023-10-30 12:29:25 +0000 + 2023-11-02 02:52:55 +0000 + 2023-11-02 06:00:32 +0000 + 2023-11-03 08:39:06 +0000 + 2023-11-04 23:51:22 +0000 + 2023-11-07 16:11:33 +0000 + 2023-11-10 10:55:29 +0000 + 2023-11-12 01:20:18 +0000 + 2023-11-12 04:22:50 +0000 + 2023-11-12 08:38:58 +0000 + 2023-11-13 15:43:40 +0000 + TIMES + + # DB seed + TIMES.each_line(chomp: true).with_index do |time, i| + count = i + 1 + Event.create(title: "Event ##{count}", time:) + Event40.create(title: "Event ##{count}", time:) if count <= 40 + end + +end + +# Down here to avoid logging the DB seed above at each restart +# ActiveRecord::Base.logger = Logger.new($stdout) diff --git a/test/mock_helpers/app.rb b/test/mock_helpers/app.rb index 5f10963b2..26f0d93be 100644 --- a/test/mock_helpers/app.rb +++ b/test/mock_helpers/app.rb @@ -1,7 +1,8 @@ # frozen_string_literal: true -require 'rack' require 'active_support/core_ext/hash/indifferent_access' +require 'groupdate' +require 'rack' # Backend and Frontend poor man mock app class MockApp @@ -28,11 +29,20 @@ def set_pagy_locale(locale) # rubocop:disable Naming/AccessorMethodName class Calendar < MockApp def pagy_calendar_period(collection) - collection.minmax.map(&:in_time_zone) + starting = collection.minimum(:time) + ending = collection.maximum(:time) + [starting.in_time_zone, ending.in_time_zone] end def pagy_calendar_filter(collection, from, to) - collection.select_page_of_records(from, to) + collection.where(time: from...to) + end + end + + class CalendarCounts < Calendar + def pagy_calendar_counts(collection, unit, from, to) + # group_by_period is provided by the groupdate gem + collection.group_by_period(unit, :time, range: from...to).count.values end end end diff --git a/test/mock_helpers/collection.rb b/test/mock_helpers/collection.rb index a2be52331..68face19b 100644 --- a/test/mock_helpers/collection.rb +++ b/test/mock_helpers/collection.rb @@ -52,32 +52,4 @@ def group_values [:other_table_id] end end - - class Calendar < MockCollection - YAML_FILE = File.expand_path('../files/calendar_collection.yml', __dir__) - # :nocov: - COLLECTION = if Psych::VERSION > '3.3.0' - YAML.safe_load_file(YAML_FILE, permitted_classes: [ActiveSupport::TimeWithZone, - ActiveSupport::TimeZone, - Time], - aliases: ["1"]) - else - YAML.safe_load_file(YAML_FILE, [ActiveSupport::TimeWithZone, - ActiveSupport::TimeZone, - Time], [], true) - end - # :nocov: - - def initialize(arr = COLLECTION) - super - end - - # Select days from the beginning of start_day to the end of end_day - # Accepts strings or DateTime args - def select_page_of_records(start_date, end_date) - paged = select { |date| date >= start_date && date < end_date } - # mock AR scope, returning the same type of object - self.class.new(paged) - end - end end diff --git a/test/pagy/extras/calendar_extra_test.rb b/test/pagy/extras/calendar_extra_test.rb index 740809e19..3a2dc5046 100644 --- a/test/pagy/extras/calendar_extra_test.rb +++ b/test/pagy/extras/calendar_extra_test.rb @@ -4,6 +4,7 @@ require 'pagy/extras/calendar' require_relative '../../mock_helpers/collection' +require_relative '../../files/models' require_relative '../../mock_helpers/app' Time.zone = 'GMT' @@ -14,20 +15,18 @@ def app(**opts) end describe 'pagy/extras/calendar' do - before do - @collection = MockCollection::Calendar.new - end - describe 'instance methods' do it 'returns a Pagy::Calendar::Month instance' do - calendar, pagy, _records = app(params: { page: 1 }).send(:pagy_calendar, @collection, + calendar, pagy, _records = app(params: { page: 1 }).send(:pagy_calendar, + Event.all, month: { period: [Time.now, Time.now + 5000] }, pagy: {}) _(calendar[:month]).must_be_instance_of Pagy::Calendar::Month _(pagy).must_be_instance_of Pagy end it 'skips the calendar' do - calendar, pagy, records = app(params: { page: 1 }).send(:pagy_calendar, @collection, + calendar, pagy, records = app(params: { page: 1 }).send(:pagy_calendar, + Event.all, month: { period: [Time.now, Time.now + 5000] }, pagy: {}, active: false) @@ -46,182 +45,208 @@ def app(**opts) _(error.message).must_match 'the pagy_calendar_filter method must be implemented by the application' end it 'raises ArgumentError for wrong conf' do - _ { MockApp::Calendar.new.send(:pagy_calendar, @collection, []) }.must_raise ArgumentError - _ { MockApp::Calendar.new.send(:pagy_calendar, @collection, unknown: {}) }.must_raise ArgumentError - _ { MockApp::Calendar.new.send(:pagy_calendar, @collection, year: []) }.must_raise TypeError - _ { MockApp::Calendar.new.send(:pagy_calendar, @collection, {}) }.must_raise ArgumentError + _ { MockApp::Calendar.new.send(:pagy_calendar, Event.all, []) }.must_raise ArgumentError + _ { MockApp::Calendar.new.send(:pagy_calendar, Event.all, unknown: {}) }.must_raise ArgumentError + _ { MockApp::Calendar.new.send(:pagy_calendar, Event.all, year: []) }.must_raise TypeError + _ { MockApp::Calendar.new.send(:pagy_calendar, Event.all, {}) }.must_raise ArgumentError end it 'selects :year for the pages and check the total' do total = 0 - calendar, _pagy, entries = app(params: { year_page: 1 }).send(:pagy_calendar, @collection, + calendar, _pagy, entries = app(params: { year_page: 1 }).send(:pagy_calendar, + Event.all, year: { size: [1, 4, 4, 1] }, pagy: { items: 600 }) _(calendar[:year].series).must_equal ["1", 2, 3] _(calendar[:year].pages).must_equal 3 _(calendar[:year].prev).must_be_nil _(calendar[:year].next).must_equal 2 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries total += entries.size - calendar, _pagy, entries = app(params: { year_page: 2 }).send(:pagy_calendar, @collection, - year: {}, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { year_page: 2 }) + .send(:pagy_calendar, + Event.all, + year: {}, + pagy: { items: 600 }) _(calendar[:year].series).must_equal [1, "2", 3] _(calendar[:year].pages).must_equal 3 _(calendar[:year].prev).must_equal 1 _(calendar[:year].next).must_equal 3 - _(entries.to_a).must_rematch :entries_2 + _(entries.map(&:time)).must_rematch :entries_2 total += entries.size - calendar, _pagy, entries = app(params: { year_page: 3 }).send(:pagy_calendar, @collection, - year: {}, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { year_page: 3 }) + .send(:pagy_calendar, + Event.all, + year: {}, + pagy: { items: 600 }) _(calendar[:year].series).must_equal [1, 2, '3'] _(calendar[:year].prev).must_equal 2 _(calendar[:year].next).must_be_nil - _(entries.to_a).must_rematch :entries_3 + _(entries.map(&:time)).must_rematch :entries_3 total += entries.size - _(total).must_equal @collection.size + _(total).must_equal Event.all.size end it 'selects :quarter for the first page' do - calendar, _pagy, entries = app(params: { quarter_page: 1 }).send(:pagy_calendar, @collection, - quarter: { size: [1, 4, 4, 1] }, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { quarter_page: 1 }) + .send(:pagy_calendar, + Event.all, + quarter: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:quarter].series).must_equal ["1", 2, 3, 4, 5, :gap, 9] _(calendar[:quarter].pages).must_equal 9 _(calendar[:quarter].prev).must_be_nil _(calendar[:quarter].next).must_equal 2 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :quarter for an intermediate page' do - calendar, _pagy, entries = app(params: { quarter_page: 4 }).send(:pagy_calendar, @collection, - quarter: { size: [1, 4, 4, 1] }, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { quarter_page: 4 }) + .send(:pagy_calendar, + Event.all, + quarter: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:quarter].series).must_equal [1, 2, 3, "4", 5, 6, 7, 8, 9] _(calendar[:quarter].pages).must_equal 9 _(calendar[:quarter].prev).must_equal 3 _(calendar[:quarter].next).must_equal 5 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :quarter for last page' do - calendar, _pagy, entries = app(params: { quarter_page: 9 }).send(:pagy_calendar, @collection, - quarter: { size: [1, 4, 4, 1] }, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { quarter_page: 9 }) + .send(:pagy_calendar, + Event.all, + quarter: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:quarter].series).must_equal [1, :gap, 5, 6, 7, 8, "9"] _(calendar[:quarter].pages).must_equal 9 _(calendar[:quarter].prev).must_equal 8 _(calendar[:quarter].next).must_be_nil - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :month for the first page' do - calendar, _pagy, entries = app(params: { month_page: 1 }).send(:pagy_calendar, @collection, - month: { size: [1, 4, 4, 1] }, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { month_page: 1 }) + .send(:pagy_calendar, + Event.all, + month: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:month].series).must_equal ["1", 2, 3, 4, 5, :gap, 26] _(calendar[:month].pages).must_equal 26 _(calendar[:month].prev).must_be_nil _(calendar[:month].next).must_equal 2 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :month for an intermediate page' do - calendar, _pagy, entries = app(params: { month_page: 25 }).send(:pagy_calendar, @collection, - month: { size: [1, 4, 4, 1] }, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { month_page: 25 }) + .send(:pagy_calendar, + Event.all, + month: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:month].series).must_equal [1, :gap, 21, 22, 23, 24, '25', 26] _(calendar[:month].prev).must_equal 24 _(calendar[:month].next).must_equal 26 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :month for the last page' do - calendar, _pagy, entries = app(params: { month_page: 26 }).send(:pagy_calendar, @collection, - month: { size: [1, 4, 4, 1]}, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { month_page: 26 }) + .send(:pagy_calendar, + Event.all, + month: { size: [1, 4, 4, 1]}, + pagy: { items: 600 }) _(calendar[:month].series).must_equal [1, :gap, 22, 23, 24, 25, '26'] _(calendar[:month].prev).must_equal 25 _(calendar[:month].next).must_be_nil - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :week for the first page' do - calendar, _pagy, entries = app(params: { week_page: 1 }).send(:pagy_calendar, @collection, - week: { first_weekday: :sunday, - size: [1, 4, 4, 1]}, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { week_page: 1 }) + .send(:pagy_calendar, + Event.all, + week: { first_weekday: :sunday, + size: [1, 4, 4, 1]}, + pagy: { items: 600 }) _(calendar[:week].series).must_equal ["1", 2, 3, 4, 5, :gap, 109] _(calendar[:week].pages).must_equal 109 _(calendar[:week].prev).must_be_nil _(calendar[:week].next).must_equal 2 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :week for an intermediate page' do - calendar, _pagy, entries = app(params: { week_page: 25 }).send(:pagy_calendar, @collection, - week: { first_weekday: :sunday, - size: [1, 4, 4, 1] }, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { week_page: 25 }) + .send(:pagy_calendar, + Event.all, + week: { first_weekday: :sunday, + size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:week].series).must_equal [1, :gap, 21, 22, 23, 24, "25", 26, 27, 28, 29, :gap, 109] _(calendar[:week].prev).must_equal 24 _(calendar[:week].next).must_equal 26 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :week for the last page' do - calendar, _pagy, entries = app(params: { week_page: 109 }).send(:pagy_calendar, @collection, - week: { first_weekday: :sunday, - size: [1, 4, 4, 1]}, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { week_page: 109 }) + .send(:pagy_calendar, + Event.all, + week: { first_weekday: :sunday, + size: [1, 4, 4, 1]}, + pagy: { items: 600 }) _(calendar[:week].series).must_equal [1, :gap, 105, 106, 107, 108, "109"] _(calendar[:week].prev).must_equal 108 _(calendar[:week].next).must_be_nil - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :day for the first page' do - collection = MockCollection::Calendar.new(@collection[0, 40]) - calendar, _pagy, entries = app(params: { day_page: 1 }).send(:pagy_calendar, collection, - day: { size: [1, 4, 4, 1] }, - pagy: { items: 600 }) - + calendar, _pagy, entries = app(params: { day_page: 1 }) + .send(:pagy_calendar, + Event40.all, + day: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:day].series).must_equal ["1", 2, 3, 4, 5, :gap, 60] _(calendar[:day].pages).must_equal 60 _(calendar[:day].prev).must_be_nil _(calendar[:day].next).must_equal 2 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :day for an intermediate page' do - collection = MockCollection::Calendar.new(@collection[0, 40]) - calendar, _pagy, entries = app(params: { day_page: 25 }).send(:pagy_calendar, collection, - day: { size: [1, 4, 4, 1] }, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { day_page: 25 }) + .send(:pagy_calendar, + Event40.all, + day: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:day].series).must_equal [1, :gap, 21, 22, 23, 24, "25", 26, 27, 28, 29, :gap, 60] _(calendar[:day].prev).must_equal 24 _(calendar[:day].next).must_equal 26 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :day for the last page' do - collection = MockCollection::Calendar.new(@collection[0, 40]) - calendar, _pagy, entries = app(params: { day_page: 60 }).send(:pagy_calendar, collection, - day: { size: [1, 4, 4, 1]}, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { day_page: 60 }) + .send(:pagy_calendar, + Event40.all, + day: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:day].series).must_equal [1, :gap, 56, 57, 58, 59, "60"] _(calendar[:day].prev).must_equal 59 _(calendar[:day].next).must_be_nil - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end end it 'runs multiple units' do - collection = MockCollection::Calendar.new(@collection) calendar, pagy, entries = app(params: { year_page: 2, month_page: 7, page: 2 }) - .send(:pagy_calendar, collection, year: {}, - month: {}, - pagy: { items: 10 }) + .send(:pagy_calendar, + Event.all, year: {}, + month: {}, + pagy: { items: 10 }) _(calendar[:year].series).must_equal [1, "2", 3] _(calendar[:month].series).must_equal [1, 2, 3, 4, 5, 6, "7", 8, 9, 10, 11, 12] _(pagy.series).must_equal [1, "2", 3] - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end describe 'pagy_calendar_url_at' do it 'returns the url' do - collection = MockCollection::Calendar.new(@collection) calendar, _pagy, _entries = app(params: { year_page: 2, month_page: 7, page: 2 }) - .send(:pagy_calendar, collection, year: {}, - month: {}, - pagy: { items: 10 }) + .send(:pagy_calendar, + Event.all, + year: {}, + month: {}, + pagy: { items: 10 }) _(app.send(:pagy_calendar_url_at, calendar, Time.zone.local(2021, 12, 21))) .must_equal "/foo?page=1&year_page=1&month_page=3" @@ -246,9 +271,8 @@ def app(**opts) end describe "#showtime" do it "returns the showtime" do - collection = MockCollection::Calendar.new(@collection) calendar, _pagy, _entries = app(params: { year_page: 2, month_page: 7, page: 2 }) - .send(:pagy_calendar, collection, + .send(:pagy_calendar, Event.all, year: {}, month: {}, pagy: { items: 10 }) diff --git a/test/pagy/extras/headers_test.rb b/test/pagy/extras/headers_test.rb index bc391a151..11c8f922f 100644 --- a/test/pagy/extras/headers_test.rb +++ b/test/pagy/extras/headers_test.rb @@ -6,6 +6,7 @@ require 'pagy/extras/countless' require_relative '../../mock_helpers/collection' +require_relative '../../files/models' require_relative '../../mock_helpers/app' describe 'pagy/extras/headers' do @@ -42,31 +43,28 @@ describe '#pagy_headers with Calendar' do let(:app) { MockApp::Calendar.new(params: { a: 'one', b: 'two' }) } - before do - @collection = MockCollection::Calendar.new - end it 'returns the full headers hash' do - pagy, _records = app.send(:pagy, @collection) + pagy, _records = app.send(:pagy, Event.all) _(app.send(:pagy_headers, pagy)).must_rematch :headers end it 'returns custom headers hash' do - pagy, _records = app.send(:pagy, @collection, headers: { items: 'Per-Page', count: 'Total', pages: false }) + pagy, _records = app.send(:pagy, Event.all, headers: { items: 'Per-Page', count: 'Total', pages: false }) _(app.send(:pagy_headers, pagy)).must_rematch :headers end it 'returns custom headers hash' do - pagy, _records = app.send(:pagy, @collection, headers: { items: false, count: false }) + pagy, _records = app.send(:pagy, Event.all, headers: { items: false, count: false }) _(app.send(:pagy_headers, pagy)).must_rematch :headers end it 'returns the countless headers hash' do - pagy, _records = app.send(:pagy_countless, @collection) + pagy, _records = app.send(:pagy_countless, Event.all) _(app.send(:pagy_headers, pagy)).must_rematch :headers end it 'omit prev on first page' do - pagy, _records = app.send(:pagy, @collection, page: 1) + pagy, _records = app.send(:pagy, Event.all, page: 1) _(app.send(:pagy_headers, pagy)).must_rematch :headers end it 'omit next on last page' do - pagy, _records = app.send(:pagy, @collection, page: 26) + pagy, _records = app.send(:pagy, Event.all, page: 26) _(app.send(:pagy_headers, pagy)).must_rematch :headers end end @@ -84,11 +82,8 @@ end describe '#pagy_headers_merge with Calendar' do let(:app) { MockApp::Calendar.new } - before do - @collection = MockCollection::Calendar.new - end it 'returns the full headers hash' do - pagy, _records = app.send(:pagy, @collection) + pagy, _records = app.send(:pagy, Event.all) app.send(:pagy_headers_merge, pagy) _(app.send(:response).headers.to_hash).must_rematch :response end diff --git a/test/pagy/extras/items_test.rb b/test/pagy/extras/items_test.rb index 316639ddf..2a255f197 100644 --- a/test/pagy/extras/items_test.rb +++ b/test/pagy/extras/items_test.rb @@ -151,7 +151,6 @@ def test_items_vars_params(items, vars, params) pagy = Pagy.new count: 1000, page: 3 _(app.pagy_items_selector_js(pagy)).must_rematch :selector_1 _(app.pagy_items_selector_js(pagy, id: 'test-id', item_name: 'products')).must_rematch :selector_2 - Pagy::I18n::DATA['en'][0]['elasticsearch.product.other'] = 'products' pagy = Pagy.new count: 1000, page: 3, items_extra: false _(app.pagy_items_selector_js(pagy, id: 'test-id')).must_equal '' end diff --git a/test/pagy/extras/metadata_test.rb b/test/pagy/extras/metadata_test.rb index 841ea6adf..f57f6434e 100644 --- a/test/pagy/extras/metadata_test.rb +++ b/test/pagy/extras/metadata_test.rb @@ -7,6 +7,7 @@ require 'pagy/extras/metadata' require_relative '../../mock_helpers/collection' +require_relative '../../files/models' require_relative '../../mock_helpers/app' describe 'pagy/extras/metadata' do @@ -37,17 +38,14 @@ def calendar_app(**opts) MockApp::Calendar.new(**opts) end - before do - @collection = MockCollection::Calendar.new - end it 'checks for unknown metadata for Pagy::Calendar' do - calendar, _pagy, _records = calendar_app.send(:pagy_calendar, @collection, + calendar, _pagy, _records = calendar_app.send(:pagy_calendar, Event.all, year: { metadata: %i[page unknown_key] }) _ { calendar_app.send(:pagy_metadata, calendar[:year]) }.must_raise Pagy::VariableError end it 'returns only specific metadata for Pagy::Calendar' do calendar, _pagy, _records = calendar_app(params: { month_page: 3 }) - .send(:pagy_calendar, @collection, + .send(:pagy_calendar, Event.all, month: { metadata: %i[scaffold_url page from to prev next pages] }) _(calendar_app.send(:pagy_metadata, calendar[:month])).must_rematch :metadata end From 01cdbe9cf3463c62f07cf0812b4570db0db77b6a Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Sun, 23 Jun 2024 10:02:39 +0700 Subject: [PATCH 07/16] Update cypress calendar test --- e2e/cypress/e2e/calendar.cy.ts | 51 ++++++++++-------- e2e/snapshots.js | 95 +++++++++++++++++++++++----------- gem/apps/calendar.ru | 17 +++--- 3 files changed, 104 insertions(+), 59 deletions(-) diff --git a/e2e/cypress/e2e/calendar.cy.ts b/e2e/cypress/e2e/calendar.cy.ts index ede9ce347..64815afad 100644 --- a/e2e/cypress/e2e/calendar.cy.ts +++ b/e2e/cypress/e2e/calendar.cy.ts @@ -1,13 +1,38 @@ import {snapIds} from "../support/test-helper.ts"; -const app = "calendar"; -const calIds = ["#year-nav", "#month-nav", "#day-nav", "#pagy-info"]; +const app = "calendar"; +const calIds = ["#year-nav", "#month-nav", "#day-nav", "#pagy-info"]; +const envVals = ["true", "false"]; -describe(`[${app}] Test helpers`, () => { +envVals.forEach((val) => { + + describe(`[${app}] Test helpers (skip ${val})`, () => { + beforeEach(() => { + cy.visit("/", {qs: { skip_counts: val }}); + }); + + it(`[${app}] Test #go-to-day`, () => { + cy.get("#go-to-day").click(); + snapIds(calIds); + }); + + it(`[${app}] Test calendar navs`, () => { + cy.get("#year-nav").contains("2022").click(); + snapIds(calIds); + cy.get("#month-nav").contains("Apr").click(); + snapIds(calIds); + cy.get("#day-nav").contains("05").click(); + snapIds(calIds); + cy.get("#day-nav").contains("06").click(); + snapIds(calIds); + }); + }); +}); + +describe(`[${app}] Test app`, () => { beforeEach(() => { cy.visit("/"); }); - it(`[${app}] Test #toggle`, () => { snapIds(calIds); cy.get("#toggle").click(); @@ -15,22 +40,4 @@ describe(`[${app}] Test helpers`, () => { cy.get("#toggle").click(); snapIds(calIds); }); - - it(`[${app}] Test #go-to-day`, () => { - cy.get("#go-to-day").click(); - snapIds(calIds); - }); - - it(`[${app}] Test calendar navs`, () => { - cy.get("#year-nav").contains("2022").click(); - snapIds(calIds); - cy.get("#month-nav").contains("Apr").click(); - snapIds(calIds); - cy.get("#day-nav").contains("05").click(); - snapIds(calIds); - cy.get("#day-nav").contains("06").click(); - snapIds(calIds); - }); - - }); diff --git a/e2e/snapshots.js b/e2e/snapshots.js index 5818454f8..6d760717a 100644 --- a/e2e/snapshots.js +++ b/e2e/snapshots.js @@ -500,49 +500,82 @@ module.exports = { "6": "Displaying items 0-0 of 22 in total" } }, - "[calendar] Test helpers": { - "[calendar] Test #toggle": { - "1": "
\n

Event #1 - 2021-10-21 13:18:23 UTC

\n

Event #2 - 2021-10-21 23:14:50 UTC

\n
", - "2": "
", - "3": "", - "4": "", - "5": "Displaying 2 items", - "6": "
\n

Event #1 - 2021-10-21 13:18:23 UTC

\n

Event #2 - 2021-10-21 23:14:50 UTC

\n

Event #3 - 2021-10-23 01:06:02 UTC

\n

Event #4 - 2021-10-25 18:54:35 UTC

\n

Event #5 - 2021-10-26 02:22:17 UTC

\n

Event #6 - 2021-10-28 22:59:49 UTC

\n

Event #7 - 2021-10-30 15:02:25 UTC

\n

Event #8 - 2021-11-02 04:03:39 UTC

\n

Event #9 - 2021-11-04 22:41:23 UTC

\n

Event #10 - 2021-11-06 00:34:29 UTC

\n

Event #11 - 2021-11-06 23:56:16 UTC

\n

Event #12 - 2021-11-07 06:22:04 UTC

\n

Event #13 - 2021-11-07 19:46:08 UTC

\n

Event #14 - 2021-11-08 09:31:13 UTC

\n

Event #15 - 2021-11-09 17:22:03 UTC

\n

Event #16 - 2021-11-11 05:29:54 UTC

\n

Event #17 - 2021-11-13 09:41:04 UTC

\n

Event #18 - 2021-11-16 07:48:22 UTC

\n

Event #19 - 2021-11-16 12:43:44 UTC

\n

Event #20 - 2021-11-17 16:03:07 UTC

\n
", - "7": "", - "8": "
\n

Event #1 - 2021-10-21 13:18:23 UTC

\n

Event #2 - 2021-10-21 23:14:50 UTC

\n
", - "9": "", - "10": "", - "11": "", - "12": "Displaying 2 items" + "[calendar] Test helpers (skip true)": { + "[calendar] Test #go-to-day": { + "1": "
\n

Event #86 - 2022-03-02 23:35:41 UTC

\n
", + "2": "", + "3": "", + "4": "", + "5": "Displaying 1 item" }, + "[calendar] Test calendar navs": { + "1": "
\n

Event #51 - 2022-01-01 19:18:06 UTC

\n
", + "2": "", + "3": "", + "4": "", + "5": "Displaying 1 item", + "6": "
\n

Event #106 - 2022-04-01 15:35:47 UTC

\n
", + "7": "", + "8": "", + "9": "", + "10": "Displaying 1 item", + "11": "
\n
", + "12": "", + "13": "", + "14": "", + "15": "No items found", + "16": "
\n

Event #110 - 2022-04-06 10:59:32 UTC

\n
", + "17": "", + "18": "", + "19": "", + "20": "Displaying 1 item" + } + }, + "[calendar] Test helpers (skip false)": { "[calendar] Test #go-to-day": { "1": "
\n

Event #86 - 2022-03-02 23:35:41 UTC

\n
", - "2": "", - "3": "", - "4": "", + "2": "", + "3": "", + "4": "", "5": "Displaying 1 item" }, "[calendar] Test calendar navs": { "1": "
\n

Event #51 - 2022-01-01 19:18:06 UTC

\n
", - "2": "", - "3": "", - "4": "", + "2": "", + "3": "", + "4": "", "5": "Displaying 1 item", "6": "
\n

Event #106 - 2022-04-01 15:35:47 UTC

\n
", - "7": "", - "8": "", - "9": "", + "7": "", + "8": "", + "9": "", "10": "Displaying 1 item", "11": "
\n
", - "12": "", - "13": "", - "14": "", + "12": "", + "13": "", + "14": "", "15": "No items found", - "16": "
\n

Event #110 - 2022-04-06 10:59:32 UTC

\n

Event #111 - 2022-04-07 01:33:53 UTC

\n
", - "17": "", - "18": "", - "19": "", - "20": "Displaying 2 items" + "16": "
\n

Event #110 - 2022-04-06 10:59:32 UTC

\n
", + "17": "", + "18": "", + "19": "", + "20": "Displaying 1 item" + } + }, + "[calendar] Test app": { + "[calendar] Test #toggle": { + "1": "
\n

Event #1 - 2021-10-21 13:18:23 UTC

\n

Event #2 - 2021-10-21 23:14:50 UTC

\n
", + "2": "", + "3": "", + "4": "", + "5": "Displaying 2 items", + "6": "
\n

Event #1 - 2021-10-21 13:18:23 UTC

\n

Event #2 - 2021-10-21 23:14:50 UTC

\n

Event #3 - 2021-10-23 01:06:02 UTC

\n

Event #4 - 2021-10-25 18:54:35 UTC

\n

Event #5 - 2021-10-26 02:22:17 UTC

\n

Event #6 - 2021-10-28 22:59:49 UTC

\n

Event #7 - 2021-10-30 15:02:25 UTC

\n

Event #8 - 2021-11-02 04:03:39 UTC

\n

Event #9 - 2021-11-04 22:41:23 UTC

\n

Event #10 - 2021-11-06 00:34:29 UTC

\n

Event #11 - 2021-11-06 23:56:16 UTC

\n

Event #12 - 2021-11-07 06:22:04 UTC

\n

Event #13 - 2021-11-07 19:46:08 UTC

\n

Event #14 - 2021-11-08 09:31:13 UTC

\n

Event #15 - 2021-11-09 17:22:03 UTC

\n

Event #16 - 2021-11-11 05:29:54 UTC

\n

Event #17 - 2021-11-13 09:41:04 UTC

\n

Event #18 - 2021-11-16 07:48:22 UTC

\n

Event #19 - 2021-11-16 12:43:44 UTC

\n

Event #20 - 2021-11-17 16:03:07 UTC

\n
", + "7": "", + "8": "
\n

Event #1 - 2021-10-21 13:18:23 UTC

\n

Event #2 - 2021-10-21 23:14:50 UTC

\n
", + "9": "", + "10": "", + "11": "", + "12": "Displaying 2 items" } } } diff --git a/gem/apps/calendar.ru b/gem/apps/calendar.ru index 644a391c9..1d4d920b3 100644 --- a/gem/apps/calendar.ru +++ b/gem/apps/calendar.ru @@ -106,13 +106,14 @@ class EventsController < ActionController::Base end # This method may optionally be implemented by the application. - # If present, pagy adds its result (as the vars[:counts] array) to each calendar unit pagy object - # The helpers use that info to add an "empty-page" class to the empty page lings - # and to provide the tooltip feedback about the count number per page - # This method must return an array of counts grouped by unit + # It must return an array of counts grouped by unit or nil/false to skip the counts. + # If the counts are returned, pagy adds the "empty-page" CSS class to the empty page links + # and the tooltip feedback with the count to each page link. def pagy_calendar_counts(collection, unit, from, to) - # group_by_period is provided by the groupdate gem - collection.group_by_period(unit, :time, range: from...to).count.values + # The group_by_period method is provided by the groupdate gem + # We use the :skip_counts param for testing the output in cypress + collection.group_by_period(unit, :time, range: from...to).count.values \ + unless params[:skip_counts] == 'true' end def index @@ -158,6 +159,10 @@ TEMPLATE = <<~ERB .content { padding: 1rem 1.5rem 2rem; } + /* added with the pagy counts feature */ + a.empty-page { + color: #888888; + } From 1d689f48fb38fa4659b4b7dc90a2a93282df62e9 Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Sun, 23 Jun 2024 16:52:02 +0700 Subject: [PATCH 08/16] Update ruby calendar test --- gem/lib/pagy/calendar/helper.rb | 2 + gem/lib/pagy/extras/calendar.rb | 4 +- test/files/models.rb | 3 +- test/mock_helpers/app.rb | 6 + test/pagy/extras/calendar_extra_test.rb | 51 +- .../extras/calendar_extra_test.rb.rematch | 3703 ++++------------- 6 files changed, 872 insertions(+), 2897 deletions(-) diff --git a/gem/lib/pagy/calendar/helper.rb b/gem/lib/pagy/calendar/helper.rb index 8103f8b2f..6d3fdde4b 100644 --- a/gem/lib/pagy/calendar/helper.rb +++ b/gem/lib/pagy/calendar/helper.rb @@ -13,6 +13,8 @@ def init(conf, period, params) end end + attr_reader :units + private # Create the calendar diff --git a/gem/lib/pagy/extras/calendar.rb b/gem/lib/pagy/extras/calendar.rb index 145f4eadf..836f20f73 100644 --- a/gem/lib/pagy/extras/calendar.rb +++ b/gem/lib/pagy/extras/calendar.rb @@ -22,9 +22,7 @@ def pagy_calendar(collection, conf) unless conf.key?(:active) && !conf[:active] calendar, from, to = Calendar::Helper.send(:init, conf, pagy_calendar_period(collection), params) if respond_to?(:pagy_calendar_counts) - calendar.each_key do |unit| - next unless Calendar::UNITS.include?(unit) - + calendar.units.each do |unit| calendar[unit].vars[:counts] = pagy_calendar_counts(collection, unit, *calendar[unit].vars[:period]) end end diff --git a/test/files/models.rb b/test/files/models.rb index 1290fbf2c..b5f69e818 100644 --- a/test/files/models.rb +++ b/test/files/models.rb @@ -14,6 +14,7 @@ class Event40 < ActiveRecord::Base # Activerecord initializer ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: db_path) +# :nocov: unless File.exist?(db_path) ActiveRecord::Schema.define do @@ -543,6 +544,6 @@ class Event40 < ActiveRecord::Base end end - +# :nocov: # Down here to avoid logging the DB seed above at each restart # ActiveRecord::Base.logger = Logger.new($stdout) diff --git a/test/mock_helpers/app.rb b/test/mock_helpers/app.rb index 26f0d93be..12220f8b4 100644 --- a/test/mock_helpers/app.rb +++ b/test/mock_helpers/app.rb @@ -45,4 +45,10 @@ def pagy_calendar_counts(collection, unit, from, to) collection.group_by_period(unit, :time, range: from...to).count.values end end + + class CalendarCountsSkip < Calendar + def pagy_calendar_counts(_collection, _unit, _from, _to) + nil + end + end end diff --git a/test/pagy/extras/calendar_extra_test.rb b/test/pagy/extras/calendar_extra_test.rb index 3a2dc5046..f9d6c90e5 100644 --- a/test/pagy/extras/calendar_extra_test.rb +++ b/test/pagy/extras/calendar_extra_test.rb @@ -226,17 +226,17 @@ def app(**opts) _(calendar[:day].next).must_be_nil _(entries.map(&:time)).must_rematch :entries end - end - it 'runs multiple units' do - calendar, pagy, entries = app(params: { year_page: 2, month_page: 7, page: 2 }) - .send(:pagy_calendar, - Event.all, year: {}, - month: {}, - pagy: { items: 10 }) - _(calendar[:year].series).must_equal [1, "2", 3] - _(calendar[:month].series).must_equal [1, 2, 3, 4, 5, 6, "7", 8, 9, 10, 11, 12] - _(pagy.series).must_equal [1, "2", 3] - _(entries.map(&:time)).must_rematch :entries + it 'runs multiple units' do + calendar, pagy, entries = app(params: { year_page: 2, month_page: 7, page: 2 }) + .send(:pagy_calendar, + Event.all, year: {}, + month: {}, + pagy: { items: 10 }) + _(calendar[:year].series).must_equal [1, "2", 3] + _(calendar[:month].series).must_equal [1, 2, 3, 4, 5, 6, "7", 8, 9, 10, 11, 12] + _(pagy.series).must_equal [1, "2", 3] + _(entries.map(&:time)).must_rematch :entries + end end describe 'pagy_calendar_url_at' do @@ -279,4 +279,33 @@ def app(**opts) _(calendar.showtime).must_equal Time.zone.local(2022, 7, 1) end end + describe "Counts feature" do + [MockApp::CalendarCounts, MockApp::CalendarCountsSkip].each do |c| + it "works with #{c}" do + app_counts = c.new(params: { year_page: 2, + month_page: 7, + day_page: 4, + page: 1 }) + calendar, _pagy, _entries = app_counts.send(:pagy_calendar, + Event.all, + year: {}, + month: {}, + day: {}, + pagy: { items: 10 }) + _(app_counts.pagy_nav(calendar[:year])).must_rematch :year + _(app_counts.pagy_nav(calendar[:month])).must_rematch :month + _(app_counts.pagy_nav(calendar[:day])).must_rematch :day + end + end + it 'works with anchor_string' do + c = MockApp::CalendarCounts + app_counts = c.new(params: { year_page: 2, + page: 1 }) + calendar, _pagy, _entries = app_counts.send(:pagy_calendar, + Event.all, + year: {anchor_string: 'data-foo="bar"'}, + pagy: { items: 10 }) + _(app_counts.pagy_nav(calendar[:year])).must_rematch :year + end + end end diff --git a/test/pagy/extras/calendar_extra_test.rb.rematch b/test/pagy/extras/calendar_extra_test.rb.rematch index 529c377a7..06d247347 100644 --- a/test/pagy/extras/calendar_extra_test.rb.rematch +++ b/test/pagy/extras/calendar_extra_test.rb.rematch @@ -1,2898 +1,837 @@ --- -pagy/extras/calendar#test_0001_runs multiple units: - :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-16 15:40:39.000000000 Z - zone: &1 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2022-07-16 15:40:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-17 19:44:15.000000000 Z - zone: *1 - time: 2022-07-17 19:44:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-19 00:31:12.000000000 Z - zone: *1 - time: 2022-07-19 00:31:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-21 21:58:24.000000000 Z - zone: *1 - time: 2022-07-21 21:58:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 05:25:48.000000000 Z - zone: *1 - time: 2022-07-22 05:25:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 18:33:04.000000000 Z - zone: *1 - time: 2022-07-22 18:33:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-24 07:42:24.000000000 Z - zone: *1 - time: 2022-07-24 07:42:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-25 07:21:20.000000000 Z - zone: *1 - time: 2022-07-25 07:21:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-27 12:02:44.000000000 Z - zone: *1 - time: 2022-07-27 12:02:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 03:29:28.000000000 Z - zone: *1 - time: 2022-07-29 03:29:28.000000000 Z -pagy/extras/calendar::instance methods#test_0013_selects :week for the first page: - :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 13:18:23.000000000 Z - zone: &2 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-10-21 13:18:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 23:14:50.000000000 Z - zone: *2 - time: 2021-10-21 23:14:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-23 01:06:02.000000000 Z - zone: *2 - time: 2021-10-23 01:06:02.000000000 Z -pagy/extras/calendar::instance methods#test_0007_selects :quarter for the first page: - :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 13:18:23.000000000 Z - zone: &3 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-10-21 13:18:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 23:14:50.000000000 Z - zone: *3 - time: 2021-10-21 23:14:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-23 01:06:02.000000000 Z - zone: *3 - time: 2021-10-23 01:06:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-25 18:54:35.000000000 Z - zone: *3 - time: 2021-10-25 18:54:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-26 02:22:17.000000000 Z - zone: *3 - time: 2021-10-26 02:22:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-28 22:59:49.000000000 Z - zone: *3 - time: 2021-10-28 22:59:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-30 15:02:25.000000000 Z - zone: *3 - time: 2021-10-30 15:02:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-02 04:03:39.000000000 Z - zone: *3 - time: 2021-11-02 04:03:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-04 22:41:23.000000000 Z - zone: *3 - time: 2021-11-04 22:41:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 00:34:29.000000000 Z - zone: *3 - time: 2021-11-06 00:34:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 23:56:16.000000000 Z - zone: *3 - time: 2021-11-06 23:56:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 06:22:04.000000000 Z - zone: *3 - time: 2021-11-07 06:22:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 19:46:08.000000000 Z - zone: *3 - time: 2021-11-07 19:46:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-08 09:31:13.000000000 Z - zone: *3 - time: 2021-11-08 09:31:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-09 17:22:03.000000000 Z - zone: *3 - time: 2021-11-09 17:22:03.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-11 05:29:54.000000000 Z - zone: *3 - time: 2021-11-11 05:29:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-13 09:41:04.000000000 Z - zone: *3 - time: 2021-11-13 09:41:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 07:48:22.000000000 Z - zone: *3 - time: 2021-11-16 07:48:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 12:43:44.000000000 Z - zone: *3 - time: 2021-11-16 12:43:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-17 16:03:07.000000000 Z - zone: *3 - time: 2021-11-17 16:03:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-20 02:39:01.000000000 Z - zone: *3 - time: 2021-11-20 02:39:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-21 02:01:24.000000000 Z - zone: *3 - time: 2021-11-21 02:01:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-23 19:24:43.000000000 Z - zone: *3 - time: 2021-11-23 19:24:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-26 11:47:22.000000000 Z - zone: *3 - time: 2021-11-26 11:47:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-28 06:30:04.000000000 Z - zone: *3 - time: 2021-11-28 06:30:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-01 00:13:55.000000000 Z - zone: *3 - time: 2021-12-01 00:13:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-03 19:10:16.000000000 Z - zone: *3 - time: 2021-12-03 19:10:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-04 00:43:47.000000000 Z - zone: *3 - time: 2021-12-04 00:43:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-06 20:15:35.000000000 Z - zone: *3 - time: 2021-12-06 20:15:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-09 16:27:07.000000000 Z - zone: *3 - time: 2021-12-09 16:27:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 15:28:48.000000000 Z - zone: *3 - time: 2021-12-10 15:28:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 23:08:16.000000000 Z - zone: *3 - time: 2021-12-10 23:08:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-11 23:09:08.000000000 Z - zone: *3 - time: 2021-12-11 23:09:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 04:56:58.000000000 Z - zone: *3 - time: 2021-12-14 04:56:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 14:00:56.000000000 Z - zone: *3 - time: 2021-12-14 14:00:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-15 22:58:51.000000000 Z - zone: *3 - time: 2021-12-15 22:58:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 01:28:21.000000000 Z - zone: *3 - time: 2021-12-16 01:28:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 20:16:54.000000000 Z - zone: *3 - time: 2021-12-16 20:16:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 00:34:04.000000000 Z - zone: *3 - time: 2021-12-19 00:34:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 06:58:41.000000000 Z - zone: *3 - time: 2021-12-19 06:58:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-21 11:13:53.000000000 Z - zone: *3 - time: 2021-12-21 11:13:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:28:50.000000000 Z - zone: *3 - time: 2021-12-23 07:28:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:57:58.000000000 Z - zone: *3 - time: 2021-12-23 07:57:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 18:32:13.000000000 Z - zone: *3 - time: 2021-12-23 18:32:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-24 01:17:51.000000000 Z - zone: *3 - time: 2021-12-24 01:17:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 05:36:16.000000000 Z - zone: *3 - time: 2021-12-25 05:36:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 23:21:57.000000000 Z - zone: *3 - time: 2021-12-25 23:21:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-27 12:18:57.000000000 Z - zone: *3 - time: 2021-12-27 12:18:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-28 16:59:57.000000000 Z - zone: *3 - time: 2021-12-28 16:59:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-31 15:10:23.000000000 Z - zone: *3 - time: 2021-12-31 15:10:23.000000000 Z -pagy/extras/calendar::instance methods#test_0012_selects :month for the last page: - :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 02:52:55.000000000 Z - zone: &4 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2023-11-02 02:52:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 06:00:32.000000000 Z - zone: *4 - time: 2023-11-02 06:00:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-03 08:39:06.000000000 Z - zone: *4 - time: 2023-11-03 08:39:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-04 23:51:22.000000000 Z - zone: *4 - time: 2023-11-04 23:51:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-07 16:11:33.000000000 Z - zone: *4 - time: 2023-11-07 16:11:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-10 10:55:29.000000000 Z - zone: *4 - time: 2023-11-10 10:55:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 01:20:18.000000000 Z - zone: *4 - time: 2023-11-12 01:20:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 04:22:50.000000000 Z - zone: *4 - time: 2023-11-12 04:22:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 08:38:58.000000000 Z - zone: *4 - time: 2023-11-12 08:38:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-13 15:43:40.000000000 Z - zone: *4 - time: 2023-11-13 15:43:40.000000000 Z pagy/extras/calendar::instance methods#test_0016_selects :day for the first page: :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 13:18:23.000000000 Z - zone: &5 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-10-21 13:18:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 23:14:50.000000000 Z - zone: *5 - time: 2021-10-21 23:14:50.000000000 Z -pagy/extras/calendar::instance methods#test_0014_selects :week for an intermediate page: - :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 18:27:19.000000000 Z - zone: &6 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2022-04-03 18:27:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 23:44:08.000000000 Z - zone: *6 - time: 2022-04-03 23:44:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-06 10:59:32.000000000 Z - zone: *6 - time: 2022-04-06 10:59:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-07 01:33:53.000000000 Z - zone: *6 - time: 2022-04-07 01:33:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-08 10:26:34.000000000 Z - zone: *6 - time: 2022-04-08 10:26:34.000000000 Z + - 2021-10-21 13:18:23.000000000 Z + - 2021-10-21 23:14:50.000000000 Z pagy/extras/calendar::instance methods#test_0011_selects :month for an intermediate page: :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-01 11:54:24.000000000 Z - zone: &7 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2023-10-01 11:54:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-03 07:36:32.000000000 Z - zone: *7 - time: 2023-10-03 07:36:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-05 05:13:57.000000000 Z - zone: *7 - time: 2023-10-05 05:13:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-06 16:07:06.000000000 Z - zone: *7 - time: 2023-10-06 16:07:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 00:03:52.000000000 Z - zone: *7 - time: 2023-10-09 00:03:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 02:32:01.000000000 Z - zone: *7 - time: 2023-10-09 02:32:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-10 16:39:07.000000000 Z - zone: *7 - time: 2023-10-10 16:39:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-12 13:28:16.000000000 Z - zone: *7 - time: 2023-10-12 13:28:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-14 04:29:14.000000000 Z - zone: *7 - time: 2023-10-14 04:29:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-17 03:30:24.000000000 Z - zone: *7 - time: 2023-10-17 03:30:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 03:13:15.000000000 Z - zone: *7 - time: 2023-10-20 03:13:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 20:47:06.000000000 Z - zone: *7 - time: 2023-10-20 20:47:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-21 13:59:34.000000000 Z - zone: *7 - time: 2023-10-21 13:59:34.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-23 21:38:48.000000000 Z - zone: *7 - time: 2023-10-23 21:38:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-24 06:07:13.000000000 Z - zone: *7 - time: 2023-10-24 06:07:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-25 22:51:17.000000000 Z - zone: *7 - time: 2023-10-25 22:51:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-26 21:12:50.000000000 Z - zone: *7 - time: 2023-10-26 21:12:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-28 05:52:20.000000000 Z - zone: *7 - time: 2023-10-28 05:52:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-29 22:11:01.000000000 Z - zone: *7 - time: 2023-10-29 22:11:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-30 12:29:25.000000000 Z - zone: *7 - time: 2023-10-30 12:29:25.000000000 Z -pagy/extras/calendar::instance methods#test_0009_selects :quarter for last page: - :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-01 11:54:24.000000000 Z - zone: &8 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2023-10-01 11:54:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-03 07:36:32.000000000 Z - zone: *8 - time: 2023-10-03 07:36:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-05 05:13:57.000000000 Z - zone: *8 - time: 2023-10-05 05:13:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-06 16:07:06.000000000 Z - zone: *8 - time: 2023-10-06 16:07:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 00:03:52.000000000 Z - zone: *8 - time: 2023-10-09 00:03:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 02:32:01.000000000 Z - zone: *8 - time: 2023-10-09 02:32:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-10 16:39:07.000000000 Z - zone: *8 - time: 2023-10-10 16:39:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-12 13:28:16.000000000 Z - zone: *8 - time: 2023-10-12 13:28:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-14 04:29:14.000000000 Z - zone: *8 - time: 2023-10-14 04:29:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-17 03:30:24.000000000 Z - zone: *8 - time: 2023-10-17 03:30:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 03:13:15.000000000 Z - zone: *8 - time: 2023-10-20 03:13:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 20:47:06.000000000 Z - zone: *8 - time: 2023-10-20 20:47:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-21 13:59:34.000000000 Z - zone: *8 - time: 2023-10-21 13:59:34.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-23 21:38:48.000000000 Z - zone: *8 - time: 2023-10-23 21:38:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-24 06:07:13.000000000 Z - zone: *8 - time: 2023-10-24 06:07:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-25 22:51:17.000000000 Z - zone: *8 - time: 2023-10-25 22:51:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-26 21:12:50.000000000 Z - zone: *8 - time: 2023-10-26 21:12:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-28 05:52:20.000000000 Z - zone: *8 - time: 2023-10-28 05:52:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-29 22:11:01.000000000 Z - zone: *8 - time: 2023-10-29 22:11:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-30 12:29:25.000000000 Z - zone: *8 - time: 2023-10-30 12:29:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 02:52:55.000000000 Z - zone: *8 - time: 2023-11-02 02:52:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 06:00:32.000000000 Z - zone: *8 - time: 2023-11-02 06:00:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-03 08:39:06.000000000 Z - zone: *8 - time: 2023-11-03 08:39:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-04 23:51:22.000000000 Z - zone: *8 - time: 2023-11-04 23:51:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-07 16:11:33.000000000 Z - zone: *8 - time: 2023-11-07 16:11:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-10 10:55:29.000000000 Z - zone: *8 - time: 2023-11-10 10:55:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 01:20:18.000000000 Z - zone: *8 - time: 2023-11-12 01:20:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 04:22:50.000000000 Z - zone: *8 - time: 2023-11-12 04:22:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 08:38:58.000000000 Z - zone: *8 - time: 2023-11-12 08:38:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-13 15:43:40.000000000 Z - zone: *8 - time: 2023-11-13 15:43:40.000000000 Z -pagy/extras/calendar::instance methods#test_0010_selects :month for the first page: + - 2023-10-01 11:54:24.000000000 Z + - 2023-10-03 07:36:32.000000000 Z + - 2023-10-05 05:13:57.000000000 Z + - 2023-10-06 16:07:06.000000000 Z + - 2023-10-09 00:03:52.000000000 Z + - 2023-10-09 02:32:01.000000000 Z + - 2023-10-10 16:39:07.000000000 Z + - 2023-10-12 13:28:16.000000000 Z + - 2023-10-14 04:29:14.000000000 Z + - 2023-10-17 03:30:24.000000000 Z + - 2023-10-20 03:13:15.000000000 Z + - 2023-10-20 20:47:06.000000000 Z + - 2023-10-21 13:59:34.000000000 Z + - 2023-10-23 21:38:48.000000000 Z + - 2023-10-24 06:07:13.000000000 Z + - 2023-10-25 22:51:17.000000000 Z + - 2023-10-26 21:12:50.000000000 Z + - 2023-10-28 05:52:20.000000000 Z + - 2023-10-29 22:11:01.000000000 Z + - 2023-10-30 12:29:25.000000000 Z +pagy/extras/calendar::instance methods#test_0013_selects :week for the first page: :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 13:18:23.000000000 Z - zone: &9 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-10-21 13:18:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 23:14:50.000000000 Z - zone: *9 - time: 2021-10-21 23:14:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-23 01:06:02.000000000 Z - zone: *9 - time: 2021-10-23 01:06:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-25 18:54:35.000000000 Z - zone: *9 - time: 2021-10-25 18:54:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-26 02:22:17.000000000 Z - zone: *9 - time: 2021-10-26 02:22:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-28 22:59:49.000000000 Z - zone: *9 - time: 2021-10-28 22:59:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-30 15:02:25.000000000 Z - zone: *9 - time: 2021-10-30 15:02:25.000000000 Z + - 2021-10-21 13:18:23.000000000 Z + - 2021-10-21 23:14:50.000000000 Z + - 2021-10-23 01:06:02.000000000 Z pagy/extras/calendar::instance methods#test_0006_selects :year for the pages and check the total: :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 13:18:23.000000000 Z - zone: &10 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-10-21 13:18:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 23:14:50.000000000 Z - zone: *10 - time: 2021-10-21 23:14:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-23 01:06:02.000000000 Z - zone: *10 - time: 2021-10-23 01:06:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-25 18:54:35.000000000 Z - zone: *10 - time: 2021-10-25 18:54:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-26 02:22:17.000000000 Z - zone: *10 - time: 2021-10-26 02:22:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-28 22:59:49.000000000 Z - zone: *10 - time: 2021-10-28 22:59:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-30 15:02:25.000000000 Z - zone: *10 - time: 2021-10-30 15:02:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-02 04:03:39.000000000 Z - zone: *10 - time: 2021-11-02 04:03:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-04 22:41:23.000000000 Z - zone: *10 - time: 2021-11-04 22:41:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 00:34:29.000000000 Z - zone: *10 - time: 2021-11-06 00:34:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 23:56:16.000000000 Z - zone: *10 - time: 2021-11-06 23:56:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 06:22:04.000000000 Z - zone: *10 - time: 2021-11-07 06:22:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 19:46:08.000000000 Z - zone: *10 - time: 2021-11-07 19:46:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-08 09:31:13.000000000 Z - zone: *10 - time: 2021-11-08 09:31:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-09 17:22:03.000000000 Z - zone: *10 - time: 2021-11-09 17:22:03.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-11 05:29:54.000000000 Z - zone: *10 - time: 2021-11-11 05:29:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-13 09:41:04.000000000 Z - zone: *10 - time: 2021-11-13 09:41:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 07:48:22.000000000 Z - zone: *10 - time: 2021-11-16 07:48:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 12:43:44.000000000 Z - zone: *10 - time: 2021-11-16 12:43:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-17 16:03:07.000000000 Z - zone: *10 - time: 2021-11-17 16:03:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-20 02:39:01.000000000 Z - zone: *10 - time: 2021-11-20 02:39:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-21 02:01:24.000000000 Z - zone: *10 - time: 2021-11-21 02:01:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-23 19:24:43.000000000 Z - zone: *10 - time: 2021-11-23 19:24:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-26 11:47:22.000000000 Z - zone: *10 - time: 2021-11-26 11:47:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-28 06:30:04.000000000 Z - zone: *10 - time: 2021-11-28 06:30:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-01 00:13:55.000000000 Z - zone: *10 - time: 2021-12-01 00:13:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-03 19:10:16.000000000 Z - zone: *10 - time: 2021-12-03 19:10:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-04 00:43:47.000000000 Z - zone: *10 - time: 2021-12-04 00:43:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-06 20:15:35.000000000 Z - zone: *10 - time: 2021-12-06 20:15:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-09 16:27:07.000000000 Z - zone: *10 - time: 2021-12-09 16:27:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 15:28:48.000000000 Z - zone: *10 - time: 2021-12-10 15:28:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 23:08:16.000000000 Z - zone: *10 - time: 2021-12-10 23:08:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-11 23:09:08.000000000 Z - zone: *10 - time: 2021-12-11 23:09:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 04:56:58.000000000 Z - zone: *10 - time: 2021-12-14 04:56:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 14:00:56.000000000 Z - zone: *10 - time: 2021-12-14 14:00:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-15 22:58:51.000000000 Z - zone: *10 - time: 2021-12-15 22:58:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 01:28:21.000000000 Z - zone: *10 - time: 2021-12-16 01:28:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 20:16:54.000000000 Z - zone: *10 - time: 2021-12-16 20:16:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 00:34:04.000000000 Z - zone: *10 - time: 2021-12-19 00:34:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 06:58:41.000000000 Z - zone: *10 - time: 2021-12-19 06:58:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-21 11:13:53.000000000 Z - zone: *10 - time: 2021-12-21 11:13:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:28:50.000000000 Z - zone: *10 - time: 2021-12-23 07:28:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:57:58.000000000 Z - zone: *10 - time: 2021-12-23 07:57:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 18:32:13.000000000 Z - zone: *10 - time: 2021-12-23 18:32:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-24 01:17:51.000000000 Z - zone: *10 - time: 2021-12-24 01:17:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 05:36:16.000000000 Z - zone: *10 - time: 2021-12-25 05:36:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 23:21:57.000000000 Z - zone: *10 - time: 2021-12-25 23:21:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-27 12:18:57.000000000 Z - zone: *10 - time: 2021-12-27 12:18:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-28 16:59:57.000000000 Z - zone: *10 - time: 2021-12-28 16:59:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-31 15:10:23.000000000 Z - zone: *10 - time: 2021-12-31 15:10:23.000000000 Z + - 2021-10-21 13:18:23.000000000 Z + - 2021-10-21 23:14:50.000000000 Z + - 2021-10-23 01:06:02.000000000 Z + - 2021-10-25 18:54:35.000000000 Z + - 2021-10-26 02:22:17.000000000 Z + - 2021-10-28 22:59:49.000000000 Z + - 2021-10-30 15:02:25.000000000 Z + - 2021-11-02 04:03:39.000000000 Z + - 2021-11-04 22:41:23.000000000 Z + - 2021-11-06 00:34:29.000000000 Z + - 2021-11-06 23:56:16.000000000 Z + - 2021-11-07 06:22:04.000000000 Z + - 2021-11-07 19:46:08.000000000 Z + - 2021-11-08 09:31:13.000000000 Z + - 2021-11-09 17:22:03.000000000 Z + - 2021-11-11 05:29:54.000000000 Z + - 2021-11-13 09:41:04.000000000 Z + - 2021-11-16 07:48:22.000000000 Z + - 2021-11-16 12:43:44.000000000 Z + - 2021-11-17 16:03:07.000000000 Z + - 2021-11-20 02:39:01.000000000 Z + - 2021-11-21 02:01:24.000000000 Z + - 2021-11-23 19:24:43.000000000 Z + - 2021-11-26 11:47:22.000000000 Z + - 2021-11-28 06:30:04.000000000 Z + - 2021-12-01 00:13:55.000000000 Z + - 2021-12-03 19:10:16.000000000 Z + - 2021-12-04 00:43:47.000000000 Z + - 2021-12-06 20:15:35.000000000 Z + - 2021-12-09 16:27:07.000000000 Z + - 2021-12-10 15:28:48.000000000 Z + - 2021-12-10 23:08:16.000000000 Z + - 2021-12-11 23:09:08.000000000 Z + - 2021-12-14 04:56:58.000000000 Z + - 2021-12-14 14:00:56.000000000 Z + - 2021-12-15 22:58:51.000000000 Z + - 2021-12-16 01:28:21.000000000 Z + - 2021-12-16 20:16:54.000000000 Z + - 2021-12-19 00:34:04.000000000 Z + - 2021-12-19 06:58:41.000000000 Z + - 2021-12-21 11:13:53.000000000 Z + - 2021-12-23 07:28:50.000000000 Z + - 2021-12-23 07:57:58.000000000 Z + - 2021-12-23 18:32:13.000000000 Z + - 2021-12-24 01:17:51.000000000 Z + - 2021-12-25 05:36:16.000000000 Z + - 2021-12-25 23:21:57.000000000 Z + - 2021-12-27 12:18:57.000000000 Z + - 2021-12-28 16:59:57.000000000 Z + - 2021-12-31 15:10:23.000000000 Z :entries_2: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-01 19:18:06.000000000 Z - zone: &11 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2022-01-01 19:18:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-03 08:36:27.000000000 Z - zone: *11 - time: 2022-01-03 08:36:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-03 23:31:01.000000000 Z - zone: *11 - time: 2022-01-03 23:31:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-05 02:14:57.000000000 Z - zone: *11 - time: 2022-01-05 02:14:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-06 09:26:03.000000000 Z - zone: *11 - time: 2022-01-06 09:26:03.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-07 20:22:22.000000000 Z - zone: *11 - time: 2022-01-07 20:22:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-10 04:04:28.000000000 Z - zone: *11 - time: 2022-01-10 04:04:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-11 17:17:55.000000000 Z - zone: *11 - time: 2022-01-11 17:17:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-14 05:21:54.000000000 Z - zone: *11 - time: 2022-01-14 05:21:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-16 01:18:58.000000000 Z - zone: *11 - time: 2022-01-16 01:18:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-18 08:42:56.000000000 Z - zone: *11 - time: 2022-01-18 08:42:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-19 00:45:04.000000000 Z - zone: *11 - time: 2022-01-19 00:45:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-20 08:18:54.000000000 Z - zone: *11 - time: 2022-01-20 08:18:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-22 05:26:38.000000000 Z - zone: *11 - time: 2022-01-22 05:26:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-24 10:57:50.000000000 Z - zone: *11 - time: 2022-01-24 10:57:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-26 09:47:02.000000000 Z - zone: *11 - time: 2022-01-26 09:47:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-28 20:44:30.000000000 Z - zone: *11 - time: 2022-01-28 20:44:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-31 16:19:50.000000000 Z - zone: *11 - time: 2022-01-31 16:19:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-01 21:23:58.000000000 Z - zone: *11 - time: 2022-02-01 21:23:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-04 14:41:57.000000000 Z - zone: *11 - time: 2022-02-04 14:41:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-06 20:40:06.000000000 Z - zone: *11 - time: 2022-02-06 20:40:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-07 23:03:50.000000000 Z - zone: *11 - time: 2022-02-07 23:03:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-09 05:28:08.000000000 Z - zone: *11 - time: 2022-02-09 05:28:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-10 02:19:12.000000000 Z - zone: *11 - time: 2022-02-10 02:19:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-11 07:51:30.000000000 Z - zone: *11 - time: 2022-02-11 07:51:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-12 13:46:16.000000000 Z - zone: *11 - time: 2022-02-12 13:46:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-13 21:06:40.000000000 Z - zone: *11 - time: 2022-02-13 21:06:40.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-15 11:37:50.000000000 Z - zone: *11 - time: 2022-02-15 11:37:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-18 11:23:15.000000000 Z - zone: *11 - time: 2022-02-18 11:23:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-20 08:01:49.000000000 Z - zone: *11 - time: 2022-02-20 08:01:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-23 03:00:30.000000000 Z - zone: *11 - time: 2022-02-23 03:00:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-24 21:52:25.000000000 Z - zone: *11 - time: 2022-02-24 21:52:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-25 12:07:56.000000000 Z - zone: *11 - time: 2022-02-25 12:07:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-27 04:20:20.000000000 Z - zone: *11 - time: 2022-02-27 04:20:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-28 21:09:42.000000000 Z - zone: *11 - time: 2022-02-28 21:09:42.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-02 23:35:41.000000000 Z - zone: *11 - time: 2022-03-02 23:35:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-04 00:42:10.000000000 Z - zone: *11 - time: 2022-03-04 00:42:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-05 00:59:10.000000000 Z - zone: *11 - time: 2022-03-05 00:59:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-06 19:58:01.000000000 Z - zone: *11 - time: 2022-03-06 19:58:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-07 07:48:09.000000000 Z - zone: *11 - time: 2022-03-07 07:48:09.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-09 06:08:00.000000000 Z - zone: *11 - time: 2022-03-09 06:08:00.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-10 05:45:08.000000000 Z - zone: *11 - time: 2022-03-10 05:45:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-12 21:16:31.000000000 Z - zone: *11 - time: 2022-03-12 21:16:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-15 08:17:44.000000000 Z - zone: *11 - time: 2022-03-15 08:17:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-16 03:37:03.000000000 Z - zone: *11 - time: 2022-03-16 03:37:03.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-18 05:07:54.000000000 Z - zone: *11 - time: 2022-03-18 05:07:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-20 04:05:26.000000000 Z - zone: *11 - time: 2022-03-20 04:05:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-22 10:52:33.000000000 Z - zone: *11 - time: 2022-03-22 10:52:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-23 15:26:54.000000000 Z - zone: *11 - time: 2022-03-23 15:26:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-24 09:01:04.000000000 Z - zone: *11 - time: 2022-03-24 09:01:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-24 23:53:07.000000000 Z - zone: *11 - time: 2022-03-24 23:53:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-27 13:45:17.000000000 Z - zone: *11 - time: 2022-03-27 13:45:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-28 19:57:00.000000000 Z - zone: *11 - time: 2022-03-28 19:57:00.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-29 15:42:35.000000000 Z - zone: *11 - time: 2022-03-29 15:42:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-29 18:20:32.000000000 Z - zone: *11 - time: 2022-03-29 18:20:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-01 15:35:47.000000000 Z - zone: *11 - time: 2022-04-01 15:35:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-02 06:33:31.000000000 Z - zone: *11 - time: 2022-04-02 06:33:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 18:27:19.000000000 Z - zone: *11 - time: 2022-04-03 18:27:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 23:44:08.000000000 Z - zone: *11 - time: 2022-04-03 23:44:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-06 10:59:32.000000000 Z - zone: *11 - time: 2022-04-06 10:59:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-07 01:33:53.000000000 Z - zone: *11 - time: 2022-04-07 01:33:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-08 10:26:34.000000000 Z - zone: *11 - time: 2022-04-08 10:26:34.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-10 19:21:08.000000000 Z - zone: *11 - time: 2022-04-10 19:21:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-12 01:50:04.000000000 Z - zone: *11 - time: 2022-04-12 01:50:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-14 19:56:29.000000000 Z - zone: *11 - time: 2022-04-14 19:56:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-15 09:08:22.000000000 Z - zone: *11 - time: 2022-04-15 09:08:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-16 07:58:47.000000000 Z - zone: *11 - time: 2022-04-16 07:58:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-17 16:31:40.000000000 Z - zone: *11 - time: 2022-04-17 16:31:40.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-20 09:50:22.000000000 Z - zone: *11 - time: 2022-04-20 09:50:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-23 04:24:22.000000000 Z - zone: *11 - time: 2022-04-23 04:24:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-25 07:18:04.000000000 Z - zone: *11 - time: 2022-04-25 07:18:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-27 16:57:48.000000000 Z - zone: *11 - time: 2022-04-27 16:57:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-29 18:48:09.000000000 Z - zone: *11 - time: 2022-04-29 18:48:09.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-29 20:30:25.000000000 Z - zone: *11 - time: 2022-04-29 20:30:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-02 03:44:25.000000000 Z - zone: *11 - time: 2022-05-02 03:44:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-03 15:27:57.000000000 Z - zone: *11 - time: 2022-05-03 15:27:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-04 08:11:15.000000000 Z - zone: *11 - time: 2022-05-04 08:11:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-07 00:42:14.000000000 Z - zone: *11 - time: 2022-05-07 00:42:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-09 15:23:31.000000000 Z - zone: *11 - time: 2022-05-09 15:23:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-10 19:11:49.000000000 Z - zone: *11 - time: 2022-05-10 19:11:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-11 14:04:17.000000000 Z - zone: *11 - time: 2022-05-11 14:04:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-14 12:09:34.000000000 Z - zone: *11 - time: 2022-05-14 12:09:34.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-15 13:31:54.000000000 Z - zone: *11 - time: 2022-05-15 13:31:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-17 21:21:37.000000000 Z - zone: *11 - time: 2022-05-17 21:21:37.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-19 01:27:43.000000000 Z - zone: *11 - time: 2022-05-19 01:27:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-21 04:34:59.000000000 Z - zone: *11 - time: 2022-05-21 04:34:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-23 11:05:18.000000000 Z - zone: *11 - time: 2022-05-23 11:05:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-23 19:14:50.000000000 Z - zone: *11 - time: 2022-05-23 19:14:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-26 13:16:18.000000000 Z - zone: *11 - time: 2022-05-26 13:16:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-27 11:39:35.000000000 Z - zone: *11 - time: 2022-05-27 11:39:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-29 07:09:07.000000000 Z - zone: *11 - time: 2022-05-29 07:09:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-30 15:13:23.000000000 Z - zone: *11 - time: 2022-05-30 15:13:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 04:18:40.000000000 Z - zone: *11 - time: 2022-06-01 04:18:40.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 11:11:51.000000000 Z - zone: *11 - time: 2022-06-01 11:11:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 12:45:06.000000000 Z - zone: *11 - time: 2022-06-01 12:45:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-03 07:08:31.000000000 Z - zone: *11 - time: 2022-06-03 07:08:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-04 23:28:11.000000000 Z - zone: *11 - time: 2022-06-04 23:28:11.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-07 12:14:01.000000000 Z - zone: *11 - time: 2022-06-07 12:14:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-08 13:32:22.000000000 Z - zone: *11 - time: 2022-06-08 13:32:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-10 18:56:37.000000000 Z - zone: *11 - time: 2022-06-10 18:56:37.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-12 16:00:09.000000000 Z - zone: *11 - time: 2022-06-12 16:00:09.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-15 13:28:55.000000000 Z - zone: *11 - time: 2022-06-15 13:28:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-16 18:42:37.000000000 Z - zone: *11 - time: 2022-06-16 18:42:37.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-17 00:36:21.000000000 Z - zone: *11 - time: 2022-06-17 00:36:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-18 16:21:27.000000000 Z - zone: *11 - time: 2022-06-18 16:21:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-20 13:50:27.000000000 Z - zone: *11 - time: 2022-06-20 13:50:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-22 09:43:55.000000000 Z - zone: *11 - time: 2022-06-22 09:43:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-25 09:43:17.000000000 Z - zone: *11 - time: 2022-06-25 09:43:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-27 06:51:01.000000000 Z - zone: *11 - time: 2022-06-27 06:51:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-28 09:10:53.000000000 Z - zone: *11 - time: 2022-06-28 09:10:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-30 18:46:16.000000000 Z - zone: *11 - time: 2022-06-30 18:46:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-01 16:05:14.000000000 Z - zone: *11 - time: 2022-07-01 16:05:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-02 14:02:12.000000000 Z - zone: *11 - time: 2022-07-02 14:02:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 11:08:11.000000000 Z - zone: *11 - time: 2022-07-05 11:08:11.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 12:44:38.000000000 Z - zone: *11 - time: 2022-07-05 12:44:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 03:55:17.000000000 Z - zone: *11 - time: 2022-07-08 03:55:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 18:02:14.000000000 Z - zone: *11 - time: 2022-07-08 18:02:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-09 09:41:17.000000000 Z - zone: *11 - time: 2022-07-09 09:41:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-11 07:34:51.000000000 Z - zone: *11 - time: 2022-07-11 07:34:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-13 05:11:19.000000000 Z - zone: *11 - time: 2022-07-13 05:11:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-15 02:46:56.000000000 Z - zone: *11 - time: 2022-07-15 02:46:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-16 15:40:39.000000000 Z - zone: *11 - time: 2022-07-16 15:40:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-17 19:44:15.000000000 Z - zone: *11 - time: 2022-07-17 19:44:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-19 00:31:12.000000000 Z - zone: *11 - time: 2022-07-19 00:31:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-21 21:58:24.000000000 Z - zone: *11 - time: 2022-07-21 21:58:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 05:25:48.000000000 Z - zone: *11 - time: 2022-07-22 05:25:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 18:33:04.000000000 Z - zone: *11 - time: 2022-07-22 18:33:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-24 07:42:24.000000000 Z - zone: *11 - time: 2022-07-24 07:42:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-25 07:21:20.000000000 Z - zone: *11 - time: 2022-07-25 07:21:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-27 12:02:44.000000000 Z - zone: *11 - time: 2022-07-27 12:02:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 03:29:28.000000000 Z - zone: *11 - time: 2022-07-29 03:29:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 11:35:43.000000000 Z - zone: *11 - time: 2022-07-29 11:35:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 05:25:21.000000000 Z - zone: *11 - time: 2022-07-30 05:25:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 19:39:10.000000000 Z - zone: *11 - time: 2022-07-30 19:39:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-31 18:54:58.000000000 Z - zone: *11 - time: 2022-07-31 18:54:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-03 11:18:44.000000000 Z - zone: *11 - time: 2022-08-03 11:18:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 00:37:47.000000000 Z - zone: *11 - time: 2022-08-05 00:37:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 12:08:08.000000000 Z - zone: *11 - time: 2022-08-05 12:08:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-07 14:39:19.000000000 Z - zone: *11 - time: 2022-08-07 14:39:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-08 09:52:59.000000000 Z - zone: *11 - time: 2022-08-08 09:52:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-09 13:48:29.000000000 Z - zone: *11 - time: 2022-08-09 13:48:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-11 19:03:04.000000000 Z - zone: *11 - time: 2022-08-11 19:03:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-13 01:56:49.000000000 Z - zone: *11 - time: 2022-08-13 01:56:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-15 11:33:09.000000000 Z - zone: *11 - time: 2022-08-15 11:33:09.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-17 23:37:45.000000000 Z - zone: *11 - time: 2022-08-17 23:37:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 00:47:19.000000000 Z - zone: *11 - time: 2022-08-19 00:47:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 01:01:12.000000000 Z - zone: *11 - time: 2022-08-19 01:01:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 07:37:55.000000000 Z - zone: *11 - time: 2022-08-21 07:37:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 21:42:15.000000000 Z - zone: *11 - time: 2022-08-21 21:42:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-23 10:55:39.000000000 Z - zone: *11 - time: 2022-08-23 10:55:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-25 16:20:29.000000000 Z - zone: *11 - time: 2022-08-25 16:20:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 06:28:14.000000000 Z - zone: *11 - time: 2022-08-27 06:28:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 13:12:57.000000000 Z - zone: *11 - time: 2022-08-27 13:12:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-28 23:00:13.000000000 Z - zone: *11 - time: 2022-08-28 23:00:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-31 05:19:56.000000000 Z - zone: *11 - time: 2022-08-31 05:19:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-02 18:00:18.000000000 Z - zone: *11 - time: 2022-09-02 18:00:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-04 12:02:47.000000000 Z - zone: *11 - time: 2022-09-04 12:02:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-06 00:57:21.000000000 Z - zone: *11 - time: 2022-09-06 00:57:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-08 04:26:01.000000000 Z - zone: *11 - time: 2022-09-08 04:26:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-09 04:55:45.000000000 Z - zone: *11 - time: 2022-09-09 04:55:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-11 22:59:36.000000000 Z - zone: *11 - time: 2022-09-11 22:59:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 00:54:25.000000000 Z - zone: *11 - time: 2022-09-12 00:54:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 17:44:24.000000000 Z - zone: *11 - time: 2022-09-12 17:44:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 20:47:30.000000000 Z - zone: *11 - time: 2022-09-12 20:47:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-15 11:39:20.000000000 Z - zone: *11 - time: 2022-09-15 11:39:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-16 07:54:15.000000000 Z - zone: *11 - time: 2022-09-16 07:54:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-17 08:06:29.000000000 Z - zone: *11 - time: 2022-09-17 08:06:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-18 07:17:17.000000000 Z - zone: *11 - time: 2022-09-18 07:17:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-19 08:39:55.000000000 Z - zone: *11 - time: 2022-09-19 08:39:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 06:32:56.000000000 Z - zone: *11 - time: 2022-09-22 06:32:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 21:26:29.000000000 Z - zone: *11 - time: 2022-09-22 21:26:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-24 16:06:50.000000000 Z - zone: *11 - time: 2022-09-24 16:06:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-27 05:50:18.000000000 Z - zone: *11 - time: 2022-09-27 05:50:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-28 12:12:13.000000000 Z - zone: *11 - time: 2022-09-28 12:12:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-29 21:13:01.000000000 Z - zone: *11 - time: 2022-09-29 21:13:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-30 00:09:29.000000000 Z - zone: *11 - time: 2022-09-30 00:09:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-02 04:35:07.000000000 Z - zone: *11 - time: 2022-10-02 04:35:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-02 16:30:20.000000000 Z - zone: *11 - time: 2022-10-02 16:30:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-04 10:35:59.000000000 Z - zone: *11 - time: 2022-10-04 10:35:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-04 23:39:37.000000000 Z - zone: *11 - time: 2022-10-04 23:39:37.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-07 23:25:10.000000000 Z - zone: *11 - time: 2022-10-07 23:25:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-08 20:31:14.000000000 Z - zone: *11 - time: 2022-10-08 20:31:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-09 07:30:41.000000000 Z - zone: *11 - time: 2022-10-09 07:30:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-11 07:29:41.000000000 Z - zone: *11 - time: 2022-10-11 07:29:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-11 08:00:58.000000000 Z - zone: *11 - time: 2022-10-11 08:00:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-14 03:22:26.000000000 Z - zone: *11 - time: 2022-10-14 03:22:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-16 14:47:54.000000000 Z - zone: *11 - time: 2022-10-16 14:47:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-17 00:28:32.000000000 Z - zone: *11 - time: 2022-10-17 00:28:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-19 10:46:33.000000000 Z - zone: *11 - time: 2022-10-19 10:46:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-21 02:39:31.000000000 Z - zone: *11 - time: 2022-10-21 02:39:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-21 19:24:24.000000000 Z - zone: *11 - time: 2022-10-21 19:24:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-23 05:38:26.000000000 Z - zone: *11 - time: 2022-10-23 05:38:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-25 13:28:28.000000000 Z - zone: *11 - time: 2022-10-25 13:28:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-26 20:26:31.000000000 Z - zone: *11 - time: 2022-10-26 20:26:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-29 12:43:40.000000000 Z - zone: *11 - time: 2022-10-29 12:43:40.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-31 11:21:43.000000000 Z - zone: *11 - time: 2022-10-31 11:21:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-03 04:42:32.000000000 Z - zone: *11 - time: 2022-11-03 04:42:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-04 20:26:28.000000000 Z - zone: *11 - time: 2022-11-04 20:26:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-05 15:08:01.000000000 Z - zone: *11 - time: 2022-11-05 15:08:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-06 10:55:38.000000000 Z - zone: *11 - time: 2022-11-06 10:55:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-07 04:13:28.000000000 Z - zone: *11 - time: 2022-11-07 04:13:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-08 03:42:59.000000000 Z - zone: *11 - time: 2022-11-08 03:42:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-10 13:56:10.000000000 Z - zone: *11 - time: 2022-11-10 13:56:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-13 13:01:38.000000000 Z - zone: *11 - time: 2022-11-13 13:01:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-15 02:04:32.000000000 Z - zone: *11 - time: 2022-11-15 02:04:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-17 09:10:48.000000000 Z - zone: *11 - time: 2022-11-17 09:10:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-19 11:37:01.000000000 Z - zone: *11 - time: 2022-11-19 11:37:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-20 06:15:33.000000000 Z - zone: *11 - time: 2022-11-20 06:15:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-22 08:35:41.000000000 Z - zone: *11 - time: 2022-11-22 08:35:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-24 20:42:50.000000000 Z - zone: *11 - time: 2022-11-24 20:42:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-25 17:45:48.000000000 Z - zone: *11 - time: 2022-11-25 17:45:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-28 06:16:15.000000000 Z - zone: *11 - time: 2022-11-28 06:16:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-28 18:12:24.000000000 Z - zone: *11 - time: 2022-11-28 18:12:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-30 20:09:46.000000000 Z - zone: *11 - time: 2022-11-30 20:09:46.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-01 03:29:43.000000000 Z - zone: *11 - time: 2022-12-01 03:29:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-02 03:58:02.000000000 Z - zone: *11 - time: 2022-12-02 03:58:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-02 19:47:06.000000000 Z - zone: *11 - time: 2022-12-02 19:47:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-04 14:54:02.000000000 Z - zone: *11 - time: 2022-12-04 14:54:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 02:22:58.000000000 Z - zone: *11 - time: 2022-12-06 02:22:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 09:29:06.000000000 Z - zone: *11 - time: 2022-12-06 09:29:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 17:16:19.000000000 Z - zone: *11 - time: 2022-12-06 17:16:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-09 14:10:12.000000000 Z - zone: *11 - time: 2022-12-09 14:10:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-11 19:54:41.000000000 Z - zone: *11 - time: 2022-12-11 19:54:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-11 23:48:45.000000000 Z - zone: *11 - time: 2022-12-11 23:48:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-12 12:05:28.000000000 Z - zone: *11 - time: 2022-12-12 12:05:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-12 21:37:48.000000000 Z - zone: *11 - time: 2022-12-12 21:37:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-15 05:08:10.000000000 Z - zone: *11 - time: 2022-12-15 05:08:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-16 19:06:39.000000000 Z - zone: *11 - time: 2022-12-16 19:06:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-18 21:49:36.000000000 Z - zone: *11 - time: 2022-12-18 21:49:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-20 00:54:09.000000000 Z - zone: *11 - time: 2022-12-20 00:54:09.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-22 21:51:31.000000000 Z - zone: *11 - time: 2022-12-22 21:51:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-25 08:40:02.000000000 Z - zone: *11 - time: 2022-12-25 08:40:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-26 22:01:45.000000000 Z - zone: *11 - time: 2022-12-26 22:01:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-29 18:46:07.000000000 Z - zone: *11 - time: 2022-12-29 18:46:07.000000000 Z + - 2022-01-01 19:18:06.000000000 Z + - 2022-01-03 08:36:27.000000000 Z + - 2022-01-03 23:31:01.000000000 Z + - 2022-01-05 02:14:57.000000000 Z + - 2022-01-06 09:26:03.000000000 Z + - 2022-01-07 20:22:22.000000000 Z + - 2022-01-10 04:04:28.000000000 Z + - 2022-01-11 17:17:55.000000000 Z + - 2022-01-14 05:21:54.000000000 Z + - 2022-01-16 01:18:58.000000000 Z + - 2022-01-18 08:42:56.000000000 Z + - 2022-01-19 00:45:04.000000000 Z + - 2022-01-20 08:18:54.000000000 Z + - 2022-01-22 05:26:38.000000000 Z + - 2022-01-24 10:57:50.000000000 Z + - 2022-01-26 09:47:02.000000000 Z + - 2022-01-28 20:44:30.000000000 Z + - 2022-01-31 16:19:50.000000000 Z + - 2022-02-01 21:23:58.000000000 Z + - 2022-02-04 14:41:57.000000000 Z + - 2022-02-06 20:40:06.000000000 Z + - 2022-02-07 23:03:50.000000000 Z + - 2022-02-09 05:28:08.000000000 Z + - 2022-02-10 02:19:12.000000000 Z + - 2022-02-11 07:51:30.000000000 Z + - 2022-02-12 13:46:16.000000000 Z + - 2022-02-13 21:06:40.000000000 Z + - 2022-02-15 11:37:50.000000000 Z + - 2022-02-18 11:23:15.000000000 Z + - 2022-02-20 08:01:49.000000000 Z + - 2022-02-23 03:00:30.000000000 Z + - 2022-02-24 21:52:25.000000000 Z + - 2022-02-25 12:07:56.000000000 Z + - 2022-02-27 04:20:20.000000000 Z + - 2022-02-28 21:09:42.000000000 Z + - 2022-03-02 23:35:41.000000000 Z + - 2022-03-04 00:42:10.000000000 Z + - 2022-03-05 00:59:10.000000000 Z + - 2022-03-06 19:58:01.000000000 Z + - 2022-03-07 07:48:09.000000000 Z + - 2022-03-09 06:08:00.000000000 Z + - 2022-03-10 05:45:08.000000000 Z + - 2022-03-12 21:16:31.000000000 Z + - 2022-03-15 08:17:44.000000000 Z + - 2022-03-16 03:37:03.000000000 Z + - 2022-03-18 05:07:54.000000000 Z + - 2022-03-20 04:05:26.000000000 Z + - 2022-03-22 10:52:33.000000000 Z + - 2022-03-23 15:26:54.000000000 Z + - 2022-03-24 09:01:04.000000000 Z + - 2022-03-24 23:53:07.000000000 Z + - 2022-03-27 13:45:17.000000000 Z + - 2022-03-28 19:57:00.000000000 Z + - 2022-03-29 15:42:35.000000000 Z + - 2022-03-29 18:20:32.000000000 Z + - 2022-04-01 15:35:47.000000000 Z + - 2022-04-02 06:33:31.000000000 Z + - 2022-04-03 18:27:19.000000000 Z + - 2022-04-03 23:44:08.000000000 Z + - 2022-04-06 10:59:32.000000000 Z + - 2022-04-07 01:33:53.000000000 Z + - 2022-04-08 10:26:34.000000000 Z + - 2022-04-10 19:21:08.000000000 Z + - 2022-04-12 01:50:04.000000000 Z + - 2022-04-14 19:56:29.000000000 Z + - 2022-04-15 09:08:22.000000000 Z + - 2022-04-16 07:58:47.000000000 Z + - 2022-04-17 16:31:40.000000000 Z + - 2022-04-20 09:50:22.000000000 Z + - 2022-04-23 04:24:22.000000000 Z + - 2022-04-25 07:18:04.000000000 Z + - 2022-04-27 16:57:48.000000000 Z + - 2022-04-29 18:48:09.000000000 Z + - 2022-04-29 20:30:25.000000000 Z + - 2022-05-02 03:44:25.000000000 Z + - 2022-05-03 15:27:57.000000000 Z + - 2022-05-04 08:11:15.000000000 Z + - 2022-05-07 00:42:14.000000000 Z + - 2022-05-09 15:23:31.000000000 Z + - 2022-05-10 19:11:49.000000000 Z + - 2022-05-11 14:04:17.000000000 Z + - 2022-05-14 12:09:34.000000000 Z + - 2022-05-15 13:31:54.000000000 Z + - 2022-05-17 21:21:37.000000000 Z + - 2022-05-19 01:27:43.000000000 Z + - 2022-05-21 04:34:59.000000000 Z + - 2022-05-23 11:05:18.000000000 Z + - 2022-05-23 19:14:50.000000000 Z + - 2022-05-26 13:16:18.000000000 Z + - 2022-05-27 11:39:35.000000000 Z + - 2022-05-29 07:09:07.000000000 Z + - 2022-05-30 15:13:23.000000000 Z + - 2022-06-01 04:18:40.000000000 Z + - 2022-06-01 11:11:51.000000000 Z + - 2022-06-01 12:45:06.000000000 Z + - 2022-06-03 07:08:31.000000000 Z + - 2022-06-04 23:28:11.000000000 Z + - 2022-06-07 12:14:01.000000000 Z + - 2022-06-08 13:32:22.000000000 Z + - 2022-06-10 18:56:37.000000000 Z + - 2022-06-12 16:00:09.000000000 Z + - 2022-06-15 13:28:55.000000000 Z + - 2022-06-16 18:42:37.000000000 Z + - 2022-06-17 00:36:21.000000000 Z + - 2022-06-18 16:21:27.000000000 Z + - 2022-06-20 13:50:27.000000000 Z + - 2022-06-22 09:43:55.000000000 Z + - 2022-06-25 09:43:17.000000000 Z + - 2022-06-27 06:51:01.000000000 Z + - 2022-06-28 09:10:53.000000000 Z + - 2022-06-30 18:46:16.000000000 Z + - 2022-07-01 16:05:14.000000000 Z + - 2022-07-02 14:02:12.000000000 Z + - 2022-07-05 11:08:11.000000000 Z + - 2022-07-05 12:44:38.000000000 Z + - 2022-07-08 03:55:17.000000000 Z + - 2022-07-08 18:02:14.000000000 Z + - 2022-07-09 09:41:17.000000000 Z + - 2022-07-11 07:34:51.000000000 Z + - 2022-07-13 05:11:19.000000000 Z + - 2022-07-15 02:46:56.000000000 Z + - 2022-07-16 15:40:39.000000000 Z + - 2022-07-17 19:44:15.000000000 Z + - 2022-07-19 00:31:12.000000000 Z + - 2022-07-21 21:58:24.000000000 Z + - 2022-07-22 05:25:48.000000000 Z + - 2022-07-22 18:33:04.000000000 Z + - 2022-07-24 07:42:24.000000000 Z + - 2022-07-25 07:21:20.000000000 Z + - 2022-07-27 12:02:44.000000000 Z + - 2022-07-29 03:29:28.000000000 Z + - 2022-07-29 11:35:43.000000000 Z + - 2022-07-30 05:25:21.000000000 Z + - 2022-07-30 19:39:10.000000000 Z + - 2022-07-31 18:54:58.000000000 Z + - 2022-08-03 11:18:44.000000000 Z + - 2022-08-05 00:37:47.000000000 Z + - 2022-08-05 12:08:08.000000000 Z + - 2022-08-07 14:39:19.000000000 Z + - 2022-08-08 09:52:59.000000000 Z + - 2022-08-09 13:48:29.000000000 Z + - 2022-08-11 19:03:04.000000000 Z + - 2022-08-13 01:56:49.000000000 Z + - 2022-08-15 11:33:09.000000000 Z + - 2022-08-17 23:37:45.000000000 Z + - 2022-08-19 00:47:19.000000000 Z + - 2022-08-19 01:01:12.000000000 Z + - 2022-08-21 07:37:55.000000000 Z + - 2022-08-21 21:42:15.000000000 Z + - 2022-08-23 10:55:39.000000000 Z + - 2022-08-25 16:20:29.000000000 Z + - 2022-08-27 06:28:14.000000000 Z + - 2022-08-27 13:12:57.000000000 Z + - 2022-08-28 23:00:13.000000000 Z + - 2022-08-31 05:19:56.000000000 Z + - 2022-09-02 18:00:18.000000000 Z + - 2022-09-04 12:02:47.000000000 Z + - 2022-09-06 00:57:21.000000000 Z + - 2022-09-08 04:26:01.000000000 Z + - 2022-09-09 04:55:45.000000000 Z + - 2022-09-11 22:59:36.000000000 Z + - 2022-09-12 00:54:25.000000000 Z + - 2022-09-12 17:44:24.000000000 Z + - 2022-09-12 20:47:30.000000000 Z + - 2022-09-15 11:39:20.000000000 Z + - 2022-09-16 07:54:15.000000000 Z + - 2022-09-17 08:06:29.000000000 Z + - 2022-09-18 07:17:17.000000000 Z + - 2022-09-19 08:39:55.000000000 Z + - 2022-09-22 06:32:56.000000000 Z + - 2022-09-22 21:26:29.000000000 Z + - 2022-09-24 16:06:50.000000000 Z + - 2022-09-27 05:50:18.000000000 Z + - 2022-09-28 12:12:13.000000000 Z + - 2022-09-29 21:13:01.000000000 Z + - 2022-09-30 00:09:29.000000000 Z + - 2022-10-02 04:35:07.000000000 Z + - 2022-10-02 16:30:20.000000000 Z + - 2022-10-04 10:35:59.000000000 Z + - 2022-10-04 23:39:37.000000000 Z + - 2022-10-07 23:25:10.000000000 Z + - 2022-10-08 20:31:14.000000000 Z + - 2022-10-09 07:30:41.000000000 Z + - 2022-10-11 07:29:41.000000000 Z + - 2022-10-11 08:00:58.000000000 Z + - 2022-10-14 03:22:26.000000000 Z + - 2022-10-16 14:47:54.000000000 Z + - 2022-10-17 00:28:32.000000000 Z + - 2022-10-19 10:46:33.000000000 Z + - 2022-10-21 02:39:31.000000000 Z + - 2022-10-21 19:24:24.000000000 Z + - 2022-10-23 05:38:26.000000000 Z + - 2022-10-25 13:28:28.000000000 Z + - 2022-10-26 20:26:31.000000000 Z + - 2022-10-29 12:43:40.000000000 Z + - 2022-10-31 11:21:43.000000000 Z + - 2022-11-03 04:42:32.000000000 Z + - 2022-11-04 20:26:28.000000000 Z + - 2022-11-05 15:08:01.000000000 Z + - 2022-11-06 10:55:38.000000000 Z + - 2022-11-07 04:13:28.000000000 Z + - 2022-11-08 03:42:59.000000000 Z + - 2022-11-10 13:56:10.000000000 Z + - 2022-11-13 13:01:38.000000000 Z + - 2022-11-15 02:04:32.000000000 Z + - 2022-11-17 09:10:48.000000000 Z + - 2022-11-19 11:37:01.000000000 Z + - 2022-11-20 06:15:33.000000000 Z + - 2022-11-22 08:35:41.000000000 Z + - 2022-11-24 20:42:50.000000000 Z + - 2022-11-25 17:45:48.000000000 Z + - 2022-11-28 06:16:15.000000000 Z + - 2022-11-28 18:12:24.000000000 Z + - 2022-11-30 20:09:46.000000000 Z + - 2022-12-01 03:29:43.000000000 Z + - 2022-12-02 03:58:02.000000000 Z + - 2022-12-02 19:47:06.000000000 Z + - 2022-12-04 14:54:02.000000000 Z + - 2022-12-06 02:22:58.000000000 Z + - 2022-12-06 09:29:06.000000000 Z + - 2022-12-06 17:16:19.000000000 Z + - 2022-12-09 14:10:12.000000000 Z + - 2022-12-11 19:54:41.000000000 Z + - 2022-12-11 23:48:45.000000000 Z + - 2022-12-12 12:05:28.000000000 Z + - 2022-12-12 21:37:48.000000000 Z + - 2022-12-15 05:08:10.000000000 Z + - 2022-12-16 19:06:39.000000000 Z + - 2022-12-18 21:49:36.000000000 Z + - 2022-12-20 00:54:09.000000000 Z + - 2022-12-22 21:51:31.000000000 Z + - 2022-12-25 08:40:02.000000000 Z + - 2022-12-26 22:01:45.000000000 Z + - 2022-12-29 18:46:07.000000000 Z :entries_3: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-01 01:55:31.000000000 Z - zone: &12 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2023-01-01 01:55:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-01 17:34:53.000000000 Z - zone: *12 - time: 2023-01-01 17:34:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-04 09:05:13.000000000 Z - zone: *12 - time: 2023-01-04 09:05:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-05 01:57:33.000000000 Z - zone: *12 - time: 2023-01-05 01:57:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-06 08:56:47.000000000 Z - zone: *12 - time: 2023-01-06 08:56:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-07 18:52:12.000000000 Z - zone: *12 - time: 2023-01-07 18:52:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-08 00:43:40.000000000 Z - zone: *12 - time: 2023-01-08 00:43:40.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-10 13:28:23.000000000 Z - zone: *12 - time: 2023-01-10 13:28:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-13 10:22:38.000000000 Z - zone: *12 - time: 2023-01-13 10:22:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-15 01:43:06.000000000 Z - zone: *12 - time: 2023-01-15 01:43:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-15 04:30:52.000000000 Z - zone: *12 - time: 2023-01-15 04:30:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-16 23:13:04.000000000 Z - zone: *12 - time: 2023-01-16 23:13:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-19 17:16:31.000000000 Z - zone: *12 - time: 2023-01-19 17:16:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-21 09:25:58.000000000 Z - zone: *12 - time: 2023-01-21 09:25:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-23 09:42:42.000000000 Z - zone: *12 - time: 2023-01-23 09:42:42.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-24 11:13:59.000000000 Z - zone: *12 - time: 2023-01-24 11:13:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-25 00:57:26.000000000 Z - zone: *12 - time: 2023-01-25 00:57:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-27 10:31:18.000000000 Z - zone: *12 - time: 2023-01-27 10:31:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-28 07:08:54.000000000 Z - zone: *12 - time: 2023-01-28 07:08:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-28 09:46:16.000000000 Z - zone: *12 - time: 2023-01-28 09:46:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-30 04:34:32.000000000 Z - zone: *12 - time: 2023-01-30 04:34:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-30 05:30:26.000000000 Z - zone: *12 - time: 2023-01-30 05:30:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-31 08:08:44.000000000 Z - zone: *12 - time: 2023-01-31 08:08:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-03 01:02:02.000000000 Z - zone: *12 - time: 2023-02-03 01:02:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-03 10:02:38.000000000 Z - zone: *12 - time: 2023-02-03 10:02:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-05 02:22:53.000000000 Z - zone: *12 - time: 2023-02-05 02:22:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-05 05:55:46.000000000 Z - zone: *12 - time: 2023-02-05 05:55:46.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-07 06:18:28.000000000 Z - zone: *12 - time: 2023-02-07 06:18:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-08 13:57:28.000000000 Z - zone: *12 - time: 2023-02-08 13:57:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-08 17:53:12.000000000 Z - zone: *12 - time: 2023-02-08 17:53:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-10 08:40:27.000000000 Z - zone: *12 - time: 2023-02-10 08:40:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-10 10:28:23.000000000 Z - zone: *12 - time: 2023-02-10 10:28:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-12 15:42:42.000000000 Z - zone: *12 - time: 2023-02-12 15:42:42.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-14 06:11:35.000000000 Z - zone: *12 - time: 2023-02-14 06:11:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-14 12:22:06.000000000 Z - zone: *12 - time: 2023-02-14 12:22:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-16 14:43:29.000000000 Z - zone: *12 - time: 2023-02-16 14:43:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-16 15:58:19.000000000 Z - zone: *12 - time: 2023-02-16 15:58:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-17 08:36:37.000000000 Z - zone: *12 - time: 2023-02-17 08:36:37.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-19 04:20:36.000000000 Z - zone: *12 - time: 2023-02-19 04:20:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-21 03:27:07.000000000 Z - zone: *12 - time: 2023-02-21 03:27:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-22 09:09:23.000000000 Z - zone: *12 - time: 2023-02-22 09:09:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-24 10:19:14.000000000 Z - zone: *12 - time: 2023-02-24 10:19:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-26 13:28:50.000000000 Z - zone: *12 - time: 2023-02-26 13:28:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-27 15:33:38.000000000 Z - zone: *12 - time: 2023-02-27 15:33:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-01 14:48:42.000000000 Z - zone: *12 - time: 2023-03-01 14:48:42.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-02 19:17:52.000000000 Z - zone: *12 - time: 2023-03-02 19:17:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-03 09:48:41.000000000 Z - zone: *12 - time: 2023-03-03 09:48:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-04 12:44:18.000000000 Z - zone: *12 - time: 2023-03-04 12:44:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-06 18:24:47.000000000 Z - zone: *12 - time: 2023-03-06 18:24:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-09 13:55:36.000000000 Z - zone: *12 - time: 2023-03-09 13:55:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-11 13:50:26.000000000 Z - zone: *12 - time: 2023-03-11 13:50:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 05:57:47.000000000 Z - zone: *12 - time: 2023-03-14 05:57:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 09:16:38.000000000 Z - zone: *12 - time: 2023-03-14 09:16:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 12:34:22.000000000 Z - zone: *12 - time: 2023-03-14 12:34:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 15:15:53.000000000 Z - zone: *12 - time: 2023-03-14 15:15:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-16 18:34:04.000000000 Z - zone: *12 - time: 2023-03-16 18:34:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-19 13:01:38.000000000 Z - zone: *12 - time: 2023-03-19 13:01:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-19 15:24:32.000000000 Z - zone: *12 - time: 2023-03-19 15:24:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-20 14:56:28.000000000 Z - zone: *12 - time: 2023-03-20 14:56:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-21 12:32:45.000000000 Z - zone: *12 - time: 2023-03-21 12:32:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-23 22:16:22.000000000 Z - zone: *12 - time: 2023-03-23 22:16:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-24 01:05:24.000000000 Z - zone: *12 - time: 2023-03-24 01:05:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-26 12:01:36.000000000 Z - zone: *12 - time: 2023-03-26 12:01:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-29 07:45:17.000000000 Z - zone: *12 - time: 2023-03-29 07:45:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-01 06:03:31.000000000 Z - zone: *12 - time: 2023-04-01 06:03:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-02 20:45:43.000000000 Z - zone: *12 - time: 2023-04-02 20:45:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-03 05:33:10.000000000 Z - zone: *12 - time: 2023-04-03 05:33:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-03 16:15:11.000000000 Z - zone: *12 - time: 2023-04-03 16:15:11.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-05 14:56:49.000000000 Z - zone: *12 - time: 2023-04-05 14:56:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-06 22:21:46.000000000 Z - zone: *12 - time: 2023-04-06 22:21:46.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-08 19:50:51.000000000 Z - zone: *12 - time: 2023-04-08 19:50:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-09 06:14:30.000000000 Z - zone: *12 - time: 2023-04-09 06:14:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-09 11:26:27.000000000 Z - zone: *12 - time: 2023-04-09 11:26:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-11 21:34:04.000000000 Z - zone: *12 - time: 2023-04-11 21:34:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-14 08:51:06.000000000 Z - zone: *12 - time: 2023-04-14 08:51:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-16 15:58:05.000000000 Z - zone: *12 - time: 2023-04-16 15:58:05.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-17 03:06:43.000000000 Z - zone: *12 - time: 2023-04-17 03:06:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-18 16:28:30.000000000 Z - zone: *12 - time: 2023-04-18 16:28:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-18 17:32:38.000000000 Z - zone: *12 - time: 2023-04-18 17:32:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-19 20:34:45.000000000 Z - zone: *12 - time: 2023-04-19 20:34:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-22 06:16:01.000000000 Z - zone: *12 - time: 2023-04-22 06:16:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-22 12:00:25.000000000 Z - zone: *12 - time: 2023-04-22 12:00:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-24 21:12:27.000000000 Z - zone: *12 - time: 2023-04-24 21:12:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-27 15:19:36.000000000 Z - zone: *12 - time: 2023-04-27 15:19:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-29 00:43:46.000000000 Z - zone: *12 - time: 2023-04-29 00:43:46.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-29 17:50:02.000000000 Z - zone: *12 - time: 2023-04-29 17:50:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-30 05:22:14.000000000 Z - zone: *12 - time: 2023-04-30 05:22:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-01 07:20:17.000000000 Z - zone: *12 - time: 2023-05-01 07:20:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-03 05:11:16.000000000 Z - zone: *12 - time: 2023-05-03 05:11:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 00:13:31.000000000 Z - zone: *12 - time: 2023-05-05 00:13:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 12:08:33.000000000 Z - zone: *12 - time: 2023-05-05 12:08:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 16:26:19.000000000 Z - zone: *12 - time: 2023-05-05 16:26:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-07 23:53:00.000000000 Z - zone: *12 - time: 2023-05-07 23:53:00.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-10 17:41:27.000000000 Z - zone: *12 - time: 2023-05-10 17:41:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-12 01:37:24.000000000 Z - zone: *12 - time: 2023-05-12 01:37:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-14 08:18:36.000000000 Z - zone: *12 - time: 2023-05-14 08:18:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-16 15:17:43.000000000 Z - zone: *12 - time: 2023-05-16 15:17:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-16 18:24:55.000000000 Z - zone: *12 - time: 2023-05-16 18:24:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-19 16:16:45.000000000 Z - zone: *12 - time: 2023-05-19 16:16:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-21 00:48:36.000000000 Z - zone: *12 - time: 2023-05-21 00:48:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-22 00:54:41.000000000 Z - zone: *12 - time: 2023-05-22 00:54:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-24 05:36:25.000000000 Z - zone: *12 - time: 2023-05-24 05:36:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-25 10:05:39.000000000 Z - zone: *12 - time: 2023-05-25 10:05:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-26 16:09:51.000000000 Z - zone: *12 - time: 2023-05-26 16:09:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-29 12:40:29.000000000 Z - zone: *12 - time: 2023-05-29 12:40:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-29 13:15:05.000000000 Z - zone: *12 - time: 2023-05-29 13:15:05.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-31 15:28:14.000000000 Z - zone: *12 - time: 2023-05-31 15:28:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-02 02:05:21.000000000 Z - zone: *12 - time: 2023-06-02 02:05:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-02 13:05:50.000000000 Z - zone: *12 - time: 2023-06-02 13:05:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-04 11:12:19.000000000 Z - zone: *12 - time: 2023-06-04 11:12:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-05 10:04:34.000000000 Z - zone: *12 - time: 2023-06-05 10:04:34.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-06 02:47:22.000000000 Z - zone: *12 - time: 2023-06-06 02:47:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-07 04:35:17.000000000 Z - zone: *12 - time: 2023-06-07 04:35:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-07 16:20:27.000000000 Z - zone: *12 - time: 2023-06-07 16:20:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-08 07:43:14.000000000 Z - zone: *12 - time: 2023-06-08 07:43:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-10 17:55:59.000000000 Z - zone: *12 - time: 2023-06-10 17:55:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-12 17:00:02.000000000 Z - zone: *12 - time: 2023-06-12 17:00:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-14 08:37:14.000000000 Z - zone: *12 - time: 2023-06-14 08:37:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-14 18:07:30.000000000 Z - zone: *12 - time: 2023-06-14 18:07:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-16 12:07:26.000000000 Z - zone: *12 - time: 2023-06-16 12:07:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-18 22:29:39.000000000 Z - zone: *12 - time: 2023-06-18 22:29:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-19 02:32:54.000000000 Z - zone: *12 - time: 2023-06-19 02:32:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-20 14:24:40.000000000 Z - zone: *12 - time: 2023-06-20 14:24:40.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-22 09:27:59.000000000 Z - zone: *12 - time: 2023-06-22 09:27:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-23 07:31:20.000000000 Z - zone: *12 - time: 2023-06-23 07:31:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-23 21:06:55.000000000 Z - zone: *12 - time: 2023-06-23 21:06:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-26 06:57:28.000000000 Z - zone: *12 - time: 2023-06-26 06:57:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-28 17:08:12.000000000 Z - zone: *12 - time: 2023-06-28 17:08:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-29 03:06:47.000000000 Z - zone: *12 - time: 2023-06-29 03:06:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-30 12:25:41.000000000 Z - zone: *12 - time: 2023-06-30 12:25:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-02 08:49:42.000000000 Z - zone: *12 - time: 2023-07-02 08:49:42.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-03 20:09:26.000000000 Z - zone: *12 - time: 2023-07-03 20:09:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-06 17:39:13.000000000 Z - zone: *12 - time: 2023-07-06 17:39:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-09 00:18:52.000000000 Z - zone: *12 - time: 2023-07-09 00:18:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-11 03:58:21.000000000 Z - zone: *12 - time: 2023-07-11 03:58:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-12 22:37:00.000000000 Z - zone: *12 - time: 2023-07-12 22:37:00.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-14 01:58:44.000000000 Z - zone: *12 - time: 2023-07-14 01:58:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-16 20:21:13.000000000 Z - zone: *12 - time: 2023-07-16 20:21:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-17 01:41:47.000000000 Z - zone: *12 - time: 2023-07-17 01:41:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-19 10:06:35.000000000 Z - zone: *12 - time: 2023-07-19 10:06:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-21 17:44:16.000000000 Z - zone: *12 - time: 2023-07-21 17:44:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-22 02:46:04.000000000 Z - zone: *12 - time: 2023-07-22 02:46:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-22 06:52:04.000000000 Z - zone: *12 - time: 2023-07-22 06:52:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-23 04:53:49.000000000 Z - zone: *12 - time: 2023-07-23 04:53:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-25 16:37:24.000000000 Z - zone: *12 - time: 2023-07-25 16:37:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-27 18:34:33.000000000 Z - zone: *12 - time: 2023-07-27 18:34:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-28 02:34:02.000000000 Z - zone: *12 - time: 2023-07-28 02:34:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-29 19:53:32.000000000 Z - zone: *12 - time: 2023-07-29 19:53:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-30 23:30:11.000000000 Z - zone: *12 - time: 2023-07-30 23:30:11.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-02 17:46:22.000000000 Z - zone: *12 - time: 2023-08-02 17:46:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 00:01:21.000000000 Z - zone: *12 - time: 2023-08-03 00:01:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 03:57:56.000000000 Z - zone: *12 - time: 2023-08-03 03:57:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 21:41:28.000000000 Z - zone: *12 - time: 2023-08-03 21:41:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-04 23:37:31.000000000 Z - zone: *12 - time: 2023-08-04 23:37:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-05 08:20:42.000000000 Z - zone: *12 - time: 2023-08-05 08:20:42.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-07 21:01:55.000000000 Z - zone: *12 - time: 2023-08-07 21:01:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-10 17:03:47.000000000 Z - zone: *12 - time: 2023-08-10 17:03:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-11 21:06:31.000000000 Z - zone: *12 - time: 2023-08-11 21:06:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-12 08:45:08.000000000 Z - zone: *12 - time: 2023-08-12 08:45:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-13 07:09:39.000000000 Z - zone: *12 - time: 2023-08-13 07:09:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-14 11:15:10.000000000 Z - zone: *12 - time: 2023-08-14 11:15:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-16 04:15:48.000000000 Z - zone: *12 - time: 2023-08-16 04:15:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-19 04:11:43.000000000 Z - zone: *12 - time: 2023-08-19 04:11:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-19 10:10:27.000000000 Z - zone: *12 - time: 2023-08-19 10:10:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-22 09:41:20.000000000 Z - zone: *12 - time: 2023-08-22 09:41:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-24 10:27:08.000000000 Z - zone: *12 - time: 2023-08-24 10:27:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-24 18:16:12.000000000 Z - zone: *12 - time: 2023-08-24 18:16:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-25 17:02:28.000000000 Z - zone: *12 - time: 2023-08-25 17:02:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-27 15:58:52.000000000 Z - zone: *12 - time: 2023-08-27 15:58:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-27 23:29:53.000000000 Z - zone: *12 - time: 2023-08-27 23:29:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-28 21:31:27.000000000 Z - zone: *12 - time: 2023-08-28 21:31:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-29 03:35:29.000000000 Z - zone: *12 - time: 2023-08-29 03:35:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-31 06:15:19.000000000 Z - zone: *12 - time: 2023-08-31 06:15:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-01 21:56:52.000000000 Z - zone: *12 - time: 2023-09-01 21:56:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-02 22:57:53.000000000 Z - zone: *12 - time: 2023-09-02 22:57:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-05 03:28:30.000000000 Z - zone: *12 - time: 2023-09-05 03:28:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-07 04:57:12.000000000 Z - zone: *12 - time: 2023-09-07 04:57:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-09 19:16:05.000000000 Z - zone: *12 - time: 2023-09-09 19:16:05.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-09 20:01:39.000000000 Z - zone: *12 - time: 2023-09-09 20:01:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-11 03:23:22.000000000 Z - zone: *12 - time: 2023-09-11 03:23:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-12 15:18:29.000000000 Z - zone: *12 - time: 2023-09-12 15:18:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-13 14:14:43.000000000 Z - zone: *12 - time: 2023-09-13 14:14:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-13 17:37:25.000000000 Z - zone: *12 - time: 2023-09-13 17:37:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-14 18:17:49.000000000 Z - zone: *12 - time: 2023-09-14 18:17:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-16 19:56:55.000000000 Z - zone: *12 - time: 2023-09-16 19:56:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-18 14:21:02.000000000 Z - zone: *12 - time: 2023-09-18 14:21:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-21 00:34:13.000000000 Z - zone: *12 - time: 2023-09-21 00:34:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-23 07:14:06.000000000 Z - zone: *12 - time: 2023-09-23 07:14:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-24 17:22:22.000000000 Z - zone: *12 - time: 2023-09-24 17:22:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-27 12:42:54.000000000 Z - zone: *12 - time: 2023-09-27 12:42:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-28 14:48:45.000000000 Z - zone: *12 - time: 2023-09-28 14:48:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-01 11:54:24.000000000 Z - zone: *12 - time: 2023-10-01 11:54:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-03 07:36:32.000000000 Z - zone: *12 - time: 2023-10-03 07:36:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-05 05:13:57.000000000 Z - zone: *12 - time: 2023-10-05 05:13:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-06 16:07:06.000000000 Z - zone: *12 - time: 2023-10-06 16:07:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 00:03:52.000000000 Z - zone: *12 - time: 2023-10-09 00:03:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 02:32:01.000000000 Z - zone: *12 - time: 2023-10-09 02:32:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-10 16:39:07.000000000 Z - zone: *12 - time: 2023-10-10 16:39:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-12 13:28:16.000000000 Z - zone: *12 - time: 2023-10-12 13:28:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-14 04:29:14.000000000 Z - zone: *12 - time: 2023-10-14 04:29:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-17 03:30:24.000000000 Z - zone: *12 - time: 2023-10-17 03:30:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 03:13:15.000000000 Z - zone: *12 - time: 2023-10-20 03:13:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 20:47:06.000000000 Z - zone: *12 - time: 2023-10-20 20:47:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-21 13:59:34.000000000 Z - zone: *12 - time: 2023-10-21 13:59:34.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-23 21:38:48.000000000 Z - zone: *12 - time: 2023-10-23 21:38:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-24 06:07:13.000000000 Z - zone: *12 - time: 2023-10-24 06:07:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-25 22:51:17.000000000 Z - zone: *12 - time: 2023-10-25 22:51:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-26 21:12:50.000000000 Z - zone: *12 - time: 2023-10-26 21:12:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-28 05:52:20.000000000 Z - zone: *12 - time: 2023-10-28 05:52:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-29 22:11:01.000000000 Z - zone: *12 - time: 2023-10-29 22:11:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-30 12:29:25.000000000 Z - zone: *12 - time: 2023-10-30 12:29:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 02:52:55.000000000 Z - zone: *12 - time: 2023-11-02 02:52:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 06:00:32.000000000 Z - zone: *12 - time: 2023-11-02 06:00:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-03 08:39:06.000000000 Z - zone: *12 - time: 2023-11-03 08:39:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-04 23:51:22.000000000 Z - zone: *12 - time: 2023-11-04 23:51:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-07 16:11:33.000000000 Z - zone: *12 - time: 2023-11-07 16:11:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-10 10:55:29.000000000 Z - zone: *12 - time: 2023-11-10 10:55:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 01:20:18.000000000 Z - zone: *12 - time: 2023-11-12 01:20:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 04:22:50.000000000 Z - zone: *12 - time: 2023-11-12 04:22:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 08:38:58.000000000 Z - zone: *12 - time: 2023-11-12 08:38:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-13 15:43:40.000000000 Z - zone: *12 - time: 2023-11-13 15:43:40.000000000 Z -pagy/extras/calendar::instance methods#test_0015_selects :week for the last page: + - 2023-01-01 01:55:31.000000000 Z + - 2023-01-01 17:34:53.000000000 Z + - 2023-01-04 09:05:13.000000000 Z + - 2023-01-05 01:57:33.000000000 Z + - 2023-01-06 08:56:47.000000000 Z + - 2023-01-07 18:52:12.000000000 Z + - 2023-01-08 00:43:40.000000000 Z + - 2023-01-10 13:28:23.000000000 Z + - 2023-01-13 10:22:38.000000000 Z + - 2023-01-15 01:43:06.000000000 Z + - 2023-01-15 04:30:52.000000000 Z + - 2023-01-16 23:13:04.000000000 Z + - 2023-01-19 17:16:31.000000000 Z + - 2023-01-21 09:25:58.000000000 Z + - 2023-01-23 09:42:42.000000000 Z + - 2023-01-24 11:13:59.000000000 Z + - 2023-01-25 00:57:26.000000000 Z + - 2023-01-27 10:31:18.000000000 Z + - 2023-01-28 07:08:54.000000000 Z + - 2023-01-28 09:46:16.000000000 Z + - 2023-01-30 04:34:32.000000000 Z + - 2023-01-30 05:30:26.000000000 Z + - 2023-01-31 08:08:44.000000000 Z + - 2023-02-03 01:02:02.000000000 Z + - 2023-02-03 10:02:38.000000000 Z + - 2023-02-05 02:22:53.000000000 Z + - 2023-02-05 05:55:46.000000000 Z + - 2023-02-07 06:18:28.000000000 Z + - 2023-02-08 13:57:28.000000000 Z + - 2023-02-08 17:53:12.000000000 Z + - 2023-02-10 08:40:27.000000000 Z + - 2023-02-10 10:28:23.000000000 Z + - 2023-02-12 15:42:42.000000000 Z + - 2023-02-14 06:11:35.000000000 Z + - 2023-02-14 12:22:06.000000000 Z + - 2023-02-16 14:43:29.000000000 Z + - 2023-02-16 15:58:19.000000000 Z + - 2023-02-17 08:36:37.000000000 Z + - 2023-02-19 04:20:36.000000000 Z + - 2023-02-21 03:27:07.000000000 Z + - 2023-02-22 09:09:23.000000000 Z + - 2023-02-24 10:19:14.000000000 Z + - 2023-02-26 13:28:50.000000000 Z + - 2023-02-27 15:33:38.000000000 Z + - 2023-03-01 14:48:42.000000000 Z + - 2023-03-02 19:17:52.000000000 Z + - 2023-03-03 09:48:41.000000000 Z + - 2023-03-04 12:44:18.000000000 Z + - 2023-03-06 18:24:47.000000000 Z + - 2023-03-09 13:55:36.000000000 Z + - 2023-03-11 13:50:26.000000000 Z + - 2023-03-14 05:57:47.000000000 Z + - 2023-03-14 09:16:38.000000000 Z + - 2023-03-14 12:34:22.000000000 Z + - 2023-03-14 15:15:53.000000000 Z + - 2023-03-16 18:34:04.000000000 Z + - 2023-03-19 13:01:38.000000000 Z + - 2023-03-19 15:24:32.000000000 Z + - 2023-03-20 14:56:28.000000000 Z + - 2023-03-21 12:32:45.000000000 Z + - 2023-03-23 22:16:22.000000000 Z + - 2023-03-24 01:05:24.000000000 Z + - 2023-03-26 12:01:36.000000000 Z + - 2023-03-29 07:45:17.000000000 Z + - 2023-04-01 06:03:31.000000000 Z + - 2023-04-02 20:45:43.000000000 Z + - 2023-04-03 05:33:10.000000000 Z + - 2023-04-03 16:15:11.000000000 Z + - 2023-04-05 14:56:49.000000000 Z + - 2023-04-06 22:21:46.000000000 Z + - 2023-04-08 19:50:51.000000000 Z + - 2023-04-09 06:14:30.000000000 Z + - 2023-04-09 11:26:27.000000000 Z + - 2023-04-11 21:34:04.000000000 Z + - 2023-04-14 08:51:06.000000000 Z + - 2023-04-16 15:58:05.000000000 Z + - 2023-04-17 03:06:43.000000000 Z + - 2023-04-18 16:28:30.000000000 Z + - 2023-04-18 17:32:38.000000000 Z + - 2023-04-19 20:34:45.000000000 Z + - 2023-04-22 06:16:01.000000000 Z + - 2023-04-22 12:00:25.000000000 Z + - 2023-04-24 21:12:27.000000000 Z + - 2023-04-27 15:19:36.000000000 Z + - 2023-04-29 00:43:46.000000000 Z + - 2023-04-29 17:50:02.000000000 Z + - 2023-04-30 05:22:14.000000000 Z + - 2023-05-01 07:20:17.000000000 Z + - 2023-05-03 05:11:16.000000000 Z + - 2023-05-05 00:13:31.000000000 Z + - 2023-05-05 12:08:33.000000000 Z + - 2023-05-05 16:26:19.000000000 Z + - 2023-05-07 23:53:00.000000000 Z + - 2023-05-10 17:41:27.000000000 Z + - 2023-05-12 01:37:24.000000000 Z + - 2023-05-14 08:18:36.000000000 Z + - 2023-05-16 15:17:43.000000000 Z + - 2023-05-16 18:24:55.000000000 Z + - 2023-05-19 16:16:45.000000000 Z + - 2023-05-21 00:48:36.000000000 Z + - 2023-05-22 00:54:41.000000000 Z + - 2023-05-24 05:36:25.000000000 Z + - 2023-05-25 10:05:39.000000000 Z + - 2023-05-26 16:09:51.000000000 Z + - 2023-05-29 12:40:29.000000000 Z + - 2023-05-29 13:15:05.000000000 Z + - 2023-05-31 15:28:14.000000000 Z + - 2023-06-02 02:05:21.000000000 Z + - 2023-06-02 13:05:50.000000000 Z + - 2023-06-04 11:12:19.000000000 Z + - 2023-06-05 10:04:34.000000000 Z + - 2023-06-06 02:47:22.000000000 Z + - 2023-06-07 04:35:17.000000000 Z + - 2023-06-07 16:20:27.000000000 Z + - 2023-06-08 07:43:14.000000000 Z + - 2023-06-10 17:55:59.000000000 Z + - 2023-06-12 17:00:02.000000000 Z + - 2023-06-14 08:37:14.000000000 Z + - 2023-06-14 18:07:30.000000000 Z + - 2023-06-16 12:07:26.000000000 Z + - 2023-06-18 22:29:39.000000000 Z + - 2023-06-19 02:32:54.000000000 Z + - 2023-06-20 14:24:40.000000000 Z + - 2023-06-22 09:27:59.000000000 Z + - 2023-06-23 07:31:20.000000000 Z + - 2023-06-23 21:06:55.000000000 Z + - 2023-06-26 06:57:28.000000000 Z + - 2023-06-28 17:08:12.000000000 Z + - 2023-06-29 03:06:47.000000000 Z + - 2023-06-30 12:25:41.000000000 Z + - 2023-07-02 08:49:42.000000000 Z + - 2023-07-03 20:09:26.000000000 Z + - 2023-07-06 17:39:13.000000000 Z + - 2023-07-09 00:18:52.000000000 Z + - 2023-07-11 03:58:21.000000000 Z + - 2023-07-12 22:37:00.000000000 Z + - 2023-07-14 01:58:44.000000000 Z + - 2023-07-16 20:21:13.000000000 Z + - 2023-07-17 01:41:47.000000000 Z + - 2023-07-19 10:06:35.000000000 Z + - 2023-07-21 17:44:16.000000000 Z + - 2023-07-22 02:46:04.000000000 Z + - 2023-07-22 06:52:04.000000000 Z + - 2023-07-23 04:53:49.000000000 Z + - 2023-07-25 16:37:24.000000000 Z + - 2023-07-27 18:34:33.000000000 Z + - 2023-07-28 02:34:02.000000000 Z + - 2023-07-29 19:53:32.000000000 Z + - 2023-07-30 23:30:11.000000000 Z + - 2023-08-02 17:46:22.000000000 Z + - 2023-08-03 00:01:21.000000000 Z + - 2023-08-03 03:57:56.000000000 Z + - 2023-08-03 21:41:28.000000000 Z + - 2023-08-04 23:37:31.000000000 Z + - 2023-08-05 08:20:42.000000000 Z + - 2023-08-07 21:01:55.000000000 Z + - 2023-08-10 17:03:47.000000000 Z + - 2023-08-11 21:06:31.000000000 Z + - 2023-08-12 08:45:08.000000000 Z + - 2023-08-13 07:09:39.000000000 Z + - 2023-08-14 11:15:10.000000000 Z + - 2023-08-16 04:15:48.000000000 Z + - 2023-08-19 04:11:43.000000000 Z + - 2023-08-19 10:10:27.000000000 Z + - 2023-08-22 09:41:20.000000000 Z + - 2023-08-24 10:27:08.000000000 Z + - 2023-08-24 18:16:12.000000000 Z + - 2023-08-25 17:02:28.000000000 Z + - 2023-08-27 15:58:52.000000000 Z + - 2023-08-27 23:29:53.000000000 Z + - 2023-08-28 21:31:27.000000000 Z + - 2023-08-29 03:35:29.000000000 Z + - 2023-08-31 06:15:19.000000000 Z + - 2023-09-01 21:56:52.000000000 Z + - 2023-09-02 22:57:53.000000000 Z + - 2023-09-05 03:28:30.000000000 Z + - 2023-09-07 04:57:12.000000000 Z + - 2023-09-09 19:16:05.000000000 Z + - 2023-09-09 20:01:39.000000000 Z + - 2023-09-11 03:23:22.000000000 Z + - 2023-09-12 15:18:29.000000000 Z + - 2023-09-13 14:14:43.000000000 Z + - 2023-09-13 17:37:25.000000000 Z + - 2023-09-14 18:17:49.000000000 Z + - 2023-09-16 19:56:55.000000000 Z + - 2023-09-18 14:21:02.000000000 Z + - 2023-09-21 00:34:13.000000000 Z + - 2023-09-23 07:14:06.000000000 Z + - 2023-09-24 17:22:22.000000000 Z + - 2023-09-27 12:42:54.000000000 Z + - 2023-09-28 14:48:45.000000000 Z + - 2023-10-01 11:54:24.000000000 Z + - 2023-10-03 07:36:32.000000000 Z + - 2023-10-05 05:13:57.000000000 Z + - 2023-10-06 16:07:06.000000000 Z + - 2023-10-09 00:03:52.000000000 Z + - 2023-10-09 02:32:01.000000000 Z + - 2023-10-10 16:39:07.000000000 Z + - 2023-10-12 13:28:16.000000000 Z + - 2023-10-14 04:29:14.000000000 Z + - 2023-10-17 03:30:24.000000000 Z + - 2023-10-20 03:13:15.000000000 Z + - 2023-10-20 20:47:06.000000000 Z + - 2023-10-21 13:59:34.000000000 Z + - 2023-10-23 21:38:48.000000000 Z + - 2023-10-24 06:07:13.000000000 Z + - 2023-10-25 22:51:17.000000000 Z + - 2023-10-26 21:12:50.000000000 Z + - 2023-10-28 05:52:20.000000000 Z + - 2023-10-29 22:11:01.000000000 Z + - 2023-10-30 12:29:25.000000000 Z + - 2023-11-02 02:52:55.000000000 Z + - 2023-11-02 06:00:32.000000000 Z + - 2023-11-03 08:39:06.000000000 Z + - 2023-11-04 23:51:22.000000000 Z + - 2023-11-07 16:11:33.000000000 Z + - 2023-11-10 10:55:29.000000000 Z + - 2023-11-12 01:20:18.000000000 Z + - 2023-11-12 04:22:50.000000000 Z + - 2023-11-12 08:38:58.000000000 Z + - 2023-11-13 15:43:40.000000000 Z +pagy/extras/calendar::instance methods#test_0008_selects :quarter for an intermediate page: :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 01:20:18.000000000 Z - zone: &13 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2023-11-12 01:20:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 04:22:50.000000000 Z - zone: *13 - time: 2023-11-12 04:22:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 08:38:58.000000000 Z - zone: *13 - time: 2023-11-12 08:38:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-13 15:43:40.000000000 Z - zone: *13 - time: 2023-11-13 15:43:40.000000000 Z + - 2022-07-01 16:05:14.000000000 Z + - 2022-07-02 14:02:12.000000000 Z + - 2022-07-05 11:08:11.000000000 Z + - 2022-07-05 12:44:38.000000000 Z + - 2022-07-08 03:55:17.000000000 Z + - 2022-07-08 18:02:14.000000000 Z + - 2022-07-09 09:41:17.000000000 Z + - 2022-07-11 07:34:51.000000000 Z + - 2022-07-13 05:11:19.000000000 Z + - 2022-07-15 02:46:56.000000000 Z + - 2022-07-16 15:40:39.000000000 Z + - 2022-07-17 19:44:15.000000000 Z + - 2022-07-19 00:31:12.000000000 Z + - 2022-07-21 21:58:24.000000000 Z + - 2022-07-22 05:25:48.000000000 Z + - 2022-07-22 18:33:04.000000000 Z + - 2022-07-24 07:42:24.000000000 Z + - 2022-07-25 07:21:20.000000000 Z + - 2022-07-27 12:02:44.000000000 Z + - 2022-07-29 03:29:28.000000000 Z + - 2022-07-29 11:35:43.000000000 Z + - 2022-07-30 05:25:21.000000000 Z + - 2022-07-30 19:39:10.000000000 Z + - 2022-07-31 18:54:58.000000000 Z + - 2022-08-03 11:18:44.000000000 Z + - 2022-08-05 00:37:47.000000000 Z + - 2022-08-05 12:08:08.000000000 Z + - 2022-08-07 14:39:19.000000000 Z + - 2022-08-08 09:52:59.000000000 Z + - 2022-08-09 13:48:29.000000000 Z + - 2022-08-11 19:03:04.000000000 Z + - 2022-08-13 01:56:49.000000000 Z + - 2022-08-15 11:33:09.000000000 Z + - 2022-08-17 23:37:45.000000000 Z + - 2022-08-19 00:47:19.000000000 Z + - 2022-08-19 01:01:12.000000000 Z + - 2022-08-21 07:37:55.000000000 Z + - 2022-08-21 21:42:15.000000000 Z + - 2022-08-23 10:55:39.000000000 Z + - 2022-08-25 16:20:29.000000000 Z + - 2022-08-27 06:28:14.000000000 Z + - 2022-08-27 13:12:57.000000000 Z + - 2022-08-28 23:00:13.000000000 Z + - 2022-08-31 05:19:56.000000000 Z + - 2022-09-02 18:00:18.000000000 Z + - 2022-09-04 12:02:47.000000000 Z + - 2022-09-06 00:57:21.000000000 Z + - 2022-09-08 04:26:01.000000000 Z + - 2022-09-09 04:55:45.000000000 Z + - 2022-09-11 22:59:36.000000000 Z + - 2022-09-12 00:54:25.000000000 Z + - 2022-09-12 17:44:24.000000000 Z + - 2022-09-12 20:47:30.000000000 Z + - 2022-09-15 11:39:20.000000000 Z + - 2022-09-16 07:54:15.000000000 Z + - 2022-09-17 08:06:29.000000000 Z + - 2022-09-18 07:17:17.000000000 Z + - 2022-09-19 08:39:55.000000000 Z + - 2022-09-22 06:32:56.000000000 Z + - 2022-09-22 21:26:29.000000000 Z + - 2022-09-24 16:06:50.000000000 Z + - 2022-09-27 05:50:18.000000000 Z + - 2022-09-28 12:12:13.000000000 Z + - 2022-09-29 21:13:01.000000000 Z + - 2022-09-30 00:09:29.000000000 Z pagy/extras/calendar::instance methods#test_0018_selects :day for the last page: :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 00:34:04.000000000 Z - zone: &14 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-12-19 00:34:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 06:58:41.000000000 Z - zone: *14 - time: 2021-12-19 06:58:41.000000000 Z + - 2021-12-19 00:34:04.000000000 Z + - 2021-12-19 06:58:41.000000000 Z +pagy/extras/calendar::instance methods#test_0015_selects :week for the last page: + :entries: + - 2023-11-12 01:20:18.000000000 Z + - 2023-11-12 04:22:50.000000000 Z + - 2023-11-12 08:38:58.000000000 Z + - 2023-11-13 15:43:40.000000000 Z +pagy/extras/calendar::instance methods#test_0007_selects :quarter for the first page: + :entries: + - 2021-10-21 13:18:23.000000000 Z + - 2021-10-21 23:14:50.000000000 Z + - 2021-10-23 01:06:02.000000000 Z + - 2021-10-25 18:54:35.000000000 Z + - 2021-10-26 02:22:17.000000000 Z + - 2021-10-28 22:59:49.000000000 Z + - 2021-10-30 15:02:25.000000000 Z + - 2021-11-02 04:03:39.000000000 Z + - 2021-11-04 22:41:23.000000000 Z + - 2021-11-06 00:34:29.000000000 Z + - 2021-11-06 23:56:16.000000000 Z + - 2021-11-07 06:22:04.000000000 Z + - 2021-11-07 19:46:08.000000000 Z + - 2021-11-08 09:31:13.000000000 Z + - 2021-11-09 17:22:03.000000000 Z + - 2021-11-11 05:29:54.000000000 Z + - 2021-11-13 09:41:04.000000000 Z + - 2021-11-16 07:48:22.000000000 Z + - 2021-11-16 12:43:44.000000000 Z + - 2021-11-17 16:03:07.000000000 Z + - 2021-11-20 02:39:01.000000000 Z + - 2021-11-21 02:01:24.000000000 Z + - 2021-11-23 19:24:43.000000000 Z + - 2021-11-26 11:47:22.000000000 Z + - 2021-11-28 06:30:04.000000000 Z + - 2021-12-01 00:13:55.000000000 Z + - 2021-12-03 19:10:16.000000000 Z + - 2021-12-04 00:43:47.000000000 Z + - 2021-12-06 20:15:35.000000000 Z + - 2021-12-09 16:27:07.000000000 Z + - 2021-12-10 15:28:48.000000000 Z + - 2021-12-10 23:08:16.000000000 Z + - 2021-12-11 23:09:08.000000000 Z + - 2021-12-14 04:56:58.000000000 Z + - 2021-12-14 14:00:56.000000000 Z + - 2021-12-15 22:58:51.000000000 Z + - 2021-12-16 01:28:21.000000000 Z + - 2021-12-16 20:16:54.000000000 Z + - 2021-12-19 00:34:04.000000000 Z + - 2021-12-19 06:58:41.000000000 Z + - 2021-12-21 11:13:53.000000000 Z + - 2021-12-23 07:28:50.000000000 Z + - 2021-12-23 07:57:58.000000000 Z + - 2021-12-23 18:32:13.000000000 Z + - 2021-12-24 01:17:51.000000000 Z + - 2021-12-25 05:36:16.000000000 Z + - 2021-12-25 23:21:57.000000000 Z + - 2021-12-27 12:18:57.000000000 Z + - 2021-12-28 16:59:57.000000000 Z + - 2021-12-31 15:10:23.000000000 Z +pagy/extras/calendar::instance methods#test_0009_selects :quarter for last page: + :entries: + - 2023-10-01 11:54:24.000000000 Z + - 2023-10-03 07:36:32.000000000 Z + - 2023-10-05 05:13:57.000000000 Z + - 2023-10-06 16:07:06.000000000 Z + - 2023-10-09 00:03:52.000000000 Z + - 2023-10-09 02:32:01.000000000 Z + - 2023-10-10 16:39:07.000000000 Z + - 2023-10-12 13:28:16.000000000 Z + - 2023-10-14 04:29:14.000000000 Z + - 2023-10-17 03:30:24.000000000 Z + - 2023-10-20 03:13:15.000000000 Z + - 2023-10-20 20:47:06.000000000 Z + - 2023-10-21 13:59:34.000000000 Z + - 2023-10-23 21:38:48.000000000 Z + - 2023-10-24 06:07:13.000000000 Z + - 2023-10-25 22:51:17.000000000 Z + - 2023-10-26 21:12:50.000000000 Z + - 2023-10-28 05:52:20.000000000 Z + - 2023-10-29 22:11:01.000000000 Z + - 2023-10-30 12:29:25.000000000 Z + - 2023-11-02 02:52:55.000000000 Z + - 2023-11-02 06:00:32.000000000 Z + - 2023-11-03 08:39:06.000000000 Z + - 2023-11-04 23:51:22.000000000 Z + - 2023-11-07 16:11:33.000000000 Z + - 2023-11-10 10:55:29.000000000 Z + - 2023-11-12 01:20:18.000000000 Z + - 2023-11-12 04:22:50.000000000 Z + - 2023-11-12 08:38:58.000000000 Z + - 2023-11-13 15:43:40.000000000 Z +pagy/extras/calendar::instance methods#test_0010_selects :month for the first page: + :entries: + - 2021-10-21 13:18:23.000000000 Z + - 2021-10-21 23:14:50.000000000 Z + - 2021-10-23 01:06:02.000000000 Z + - 2021-10-25 18:54:35.000000000 Z + - 2021-10-26 02:22:17.000000000 Z + - 2021-10-28 22:59:49.000000000 Z + - 2021-10-30 15:02:25.000000000 Z pagy/extras/calendar::instance methods#test_0017_selects :day for an intermediate page: :entries: [] -pagy/extras/calendar::instance methods#test_0008_selects :quarter for an intermediate page: +pagy/extras/calendar::instance methods#test_0019_runs multiple units: + :entries: + - 2022-07-16 15:40:39.000000000 Z + - 2022-07-17 19:44:15.000000000 Z + - 2022-07-19 00:31:12.000000000 Z + - 2022-07-21 21:58:24.000000000 Z + - 2022-07-22 05:25:48.000000000 Z + - 2022-07-22 18:33:04.000000000 Z + - 2022-07-24 07:42:24.000000000 Z + - 2022-07-25 07:21:20.000000000 Z + - 2022-07-27 12:02:44.000000000 Z + - 2022-07-29 03:29:28.000000000 Z +pagy/extras/calendar::instance methods#test_0012_selects :month for the last page: + :entries: + - 2023-11-02 02:52:55.000000000 Z + - 2023-11-02 06:00:32.000000000 Z + - 2023-11-03 08:39:06.000000000 Z + - 2023-11-04 23:51:22.000000000 Z + - 2023-11-07 16:11:33.000000000 Z + - 2023-11-10 10:55:29.000000000 Z + - 2023-11-12 01:20:18.000000000 Z + - 2023-11-12 04:22:50.000000000 Z + - 2023-11-12 08:38:58.000000000 Z + - 2023-11-13 15:43:40.000000000 Z +pagy/extras/calendar::instance methods#test_0014_selects :week for an intermediate page: :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-01 16:05:14.000000000 Z - zone: &15 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2022-07-01 16:05:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-02 14:02:12.000000000 Z - zone: *15 - time: 2022-07-02 14:02:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 11:08:11.000000000 Z - zone: *15 - time: 2022-07-05 11:08:11.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 12:44:38.000000000 Z - zone: *15 - time: 2022-07-05 12:44:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 03:55:17.000000000 Z - zone: *15 - time: 2022-07-08 03:55:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 18:02:14.000000000 Z - zone: *15 - time: 2022-07-08 18:02:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-09 09:41:17.000000000 Z - zone: *15 - time: 2022-07-09 09:41:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-11 07:34:51.000000000 Z - zone: *15 - time: 2022-07-11 07:34:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-13 05:11:19.000000000 Z - zone: *15 - time: 2022-07-13 05:11:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-15 02:46:56.000000000 Z - zone: *15 - time: 2022-07-15 02:46:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-16 15:40:39.000000000 Z - zone: *15 - time: 2022-07-16 15:40:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-17 19:44:15.000000000 Z - zone: *15 - time: 2022-07-17 19:44:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-19 00:31:12.000000000 Z - zone: *15 - time: 2022-07-19 00:31:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-21 21:58:24.000000000 Z - zone: *15 - time: 2022-07-21 21:58:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 05:25:48.000000000 Z - zone: *15 - time: 2022-07-22 05:25:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 18:33:04.000000000 Z - zone: *15 - time: 2022-07-22 18:33:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-24 07:42:24.000000000 Z - zone: *15 - time: 2022-07-24 07:42:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-25 07:21:20.000000000 Z - zone: *15 - time: 2022-07-25 07:21:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-27 12:02:44.000000000 Z - zone: *15 - time: 2022-07-27 12:02:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 03:29:28.000000000 Z - zone: *15 - time: 2022-07-29 03:29:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 11:35:43.000000000 Z - zone: *15 - time: 2022-07-29 11:35:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 05:25:21.000000000 Z - zone: *15 - time: 2022-07-30 05:25:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 19:39:10.000000000 Z - zone: *15 - time: 2022-07-30 19:39:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-31 18:54:58.000000000 Z - zone: *15 - time: 2022-07-31 18:54:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-03 11:18:44.000000000 Z - zone: *15 - time: 2022-08-03 11:18:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 00:37:47.000000000 Z - zone: *15 - time: 2022-08-05 00:37:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 12:08:08.000000000 Z - zone: *15 - time: 2022-08-05 12:08:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-07 14:39:19.000000000 Z - zone: *15 - time: 2022-08-07 14:39:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-08 09:52:59.000000000 Z - zone: *15 - time: 2022-08-08 09:52:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-09 13:48:29.000000000 Z - zone: *15 - time: 2022-08-09 13:48:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-11 19:03:04.000000000 Z - zone: *15 - time: 2022-08-11 19:03:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-13 01:56:49.000000000 Z - zone: *15 - time: 2022-08-13 01:56:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-15 11:33:09.000000000 Z - zone: *15 - time: 2022-08-15 11:33:09.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-17 23:37:45.000000000 Z - zone: *15 - time: 2022-08-17 23:37:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 00:47:19.000000000 Z - zone: *15 - time: 2022-08-19 00:47:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 01:01:12.000000000 Z - zone: *15 - time: 2022-08-19 01:01:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 07:37:55.000000000 Z - zone: *15 - time: 2022-08-21 07:37:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 21:42:15.000000000 Z - zone: *15 - time: 2022-08-21 21:42:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-23 10:55:39.000000000 Z - zone: *15 - time: 2022-08-23 10:55:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-25 16:20:29.000000000 Z - zone: *15 - time: 2022-08-25 16:20:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 06:28:14.000000000 Z - zone: *15 - time: 2022-08-27 06:28:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 13:12:57.000000000 Z - zone: *15 - time: 2022-08-27 13:12:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-28 23:00:13.000000000 Z - zone: *15 - time: 2022-08-28 23:00:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-31 05:19:56.000000000 Z - zone: *15 - time: 2022-08-31 05:19:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-02 18:00:18.000000000 Z - zone: *15 - time: 2022-09-02 18:00:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-04 12:02:47.000000000 Z - zone: *15 - time: 2022-09-04 12:02:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-06 00:57:21.000000000 Z - zone: *15 - time: 2022-09-06 00:57:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-08 04:26:01.000000000 Z - zone: *15 - time: 2022-09-08 04:26:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-09 04:55:45.000000000 Z - zone: *15 - time: 2022-09-09 04:55:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-11 22:59:36.000000000 Z - zone: *15 - time: 2022-09-11 22:59:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 00:54:25.000000000 Z - zone: *15 - time: 2022-09-12 00:54:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 17:44:24.000000000 Z - zone: *15 - time: 2022-09-12 17:44:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 20:47:30.000000000 Z - zone: *15 - time: 2022-09-12 20:47:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-15 11:39:20.000000000 Z - zone: *15 - time: 2022-09-15 11:39:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-16 07:54:15.000000000 Z - zone: *15 - time: 2022-09-16 07:54:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-17 08:06:29.000000000 Z - zone: *15 - time: 2022-09-17 08:06:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-18 07:17:17.000000000 Z - zone: *15 - time: 2022-09-18 07:17:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-19 08:39:55.000000000 Z - zone: *15 - time: 2022-09-19 08:39:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 06:32:56.000000000 Z - zone: *15 - time: 2022-09-22 06:32:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 21:26:29.000000000 Z - zone: *15 - time: 2022-09-22 21:26:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-24 16:06:50.000000000 Z - zone: *15 - time: 2022-09-24 16:06:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-27 05:50:18.000000000 Z - zone: *15 - time: 2022-09-27 05:50:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-28 12:12:13.000000000 Z - zone: *15 - time: 2022-09-28 12:12:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-29 21:13:01.000000000 Z - zone: *15 - time: 2022-09-29 21:13:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-30 00:09:29.000000000 Z - zone: *15 - time: 2022-09-30 00:09:29.000000000 Z + - 2022-04-03 18:27:19.000000000 Z + - 2022-04-03 23:44:08.000000000 Z + - 2022-04-06 10:59:32.000000000 Z + - 2022-04-07 01:33:53.000000000 Z + - 2022-04-08 10:26:34.000000000 Z +pagy/extras/calendar::Counts feature#test_0001_works with MockApp::CalendarCounts: + :year: + :month: + :day: +pagy/extras/calendar::Counts feature#test_0003_works with anchor_string: + :year: +pagy/extras/calendar::Counts feature#test_0002_works with MockApp::CalendarCountsSkip: + :year: + :month: + :day: From 520bfc2497e46381fa4651505e92b6003dcfea96 Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Sun, 23 Jun 2024 17:47:00 +0700 Subject: [PATCH 09/16] Update bundle --- Gemfile | 4 +++- Gemfile.lock | 10 +++++----- gem/apps/calendar.ru | 2 ++ gem/apps/rails.ru | 2 ++ 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index d32dbc9f5..ce6e0d2b3 100644 --- a/Gemfile +++ b/Gemfile @@ -32,7 +32,9 @@ group :playground do gem 'rouge' gem 'sinatra' gem 'sinatra-contrib' - gem 'sqlite3', '~> 1.4.0' # actierecord/sqlite3_adapter.rb constraint !!! + # activerecord/sqlite3_adapter.rb probably useless) constraint !!! + # https://github.com/rails/rails/blame/v7.1.3.4/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L14 + gem 'sqlite3', '~> 1.4.0' end # group :performance do diff --git a/Gemfile.lock b/Gemfile.lock index d4e1051a5..32015d57e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -80,8 +80,8 @@ GEM minitest (>= 5.1) mutex_m tzinfo (~> 2.0) - addressable (2.8.6) - public_suffix (>= 2.0.2, < 6.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) ansi (1.5.0) ast (2.4.2) base64 (0.2.0) @@ -147,7 +147,7 @@ GEM mustermann (3.0.0) ruby2_keywords (~> 0.0.1) mutex_m (0.2.0) - net-imap (0.4.13) + net-imap (0.4.14) date net-protocol net-pop (0.1.2) @@ -169,11 +169,11 @@ GEM racc psych (5.1.2) stringio - public_suffix (5.1.1) + public_suffix (6.0.0) puma (6.4.2) nio4r (~> 2.0) racc (1.8.0) - rack (3.1.3) + rack (3.1.4) rack-protection (4.0.0) base64 (>= 0.1.0) rack (>= 3.0.0, < 4) diff --git a/gem/apps/calendar.ru b/gem/apps/calendar.ru index 1d4d920b3..af6f08e1b 100644 --- a/gem/apps/calendar.ru +++ b/gem/apps/calendar.ru @@ -26,6 +26,8 @@ gemfile(ENV['PAGY_INSTALL_BUNDLE'] == 'true') do gem 'groupdate' gem 'puma' gem 'rails' + # activerecord/sqlite3_adapter.rb probably useless) constraint !!! + # https://github.com/rails/rails/blame/v7.1.3.4/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L14 gem 'sqlite3', '~> 1.4.0' end diff --git a/gem/apps/rails.ru b/gem/apps/rails.ru index f6267ae8d..0bd858e34 100644 --- a/gem/apps/rails.ru +++ b/gem/apps/rails.ru @@ -26,6 +26,8 @@ gemfile(ENV['PAGY_INSTALL_BUNDLE'] == 'true') do gem 'oj' gem 'puma' gem 'rails' + # activerecord/sqlite3_adapter.rb probably useless) constraint !!! + # https://github.com/rails/rails/blame/v7.1.3.4/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L14 gem 'sqlite3', '~> 1.4.0' end From 97be3874da6b13f2bac16f85aa79181ced71db02 Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Sun, 23 Jun 2024 17:50:54 +0700 Subject: [PATCH 10/16] Update modules --- bun.lockb | Bin 158997 -> 159377 bytes package.json | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bun.lockb b/bun.lockb index ae74249dd97835c270916d9ddb07ea0f9f0148c6..51a6f2788eb1eeb46aa58836ae6ffe0eef8ae9d7 100755 GIT binary patch delta 12992 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 delta 12864 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 Os?M=|WU4N<`F{a) Date: Sun, 23 Jun 2024 17:51:48 +0700 Subject: [PATCH 11/16] Remove automatic skipping of bundle install in playground apps --- gem/bin/pagy | 2 -- 1 file changed, 2 deletions(-) diff --git a/gem/bin/pagy b/gem/bin/pagy index d0436f383..de98bac2b 100755 --- a/gem/bin/pagy +++ b/gem/bin/pagy @@ -43,8 +43,6 @@ end Optimist.educate if ARGV.empty? run_from_repo = File.exist?(File.expand_path('../pagy.gemspec', __dir__)) -# Never install if it runs from the pagy repo (for pagy devs) -opts[:install] = false if run_from_repo && !ENV['CI'] # Handles gems require 'bundler/inline' From 9bb0c70502d8a72729ca1e9a52970f7ae717c24d Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Sun, 23 Jun 2024 18:04:10 +0700 Subject: [PATCH 12/16] Update RM run configurations --- .idea/runConfigurations/Calendar.xml | 10 +++++++--- .idea/runConfigurations/Demo.xml | 10 +++++++--- .idea/runConfigurations/Rails.xml | 10 +++++++--- .idea/runConfigurations/Repro.xml | 10 +++++++--- 4 files changed, 28 insertions(+), 12 deletions(-) diff --git a/.idea/runConfigurations/Calendar.xml b/.idea/runConfigurations/Calendar.xml index 3b8d997c0..f3948c2c4 100644 --- a/.idea/runConfigurations/Calendar.xml +++ b/.idea/runConfigurations/Calendar.xml @@ -8,7 +8,11 @@ - + + + + + - + - + \ No newline at end of file diff --git a/.idea/runConfigurations/Demo.xml b/.idea/runConfigurations/Demo.xml index bc5b6e1c0..29881e6d7 100644 --- a/.idea/runConfigurations/Demo.xml +++ b/.idea/runConfigurations/Demo.xml @@ -8,7 +8,11 @@ - + + + + + - + - + \ No newline at end of file diff --git a/.idea/runConfigurations/Rails.xml b/.idea/runConfigurations/Rails.xml index 754552ee0..dc224aa04 100644 --- a/.idea/runConfigurations/Rails.xml +++ b/.idea/runConfigurations/Rails.xml @@ -8,7 +8,11 @@ - + + + + + - + - + \ No newline at end of file diff --git a/.idea/runConfigurations/Repro.xml b/.idea/runConfigurations/Repro.xml index 3aea09b40..5992b1d51 100644 --- a/.idea/runConfigurations/Repro.xml +++ b/.idea/runConfigurations/Repro.xml @@ -8,7 +8,11 @@ - + + + + + - + - + \ No newline at end of file From 4e6d8ee0f5b8b93576e71e42f0ba474b5585b88e Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Sun, 23 Jun 2024 19:59:58 +0700 Subject: [PATCH 13/16] Refactor calendar class structure --- gem/lib/pagy/calendar.rb | 151 +++++++------------ gem/lib/pagy/calendar/day.rb | 4 +- gem/lib/pagy/calendar/helper.rb | 67 -------- gem/lib/pagy/calendar/month.rb | 4 +- gem/lib/pagy/calendar/quarter.rb | 4 +- gem/lib/pagy/calendar/unit.rb | 106 +++++++++++++ gem/lib/pagy/calendar/week.rb | 4 +- gem/lib/pagy/calendar/year.rb | 4 +- gem/lib/pagy/extras/calendar.rb | 5 +- gem/lib/pagy/extras/i18n.rb | 2 +- gem/lib/pagy/extras/js_tools.rb | 2 +- gem/lib/pagy/extras/metadata.rb | 6 +- gem/lib/pagy/extras/overflow.rb | 5 +- test/files/i18n.yml | 12 -- test/pagy/calendar_test.rb | 2 +- test/pagy/extras/i18n_calendar_extra_test.rb | 8 +- test/pagy/extras/js_tools_json_test.rb | 8 +- test/pagy/extras/js_tools_oj_test.rb | 8 +- 18 files changed, 195 insertions(+), 207 deletions(-) delete mode 100644 gem/lib/pagy/calendar/helper.rb create mode 100644 gem/lib/pagy/calendar/unit.rb delete mode 100644 test/files/i18n.yml diff --git a/gem/lib/pagy/calendar.rb b/gem/lib/pagy/calendar.rb index 98f751745..27adb69bf 100644 --- a/gem/lib/pagy/calendar.rb +++ b/gem/lib/pagy/calendar.rb @@ -1,122 +1,79 @@ # See Pagy::Countless API documentation: https://ddnexus.github.io/pagy/docs/api/calendar # frozen_string_literal: true -require 'active_support' -require 'active_support/core_ext/time' -require 'active_support/core_ext/date_and_time/calculations' -require 'active_support/core_ext/numeric/time' -require 'active_support/core_ext/integer/time' - require_relative '../pagy' +require_relative 'calendar/unit' class Pagy # :nodoc: - # Base class for time units subclasses (Year, Quarter, Month, Week, Day) - class Calendar < Pagy + # Calendar class + class Calendar < Hash # Specific out of range error class OutOfRangeError < VariableError; end # List of units in desc order of duration. It can be used for custom units. UNITS = %i[year quarter month week day] # rubocop:disable Style/MutableConstant - attr_reader :order, :from, :to - - # Merge and validate the options, do some simple arithmetic and set a few instance variables - def initialize(vars) # rubocop:disable Lint/MissingSuper - raise InternalError, 'Pagy::Calendar is a base class; use one of its subclasses' if instance_of?(Pagy::Calendar) - - vars = self.class::DEFAULT.merge(vars) # subclass specific default - normalize_vars(vars) # general default - setup_vars(page: 1) - setup_unit_vars - raise OverflowError.new(self, :page, "in 1..#{@last}", @page) if @page > @last - - @prev = (@page - 1 unless @page == 1) - @next = @page == @last ? (1 if @vars[:cycle]) : @page + 1 - end - - # The label for the current page (it can pass along the I18n gem opts when it's used with the i18n extra) - def label(opts = {}) - label_for(@page, opts) - end - - # The label for any page (it can pass along the I18n gem opts when it's used with the i18n extra) - def label_for(page, opts = {}) - opts[:format] ||= @vars[:format] - localize(starting_time_for(page.to_i), opts) # page could be a string - end - - protected + class << self + private - # The page that includes time - # In case of out of range time, the :fit_time option avoids the outOfRangeError - # and returns the closest page to the passed time argument (first or last page) - def page_at(time, **opts) - fit_time = time - fit_final = @final - 1 - unless time.between?(@initial, fit_final) - raise OutOfRangeError.new(self, :time, "between #{@initial} and #{fit_final}", time) unless opts[:fit_time] + # Create a unit subclass instance by using the unit name (internal use) + def create(unit, vars) + raise InternalError, "unit must be in #{UNITS.inspect}; got #{unit}" unless UNITS.include?(unit) - if time < @final - fit_time = @initial - ordinal = 'first' - else - fit_time = fit_final - ordinal = 'last' - end - warn "Pagy::Calendar#page_at: Rescued #{time} out of range by returning the #{ordinal} page." + name = unit.to_s + name[0] = name[0].capitalize + Object.const_get("Pagy::Calendar::#{name}").new(vars) end - offset = page_offset_at(fit_time) # offset starts from 0 - @order == :asc ? offset + 1 : @last - offset - end - # Base class method for the setup of the unit variables (subclasses must implement it and call super) - def setup_unit_vars - raise VariableError.new(self, :format, 'to be a strftime format', @vars[:format]) unless @vars[:format].is_a?(String) - raise VariableError.new(self, :order, 'to be in [:asc, :desc]', @order) \ - unless %i[asc desc].include?(@order = @vars[:order]) - - @starting, @ending = @vars[:period] - raise VariableError.new(self, :period, 'to be a an Array of min and max TimeWithZone instances', @vars[:period]) \ - unless @starting.is_a?(ActiveSupport::TimeWithZone) \ - && @ending.is_a?(ActiveSupport::TimeWithZone) && @starting <= @ending - end - - # Apply the strftime format to the time (overridden by the i18n extra when localization is required) - def localize(time, opts) - time.strftime(opts[:format]) - end - - # Number of time units to offset from the @initial time, in order to get the ordered starting time for the page. - # Used in starting_time_for(page) where page starts from 1 (e.g. page to starting_time means subtracting 1) - def time_offset_for(page) - @order == :asc ? page - 1 : @last - page - end - - # Period of the active page (used internally for nested units) - def active_period - [[@starting, @from].max, [@to - 1, @ending].min] # -1 sec: include only last unit day + # Return calendar, from, to + def init(conf, period, params) + new.send(:init, conf, period, params) + end end - # :nocov: - # This method must be implemented by the unit subclass - def starting_time_for(*) - raise NoMethodError, 'the starting_time_for method must be implemented by the unit subclass' + # Return the current time of the smallest time unit shown + def showtime + self[@units.last].from end - # This method must be implemented by the unit subclass - def page_offset_at(*) - raise NoMethodError, 'the page_offset_at method must be implemented by the unit subclass' + private + + # Create the calendar + def init(conf, period, params) + @conf = Marshal.load(Marshal.dump(conf)) # store a copy + @units = Calendar::UNITS & @conf.keys # get the units in time length desc order + raise ArgumentError, 'no calendar unit found in pagy_calendar @configuration' if @units.empty? + + @period = period + @params = params + @page_param = conf[:pagy][:page_param] || DEFAULT[:page_param] + @units.each do |unit| # set all the :page_param vars for later deletion + unit_page_param = :"#{unit}_#{@page_param}" + conf[unit][:page_param] = unit_page_param + conf[unit][:page] = @params[unit_page_param] + end + calendar = {} + object = nil + @units.each_with_index do |unit, index| + params_to_delete = @units[(index + 1), @units.size].map { |sub| conf[sub][:page_param] } + [@page_param] + conf[unit][:params] = lambda { |up| up.except(*params_to_delete.map(&:to_s)) } # rubocop:disable Style/Lambda + conf[unit][:period] = object&.send(:active_period) || @period + calendar[unit] = object = Calendar.send(:create, unit, conf[unit]) + end + [replace(calendar), object.from, object.to] end - # :nocov: - - class << self - # Create a subclass instance by unit name (internal use) - def create(unit, vars) - raise InternalError, "unit must be in #{UNITS.inspect}; got #{unit}" unless UNITS.include?(unit) - name = unit.to_s - name[0] = name[0].capitalize - Object.const_get("Pagy::Calendar::#{name}").new(vars) + # Return the calendar object at time + def calendar_at(time, **opts) + conf = Marshal.load(Marshal.dump(@conf)) + page_params = {} + @units.inject(nil) do |object, unit| + conf[unit][:period] = object&.send(:active_period) || @period + conf[unit][:page] = page_params[:"#{unit}_#{@page_param}"] \ + = Calendar.send(:create, unit, conf[unit]).send(:page_at, time, **opts) + conf[unit][:params] ||= {} + conf[unit][:params].merge!(page_params) + Calendar.send(:create, unit, conf[unit]) end end end diff --git a/gem/lib/pagy/calendar/day.rb b/gem/lib/pagy/calendar/day.rb index 34575e705..d384d0e43 100644 --- a/gem/lib/pagy/calendar/day.rb +++ b/gem/lib/pagy/calendar/day.rb @@ -3,8 +3,8 @@ class Pagy # :nodoc: class Calendar # :nodoc: - # Calendar day subclass - class Day < Calendar + # Day unit subclass + class Day < Unit DEFAULT = { size: 31, # rubocop:disable Style/MutableConstant order: :asc, format: '%d' } diff --git a/gem/lib/pagy/calendar/helper.rb b/gem/lib/pagy/calendar/helper.rb deleted file mode 100644 index 6d3fdde4b..000000000 --- a/gem/lib/pagy/calendar/helper.rb +++ /dev/null @@ -1,67 +0,0 @@ -# frozen_string_literal: true - -class Pagy # :nodoc: - class Calendar # :nodoc: - # Initializes the calendar objects, reducing complexity in the extra - # The returned calendar is a simple hash of units/objects - class Helper < Hash - class << self - private - - def init(conf, period, params) - new.send(:init, conf, period, params) - end - end - - attr_reader :units - - private - - # Create the calendar - def init(conf, period, params) - @conf = Marshal.load(Marshal.dump(conf)) # store a copy - @units = Calendar::UNITS & @conf.keys # get the units in time length desc order - raise ArgumentError, 'no calendar unit found in pagy_calendar @configuration' if @units.empty? - - @period = period - @params = params - @page_param = conf[:pagy][:page_param] || DEFAULT[:page_param] - @units.each do |unit| # set all the :page_param vars for later deletion - unit_page_param = :"#{unit}_#{@page_param}" - conf[unit][:page_param] = unit_page_param - conf[unit][:page] = @params[unit_page_param] - end - calendar = {} - object = nil - @units.each_with_index do |unit, index| - params_to_delete = @units[(index + 1), @units.size].map { |sub| conf[sub][:page_param] } + [@page_param] - conf[unit][:params] = lambda { |up| up.except(*params_to_delete.map(&:to_s)) } # rubocop:disable Style/Lambda - conf[unit][:period] = object&.send(:active_period) || @period - calendar[unit] = object = Calendar.send(:create, unit, conf[unit]) - end - [replace(calendar), object.from, object.to] - end - - # Return the calendar object at time - def calendar_at(time, **opts) - conf = Marshal.load(Marshal.dump(@conf)) - page_params = {} - @units.inject(nil) do |object, unit| - conf[unit][:period] = object&.send(:active_period) || @period - conf[unit][:page] = page_params[:"#{unit}_#{@page_param}"] \ - = Calendar.send(:create, unit, conf[unit]).send(:page_at, time, **opts) - conf[unit][:params] ||= {} - conf[unit][:params].merge!(page_params) - Calendar.send(:create, unit, conf[unit]) - end - end - - public - - # Return the current time of the smallest time unit shown - def showtime - self[@units.last].from - end - end - end -end diff --git a/gem/lib/pagy/calendar/month.rb b/gem/lib/pagy/calendar/month.rb index 7761b88be..b10716862 100644 --- a/gem/lib/pagy/calendar/month.rb +++ b/gem/lib/pagy/calendar/month.rb @@ -3,8 +3,8 @@ class Pagy # :nodoc: class Calendar # :nodoc: - # Calendar month subclass - class Month < Calendar + # Month unit subclass + class Month < Unit DEFAULT = { size: 12, # rubocop:disable Style/MutableConstant order: :asc, format: '%b' } diff --git a/gem/lib/pagy/calendar/quarter.rb b/gem/lib/pagy/calendar/quarter.rb index 135fbcb87..84d21f6eb 100644 --- a/gem/lib/pagy/calendar/quarter.rb +++ b/gem/lib/pagy/calendar/quarter.rb @@ -3,8 +3,8 @@ class Pagy # :nodoc: class Calendar # :nodoc: - # Calendar quarter subclass - class Quarter < Calendar + # Quarter unit subclass + class Quarter < Unit DEFAULT = { size: 4, # rubocop:disable Style/MutableConstant order: :asc, format: 'Q%q' } # '%q' token diff --git a/gem/lib/pagy/calendar/unit.rb b/gem/lib/pagy/calendar/unit.rb new file mode 100644 index 000000000..c22ea79c6 --- /dev/null +++ b/gem/lib/pagy/calendar/unit.rb @@ -0,0 +1,106 @@ +# frozen_string_literal: true + +require 'active_support' +require 'active_support/core_ext/time' +require 'active_support/core_ext/date_and_time/calculations' +require 'active_support/core_ext/numeric/time' +require 'active_support/core_ext/integer/time' + +class Pagy # :nodoc: + class Calendar < Hash # :nodoc: + # Base class for time units subclasses (Year, Quarter, Month, Week, Day) + class Unit < Pagy + attr_reader :order, :from, :to + + # Merge and validate the options, do some simple arithmetic and set a few instance variables + def initialize(vars) # rubocop:disable Lint/MissingSuper + raise InternalError, 'Pagy::Calendar::Unit is a base class; use one of its subclasses' \ + if instance_of?(Pagy::Calendar::Unit) + + vars = self.class::DEFAULT.merge(vars) # subclass specific default + normalize_vars(vars) # general default + setup_vars(page: 1) + setup_unit_vars + raise OverflowError.new(self, :page, "in 1..#{@last}", @page) if @page > @last + + @prev = (@page - 1 unless @page == 1) + @next = @page == @last ? (1 if @vars[:cycle]) : @page + 1 + end + + # The label for the current page (it can pass along the I18n gem opts when it's used with the i18n extra) + def label(opts = {}) + label_for(@page, opts) + end + + # The label for any page (it can pass along the I18n gem opts when it's used with the i18n extra) + def label_for(page, opts = {}) + opts[:format] ||= @vars[:format] + localize(starting_time_for(page.to_i), opts) # page could be a string + end + + protected + + # The page that includes time + # In case of out of range time, the :fit_time option avoids the outOfRangeError + # and returns the closest page to the passed time argument (first or last page) + def page_at(time, **opts) + fit_time = time + fit_final = @final - 1 + unless time.between?(@initial, fit_final) + raise OutOfRangeError.new(self, :time, "between #{@initial} and #{fit_final}", time) unless opts[:fit_time] + + if time < @final + fit_time = @initial + ordinal = 'first' + else + fit_time = fit_final + ordinal = 'last' + end + warn "Pagy::Calendar#page_at: Rescued #{time} out of range by returning the #{ordinal} page." + end + offset = page_offset_at(fit_time) # offset starts from 0 + @order == :asc ? offset + 1 : @last - offset + end + + # Base class method for the setup of the unit variables (subclasses must implement it and call super) + def setup_unit_vars + raise VariableError.new(self, :format, 'to be a strftime format', @vars[:format]) unless @vars[:format].is_a?(String) + raise VariableError.new(self, :order, 'to be in [:asc, :desc]', @order) \ + unless %i[asc desc].include?(@order = @vars[:order]) + + @starting, @ending = @vars[:period] + raise VariableError.new(self, :period, 'to be a an Array of min and max TimeWithZone instances', @vars[:period]) \ + unless @starting.is_a?(ActiveSupport::TimeWithZone) \ + && @ending.is_a?(ActiveSupport::TimeWithZone) && @starting <= @ending + end + + # Apply the strftime format to the time (overridden by the i18n extra when localization is required) + def localize(time, opts) + time.strftime(opts[:format]) + end + + # Number of time units to offset from the @initial time, in order to get the ordered starting time for the page. + # Used in starting_time_for(page) where page starts from 1 (e.g. page to starting_time means subtracting 1) + def time_offset_for(page) + @order == :asc ? page - 1 : @last - page + end + + # Period of the active page (used internally for nested units) + def active_period + [[@starting, @from].max, [@to - 1, @ending].min] # -1 sec: include only last unit day + end + + # :nocov: + # This method must be implemented by the unit subclass + def starting_time_for(*) + raise NoMethodError, 'the starting_time_for method must be implemented by the unit subclass' + end + + # This method must be implemented by the unit subclass + def page_offset_at(*) + raise NoMethodError, 'the page_offset_at method must be implemented by the unit subclass' + end + # :nocov: + end + end +end diff --git a/gem/lib/pagy/calendar/week.rb b/gem/lib/pagy/calendar/week.rb index 00d0eada5..3db43b162 100644 --- a/gem/lib/pagy/calendar/week.rb +++ b/gem/lib/pagy/calendar/week.rb @@ -3,8 +3,8 @@ class Pagy # :nodoc: class Calendar # :nodoc: - # Calendar week subclass - class Week < Calendar + # Week unit subclass + class Week < Unit DEFAULT = { order: :asc, # rubocop:disable Style/MutableConstant format: '%Y-%W' } diff --git a/gem/lib/pagy/calendar/year.rb b/gem/lib/pagy/calendar/year.rb index 42eabbece..ee4a6bd8e 100644 --- a/gem/lib/pagy/calendar/year.rb +++ b/gem/lib/pagy/calendar/year.rb @@ -3,8 +3,8 @@ class Pagy # :nodoc: class Calendar # :nodoc: - # Calendar year subclass - class Year < Calendar + # Year unit subclass + class Year < Unit DEFAULT = { size: 10, # rubocop:disable Style/MutableConstant order: :asc, format: '%Y' } diff --git a/gem/lib/pagy/extras/calendar.rb b/gem/lib/pagy/extras/calendar.rb index 836f20f73..5619f111b 100644 --- a/gem/lib/pagy/extras/calendar.rb +++ b/gem/lib/pagy/extras/calendar.rb @@ -2,7 +2,6 @@ # frozen_string_literal: true require_relative '../calendar' -require_relative '../calendar/helper' class Pagy # :nodoc: # Add pagination filtering by calendar unit (:year, :quarter, :month, :week, :day) to the regular pagination @@ -20,9 +19,9 @@ def pagy_calendar(collection, conf) conf[:pagy] ||= {} unless conf.key?(:active) && !conf[:active] - calendar, from, to = Calendar::Helper.send(:init, conf, pagy_calendar_period(collection), params) + calendar, from, to = Calendar.send(:init, conf, pagy_calendar_period(collection), params) if respond_to?(:pagy_calendar_counts) - calendar.units.each do |unit| + calendar.each_key do |unit| calendar[unit].vars[:counts] = pagy_calendar_counts(collection, unit, *calendar[unit].vars[:period]) end end diff --git a/gem/lib/pagy/extras/i18n.rb b/gem/lib/pagy/extras/i18n.rb index 8d8a18fb9..ba068aeae 100644 --- a/gem/lib/pagy/extras/i18n.rb +++ b/gem/lib/pagy/extras/i18n.rb @@ -19,7 +19,7 @@ def localize(time, opts) end end end - Calendar.prepend I18nExtra::CalendarOverride if defined?(Calendar) + Calendar::Unit.prepend I18nExtra::CalendarOverride if defined?(Calendar::Unit) # Add the pagy locales to the I18n.load_path ::I18n.load_path += Dir[Pagy.root.join('locales', '*.yml')] diff --git a/gem/lib/pagy/extras/js_tools.rb b/gem/lib/pagy/extras/js_tools.rb index 52a568e12..f96a03952 100644 --- a/gem/lib/pagy/extras/js_tools.rb +++ b/gem/lib/pagy/extras/js_tools.rb @@ -42,7 +42,7 @@ def label_sequels(sequels = self.sequels) end end end - Calendar.prepend CalendarOverride if defined?(Calendar) + Calendar::Unit.prepend CalendarOverride if defined?(Calendar::Unit) # Additions for the Frontend module FrontendAddOn diff --git a/gem/lib/pagy/extras/metadata.rb b/gem/lib/pagy/extras/metadata.rb index cf9597a64..df9e8da79 100644 --- a/gem/lib/pagy/extras/metadata.rb +++ b/gem/lib/pagy/extras/metadata.rb @@ -17,7 +17,11 @@ module MetadataExtra def pagy_metadata(pagy, absolute: nil) scaffold_url = pagy_url_for(pagy, PAGE_TOKEN, absolute:) {}.tap do |metadata| - keys = defined?(Calendar) && pagy.is_a?(Calendar) ? pagy.vars[:metadata] - %i[count items] : pagy.vars[:metadata] + keys = if defined?(Calendar::Unit) && pagy.is_a?(Calendar::Unit) + pagy.vars[:metadata] - %i[count items] + else + pagy.vars[:metadata] + end keys.each do |key| metadata[key] = case key when :scaffold_url then scaffold_url diff --git a/gem/lib/pagy/extras/overflow.rb b/gem/lib/pagy/extras/overflow.rb index 5eb88a7e6..48b8af762 100644 --- a/gem/lib/pagy/extras/overflow.rb +++ b/gem/lib/pagy/extras/overflow.rb @@ -28,7 +28,8 @@ def initialize(vars) @vars[:page] = requested_page # restore the requested page when :empty_page @offset = @items = @in = @from = @to = 0 # vars relative to the actual page - if defined?(Calendar) && is_a?(Calendar) # only for Calendar instances + if defined?(Calendar::Unit) \ + && is_a?(Calendar::Unit) # only for Calendar::Units instances edge = @order == :asc ? @final : @initial # get the edge of the overflow side (neat, but any time would do) @from = @to = edge # set both to the edge utc time (a >=&&< query will get no records) end @@ -51,7 +52,7 @@ def series(*, **) end end Pagy.prepend PagyOverride - Pagy::Calendar.prepend PagyOverride if defined?(Calendar) + Pagy::Calendar::Unit.prepend PagyOverride if defined?(Calendar::Unit) # Support for Pagy::Countless class module CountlessOverride diff --git a/test/files/i18n.yml b/test/files/i18n.yml deleted file mode 100644 index 46522452c..000000000 --- a/test/files/i18n.yml +++ /dev/null @@ -1,12 +0,0 @@ -en: - pagy: - collection_info: - no_items: "No %{item_name} found" - single_page: "Displaying %{count} %{item_name}" - multiple_pages: "Displaying %{item_name} %{from}-%{to} of %{count} in total" - - activerecord: - models: - product: - one: Product - other: Products diff --git a/test/pagy/calendar_test.rb b/test/pagy/calendar_test.rb index 1093a0dc1..45878623a 100644 --- a/test/pagy/calendar_test.rb +++ b/test/pagy/calendar_test.rb @@ -266,7 +266,7 @@ def pagy(unit: :month, **vars) end end it 'raises direct instantiation' do - _ { Pagy::Calendar.new({}) }.must_raise Pagy::InternalError + _ { Pagy::Calendar::Unit.new({}) }.must_raise Pagy::InternalError end end diff --git a/test/pagy/extras/i18n_calendar_extra_test.rb b/test/pagy/extras/i18n_calendar_extra_test.rb index 15276fa4b..19c84e89b 100644 --- a/test/pagy/extras/i18n_calendar_extra_test.rb +++ b/test/pagy/extras/i18n_calendar_extra_test.rb @@ -40,10 +40,10 @@ describe 'Calendar with I18n.l' do I18n.load_path += Dir[Pagy.root.join('..', 'test', 'files', 'locales', '*.yml')] it 'works in :en' do - pagy = Pagy::Calendar.create(:month, - period: [Time.zone.local(2021, 10, 21, 13, 18, 23, 0), - Time.zone.local(2023, 11, 13, 15, 43, 40, 0)], - page: 3, format: '%B, %A') + pagy = Pagy::Calendar.send(:create, :month, + period: [Time.zone.local(2021, 10, 21, 13, 18, 23, 0), + Time.zone.local(2023, 11, 13, 15, 43, 40, 0)], + page: 3, format: '%B, %A') _(pagy.label).must_equal "December, Wednesday" _(pagy.label(locale: :de)).must_equal "Dezember, Mittwoch" _(pagy.label(format: '%b')).must_equal "Dec" diff --git a/test/pagy/extras/js_tools_json_test.rb b/test/pagy/extras/js_tools_json_test.rb index d10a4ab7f..65347135c 100644 --- a/test/pagy/extras/js_tools_json_test.rb +++ b/test/pagy/extras/js_tools_json_test.rb @@ -21,10 +21,10 @@ describe 'Calendar sequels and label_sequels' do it 'generate the labels for the sequels' do steps = { 0 => [1, 2, 2, 1], 600 => [1, 3, 3, 1] } - pagy = Pagy::Calendar.create(:month, - period: [Time.zone.local(2021, 10, 21, 13, 18, 23, 0), - Time.zone.local(2023, 11, 13, 15, 43, 40, 0)], - steps: steps, page: 3) + pagy = Pagy::Calendar.send(:create, :month, + period: [Time.zone.local(2021, 10, 21, 13, 18, 23, 0), + Time.zone.local(2023, 11, 13, 15, 43, 40, 0)], + steps: steps, page: 3) _(pagy.sequels).must_rematch :sequels _(pagy.label_sequels).must_rematch :label_sequels end diff --git a/test/pagy/extras/js_tools_oj_test.rb b/test/pagy/extras/js_tools_oj_test.rb index d03b584e6..22eb0a011 100644 --- a/test/pagy/extras/js_tools_oj_test.rb +++ b/test/pagy/extras/js_tools_oj_test.rb @@ -23,10 +23,10 @@ describe 'Calendar sequels and label_sequels' do it 'generate the labels for the sequels' do steps = { 0 => [1, 2, 2, 1], 600 => [1, 3, 3, 1] } - pagy = Pagy::Calendar.create(:month, - period: [Time.zone.local(2021, 10, 21, 13, 18, 23, 0), - Time.zone.local(2023, 11, 13, 15, 43, 40, 0)], - steps: steps, page: 3) + pagy = Pagy::Calendar.send(:create, :month, + period: [Time.zone.local(2021, 10, 21, 13, 18, 23, 0), + Time.zone.local(2023, 11, 13, 15, 43, 40, 0)], + steps: steps, page: 3) _(pagy.sequels).must_rematch :sequels _(pagy.label_sequels).must_rematch :label_sequels end From c1248c8857f8de096cc238330679a8f474d52778 Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Tue, 25 Jun 2024 17:27:24 +0700 Subject: [PATCH 14/16] Add --no-install to repo cy scripts --- e2e/cy/open | 2 +- e2e/cy/reconcile | 2 +- e2e/cy/test | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/e2e/cy/open b/e2e/cy/open index a1c21d583..9ae47830b 100755 --- a/e2e/cy/open +++ b/e2e/cy/open @@ -9,4 +9,4 @@ root="$(git rev-parse --show-toplevel)" . "$root/scripts/cd-and-back.sh" cd "$root/e2e" -start-test "bundle exec pagy $app -p $port" http://0.0.0.0:$port "cypress open" +start-test "bundle exec pagy $app -p $port" http://0.0.0.0:$port --no-install "cypress open" diff --git a/e2e/cy/reconcile b/e2e/cy/reconcile index a4824b4eb..bd681ed41 100755 --- a/e2e/cy/reconcile +++ b/e2e/cy/reconcile @@ -13,7 +13,7 @@ echo > snapshots.js test () { NODE_NO_WARNINGS=1 \ - start-test "bundle exec pagy $app -p $port -q > /dev/null" "http://0.0.0.0:$port" \ + start-test "bundle exec pagy $app -p $port -q --no-install > /dev/null" "http://0.0.0.0:$port" \ "cypress run --quiet --config baseUrl=http://0.0.0.0:$port --spec cypress/e2e/$app.cy.ts" } diff --git a/e2e/cy/test b/e2e/cy/test index 09e066631..96d171349 100755 --- a/e2e/cy/test +++ b/e2e/cy/test @@ -11,7 +11,7 @@ cd "$root/e2e" test () { NODE_NO_WARNINGS=1 \ - start-test "bundle exec pagy $app -p $port -q > /dev/null" "http://0.0.0.0:$port" \ + start-test "bundle exec pagy $app -p $port -q --no-install > /dev/null" "http://0.0.0.0:$port" \ "cypress run --quiet --config baseUrl=http://0.0.0.0:$port --spec cypress/e2e/$app.cy.ts" } From bd0244d0776a5bc5b7c0bb508d6cd1c35878e62a Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Tue, 25 Jun 2024 18:49:43 +0700 Subject: [PATCH 15/16] Update the docs for the calendar units --- bun.lockb | Bin 159377 -> 159749 bytes docs/api/calendar.md | 107 +++------------------------------ docs/api/calendar/index.yml | 2 + docs/api/calendar/units.md | 116 ++++++++++++++++++++++++++++++++++++ docs/extras/calendar.md | 4 +- package.json | 1 + 6 files changed, 129 insertions(+), 101 deletions(-) create mode 100644 docs/api/calendar/index.yml create mode 100644 docs/api/calendar/units.md diff --git a/bun.lockb b/bun.lockb index 51a6f2788eb1eeb46aa58836ae6ffe0eef8ae9d7..ab8cab475349145731751b4c59a59e6f2fa798e7 100755 GIT binary patch delta 25464 zcmeHvd3;UR*Z195E;)#qxVaf5h6oZ8k{cqq<|#!{C2D9w5E3FWwk7FcYN_fjTeK*h z(CSD-)sK#7t2$Q@gtnySs-lYL`#oo$R{QAh`MvMwc|V``kDiZ}wbys=v-e(WueJ8R z_grUjsWJPA@mNgM!4+4#%$c;a+rc|tn&yb{)oI%$GiXD*m9N}qT)MR8!*{Z$OmsSU ztz0}Ptl;?~VG0gMZu*!RES><>bT|q#^Ru%iOm;YWRd6^OLv8^c3SLd~r_f7n$QQsp z;78Dr0lv)Ta8w8X4ZJe=8SrZ0qcSt5j6vTy`5eXJ=mb2tJu3F212_14;DO+;fY$+E z0A2$;)8FbSFDoZ6eYC?dCVOHAI|!1oBC?=5#;k%?<1=SWCAtw~QXZY1K6!HHD93%e zm(l6@lP94*FLO$M*610IJT&6;J6Cl$@UL(Y{&3o@!8vNSzHefH)oxsV^o;bJY)5+D znB4Td{LGQS(X?G*5tL&G3&4RDMxqzmA#2QpiFujUbkno*9p7j?Ge0*k6L=q4(-~RN z3Z|yA^}vI``(Rj3W0>Y0z-hfU;2fo?=9@5gTK6Szjurx(YS+>{D?i$_({Xgpc9k?f zZEV)au`okce&%#cVu)jWU2DLUde-!F(UIeFs+&6BY-l*_ez5VC2f%&8M- z_b+t)cFlLoniT@Yw=$|im@y8TadIPMzY2i`Bj7ERGV>=*$;_MK7&$gQdpvsZ1Y4?( zP0x?U>W!%ZneC2&)39+N)(oa#1`Qw&1*hLEg;zELzl8cQ@L7=SgMSK{COd?_Idkox z&cbD~yh3C_Qn+Qg@4#8zEW(mA^3q3U!bev_CVm{8E6}!~Rc~8(R92p8;-56$3jJ`p z^)NiAw;#jfUtt$vO~;kIHbYhfMF8+01H}o2%(AB`XDt_RcLaip&5EQ5PY<74LBWr2{`Y|&6}8$J2~HRQHqLT1y@>I#>>f?kd>RBpWnHSHOe{Q9IZjT z)q8Dl-tA1V@RuNScCSH(;}t#+&PA~6|LVPVd%InqMAJ|Og|@RD!GN?>d#J^Z?uoMo zN*^~B69?ALQpb+lyHU@$Z41tg` zujDRB=w=x`8l1Z2W=oFCAk+2(ds;eVXXQ`MgMBk6Oq!CFmsyb4ub0&zZ}g~<94I$BC!It72Au9cG}ZEw ze&Fn=0&x1M?G>@NS@LV(9C$niWPRJ-R@gMwxSg_p#YCv+8Stv`;zGNFO}G(ODXiXC z)-n%UjLS#GJUvhWI2D+pJ9tT+H^K@s?zGSh zU7Ma~ZVirskl9N+aOCR3Xf4+mY)#YN$wPqGV6RiM%=K@RW~mbbPIa1UIcbPB&O&hZ zTL50o;cynNk&7z_7HqxCx~<7j%ld9`Hp4zJaoPljW2=@w2WPjtz^P0P%`0hs`*15X zKLBU`PXVt5K4xOBIlb2)GXqt_wCE*Qp-ye?;92?bugvtEGXOa75pc|}Fh756?s!=7 zC)k*7QV!06Ge?e$9+#gnp;V?<33Lufm-kd@5*~*!=tK8`vvGTH&el%VU&?o?go%%2 zS(UKxRHQ}@v<93rT%u)+WhRlgWO&ucf^`T5rj+L6tk(Bv{?}CU*Br@zA>bU4~$G7cH;@rq8;9pV#nWLk*N*o+zkVWCr| z2YbbLvII5p(jDp(vt(MR&)8GR;Xn)*`pL59UL(Zc;phRWqD+rY^oPJsE6DUvukj)z zY+aDTL%ia!EDH0vn!x})I6Wf|rB%#^ zsgtQlE5uJb;841e*BA$hO1orPxL2%{?j}B{o`%0cvIu_%$rAkCDBY1haa^Y1Zx>k< z=`*IoyR8v%pYbXr+SnmiM|us$1>zdBDN9b2MNNIi8X#H=kJmT>sf#&-vg|~e7UdJ! zvM36cLPT>pFc-}1D&rdx<_{?z(ND`dWLZP6k*}qSGJH&;KLi>O4MV)fc}VO8roe5{ z$ndY3_4f2G&iMHcv8A>%l~*tw2X{ErgUPLmDL+AE3k@9j2EE zxHcsW4OO~p$z>Y;L0J^-Gfn}ci$VPcUZYKY%Wr6!M1KfYS8yWnv@DA8iG#8v#%I)X zTS}PvId5~z{Xr?l{QzkK)8~w>kZ5vieiwLyEDcFAqJpejVKzAU6iC$Aa`!j1RMD(E z4~ackEu*kM&~Bz9_>Y6c`&7Ru(NZo7GQ?V066-S#0jJIU7+ywHu(foROk3nYVt>|H z&q2~7!}8}K(VC`98trkKZVyRt`CQW>-6>ZDCAktp8DA{Dh0<`dR39G%?l4Q)D0O4W zcpW7=GwyHX71yOZ-e-u5CS>Vcr7TMJ87-nLLkQE}xsYfGQ$6vX zOiS@O9nIwOloa8WB`H4Rk!E&tT52yO+6DpR@j5Ftm&<)AuDhFKOeREZ9_|i4qY^TH zH>(lWzBeT67H$EvWl0C0D3^;0fSpwBbtk3+ySWr>ilGQ|3p6uW(QxPM8z$atcKmA zlPSSa#_f>kI93{20I8?dvWeID8j|H5tCPJ(K&-=ou{k{?Eo9%Won5y>h6BcW#V@j? zt50l~?ruKg2DGq(Y&CLZQtRK{9FCf!C2I*^frM@gE7R$ner@EC?kUD-xHX4`^B~e! zLQ1llM0uShXcC;_Y!xqu^hh!C5KL6epHnhgz$||_`e;a&EwEu3yCB_(mR78VdM%6k zn;|h2lGO_hvJ{ezBuHOq$udthOpAS5wjTw>sPY%hn@1(KDW59zv!a&?T?72MX` zy&EODMxm4hgLvu<@$uhX3* zhxAS{rol4W((#FY5IV_Wy_1Xvz;xf(L54tzlOf%bj0Grhj>x;QUgI-Jn5MRgf3iIq z7i};k%jYnEu~ZiI^%?ts;TC47re0SaRF5`Cy9Xtl;;BhSqCbTG5OA&u^}3oPbo>x#=7l9@s9zn>Xz0~BMIJ*Wi6~myNWznGQeki2CNq_Cv`J|I@@>CPJM2c zaNH@m!{_=KST9-HFv+M3gKCA5ca$s|=rg_tM#~1saGd9Ug>m5LT-8vovr{)Yncmj$nI9yAq~Ng2SVZsLT6}M1c`<-z1npWQhW1g6$y~7 zOwSSHWzk@t@eDASkKx-13jm4s!CE322O{Q8uk_DCi9YvxhBCGQ;R?WZw|NaWj6}^~ zC+t!~A<;|xOsg%2q?N$_^bsUxGfRsqsaBq}Rv-%!46f^5gv4Hu!(gp)NY?Vx>yvJ? z%w)QgF$L1^b*^oYtOR#W<5ut8dt2ID(j$8WDs*SwPCjDekdWws%rAi@LcEjz?$o?`Y zBgL8CUk=Gg5zot_44-iv8c-$VE3|Kj^wG+^8mrLjrIFDPlh z!CYhRltV_RxW*$RC&(2sNn*7u8SOI;KxRx>>96h}Yr3XexVl10k|7IsSdX;yE@G1%E=LZapIDGtG~4H6CMVzM@_ z>N+?~L$9;T5E(Qs#aKSX)}CH@5EA3d^4JD<*`3kKcSDLn9U^OlS3D}y#`|15*+Q1$ zVAN))l`Bz;W6lgn_%Jj!$vB7-YiI6e3Pc7?|vS&4(vM}J6IFu&n; z9Zw1)A;F7vjF&c%o(hPll%)3dq;5N!1I$Vnd~!~V-Mqj1!+6O z>l`{-4w;f-ECon&1jw?r6yk2kC57#Jv7R(Rul7qxb|FcwrV}{~O8E3%GSeqsmF`(S<2+ENN-WgGME_i? zBLsM|*T{s#HOCb8DVe3zl%L`JR118D+1u4eLNp@6+cl5eGfrP;k zxBhvS#%3%T9U%3x2F3aRVd=jA-kvob<~MK-Kk&MsCLkQt%Suf5&-eR}g!`c5n8C&D>EDggwf<$l308OZ*e(jQVSwob9kb zz8yR25-xJe zkAT=}p_U&7=S9x?MVdbb&WpSX=t&UgxEkaSS_g8vt_x7I~+H2-uWY_ zk{mWCGK$jAy49_?fx2s~mmB7UnZ~%GTmNtH>gcN)ra+_B;8gyG(^z$dqrhw!s2kqQ z*@0W*@Ce9bwVb8v$Afd= z3E;fQd0(!UZ9a?zdc+J}LCzcR(=s^+SgB=l*00twIXiv^oNNC&cr);W#AWpSK-0p9 zA@RDI6FP!FgmbJh#|VLyK0lq))A+`|zCY;921oI?g^nViMyTE3a{z8b*Uz79C$ zx|-M1?a7G;f)jFUIY@Jl6H&$s1=CoK*b3Kw!r8QmZhtc;#Ao%q{%5YEj175DGkqgD zXWksV7I?D8$%&_EnVc5r1Wu@n#{V7X{ay8aJ?(})0Wk6KS4wQqS9kR9INRTWb`@p7 zg1|K1#osn@jqlcX|2xihBhijd%HJ^X{v3TDIg1ndN9Gh+p^^)UttM%n2TtXug0r_7 z;Jj|dSa%K4yg8>cq{>jW~Dy|MbLt=#8`| zPbJ;vJ#pgtv@ZkZk9}`_QH8G#gd{XGW`9!A`O~b@pX=->A3A39Z^zd?HeR}lmy6YkT%JlC4=N;NE=F0@q?Qykk;-Gki+(;iY;>8{y}o^fdCnB zAXRLYX$J;L|APT?8>DU0I5e%fD9>374OKb(m}HRp#ZrD(tFZ< zXpr0mY389+@qye8Y5L&+8GSfa?36PO50Xuf1jtfIyJggoL2@6Yg-25HxVZ$K$oXZ1Wa7~Pc^cAQ+4d;(gS6sks`y-%Lt1tW`W;K<&zFutzwe+Qq_1Vq@1P%~ z4d12WiRTqaYrltn-=~Tax$b-D_XG6%AypiZX+J=}B=m!{ z@MNkuDN7*DI|cntrQ%0U^G`v))6fsnS=sh9^n&`*H^U&{ns<mA+s((zn`HWqzcmgGxUQr^XF9IlDi>IzX<&3uC1k$`q(C<>J2$1tHLBGq;4^nm6_A>N?wBmBAs42@KExQ8! zuB3|Evgiu*`xW{@sw;c`3jH8$_%&4o$}5o8UWI;FQ-xcuy9)h&gMPoI3Xe?t4faSi%G%DI**!sHf6W3NNM>!~7KW?hGVH=rM+hSGfl`azm`BULn(yKf9yGF=2L zi596Ma>)!aNHrA@OCd(7C;@pNWVKKLXs${K%yR-rb^?f2^PK<^D*!l6prvYC0l*0Y zD=GkpRpkVh`2pzd2cWeo@&nMr1>hQic-7Md;Id0pQ!l$jFX2^J2&}D$7Q-r{MO(G5 zB7nh_00dM5kfhQo0r2++u#G^nGW-E-CXnL~z^Aql7;69sF#vQ_Sq6aml>zJ_&{?@F z1K34iW@P|f)oudQs{n|u0-(E^Q3XKLssKs}^i)w*0qi5NuquF5RYG810D$BG0KL`x z004>A0GuY!SGBDM-~@pc)d2KUh2hh7ZfB~wgI)ENE09+$5Q1z?<;4*;?H2@4! zR|u@F31C=F0BLGnO#p*y0SKrC;4YO`3xI!Z0NV%*Q$}q7n+fF91~5WxAuzTMfRH)> z(p6R+0QKtv*h65Xa@Pg0i@?mf05a8X0@LdOh^_}1K=8g zDXOOjz-0m(JOHMtD+JaC0~i(zV1`;33}A2wfPfGH_o}oI0REu>wh@@Aj8FiZ3FL$V zC{SAnj12=25(eOYl@$h{eggn|2t26V4FK#SFtY)G*=jd|>EQsP!vV}yGr|EhjQ~(e zV7`iq0I-k1!UzD5s1gG68Ujde2weC)_7{uO zqs0gja1WkKS9UlG9|EsYEZU3XPPH*s^bl_qUyBusgor3!*qZ$I;*fapv4~2-V@@3D z3VA@t%bYwTHxr-vZo-xT$B>0b)wKjMQmiUY_lnjPpd_Yq%$%BQ33m7ZCA`q!NRsfc zdla|V(Or(5f&bl#|I@X<_*#-Et{~PIZ}N#$r>g@V9tUuKt)0b*UBs(Gm@U2()T*-m zUr|c4)uT}&MqTbM8n_anXBBgp5c|KKWK6WQ<>c-Eg7UOl+(SgVBJrHKaxv^wT@=HL z2m7c7aU!;gI8nrJG4Vf5R;V|YiS`B8Z&(+x!RC?0dU$%X%kRmtWP`UBFo6S1qq;Y?#LQ=xvsT6*xxdoB7r5!@A+!8spc)PiZV&V?2NJArh|) zjbX(d=C{A#BQ?e+z)oErrFm6gJeTpxG%z^_rR4M zwe`)Dbh~=M+G#9LV}Zc@G?uTi`oQ>5k=JC6xly(sr4~%lU=YAsDAPn!HReIN4$8cy zX)GA!uS~?@m=28Ng@8WN*gd*kDC89yyH{gjkooOBt-&RPg$f)EAlOgO3U$M9V2LPm z_V^Lj*MjZuCd7$>kmV@*&_5?KFm z6c%bQ66Iu+i9M>ZrYO5n<^&dLEDGfyjXkC@KK$@#Y_Z0g0}IjE;~HxLEL3B%Eef1$ zH0V_jFXj{c<4^C*2fUo=QjP6c!5X|N;91q|8PP<2@|0-rtl?0VSBOx9afZh(j^|bE z3egw2`~DT8bL?s$&w!o%H0&I8afKLEz=1l0Zg4no0jdCE z{8R)nWcX`^FF;>{==NM#x-}oJFjV$}J_9jCwt^S}Z-V$pXdQ^Z?C1;%MmYo&3JL=? za5~h-D}@o%5Q0C5|6QNoLzRN~*f7$m&a4!n2|q&SvswdKWl$ARRnS#njldg&fJCsgC)&K_%oW(AcSOrBLO$H0x=eAf@*^pZq-5MXv8r48pLm^ zcY_#W45`JS$3aU${A^na`W93I>ItkDC>7Kj)Ca^zTwj1b0_^}j3alQ#$+?EYAq;i{ z#1Q0DZvNmT0=yyU1j>9YcsD2=lmR*ptP6Mw$Oq~O8VPI^Cw``LJOw%pIs-ZjItMBP@mDVgKnFpkphKWFp#2#90H`0z ze1P{Ah_Sy2vibNL<+JGf94H^<$)G8qks$TZYEi#nJW715+YQtm)C0uF!ks~x=!L)e z>JOR+dKvTzh;jNl=nc>`wBys>exL!MRM2gp-k|xY=PyRKgKq}$sqbJ=8fXjTx0wF; zGorUa+dxh<{tWz6HUM!Kc>}Z&v;cT@@TQ<7l$qdLf|#?bfi4331;po*`#^mDxeLU6 z%O|S*U#~xd>Y&^KR1uWO^cM~ACEQpS{3!S_5OeA}&^u`KF6e#G2cYX{lLTrHN(M14 zG7U2A1%pCBp&<6R6YW0)`5>o&nt>XDnu7TIng*b74*DhL>SzJ*rTn30ZG5+$4i^%c^Al|bB^bY8K z(0iaApe`Upbb+HS3Lk?Q*6|?DeFTW}-V6E^v=8(-$n*+urURyhFF;>{z5#s;qHeIY zqow8y5*MgCh!Oie=sS=fhzlI%P!FsX_1s5ME(09_4F@rDIj=+NwY4It?qL+Ukq3iX zgW^DCN~{yLT}M#-L2Y|h1d0qZ1^!ryITgv((FXJ)n#O`N$I`ItK~+$W0nzJQ zfSQ9iyaSvbO7Cm}3IoxT>EX;!bX11gDm1+TnghB9!juXezoBpy^egBJ=n{x?W;`-3 ze+Hcc{RBD>x&TTCT?TPt*FoF_nD{G!xXm&bJP7nw z)UE+|IEcFk1D!!02%Hp&G9910N|bu%Md2yn*i2xpL2;mVAnpeNzz0PhN7o?*UWZeot2+y#_?Hl4vcfI5LXa{KLuLLX3XP!CXd zUG4>b8z>dj6GXWmi0xQr+rFRypqsJ&kZ%XEE!&Xn`&f53Xe1~Nl)+UakPaFF8U`8; zx(hTEG(?w)v5sv?b~zK}F`!Wz9}Q0I31~`-(JFL3#sXc;_VcEYO@A&xfvXk^egm8i zO+TjJh61B6Gl00d4iE!j6^e{O23ItQeofb7Krv_-Pz)Rf2IGN2$$)GIVq7pD7_1D$ z0tN{qicw3KnFPuQ<$<08JqcpN<>2!{9Q+>eDH@*+K276O!DncE9{3#4Y!L5x5d2=y zOwfIx2SD)M0`uHUE6f5FYI+Eq4d#OAhzk5MP+gQ4fjN@DBWl%V;Z}2A z7eS(2t$rO7x}eS<0lTI?-zVJ8N=|j|by440%c(-Y5cNff>h}d|o2ukDz}l$3Xe2tQ zNtF7iy`O^(Q+u|7WvlH3?^CaR2K^Q|kpnS>xa>DBe6)A$7)&7{rWL3ElnU60cCV;c zz5#nrb)>XkE&f`#gD>DN5AI6tlRG11_PgzI7w(CTiEUG@f_iKt=F>vWME9bXTE%HS zrAjx7=EgkiPrR*@s<}zD7DrTA2`ZPV5u3oys7X7(ep8ZlnQG@Ialf;=p?bY3ZbMVp zqn_IErU(&1>f<-X7?1siwVbHXjP*}s^mSqd&51kmRPSQZ8{a5DSqu&BH>=I96t%MV zGq1m38aXxw+wCH?w^%%hZ#dui%A5^Nj&CBXLqqk&W>|iKIt|EUzgq3o<&4r1wf)ZV`t?F#QTyd;5Ba|G^!jX9ck~ly z_0vk7-+~#xq;lFH0LDo;uL&(yCmuBhyCP)v>VYgbm6*K-qy-4YxI!wu|b9?MJ zsUR5v;Di4QKJFz-{R8m`bIC#;Ht5|0Xy-RU6(#JIkLve;F2osub-#$I+k~+|F-s+#P!=uKxfH zkk>eVTU8TkdF&U(y?k)%sqp+3L1>`8`A^!Z$KOQ+SbF~(8(X&0c61{8TfK(`HI4kc zA(y@<+Bj=9QIA~|Es8I{Cn^h%{bsp^Q$Oh5we7=rS~R?E47?U+5Eb$P)UaPc*Xh|= zOQMqAj4@{!8xxN`LiIxfe7ilKY@}NC2aC5~Fz1P=u&UqFZIE)2P-Ej`5*+sXj}{em zAN!MMeakP^-J54t~`8|4Qq^j=%Yo)?|fT4W5 zkkZ<##YaUwKlIXF<@|v0AKL|!wT)9L`;p^&#i=8^!0(PzzwUx7+@qp*i=FWg!bzA- zSAugFX_#|m#GH=3hSw2x%?qf(c3QaMql5KN?C2eU8nt3S#@?tpe^7g5j6ZOzGh znok~jVXkSeRy6VvRqzp3!G7=Ej-bXBw~n~`2pYiGxcymip+5OY1O?k~&6{0gXm<8P z;wiHm?gn@dlX8A6nl-wujg<@S_vWo!|MM3AhJgVki^klziFk@1q`W z4C|AvdVYp@w9Xrz<{hlze%{}(?&@{NeCVx}l~>I3PH)(1>E{R`eX41ydh=xTlsf+< zg0Ap$(Z@b4El}m3;~|lCyo$4qSFP;>m3gXZZJ)BNvzmRpy47h7rlmZiGH`S0tib%Y_IH4r z=p$2fS5@tRs2^;U031lhIX8Js=7__8UjXZ&+7l zMDtBc&=-Oe(cl=bY954EQ&e-Z0=4Hn*gQ4jAY4JJlRv@bjvT~3^R&9k2J2PbQgJ{0 zL6xGxN9sl?j)Y&U-iKhPP<8(yG$~U#7jW0cL%7SM_Oj-@s&H7e4z^!{*=2Fawr1^@ zEyZaK(`6VXbW{Bg;|N`*R-vKCew*c_=Sv+^Bi&=o2r(O;QKt{%Y;V71(zvmB)!mcJ zgsBe>5DAV7y;Q^zQRs9gsArFeW(@;+nO{W|+V8toa%h`yISNGo?}~y`nO|L&oxpQOm!BdwTk-Pr=1a zUW~T)ibNRX76%rd6j4(RM;Y#l&n;bf%GKcRj^+eR@As(xc7$nd8_GJmAg$3HV5@PE zac119-u?l!k=M~*|0FV*(r*!%wb;cQkMvNnR%eh22$@ryTX z+*@^)>DH~W9pN+`Z~{GCRUJ=Yv@Pl`FlV(iHT8suOR!)48GfMU@W|oe$Dx2eMc6L` zy|4GF2}>(oIfxqiDo$Q)($pc`>kLU#waO7MYt)Ex%*}pl=*onVeP4Tj%w*FR@w`F5 zKeX`txyIYqv`*NAnmEht7pe`oHNk$PXh6NoL(VNY!jD8;N1TN!4YiJJzTrPj{k8L| zmvoI6UOIH?NgVauLsjT0@Fqi5s~^EF82iD;KSJAGY9`s|O8p2ESYWXIp3(ZN?k!rl z_KrB+Cq3WnQ@8uQ>)VH`J{T(4ejn-A!8;BP*!cdl=6(1Y;&1L#pPm#!3HHlP*Hl}! zWy->>OrTT^EB5!(&^jg9FIGMEO7iMDn+Ea|5>pi{`uF!*DyWA}i6G~IboKNpxU$9T zs|Ke<8&RqTo`x;T)qJv_)V9+wP`Ub+QmLwP2F{_|+dQE(-AZ3q0wOlm?eO$D_!id> z1{;7HZY@nBjy}8N`Q(S3LdTyYZj^fT4A!IlD7E$soJIE;Y`<>x&AF>Lcbz!zdFu|C zgLl+83&%G#KYpw{KPFdz?al{&bjIird;!+)lmIdF5$ZO!!M z_Smngy)ym5^T!&mbUQ^e*p}B4brxG!?lY8E1>=&8n z<P9XB7RTKs~gzekOLc&iTtI4JN;@rshaU~9gB zuLJpUEF_|=;SM8W3sypJF&YrH4OBezBlGQKEWZMlVOzn9ESHKs^b`iH~S+UdEhPsR~zsKB2r|m3QecOvnDF zCSMVq)aEOq6{4#AitrWu6lM+dP-6TiVtTdfd~C#J4e`9${zCsfKR($QsRQzat2O(3 zX1DZv5i+Cc;i&t5`K-y?3;tUFChDp7fL)6`Lswr+{A>MiL?i1TnKjra8$MT%Hx>Xt z=-qhg)0nf5xzA744Yp^#8eZ|^@6HwK`eR4ZAKj8N`n5+P_>v2X8q`}WZbvX?{V z1fL6A;(92m>$EvJR{gT2k1yyudGV&lA=g9w#I`H5pKp=BWG!TFhspgKj~+6==fT%E z0pJJEizk0v-z)xs`ubJHh0lb}dA~vaR}r6}o)-DUePQnQ>yB>AeiN_}zT23HPeZsW zx1W-j(jZnHd0Es~bFYdGmGPeXX;~AZrzf;2ZuXlv*h+mH?hI~X{w^*(H#ho^>Xy+h Qt)I*N0T*9x;VkO-UkYteA^-pY delta 25710 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 Date: Tue, 25 Jun 2024 19:15:56 +0700 Subject: [PATCH 16/16] Update setup-bun action --- .github/workflows/e2e-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml index 6e4f57737..12cedce0a 100644 --- a/.github/workflows/e2e-test.yml +++ b/.github/workflows/e2e-test.yml @@ -52,7 +52,7 @@ jobs: ruby-version: '3.3' bundler-cache: true - name: Install bun - uses: oven-sh/setup-bun@v1 + uses: oven-sh/setup-bun@v2 with: bun-version: latest - name: Install Dependencies