/* RepeatConfig.c generated by valac 0.56.19, the Vala compiler
 * generated from RepeatConfig.vala, do not modify */

/*
 * Copyright © 2023 Alain M. (https://github.com/alainm23/planify)
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public
 * License as published by the Free Software Foundation; either
 * version 3 of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public
 * License along with this program; if not, write to the
 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA 02110-1301 USA
 *
 * Authored by: Alain M. <alainmh23@gmail.com>
 */

#include "planify.h"
#include <gtk/gtk.h>
#include <glib.h>
#include <adwaita.h>
#include <gee.h>
#include <glib-object.h>
#include <glib/gi18n-lib.h>
#include <float.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <pango/pango.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif

enum  {
	WIDGETS_DATE_TIME_PICKER_REPEAT_CONFIG_0_PROPERTY,
	WIDGETS_DATE_TIME_PICKER_REPEAT_CONFIG_DUEDATE_PROPERTY,
	WIDGETS_DATE_TIME_PICKER_REPEAT_CONFIG_NUM_PROPERTIES
};
static GParamSpec* widgets_date_time_picker_repeat_config_properties[WIDGETS_DATE_TIME_PICKER_REPEAT_CONFIG_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))
typedef struct _Block31Data Block31Data;
enum  {
	WIDGETS_DATE_TIME_PICKER_REPEAT_CONFIG_DUEDATE_CHANGE_SIGNAL,
	WIDGETS_DATE_TIME_PICKER_REPEAT_CONFIG_NUM_SIGNALS
};
static guint widgets_date_time_picker_repeat_config_signals[WIDGETS_DATE_TIME_PICKER_REPEAT_CONFIG_NUM_SIGNALS] = {0};

struct _WidgetsDateTimePickerRepeatConfigPrivate {
	GtkSpinButton* recurrency_interval;
	GtkButton* recurrency_type_button;
	GtkLabel* recurrency_type_label;
	GtkRevealer* recurrency_type_revealer;
	GtkRevealer* weeks_revealer;
	GtkRevealer* last_day_revealer;
	GtkCheckButton* last_day_check;
	WidgetsContextMenuMenuItem** type_menu_items;
	gint type_menu_items_length1;
	gint _type_menu_items_size_;
	AdwBin* dimming_widget;
	GtkLabel* repeat_label;
	gint _selected_type;
	GtkToggleButton* mo_button;
	GtkToggleButton* tu_button;
	GtkToggleButton* we_button;
	GtkToggleButton* th_button;
	GtkToggleButton* fr_button;
	GtkToggleButton* sa_button;
	GtkToggleButton* su_button;
	GtkToggleButton* never_button;
	GtkToggleButton* on_button;
	GtkToggleButton* after_button;
	WidgetsCalendarCalendar* calendar;
	GtkButton* datepicker_button;
	GtkLabel* datepicker_label;
	GtkRevealer* calendar_revealer;
	GtkSpinButton* count_interval;
	GtkStack* ends_stack;
	GeeHashMap* signal_map;
};

struct _Block31Data {
	int _ref_count_;
	WidgetsDateTimePickerRepeatConfig* self;
	gint index;
};

static gint WidgetsDateTimePickerRepeatConfig_private_offset;
static gpointer widgets_date_time_picker_repeat_config_parent_class = NULL;

static void widgets_date_time_picker_repeat_config_set_repeat (WidgetsDateTimePickerRepeatConfig* self);
static gchar* widgets_date_time_picker_repeat_config_get_recurrency_weeks (WidgetsDateTimePickerRepeatConfig* self);
static gchar* widgets_date_time_picker_repeat_config_get_type_label (WidgetsDateTimePickerRepeatConfig* self,
                                                              gint type,
                                                              gint interval);
static void widgets_date_time_picker_repeat_config_update_repeat_label (WidgetsDateTimePickerRepeatConfig* self);
static GObject * widgets_date_time_picker_repeat_config_constructor (GType type,
                                                              guint n_construct_properties,
                                                              GObjectConstructParam * construct_properties);
static Block31Data* block31_data_ref (Block31Data* _data31_);
static void block31_data_unref (void * _userdata_);
static void _widgets_date_time_picker_repeat_config______lambda167_ (Block31Data* _data31_);
static void __widgets_date_time_picker_repeat_config______lambda167__gtk_button_clicked (GtkButton* _sender,
                                                                                  gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda168_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda168__gtk_button_clicked (GtkButton* _sender,
                                                                               gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda169_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda169__gtk_gesture_click_pressed (GtkGestureClick* _sender,
                                                                                      gint n_press,
                                                                                      gdouble x,
                                                                                      gdouble y,
                                                                                      gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda170_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda170__gtk_spin_button_value_changed (GtkSpinButton* _sender,
                                                                                          gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda171_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda171__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                      gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda172_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda172__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                      gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda173_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda173__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                      gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda174_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda174__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                      gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda175_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda175__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                      gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda176_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda176__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                      gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda177_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda177__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                      gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda178_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda178__gtk_check_button_toggled (GtkCheckButton* _sender,
                                                                                     gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda179_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda179__gtk_button_clicked (GtkButton* _sender,
                                                                               gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda180_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda180__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                      gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda181_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda181__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                      gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda182_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda182__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                      gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda183_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda183__widgets_calendar_calendar_day_selected (WidgetsCalendarCalendar* _sender,
                                                                                                   gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda184_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda184__gtk_button_clicked (GtkButton* _sender,
                                                                               gpointer self);
static void _widgets_date_time_picker_repeat_config___lambda185_ (WidgetsDateTimePickerRepeatConfig* self);
static void __widgets_date_time_picker_repeat_config___lambda185__gtk_spin_button_value_changed (GtkSpinButton* _sender,
                                                                                          gpointer self);
static void widgets_date_time_picker_repeat_config_finalize (GObject * obj);
static GType widgets_date_time_picker_repeat_config_get_type_once (void);
static void _vala_widgets_date_time_picker_repeat_config_set_property (GObject * object,
                                                                guint property_id,
                                                                const GValue * value,
                                                                GParamSpec * pspec);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);
static gssize _vala_array_length (gpointer array);
static inline gpointer _vala_memdup2 (gconstpointer mem,
                        gsize byte_size);

static inline gpointer
widgets_date_time_picker_repeat_config_get_instance_private (WidgetsDateTimePickerRepeatConfig* self)
{
	return G_STRUCT_MEMBER_P (self, WidgetsDateTimePickerRepeatConfig_private_offset);
}

WidgetsDateTimePickerRepeatConfig*
widgets_date_time_picker_repeat_config_construct (GType object_type)
{
	WidgetsDateTimePickerRepeatConfig * self = NULL;
	self = (WidgetsDateTimePickerRepeatConfig*) g_object_new (object_type, "title", _ ("Repeat"), NULL);
	return self;
}

WidgetsDateTimePickerRepeatConfig*
widgets_date_time_picker_repeat_config_new (void)
{
	return widgets_date_time_picker_repeat_config_construct (WIDGETS_DATE_TIME_PICKER_TYPE_REPEAT_CONFIG);
}

static gchar*
g_date_time_to_string (GDateTime* self)
{
	gchar* _tmp0_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = g_date_time_format (self, "%FT%H:%M:%S%z");
	result = _tmp0_;
	return result;
}

static void
widgets_date_time_picker_repeat_config_set_repeat (WidgetsDateTimePickerRepeatConfig* self)
{
	ObjectsDueDate* duedate = NULL;
	ObjectsDueDate* _tmp0_;
	ObjectsDueDate* _tmp1_;
	ObjectsDueDate* _tmp2_;
	ObjectsDueDate* _tmp3_;
	GtkSpinButton* _tmp4_;
	gdouble _tmp5_;
	gdouble _tmp6_;
	GtkToggleButton* _tmp7_;
	gboolean _tmp8_;
	gboolean _tmp9_;
	ObjectsDueDate* _tmp29_;
	RecurrencyType _tmp30_;
	RecurrencyType _tmp31_;
	gboolean _tmp36_ = FALSE;
	ObjectsDueDate* _tmp37_;
	RecurrencyType _tmp38_;
	RecurrencyType _tmp39_;
	ObjectsDueDate* _tmp43_;
	ObjectsDueDate* _tmp44_;
	g_return_if_fail (self != NULL);
	_tmp0_ = objects_due_date_new ();
	duedate = _tmp0_;
	_tmp1_ = duedate;
	objects_due_date_set_is_recurring (_tmp1_, TRUE);
	_tmp2_ = duedate;
	objects_due_date_set_recurrency_type (_tmp2_, (RecurrencyType) self->priv->_selected_type);
	_tmp3_ = duedate;
	_tmp4_ = self->priv->recurrency_interval;
	_tmp5_ = gtk_spin_button_get_value (_tmp4_);
	_tmp6_ = _tmp5_;
	objects_due_date_set_recurrency_interval (_tmp3_, (gint) _tmp6_);
	_tmp7_ = self->priv->on_button;
	_tmp8_ = gtk_toggle_button_get_active (_tmp7_);
	_tmp9_ = _tmp8_;
	if (_tmp9_) {
		ObjectsDueDate* _tmp10_;
		gchar* _tmp11_ = NULL;
		WidgetsCalendarCalendar* _tmp12_;
		GDateTime* _tmp13_;
		GDateTime* _tmp14_;
		ObjectsDueDate* _tmp20_;
		_tmp10_ = duedate;
		objects_due_date_set_recurrency_count (_tmp10_, 0);
		_tmp12_ = self->priv->calendar;
		_tmp13_ = widgets_calendar_calendar_get_date (_tmp12_);
		_tmp14_ = _tmp13_;
		if (_tmp14_ != NULL) {
			WidgetsCalendarCalendar* _tmp15_;
			GDateTime* _tmp16_;
			GDateTime* _tmp17_;
			gchar* _tmp18_;
			_tmp15_ = self->priv->calendar;
			_tmp16_ = widgets_calendar_calendar_get_date (_tmp15_);
			_tmp17_ = _tmp16_;
			_tmp18_ = g_date_time_to_string (_tmp17_);
			_g_free0 (_tmp11_);
			_tmp11_ = _tmp18_;
		} else {
			gchar* _tmp19_;
			_tmp19_ = g_strdup ("");
			_g_free0 (_tmp11_);
			_tmp11_ = _tmp19_;
		}
		_tmp20_ = duedate;
		objects_due_date_set_recurrency_end (_tmp20_, _tmp11_);
		_g_free0 (_tmp11_);
	} else {
		GtkToggleButton* _tmp21_;
		gboolean _tmp22_;
		gboolean _tmp23_;
		_tmp21_ = self->priv->after_button;
		_tmp22_ = gtk_toggle_button_get_active (_tmp21_);
		_tmp23_ = _tmp22_;
		if (_tmp23_) {
			ObjectsDueDate* _tmp24_;
			GtkSpinButton* _tmp25_;
			gdouble _tmp26_;
			gdouble _tmp27_;
			ObjectsDueDate* _tmp28_;
			_tmp24_ = duedate;
			_tmp25_ = self->priv->count_interval;
			_tmp26_ = gtk_spin_button_get_value (_tmp25_);
			_tmp27_ = _tmp26_;
			objects_due_date_set_recurrency_count (_tmp24_, (gint) _tmp27_);
			_tmp28_ = duedate;
			objects_due_date_set_recurrency_end (_tmp28_, "");
		}
	}
	_tmp29_ = duedate;
	_tmp30_ = objects_due_date_get_recurrency_type (_tmp29_);
	_tmp31_ = _tmp30_;
	if (_tmp31_ == RECURRENCY_TYPE_EVERY_WEEK) {
		ObjectsDueDate* _tmp32_;
		gchar* _tmp33_;
		gchar* _tmp34_;
		_tmp32_ = duedate;
		_tmp33_ = widgets_date_time_picker_repeat_config_get_recurrency_weeks (self);
		_tmp34_ = _tmp33_;
		objects_due_date_set_recurrency_weeks (_tmp32_, _tmp34_);
		_g_free0 (_tmp34_);
	} else {
		ObjectsDueDate* _tmp35_;
		_tmp35_ = duedate;
		objects_due_date_set_recurrency_weeks (_tmp35_, "");
	}
	_tmp37_ = duedate;
	_tmp38_ = objects_due_date_get_recurrency_type (_tmp37_);
	_tmp39_ = _tmp38_;
	if (_tmp39_ == RECURRENCY_TYPE_EVERY_MONTH) {
		GtkCheckButton* _tmp40_;
		gboolean _tmp41_;
		gboolean _tmp42_;
		_tmp40_ = self->priv->last_day_check;
		_tmp41_ = gtk_check_button_get_active (_tmp40_);
		_tmp42_ = _tmp41_;
		_tmp36_ = _tmp42_;
	} else {
		_tmp36_ = FALSE;
	}
	_tmp43_ = duedate;
	objects_due_date_set_recurrency_last_day_of_month (_tmp43_, _tmp36_);
	_tmp44_ = duedate;
	g_signal_emit (self, widgets_date_time_picker_repeat_config_signals[WIDGETS_DATE_TIME_PICKER_REPEAT_CONFIG_DUEDATE_CHANGE_SIGNAL], 0, _tmp44_);
	_g_object_unref0 (duedate);
}

static gchar*
widgets_date_time_picker_repeat_config_get_type_label (WidgetsDateTimePickerRepeatConfig* self,
                                                       gint type,
                                                       gint interval)
{
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	switch (type) {
		case 0:
		{
			gchar* _tmp0_;
			_tmp0_ = g_strdup (ngettext ("Minute", "Minutes", (gulong) interval));
			result = _tmp0_;
			return result;
		}
		case 1:
		{
			gchar* _tmp1_;
			_tmp1_ = g_strdup (ngettext ("Hour", "Hours", (gulong) interval));
			result = _tmp1_;
			return result;
		}
		case 2:
		{
			gchar* _tmp2_;
			_tmp2_ = g_strdup (ngettext ("Day", "Days", (gulong) interval));
			result = _tmp2_;
			return result;
		}
		case 3:
		{
			gchar* _tmp3_;
			_tmp3_ = g_strdup (ngettext ("Week", "Weeks", (gulong) interval));
			result = _tmp3_;
			return result;
		}
		case 4:
		{
			gchar* _tmp4_;
			_tmp4_ = g_strdup (ngettext ("Month", "Months", (gulong) interval));
			result = _tmp4_;
			return result;
		}
		case 5:
		{
			gchar* _tmp5_;
			_tmp5_ = g_strdup (ngettext ("Year", "Years", (gulong) interval));
			result = _tmp5_;
			return result;
		}
		default:
		{
			gchar* _tmp6_;
			_tmp6_ = g_strdup (ngettext ("Day", "Days", (gulong) interval));
			result = _tmp6_;
			return result;
		}
	}
}

static gchar*
string_slice (const gchar* self,
              glong start,
              glong end)
{
	glong string_length = 0L;
	gint _tmp0_;
	gint _tmp1_;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_ = FALSE;
	gchar* _tmp4_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = strlen (self);
	_tmp1_ = _tmp0_;
	string_length = (glong) _tmp1_;
	if (start < ((glong) 0)) {
		start = string_length + start;
	}
	if (end < ((glong) 0)) {
		end = string_length + end;
	}
	if (start >= ((glong) 0)) {
		_tmp2_ = start <= string_length;
	} else {
		_tmp2_ = FALSE;
	}
	g_return_val_if_fail (_tmp2_, NULL);
	if (end >= ((glong) 0)) {
		_tmp3_ = end <= string_length;
	} else {
		_tmp3_ = FALSE;
	}
	g_return_val_if_fail (_tmp3_, NULL);
	g_return_val_if_fail (start <= end, NULL);
	_tmp4_ = g_strndup (((gchar*) self) + start, (gsize) (end - start));
	result = _tmp4_;
	return result;
}

static gchar*
widgets_date_time_picker_repeat_config_get_recurrency_weeks (WidgetsDateTimePickerRepeatConfig* self)
{
	gchar* returned = NULL;
	gchar* _tmp0_;
	GtkToggleButton* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	GtkToggleButton* _tmp6_;
	gboolean _tmp7_;
	gboolean _tmp8_;
	GtkToggleButton* _tmp11_;
	gboolean _tmp12_;
	gboolean _tmp13_;
	GtkToggleButton* _tmp16_;
	gboolean _tmp17_;
	gboolean _tmp18_;
	GtkToggleButton* _tmp21_;
	gboolean _tmp22_;
	gboolean _tmp23_;
	GtkToggleButton* _tmp26_;
	gboolean _tmp27_;
	gboolean _tmp28_;
	GtkToggleButton* _tmp31_;
	gboolean _tmp32_;
	gboolean _tmp33_;
	gboolean _tmp36_ = FALSE;
	const gchar* _tmp37_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = g_strdup ("");
	returned = _tmp0_;
	_tmp1_ = self->priv->mo_button;
	_tmp2_ = gtk_toggle_button_get_active (_tmp1_);
	_tmp3_ = _tmp2_;
	if (_tmp3_) {
		const gchar* _tmp4_;
		gchar* _tmp5_;
		_tmp4_ = returned;
		_tmp5_ = g_strconcat (_tmp4_, "1,", NULL);
		_g_free0 (returned);
		returned = _tmp5_;
	}
	_tmp6_ = self->priv->tu_button;
	_tmp7_ = gtk_toggle_button_get_active (_tmp6_);
	_tmp8_ = _tmp7_;
	if (_tmp8_) {
		const gchar* _tmp9_;
		gchar* _tmp10_;
		_tmp9_ = returned;
		_tmp10_ = g_strconcat (_tmp9_, "2,", NULL);
		_g_free0 (returned);
		returned = _tmp10_;
	}
	_tmp11_ = self->priv->we_button;
	_tmp12_ = gtk_toggle_button_get_active (_tmp11_);
	_tmp13_ = _tmp12_;
	if (_tmp13_) {
		const gchar* _tmp14_;
		gchar* _tmp15_;
		_tmp14_ = returned;
		_tmp15_ = g_strconcat (_tmp14_, "3,", NULL);
		_g_free0 (returned);
		returned = _tmp15_;
	}
	_tmp16_ = self->priv->th_button;
	_tmp17_ = gtk_toggle_button_get_active (_tmp16_);
	_tmp18_ = _tmp17_;
	if (_tmp18_) {
		const gchar* _tmp19_;
		gchar* _tmp20_;
		_tmp19_ = returned;
		_tmp20_ = g_strconcat (_tmp19_, "4,", NULL);
		_g_free0 (returned);
		returned = _tmp20_;
	}
	_tmp21_ = self->priv->fr_button;
	_tmp22_ = gtk_toggle_button_get_active (_tmp21_);
	_tmp23_ = _tmp22_;
	if (_tmp23_) {
		const gchar* _tmp24_;
		gchar* _tmp25_;
		_tmp24_ = returned;
		_tmp25_ = g_strconcat (_tmp24_, "5,", NULL);
		_g_free0 (returned);
		returned = _tmp25_;
	}
	_tmp26_ = self->priv->sa_button;
	_tmp27_ = gtk_toggle_button_get_active (_tmp26_);
	_tmp28_ = _tmp27_;
	if (_tmp28_) {
		const gchar* _tmp29_;
		gchar* _tmp30_;
		_tmp29_ = returned;
		_tmp30_ = g_strconcat (_tmp29_, "6,", NULL);
		_g_free0 (returned);
		returned = _tmp30_;
	}
	_tmp31_ = self->priv->su_button;
	_tmp32_ = gtk_toggle_button_get_active (_tmp31_);
	_tmp33_ = _tmp32_;
	if (_tmp33_) {
		const gchar* _tmp34_;
		gchar* _tmp35_;
		_tmp34_ = returned;
		_tmp35_ = g_strconcat (_tmp34_, "7,", NULL);
		_g_free0 (returned);
		returned = _tmp35_;
	}
	_tmp37_ = returned;
	if (_tmp37_ != NULL) {
		const gchar* _tmp38_;
		gchar** _tmp39_;
		gchar** _tmp40_;
		gchar** _tmp41_;
		gint _tmp41__length1;
		_tmp38_ = returned;
		_tmp40_ = _tmp39_ = g_strsplit (_tmp38_, ",", 0);
		_tmp41_ = _tmp40_;
		_tmp41__length1 = _vala_array_length (_tmp39_);
		_tmp36_ = _vala_array_length (_tmp39_) > 0;
		_tmp41_ = (_vala_array_free (_tmp41_, _tmp41__length1, (GDestroyNotify) g_free), NULL);
	} else {
		_tmp36_ = FALSE;
	}
	if (_tmp36_) {
		const gchar* _tmp42_;
		gchar* _tmp43_;
		_tmp42_ = returned;
		_tmp43_ = string_slice (_tmp42_, (glong) 0, (glong) -1);
		result = _tmp43_;
		_g_free0 (returned);
		return result;
	}
	result = returned;
	return result;
}

static gpointer
_g_date_time_ref0 (gpointer self)
{
	return self ? g_date_time_ref (self) : NULL;
}

static void
widgets_date_time_picker_repeat_config_update_repeat_label (WidgetsDateTimePickerRepeatConfig* self)
{
	gint interval = 0;
	GtkSpinButton* _tmp0_;
	gdouble _tmp1_;
	gdouble _tmp2_;
	GtkLabel* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	WidgetsContextMenuMenuItem** _tmp6_;
	gint _tmp6__length1;
	gchar* end_label = NULL;
	gchar* _tmp14_;
	GtkToggleButton* _tmp15_;
	gboolean _tmp16_;
	gboolean _tmp17_;
	RecurrencyType selected_option = 0;
	gchar* label = NULL;
	GtkSpinButton* _tmp50_;
	gdouble _tmp51_;
	gdouble _tmp52_;
	gchar* _tmp53_;
	gchar* _tmp54_;
	const gchar* _tmp55_;
	gchar* _tmp56_;
	gchar* _tmp57_;
	GtkLabel* _tmp58_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->recurrency_interval;
	_tmp1_ = gtk_spin_button_get_value (_tmp0_);
	_tmp2_ = _tmp1_;
	interval = (gint) _tmp2_;
	_tmp3_ = self->priv->recurrency_type_label;
	_tmp4_ = widgets_date_time_picker_repeat_config_get_type_label (self, self->priv->_selected_type, interval);
	_tmp5_ = _tmp4_;
	gtk_label_set_label (_tmp3_, _tmp5_);
	_g_free0 (_tmp5_);
	_tmp6_ = self->priv->type_menu_items;
	_tmp6__length1 = self->priv->type_menu_items_length1;
	if (_tmp6_ != NULL) {
		{
			gint i = 0;
			i = 0;
			{
				gboolean _tmp7_ = FALSE;
				_tmp7_ = TRUE;
				while (TRUE) {
					WidgetsContextMenuMenuItem** _tmp9_;
					gint _tmp9__length1;
					WidgetsContextMenuMenuItem** _tmp10_;
					gint _tmp10__length1;
					WidgetsContextMenuMenuItem* _tmp11_;
					gchar* _tmp12_;
					gchar* _tmp13_;
					if (!_tmp7_) {
						gint _tmp8_;
						_tmp8_ = i;
						i = _tmp8_ + 1;
					}
					_tmp7_ = FALSE;
					_tmp9_ = self->priv->type_menu_items;
					_tmp9__length1 = self->priv->type_menu_items_length1;
					if (!(i < _tmp9__length1)) {
						break;
					}
					_tmp10_ = self->priv->type_menu_items;
					_tmp10__length1 = self->priv->type_menu_items_length1;
					_tmp11_ = _tmp10_[i];
					_tmp12_ = widgets_date_time_picker_repeat_config_get_type_label (self, i, interval);
					_tmp13_ = _tmp12_;
					widgets_context_menu_menu_item_set_title (_tmp11_, _tmp13_);
					_g_free0 (_tmp13_);
				}
			}
		}
	}
	_tmp14_ = g_strdup ("");
	end_label = _tmp14_;
	_tmp15_ = self->priv->on_button;
	_tmp16_ = gtk_toggle_button_get_active (_tmp15_);
	_tmp17_ = _tmp16_;
	if (_tmp17_) {
		GDateTime* _tmp18_ = NULL;
		WidgetsCalendarCalendar* _tmp19_;
		GDateTime* _tmp20_;
		GDateTime* _tmp21_;
		GDateTime* _tmp22_;
		GDateTime* cal_date = NULL;
		GDateTime* _tmp26_;
		gchar* date_label = NULL;
		GDateTime* _tmp27_;
		GDateTime* _tmp28_;
		GDateTime* _tmp29_;
		gchar* _tmp30_;
		gchar* _tmp31_;
		gchar* _tmp32_;
		gchar* _tmp33_;
		const gchar* _tmp34_;
		gchar* _tmp35_;
		GtkLabel* _tmp36_;
		const gchar* _tmp37_;
		_tmp19_ = self->priv->calendar;
		_tmp20_ = widgets_calendar_calendar_get_date (_tmp19_);
		_tmp21_ = _tmp20_;
		_tmp22_ = _g_date_time_ref0 (_tmp21_);
		_tmp18_ = _tmp22_;
		if (_tmp18_ == NULL) {
			GDateTime* _tmp23_;
			GDateTime* _tmp24_;
			GDateTime* _tmp25_;
			_tmp23_ = g_date_time_new_now_local ();
			_tmp24_ = _tmp23_;
			_tmp25_ = g_date_time_add_days (_tmp24_, 1);
			_g_date_time_unref0 (_tmp18_);
			_tmp18_ = _tmp25_;
			_g_date_time_unref0 (_tmp24_);
		}
		_tmp26_ = _tmp18_;
		_tmp18_ = NULL;
		cal_date = _tmp26_;
		_tmp27_ = cal_date;
		_tmp28_ = utils_datetime_get_date_only (_tmp27_);
		_tmp29_ = _tmp28_;
		_tmp30_ = utils_datetime_get_default_date_format_from_date (_tmp29_);
		_tmp31_ = _tmp30_;
		_g_date_time_unref0 (_tmp29_);
		date_label = _tmp31_;
		_tmp32_ = g_strconcat (_ ("until"), " ", NULL);
		_tmp33_ = _tmp32_;
		_tmp34_ = date_label;
		_tmp35_ = g_strconcat (_tmp33_, _tmp34_, NULL);
		_g_free0 (end_label);
		end_label = _tmp35_;
		_g_free0 (_tmp33_);
		_tmp36_ = self->priv->datepicker_label;
		_tmp37_ = date_label;
		gtk_label_set_label (_tmp36_, _tmp37_);
		_g_free0 (date_label);
		_g_date_time_unref0 (cal_date);
		_g_date_time_unref0 (_tmp18_);
	} else {
		GtkToggleButton* _tmp38_;
		gboolean _tmp39_;
		gboolean _tmp40_;
		_tmp38_ = self->priv->after_button;
		_tmp39_ = gtk_toggle_button_get_active (_tmp38_);
		_tmp40_ = _tmp39_;
		if (_tmp40_) {
			gint count = 0;
			GtkSpinButton* _tmp41_;
			gdouble _tmp42_;
			gdouble _tmp43_;
			const gchar* _tmp44_ = NULL;
			gchar* _tmp45_;
			gchar* _tmp46_;
			gchar* _tmp47_;
			gchar* _tmp48_;
			gchar* _tmp49_;
			_tmp41_ = self->priv->count_interval;
			_tmp42_ = gtk_spin_button_get_value (_tmp41_);
			_tmp43_ = _tmp42_;
			count = (gint) _tmp43_;
			if (count > 1) {
				_tmp44_ = _ ("times");
			} else {
				_tmp44_ = _ ("time");
			}
			_tmp45_ = g_strconcat (_ ("for"), " ", NULL);
			_tmp46_ = _tmp45_;
			_tmp47_ = g_strdup_printf ("%d %s", count, _tmp44_);
			_tmp48_ = _tmp47_;
			_tmp49_ = g_strconcat (_tmp46_, _tmp48_, NULL);
			_g_free0 (end_label);
			end_label = _tmp49_;
			_g_free0 (_tmp48_);
			_g_free0 (_tmp46_);
		}
	}
	selected_option = (RecurrencyType) self->priv->_selected_type;
	_tmp50_ = self->priv->recurrency_interval;
	_tmp51_ = gtk_spin_button_get_value (_tmp50_);
	_tmp52_ = _tmp51_;
	_tmp53_ = widgets_date_time_picker_repeat_config_get_recurrency_weeks (self);
	_tmp54_ = _tmp53_;
	_tmp55_ = end_label;
	_tmp56_ = utils_datetime_get_recurrency_weeks (selected_option, (gint) _tmp52_, _tmp54_, _tmp55_, FALSE);
	_tmp57_ = _tmp56_;
	_g_free0 (_tmp54_);
	label = _tmp57_;
	_tmp58_ = self->priv->repeat_label;
	gtk_label_set_label (_tmp58_, label);
	_g_free0 (label);
	_g_free0 (end_label);
}

void
widgets_date_time_picker_repeat_config_clean_up (WidgetsDateTimePickerRepeatConfig* self)
{
	GeeHashMap* _tmp15_;
	g_return_if_fail (self != NULL);
	{
		GeeIterator* _entry_it = NULL;
		GeeHashMap* _tmp0_;
		GeeSet* _tmp1_;
		GeeSet* _tmp2_;
		GeeSet* _tmp3_;
		GeeIterator* _tmp4_;
		GeeIterator* _tmp5_;
		_tmp0_ = self->priv->signal_map;
		_tmp1_ = gee_abstract_map_get_entries ((GeeAbstractMap*) _tmp0_);
		_tmp2_ = _tmp1_;
		_tmp3_ = _tmp2_;
		_tmp4_ = gee_iterable_iterator ((GeeIterable*) _tmp3_);
		_tmp5_ = _tmp4_;
		_g_object_unref0 (_tmp3_);
		_entry_it = _tmp5_;
		while (TRUE) {
			GeeIterator* _tmp6_;
			GeeMapEntry* entry = NULL;
			GeeIterator* _tmp7_;
			gpointer _tmp8_;
			GeeMapEntry* _tmp9_;
			gconstpointer _tmp10_;
			gconstpointer _tmp11_;
			GeeMapEntry* _tmp12_;
			gconstpointer _tmp13_;
			gconstpointer _tmp14_;
			_tmp6_ = _entry_it;
			if (!gee_iterator_next (_tmp6_)) {
				break;
			}
			_tmp7_ = _entry_it;
			_tmp8_ = gee_iterator_get (_tmp7_);
			entry = (GeeMapEntry*) _tmp8_;
			_tmp9_ = entry;
			_tmp10_ = gee_map_entry_get_value (_tmp9_);
			_tmp11_ = _tmp10_;
			_tmp12_ = entry;
			_tmp13_ = gee_map_entry_get_key (_tmp12_);
			_tmp14_ = _tmp13_;
			g_signal_handler_disconnect ((GObject*) _tmp11_, (gulong) ((guintptr) _tmp14_));
			_g_object_unref0 (entry);
		}
		_g_object_unref0 (_entry_it);
	}
	_tmp15_ = self->priv->signal_map;
	gee_abstract_map_clear ((GeeAbstractMap*) _tmp15_);
}

static gboolean
string_contains (const gchar* self,
                 const gchar* needle)
{
	gchar* _tmp0_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (needle != NULL, FALSE);
	_tmp0_ = strstr ((gchar*) self, (gchar*) needle);
	result = _tmp0_ != NULL;
	return result;
}

void
widgets_date_time_picker_repeat_config_set_duedate (WidgetsDateTimePickerRepeatConfig* self,
                                                    ObjectsDueDate* value)
{
	GtkSpinButton* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	RecurrencyType _tmp3_;
	RecurrencyType _tmp4_;
	gchar** recurrency_items = NULL;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	gchar** _tmp13_;
	gint recurrency_items_length1;
	gint _recurrency_items_size_;
	gboolean _tmp14_ = FALSE;
	GtkLabel* _tmp15_;
	RecurrencyType _tmp23_;
	RecurrencyType _tmp24_;
	GtkCheckButton* _tmp46_;
	gboolean _tmp47_;
	gboolean _tmp48_;
	GtkRevealer* _tmp49_;
	RecurrencyType _tmp50_;
	RecurrencyType _tmp51_;
	const gchar* _tmp52_;
	const gchar* _tmp53_;
	GtkSpinButton* _tmp58_;
	gint _tmp59_;
	gint _tmp60_;
	const gchar* _tmp61_;
	const gchar* _tmp62_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->recurrency_interval;
	_tmp1_ = objects_due_date_get_recurrency_interval (value);
	_tmp2_ = _tmp1_;
	gtk_spin_button_set_value (_tmp0_, (gdouble) _tmp2_);
	_tmp3_ = objects_due_date_get_recurrency_type (value);
	_tmp4_ = _tmp3_;
	if (_tmp4_ == RECURRENCY_TYPE_NONE) {
		self->priv->_selected_type = (gint) RECURRENCY_TYPE_EVERY_DAY;
	} else {
		RecurrencyType _tmp5_;
		RecurrencyType _tmp6_;
		_tmp5_ = objects_due_date_get_recurrency_type (value);
		_tmp6_ = _tmp5_;
		self->priv->_selected_type = (gint) _tmp6_;
	}
	_tmp7_ = g_strdup (_ ("Minute(s)"));
	_tmp8_ = g_strdup (_ ("Hour(s)"));
	_tmp9_ = g_strdup (_ ("Day(s)"));
	_tmp10_ = g_strdup (_ ("Week(s)"));
	_tmp11_ = g_strdup (_ ("Month(s)"));
	_tmp12_ = g_strdup (_ ("Year(s)"));
	_tmp13_ = g_new0 (gchar*, 6 + 1);
	_tmp13_[0] = _tmp7_;
	_tmp13_[1] = _tmp8_;
	_tmp13_[2] = _tmp9_;
	_tmp13_[3] = _tmp10_;
	_tmp13_[4] = _tmp11_;
	_tmp13_[5] = _tmp12_;
	recurrency_items = _tmp13_;
	recurrency_items_length1 = 6;
	_recurrency_items_size_ = recurrency_items_length1;
	_tmp15_ = self->priv->recurrency_type_label;
	if (_tmp15_ != NULL) {
		gchar** _tmp16_;
		gint _tmp16__length1;
		_tmp16_ = recurrency_items;
		_tmp16__length1 = recurrency_items_length1;
		_tmp14_ = self->priv->_selected_type < _tmp16__length1;
	} else {
		_tmp14_ = FALSE;
	}
	if (_tmp14_) {
		GtkLabel* _tmp17_;
		GtkSpinButton* _tmp18_;
		gdouble _tmp19_;
		gdouble _tmp20_;
		gchar* _tmp21_;
		gchar* _tmp22_;
		_tmp17_ = self->priv->recurrency_type_label;
		_tmp18_ = self->priv->recurrency_interval;
		_tmp19_ = gtk_spin_button_get_value (_tmp18_);
		_tmp20_ = _tmp19_;
		_tmp21_ = widgets_date_time_picker_repeat_config_get_type_label (self, self->priv->_selected_type, (gint) _tmp20_);
		_tmp22_ = _tmp21_;
		gtk_label_set_label (_tmp17_, _tmp22_);
		_g_free0 (_tmp22_);
	}
	_tmp23_ = objects_due_date_get_recurrency_type (value);
	_tmp24_ = _tmp23_;
	if (_tmp24_ == RECURRENCY_TYPE_EVERY_WEEK) {
		GtkToggleButton* _tmp25_;
		const gchar* _tmp26_;
		const gchar* _tmp27_;
		GtkToggleButton* _tmp28_;
		const gchar* _tmp29_;
		const gchar* _tmp30_;
		GtkToggleButton* _tmp31_;
		const gchar* _tmp32_;
		const gchar* _tmp33_;
		GtkToggleButton* _tmp34_;
		const gchar* _tmp35_;
		const gchar* _tmp36_;
		GtkToggleButton* _tmp37_;
		const gchar* _tmp38_;
		const gchar* _tmp39_;
		GtkToggleButton* _tmp40_;
		const gchar* _tmp41_;
		const gchar* _tmp42_;
		GtkToggleButton* _tmp43_;
		const gchar* _tmp44_;
		const gchar* _tmp45_;
		_tmp25_ = self->priv->mo_button;
		_tmp26_ = objects_due_date_get_recurrency_weeks (value);
		_tmp27_ = _tmp26_;
		gtk_toggle_button_set_active (_tmp25_, string_contains (_tmp27_, "1"));
		_tmp28_ = self->priv->tu_button;
		_tmp29_ = objects_due_date_get_recurrency_weeks (value);
		_tmp30_ = _tmp29_;
		gtk_toggle_button_set_active (_tmp28_, string_contains (_tmp30_, "2"));
		_tmp31_ = self->priv->we_button;
		_tmp32_ = objects_due_date_get_recurrency_weeks (value);
		_tmp33_ = _tmp32_;
		gtk_toggle_button_set_active (_tmp31_, string_contains (_tmp33_, "3"));
		_tmp34_ = self->priv->th_button;
		_tmp35_ = objects_due_date_get_recurrency_weeks (value);
		_tmp36_ = _tmp35_;
		gtk_toggle_button_set_active (_tmp34_, string_contains (_tmp36_, "4"));
		_tmp37_ = self->priv->fr_button;
		_tmp38_ = objects_due_date_get_recurrency_weeks (value);
		_tmp39_ = _tmp38_;
		gtk_toggle_button_set_active (_tmp37_, string_contains (_tmp39_, "5"));
		_tmp40_ = self->priv->sa_button;
		_tmp41_ = objects_due_date_get_recurrency_weeks (value);
		_tmp42_ = _tmp41_;
		gtk_toggle_button_set_active (_tmp40_, string_contains (_tmp42_, "6"));
		_tmp43_ = self->priv->su_button;
		_tmp44_ = objects_due_date_get_recurrency_weeks (value);
		_tmp45_ = _tmp44_;
		gtk_toggle_button_set_active (_tmp43_, string_contains (_tmp45_, "7"));
	}
	_tmp46_ = self->priv->last_day_check;
	_tmp47_ = objects_due_date_get_recurrency_last_day_of_month (value);
	_tmp48_ = _tmp47_;
	gtk_check_button_set_active (_tmp46_, _tmp48_);
	_tmp49_ = self->priv->last_day_revealer;
	_tmp50_ = objects_due_date_get_recurrency_type (value);
	_tmp51_ = _tmp50_;
	gtk_revealer_set_reveal_child (_tmp49_, _tmp51_ == RECURRENCY_TYPE_EVERY_MONTH);
	_tmp52_ = objects_due_date_get_recurrency_end (value);
	_tmp53_ = _tmp52_;
	if (g_strcmp0 (_tmp53_, "") != 0) {
		GtkToggleButton* _tmp54_;
		_tmp54_ = self->priv->on_button;
		gtk_toggle_button_set_active (_tmp54_, TRUE);
	} else {
		gint _tmp55_;
		gint _tmp56_;
		_tmp55_ = objects_due_date_get_recurrency_count (value);
		_tmp56_ = _tmp55_;
		if (_tmp56_ > 0) {
			GtkToggleButton* _tmp57_;
			_tmp57_ = self->priv->after_button;
			gtk_toggle_button_set_active (_tmp57_, TRUE);
		}
	}
	_tmp58_ = self->priv->count_interval;
	_tmp59_ = objects_due_date_get_recurrency_count (value);
	_tmp60_ = _tmp59_;
	gtk_spin_button_set_value (_tmp58_, (gdouble) _tmp60_);
	_tmp61_ = objects_due_date_get_recurrency_end (value);
	_tmp62_ = _tmp61_;
	if (g_strcmp0 (_tmp62_, "") != 0) {
		GDateTime* date = NULL;
		const gchar* _tmp63_;
		const gchar* _tmp64_;
		GDateTime* _tmp65_;
		WidgetsCalendarCalendar* _tmp66_;
		_tmp63_ = objects_due_date_get_recurrency_end (value);
		_tmp64_ = _tmp63_;
		_tmp65_ = utils_datetime_get_date_from_string (_tmp64_);
		date = _tmp65_;
		_tmp66_ = self->priv->calendar;
		if (_tmp66_ != NULL) {
			WidgetsCalendarCalendar* _tmp67_;
			GDateTime* _tmp68_;
			_tmp67_ = self->priv->calendar;
			_tmp68_ = date;
			widgets_calendar_calendar_set_date (_tmp67_, _tmp68_);
		}
		_g_date_time_unref0 (date);
	}
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
	recurrency_items = (_vala_array_free (recurrency_items, recurrency_items_length1, (GDestroyNotify) g_free), NULL);
	g_object_notify_by_pspec ((GObject *) self, widgets_date_time_picker_repeat_config_properties[WIDGETS_DATE_TIME_PICKER_REPEAT_CONFIG_DUEDATE_PROPERTY]);
}

static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}

static Block31Data*
block31_data_ref (Block31Data* _data31_)
{
	g_atomic_int_inc (&_data31_->_ref_count_);
	return _data31_;
}

static void
block31_data_unref (void * _userdata_)
{
	Block31Data* _data31_;
	_data31_ = (Block31Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data31_->_ref_count_)) {
		WidgetsDateTimePickerRepeatConfig* self;
		self = _data31_->self;
		_g_object_unref0 (self);
		g_slice_free (Block31Data, _data31_);
	}
}

static void
_widgets_date_time_picker_repeat_config______lambda167_ (Block31Data* _data31_)
{
	WidgetsDateTimePickerRepeatConfig* self;
	GtkLabel* _tmp0_;
	GtkSpinButton* _tmp1_;
	gdouble _tmp2_;
	gdouble _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	GtkRevealer* _tmp6_;
	AdwBin* _tmp7_;
	self = _data31_->self;
	self->priv->_selected_type = _data31_->index;
	_tmp0_ = self->priv->recurrency_type_label;
	_tmp1_ = self->priv->recurrency_interval;
	_tmp2_ = gtk_spin_button_get_value (_tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = widgets_date_time_picker_repeat_config_get_type_label (self, _data31_->index, (gint) _tmp3_);
	_tmp5_ = _tmp4_;
	gtk_label_set_label (_tmp0_, _tmp5_);
	_g_free0 (_tmp5_);
	_tmp6_ = self->priv->recurrency_type_revealer;
	gtk_revealer_set_reveal_child (_tmp6_, FALSE);
	_tmp7_ = self->priv->dimming_widget;
	gtk_widget_set_visible ((GtkWidget*) _tmp7_, FALSE);
	if (((RecurrencyType) self->priv->_selected_type) == RECURRENCY_TYPE_EVERY_WEEK) {
		GtkRevealer* _tmp8_;
		GtkRevealer* _tmp9_;
		_tmp8_ = self->priv->weeks_revealer;
		gtk_revealer_set_reveal_child (_tmp8_, TRUE);
		_tmp9_ = self->priv->last_day_revealer;
		gtk_revealer_set_reveal_child (_tmp9_, FALSE);
	} else {
		if (((RecurrencyType) self->priv->_selected_type) == RECURRENCY_TYPE_EVERY_MONTH) {
			GtkRevealer* _tmp10_;
			GtkRevealer* _tmp11_;
			_tmp10_ = self->priv->weeks_revealer;
			gtk_revealer_set_reveal_child (_tmp10_, FALSE);
			_tmp11_ = self->priv->last_day_revealer;
			gtk_revealer_set_reveal_child (_tmp11_, TRUE);
		} else {
			GtkRevealer* _tmp12_;
			GtkRevealer* _tmp13_;
			_tmp12_ = self->priv->weeks_revealer;
			gtk_revealer_set_reveal_child (_tmp12_, FALSE);
			_tmp13_ = self->priv->last_day_revealer;
			gtk_revealer_set_reveal_child (_tmp13_, FALSE);
		}
	}
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config______lambda167__gtk_button_clicked (GtkButton* _sender,
                                                                             gpointer self)
{
	_widgets_date_time_picker_repeat_config______lambda167_ (self);
}

static void
_widgets_date_time_picker_repeat_config___lambda168_ (WidgetsDateTimePickerRepeatConfig* self)
{
	GtkRevealer* _tmp0_;
	GtkRevealer* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	AdwBin* _tmp4_;
	GtkRevealer* _tmp5_;
	gboolean _tmp6_;
	gboolean _tmp7_;
	_tmp0_ = self->priv->recurrency_type_revealer;
	_tmp1_ = self->priv->recurrency_type_revealer;
	_tmp2_ = gtk_revealer_get_reveal_child (_tmp1_);
	_tmp3_ = _tmp2_;
	gtk_revealer_set_reveal_child (_tmp0_, !_tmp3_);
	_tmp4_ = self->priv->dimming_widget;
	_tmp5_ = self->priv->recurrency_type_revealer;
	_tmp6_ = gtk_revealer_get_reveal_child (_tmp5_);
	_tmp7_ = _tmp6_;
	gtk_widget_set_visible ((GtkWidget*) _tmp4_, _tmp7_);
}

static void
__widgets_date_time_picker_repeat_config___lambda168__gtk_button_clicked (GtkButton* _sender,
                                                                          gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda168_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda169_ (WidgetsDateTimePickerRepeatConfig* self)
{
	GtkRevealer* _tmp0_;
	GtkRevealer* _tmp1_;
	AdwBin* _tmp2_;
	_tmp0_ = self->priv->recurrency_type_revealer;
	gtk_revealer_set_reveal_child (_tmp0_, FALSE);
	_tmp1_ = self->priv->calendar_revealer;
	gtk_revealer_set_reveal_child (_tmp1_, FALSE);
	_tmp2_ = self->priv->dimming_widget;
	gtk_widget_set_visible ((GtkWidget*) _tmp2_, FALSE);
}

static void
__widgets_date_time_picker_repeat_config___lambda169__gtk_gesture_click_pressed (GtkGestureClick* _sender,
                                                                                 gint n_press,
                                                                                 gdouble x,
                                                                                 gdouble y,
                                                                                 gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda169_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda170_ (WidgetsDateTimePickerRepeatConfig* self)
{
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda170__gtk_spin_button_value_changed (GtkSpinButton* _sender,
                                                                                     gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda170_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda171_ (WidgetsDateTimePickerRepeatConfig* self)
{
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda171__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                 gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda171_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda172_ (WidgetsDateTimePickerRepeatConfig* self)
{
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda172__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                 gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda172_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda173_ (WidgetsDateTimePickerRepeatConfig* self)
{
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda173__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                 gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda173_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda174_ (WidgetsDateTimePickerRepeatConfig* self)
{
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda174__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                 gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda174_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda175_ (WidgetsDateTimePickerRepeatConfig* self)
{
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda175__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                 gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda175_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda176_ (WidgetsDateTimePickerRepeatConfig* self)
{
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda176__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                 gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda176_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda177_ (WidgetsDateTimePickerRepeatConfig* self)
{
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda177__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                 gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda177_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda178_ (WidgetsDateTimePickerRepeatConfig* self)
{
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda178__gtk_check_button_toggled (GtkCheckButton* _sender,
                                                                                gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda178_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda179_ (WidgetsDateTimePickerRepeatConfig* self)
{
	widgets_date_time_picker_repeat_config_set_repeat (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda179__gtk_button_clicked (GtkButton* _sender,
                                                                          gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda179_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda180_ (WidgetsDateTimePickerRepeatConfig* self)
{
	GtkStack* _tmp0_;
	_tmp0_ = self->priv->ends_stack;
	gtk_stack_set_visible_child_name (_tmp0_, "never");
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda180__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                 gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda180_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda181_ (WidgetsDateTimePickerRepeatConfig* self)
{
	GtkStack* _tmp0_;
	_tmp0_ = self->priv->ends_stack;
	gtk_stack_set_visible_child_name (_tmp0_, "on");
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda181__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                 gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda181_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda182_ (WidgetsDateTimePickerRepeatConfig* self)
{
	GtkStack* _tmp0_;
	_tmp0_ = self->priv->ends_stack;
	gtk_stack_set_visible_child_name (_tmp0_, "after");
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda182__gtk_toggle_button_toggled (GtkToggleButton* _sender,
                                                                                 gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda182_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda183_ (WidgetsDateTimePickerRepeatConfig* self)
{
	GtkRevealer* _tmp0_;
	AdwBin* _tmp1_;
	_tmp0_ = self->priv->calendar_revealer;
	gtk_revealer_set_reveal_child (_tmp0_, FALSE);
	_tmp1_ = self->priv->dimming_widget;
	gtk_widget_set_visible ((GtkWidget*) _tmp1_, FALSE);
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda183__widgets_calendar_calendar_day_selected (WidgetsCalendarCalendar* _sender,
                                                                                              gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda183_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda184_ (WidgetsDateTimePickerRepeatConfig* self)
{
	GtkRevealer* _tmp0_;
	GtkRevealer* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	AdwBin* _tmp4_;
	GtkRevealer* _tmp5_;
	gboolean _tmp6_;
	gboolean _tmp7_;
	_tmp0_ = self->priv->calendar_revealer;
	_tmp1_ = self->priv->calendar_revealer;
	_tmp2_ = gtk_revealer_get_reveal_child (_tmp1_);
	_tmp3_ = _tmp2_;
	gtk_revealer_set_reveal_child (_tmp0_, !_tmp3_);
	_tmp4_ = self->priv->dimming_widget;
	_tmp5_ = self->priv->calendar_revealer;
	_tmp6_ = gtk_revealer_get_reveal_child (_tmp5_);
	_tmp7_ = _tmp6_;
	gtk_widget_set_visible ((GtkWidget*) _tmp4_, _tmp7_);
}

static void
__widgets_date_time_picker_repeat_config___lambda184__gtk_button_clicked (GtkButton* _sender,
                                                                          gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda184_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static void
_widgets_date_time_picker_repeat_config___lambda185_ (WidgetsDateTimePickerRepeatConfig* self)
{
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
}

static void
__widgets_date_time_picker_repeat_config___lambda185__gtk_spin_button_value_changed (GtkSpinButton* _sender,
                                                                                     gpointer self)
{
	_widgets_date_time_picker_repeat_config___lambda185_ ((WidgetsDateTimePickerRepeatConfig*) self);
}

static GObject *
widgets_date_time_picker_repeat_config_constructor (GType type,
                                                    guint n_construct_properties,
                                                    GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	WidgetsDateTimePickerRepeatConfig * self;
	GtkLabel* _tmp0_ = NULL;
	GtkLabel* _tmp1_;
	GtkBox* repeat_preview_box = NULL;
	GtkBox* _tmp2_ = NULL;
	GtkBox* _tmp3_;
	GtkLabel* _tmp4_;
	GtkBox* _tmp5_;
	GtkBox* _tmp6_;
	GtkSpinButton* _tmp7_ = NULL;
	gchar** recurrency_items = NULL;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	gchar** _tmp14_;
	gint recurrency_items_length1;
	gint _recurrency_items_size_;
	gchar* _tmp15_;
	gchar* _tmp16_;
	GtkLabel* _tmp17_ = NULL;
	GtkBox* type_button_box = NULL;
	GtkBox* _tmp18_ = NULL;
	GtkBox* _tmp19_;
	GtkLabel* _tmp20_;
	GtkBox* _tmp21_;
	GtkImage* _tmp22_;
	GtkImage* _tmp23_;
	GtkBox* _tmp24_;
	GtkWidget* _tmp25_;
	GtkButton* _tmp26_ = NULL;
	GtkBox* type_items_box = NULL;
	GtkBox* _tmp27_ = NULL;
	gchar** _tmp28_;
	gint _tmp28__length1;
	WidgetsContextMenuMenuItem** _tmp29_;
	AdwBin* type_container = NULL;
	GtkBox* _tmp42_;
	GtkWidget* _tmp43_;
	AdwBin* _tmp44_ = NULL;
	AdwBin* _tmp45_;
	AdwBin* _tmp46_;
	GtkWidget* _tmp47_;
	GtkRevealer* _tmp48_ = NULL;
	GtkButton* _tmp49_;
	GtkBox* repeat_box = NULL;
	GtkBox* _tmp50_ = NULL;
	GtkBox* _tmp51_;
	GtkSpinButton* _tmp52_;
	GtkBox* _tmp53_;
	GtkButton* _tmp54_;
	gchar* _tmp55_;
	gchar* _tmp56_;
	gchar** _tmp57_;
	GtkToggleButton* _tmp58_ = NULL;
	gchar* _tmp59_;
	gchar* _tmp60_;
	gchar** _tmp61_;
	GtkToggleButton* _tmp62_ = NULL;
	gchar* _tmp63_;
	gchar* _tmp64_;
	gchar** _tmp65_;
	GtkToggleButton* _tmp66_ = NULL;
	gchar* _tmp67_;
	gchar* _tmp68_;
	gchar** _tmp69_;
	GtkToggleButton* _tmp70_ = NULL;
	gchar* _tmp71_;
	gchar* _tmp72_;
	gchar** _tmp73_;
	GtkToggleButton* _tmp74_ = NULL;
	gchar* _tmp75_;
	gchar* _tmp76_;
	gchar** _tmp77_;
	GtkToggleButton* _tmp78_ = NULL;
	gchar* _tmp79_;
	gchar* _tmp80_;
	gchar** _tmp81_;
	GtkToggleButton* _tmp82_ = NULL;
	GtkBox* weeks_box = NULL;
	GtkBox* _tmp83_ = NULL;
	GtkBox* _tmp84_;
	GtkToggleButton* _tmp85_;
	GtkBox* _tmp86_;
	GtkToggleButton* _tmp87_;
	GtkBox* _tmp88_;
	GtkToggleButton* _tmp89_;
	GtkBox* _tmp90_;
	GtkToggleButton* _tmp91_;
	GtkBox* _tmp92_;
	GtkToggleButton* _tmp93_;
	GtkBox* _tmp94_;
	GtkToggleButton* _tmp95_;
	GtkBox* _tmp96_;
	GtkToggleButton* _tmp97_;
	GtkCheckButton* _tmp98_ = NULL;
	GtkCheckButton* _tmp99_;
	GtkWidget* _tmp100_;
	GtkRevealer* _tmp101_ = NULL;
	GtkBox* _tmp102_;
	GtkWidget* _tmp103_;
	GtkRevealer* _tmp104_ = NULL;
	GtkToggleButton* _tmp105_ = NULL;
	GtkToggleButton* _tmp106_;
	GtkToggleButton* _tmp107_;
	GtkToggleButton* _tmp108_ = NULL;
	GtkToggleButton* _tmp109_;
	GtkToggleButton* _tmp110_;
	GtkToggleButton* _tmp111_ = NULL;
	GtkBox* ends_grid = NULL;
	gchar* _tmp112_;
	gchar** _tmp113_;
	GtkBox* _tmp114_ = NULL;
	GtkBox* _tmp115_;
	GtkToggleButton* _tmp116_;
	GtkBox* _tmp117_;
	GtkToggleButton* _tmp118_;
	GtkBox* _tmp119_;
	GtkToggleButton* _tmp120_;
	WidgetsCalendarCalendar* _tmp121_ = NULL;
	AdwBin* calendar_container = NULL;
	WidgetsCalendarCalendar* _tmp122_;
	GtkWidget* _tmp123_;
	AdwBin* _tmp124_ = NULL;
	AdwBin* _tmp125_;
	AdwBin* _tmp126_;
	GtkWidget* _tmp127_;
	GtkRevealer* _tmp128_ = NULL;
	GDateTime* _tmp129_;
	GDateTime* _tmp130_;
	GDateTime* _tmp131_;
	GDateTime* _tmp132_;
	GDateTime* _tmp133_;
	GDateTime* _tmp134_;
	gchar* _tmp135_;
	gchar* _tmp136_;
	GtkLabel* _tmp137_ = NULL;
	GtkBox* datepicker_box = NULL;
	GtkBox* _tmp138_ = NULL;
	GtkBox* _tmp139_;
	GtkLabel* _tmp140_;
	GtkBox* _tmp141_;
	GtkImage* _tmp142_;
	GtkImage* _tmp143_;
	GtkBox* _tmp144_;
	GtkWidget* _tmp145_;
	GtkButton* _tmp146_ = NULL;
	GtkSpinButton* _tmp147_ = NULL;
	GtkStack* _tmp148_ = NULL;
	GtkStack* _tmp149_;
	GtkLabel* _tmp150_;
	GtkLabel* _tmp151_;
	GtkStack* _tmp152_;
	GtkButton* _tmp153_;
	GtkStack* _tmp154_;
	GtkSpinButton* _tmp155_;
	WidgetsLoadingButton* submit_button = NULL;
	WidgetsLoadingButton* _tmp156_ = NULL;
	WidgetsLoadingButton* _tmp157_;
	GtkBox* content_box = NULL;
	GtkBox* _tmp158_ = NULL;
	GtkBox* _tmp159_;
	GtkBox* _tmp160_;
	GtkBox* _tmp161_;
	gchar* _tmp162_;
	gchar* _tmp163_;
	gchar** _tmp164_;
	GtkLabel* _tmp165_ = NULL;
	GtkLabel* _tmp166_;
	GtkBox* _tmp167_;
	GtkBox* _tmp168_;
	GtkBox* _tmp169_;
	GtkRevealer* _tmp170_;
	GtkBox* _tmp171_;
	GtkRevealer* _tmp172_;
	GtkBox* _tmp173_;
	gchar* _tmp174_;
	gchar* _tmp175_;
	gchar** _tmp176_;
	GtkLabel* _tmp177_ = NULL;
	GtkLabel* _tmp178_;
	GtkBox* _tmp179_;
	GtkBox* _tmp180_;
	GtkBox* _tmp181_;
	GtkStack* _tmp182_;
	GtkBox* _tmp183_;
	WidgetsLoadingButton* _tmp184_;
	AdwBin* _tmp185_ = NULL;
	AdwBin* _tmp186_;
	GtkOverlay* content_overlay = NULL;
	GtkBox* _tmp187_;
	GtkWidget* _tmp188_;
	GtkOverlay* _tmp189_ = NULL;
	GtkOverlay* _tmp190_;
	AdwBin* _tmp191_;
	GtkOverlay* _tmp192_;
	GtkRevealer* _tmp193_;
	GtkOverlay* _tmp194_;
	GtkRevealer* _tmp195_;
	GtkGestureClick* gesture = NULL;
	GtkGestureClick* _tmp196_;
	AdwBin* _tmp197_;
	GtkGestureClick* _tmp198_;
	GtkEventController* _tmp199_;
	GtkGestureClick* _tmp200_;
	GtkOverlay* _tmp201_;
	GeeHashMap* _tmp202_;
	GtkSpinButton* _tmp203_;
	gulong _tmp204_;
	GtkSpinButton* _tmp205_;
	GeeHashMap* _tmp206_;
	GtkToggleButton* _tmp207_;
	gulong _tmp208_;
	GtkToggleButton* _tmp209_;
	GeeHashMap* _tmp210_;
	GtkToggleButton* _tmp211_;
	gulong _tmp212_;
	GtkToggleButton* _tmp213_;
	GeeHashMap* _tmp214_;
	GtkToggleButton* _tmp215_;
	gulong _tmp216_;
	GtkToggleButton* _tmp217_;
	GeeHashMap* _tmp218_;
	GtkToggleButton* _tmp219_;
	gulong _tmp220_;
	GtkToggleButton* _tmp221_;
	GeeHashMap* _tmp222_;
	GtkToggleButton* _tmp223_;
	gulong _tmp224_;
	GtkToggleButton* _tmp225_;
	GeeHashMap* _tmp226_;
	GtkToggleButton* _tmp227_;
	gulong _tmp228_;
	GtkToggleButton* _tmp229_;
	GeeHashMap* _tmp230_;
	GtkToggleButton* _tmp231_;
	gulong _tmp232_;
	GtkToggleButton* _tmp233_;
	GeeHashMap* _tmp234_;
	GtkCheckButton* _tmp235_;
	gulong _tmp236_;
	GtkCheckButton* _tmp237_;
	WidgetsLoadingButton* _tmp238_;
	GeeHashMap* _tmp239_;
	GtkToggleButton* _tmp240_;
	gulong _tmp241_;
	GtkToggleButton* _tmp242_;
	GeeHashMap* _tmp243_;
	GtkToggleButton* _tmp244_;
	gulong _tmp245_;
	GtkToggleButton* _tmp246_;
	GeeHashMap* _tmp247_;
	GtkToggleButton* _tmp248_;
	gulong _tmp249_;
	GtkToggleButton* _tmp250_;
	GeeHashMap* _tmp251_;
	WidgetsCalendarCalendar* _tmp252_;
	gulong _tmp253_;
	WidgetsCalendarCalendar* _tmp254_;
	GtkButton* _tmp255_;
	GeeHashMap* _tmp256_;
	GtkSpinButton* _tmp257_;
	gulong _tmp258_;
	GtkSpinButton* _tmp259_;
	parent_class = G_OBJECT_CLASS (widgets_date_time_picker_repeat_config_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIDGETS_DATE_TIME_PICKER_TYPE_REPEAT_CONFIG, WidgetsDateTimePickerRepeatConfig);
	_tmp0_ = (GtkLabel*) gtk_label_new (NULL);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp0_, 9);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp0_, 9);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp0_, 9);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp0_, 9);
	gtk_label_set_ellipsize (_tmp0_, PANGO_ELLIPSIZE_END);
	g_object_ref_sink (_tmp0_);
	_g_object_unref0 (self->priv->repeat_label);
	self->priv->repeat_label = _tmp0_;
	_tmp1_ = self->priv->repeat_label;
	gtk_widget_add_css_class ((GtkWidget*) _tmp1_, "accent");
	_tmp2_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp2_, 6);
	g_object_ref_sink (_tmp2_);
	repeat_preview_box = _tmp2_;
	_tmp3_ = repeat_preview_box;
	_tmp4_ = self->priv->repeat_label;
	gtk_box_append (_tmp3_, (GtkWidget*) _tmp4_);
	_tmp5_ = repeat_preview_box;
	gtk_widget_add_css_class ((GtkWidget*) _tmp5_, "card");
	_tmp6_ = repeat_preview_box;
	gtk_widget_add_css_class ((GtkWidget*) _tmp6_, "border-radius-6");
	_tmp7_ = (GtkSpinButton*) gtk_spin_button_new_with_range ((gdouble) 1, (gdouble) 100, (gdouble) 1);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp7_, TRUE);
	gtk_widget_set_valign ((GtkWidget*) _tmp7_, GTK_ALIGN_CENTER);
	g_object_ref_sink (_tmp7_);
	_g_object_unref0 (self->priv->recurrency_interval);
	self->priv->recurrency_interval = _tmp7_;
	_tmp8_ = g_strdup (_ ("Minute(s)"));
	_tmp9_ = g_strdup (_ ("Hour(s)"));
	_tmp10_ = g_strdup (_ ("Day(s)"));
	_tmp11_ = g_strdup (_ ("Week(s)"));
	_tmp12_ = g_strdup (_ ("Month(s)"));
	_tmp13_ = g_strdup (_ ("Year(s)"));
	_tmp14_ = g_new0 (gchar*, 6 + 1);
	_tmp14_[0] = _tmp8_;
	_tmp14_[1] = _tmp9_;
	_tmp14_[2] = _tmp10_;
	_tmp14_[3] = _tmp11_;
	_tmp14_[4] = _tmp12_;
	_tmp14_[5] = _tmp13_;
	recurrency_items = _tmp14_;
	recurrency_items_length1 = 6;
	_recurrency_items_size_ = recurrency_items_length1;
	_tmp15_ = widgets_date_time_picker_repeat_config_get_type_label (self, self->priv->_selected_type, 1);
	_tmp16_ = _tmp15_;
	_tmp17_ = (GtkLabel*) gtk_label_new (_tmp16_);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp17_, TRUE);
	gtk_widget_set_halign ((GtkWidget*) _tmp17_, GTK_ALIGN_START);
	g_object_ref_sink (_tmp17_);
	_g_object_unref0 (self->priv->recurrency_type_label);
	self->priv->recurrency_type_label = _tmp17_;
	_g_free0 (_tmp16_);
	_tmp18_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp18_, 9);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp18_, 9);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp18_, 6);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp18_, 6);
	g_object_ref_sink (_tmp18_);
	type_button_box = _tmp18_;
	_tmp19_ = type_button_box;
	_tmp20_ = self->priv->recurrency_type_label;
	gtk_box_append (_tmp19_, (GtkWidget*) _tmp20_);
	_tmp21_ = type_button_box;
	_tmp22_ = (GtkImage*) gtk_image_new_from_icon_name ("pan-down-symbolic");
	g_object_ref_sink (_tmp22_);
	_tmp23_ = _tmp22_;
	gtk_box_append (_tmp21_, (GtkWidget*) _tmp23_);
	_g_object_unref0 (_tmp23_);
	_tmp24_ = type_button_box;
	_tmp25_ = _g_object_ref0 ((GtkWidget*) _tmp24_);
	_tmp26_ = (GtkButton*) gtk_button_new ();
	gtk_button_set_child (_tmp26_, _tmp25_);
	_g_object_unref0 (_tmp25_);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp26_, TRUE);
	gtk_widget_set_valign ((GtkWidget*) _tmp26_, GTK_ALIGN_CENTER);
	g_object_ref_sink (_tmp26_);
	_g_object_unref0 (self->priv->recurrency_type_button);
	self->priv->recurrency_type_button = _tmp26_;
	_tmp27_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp27_, 9);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp27_, 9);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp27_, 9);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp27_, 9);
	g_object_ref_sink (_tmp27_);
	type_items_box = _tmp27_;
	_tmp28_ = recurrency_items;
	_tmp28__length1 = recurrency_items_length1;
	_tmp29_ = g_new0 (WidgetsContextMenuMenuItem*, _tmp28__length1 + 1);
	self->priv->type_menu_items = (_vala_array_free (self->priv->type_menu_items, self->priv->type_menu_items_length1, (GDestroyNotify) g_object_unref), NULL);
	self->priv->type_menu_items = _tmp29_;
	self->priv->type_menu_items_length1 = _tmp28__length1;
	self->priv->_type_menu_items_size_ = self->priv->type_menu_items_length1;
	{
		gint i = 0;
		i = 0;
		{
			gboolean _tmp30_ = FALSE;
			_tmp30_ = TRUE;
			while (TRUE) {
				Block31Data* _data31_;
				gchar** _tmp32_;
				gint _tmp32__length1;
				WidgetsContextMenuMenuItem* type_item = NULL;
				gchar** _tmp33_;
				gint _tmp33__length1;
				const gchar* _tmp34_;
				WidgetsContextMenuMenuItem* _tmp35_ = NULL;
				WidgetsContextMenuMenuItem** _tmp36_;
				gint _tmp36__length1;
				WidgetsContextMenuMenuItem* _tmp37_;
				WidgetsContextMenuMenuItem* _tmp38_;
				WidgetsContextMenuMenuItem* _tmp39_;
				GtkBox* _tmp40_;
				WidgetsContextMenuMenuItem* _tmp41_;
				_data31_ = g_slice_new0 (Block31Data);
				_data31_->_ref_count_ = 1;
				_data31_->self = g_object_ref (self);
				if (!_tmp30_) {
					gint _tmp31_;
					_tmp31_ = i;
					i = _tmp31_ + 1;
				}
				_tmp30_ = FALSE;
				_tmp32_ = recurrency_items;
				_tmp32__length1 = recurrency_items_length1;
				if (!(i < _tmp32__length1)) {
					block31_data_unref (_data31_);
					_data31_ = NULL;
					break;
				}
				_tmp33_ = recurrency_items;
				_tmp33__length1 = recurrency_items_length1;
				_tmp34_ = _tmp33_[i];
				_tmp35_ = widgets_context_menu_menu_item_new (_tmp34_, NULL);
				widgets_context_menu_menu_item_set_autohide_popover (_tmp35_, FALSE);
				g_object_ref_sink (_tmp35_);
				type_item = _tmp35_;
				_tmp36_ = self->priv->type_menu_items;
				_tmp36__length1 = self->priv->type_menu_items_length1;
				_tmp37_ = type_item;
				_tmp38_ = _g_object_ref0 (_tmp37_);
				_g_object_unref0 (_tmp36_[i]);
				_tmp36_[i] = _tmp38_;
				_data31_->index = i;
				_tmp39_ = type_item;
				g_signal_connect_data ((GtkButton*) _tmp39_, "clicked", (GCallback) __widgets_date_time_picker_repeat_config______lambda167__gtk_button_clicked, block31_data_ref (_data31_), (GClosureNotify) block31_data_unref, 0);
				_tmp40_ = type_items_box;
				_tmp41_ = type_item;
				gtk_box_append (_tmp40_, (GtkWidget*) _tmp41_);
				_g_object_unref0 (type_item);
				block31_data_unref (_data31_);
				_data31_ = NULL;
			}
		}
	}
	_tmp42_ = type_items_box;
	_tmp43_ = _g_object_ref0 ((GtkWidget*) _tmp42_);
	_tmp44_ = (AdwBin*) adw_bin_new ();
	adw_bin_set_child (_tmp44_, _tmp43_);
	_g_object_unref0 (_tmp43_);
	g_object_ref_sink (_tmp44_);
	type_container = _tmp44_;
	_tmp45_ = type_container;
	gtk_widget_add_css_class ((GtkWidget*) _tmp45_, "card");
	_tmp46_ = type_container;
	_tmp47_ = _g_object_ref0 ((GtkWidget*) _tmp46_);
	_tmp48_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_child (_tmp48_, _tmp47_);
	_g_object_unref0 (_tmp47_);
	gtk_widget_set_valign ((GtkWidget*) _tmp48_, GTK_ALIGN_END);
	gtk_revealer_set_transition_type (_tmp48_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP);
	gtk_revealer_set_reveal_child (_tmp48_, FALSE);
	g_object_ref_sink (_tmp48_);
	_g_object_unref0 (self->priv->recurrency_type_revealer);
	self->priv->recurrency_type_revealer = _tmp48_;
	_tmp49_ = self->priv->recurrency_type_button;
	g_signal_connect_object (_tmp49_, "clicked", (GCallback) __widgets_date_time_picker_repeat_config___lambda168__gtk_button_clicked, self, 0);
	_tmp50_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp50_, TRUE);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp50_, 6);
	gtk_box_set_homogeneous (_tmp50_, TRUE);
	g_object_ref_sink (_tmp50_);
	repeat_box = _tmp50_;
	_tmp51_ = repeat_box;
	_tmp52_ = self->priv->recurrency_interval;
	gtk_box_append (_tmp51_, (GtkWidget*) _tmp52_);
	_tmp53_ = repeat_box;
	_tmp54_ = self->priv->recurrency_type_button;
	gtk_box_append (_tmp53_, (GtkWidget*) _tmp54_);
	_tmp55_ = g_strdup ("no-padding");
	_tmp56_ = g_strdup ("caption");
	_tmp57_ = g_new0 (gchar*, 2 + 1);
	_tmp57_[0] = _tmp55_;
	_tmp57_[1] = _tmp56_;
	_tmp58_ = (GtkToggleButton*) gtk_toggle_button_new_with_label (_ ("Mo"));
	gtk_widget_set_css_classes ((GtkWidget*) _tmp58_, _tmp57_);
	_tmp57_ = (_vala_array_free (_tmp57_, 2, (GDestroyNotify) g_free), NULL);
	g_object_set ((GtkWidget*) _tmp58_, "width-request", 32, NULL);
	g_object_set ((GtkWidget*) _tmp58_, "height-request", 32, NULL);
	g_object_ref_sink (_tmp58_);
	_g_object_unref0 (self->priv->mo_button);
	self->priv->mo_button = _tmp58_;
	_tmp59_ = g_strdup ("no-padding");
	_tmp60_ = g_strdup ("caption");
	_tmp61_ = g_new0 (gchar*, 2 + 1);
	_tmp61_[0] = _tmp59_;
	_tmp61_[1] = _tmp60_;
	_tmp62_ = (GtkToggleButton*) gtk_toggle_button_new_with_label (_ ("Tu"));
	gtk_widget_set_css_classes ((GtkWidget*) _tmp62_, _tmp61_);
	_tmp61_ = (_vala_array_free (_tmp61_, 2, (GDestroyNotify) g_free), NULL);
	g_object_set ((GtkWidget*) _tmp62_, "width-request", 32, NULL);
	g_object_set ((GtkWidget*) _tmp62_, "height-request", 32, NULL);
	g_object_ref_sink (_tmp62_);
	_g_object_unref0 (self->priv->tu_button);
	self->priv->tu_button = _tmp62_;
	_tmp63_ = g_strdup ("no-padding");
	_tmp64_ = g_strdup ("caption");
	_tmp65_ = g_new0 (gchar*, 2 + 1);
	_tmp65_[0] = _tmp63_;
	_tmp65_[1] = _tmp64_;
	_tmp66_ = (GtkToggleButton*) gtk_toggle_button_new_with_label (_ ("We"));
	gtk_widget_set_css_classes ((GtkWidget*) _tmp66_, _tmp65_);
	_tmp65_ = (_vala_array_free (_tmp65_, 2, (GDestroyNotify) g_free), NULL);
	g_object_set ((GtkWidget*) _tmp66_, "width-request", 32, NULL);
	g_object_set ((GtkWidget*) _tmp66_, "height-request", 32, NULL);
	g_object_ref_sink (_tmp66_);
	_g_object_unref0 (self->priv->we_button);
	self->priv->we_button = _tmp66_;
	_tmp67_ = g_strdup ("no-padding");
	_tmp68_ = g_strdup ("caption");
	_tmp69_ = g_new0 (gchar*, 2 + 1);
	_tmp69_[0] = _tmp67_;
	_tmp69_[1] = _tmp68_;
	_tmp70_ = (GtkToggleButton*) gtk_toggle_button_new_with_label (_ ("Th"));
	gtk_widget_set_css_classes ((GtkWidget*) _tmp70_, _tmp69_);
	_tmp69_ = (_vala_array_free (_tmp69_, 2, (GDestroyNotify) g_free), NULL);
	g_object_set ((GtkWidget*) _tmp70_, "width-request", 32, NULL);
	g_object_set ((GtkWidget*) _tmp70_, "height-request", 32, NULL);
	g_object_ref_sink (_tmp70_);
	_g_object_unref0 (self->priv->th_button);
	self->priv->th_button = _tmp70_;
	_tmp71_ = g_strdup ("no-padding");
	_tmp72_ = g_strdup ("caption");
	_tmp73_ = g_new0 (gchar*, 2 + 1);
	_tmp73_[0] = _tmp71_;
	_tmp73_[1] = _tmp72_;
	_tmp74_ = (GtkToggleButton*) gtk_toggle_button_new_with_label (_ ("Fr"));
	gtk_widget_set_css_classes ((GtkWidget*) _tmp74_, _tmp73_);
	_tmp73_ = (_vala_array_free (_tmp73_, 2, (GDestroyNotify) g_free), NULL);
	g_object_set ((GtkWidget*) _tmp74_, "width-request", 32, NULL);
	g_object_set ((GtkWidget*) _tmp74_, "height-request", 32, NULL);
	g_object_ref_sink (_tmp74_);
	_g_object_unref0 (self->priv->fr_button);
	self->priv->fr_button = _tmp74_;
	_tmp75_ = g_strdup ("no-padding");
	_tmp76_ = g_strdup ("caption");
	_tmp77_ = g_new0 (gchar*, 2 + 1);
	_tmp77_[0] = _tmp75_;
	_tmp77_[1] = _tmp76_;
	_tmp78_ = (GtkToggleButton*) gtk_toggle_button_new_with_label (_ ("Sa"));
	gtk_widget_set_css_classes ((GtkWidget*) _tmp78_, _tmp77_);
	_tmp77_ = (_vala_array_free (_tmp77_, 2, (GDestroyNotify) g_free), NULL);
	g_object_set ((GtkWidget*) _tmp78_, "width-request", 32, NULL);
	g_object_set ((GtkWidget*) _tmp78_, "height-request", 32, NULL);
	g_object_ref_sink (_tmp78_);
	_g_object_unref0 (self->priv->sa_button);
	self->priv->sa_button = _tmp78_;
	_tmp79_ = g_strdup ("no-padding");
	_tmp80_ = g_strdup ("caption");
	_tmp81_ = g_new0 (gchar*, 2 + 1);
	_tmp81_[0] = _tmp79_;
	_tmp81_[1] = _tmp80_;
	_tmp82_ = (GtkToggleButton*) gtk_toggle_button_new_with_label (_ ("Su"));
	gtk_widget_set_css_classes ((GtkWidget*) _tmp82_, _tmp81_);
	_tmp81_ = (_vala_array_free (_tmp81_, 2, (GDestroyNotify) g_free), NULL);
	g_object_set ((GtkWidget*) _tmp82_, "width-request", 32, NULL);
	g_object_set ((GtkWidget*) _tmp82_, "height-request", 32, NULL);
	g_object_ref_sink (_tmp82_);
	_g_object_unref0 (self->priv->su_button);
	self->priv->su_button = _tmp82_;
	_tmp83_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp83_, TRUE);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp83_, 12);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp83_, 6);
	gtk_box_set_homogeneous (_tmp83_, TRUE);
	g_object_ref_sink (_tmp83_);
	weeks_box = _tmp83_;
	_tmp84_ = weeks_box;
	_tmp85_ = self->priv->mo_button;
	gtk_box_append (_tmp84_, (GtkWidget*) _tmp85_);
	_tmp86_ = weeks_box;
	_tmp87_ = self->priv->tu_button;
	gtk_box_append (_tmp86_, (GtkWidget*) _tmp87_);
	_tmp88_ = weeks_box;
	_tmp89_ = self->priv->we_button;
	gtk_box_append (_tmp88_, (GtkWidget*) _tmp89_);
	_tmp90_ = weeks_box;
	_tmp91_ = self->priv->th_button;
	gtk_box_append (_tmp90_, (GtkWidget*) _tmp91_);
	_tmp92_ = weeks_box;
	_tmp93_ = self->priv->fr_button;
	gtk_box_append (_tmp92_, (GtkWidget*) _tmp93_);
	_tmp94_ = weeks_box;
	_tmp95_ = self->priv->sa_button;
	gtk_box_append (_tmp94_, (GtkWidget*) _tmp95_);
	_tmp96_ = weeks_box;
	_tmp97_ = self->priv->su_button;
	gtk_box_append (_tmp96_, (GtkWidget*) _tmp97_);
	_tmp98_ = (GtkCheckButton*) gtk_check_button_new_with_label (_ ("Last day of month"));
	gtk_widget_set_margin_top ((GtkWidget*) _tmp98_, 6);
	g_object_ref_sink (_tmp98_);
	_g_object_unref0 (self->priv->last_day_check);
	self->priv->last_day_check = _tmp98_;
	_tmp99_ = self->priv->last_day_check;
	_tmp100_ = _g_object_ref0 ((GtkWidget*) _tmp99_);
	_tmp101_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp101_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_reveal_child (_tmp101_, FALSE);
	gtk_revealer_set_child (_tmp101_, _tmp100_);
	_g_object_unref0 (_tmp100_);
	g_object_ref_sink (_tmp101_);
	_g_object_unref0 (self->priv->last_day_revealer);
	self->priv->last_day_revealer = _tmp101_;
	_tmp102_ = weeks_box;
	_tmp103_ = _g_object_ref0 ((GtkWidget*) _tmp102_);
	_tmp104_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_transition_type (_tmp104_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
	gtk_revealer_set_reveal_child (_tmp104_, FALSE);
	gtk_revealer_set_child (_tmp104_, _tmp103_);
	_g_object_unref0 (_tmp103_);
	g_object_ref_sink (_tmp104_);
	_g_object_unref0 (self->priv->weeks_revealer);
	self->priv->weeks_revealer = _tmp104_;
	_tmp105_ = (GtkToggleButton*) gtk_toggle_button_new_with_label (_ ("Never"));
	gtk_toggle_button_set_active (_tmp105_, TRUE);
	g_object_ref_sink (_tmp105_);
	_g_object_unref0 (self->priv->never_button);
	self->priv->never_button = _tmp105_;
	_tmp106_ = self->priv->never_button;
	_tmp107_ = _g_object_ref0 (_tmp106_);
	_tmp108_ = (GtkToggleButton*) gtk_toggle_button_new_with_label (_ ("On Date"));
	gtk_toggle_button_set_group (_tmp108_, _tmp107_);
	_g_object_unref0 (_tmp107_);
	g_object_ref_sink (_tmp108_);
	_g_object_unref0 (self->priv->on_button);
	self->priv->on_button = _tmp108_;
	_tmp109_ = self->priv->never_button;
	_tmp110_ = _g_object_ref0 (_tmp109_);
	_tmp111_ = (GtkToggleButton*) gtk_toggle_button_new_with_label (_ ("After"));
	gtk_toggle_button_set_group (_tmp111_, _tmp110_);
	_g_object_unref0 (_tmp110_);
	g_object_ref_sink (_tmp111_);
	_g_object_unref0 (self->priv->after_button);
	self->priv->after_button = _tmp111_;
	_tmp112_ = g_strdup ("linked");
	_tmp113_ = g_new0 (gchar*, 1 + 1);
	_tmp113_[0] = _tmp112_;
	_tmp114_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp114_, _tmp113_);
	_tmp113_ = (_vala_array_free (_tmp113_, 1, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp114_, TRUE);
	gtk_box_set_homogeneous (_tmp114_, TRUE);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp114_, 6);
	g_object_ref_sink (_tmp114_);
	ends_grid = _tmp114_;
	_tmp115_ = ends_grid;
	_tmp116_ = self->priv->never_button;
	gtk_box_append (_tmp115_, (GtkWidget*) _tmp116_);
	_tmp117_ = ends_grid;
	_tmp118_ = self->priv->on_button;
	gtk_box_append (_tmp117_, (GtkWidget*) _tmp118_);
	_tmp119_ = ends_grid;
	_tmp120_ = self->priv->after_button;
	gtk_box_append (_tmp119_, (GtkWidget*) _tmp120_);
	_tmp121_ = widgets_calendar_calendar_new (CONSTANTS_BLOCK_PAST_DAYS);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp121_, 9);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp121_, 9);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp121_, 9);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp121_, 9);
	g_object_ref_sink (_tmp121_);
	_g_object_unref0 (self->priv->calendar);
	self->priv->calendar = _tmp121_;
	_tmp122_ = self->priv->calendar;
	_tmp123_ = _g_object_ref0 ((GtkWidget*) _tmp122_);
	_tmp124_ = (AdwBin*) adw_bin_new ();
	adw_bin_set_child (_tmp124_, _tmp123_);
	_g_object_unref0 (_tmp123_);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp124_, 0);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp124_, 0);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp124_, 0);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp124_, 0);
	g_object_ref_sink (_tmp124_);
	calendar_container = _tmp124_;
	_tmp125_ = calendar_container;
	gtk_widget_add_css_class ((GtkWidget*) _tmp125_, "card");
	_tmp126_ = calendar_container;
	_tmp127_ = _g_object_ref0 ((GtkWidget*) _tmp126_);
	_tmp128_ = (GtkRevealer*) gtk_revealer_new ();
	gtk_revealer_set_child (_tmp128_, _tmp127_);
	_g_object_unref0 (_tmp127_);
	gtk_widget_set_valign ((GtkWidget*) _tmp128_, GTK_ALIGN_END);
	gtk_revealer_set_transition_type (_tmp128_, GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP);
	gtk_revealer_set_reveal_child (_tmp128_, FALSE);
	g_object_ref_sink (_tmp128_);
	_g_object_unref0 (self->priv->calendar_revealer);
	self->priv->calendar_revealer = _tmp128_;
	_tmp129_ = g_date_time_new_now_local ();
	_tmp130_ = _tmp129_;
	_tmp131_ = g_date_time_add_days (_tmp130_, 1);
	_tmp132_ = _tmp131_;
	_tmp133_ = utils_datetime_get_date_only (_tmp132_);
	_tmp134_ = _tmp133_;
	_tmp135_ = utils_datetime_get_default_date_format_from_date (_tmp134_);
	_tmp136_ = _tmp135_;
	_tmp137_ = (GtkLabel*) gtk_label_new (_tmp136_);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp137_, TRUE);
	gtk_widget_set_halign ((GtkWidget*) _tmp137_, GTK_ALIGN_CENTER);
	g_object_ref_sink (_tmp137_);
	_g_object_unref0 (self->priv->datepicker_label);
	self->priv->datepicker_label = _tmp137_;
	_g_free0 (_tmp136_);
	_g_date_time_unref0 (_tmp134_);
	_g_date_time_unref0 (_tmp132_);
	_g_date_time_unref0 (_tmp130_);
	_tmp138_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp138_, 9);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp138_, 9);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp138_, 6);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp138_, 6);
	g_object_ref_sink (_tmp138_);
	datepicker_box = _tmp138_;
	_tmp139_ = datepicker_box;
	_tmp140_ = self->priv->datepicker_label;
	gtk_box_append (_tmp139_, (GtkWidget*) _tmp140_);
	_tmp141_ = datepicker_box;
	_tmp142_ = (GtkImage*) gtk_image_new_from_icon_name ("pan-down-symbolic");
	g_object_ref_sink (_tmp142_);
	_tmp143_ = _tmp142_;
	gtk_box_append (_tmp141_, (GtkWidget*) _tmp143_);
	_g_object_unref0 (_tmp143_);
	_tmp144_ = datepicker_box;
	_tmp145_ = _g_object_ref0 ((GtkWidget*) _tmp144_);
	_tmp146_ = (GtkButton*) gtk_button_new ();
	gtk_button_set_child (_tmp146_, _tmp145_);
	_g_object_unref0 (_tmp145_);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp146_, TRUE);
	g_object_ref_sink (_tmp146_);
	_g_object_unref0 (self->priv->datepicker_button);
	self->priv->datepicker_button = _tmp146_;
	_tmp147_ = (GtkSpinButton*) gtk_spin_button_new_with_range ((gdouble) 1, (gdouble) 100, (gdouble) 1);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp147_, TRUE);
	gtk_widget_set_halign ((GtkWidget*) _tmp147_, GTK_ALIGN_CENTER);
	gtk_widget_set_valign ((GtkWidget*) _tmp147_, GTK_ALIGN_CENTER);
	g_object_ref_sink (_tmp147_);
	_g_object_unref0 (self->priv->count_interval);
	self->priv->count_interval = _tmp147_;
	_tmp148_ = (GtkStack*) gtk_stack_new ();
	gtk_widget_set_hexpand ((GtkWidget*) _tmp148_, TRUE);
	gtk_stack_set_transition_type (_tmp148_, GTK_STACK_TRANSITION_TYPE_CROSSFADE);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp148_, 12);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp148_, 6);
	g_object_ref_sink (_tmp148_);
	_g_object_unref0 (self->priv->ends_stack);
	self->priv->ends_stack = _tmp148_;
	_tmp149_ = self->priv->ends_stack;
	_tmp150_ = (GtkLabel*) gtk_label_new (NULL);
	g_object_ref_sink (_tmp150_);
	_tmp151_ = _tmp150_;
	gtk_stack_add_named (_tmp149_, (GtkWidget*) _tmp151_, "never");
	_g_object_unref0 (_tmp151_);
	_tmp152_ = self->priv->ends_stack;
	_tmp153_ = self->priv->datepicker_button;
	gtk_stack_add_named (_tmp152_, (GtkWidget*) _tmp153_, "on");
	_tmp154_ = self->priv->ends_stack;
	_tmp155_ = self->priv->count_interval;
	gtk_stack_add_named (_tmp154_, (GtkWidget*) _tmp155_, "after");
	_tmp156_ = widgets_loading_button_new (LOADING_BUTTON_TYPE_LABEL, _ ("Apply"));
	gtk_widget_set_margin_top ((GtkWidget*) _tmp156_, 12);
	gtk_widget_set_vexpand ((GtkWidget*) _tmp156_, TRUE);
	gtk_widget_set_valign ((GtkWidget*) _tmp156_, GTK_ALIGN_END);
	g_object_ref_sink (_tmp156_);
	submit_button = _tmp156_;
	_tmp157_ = submit_button;
	gtk_widget_add_css_class ((GtkWidget*) _tmp157_, "suggested-action");
	_tmp158_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp158_, 9);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp158_, 9);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp158_, 9);
	g_object_ref_sink (_tmp158_);
	content_box = _tmp158_;
	_tmp159_ = content_box;
	_tmp160_ = repeat_preview_box;
	gtk_box_append (_tmp159_, (GtkWidget*) _tmp160_);
	_tmp161_ = content_box;
	_tmp162_ = g_strdup ("heading");
	_tmp163_ = g_strdup ("h4");
	_tmp164_ = g_new0 (gchar*, 2 + 1);
	_tmp164_[0] = _tmp162_;
	_tmp164_[1] = _tmp163_;
	_tmp165_ = (GtkLabel*) gtk_label_new (_ ("Repeat every"));
	gtk_widget_set_css_classes ((GtkWidget*) _tmp165_, _tmp164_);
	_tmp164_ = (_vala_array_free (_tmp164_, 2, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp165_, 12);
	gtk_widget_set_halign ((GtkWidget*) _tmp165_, GTK_ALIGN_START);
	g_object_ref_sink (_tmp165_);
	_tmp166_ = _tmp165_;
	gtk_box_append (_tmp161_, (GtkWidget*) _tmp166_);
	_g_object_unref0 (_tmp166_);
	_tmp167_ = content_box;
	_tmp168_ = repeat_box;
	gtk_box_append (_tmp167_, (GtkWidget*) _tmp168_);
	_tmp169_ = content_box;
	_tmp170_ = self->priv->weeks_revealer;
	gtk_box_append (_tmp169_, (GtkWidget*) _tmp170_);
	_tmp171_ = content_box;
	_tmp172_ = self->priv->last_day_revealer;
	gtk_box_append (_tmp171_, (GtkWidget*) _tmp172_);
	_tmp173_ = content_box;
	_tmp174_ = g_strdup ("heading");
	_tmp175_ = g_strdup ("h4");
	_tmp176_ = g_new0 (gchar*, 2 + 1);
	_tmp176_[0] = _tmp174_;
	_tmp176_[1] = _tmp175_;
	_tmp177_ = (GtkLabel*) gtk_label_new (_ ("End"));
	gtk_widget_set_css_classes ((GtkWidget*) _tmp177_, _tmp176_);
	_tmp176_ = (_vala_array_free (_tmp176_, 2, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp177_, 12);
	gtk_widget_set_halign ((GtkWidget*) _tmp177_, GTK_ALIGN_START);
	g_object_ref_sink (_tmp177_);
	_tmp178_ = _tmp177_;
	gtk_box_append (_tmp173_, (GtkWidget*) _tmp178_);
	_g_object_unref0 (_tmp178_);
	_tmp179_ = content_box;
	_tmp180_ = ends_grid;
	gtk_box_append (_tmp179_, (GtkWidget*) _tmp180_);
	_tmp181_ = content_box;
	_tmp182_ = self->priv->ends_stack;
	gtk_box_append (_tmp181_, (GtkWidget*) _tmp182_);
	_tmp183_ = content_box;
	_tmp184_ = submit_button;
	gtk_box_append (_tmp183_, (GtkWidget*) _tmp184_);
	_tmp185_ = (AdwBin*) adw_bin_new ();
	gtk_widget_set_visible ((GtkWidget*) _tmp185_, FALSE);
	g_object_ref_sink (_tmp185_);
	_g_object_unref0 (self->priv->dimming_widget);
	self->priv->dimming_widget = _tmp185_;
	_tmp186_ = self->priv->dimming_widget;
	gtk_widget_add_css_class ((GtkWidget*) _tmp186_, "dimming-bg");
	_tmp187_ = content_box;
	_tmp188_ = _g_object_ref0 ((GtkWidget*) _tmp187_);
	_tmp189_ = (GtkOverlay*) gtk_overlay_new ();
	gtk_overlay_set_child (_tmp189_, _tmp188_);
	_g_object_unref0 (_tmp188_);
	g_object_ref_sink (_tmp189_);
	content_overlay = _tmp189_;
	_tmp190_ = content_overlay;
	_tmp191_ = self->priv->dimming_widget;
	gtk_overlay_add_overlay (_tmp190_, (GtkWidget*) _tmp191_);
	_tmp192_ = content_overlay;
	_tmp193_ = self->priv->recurrency_type_revealer;
	gtk_overlay_add_overlay (_tmp192_, (GtkWidget*) _tmp193_);
	_tmp194_ = content_overlay;
	_tmp195_ = self->priv->calendar_revealer;
	gtk_overlay_add_overlay (_tmp194_, (GtkWidget*) _tmp195_);
	_tmp196_ = (GtkGestureClick*) gtk_gesture_click_new ();
	gesture = _tmp196_;
	_tmp197_ = self->priv->dimming_widget;
	_tmp198_ = gesture;
	_tmp199_ = _g_object_ref0 ((GtkEventController*) _tmp198_);
	gtk_widget_add_controller ((GtkWidget*) _tmp197_, _tmp199_);
	_tmp200_ = gesture;
	g_signal_connect_object (_tmp200_, "pressed", (GCallback) __widgets_date_time_picker_repeat_config___lambda169__gtk_gesture_click_pressed, self, 0);
	_tmp201_ = content_overlay;
	adw_navigation_page_set_child ((AdwNavigationPage*) self, (GtkWidget*) _tmp201_);
	widgets_date_time_picker_repeat_config_update_repeat_label (self);
	_tmp202_ = self->priv->signal_map;
	_tmp203_ = self->priv->recurrency_interval;
	_tmp204_ = g_signal_connect_object (_tmp203_, "value-changed", (GCallback) __widgets_date_time_picker_repeat_config___lambda170__gtk_spin_button_value_changed, self, 0);
	_tmp205_ = self->priv->recurrency_interval;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp202_, (gpointer) ((guintptr) _tmp204_), (GObject*) _tmp205_);
	_tmp206_ = self->priv->signal_map;
	_tmp207_ = self->priv->mo_button;
	_tmp208_ = g_signal_connect_object (_tmp207_, "toggled", (GCallback) __widgets_date_time_picker_repeat_config___lambda171__gtk_toggle_button_toggled, self, 0);
	_tmp209_ = self->priv->mo_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp206_, (gpointer) ((guintptr) _tmp208_), (GObject*) _tmp209_);
	_tmp210_ = self->priv->signal_map;
	_tmp211_ = self->priv->tu_button;
	_tmp212_ = g_signal_connect_object (_tmp211_, "toggled", (GCallback) __widgets_date_time_picker_repeat_config___lambda172__gtk_toggle_button_toggled, self, 0);
	_tmp213_ = self->priv->tu_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp210_, (gpointer) ((guintptr) _tmp212_), (GObject*) _tmp213_);
	_tmp214_ = self->priv->signal_map;
	_tmp215_ = self->priv->we_button;
	_tmp216_ = g_signal_connect_object (_tmp215_, "toggled", (GCallback) __widgets_date_time_picker_repeat_config___lambda173__gtk_toggle_button_toggled, self, 0);
	_tmp217_ = self->priv->we_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp214_, (gpointer) ((guintptr) _tmp216_), (GObject*) _tmp217_);
	_tmp218_ = self->priv->signal_map;
	_tmp219_ = self->priv->th_button;
	_tmp220_ = g_signal_connect_object (_tmp219_, "toggled", (GCallback) __widgets_date_time_picker_repeat_config___lambda174__gtk_toggle_button_toggled, self, 0);
	_tmp221_ = self->priv->th_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp218_, (gpointer) ((guintptr) _tmp220_), (GObject*) _tmp221_);
	_tmp222_ = self->priv->signal_map;
	_tmp223_ = self->priv->fr_button;
	_tmp224_ = g_signal_connect_object (_tmp223_, "toggled", (GCallback) __widgets_date_time_picker_repeat_config___lambda175__gtk_toggle_button_toggled, self, 0);
	_tmp225_ = self->priv->fr_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp222_, (gpointer) ((guintptr) _tmp224_), (GObject*) _tmp225_);
	_tmp226_ = self->priv->signal_map;
	_tmp227_ = self->priv->sa_button;
	_tmp228_ = g_signal_connect_object (_tmp227_, "toggled", (GCallback) __widgets_date_time_picker_repeat_config___lambda176__gtk_toggle_button_toggled, self, 0);
	_tmp229_ = self->priv->sa_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp226_, (gpointer) ((guintptr) _tmp228_), (GObject*) _tmp229_);
	_tmp230_ = self->priv->signal_map;
	_tmp231_ = self->priv->su_button;
	_tmp232_ = g_signal_connect_object (_tmp231_, "toggled", (GCallback) __widgets_date_time_picker_repeat_config___lambda177__gtk_toggle_button_toggled, self, 0);
	_tmp233_ = self->priv->su_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp230_, (gpointer) ((guintptr) _tmp232_), (GObject*) _tmp233_);
	_tmp234_ = self->priv->signal_map;
	_tmp235_ = self->priv->last_day_check;
	_tmp236_ = g_signal_connect_object (_tmp235_, "toggled", (GCallback) __widgets_date_time_picker_repeat_config___lambda178__gtk_check_button_toggled, self, 0);
	_tmp237_ = self->priv->last_day_check;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp234_, (gpointer) ((guintptr) _tmp236_), (GObject*) _tmp237_);
	_tmp238_ = submit_button;
	g_signal_connect_object ((GtkButton*) _tmp238_, "clicked", (GCallback) __widgets_date_time_picker_repeat_config___lambda179__gtk_button_clicked, self, 0);
	_tmp239_ = self->priv->signal_map;
	_tmp240_ = self->priv->never_button;
	_tmp241_ = g_signal_connect_object (_tmp240_, "toggled", (GCallback) __widgets_date_time_picker_repeat_config___lambda180__gtk_toggle_button_toggled, self, 0);
	_tmp242_ = self->priv->never_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp239_, (gpointer) ((guintptr) _tmp241_), (GObject*) _tmp242_);
	_tmp243_ = self->priv->signal_map;
	_tmp244_ = self->priv->on_button;
	_tmp245_ = g_signal_connect_object (_tmp244_, "toggled", (GCallback) __widgets_date_time_picker_repeat_config___lambda181__gtk_toggle_button_toggled, self, 0);
	_tmp246_ = self->priv->on_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp243_, (gpointer) ((guintptr) _tmp245_), (GObject*) _tmp246_);
	_tmp247_ = self->priv->signal_map;
	_tmp248_ = self->priv->after_button;
	_tmp249_ = g_signal_connect_object (_tmp248_, "toggled", (GCallback) __widgets_date_time_picker_repeat_config___lambda182__gtk_toggle_button_toggled, self, 0);
	_tmp250_ = self->priv->after_button;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp247_, (gpointer) ((guintptr) _tmp249_), (GObject*) _tmp250_);
	_tmp251_ = self->priv->signal_map;
	_tmp252_ = self->priv->calendar;
	_tmp253_ = g_signal_connect_object (_tmp252_, "day-selected", (GCallback) __widgets_date_time_picker_repeat_config___lambda183__widgets_calendar_calendar_day_selected, self, 0);
	_tmp254_ = self->priv->calendar;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp251_, (gpointer) ((guintptr) _tmp253_), (GObject*) _tmp254_);
	_tmp255_ = self->priv->datepicker_button;
	g_signal_connect_object (_tmp255_, "clicked", (GCallback) __widgets_date_time_picker_repeat_config___lambda184__gtk_button_clicked, self, 0);
	_tmp256_ = self->priv->signal_map;
	_tmp257_ = self->priv->count_interval;
	_tmp258_ = g_signal_connect_object (_tmp257_, "value-changed", (GCallback) __widgets_date_time_picker_repeat_config___lambda185__gtk_spin_button_value_changed, self, 0);
	_tmp259_ = self->priv->count_interval;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp256_, (gpointer) ((guintptr) _tmp258_), (GObject*) _tmp259_);
	_g_object_unref0 (gesture);
	_g_object_unref0 (content_overlay);
	_g_object_unref0 (content_box);
	_g_object_unref0 (submit_button);
	_g_object_unref0 (datepicker_box);
	_g_object_unref0 (calendar_container);
	_g_object_unref0 (ends_grid);
	_g_object_unref0 (weeks_box);
	_g_object_unref0 (repeat_box);
	_g_object_unref0 (type_container);
	_g_object_unref0 (type_items_box);
	_g_object_unref0 (type_button_box);
	recurrency_items = (_vala_array_free (recurrency_items, recurrency_items_length1, (GDestroyNotify) g_free), NULL);
	_g_object_unref0 (repeat_preview_box);
	return obj;
}

static void
widgets_date_time_picker_repeat_config_class_init (WidgetsDateTimePickerRepeatConfigClass * klass,
                                                   gpointer klass_data)
{
	widgets_date_time_picker_repeat_config_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WidgetsDateTimePickerRepeatConfig_private_offset);
	G_OBJECT_CLASS (klass)->set_property = _vala_widgets_date_time_picker_repeat_config_set_property;
	G_OBJECT_CLASS (klass)->constructor = widgets_date_time_picker_repeat_config_constructor;
	G_OBJECT_CLASS (klass)->finalize = widgets_date_time_picker_repeat_config_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIDGETS_DATE_TIME_PICKER_REPEAT_CONFIG_DUEDATE_PROPERTY, widgets_date_time_picker_repeat_config_properties[WIDGETS_DATE_TIME_PICKER_REPEAT_CONFIG_DUEDATE_PROPERTY] = g_param_spec_object ("duedate", "duedate", "duedate", OBJECTS_TYPE_DUE_DATE, G_PARAM_STATIC_STRINGS | G_PARAM_WRITABLE));
	widgets_date_time_picker_repeat_config_signals[WIDGETS_DATE_TIME_PICKER_REPEAT_CONFIG_DUEDATE_CHANGE_SIGNAL] = g_signal_new ("duedate-change", WIDGETS_DATE_TIME_PICKER_TYPE_REPEAT_CONFIG, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, OBJECTS_TYPE_DUE_DATE);
}

static void
widgets_date_time_picker_repeat_config_instance_init (WidgetsDateTimePickerRepeatConfig * self,
                                                      gpointer klass)
{
	GeeHashMap* _tmp0_;
	self->priv = widgets_date_time_picker_repeat_config_get_instance_private (self);
	self->priv->_selected_type = 2;
	_tmp0_ = gee_hash_map_new (G_TYPE_ULONG, NULL, NULL, G_TYPE_OBJECT, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
	self->priv->signal_map = _tmp0_;
}

static void
widgets_date_time_picker_repeat_config_finalize (GObject * obj)
{
	WidgetsDateTimePickerRepeatConfig * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIDGETS_DATE_TIME_PICKER_TYPE_REPEAT_CONFIG, WidgetsDateTimePickerRepeatConfig);
	g_debug ("RepeatConfig.vala:114: Destroying - Widgets.DateTimePicker.RepeatConfi" \
"g\n");
	_g_object_unref0 (self->priv->recurrency_interval);
	_g_object_unref0 (self->priv->recurrency_type_button);
	_g_object_unref0 (self->priv->recurrency_type_label);
	_g_object_unref0 (self->priv->recurrency_type_revealer);
	_g_object_unref0 (self->priv->weeks_revealer);
	_g_object_unref0 (self->priv->last_day_revealer);
	_g_object_unref0 (self->priv->last_day_check);
	self->priv->type_menu_items = (_vala_array_free (self->priv->type_menu_items, self->priv->type_menu_items_length1, (GDestroyNotify) g_object_unref), NULL);
	_g_object_unref0 (self->priv->dimming_widget);
	_g_object_unref0 (self->priv->repeat_label);
	_g_object_unref0 (self->priv->mo_button);
	_g_object_unref0 (self->priv->tu_button);
	_g_object_unref0 (self->priv->we_button);
	_g_object_unref0 (self->priv->th_button);
	_g_object_unref0 (self->priv->fr_button);
	_g_object_unref0 (self->priv->sa_button);
	_g_object_unref0 (self->priv->su_button);
	_g_object_unref0 (self->priv->never_button);
	_g_object_unref0 (self->priv->on_button);
	_g_object_unref0 (self->priv->after_button);
	_g_object_unref0 (self->priv->calendar);
	_g_object_unref0 (self->priv->datepicker_button);
	_g_object_unref0 (self->priv->datepicker_label);
	_g_object_unref0 (self->priv->calendar_revealer);
	_g_object_unref0 (self->priv->count_interval);
	_g_object_unref0 (self->priv->ends_stack);
	_g_object_unref0 (self->priv->signal_map);
	G_OBJECT_CLASS (widgets_date_time_picker_repeat_config_parent_class)->finalize (obj);
}

static GType
widgets_date_time_picker_repeat_config_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WidgetsDateTimePickerRepeatConfigClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) widgets_date_time_picker_repeat_config_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WidgetsDateTimePickerRepeatConfig), 0, (GInstanceInitFunc) widgets_date_time_picker_repeat_config_instance_init, NULL };
	GType widgets_date_time_picker_repeat_config_type_id;
	widgets_date_time_picker_repeat_config_type_id = g_type_register_static (adw_navigation_page_get_type (), "WidgetsDateTimePickerRepeatConfig", &g_define_type_info, 0);
	WidgetsDateTimePickerRepeatConfig_private_offset = g_type_add_instance_private (widgets_date_time_picker_repeat_config_type_id, sizeof (WidgetsDateTimePickerRepeatConfigPrivate));
	return widgets_date_time_picker_repeat_config_type_id;
}

GType
widgets_date_time_picker_repeat_config_get_type (void)
{
	static volatile gsize widgets_date_time_picker_repeat_config_type_id__once = 0;
	if (g_once_init_enter (&widgets_date_time_picker_repeat_config_type_id__once)) {
		GType widgets_date_time_picker_repeat_config_type_id;
		widgets_date_time_picker_repeat_config_type_id = widgets_date_time_picker_repeat_config_get_type_once ();
		g_once_init_leave (&widgets_date_time_picker_repeat_config_type_id__once, widgets_date_time_picker_repeat_config_type_id);
	}
	return widgets_date_time_picker_repeat_config_type_id__once;
}

static void
_vala_widgets_date_time_picker_repeat_config_set_property (GObject * object,
                                                           guint property_id,
                                                           const GValue * value,
                                                           GParamSpec * pspec)
{
	WidgetsDateTimePickerRepeatConfig * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIDGETS_DATE_TIME_PICKER_TYPE_REPEAT_CONFIG, WidgetsDateTimePickerRepeatConfig);
	switch (property_id) {
		case WIDGETS_DATE_TIME_PICKER_REPEAT_CONFIG_DUEDATE_PROPERTY:
		widgets_date_time_picker_repeat_config_set_duedate (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_array_destroy (gpointer array,
                     gssize array_length,
                     GDestroyNotify destroy_func)
{
	if ((array != NULL) && (destroy_func != NULL)) {
		gssize i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}

static void
_vala_array_free (gpointer array,
                  gssize array_length,
                  GDestroyNotify destroy_func)
{
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}

static gssize
_vala_array_length (gpointer array)
{
	gssize length;
	length = 0;
	if (array) {
		while (((gpointer*) array)[length]) {
			length++;
		}
	}
	return length;
}

static inline gpointer
_vala_memdup2 (gconstpointer mem,
               gsize byte_size)
{
	gpointer new_mem;
	if (mem && byte_size != 0) {
		new_mem = g_malloc (byte_size);
		memcpy (new_mem, mem, byte_size);
	} else {
		new_mem = NULL;
	}
	return new_mem;
}

