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

#include <glib-object.h>
#include <gtk/gtk.h>
#include <json-glib/json-glib.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <gee.h>
#include <gio/gio.h>
#include <glib/gi18n-lib.h>
#include <adwaita.h>
#include <libsoup/soup.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
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define TUBA_TYPE_WIDGETIZABLE (tuba_widgetizable_get_type ())
#define TUBA_WIDGETIZABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_WIDGETIZABLE, TubaWidgetizable))
#define TUBA_IS_WIDGETIZABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_WIDGETIZABLE))
#define TUBA_WIDGETIZABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TUBA_TYPE_WIDGETIZABLE, TubaWidgetizableIface))

typedef struct _TubaWidgetizable TubaWidgetizable;
typedef struct _TubaWidgetizableIface TubaWidgetizableIface;

#define TUBA_TYPE_ENTITY (tuba_entity_get_type ())
#define TUBA_ENTITY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_ENTITY, TubaEntity))
#define TUBA_ENTITY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_ENTITY, TubaEntityClass))
#define TUBA_IS_ENTITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_ENTITY))
#define TUBA_IS_ENTITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_ENTITY))
#define TUBA_ENTITY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_ENTITY, TubaEntityClass))

typedef struct _TubaEntity TubaEntity;
typedef struct _TubaEntityClass TubaEntityClass;

#define TUBA_API_TYPE_ACCOUNT (tuba_api_account_get_type ())
#define TUBA_API_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_ACCOUNT, TubaAPIAccount))
#define TUBA_API_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_ACCOUNT, TubaAPIAccountClass))
#define TUBA_API_IS_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_ACCOUNT))
#define TUBA_API_IS_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_ACCOUNT))
#define TUBA_API_ACCOUNT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_ACCOUNT, TubaAPIAccountClass))

typedef struct _TubaAPIAccount TubaAPIAccount;
typedef struct _TubaAPIAccountClass TubaAPIAccountClass;

#define TUBA_TYPE_INSTANCE_ACCOUNT (tuba_instance_account_get_type ())
#define TUBA_INSTANCE_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_INSTANCE_ACCOUNT, TubaInstanceAccount))
#define TUBA_INSTANCE_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_INSTANCE_ACCOUNT, TubaInstanceAccountClass))
#define TUBA_IS_INSTANCE_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_INSTANCE_ACCOUNT))
#define TUBA_IS_INSTANCE_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_INSTANCE_ACCOUNT))
#define TUBA_INSTANCE_ACCOUNT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_INSTANCE_ACCOUNT, TubaInstanceAccountClass))

typedef struct _TubaInstanceAccount TubaInstanceAccount;
typedef struct _TubaInstanceAccountClass TubaInstanceAccountClass;
typedef struct _TubaEntityPrivate TubaEntityPrivate;

#define TUBA_API_TYPE_SEARCH_RESULT (tuba_api_search_result_get_type ())
#define TUBA_API_SEARCH_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_SEARCH_RESULT, TubaAPISearchResult))
#define TUBA_API_IS_SEARCH_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_SEARCH_RESULT))
#define TUBA_API_SEARCH_RESULT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TUBA_API_TYPE_SEARCH_RESULT, TubaAPISearchResultIface))

typedef struct _TubaAPISearchResult TubaAPISearchResult;
typedef struct _TubaAPISearchResultIface TubaAPISearchResultIface;

#define TUBA_API_TYPE_STATUS (tuba_api_status_get_type ())
#define TUBA_API_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_STATUS, TubaAPIStatus))
#define TUBA_API_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_STATUS, TubaAPIStatusClass))
#define TUBA_API_IS_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_STATUS))
#define TUBA_API_IS_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_STATUS))
#define TUBA_API_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_STATUS, TubaAPIStatusClass))

typedef struct _TubaAPIStatus TubaAPIStatus;
typedef struct _TubaAPIStatusClass TubaAPIStatusClass;
typedef struct _TubaAPIStatusPrivate TubaAPIStatusPrivate;

#define TUBA_API_TYPE_STATUS_APPLICATION (tuba_api_status_application_get_type ())
#define TUBA_API_STATUS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_STATUS_APPLICATION, TubaAPIStatusApplication))
#define TUBA_API_STATUS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_STATUS_APPLICATION, TubaAPIStatusApplicationClass))
#define TUBA_API_IS_STATUS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_STATUS_APPLICATION))
#define TUBA_API_IS_STATUS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_STATUS_APPLICATION))
#define TUBA_API_STATUS_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_STATUS_APPLICATION, TubaAPIStatusApplicationClass))

typedef struct _TubaAPIStatusApplication TubaAPIStatusApplication;
typedef struct _TubaAPIStatusApplicationClass TubaAPIStatusApplicationClass;

#define TUBA_API_TYPE_QUOTE (tuba_api_quote_get_type ())
#define TUBA_API_QUOTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_QUOTE, TubaAPIQuote))
#define TUBA_API_QUOTE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_QUOTE, TubaAPIQuoteClass))
#define TUBA_API_IS_QUOTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_QUOTE))
#define TUBA_API_IS_QUOTE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_QUOTE))
#define TUBA_API_QUOTE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_QUOTE, TubaAPIQuoteClass))

typedef struct _TubaAPIQuote TubaAPIQuote;
typedef struct _TubaAPIQuoteClass TubaAPIQuoteClass;

#define TUBA_API_TYPE_MENTION (tuba_api_mention_get_type ())
#define TUBA_API_MENTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_MENTION, TubaAPIMention))
#define TUBA_API_MENTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_MENTION, TubaAPIMentionClass))
#define TUBA_API_IS_MENTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_MENTION))
#define TUBA_API_IS_MENTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_MENTION))
#define TUBA_API_MENTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_MENTION, TubaAPIMentionClass))

typedef struct _TubaAPIMention TubaAPIMention;
typedef struct _TubaAPIMentionClass TubaAPIMentionClass;

#define TUBA_API_TYPE_EMOJI_REACTION (tuba_api_emoji_reaction_get_type ())
#define TUBA_API_EMOJI_REACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_EMOJI_REACTION, TubaAPIEmojiReaction))
#define TUBA_API_EMOJI_REACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_EMOJI_REACTION, TubaAPIEmojiReactionClass))
#define TUBA_API_IS_EMOJI_REACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_EMOJI_REACTION))
#define TUBA_API_IS_EMOJI_REACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_EMOJI_REACTION))
#define TUBA_API_EMOJI_REACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_EMOJI_REACTION, TubaAPIEmojiReactionClass))

typedef struct _TubaAPIEmojiReaction TubaAPIEmojiReaction;
typedef struct _TubaAPIEmojiReactionClass TubaAPIEmojiReactionClass;

#define TUBA_API_PLEROMA_TYPE_STATUS (tuba_api_pleroma_status_get_type ())
#define TUBA_API_PLEROMA_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_PLEROMA_TYPE_STATUS, TubaAPIPleromaStatus))
#define TUBA_API_PLEROMA_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_PLEROMA_TYPE_STATUS, TubaAPIPleromaStatusClass))
#define TUBA_API_PLEROMA_IS_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_PLEROMA_TYPE_STATUS))
#define TUBA_API_PLEROMA_IS_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_PLEROMA_TYPE_STATUS))
#define TUBA_API_PLEROMA_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_PLEROMA_TYPE_STATUS, TubaAPIPleromaStatusClass))

typedef struct _TubaAPIPleromaStatus TubaAPIPleromaStatus;
typedef struct _TubaAPIPleromaStatusClass TubaAPIPleromaStatusClass;

#define TUBA_API_TYPE_ATTACHMENT (tuba_api_attachment_get_type ())
#define TUBA_API_ATTACHMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_ATTACHMENT, TubaAPIAttachment))
#define TUBA_API_ATTACHMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_ATTACHMENT, TubaAPIAttachmentClass))
#define TUBA_API_IS_ATTACHMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_ATTACHMENT))
#define TUBA_API_IS_ATTACHMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_ATTACHMENT))
#define TUBA_API_ATTACHMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_ATTACHMENT, TubaAPIAttachmentClass))

typedef struct _TubaAPIAttachment TubaAPIAttachment;
typedef struct _TubaAPIAttachmentClass TubaAPIAttachmentClass;

#define TUBA_API_TYPE_POLL (tuba_api_poll_get_type ())
#define TUBA_API_POLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_POLL, TubaAPIPoll))
#define TUBA_API_POLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_POLL, TubaAPIPollClass))
#define TUBA_API_IS_POLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_POLL))
#define TUBA_API_IS_POLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_POLL))
#define TUBA_API_POLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_POLL, TubaAPIPollClass))

typedef struct _TubaAPIPoll TubaAPIPoll;
typedef struct _TubaAPIPollClass TubaAPIPollClass;

#define TUBA_API_TYPE_EMOJI (tuba_api_emoji_get_type ())
#define TUBA_API_EMOJI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_EMOJI, TubaAPIEmoji))
#define TUBA_API_EMOJI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_EMOJI, TubaAPIEmojiClass))
#define TUBA_API_IS_EMOJI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_EMOJI))
#define TUBA_API_IS_EMOJI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_EMOJI))
#define TUBA_API_EMOJI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_EMOJI, TubaAPIEmojiClass))

typedef struct _TubaAPIEmoji TubaAPIEmoji;
typedef struct _TubaAPIEmojiClass TubaAPIEmojiClass;

#define TUBA_API_TYPE_PREVIEW_CARD (tuba_api_preview_card_get_type ())
#define TUBA_API_PREVIEW_CARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_PREVIEW_CARD, TubaAPIPreviewCard))
#define TUBA_API_PREVIEW_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_PREVIEW_CARD, TubaAPIPreviewCardClass))
#define TUBA_API_IS_PREVIEW_CARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_PREVIEW_CARD))
#define TUBA_API_IS_PREVIEW_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_PREVIEW_CARD))
#define TUBA_API_PREVIEW_CARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_PREVIEW_CARD, TubaAPIPreviewCardClass))

typedef struct _TubaAPIPreviewCard TubaAPIPreviewCard;
typedef struct _TubaAPIPreviewCardClass TubaAPIPreviewCardClass;

#define TUBA_API_FILTERS_TYPE_FILTER_RESULT (tuba_api_filters_filter_result_get_type ())
#define TUBA_API_FILTERS_FILTER_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_FILTERS_TYPE_FILTER_RESULT, TubaAPIFiltersFilterResult))
#define TUBA_API_FILTERS_FILTER_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_FILTERS_TYPE_FILTER_RESULT, TubaAPIFiltersFilterResultClass))
#define TUBA_API_FILTERS_IS_FILTER_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_FILTERS_TYPE_FILTER_RESULT))
#define TUBA_API_FILTERS_IS_FILTER_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_FILTERS_TYPE_FILTER_RESULT))
#define TUBA_API_FILTERS_FILTER_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_FILTERS_TYPE_FILTER_RESULT, TubaAPIFiltersFilterResultClass))

typedef struct _TubaAPIFiltersFilterResult TubaAPIFiltersFilterResult;
typedef struct _TubaAPIFiltersFilterResultClass TubaAPIFiltersFilterResultClass;

#define TUBA_API_STATUS_TYPE_QUOTE_APPROVAL (tuba_api_status_quote_approval_get_type ())
#define TUBA_API_STATUS_QUOTE_APPROVAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_STATUS_TYPE_QUOTE_APPROVAL, TubaAPIStatusQuoteApproval))
#define TUBA_API_STATUS_QUOTE_APPROVAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_STATUS_TYPE_QUOTE_APPROVAL, TubaAPIStatusQuoteApprovalClass))
#define TUBA_API_STATUS_IS_QUOTE_APPROVAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_STATUS_TYPE_QUOTE_APPROVAL))
#define TUBA_API_STATUS_IS_QUOTE_APPROVAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_STATUS_TYPE_QUOTE_APPROVAL))
#define TUBA_API_STATUS_QUOTE_APPROVAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_STATUS_TYPE_QUOTE_APPROVAL, TubaAPIStatusQuoteApprovalClass))

typedef struct _TubaAPIStatusQuoteApproval TubaAPIStatusQuoteApproval;
typedef struct _TubaAPIStatusQuoteApprovalClass TubaAPIStatusQuoteApprovalClass;

#define TUBA_API_TYPE_COLLECTION (tuba_api_collection_get_type ())
#define TUBA_API_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_COLLECTION, TubaAPICollection))
#define TUBA_API_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_COLLECTION, TubaAPICollectionClass))
#define TUBA_API_IS_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_COLLECTION))
#define TUBA_API_IS_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_COLLECTION))
#define TUBA_API_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_COLLECTION, TubaAPICollectionClass))

typedef struct _TubaAPICollection TubaAPICollection;
typedef struct _TubaAPICollectionClass TubaAPICollectionClass;
typedef enum  {
	TUBA_VIEWS_THREAD_THREAD_ROLE_NONE,
	TUBA_VIEWS_THREAD_THREAD_ROLE_START,
	TUBA_VIEWS_THREAD_THREAD_ROLE_MIDDLE,
	TUBA_VIEWS_THREAD_THREAD_ROLE_END
} TubaViewsThreadThreadRole;

#define TUBA_VIEWS_THREAD_TYPE_THREAD_ROLE (tuba_views_thread_thread_role_get_type ())
enum  {
	TUBA_API_STATUS_0_PROPERTY,
	TUBA_API_STATUS_ID_PROPERTY,
	TUBA_API_STATUS_ACCOUNT_PROPERTY,
	TUBA_API_STATUS_URI_PROPERTY,
	TUBA_API_STATUS_SPOILER_TEXT_PROPERTY,
	TUBA_API_STATUS_IN_REPLY_TO_ID_PROPERTY,
	TUBA_API_STATUS_IN_REPLY_TO_ACCOUNT_ID_PROPERTY,
	TUBA_API_STATUS_CONTENT_PROPERTY,
	TUBA_API_STATUS_APPLICATION_PROPERTY,
	TUBA_API_STATUS_REPLIES_COUNT_PROPERTY,
	TUBA_API_STATUS_QUOTES_COUNT_PROPERTY,
	TUBA_API_STATUS_REBLOGS_COUNT_PROPERTY,
	TUBA_API_STATUS_FAVOURITES_COUNT_PROPERTY,
	TUBA_API_STATUS_CREATED_AT_PROPERTY,
	TUBA_API_STATUS_REBLOGGED_PROPERTY,
	TUBA_API_STATUS_FAVOURITED_PROPERTY,
	TUBA_API_STATUS_BOOKMARKED_PROPERTY,
	TUBA_API_STATUS_LOCAL_ONLY_PROPERTY,
	TUBA_API_STATUS_SENSITIVE_PROPERTY,
	TUBA_API_STATUS_MUTED_PROPERTY,
	TUBA_API_STATUS_PINNED_PROPERTY,
	TUBA_API_STATUS_EDITED_AT_PROPERTY,
	TUBA_API_STATUS_VISIBILITY_PROPERTY,
	TUBA_API_STATUS_REBLOG_PROPERTY,
	TUBA_API_STATUS_QUOTE_PROPERTY,
	TUBA_API_STATUS_MENTIONS_PROPERTY,
	TUBA_API_STATUS_REACTIONS_PROPERTY,
	TUBA_API_STATUS_EMOJI_REACTIONS_PROPERTY,
	TUBA_API_STATUS_PLEROMA_PROPERTY,
	TUBA_API_STATUS_MEDIA_ATTACHMENTS_PROPERTY,
	TUBA_API_STATUS_POLL_PROPERTY,
	TUBA_API_STATUS_EMOJIS_PROPERTY,
	TUBA_API_STATUS_CARD_PROPERTY,
	TUBA_API_STATUS_FILTERED_PROPERTY,
	TUBA_API_STATUS_QUOTE_APPROVAL_PROPERTY,
	TUBA_API_STATUS_TUBA_HAD_QUOTE_PROPERTY,
	TUBA_API_STATUS_TAGGED_COLLECTIONS_PROPERTY,
	TUBA_API_STATUS_TUBA_FILTER_HIDDEN_PROPERTY,
	TUBA_API_STATUS_TUBA_FILTER_WARN_PROPERTY,
	TUBA_API_STATUS_TUBA_SEARCH_QUERY_REGEX_PROPERTY,
	TUBA_API_STATUS_TUBA_THREAD_ROLE_PROPERTY,
	TUBA_API_STATUS_TUBA_SPOILER_REVEALED_PROPERTY,
	TUBA_API_STATUS_TUBA_TRANSLATABLE_PROPERTY,
	TUBA_API_STATUS_LANGUAGE_PROPERTY,
	TUBA_API_STATUS_EMOJIS_MAP_PROPERTY,
	TUBA_API_STATUS_COMPAT_STATUS_REACTIONS_PROPERTY,
	TUBA_API_STATUS_COMPAT_LOCAL_ONLY_PROPERTY,
	TUBA_API_STATUS_T_URL_PROPERTY,
	TUBA_API_STATUS_URL_PROPERTY,
	TUBA_API_STATUS_IS_EDITED_PROPERTY,
	TUBA_API_STATUS_FORMAL_PROPERTY,
	TUBA_API_STATUS_HAS_SPOILER_PROPERTY,
	TUBA_API_STATUS_CAN_BE_QUOTED_PROPERTY,
	TUBA_API_STATUS_CAN_BE_BOOSTED_PROPERTY,
	TUBA_API_STATUS_IS_MINE_PROPERTY,
	TUBA_API_STATUS_HAS_MEDIA_PROPERTY,
	TUBA_API_STATUS_NUM_PROPERTIES
};
static GParamSpec* tuba_api_status_properties[TUBA_API_STATUS_NUM_PROPERTIES];

#define TUBA_TYPE_SETTINGS (tuba_settings_get_type ())
#define TUBA_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_SETTINGS, TubaSettings))
#define TUBA_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_SETTINGS, TubaSettingsClass))
#define TUBA_IS_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_SETTINGS))
#define TUBA_IS_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_SETTINGS))
#define TUBA_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_SETTINGS, TubaSettingsClass))

typedef struct _TubaSettings TubaSettings;
typedef struct _TubaSettingsClass TubaSettingsClass;
#define _g_free0(var) (var = (g_free (var), NULL))
typedef enum  {
	TUBA_API_STATUS_QUOTE_POLICY_PUBLIC,
	TUBA_API_STATUS_QUOTE_POLICY_FOLLOWERS,
	TUBA_API_STATUS_QUOTE_POLICY_NOBODY
} TubaAPIStatusQuotePolicy;

#define TUBA_API_STATUS_TYPE_QUOTE_POLICY (tuba_api_status_quote_policy_get_type ())
typedef enum  {
	TUBA_API_STATUS_VISIBILITY_PUBLIC,
	TUBA_API_STATUS_VISIBILITY_UNLISTED,
	TUBA_API_STATUS_VISIBILITY_PRIVATE,
	TUBA_API_STATUS_VISIBILITY_DIRECT,
	TUBA_API_STATUS_VISIBILITY_LOCAL
} TubaAPIStatusVisibility;

#define TUBA_API_STATUS_TYPE_VISIBILITY (tuba_api_status_visibility_get_type ())
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
typedef struct _Block17Data Block17Data;

#define TUBA_WIDGETS_TYPE_STATUS (tuba_widgets_status_get_type ())
#define TUBA_WIDGETS_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_WIDGETS_TYPE_STATUS, TubaWidgetsStatus))
#define TUBA_WIDGETS_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_WIDGETS_TYPE_STATUS, TubaWidgetsStatusClass))
#define TUBA_WIDGETS_IS_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_WIDGETS_TYPE_STATUS))
#define TUBA_WIDGETS_IS_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_WIDGETS_TYPE_STATUS))
#define TUBA_WIDGETS_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_WIDGETS_TYPE_STATUS, TubaWidgetsStatusClass))

typedef struct _TubaWidgetsStatus TubaWidgetsStatus;
typedef struct _TubaWidgetsStatusClass TubaWidgetsStatusClass;

#define TUBA_TYPE_APPLICATION (tuba_application_get_type ())
#define TUBA_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_APPLICATION, TubaApplication))
#define TUBA_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_APPLICATION, TubaApplicationClass))
#define TUBA_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_APPLICATION))
#define TUBA_IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_APPLICATION))
#define TUBA_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_APPLICATION, TubaApplicationClass))

typedef struct _TubaApplication TubaApplication;
typedef struct _TubaApplicationClass TubaApplicationClass;

#define TUBA_DIALOGS_TYPE_MAIN_WINDOW (tuba_dialogs_main_window_get_type ())
#define TUBA_DIALOGS_MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_DIALOGS_TYPE_MAIN_WINDOW, TubaDialogsMainWindow))
#define TUBA_DIALOGS_MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_DIALOGS_TYPE_MAIN_WINDOW, TubaDialogsMainWindowClass))
#define TUBA_DIALOGS_IS_MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_DIALOGS_TYPE_MAIN_WINDOW))
#define TUBA_DIALOGS_IS_MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_DIALOGS_TYPE_MAIN_WINDOW))
#define TUBA_DIALOGS_MAIN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_DIALOGS_TYPE_MAIN_WINDOW, TubaDialogsMainWindowClass))

typedef struct _TubaDialogsMainWindow TubaDialogsMainWindow;
typedef struct _TubaDialogsMainWindowClass TubaDialogsMainWindowClass;

#define TUBA_VIEWS_TYPE_BASE (tuba_views_base_get_type ())
#define TUBA_VIEWS_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_BASE, TubaViewsBase))
#define TUBA_VIEWS_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_BASE, TubaViewsBaseClass))
#define TUBA_VIEWS_IS_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_BASE))
#define TUBA_VIEWS_IS_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_BASE))
#define TUBA_VIEWS_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_BASE, TubaViewsBaseClass))

typedef struct _TubaViewsBase TubaViewsBase;
typedef struct _TubaViewsBaseClass TubaViewsBaseClass;

#define TUBA_VIEWS_TYPE_CONTENT_BASE (tuba_views_content_base_get_type ())
#define TUBA_VIEWS_CONTENT_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_CONTENT_BASE, TubaViewsContentBase))
#define TUBA_VIEWS_CONTENT_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_CONTENT_BASE, TubaViewsContentBaseClass))
#define TUBA_VIEWS_IS_CONTENT_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_CONTENT_BASE))
#define TUBA_VIEWS_IS_CONTENT_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_CONTENT_BASE))
#define TUBA_VIEWS_CONTENT_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_CONTENT_BASE, TubaViewsContentBaseClass))

typedef struct _TubaViewsContentBase TubaViewsContentBase;
typedef struct _TubaViewsContentBaseClass TubaViewsContentBaseClass;

#define TUBA_VIEWS_TYPE_THREAD (tuba_views_thread_get_type ())
#define TUBA_VIEWS_THREAD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_THREAD, TubaViewsThread))
#define TUBA_VIEWS_THREAD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_THREAD, TubaViewsThreadClass))
#define TUBA_VIEWS_IS_THREAD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_THREAD))
#define TUBA_VIEWS_IS_THREAD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_THREAD))
#define TUBA_VIEWS_THREAD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_THREAD, TubaViewsThreadClass))

typedef struct _TubaViewsThread TubaViewsThread;
typedef struct _TubaViewsThreadClass TubaViewsThreadClass;

#define TUBA_TYPE_ACCOUNT_STORE (tuba_account_store_get_type ())
#define TUBA_ACCOUNT_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_ACCOUNT_STORE, TubaAccountStore))
#define TUBA_ACCOUNT_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_ACCOUNT_STORE, TubaAccountStoreClass))
#define TUBA_IS_ACCOUNT_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_ACCOUNT_STORE))
#define TUBA_IS_ACCOUNT_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_ACCOUNT_STORE))
#define TUBA_ACCOUNT_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_ACCOUNT_STORE, TubaAccountStoreClass))

typedef struct _TubaAccountStore TubaAccountStore;
typedef struct _TubaAccountStoreClass TubaAccountStoreClass;

#define TUBA_TYPE_REQUEST_V2 (tuba_request_v2_get_type ())
#define TUBA_REQUEST_V2(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_REQUEST_V2, TubaRequestV2))
#define TUBA_REQUEST_V2_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_REQUEST_V2, TubaRequestV2Class))
#define TUBA_IS_REQUEST_V2(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_REQUEST_V2))
#define TUBA_IS_REQUEST_V2_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_REQUEST_V2))
#define TUBA_REQUEST_V2_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_REQUEST_V2, TubaRequestV2Class))

typedef struct _TubaRequestV2 TubaRequestV2;
typedef struct _TubaRequestV2Class TubaRequestV2Class;
typedef enum  {
	TUBA_REQUEST_V2_METHOD_GET,
	TUBA_REQUEST_V2_METHOD_POST,
	TUBA_REQUEST_V2_METHOD_PUT,
	TUBA_REQUEST_V2_METHOD_DELETE,
	TUBA_REQUEST_V2_METHOD_PATCH
} TubaRequestV2Method;

#define TUBA_REQUEST_V2_TYPE_METHOD (tuba_request_v2_method_get_type ())
typedef struct _Block18Data Block18Data;
typedef enum  {
	TUBA_API_FILTERS_FILTER_FILTER_ACTION_HIDE,
	TUBA_API_FILTERS_FILTER_FILTER_ACTION_BLUR,
	TUBA_API_FILTERS_FILTER_FILTER_ACTION_WARN
} TubaAPIFiltersFilterFilterAction;

#define TUBA_API_FILTERS_FILTER_TYPE_FILTER_ACTION (tuba_api_filters_filter_filter_action_get_type ())

#define TUBA_API_FILTERS_TYPE_FILTER (tuba_api_filters_filter_get_type ())
#define TUBA_API_FILTERS_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_FILTERS_TYPE_FILTER, TubaAPIFiltersFilter))
#define TUBA_API_FILTERS_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_FILTERS_TYPE_FILTER, TubaAPIFiltersFilterClass))
#define TUBA_API_FILTERS_IS_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_FILTERS_TYPE_FILTER))
#define TUBA_API_FILTERS_IS_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_FILTERS_TYPE_FILTER))
#define TUBA_API_FILTERS_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_FILTERS_TYPE_FILTER, TubaAPIFiltersFilterClass))

typedef struct _TubaAPIFiltersFilter TubaAPIFiltersFilter;
typedef struct _TubaAPIFiltersFilterClass TubaAPIFiltersFilterClass;
typedef struct _Block19Data Block19Data;
typedef enum  {
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_NONE = 1 << 0,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_QUOTE = 1 << 1,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_EMOJI_REACTIONS = 1 << 2,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_BUBBLE = 1 << 3,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_GROUP_NOTIFICATIONS = 1 << 4,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_FEATURE_TAGS = 1 << 5,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_ENDORSE_USERS = 1 << 6,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_MUTUALS = 1 << 7,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_TRANSLATION = 1 << 8,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_ICESHRIMP = 1 << 9,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_GLITCH = 1 << 10,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_LOCAL_ONLY = 1 << 11,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_GOTOSOCIAL = 1 << 12
} TubaInstanceAccountInstanceFeatures;

#define TUBA_INSTANCE_ACCOUNT_TYPE_INSTANCE_FEATURES (tuba_instance_account_instance_features_get_type ())

#define TUBA_API_INSTANCE_V2_TYPE_API_VERSIONS (tuba_api_instance_v2_api_versions_get_type ())
#define TUBA_API_INSTANCE_V2_API_VERSIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_INSTANCE_V2_TYPE_API_VERSIONS, TubaAPIInstanceV2APIVersions))
#define TUBA_API_INSTANCE_V2_API_VERSIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_INSTANCE_V2_TYPE_API_VERSIONS, TubaAPIInstanceV2APIVersionsClass))
#define TUBA_API_INSTANCE_V2_IS_API_VERSIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_INSTANCE_V2_TYPE_API_VERSIONS))
#define TUBA_API_INSTANCE_V2_IS_API_VERSIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_INSTANCE_V2_TYPE_API_VERSIONS))
#define TUBA_API_INSTANCE_V2_API_VERSIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_INSTANCE_V2_TYPE_API_VERSIONS, TubaAPIInstanceV2APIVersionsClass))

typedef struct _TubaAPIInstanceV2APIVersions TubaAPIInstanceV2APIVersions;
typedef struct _TubaAPIInstanceV2APIVersionsClass TubaAPIInstanceV2APIVersionsClass;
typedef struct _TubaAPIStatusQuoteApprovalPrivate TubaAPIStatusQuoteApprovalPrivate;
enum  {
	TUBA_API_STATUS_QUOTE_APPROVAL_0_PROPERTY,
	TUBA_API_STATUS_QUOTE_APPROVAL_AUTOMATIC_PROPERTY,
	TUBA_API_STATUS_QUOTE_APPROVAL_MANUAL_PROPERTY,
	TUBA_API_STATUS_QUOTE_APPROVAL_CURRENT_USER_PROPERTY,
	TUBA_API_STATUS_QUOTE_APPROVAL_NUM_PROPERTIES
};
static GParamSpec* tuba_api_status_quote_approval_properties[TUBA_API_STATUS_QUOTE_APPROVAL_NUM_PROPERTIES];

struct _TubaWidgetizableIface {
	GTypeInterface parent_iface;
	GtkWidget* (*to_widget) (TubaWidgetizable* self);
	void (*open) (TubaWidgetizable* self);
	void (*resolve_open) (TubaWidgetizable* self, TubaInstanceAccount* account);
};

struct _TubaEntity {
	GObject parent_instance;
	TubaEntityPrivate * priv;
};

struct _TubaEntityClass {
	GObjectClass parent_class;
	gboolean (*is_local) (TubaEntity* self, TubaInstanceAccount* account);
	GType (*deserialize_array_type) (TubaEntity* self, const gchar* prop);
};

struct _TubaAPISearchResultIface {
	GTypeInterface parent_iface;
	GRegex* (*get_tuba_search_query_regex) (TubaAPISearchResult* self);
	void (*set_tuba_search_query_regex) (TubaAPISearchResult* self, GRegex* value);
};

struct _TubaAPIStatus {
	TubaEntity parent_instance;
	TubaAPIStatusPrivate * priv;
};

struct _TubaAPIStatusClass {
	TubaEntityClass parent_class;
	gboolean (*get_reply_mentions) (TubaAPIStatus* self, gchar** joined_mentions);
};

struct _TubaAPIStatusPrivate {
	gchar* _id;
	TubaAPIAccount* _account;
	gchar* _uri;
	gchar* _spoiler_text;
	gchar* _in_reply_to_id;
	gchar* _in_reply_to_account_id;
	gchar* _content;
	TubaAPIStatusApplication* _application;
	gint64 _replies_count;
	gint64 _quotes_count;
	gint64 _reblogs_count;
	gint64 _favourites_count;
	gchar* _created_at;
	gboolean _reblogged;
	gboolean _favourited;
	gboolean _bookmarked;
	gboolean _local_only;
	gboolean _sensitive;
	gboolean _muted;
	gboolean _pinned;
	gchar* _edited_at;
	gchar* _visibility;
	TubaAPIStatus* _reblog;
	TubaAPIQuote* _quote;
	GeeArrayList* _mentions;
	GeeArrayList* _reactions;
	GeeArrayList* _emoji_reactions;
	TubaAPIPleromaStatus* _pleroma;
	GeeArrayList* _media_attachments;
	TubaAPIPoll* _poll;
	GeeArrayList* _emojis;
	TubaAPIPreviewCard* _card;
	GeeArrayList* _filtered;
	TubaAPIStatusQuoteApproval* _quote_approval;
	gboolean _tuba_had_quote;
	GeeArrayList* _tagged_collections;
	GRegex* _tuba_search_query_regex;
	TubaViewsThreadThreadRole _tuba_thread_role;
	gboolean _tuba_spoiler_revealed;
	gboolean _tuba_translatable;
	gchar* _language;
	gchar* _t_url;
};

struct _Block17Data {
	int _ref_count_;
	TubaAPIStatus* self;
	GeeHashMap* res;
};

struct _Block18Data {
	int _ref_count_;
	TubaAPIStatus* self;
	gboolean res;
};

struct _Block19Data {
	int _ref_count_;
	TubaAPIStatus* self;
	gchar* res;
};

struct _TubaAPIStatusQuoteApproval {
	TubaEntity parent_instance;
	TubaAPIStatusQuoteApprovalPrivate * priv;
};

struct _TubaAPIStatusQuoteApprovalClass {
	TubaEntityClass parent_class;
};

struct _TubaAPIStatusQuoteApprovalPrivate {
	GeeArrayList* _automatic;
	GeeArrayList* _manual;
	gchar* _current_user;
};

static gint TubaAPIStatus_private_offset;
static gpointer tuba_api_status_parent_class = NULL;
VALA_EXTERN TubaSettings* tuba_settings;
VALA_EXTERN TubaApplication* tuba_app;
VALA_EXTERN TubaAccountStore* tuba_accounts;
static gint TubaAPIStatusQuoteApproval_private_offset;
static gpointer tuba_api_status_quote_approval_parent_class = NULL;
static TubaWidgetizableIface * tuba_api_status_tuba_widgetizable_parent_iface = NULL;
static TubaAPISearchResultIface * tuba_api_status_tuba_api_search_result_parent_iface = NULL;

VALA_EXTERN GType tuba_entity_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaEntity, g_object_unref)
VALA_EXTERN GType tuba_api_account_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAccount, g_object_unref)
VALA_EXTERN GType tuba_instance_account_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaInstanceAccount, g_object_unref)
VALA_EXTERN GType tuba_widgetizable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetizable, g_object_unref)
VALA_EXTERN GType tuba_api_search_result_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPISearchResult, g_object_unref)
VALA_EXTERN GType tuba_api_status_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIStatus, g_object_unref)
VALA_EXTERN GType tuba_api_status_application_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIStatusApplication, g_object_unref)
VALA_EXTERN GType tuba_api_quote_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIQuote, g_object_unref)
VALA_EXTERN GType tuba_api_mention_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIMention, g_object_unref)
VALA_EXTERN GType tuba_api_emoji_reaction_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIEmojiReaction, g_object_unref)
VALA_EXTERN GType tuba_api_pleroma_status_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIPleromaStatus, g_object_unref)
VALA_EXTERN GType tuba_api_attachment_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAttachment, g_object_unref)
VALA_EXTERN GType tuba_api_poll_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIPoll, g_object_unref)
VALA_EXTERN GType tuba_api_emoji_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIEmoji, g_object_unref)
VALA_EXTERN GType tuba_api_preview_card_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIPreviewCard, g_object_unref)
VALA_EXTERN GType tuba_api_filters_filter_result_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIFiltersFilterResult, g_object_unref)
VALA_EXTERN GType tuba_api_status_quote_approval_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIStatusQuoteApproval, g_object_unref)
VALA_EXTERN GType tuba_api_collection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPICollection, g_object_unref)
VALA_EXTERN GType tuba_views_thread_thread_role_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType tuba_entity_deserialize_array_type (TubaEntity* self,
                                          const gchar* prop);
VALA_EXTERN gboolean tuba_api_status_get_reply_mentions (TubaAPIStatus* self,
                                             gchar** joined_mentions);
VALA_EXTERN GType tuba_settings_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaSettings, g_object_unref)
VALA_EXTERN gboolean tuba_settings_get_show_spoilers (TubaSettings* self);
VALA_EXTERN const gchar* tuba_api_status_get_uri (TubaAPIStatus* self);
VALA_EXTERN GType tuba_api_status_quote_policy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* tuba_api_status_quote_policy_to_string (TubaAPIStatusQuotePolicy self);
VALA_EXTERN gchar* tuba_api_status_quote_policy_to_title (TubaAPIStatusQuotePolicy self);
VALA_EXTERN gchar* tuba_api_status_quote_policy_to_subtitle (TubaAPIStatusQuotePolicy self);
VALA_EXTERN TubaAPIStatusQuotePolicy tuba_api_status_quote_policy_from_string (const gchar* policy);
VALA_EXTERN GType tuba_api_status_visibility_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* tuba_api_status_visibility_to_string (TubaAPIStatusVisibility self);
VALA_EXTERN gchar* tuba_api_status_visibility_to_title (TubaAPIStatusVisibility self);
VALA_EXTERN TubaAPIStatusVisibility* tuba_api_status_visibility_from_string (const gchar* id);
static TubaAPIStatusVisibility* _tuba_api_status_visibility_dup (TubaAPIStatusVisibility* self);
VALA_EXTERN gint tuba_api_status_visibility_privacy_rate (TubaAPIStatusVisibility self);
VALA_EXTERN const gchar* tuba_settings_get_default_post_visibility (TubaSettings* self);
VALA_EXTERN const gchar* tuba_settings_get_default_language (TubaSettings* self);
static GType tuba_api_status_real_deserialize_array_type (TubaEntity* base,
                                                   const gchar* prop);
static GeeHashMap* tuba_api_status_gen_emojis_map (TubaAPIStatus* self);
static Block17Data* block17_data_ref (Block17Data* _data17_);
static void block17_data_unref (void * _userdata_);
VALA_EXTERN GeeArrayList* tuba_api_status_get_emojis (TubaAPIStatus* self);
static gboolean ___lambda87_ (Block17Data* _data17_,
                       TubaAPIEmoji* e);
VALA_EXTERN const gchar* tuba_api_emoji_get_shortcode (TubaAPIEmoji* self);
VALA_EXTERN const gchar* tuba_api_emoji_get_url (TubaAPIEmoji* self);
static gboolean ____lambda87__gee_forall_func (gpointer g,
                                        gpointer self);
static gchar* tuba_api_status_get_modified_url (TubaAPIStatus* self);
VALA_EXTERN const gchar* tuba_api_status_get_t_url (TubaAPIStatus* self);
VALA_EXTERN const gchar* tuba_api_status_get_id (TubaAPIStatus* self);
VALA_EXTERN TubaAPIStatus* tuba_api_status_from (JsonNode* node,
                                     GError** error);
VALA_EXTERN TubaEntity* tuba_entity_from_json (GType type,
                                   JsonNode* node,
                                   GError** error);
VALA_EXTERN TubaAPIStatus* tuba_api_status_new_empty (void);
VALA_EXTERN TubaAPIStatus* tuba_api_status_construct_empty (GType object_type);
VALA_EXTERN TubaAPIStatus* tuba_api_status_new_from_account (TubaAPIAccount* account);
VALA_EXTERN TubaAPIStatus* tuba_api_status_construct_from_account (GType object_type,
                                                       TubaAPIAccount* account);
VALA_EXTERN const gchar* tuba_api_account_get_created_at (TubaAPIAccount* self);
VALA_EXTERN GeeArrayList* tuba_api_account_get_emojis (TubaAPIAccount* self);
VALA_EXTERN const gchar* tuba_api_account_get_note (TubaAPIAccount* self);
VALA_EXTERN void tuba_api_status_set_content (TubaAPIStatus* self,
                                  const gchar* value);
static GtkWidget* tuba_api_status_real_to_widget (TubaWidgetizable* base);
VALA_EXTERN TubaWidgetsStatus* tuba_widgets_status_new (TubaAPIStatus* status);
VALA_EXTERN TubaWidgetsStatus* tuba_widgets_status_construct (GType object_type,
                                                  TubaAPIStatus* status);
VALA_EXTERN GType tuba_widgets_status_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetsStatus, g_object_unref)
static void tuba_api_status_real_open (TubaWidgetizable* base);
VALA_EXTERN GType tuba_application_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaApplication, g_object_unref)
VALA_EXTERN GType tuba_dialogs_main_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaDialogsMainWindow, g_object_unref)
VALA_EXTERN TubaDialogsMainWindow* tuba_application_get_main_window (TubaApplication* self);
VALA_EXTERN GType tuba_views_base_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsBase, g_object_unref)
VALA_EXTERN TubaViewsBase* tuba_dialogs_main_window_open_view (TubaDialogsMainWindow* self,
                                                   TubaViewsBase* view);
VALA_EXTERN TubaAPIStatus* tuba_api_status_get_formal (TubaAPIStatus* self);
VALA_EXTERN TubaViewsThread* tuba_views_thread_new (TubaAPIStatus* status);
VALA_EXTERN TubaViewsThread* tuba_views_thread_construct (GType object_type,
                                              TubaAPIStatus* status);
VALA_EXTERN GType tuba_views_content_base_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsContentBase, g_object_unref)
VALA_EXTERN GType tuba_views_thread_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsThread, g_object_unref)
static gboolean tuba_api_status_real_get_reply_mentions (TubaAPIStatus* self,
                                                  gchar** joined_mentions);
VALA_EXTERN TubaAPIAccount* tuba_api_status_get_account (TubaAPIStatus* self);
VALA_EXTERN const gchar* tuba_api_account_get_acct (TubaAPIAccount* self);
VALA_EXTERN GType tuba_account_store_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAccountStore, g_object_unref)
VALA_EXTERN TubaInstanceAccount* tuba_account_store_get_active (TubaAccountStore* self);
VALA_EXTERN gchar* tuba_api_account_get_handle (TubaAPIAccount* self);
static void _vala_array_add3 (gchar** * array,
                       gint* length,
                       gint* size,
                       gchar* value);
VALA_EXTERN GeeArrayList* tuba_api_status_get_mentions (TubaAPIStatus* self);
VALA_EXTERN const gchar* tuba_api_mention_get_acct (TubaAPIMention* self);
VALA_EXTERN gchar* tuba_api_mention_get_handle (TubaAPIMention* self);
static gboolean _vala_string_array_contains (gchar* * stack,
                                      gssize stack_length,
                                      const gchar* needle);
static void _vala_array_add4 (gchar** * array,
                       gint* length,
                       gint* size,
                       gchar* value);
VALA_EXTERN GType tuba_request_v2_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaRequestV2, g_object_unref)
static TubaRequestV2* tuba_api_status_action (TubaAPIStatus* self,
                                       const gchar* action);
VALA_EXTERN GType tuba_request_v2_method_get_type (void) G_GNUC_CONST ;
VALA_EXTERN TubaRequestV2* tuba_request_v2_new (const gchar* url,
                                    TubaRequestV2Method method);
VALA_EXTERN TubaRequestV2* tuba_request_v2_construct (GType object_type,
                                          const gchar* url,
                                          TubaRequestV2Method method);
VALA_EXTERN void tuba_request_v2_set_account (TubaRequestV2* self,
                                  TubaInstanceAccount* value);
VALA_EXTERN void tuba_request_v2_set_priority (TubaRequestV2* self,
                                   SoupMessagePriority value);
VALA_EXTERN TubaRequestV2* tuba_api_status_favourite_req (TubaAPIStatus* self);
VALA_EXTERN TubaRequestV2* tuba_api_status_unfavourite_req (TubaAPIStatus* self);
VALA_EXTERN TubaRequestV2* tuba_api_status_bookmark_req (TubaAPIStatus* self);
VALA_EXTERN TubaRequestV2* tuba_api_status_unbookmark_req (TubaAPIStatus* self);
VALA_EXTERN TubaRequestV2* tuba_api_status_reblog_req (TubaAPIStatus* self,
                                           TubaAPIStatusVisibility* visibility);
VALA_EXTERN void tuba_request_v2_add_form_data (TubaRequestV2* self,
                                    const gchar* name,
                                    const gchar* val);
VALA_EXTERN TubaRequestV2* tuba_api_status_unreblog_req (TubaAPIStatus* self);
VALA_EXTERN TubaRequestV2* tuba_api_status_annihilate (TubaAPIStatus* self);
VALA_EXTERN TubaAPIStatus* tuba_api_status_new (void);
VALA_EXTERN TubaAPIStatus* tuba_api_status_construct (GType object_type);
VALA_EXTERN TubaEntity* tuba_entity_new (void);
VALA_EXTERN TubaEntity* tuba_entity_construct (GType object_type);
VALA_EXTERN void tuba_api_status_set_id (TubaAPIStatus* self,
                             const gchar* value);
VALA_EXTERN void tuba_api_status_set_account (TubaAPIStatus* self,
                                  TubaAPIAccount* value);
VALA_EXTERN void tuba_api_status_set_uri (TubaAPIStatus* self,
                              const gchar* value);
VALA_EXTERN const gchar* tuba_api_status_get_spoiler_text (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_spoiler_text (TubaAPIStatus* self,
                                       const gchar* value);
VALA_EXTERN const gchar* tuba_api_status_get_in_reply_to_id (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_in_reply_to_id (TubaAPIStatus* self,
                                         const gchar* value);
VALA_EXTERN const gchar* tuba_api_status_get_in_reply_to_account_id (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_in_reply_to_account_id (TubaAPIStatus* self,
                                                 const gchar* value);
VALA_EXTERN const gchar* tuba_api_status_get_content (TubaAPIStatus* self);
VALA_EXTERN TubaAPIStatusApplication* tuba_api_status_get_application (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_application (TubaAPIStatus* self,
                                      TubaAPIStatusApplication* value);
VALA_EXTERN gint64 tuba_api_status_get_replies_count (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_replies_count (TubaAPIStatus* self,
                                        gint64 value);
VALA_EXTERN gint64 tuba_api_status_get_quotes_count (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_quotes_count (TubaAPIStatus* self,
                                       gint64 value);
VALA_EXTERN gint64 tuba_api_status_get_reblogs_count (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_reblogs_count (TubaAPIStatus* self,
                                        gint64 value);
VALA_EXTERN gint64 tuba_api_status_get_favourites_count (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_favourites_count (TubaAPIStatus* self,
                                           gint64 value);
VALA_EXTERN const gchar* tuba_api_status_get_created_at (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_created_at (TubaAPIStatus* self,
                                     const gchar* value);
VALA_EXTERN gboolean tuba_api_status_get_reblogged (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_reblogged (TubaAPIStatus* self,
                                    gboolean value);
VALA_EXTERN gboolean tuba_api_status_get_favourited (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_favourited (TubaAPIStatus* self,
                                     gboolean value);
VALA_EXTERN gboolean tuba_api_status_get_bookmarked (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_bookmarked (TubaAPIStatus* self,
                                     gboolean value);
VALA_EXTERN gboolean tuba_api_status_get_local_only (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_local_only (TubaAPIStatus* self,
                                     gboolean value);
VALA_EXTERN gboolean tuba_api_status_get_sensitive (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_sensitive (TubaAPIStatus* self,
                                    gboolean value);
VALA_EXTERN gboolean tuba_api_status_get_muted (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_muted (TubaAPIStatus* self,
                                gboolean value);
VALA_EXTERN gboolean tuba_api_status_get_pinned (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_pinned (TubaAPIStatus* self,
                                 gboolean value);
VALA_EXTERN const gchar* tuba_api_status_get_edited_at (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_edited_at (TubaAPIStatus* self,
                                    const gchar* value);
VALA_EXTERN const gchar* tuba_api_status_get_visibility (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_visibility (TubaAPIStatus* self,
                                     const gchar* value);
VALA_EXTERN TubaAPIStatus* tuba_api_status_get_reblog (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_reblog (TubaAPIStatus* self,
                                 TubaAPIStatus* value);
VALA_EXTERN TubaAPIQuote* tuba_api_status_get_quote (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_quote (TubaAPIStatus* self,
                                TubaAPIQuote* value);
VALA_EXTERN void tuba_api_status_set_mentions (TubaAPIStatus* self,
                                   GeeArrayList* value);
VALA_EXTERN GeeArrayList* tuba_api_status_get_reactions (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_reactions (TubaAPIStatus* self,
                                    GeeArrayList* value);
VALA_EXTERN GeeArrayList* tuba_api_status_get_emoji_reactions (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_emoji_reactions (TubaAPIStatus* self,
                                          GeeArrayList* value);
VALA_EXTERN TubaAPIPleromaStatus* tuba_api_status_get_pleroma (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_pleroma (TubaAPIStatus* self,
                                  TubaAPIPleromaStatus* value);
VALA_EXTERN GeeArrayList* tuba_api_status_get_media_attachments (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_media_attachments (TubaAPIStatus* self,
                                            GeeArrayList* value);
VALA_EXTERN TubaAPIPoll* tuba_api_status_get_poll (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_poll (TubaAPIStatus* self,
                               TubaAPIPoll* value);
VALA_EXTERN void tuba_api_status_set_emojis (TubaAPIStatus* self,
                                 GeeArrayList* value);
VALA_EXTERN TubaAPIPreviewCard* tuba_api_status_get_card (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_card (TubaAPIStatus* self,
                               TubaAPIPreviewCard* value);
VALA_EXTERN GeeArrayList* tuba_api_status_get_filtered (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_filtered (TubaAPIStatus* self,
                                   GeeArrayList* value);
VALA_EXTERN TubaAPIStatusQuoteApproval* tuba_api_status_get_quote_approval (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_quote_approval (TubaAPIStatus* self,
                                         TubaAPIStatusQuoteApproval* value);
VALA_EXTERN gboolean tuba_api_status_get_tuba_had_quote (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_tuba_had_quote (TubaAPIStatus* self,
                                         gboolean value);
VALA_EXTERN GeeArrayList* tuba_api_status_get_tagged_collections (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_tagged_collections (TubaAPIStatus* self,
                                             GeeArrayList* value);
VALA_EXTERN gboolean tuba_api_status_get_tuba_filter_hidden (TubaAPIStatus* self);
static Block18Data* block18_data_ref (Block18Data* _data18_);
static void block18_data_unref (void * _userdata_);
VALA_EXTERN gboolean tuba_api_account_is_self (TubaAPIAccount* self);
static gboolean _tuba_api_status_tuba_filter_hidden___lambda90_ (Block18Data* _data18_,
                                                          TubaAPIFiltersFilterResult* e);
VALA_EXTERN GType tuba_api_filters_filter_filter_action_get_type (void) G_GNUC_CONST ;
VALA_EXTERN TubaAPIFiltersFilterFilterAction tuba_api_filters_filter_filter_action_from_string (const gchar* action);
VALA_EXTERN GType tuba_api_filters_filter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIFiltersFilter, g_object_unref)
VALA_EXTERN TubaAPIFiltersFilter* tuba_api_filters_filter_result_get_filter (TubaAPIFiltersFilterResult* self);
VALA_EXTERN const gchar* tuba_api_filters_filter_get_filter_action (TubaAPIFiltersFilter* self);
static gboolean __tuba_api_status_tuba_filter_hidden___lambda90__gee_forall_func (gpointer g,
                                                                           gpointer self);
VALA_EXTERN gchar* tuba_api_status_get_tuba_filter_warn (TubaAPIStatus* self);
static Block19Data* block19_data_ref (Block19Data* _data19_);
static void block19_data_unref (void * _userdata_);
static gboolean _tuba_api_status_tuba_filter_warn___lambda86_ (Block19Data* _data19_,
                                                        TubaAPIFiltersFilterResult* e);
VALA_EXTERN const gchar* tuba_api_filters_filter_get_title (TubaAPIFiltersFilter* self);
static gboolean __tuba_api_status_tuba_filter_warn___lambda86__gee_forall_func (gpointer g,
                                                                         gpointer self);
VALA_EXTERN TubaViewsThreadThreadRole tuba_api_status_get_tuba_thread_role (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_tuba_thread_role (TubaAPIStatus* self,
                                           TubaViewsThreadThreadRole value);
VALA_EXTERN gboolean tuba_api_status_get_tuba_spoiler_revealed (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_tuba_spoiler_revealed (TubaAPIStatus* self,
                                                gboolean value);
VALA_EXTERN gboolean tuba_api_status_get_tuba_translatable (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_tuba_translatable (TubaAPIStatus* self,
                                            gboolean value);
VALA_EXTERN const gchar* tuba_api_status_get_language (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_language (TubaAPIStatus* self,
                                   const gchar* value);
VALA_EXTERN GeeHashMap* tuba_api_status_get_emojis_map (TubaAPIStatus* self);
VALA_EXTERN GeeArrayList* tuba_api_status_get_compat_status_reactions (TubaAPIStatus* self);
VALA_EXTERN GeeArrayList* tuba_api_pleroma_status_get_emoji_reactions (TubaAPIPleromaStatus* self);
VALA_EXTERN gboolean tuba_api_status_get_compat_local_only (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_t_url (TubaAPIStatus* self,
                                const gchar* value);
VALA_EXTERN gchar* tuba_api_status_get_url (TubaAPIStatus* self);
VALA_EXTERN void tuba_api_status_set_url (TubaAPIStatus* self,
                              const gchar* value);
VALA_EXTERN gboolean tuba_api_status_get_is_edited (TubaAPIStatus* self);
VALA_EXTERN gboolean tuba_api_status_get_has_spoiler (TubaAPIStatus* self);
VALA_EXTERN gboolean tuba_api_status_get_can_be_quoted (TubaAPIStatus* self);
VALA_EXTERN GType tuba_instance_account_instance_features_get_type (void) G_GNUC_CONST ;
VALA_EXTERN TubaInstanceAccountInstanceFeatures tuba_instance_account_get_tuba_instance_features (TubaInstanceAccount* self);
VALA_EXTERN GType tuba_api_instance_v2_api_versions_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIInstanceV2APIVersions, g_object_unref)
VALA_EXTERN TubaAPIInstanceV2APIVersions* tuba_instance_account_get_tuba_api_versions (TubaInstanceAccount* self);
VALA_EXTERN gint8 tuba_api_instance_v2_api_versions_get_mastodon (TubaAPIInstanceV2APIVersions* self);
VALA_EXTERN const gchar* tuba_api_status_quote_approval_get_current_user (TubaAPIStatusQuoteApproval* self);
VALA_EXTERN gboolean tuba_api_status_get_can_be_boosted (TubaAPIStatus* self);
VALA_EXTERN gboolean tuba_api_status_get_is_mine (TubaAPIStatus* self);
VALA_EXTERN const gchar* tuba_api_account_get_id (TubaAPIAccount* self);
VALA_EXTERN gboolean tuba_api_status_get_has_media (TubaAPIStatus* self);
VALA_EXTERN TubaAPIStatusQuotePolicy tuba_api_status_quote_approval_to_quote_policy (TubaAPIStatusQuoteApproval* self);
VALA_EXTERN GeeArrayList* tuba_api_status_quote_approval_get_automatic (TubaAPIStatusQuoteApproval* self);
VALA_EXTERN GeeArrayList* tuba_api_status_quote_approval_get_manual (TubaAPIStatusQuoteApproval* self);
static GType tuba_api_status_quote_approval_real_deserialize_array_type (TubaEntity* base,
                                                                  const gchar* prop);
VALA_EXTERN TubaAPIStatusQuoteApproval* tuba_api_status_quote_approval_new (void);
VALA_EXTERN TubaAPIStatusQuoteApproval* tuba_api_status_quote_approval_construct (GType object_type);
VALA_EXTERN void tuba_api_status_quote_approval_set_automatic (TubaAPIStatusQuoteApproval* self,
                                                   GeeArrayList* value);
VALA_EXTERN void tuba_api_status_quote_approval_set_manual (TubaAPIStatusQuoteApproval* self,
                                                GeeArrayList* value);
VALA_EXTERN void tuba_api_status_quote_approval_set_current_user (TubaAPIStatusQuoteApproval* self,
                                                      const gchar* value);
static void tuba_api_status_quote_approval_finalize (GObject * obj);
static GType tuba_api_status_quote_approval_get_type_once (void);
static void _vala_tuba_api_status_quote_approval_get_property (GObject * object,
                                                        guint property_id,
                                                        GValue * value,
                                                        GParamSpec * pspec);
static void _vala_tuba_api_status_quote_approval_set_property (GObject * object,
                                                        guint property_id,
                                                        const GValue * value,
                                                        GParamSpec * pspec);
VALA_EXTERN GtkWidget* tuba_widgetizable_to_widget (TubaWidgetizable* self);
VALA_EXTERN void tuba_widgetizable_open (TubaWidgetizable* self);
VALA_EXTERN GRegex* tuba_api_search_result_get_tuba_search_query_regex (TubaAPISearchResult* self);
VALA_EXTERN void tuba_api_search_result_set_tuba_search_query_regex (TubaAPISearchResult* self,
                                                         GRegex* value);
static void tuba_api_status_finalize (GObject * obj);
static GType tuba_api_status_get_type_once (void);
static void _vala_tuba_api_status_get_property (GObject * object,
                                         guint property_id,
                                         GValue * value,
                                         GParamSpec * pspec);
static void _vala_tuba_api_status_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
tuba_api_status_get_instance_private (TubaAPIStatus* self)
{
	return G_STRUCT_MEMBER_P (self, TubaAPIStatus_private_offset);
}

static const gchar*
string_to_string (const gchar* self)
{
	const gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	result = self;
	return result;
}

gchar*
tuba_api_status_quote_policy_to_string (TubaAPIStatusQuotePolicy self)
{
	gchar* result;
	switch (self) {
		case TUBA_API_STATUS_QUOTE_POLICY_PUBLIC:
		{
			gchar* _tmp0_;
			_tmp0_ = g_strdup ("public");
			result = _tmp0_;
			return result;
		}
		case TUBA_API_STATUS_QUOTE_POLICY_FOLLOWERS:
		{
			gchar* _tmp1_;
			_tmp1_ = g_strdup ("followers");
			result = _tmp1_;
			return result;
		}
		default:
		{
			gchar* _tmp2_;
			_tmp2_ = g_strdup ("nobody");
			result = _tmp2_;
			return result;
		}
	}
}

gchar*
tuba_api_status_quote_policy_to_title (TubaAPIStatusQuotePolicy self)
{
	gchar* result;
	switch (self) {
		case TUBA_API_STATUS_QUOTE_POLICY_PUBLIC:
		{
			gchar* _tmp0_;
			_tmp0_ = g_strdup (_ ("Anybody"));
			result = _tmp0_;
			return result;
		}
		case TUBA_API_STATUS_QUOTE_POLICY_FOLLOWERS:
		{
			gchar* _tmp1_;
			_tmp1_ = g_strdup (_ ("Followers Only"));
			result = _tmp1_;
			return result;
		}
		default:
		{
			gchar* _tmp2_;
			_tmp2_ = g_strdup (_ ("Just Me"));
			result = _tmp2_;
			return result;
		}
	}
}

gchar*
tuba_api_status_quote_policy_to_subtitle (TubaAPIStatusQuotePolicy self)
{
	gchar* result;
	switch (self) {
		case TUBA_API_STATUS_QUOTE_POLICY_PUBLIC:
		{
			gchar* _tmp0_;
			_tmp0_ = g_strdup (_ ("Everyone can quote your post"));
			result = _tmp0_;
			return result;
		}
		case TUBA_API_STATUS_QUOTE_POLICY_FOLLOWERS:
		{
			gchar* _tmp1_;
			_tmp1_ = g_strdup (_ ("Only your followers can quote your post"));
			result = _tmp1_;
			return result;
		}
		default:
		{
			gchar* _tmp2_;
			_tmp2_ = g_strdup (_ ("Nobody can quote your post"));
			result = _tmp2_;
			return result;
		}
	}
}

TubaAPIStatusQuotePolicy
tuba_api_status_quote_policy_from_string (const gchar* policy)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
	GQuark _tmp3_ = 0U;
	static GQuark _tmp2_label0 = 0;
	static GQuark _tmp2_label1 = 0;
	TubaAPIStatusQuotePolicy result;
	g_return_val_if_fail (policy != NULL, 0);
	_tmp0_ = g_utf8_strdown (policy, (gssize) -1);
	_tmp1_ = _tmp0_;
	_tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_);
	g_free (_tmp1_);
	if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("public")))) {
		switch (0) {
			default:
			{
				result = TUBA_API_STATUS_QUOTE_POLICY_PUBLIC;
				return result;
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("followers")))) {
		switch (0) {
			default:
			{
				result = TUBA_API_STATUS_QUOTE_POLICY_FOLLOWERS;
				return result;
			}
		}
	} else {
		switch (0) {
			default:
			{
				result = TUBA_API_STATUS_QUOTE_POLICY_NOBODY;
				return result;
			}
		}
	}
}

 G_GNUC_NO_INLINE static GType
tuba_api_status_quote_policy_get_type_once (void)
{
	static const GEnumValue values[] = {{TUBA_API_STATUS_QUOTE_POLICY_PUBLIC, "TUBA_API_STATUS_QUOTE_POLICY_PUBLIC", "public"}, {TUBA_API_STATUS_QUOTE_POLICY_FOLLOWERS, "TUBA_API_STATUS_QUOTE_POLICY_FOLLOWERS", "followers"}, {TUBA_API_STATUS_QUOTE_POLICY_NOBODY, "TUBA_API_STATUS_QUOTE_POLICY_NOBODY", "nobody"}, {0, NULL, NULL}};
	GType tuba_api_status_quote_policy_type_id;
	tuba_api_status_quote_policy_type_id = g_enum_register_static ("TubaAPIStatusQuotePolicy", values);
	return tuba_api_status_quote_policy_type_id;
}

GType
tuba_api_status_quote_policy_get_type (void)
{
	static GType tuba_api_status_quote_policy_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_api_status_quote_policy_type_id__once)) {
		GType tuba_api_status_quote_policy_type_id;
		tuba_api_status_quote_policy_type_id = tuba_api_status_quote_policy_get_type_once ();
		g_once_init_leave_pointer (&tuba_api_status_quote_policy_type_id__once, tuba_api_status_quote_policy_type_id);
	}
	return tuba_api_status_quote_policy_type_id__once;
}

gchar*
tuba_api_status_visibility_to_string (TubaAPIStatusVisibility self)
{
	gchar* result;
	switch (self) {
		case TUBA_API_STATUS_VISIBILITY_PUBLIC:
		{
			gchar* _tmp0_;
			_tmp0_ = g_strdup ("public");
			result = _tmp0_;
			return result;
		}
		case TUBA_API_STATUS_VISIBILITY_UNLISTED:
		{
			gchar* _tmp1_;
			_tmp1_ = g_strdup ("unlisted");
			result = _tmp1_;
			return result;
		}
		case TUBA_API_STATUS_VISIBILITY_PRIVATE:
		{
			gchar* _tmp2_;
			_tmp2_ = g_strdup ("private");
			result = _tmp2_;
			return result;
		}
		case TUBA_API_STATUS_VISIBILITY_DIRECT:
		{
			gchar* _tmp3_;
			_tmp3_ = g_strdup ("direct");
			result = _tmp3_;
			return result;
		}
		case TUBA_API_STATUS_VISIBILITY_LOCAL:
		{
			gchar* _tmp4_;
			_tmp4_ = g_strdup ("local");
			result = _tmp4_;
			return result;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}

gchar*
tuba_api_status_visibility_to_title (TubaAPIStatusVisibility self)
{
	gchar* result;
	switch (self) {
		case TUBA_API_STATUS_VISIBILITY_PUBLIC:
		{
			gchar* _tmp0_;
			_tmp0_ = g_strdup (_ ("Public"));
			result = _tmp0_;
			return result;
		}
		case TUBA_API_STATUS_VISIBILITY_UNLISTED:
		{
			gchar* _tmp1_;
			_tmp1_ = g_strdup (_ ("Unlisted"));
			result = _tmp1_;
			return result;
		}
		case TUBA_API_STATUS_VISIBILITY_PRIVATE:
		{
			gchar* _tmp2_;
			_tmp2_ = g_strdup (_ ("Followers Only"));
			result = _tmp2_;
			return result;
		}
		case TUBA_API_STATUS_VISIBILITY_DIRECT:
		{
			gchar* _tmp3_;
			_tmp3_ = g_strdup (_ ("Direct"));
			result = _tmp3_;
			return result;
		}
		case TUBA_API_STATUS_VISIBILITY_LOCAL:
		{
			gchar* _tmp4_;
			_tmp4_ = g_strdup (_ ("Local"));
			result = _tmp4_;
			return result;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}

static TubaAPIStatusVisibility*
_tuba_api_status_visibility_dup (TubaAPIStatusVisibility* self)
{
	TubaAPIStatusVisibility* dup;
	dup = g_new0 (TubaAPIStatusVisibility, 1);
	memcpy (dup, self, sizeof (TubaAPIStatusVisibility));
	return dup;
}

static gpointer
__tuba_api_status_visibility_dup0 (gpointer self)
{
	return self ? _tuba_api_status_visibility_dup (self) : NULL;
}

TubaAPIStatusVisibility*
tuba_api_status_visibility_from_string (const gchar* id)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
	GQuark _tmp3_ = 0U;
	static GQuark _tmp2_label0 = 0;
	static GQuark _tmp2_label1 = 0;
	static GQuark _tmp2_label2 = 0;
	static GQuark _tmp2_label3 = 0;
	static GQuark _tmp2_label4 = 0;
	TubaAPIStatusVisibility* result;
	g_return_val_if_fail (id != NULL, NULL);
	_tmp0_ = g_utf8_strdown (id, (gssize) -1);
	_tmp1_ = _tmp0_;
	_tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_);
	g_free (_tmp1_);
	if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("public")))) {
		switch (0) {
			default:
			{
				TubaAPIStatusVisibility _tmp4_;
				TubaAPIStatusVisibility* _tmp5_;
				_tmp4_ = TUBA_API_STATUS_VISIBILITY_PUBLIC;
				_tmp5_ = __tuba_api_status_visibility_dup0 (&_tmp4_);
				result = _tmp5_;
				return result;
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("unlisted")))) {
		switch (0) {
			default:
			{
				TubaAPIStatusVisibility _tmp6_;
				TubaAPIStatusVisibility* _tmp7_;
				_tmp6_ = TUBA_API_STATUS_VISIBILITY_UNLISTED;
				_tmp7_ = __tuba_api_status_visibility_dup0 (&_tmp6_);
				result = _tmp7_;
				return result;
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label2) ? _tmp2_label2 : (_tmp2_label2 = g_quark_from_static_string ("private")))) {
		switch (0) {
			default:
			{
				TubaAPIStatusVisibility _tmp8_;
				TubaAPIStatusVisibility* _tmp9_;
				_tmp8_ = TUBA_API_STATUS_VISIBILITY_PRIVATE;
				_tmp9_ = __tuba_api_status_visibility_dup0 (&_tmp8_);
				result = _tmp9_;
				return result;
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label3) ? _tmp2_label3 : (_tmp2_label3 = g_quark_from_static_string ("direct")))) {
		switch (0) {
			default:
			{
				TubaAPIStatusVisibility _tmp10_;
				TubaAPIStatusVisibility* _tmp11_;
				_tmp10_ = TUBA_API_STATUS_VISIBILITY_DIRECT;
				_tmp11_ = __tuba_api_status_visibility_dup0 (&_tmp10_);
				result = _tmp11_;
				return result;
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label4) ? _tmp2_label4 : (_tmp2_label4 = g_quark_from_static_string ("local")))) {
		switch (0) {
			default:
			{
				TubaAPIStatusVisibility _tmp12_;
				TubaAPIStatusVisibility* _tmp13_;
				_tmp12_ = TUBA_API_STATUS_VISIBILITY_LOCAL;
				_tmp13_ = __tuba_api_status_visibility_dup0 (&_tmp12_);
				result = _tmp13_;
				return result;
			}
		}
	} else {
		switch (0) {
			default:
			{
				result = NULL;
				return result;
			}
		}
	}
}

gint
tuba_api_status_visibility_privacy_rate (TubaAPIStatusVisibility self)
{
	gint result;
	switch (self) {
		case TUBA_API_STATUS_VISIBILITY_PUBLIC:
		{
			result = 0;
			return result;
		}
		case TUBA_API_STATUS_VISIBILITY_UNLISTED:
		{
			result = 1;
			return result;
		}
		case TUBA_API_STATUS_VISIBILITY_PRIVATE:
		{
			result = 2;
			return result;
		}
		case TUBA_API_STATUS_VISIBILITY_DIRECT:
		{
			result = 3;
			return result;
		}
		case TUBA_API_STATUS_VISIBILITY_LOCAL:
		{
			result = 4;
			return result;
		}
		default:
		{
			g_assert_not_reached ();
		}
	}
}

 G_GNUC_NO_INLINE static GType
tuba_api_status_visibility_get_type_once (void)
{
	static const GEnumValue values[] = {{TUBA_API_STATUS_VISIBILITY_PUBLIC, "TUBA_API_STATUS_VISIBILITY_PUBLIC", "public"}, {TUBA_API_STATUS_VISIBILITY_UNLISTED, "TUBA_API_STATUS_VISIBILITY_UNLISTED", "unlisted"}, {TUBA_API_STATUS_VISIBILITY_PRIVATE, "TUBA_API_STATUS_VISIBILITY_PRIVATE", "private"}, {TUBA_API_STATUS_VISIBILITY_DIRECT, "TUBA_API_STATUS_VISIBILITY_DIRECT", "direct"}, {TUBA_API_STATUS_VISIBILITY_LOCAL, "TUBA_API_STATUS_VISIBILITY_LOCAL", "local"}, {0, NULL, NULL}};
	GType tuba_api_status_visibility_type_id;
	tuba_api_status_visibility_type_id = g_enum_register_static ("TubaAPIStatusVisibility", values);
	return tuba_api_status_visibility_type_id;
}

GType
tuba_api_status_visibility_get_type (void)
{
	static GType tuba_api_status_visibility_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_api_status_visibility_type_id__once)) {
		GType tuba_api_status_visibility_type_id;
		tuba_api_status_visibility_type_id = tuba_api_status_visibility_get_type_once ();
		g_once_init_leave_pointer (&tuba_api_status_visibility_type_id__once, tuba_api_status_visibility_type_id);
	}
	return tuba_api_status_visibility_type_id__once;
}

static GType
tuba_api_status_real_deserialize_array_type (TubaEntity* base,
                                             const gchar* prop)
{
	TubaAPIStatus * self;
	const gchar* _tmp0_;
	GQuark _tmp2_ = 0U;
	static GQuark _tmp1_label0 = 0;
	static GQuark _tmp1_label1 = 0;
	static GQuark _tmp1_label2 = 0;
	static GQuark _tmp1_label3 = 0;
	static GQuark _tmp1_label4 = 0;
	static GQuark _tmp1_label5 = 0;
	static GQuark _tmp1_label6 = 0;
	GType result;
	self = (TubaAPIStatus*) base;
	g_return_val_if_fail (prop != NULL, G_TYPE_INVALID);
	_tmp0_ = prop;
	_tmp2_ = (NULL == _tmp0_) ? 0 : g_quark_from_string (_tmp0_);
	if ((_tmp2_ == ((0 != _tmp1_label0) ? _tmp1_label0 : (_tmp1_label0 = g_quark_from_static_string ("reactions")))) || (_tmp2_ == ((0 != _tmp1_label1) ? _tmp1_label1 : (_tmp1_label1 = g_quark_from_static_string ("emoji-reactions"))))) {
		switch (0) {
			default:
			{
				result = TUBA_API_TYPE_EMOJI_REACTION;
				return result;
			}
		}
	} else if (_tmp2_ == ((0 != _tmp1_label2) ? _tmp1_label2 : (_tmp1_label2 = g_quark_from_static_string ("mentions")))) {
		switch (0) {
			default:
			{
				result = TUBA_API_TYPE_MENTION;
				return result;
			}
		}
	} else if (_tmp2_ == ((0 != _tmp1_label3) ? _tmp1_label3 : (_tmp1_label3 = g_quark_from_static_string ("media-attachments")))) {
		switch (0) {
			default:
			{
				result = TUBA_API_TYPE_ATTACHMENT;
				return result;
			}
		}
	} else if (_tmp2_ == ((0 != _tmp1_label4) ? _tmp1_label4 : (_tmp1_label4 = g_quark_from_static_string ("emojis")))) {
		switch (0) {
			default:
			{
				result = TUBA_API_TYPE_EMOJI;
				return result;
			}
		}
	} else if (_tmp2_ == ((0 != _tmp1_label5) ? _tmp1_label5 : (_tmp1_label5 = g_quark_from_static_string ("filtered")))) {
		switch (0) {
			default:
			{
				result = TUBA_API_FILTERS_TYPE_FILTER_RESULT;
				return result;
			}
		}
	} else if (_tmp2_ == ((0 != _tmp1_label6) ? _tmp1_label6 : (_tmp1_label6 = g_quark_from_static_string ("tagged-collections")))) {
		switch (0) {
			default:
			{
				result = TUBA_API_TYPE_COLLECTION;
				return result;
			}
		}
	}
	result = TUBA_ENTITY_CLASS (tuba_api_status_parent_class)->deserialize_array_type (G_TYPE_CHECK_INSTANCE_CAST (self, TUBA_TYPE_ENTITY, TubaEntity), prop);
	return result;
}

static Block17Data*
block17_data_ref (Block17Data* _data17_)
{
	g_atomic_int_inc (&_data17_->_ref_count_);
	return _data17_;
}

static void
block17_data_unref (void * _userdata_)
{
	Block17Data* _data17_;
	_data17_ = (Block17Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data17_->_ref_count_)) {
		TubaAPIStatus* self;
		self = _data17_->self;
		_g_object_unref0 (_data17_->res);
		_g_object_unref0 (self);
		g_slice_free (Block17Data, _data17_);
	}
}

static gboolean
___lambda87_ (Block17Data* _data17_,
              TubaAPIEmoji* e)
{
	TubaAPIStatus* self;
	GeeHashMap* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	gboolean result;
	self = _data17_->self;
	g_return_val_if_fail (e != NULL, FALSE);
	_tmp0_ = _data17_->res;
	_tmp1_ = tuba_api_emoji_get_shortcode (e);
	_tmp2_ = _tmp1_;
	_tmp3_ = tuba_api_emoji_get_url (e);
	_tmp4_ = _tmp3_;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp0_, _tmp2_, _tmp4_);
	result = TRUE;
	_g_object_unref0 (e);
	return result;
}

static gboolean
____lambda87__gee_forall_func (gpointer g,
                               gpointer self)
{
	gboolean result;
	result = ___lambda87_ (self, (TubaAPIEmoji*) g);
	return result;
}

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

static GeeHashMap*
tuba_api_status_gen_emojis_map (TubaAPIStatus* self)
{
	Block17Data* _data17_;
	GeeHashMap* _tmp0_;
	gboolean _tmp1_ = FALSE;
	GeeArrayList* _tmp2_;
	GeeHashMap* _tmp7_;
	GeeHashMap* _tmp8_;
	GeeHashMap* result;
	g_return_val_if_fail (self != NULL, NULL);
	_data17_ = g_slice_new0 (Block17Data);
	_data17_->_ref_count_ = 1;
	_data17_->self = g_object_ref (self);
	_tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
	_data17_->res = _tmp0_;
	_tmp2_ = self->priv->_emojis;
	if (_tmp2_ != NULL) {
		GeeArrayList* _tmp3_;
		gint _tmp4_;
		gint _tmp5_;
		_tmp3_ = self->priv->_emojis;
		_tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
		_tmp5_ = _tmp4_;
		_tmp1_ = _tmp5_ > 0;
	} else {
		_tmp1_ = FALSE;
	}
	if (_tmp1_) {
		GeeArrayList* _tmp6_;
		_tmp6_ = self->priv->_emojis;
		gee_abstract_collection_foreach ((GeeAbstractCollection*) _tmp6_, ____lambda87__gee_forall_func, _data17_);
	}
	_tmp7_ = _data17_->res;
	_tmp8_ = _g_object_ref0 (_tmp7_);
	result = _tmp8_;
	block17_data_unref (_data17_);
	_data17_ = NULL;
	return result;
}

static gchar*
string_replace (const gchar* self,
                const gchar* old,
                const gchar* replacement)
{
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GError* _inner_error0_ = NULL;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (old != NULL, NULL);
	g_return_val_if_fail (replacement != NULL, NULL);
	if ((*((gchar*) self)) == '\0') {
		_tmp1_ = TRUE;
	} else {
		_tmp1_ = (*((gchar*) old)) == '\0';
	}
	if (_tmp1_) {
		_tmp0_ = TRUE;
	} else {
		_tmp0_ = g_strcmp0 (old, replacement) == 0;
	}
	if (_tmp0_) {
		gchar* _tmp2_;
		_tmp2_ = g_strdup (self);
		result = _tmp2_;
		return result;
	}
	{
		GRegex* regex = NULL;
		gchar* _tmp3_;
		gchar* _tmp4_;
		GRegex* _tmp5_;
		GRegex* _tmp6_;
		gchar* _tmp7_ = NULL;
		GRegex* _tmp8_;
		gchar* _tmp9_;
		gchar* _tmp10_;
		_tmp3_ = g_regex_escape_string (old, -1);
		_tmp4_ = _tmp3_;
		_tmp5_ = g_regex_new (_tmp4_, 0, 0, &_inner_error0_);
		_tmp6_ = _tmp5_;
		_g_free0 (_tmp4_);
		regex = _tmp6_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp8_ = regex;
		_tmp9_ = g_regex_replace_literal (_tmp8_, self, (gssize) -1, 0, replacement, 0, &_inner_error0_);
		_tmp7_ = _tmp9_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (regex);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp10_ = _tmp7_;
		_tmp7_ = NULL;
		result = _tmp10_;
		_g_free0 (_tmp7_);
		_g_regex_unref0 (regex);
		return result;
	}
	goto __finally0;
	__catch0_g_regex_error:
	{
		g_clear_error (&_inner_error0_);
		g_assert_not_reached ();
	}
	__finally0:
	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
	g_clear_error (&_inner_error0_);
	return NULL;
}

static gchar*
tuba_api_status_get_modified_url (TubaAPIStatus* self)
{
	const gchar* _tmp0_;
	const gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_t_url;
	if (_tmp0_ == NULL) {
		const gchar* _tmp1_;
		const gchar* _tmp2_;
		const gchar* _tmp3_;
		const gchar* _tmp4_;
		gchar* _tmp5_;
		gchar* _tmp6_;
		const gchar* _tmp7_;
		gchar* _tmp8_;
		gchar* _tmp9_;
		_tmp1_ = self->priv->_uri;
		if (_tmp1_ == NULL) {
			result = NULL;
			return result;
		}
		_tmp2_ = self->priv->_uri;
		_tmp3_ = self->priv->_id;
		_tmp4_ = string_to_string (_tmp3_);
		_tmp5_ = g_strconcat (_tmp4_, "/activity", NULL);
		_tmp6_ = _tmp5_;
		_tmp7_ = self->priv->_id;
		_tmp8_ = string_replace (_tmp2_, _tmp6_, _tmp7_);
		_tmp9_ = _tmp8_;
		_g_free0 (_tmp6_);
		result = _tmp9_;
		return result;
	}
	_tmp10_ = self->priv->_t_url;
	_tmp11_ = g_strdup (_tmp10_);
	result = _tmp11_;
	return result;
}

TubaAPIStatus*
tuba_api_status_from (JsonNode* node,
                      GError** error)
{
	TubaEntity* _tmp0_ = NULL;
	TubaEntity* _tmp1_;
	TubaAPIStatus* _tmp2_;
	GError* _inner_error0_ = NULL;
	TubaAPIStatus* result;
	g_return_val_if_fail (node != NULL, NULL);
	_tmp1_ = tuba_entity_from_json (TUBA_API_TYPE_STATUS, node, &_inner_error0_);
	_tmp0_ = _tmp1_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return NULL;
	}
	_tmp2_ = _g_object_ref0 (TUBA_API_IS_STATUS (_tmp0_) ? ((TubaAPIStatus*) _tmp0_) : NULL);
	result = _tmp2_;
	_g_object_unref0 (_tmp0_);
	return result;
}

TubaAPIStatus*
tuba_api_status_construct_empty (GType object_type)
{
	TubaAPIStatus * self = NULL;
	self = (TubaAPIStatus*) g_object_new (object_type, "id", "", NULL);
	return self;
}

TubaAPIStatus*
tuba_api_status_new_empty (void)
{
	return tuba_api_status_construct_empty (TUBA_API_TYPE_STATUS);
}

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;
}

TubaAPIStatus*
tuba_api_status_construct_from_account (GType object_type,
                                        TubaAPIAccount* account)
{
	TubaAPIStatus * self = NULL;
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	GeeArrayList* _tmp2_;
	GeeArrayList* _tmp3_;
	const gchar* _tmp4_;
	const gchar* _tmp5_;
	g_return_val_if_fail (account != NULL, NULL);
	_tmp0_ = tuba_api_account_get_created_at (account);
	_tmp1_ = _tmp0_;
	_tmp2_ = tuba_api_account_get_emojis (account);
	_tmp3_ = _tmp2_;
	self = (TubaAPIStatus*) g_object_new (object_type, "id", "", "account", account, "created-at", _tmp1_, "emojis", _tmp3_, NULL);
	_tmp4_ = tuba_api_account_get_note (account);
	_tmp5_ = _tmp4_;
	if (g_strcmp0 (_tmp5_, "") == 0) {
		tuba_api_status_set_content (self, "");
	} else {
		const gchar* _tmp6_;
		const gchar* _tmp7_;
		_tmp6_ = tuba_api_account_get_note (account);
		_tmp7_ = _tmp6_;
		if (string_contains (_tmp7_, "\n")) {
			const gchar* _tmp8_;
			const gchar* _tmp9_;
			gchar** _tmp10_;
			gchar** _tmp11_;
			gchar** _tmp12_;
			gint _tmp12__length1;
			const gchar* _tmp13_;
			_tmp8_ = tuba_api_account_get_note (account);
			_tmp9_ = _tmp8_;
			_tmp11_ = _tmp10_ = g_strsplit (_tmp9_, "\n", 0);
			_tmp12_ = _tmp11_;
			_tmp12__length1 = _vala_array_length (_tmp10_);
			_tmp13_ = _tmp12_[0];
			tuba_api_status_set_content (self, _tmp13_);
			_tmp12_ = (_vala_array_free (_tmp12_, _tmp12__length1, (GDestroyNotify) g_free), NULL);
		} else {
			const gchar* _tmp14_;
			const gchar* _tmp15_;
			_tmp14_ = tuba_api_account_get_note (account);
			_tmp15_ = _tmp14_;
			tuba_api_status_set_content (self, _tmp15_);
		}
	}
	return self;
}

TubaAPIStatus*
tuba_api_status_new_from_account (TubaAPIAccount* account)
{
	return tuba_api_status_construct_from_account (TUBA_API_TYPE_STATUS, account);
}

static GtkWidget*
tuba_api_status_real_to_widget (TubaWidgetizable* base)
{
	TubaAPIStatus * self;
	TubaWidgetsStatus* _tmp0_;
	GtkWidget* result;
	self = (TubaAPIStatus*) base;
	_tmp0_ = tuba_widgets_status_new (self);
	g_object_ref_sink (_tmp0_);
	result = (GtkWidget*) _tmp0_;
	return result;
}

static void
tuba_api_status_real_open (TubaWidgetizable* base)
{
	TubaAPIStatus * self;
	TubaApplication* _tmp0_;
	TubaDialogsMainWindow* _tmp1_;
	TubaDialogsMainWindow* _tmp2_;
	TubaAPIStatus* _tmp3_;
	TubaAPIStatus* _tmp4_;
	TubaViewsThread* _tmp5_;
	TubaViewsThread* _tmp6_;
	TubaViewsBase* _tmp7_;
	TubaViewsBase* _tmp8_;
	self = (TubaAPIStatus*) base;
	_tmp0_ = tuba_app;
	_tmp1_ = tuba_application_get_main_window (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = tuba_api_status_get_formal (self);
	_tmp4_ = _tmp3_;
	_tmp5_ = tuba_views_thread_new (_tmp4_);
	g_object_ref_sink (_tmp5_);
	_tmp6_ = _tmp5_;
	_tmp7_ = tuba_dialogs_main_window_open_view (_tmp2_, (TubaViewsBase*) _tmp6_);
	_tmp8_ = _tmp7_;
	_g_object_unref0 (_tmp8_);
	_g_object_unref0 (_tmp6_);
}

static void
_vala_array_add3 (gchar** * array,
                  gint* length,
                  gint* size,
                  gchar* value)
{
	if ((*length) == (*size)) {
		*size = (*size) ? (2 * (*size)) : 4;
		*array = g_renew (gchar*, *array, (*size) + 1);
	}
	(*array)[(*length)++] = value;
	(*array)[*length] = NULL;
}

static gboolean
_vala_string_array_contains (gchar* * stack,
                             gssize stack_length,
                             const gchar* needle)
{
	gssize i;
	for (i = 0; i < stack_length; i++) {
		if (g_strcmp0 (stack[i], needle) == 0) {
			return TRUE;
		}
	}
	return FALSE;
}

static void
_vala_array_add4 (gchar** * array,
                  gint* length,
                  gint* size,
                  gchar* value)
{
	if ((*length) == (*size)) {
		*size = (*size) ? (2 * (*size)) : 4;
		*array = g_renew (gchar*, *array, (*size) + 1);
	}
	(*array)[(*length)++] = value;
	(*array)[*length] = NULL;
}

static gchar*
_vala_g_strjoinv (const gchar* separator,
                  gchar** str_array,
                  gint str_array_length1)
{
	gboolean _tmp0_ = FALSE;
	gchar* result;
	if (separator == NULL) {
		separator = "";
	}
	if (str_array != NULL) {
		gboolean _tmp1_ = FALSE;
		if (str_array_length1 > 0) {
			_tmp1_ = TRUE;
		} else {
			gboolean _tmp2_ = FALSE;
			if (str_array_length1 == -1) {
				const gchar* _tmp3_;
				_tmp3_ = str_array[0];
				_tmp2_ = _tmp3_ != NULL;
			} else {
				_tmp2_ = FALSE;
			}
			_tmp1_ = _tmp2_;
		}
		_tmp0_ = _tmp1_;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		gint i = 0;
		gsize len = 0UL;
		gint _tmp16_;
		gint _tmp17_;
		const gchar* res = NULL;
		void* _tmp18_;
		const gchar* _tmp19_ = NULL;
		const gchar* _tmp20_;
		void* ptr = NULL;
		const gchar* _tmp22_;
		void* _tmp23_;
		const gchar* _tmp33_;
		len = (gsize) 1;
		{
			gboolean _tmp4_ = FALSE;
			i = 0;
			_tmp4_ = TRUE;
			while (TRUE) {
				gboolean _tmp6_ = FALSE;
				gboolean _tmp7_ = FALSE;
				gint _tmp10_ = 0;
				const gchar* _tmp11_;
				if (!_tmp4_) {
					gint _tmp5_;
					_tmp5_ = i;
					i = _tmp5_ + 1;
				}
				_tmp4_ = FALSE;
				if (str_array_length1 != -1) {
					_tmp7_ = i < str_array_length1;
				} else {
					_tmp7_ = FALSE;
				}
				if (_tmp7_) {
					_tmp6_ = TRUE;
				} else {
					gboolean _tmp8_ = FALSE;
					if (str_array_length1 == -1) {
						const gchar* _tmp9_;
						_tmp9_ = str_array[i];
						_tmp8_ = _tmp9_ != NULL;
					} else {
						_tmp8_ = FALSE;
					}
					_tmp6_ = _tmp8_;
				}
				if (!_tmp6_) {
					break;
				}
				_tmp11_ = str_array[i];
				if (_tmp11_ != NULL) {
					const gchar* _tmp12_;
					gint _tmp13_;
					gint _tmp14_;
					_tmp12_ = str_array[i];
					_tmp13_ = strlen ((const gchar*) _tmp12_);
					_tmp14_ = _tmp13_;
					_tmp10_ = _tmp14_;
				} else {
					_tmp10_ = 0;
				}
				len += (gsize) _tmp10_;
			}
		}
		if (i == 0) {
			gchar* _tmp15_;
			_tmp15_ = g_strdup ("");
			result = _tmp15_;
			return result;
		}
		str_array_length1 = i;
		_tmp16_ = strlen ((const gchar*) separator);
		_tmp17_ = _tmp16_;
		len += (gsize) (_tmp17_ * (i - 1));
		_tmp18_ = g_malloc (len);
		res = _tmp18_;
		_tmp20_ = str_array[0];
		if (_tmp20_ != NULL) {
			const gchar* _tmp21_;
			_tmp21_ = str_array[0];
			_tmp19_ = (const gchar*) _tmp21_;
		} else {
			_tmp19_ = "";
		}
		_tmp22_ = res;
		_tmp23_ = g_stpcpy ((void*) _tmp22_, _tmp19_);
		ptr = _tmp23_;
		{
			gboolean _tmp24_ = FALSE;
			i = 1;
			_tmp24_ = TRUE;
			while (TRUE) {
				void* _tmp26_;
				void* _tmp27_;
				const gchar* _tmp28_ = NULL;
				const gchar* _tmp29_;
				void* _tmp31_;
				void* _tmp32_;
				if (!_tmp24_) {
					gint _tmp25_;
					_tmp25_ = i;
					i = _tmp25_ + 1;
				}
				_tmp24_ = FALSE;
				if (!(i < str_array_length1)) {
					break;
				}
				_tmp26_ = ptr;
				_tmp27_ = g_stpcpy (_tmp26_, (const gchar*) separator);
				ptr = _tmp27_;
				_tmp29_ = str_array[i];
				if (_tmp29_ != NULL) {
					const gchar* _tmp30_;
					_tmp30_ = str_array[i];
					_tmp28_ = (const gchar*) _tmp30_;
				} else {
					_tmp28_ = "";
				}
				_tmp31_ = ptr;
				_tmp32_ = g_stpcpy (_tmp31_, _tmp28_);
				ptr = _tmp32_;
			}
		}
		_tmp33_ = res;
		res = NULL;
		result = (gchar*) _tmp33_;
		return result;
	} else {
		gchar* _tmp34_;
		_tmp34_ = g_strdup ("");
		result = _tmp34_;
		return result;
	}
}

static gboolean
tuba_api_status_real_get_reply_mentions (TubaAPIStatus* self,
                                         gchar** joined_mentions)
{
	gchar* _vala_joined_mentions = NULL;
	gchar** _result_ = NULL;
	gchar** _tmp0_;
	gint _result__length1;
	gint __result__size_;
	TubaAPIAccount* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	TubaAccountStore* _tmp4_;
	TubaInstanceAccount* _tmp5_;
	TubaInstanceAccount* _tmp6_;
	const gchar* _tmp7_;
	const gchar* _tmp8_;
	GeeArrayList* _tmp12_;
	gchar** _tmp39_;
	gint _tmp39__length1;
	gchar* _tmp40_;
	gchar** _tmp41_;
	gint _tmp41__length1;
	gboolean result;
	_tmp0_ = g_new0 (gchar*, 0 + 1);
	_result_ = _tmp0_;
	_result__length1 = 0;
	__result__size_ = _result__length1;
	_tmp1_ = self->priv->_account;
	_tmp2_ = tuba_api_account_get_acct (_tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = tuba_accounts;
	_tmp5_ = tuba_account_store_get_active (_tmp4_);
	_tmp6_ = _tmp5_;
	_tmp7_ = tuba_api_account_get_acct ((TubaAPIAccount*) _tmp6_);
	_tmp8_ = _tmp7_;
	if (g_strcmp0 (_tmp3_, _tmp8_) != 0) {
		TubaAPIAccount* _tmp9_;
		gchar* _tmp10_;
		gchar* _tmp11_;
		_tmp9_ = self->priv->_account;
		_tmp10_ = tuba_api_account_get_handle (_tmp9_);
		_tmp11_ = _tmp10_;
		_vala_array_add3 (&_result_, &_result__length1, &__result__size_, _tmp11_);
	}
	_tmp12_ = self->priv->_mentions;
	if (_tmp12_ != NULL) {
		{
			GeeArrayList* _mention_list = NULL;
			GeeArrayList* _tmp13_;
			gint _mention_size = 0;
			GeeArrayList* _tmp14_;
			gint _tmp15_;
			gint _tmp16_;
			gint _mention_index = 0;
			_tmp13_ = self->priv->_mentions;
			_mention_list = _tmp13_;
			_tmp14_ = _mention_list;
			_tmp15_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp14_);
			_tmp16_ = _tmp15_;
			_mention_size = _tmp16_;
			_mention_index = -1;
			while (TRUE) {
				gint _tmp17_;
				gint _tmp18_;
				TubaAPIMention* mention = NULL;
				GeeArrayList* _tmp19_;
				gpointer _tmp20_;
				gboolean equals_current = FALSE;
				TubaAPIMention* _tmp21_;
				const gchar* _tmp22_;
				const gchar* _tmp23_;
				TubaAccountStore* _tmp24_;
				TubaInstanceAccount* _tmp25_;
				TubaInstanceAccount* _tmp26_;
				const gchar* _tmp27_;
				const gchar* _tmp28_;
				gboolean already_mentioned = FALSE;
				TubaAPIMention* _tmp29_;
				gchar* _tmp30_;
				gchar* _tmp31_;
				gchar* _tmp32_;
				gchar** _tmp33_;
				gint _tmp33__length1;
				gboolean _tmp34_;
				gboolean _tmp35_ = FALSE;
				_mention_index = _mention_index + 1;
				_tmp17_ = _mention_index;
				_tmp18_ = _mention_size;
				if (!(_tmp17_ < _tmp18_)) {
					break;
				}
				_tmp19_ = _mention_list;
				_tmp20_ = gee_abstract_list_get ((GeeAbstractList*) _tmp19_, _mention_index);
				mention = (TubaAPIMention*) _tmp20_;
				_tmp21_ = mention;
				_tmp22_ = tuba_api_mention_get_acct (_tmp21_);
				_tmp23_ = _tmp22_;
				_tmp24_ = tuba_accounts;
				_tmp25_ = tuba_account_store_get_active (_tmp24_);
				_tmp26_ = _tmp25_;
				_tmp27_ = tuba_api_account_get_acct ((TubaAPIAccount*) _tmp26_);
				_tmp28_ = _tmp27_;
				equals_current = g_strcmp0 (_tmp23_, _tmp28_) == 0;
				_tmp29_ = mention;
				_tmp30_ = tuba_api_mention_get_handle (_tmp29_);
				_tmp31_ = _tmp30_;
				_tmp32_ = _tmp31_;
				_tmp33_ = _result_;
				_tmp33__length1 = _result__length1;
				_tmp34_ = _vala_string_array_contains (_tmp33_, _tmp33__length1, _tmp32_);
				_g_free0 (_tmp32_);
				already_mentioned = _tmp34_;
				if (!equals_current) {
					_tmp35_ = !already_mentioned;
				} else {
					_tmp35_ = FALSE;
				}
				if (_tmp35_) {
					TubaAPIMention* _tmp36_;
					gchar* _tmp37_;
					gchar* _tmp38_;
					_tmp36_ = mention;
					_tmp37_ = tuba_api_mention_get_handle (_tmp36_);
					_tmp38_ = _tmp37_;
					_vala_array_add4 (&_result_, &_result__length1, &__result__size_, _tmp38_);
				}
				_g_object_unref0 (mention);
			}
		}
	}
	_tmp39_ = _result_;
	_tmp39__length1 = _result__length1;
	_tmp40_ = _vala_g_strjoinv (" ", _tmp39_, (gint) _tmp39__length1);
	_g_free0 (_vala_joined_mentions);
	_vala_joined_mentions = _tmp40_;
	_tmp41_ = _result_;
	_tmp41__length1 = _result__length1;
	result = _tmp41__length1 > 0;
	_result_ = (_vala_array_free (_result_, _result__length1, (GDestroyNotify) g_free), NULL);
	if (joined_mentions) {
		*joined_mentions = _vala_joined_mentions;
	} else {
		_g_free0 (_vala_joined_mentions);
	}
	return result;
}

gboolean
tuba_api_status_get_reply_mentions (TubaAPIStatus* self,
                                    gchar** joined_mentions)
{
	TubaAPIStatusClass* _klass_;
	g_return_val_if_fail (self != NULL, FALSE);
	_klass_ = TUBA_API_STATUS_GET_CLASS (self);
	if (_klass_->get_reply_mentions) {
		return _klass_->get_reply_mentions (self, joined_mentions);
	}
	return FALSE;
}

static TubaRequestV2*
tuba_api_status_action (TubaAPIStatus* self,
                        const gchar* action)
{
	TubaRequestV2* req = NULL;
	TubaAPIStatus* _tmp0_;
	TubaAPIStatus* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	TubaAccountStore* _tmp7_;
	TubaInstanceAccount* _tmp8_;
	TubaInstanceAccount* _tmp9_;
	TubaInstanceAccount* _tmp10_;
	TubaRequestV2* _tmp11_ = NULL;
	TubaRequestV2* _tmp12_;
	TubaRequestV2* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (action != NULL, NULL);
	_tmp0_ = tuba_api_status_get_formal (self);
	_tmp1_ = _tmp0_;
	_tmp2_ = _tmp1_->priv->_id;
	_tmp3_ = string_to_string (_tmp2_);
	_tmp4_ = string_to_string (action);
	_tmp5_ = g_strconcat ("/api/v1/statuses/", _tmp3_, "/", _tmp4_, NULL);
	_tmp6_ = _tmp5_;
	_tmp7_ = tuba_accounts;
	_tmp8_ = tuba_account_store_get_active (_tmp7_);
	_tmp9_ = _tmp8_;
	_tmp10_ = _g_object_ref0 (_tmp9_);
	_tmp11_ = tuba_request_v2_new (_tmp6_, TUBA_REQUEST_V2_METHOD_POST);
	tuba_request_v2_set_account (_tmp11_, _tmp10_);
	_g_object_unref0 (_tmp10_);
	_tmp12_ = _tmp11_;
	_g_free0 (_tmp6_);
	req = _tmp12_;
	tuba_request_v2_set_priority (req, SOUP_MESSAGE_PRIORITY_HIGH);
	result = req;
	return result;
}

TubaRequestV2*
tuba_api_status_favourite_req (TubaAPIStatus* self)
{
	TubaRequestV2* _tmp0_;
	TubaRequestV2* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = tuba_api_status_action (self, "favourite");
	result = _tmp0_;
	return result;
}

TubaRequestV2*
tuba_api_status_unfavourite_req (TubaAPIStatus* self)
{
	TubaRequestV2* _tmp0_;
	TubaRequestV2* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = tuba_api_status_action (self, "unfavourite");
	result = _tmp0_;
	return result;
}

TubaRequestV2*
tuba_api_status_bookmark_req (TubaAPIStatus* self)
{
	TubaRequestV2* _tmp0_;
	TubaRequestV2* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = tuba_api_status_action (self, "bookmark");
	result = _tmp0_;
	return result;
}

TubaRequestV2*
tuba_api_status_unbookmark_req (TubaAPIStatus* self)
{
	TubaRequestV2* _tmp0_;
	TubaRequestV2* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = tuba_api_status_action (self, "unbookmark");
	result = _tmp0_;
	return result;
}

TubaRequestV2*
tuba_api_status_reblog_req (TubaAPIStatus* self,
                            TubaAPIStatusVisibility* visibility)
{
	TubaRequestV2* req = NULL;
	TubaRequestV2* _tmp0_;
	TubaRequestV2* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = tuba_api_status_action (self, "reblog");
	req = _tmp0_;
	if (visibility != NULL) {
		TubaRequestV2* _tmp1_;
		gchar* _tmp2_;
		gchar* _tmp3_;
		_tmp1_ = req;
		_tmp2_ = tuba_api_status_visibility_to_string (*visibility);
		_tmp3_ = _tmp2_;
		tuba_request_v2_add_form_data (_tmp1_, "visibility", _tmp3_);
		_g_free0 (_tmp3_);
	}
	result = req;
	return result;
}

TubaRequestV2*
tuba_api_status_unreblog_req (TubaAPIStatus* self)
{
	TubaRequestV2* _tmp0_;
	TubaRequestV2* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = tuba_api_status_action (self, "unreblog");
	result = _tmp0_;
	return result;
}

TubaRequestV2*
tuba_api_status_annihilate (TubaAPIStatus* self)
{
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	TubaAccountStore* _tmp4_;
	TubaInstanceAccount* _tmp5_;
	TubaInstanceAccount* _tmp6_;
	TubaInstanceAccount* _tmp7_;
	TubaRequestV2* _tmp8_ = NULL;
	TubaRequestV2* _tmp9_;
	TubaRequestV2* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_id;
	_tmp1_ = string_to_string (_tmp0_);
	_tmp2_ = g_strconcat ("/api/v1/statuses/", _tmp1_, NULL);
	_tmp3_ = _tmp2_;
	_tmp4_ = tuba_accounts;
	_tmp5_ = tuba_account_store_get_active (_tmp4_);
	_tmp6_ = _tmp5_;
	_tmp7_ = _g_object_ref0 (_tmp6_);
	_tmp8_ = tuba_request_v2_new (_tmp3_, TUBA_REQUEST_V2_METHOD_DELETE);
	tuba_request_v2_set_account (_tmp8_, _tmp7_);
	_g_object_unref0 (_tmp7_);
	_tmp9_ = _tmp8_;
	_g_free0 (_tmp3_);
	result = _tmp9_;
	return result;
}

TubaAPIStatus*
tuba_api_status_construct (GType object_type)
{
	TubaAPIStatus * self = NULL;
	self = (TubaAPIStatus*) tuba_entity_construct (object_type);
	return self;
}

TubaAPIStatus*
tuba_api_status_new (void)
{
	return tuba_api_status_construct (TUBA_API_TYPE_STATUS);
}

const gchar*
tuba_api_status_get_id (TubaAPIStatus* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_id;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_id (TubaAPIStatus* self,
                        const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_id (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_id);
		self->priv->_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_ID_PROPERTY]);
	}
}

TubaAPIAccount*
tuba_api_status_get_account (TubaAPIStatus* self)
{
	TubaAPIAccount* result;
	TubaAPIAccount* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_account;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_account (TubaAPIStatus* self,
                             TubaAPIAccount* value)
{
	TubaAPIAccount* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_account (self);
	if (old_value != value) {
		TubaAPIAccount* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_account);
		self->priv->_account = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_ACCOUNT_PROPERTY]);
	}
}

const gchar*
tuba_api_status_get_uri (TubaAPIStatus* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_uri;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_uri (TubaAPIStatus* self,
                         const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_uri (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_uri);
		self->priv->_uri = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_URI_PROPERTY]);
	}
}

const gchar*
tuba_api_status_get_spoiler_text (TubaAPIStatus* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_spoiler_text;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_spoiler_text (TubaAPIStatus* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_spoiler_text (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_spoiler_text);
		self->priv->_spoiler_text = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_SPOILER_TEXT_PROPERTY]);
	}
}

const gchar*
tuba_api_status_get_in_reply_to_id (TubaAPIStatus* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_in_reply_to_id;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_in_reply_to_id (TubaAPIStatus* self,
                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_in_reply_to_id (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_in_reply_to_id);
		self->priv->_in_reply_to_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_IN_REPLY_TO_ID_PROPERTY]);
	}
}

const gchar*
tuba_api_status_get_in_reply_to_account_id (TubaAPIStatus* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_in_reply_to_account_id;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_in_reply_to_account_id (TubaAPIStatus* self,
                                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_in_reply_to_account_id (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_in_reply_to_account_id);
		self->priv->_in_reply_to_account_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_IN_REPLY_TO_ACCOUNT_ID_PROPERTY]);
	}
}

const gchar*
tuba_api_status_get_content (TubaAPIStatus* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_content;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_content (TubaAPIStatus* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_content (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_content);
		self->priv->_content = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_CONTENT_PROPERTY]);
	}
}

TubaAPIStatusApplication*
tuba_api_status_get_application (TubaAPIStatus* self)
{
	TubaAPIStatusApplication* result;
	TubaAPIStatusApplication* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_application;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_application (TubaAPIStatus* self,
                                 TubaAPIStatusApplication* value)
{
	TubaAPIStatusApplication* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_application (self);
	if (old_value != value) {
		TubaAPIStatusApplication* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_application);
		self->priv->_application = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_APPLICATION_PROPERTY]);
	}
}

gint64
tuba_api_status_get_replies_count (TubaAPIStatus* self)
{
	gint64 result;
	g_return_val_if_fail (self != NULL, -1LL);
	result = self->priv->_replies_count;
	return result;
}

void
tuba_api_status_set_replies_count (TubaAPIStatus* self,
                                   gint64 value)
{
	gint64 old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_replies_count (self);
	if (old_value != value) {
		self->priv->_replies_count = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_REPLIES_COUNT_PROPERTY]);
	}
}

gint64
tuba_api_status_get_quotes_count (TubaAPIStatus* self)
{
	gint64 result;
	g_return_val_if_fail (self != NULL, -1LL);
	result = self->priv->_quotes_count;
	return result;
}

void
tuba_api_status_set_quotes_count (TubaAPIStatus* self,
                                  gint64 value)
{
	gint64 old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_quotes_count (self);
	if (old_value != value) {
		self->priv->_quotes_count = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_QUOTES_COUNT_PROPERTY]);
	}
}

gint64
tuba_api_status_get_reblogs_count (TubaAPIStatus* self)
{
	gint64 result;
	g_return_val_if_fail (self != NULL, -1LL);
	result = self->priv->_reblogs_count;
	return result;
}

void
tuba_api_status_set_reblogs_count (TubaAPIStatus* self,
                                   gint64 value)
{
	gint64 old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_reblogs_count (self);
	if (old_value != value) {
		self->priv->_reblogs_count = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_REBLOGS_COUNT_PROPERTY]);
	}
}

gint64
tuba_api_status_get_favourites_count (TubaAPIStatus* self)
{
	gint64 result;
	g_return_val_if_fail (self != NULL, -1LL);
	result = self->priv->_favourites_count;
	return result;
}

void
tuba_api_status_set_favourites_count (TubaAPIStatus* self,
                                      gint64 value)
{
	gint64 old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_favourites_count (self);
	if (old_value != value) {
		self->priv->_favourites_count = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_FAVOURITES_COUNT_PROPERTY]);
	}
}

const gchar*
tuba_api_status_get_created_at (TubaAPIStatus* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_created_at;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_created_at (TubaAPIStatus* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_created_at (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_created_at);
		self->priv->_created_at = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_CREATED_AT_PROPERTY]);
	}
}

gboolean
tuba_api_status_get_reblogged (TubaAPIStatus* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_reblogged;
	return result;
}

void
tuba_api_status_set_reblogged (TubaAPIStatus* self,
                               gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_reblogged (self);
	if (old_value != value) {
		self->priv->_reblogged = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_REBLOGGED_PROPERTY]);
	}
}

gboolean
tuba_api_status_get_favourited (TubaAPIStatus* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_favourited;
	return result;
}

void
tuba_api_status_set_favourited (TubaAPIStatus* self,
                                gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_favourited (self);
	if (old_value != value) {
		self->priv->_favourited = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_FAVOURITED_PROPERTY]);
	}
}

gboolean
tuba_api_status_get_bookmarked (TubaAPIStatus* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_bookmarked;
	return result;
}

void
tuba_api_status_set_bookmarked (TubaAPIStatus* self,
                                gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_bookmarked (self);
	if (old_value != value) {
		self->priv->_bookmarked = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_BOOKMARKED_PROPERTY]);
	}
}

gboolean
tuba_api_status_get_local_only (TubaAPIStatus* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_local_only;
	return result;
}

void
tuba_api_status_set_local_only (TubaAPIStatus* self,
                                gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_local_only (self);
	if (old_value != value) {
		self->priv->_local_only = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_LOCAL_ONLY_PROPERTY]);
	}
}

gboolean
tuba_api_status_get_sensitive (TubaAPIStatus* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_sensitive;
	return result;
}

void
tuba_api_status_set_sensitive (TubaAPIStatus* self,
                               gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_sensitive (self);
	if (old_value != value) {
		self->priv->_sensitive = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_SENSITIVE_PROPERTY]);
	}
}

gboolean
tuba_api_status_get_muted (TubaAPIStatus* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_muted;
	return result;
}

void
tuba_api_status_set_muted (TubaAPIStatus* self,
                           gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_muted (self);
	if (old_value != value) {
		self->priv->_muted = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_MUTED_PROPERTY]);
	}
}

gboolean
tuba_api_status_get_pinned (TubaAPIStatus* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_pinned;
	return result;
}

void
tuba_api_status_set_pinned (TubaAPIStatus* self,
                            gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_pinned (self);
	if (old_value != value) {
		self->priv->_pinned = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_PINNED_PROPERTY]);
	}
}

const gchar*
tuba_api_status_get_edited_at (TubaAPIStatus* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_edited_at;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_edited_at (TubaAPIStatus* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_edited_at (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_edited_at);
		self->priv->_edited_at = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_EDITED_AT_PROPERTY]);
	}
}

const gchar*
tuba_api_status_get_visibility (TubaAPIStatus* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_visibility;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_visibility (TubaAPIStatus* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_visibility (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_visibility);
		self->priv->_visibility = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_VISIBILITY_PROPERTY]);
	}
}

TubaAPIStatus*
tuba_api_status_get_reblog (TubaAPIStatus* self)
{
	TubaAPIStatus* result;
	TubaAPIStatus* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_reblog;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_reblog (TubaAPIStatus* self,
                            TubaAPIStatus* value)
{
	TubaAPIStatus* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_reblog (self);
	if (old_value != value) {
		TubaAPIStatus* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_reblog);
		self->priv->_reblog = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_REBLOG_PROPERTY]);
	}
}

TubaAPIQuote*
tuba_api_status_get_quote (TubaAPIStatus* self)
{
	TubaAPIQuote* result;
	TubaAPIQuote* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_quote;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_quote (TubaAPIStatus* self,
                           TubaAPIQuote* value)
{
	TubaAPIQuote* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_quote (self);
	if (old_value != value) {
		TubaAPIQuote* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_quote);
		self->priv->_quote = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_QUOTE_PROPERTY]);
	}
}

GeeArrayList*
tuba_api_status_get_mentions (TubaAPIStatus* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_mentions;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_mentions (TubaAPIStatus* self,
                              GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_mentions (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_mentions);
		self->priv->_mentions = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_MENTIONS_PROPERTY]);
	}
}

GeeArrayList*
tuba_api_status_get_reactions (TubaAPIStatus* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_reactions;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_reactions (TubaAPIStatus* self,
                               GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_reactions (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_reactions);
		self->priv->_reactions = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_REACTIONS_PROPERTY]);
	}
}

GeeArrayList*
tuba_api_status_get_emoji_reactions (TubaAPIStatus* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_emoji_reactions;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_emoji_reactions (TubaAPIStatus* self,
                                     GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_emoji_reactions (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_emoji_reactions);
		self->priv->_emoji_reactions = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_EMOJI_REACTIONS_PROPERTY]);
	}
}

TubaAPIPleromaStatus*
tuba_api_status_get_pleroma (TubaAPIStatus* self)
{
	TubaAPIPleromaStatus* result;
	TubaAPIPleromaStatus* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_pleroma;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_pleroma (TubaAPIStatus* self,
                             TubaAPIPleromaStatus* value)
{
	TubaAPIPleromaStatus* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_pleroma (self);
	if (old_value != value) {
		TubaAPIPleromaStatus* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_pleroma);
		self->priv->_pleroma = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_PLEROMA_PROPERTY]);
	}
}

GeeArrayList*
tuba_api_status_get_media_attachments (TubaAPIStatus* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_media_attachments;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_media_attachments (TubaAPIStatus* self,
                                       GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_media_attachments (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_media_attachments);
		self->priv->_media_attachments = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_MEDIA_ATTACHMENTS_PROPERTY]);
	}
}

TubaAPIPoll*
tuba_api_status_get_poll (TubaAPIStatus* self)
{
	TubaAPIPoll* result;
	TubaAPIPoll* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_poll;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_poll (TubaAPIStatus* self,
                          TubaAPIPoll* value)
{
	TubaAPIPoll* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_poll (self);
	if (old_value != value) {
		TubaAPIPoll* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_poll);
		self->priv->_poll = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_POLL_PROPERTY]);
	}
}

GeeArrayList*
tuba_api_status_get_emojis (TubaAPIStatus* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_emojis;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_emojis (TubaAPIStatus* self,
                            GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_emojis (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_emojis);
		self->priv->_emojis = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_EMOJIS_PROPERTY]);
	}
}

TubaAPIPreviewCard*
tuba_api_status_get_card (TubaAPIStatus* self)
{
	TubaAPIPreviewCard* result;
	TubaAPIPreviewCard* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_card;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_card (TubaAPIStatus* self,
                          TubaAPIPreviewCard* value)
{
	TubaAPIPreviewCard* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_card (self);
	if (old_value != value) {
		TubaAPIPreviewCard* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_card);
		self->priv->_card = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_CARD_PROPERTY]);
	}
}

GeeArrayList*
tuba_api_status_get_filtered (TubaAPIStatus* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_filtered;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_filtered (TubaAPIStatus* self,
                              GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_filtered (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_filtered);
		self->priv->_filtered = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_FILTERED_PROPERTY]);
	}
}

TubaAPIStatusQuoteApproval*
tuba_api_status_get_quote_approval (TubaAPIStatus* self)
{
	TubaAPIStatusQuoteApproval* result;
	TubaAPIStatusQuoteApproval* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_quote_approval;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_quote_approval (TubaAPIStatus* self,
                                    TubaAPIStatusQuoteApproval* value)
{
	TubaAPIStatusQuoteApproval* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_quote_approval (self);
	if (old_value != value) {
		TubaAPIStatusQuoteApproval* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_quote_approval);
		self->priv->_quote_approval = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_QUOTE_APPROVAL_PROPERTY]);
	}
}

gboolean
tuba_api_status_get_tuba_had_quote (TubaAPIStatus* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_tuba_had_quote;
	return result;
}

void
tuba_api_status_set_tuba_had_quote (TubaAPIStatus* self,
                                    gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_tuba_had_quote (self);
	if (old_value != value) {
		self->priv->_tuba_had_quote = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_TUBA_HAD_QUOTE_PROPERTY]);
	}
}

GeeArrayList*
tuba_api_status_get_tagged_collections (TubaAPIStatus* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_tagged_collections;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_tagged_collections (TubaAPIStatus* self,
                                        GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_tagged_collections (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_tagged_collections);
		self->priv->_tagged_collections = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_TAGGED_COLLECTIONS_PROPERTY]);
	}
}

static Block18Data*
block18_data_ref (Block18Data* _data18_)
{
	g_atomic_int_inc (&_data18_->_ref_count_);
	return _data18_;
}

static void
block18_data_unref (void * _userdata_)
{
	Block18Data* _data18_;
	_data18_ = (Block18Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data18_->_ref_count_)) {
		TubaAPIStatus* self;
		self = _data18_->self;
		_g_object_unref0 (self);
		g_slice_free (Block18Data, _data18_);
	}
}

static gboolean
_tuba_api_status_tuba_filter_hidden___lambda90_ (Block18Data* _data18_,
                                                 TubaAPIFiltersFilterResult* e)
{
	TubaAPIStatus* self;
	TubaAPIFiltersFilter* _tmp0_;
	TubaAPIFiltersFilter* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	gboolean result;
	self = _data18_->self;
	g_return_val_if_fail (e != NULL, FALSE);
	_tmp0_ = tuba_api_filters_filter_result_get_filter (e);
	_tmp1_ = _tmp0_;
	_tmp2_ = tuba_api_filters_filter_get_filter_action (_tmp1_);
	_tmp3_ = _tmp2_;
	if (tuba_api_filters_filter_filter_action_from_string (_tmp3_) == TUBA_API_FILTERS_FILTER_FILTER_ACTION_HIDE) {
		_data18_->res = TRUE;
		result = FALSE;
		_g_object_unref0 (e);
		return result;
	}
	result = TRUE;
	_g_object_unref0 (e);
	return result;
}

static gboolean
__tuba_api_status_tuba_filter_hidden___lambda90__gee_forall_func (gpointer g,
                                                                  gpointer self)
{
	gboolean result;
	result = _tuba_api_status_tuba_filter_hidden___lambda90_ (self, (TubaAPIFiltersFilterResult*) g);
	return result;
}

gboolean
tuba_api_status_get_tuba_filter_hidden (TubaAPIStatus* self)
{
	gboolean result;
	Block18Data* _data18_;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GeeArrayList* _tmp2_;
	GeeArrayList* _tmp9_;
	g_return_val_if_fail (self != NULL, FALSE);
	_data18_ = g_slice_new0 (Block18Data);
	_data18_->_ref_count_ = 1;
	_data18_->self = g_object_ref (self);
	_tmp2_ = self->priv->_filtered;
	if (_tmp2_ == NULL) {
		_tmp1_ = TRUE;
	} else {
		GeeArrayList* _tmp3_;
		gint _tmp4_;
		gint _tmp5_;
		_tmp3_ = self->priv->_filtered;
		_tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
		_tmp5_ = _tmp4_;
		_tmp1_ = _tmp5_ == 0;
	}
	if (_tmp1_) {
		_tmp0_ = TRUE;
	} else {
		TubaAPIStatus* _tmp6_;
		TubaAPIStatus* _tmp7_;
		TubaAPIAccount* _tmp8_;
		_tmp6_ = tuba_api_status_get_formal (self);
		_tmp7_ = _tmp6_;
		_tmp8_ = _tmp7_->priv->_account;
		_tmp0_ = tuba_api_account_is_self (_tmp8_);
	}
	if (_tmp0_) {
		result = FALSE;
		block18_data_unref (_data18_);
		_data18_ = NULL;
		return result;
	}
	_data18_->res = FALSE;
	_tmp9_ = self->priv->_filtered;
	gee_abstract_collection_foreach ((GeeAbstractCollection*) _tmp9_, __tuba_api_status_tuba_filter_hidden___lambda90__gee_forall_func, _data18_);
	result = _data18_->res;
	block18_data_unref (_data18_);
	_data18_ = NULL;
	return result;
}

static Block19Data*
block19_data_ref (Block19Data* _data19_)
{
	g_atomic_int_inc (&_data19_->_ref_count_);
	return _data19_;
}

static void
block19_data_unref (void * _userdata_)
{
	Block19Data* _data19_;
	_data19_ = (Block19Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data19_->_ref_count_)) {
		TubaAPIStatus* self;
		self = _data19_->self;
		_g_free0 (_data19_->res);
		_g_object_unref0 (self);
		g_slice_free (Block19Data, _data19_);
	}
}

static gboolean
_tuba_api_status_tuba_filter_warn___lambda86_ (Block19Data* _data19_,
                                               TubaAPIFiltersFilterResult* e)
{
	TubaAPIStatus* self;
	TubaAPIFiltersFilter* _tmp0_;
	TubaAPIFiltersFilter* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	gboolean result;
	self = _data19_->self;
	g_return_val_if_fail (e != NULL, FALSE);
	_tmp0_ = tuba_api_filters_filter_result_get_filter (e);
	_tmp1_ = _tmp0_;
	_tmp2_ = tuba_api_filters_filter_get_filter_action (_tmp1_);
	_tmp3_ = _tmp2_;
	if (tuba_api_filters_filter_filter_action_from_string (_tmp3_) != TUBA_API_FILTERS_FILTER_FILTER_ACTION_HIDE) {
		TubaAPIFiltersFilter* _tmp4_;
		TubaAPIFiltersFilter* _tmp5_;
		const gchar* _tmp6_;
		const gchar* _tmp7_;
		gchar* _tmp8_;
		_tmp4_ = tuba_api_filters_filter_result_get_filter (e);
		_tmp5_ = _tmp4_;
		_tmp6_ = tuba_api_filters_filter_get_title (_tmp5_);
		_tmp7_ = _tmp6_;
		_tmp8_ = g_strdup (_tmp7_);
		_g_free0 (_data19_->res);
		_data19_->res = _tmp8_;
		result = FALSE;
		_g_object_unref0 (e);
		return result;
	}
	result = TRUE;
	_g_object_unref0 (e);
	return result;
}

static gboolean
__tuba_api_status_tuba_filter_warn___lambda86__gee_forall_func (gpointer g,
                                                                gpointer self)
{
	gboolean result;
	result = _tuba_api_status_tuba_filter_warn___lambda86_ (self, (TubaAPIFiltersFilterResult*) g);
	return result;
}

gchar*
tuba_api_status_get_tuba_filter_warn (TubaAPIStatus* self)
{
	gchar* result;
	Block19Data* _data19_;
	gboolean _tmp0_ = FALSE;
	GeeArrayList* _tmp1_;
	GeeArrayList* _tmp5_;
	const gchar* _tmp6_;
	gchar* _tmp7_;
	g_return_val_if_fail (self != NULL, NULL);
	_data19_ = g_slice_new0 (Block19Data);
	_data19_->_ref_count_ = 1;
	_data19_->self = g_object_ref (self);
	_tmp1_ = self->priv->_filtered;
	if (_tmp1_ == NULL) {
		_tmp0_ = TRUE;
	} else {
		GeeArrayList* _tmp2_;
		gint _tmp3_;
		gint _tmp4_;
		_tmp2_ = self->priv->_filtered;
		_tmp3_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp2_);
		_tmp4_ = _tmp3_;
		_tmp0_ = _tmp4_ == 0;
	}
	if (_tmp0_) {
		result = NULL;
		block19_data_unref (_data19_);
		_data19_ = NULL;
		return result;
	}
	_data19_->res = NULL;
	_tmp5_ = self->priv->_filtered;
	gee_abstract_collection_foreach ((GeeAbstractCollection*) _tmp5_, __tuba_api_status_tuba_filter_warn___lambda86__gee_forall_func, _data19_);
	_tmp6_ = _data19_->res;
	_tmp7_ = g_strdup (_tmp6_);
	result = _tmp7_;
	block19_data_unref (_data19_);
	_data19_ = NULL;
	return result;
}

static GRegex*
tuba_api_status_real_get_tuba_search_query_regex (TubaAPISearchResult* base)
{
	GRegex* result;
	TubaAPIStatus* self;
	GRegex* _tmp0_;
	self = (TubaAPIStatus*) base;
	_tmp0_ = self->priv->_tuba_search_query_regex;
	result = _tmp0_;
	return result;
}

static gpointer
_g_regex_ref0 (gpointer self)
{
	return self ? g_regex_ref (self) : NULL;
}

static void
tuba_api_status_real_set_tuba_search_query_regex (TubaAPISearchResult* base,
                                                  GRegex* value)
{
	TubaAPIStatus* self;
	GRegex* old_value;
	self = (TubaAPIStatus*) base;
	old_value = tuba_api_status_real_get_tuba_search_query_regex (base);
	if (old_value != value) {
		GRegex* _tmp0_;
		_tmp0_ = _g_regex_ref0 (value);
		_g_regex_unref0 (self->priv->_tuba_search_query_regex);
		self->priv->_tuba_search_query_regex = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_TUBA_SEARCH_QUERY_REGEX_PROPERTY]);
	}
}

TubaViewsThreadThreadRole
tuba_api_status_get_tuba_thread_role (TubaAPIStatus* self)
{
	TubaViewsThreadThreadRole result;
	g_return_val_if_fail (self != NULL, 0);
	result = self->priv->_tuba_thread_role;
	return result;
}

void
tuba_api_status_set_tuba_thread_role (TubaAPIStatus* self,
                                      TubaViewsThreadThreadRole value)
{
	TubaViewsThreadThreadRole old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_tuba_thread_role (self);
	if (old_value != value) {
		self->priv->_tuba_thread_role = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_TUBA_THREAD_ROLE_PROPERTY]);
	}
}

gboolean
tuba_api_status_get_tuba_spoiler_revealed (TubaAPIStatus* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_tuba_spoiler_revealed;
	return result;
}

void
tuba_api_status_set_tuba_spoiler_revealed (TubaAPIStatus* self,
                                           gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_tuba_spoiler_revealed (self);
	if (old_value != value) {
		self->priv->_tuba_spoiler_revealed = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_TUBA_SPOILER_REVEALED_PROPERTY]);
	}
}

gboolean
tuba_api_status_get_tuba_translatable (TubaAPIStatus* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_tuba_translatable;
	return result;
}

void
tuba_api_status_set_tuba_translatable (TubaAPIStatus* self,
                                       gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_tuba_translatable (self);
	if (old_value != value) {
		self->priv->_tuba_translatable = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_TUBA_TRANSLATABLE_PROPERTY]);
	}
}

const gchar*
tuba_api_status_get_language (TubaAPIStatus* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_language;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_language (TubaAPIStatus* self,
                              const gchar* value)
{
	const gchar* _tmp0_ = NULL;
	gchar* _tmp4_;
	g_return_if_fail (self != NULL);
	if (value != NULL) {
		tuba_api_status_set_tuba_translatable (self, TRUE);
	}
	_tmp0_ = value;
	if (_tmp0_ == NULL) {
		TubaSettings* _tmp1_;
		const gchar* _tmp2_;
		const gchar* _tmp3_;
		_tmp1_ = tuba_settings;
		_tmp2_ = tuba_settings_get_default_language (_tmp1_);
		_tmp3_ = _tmp2_;
		_tmp0_ = _tmp3_;
	}
	_tmp4_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_language);
	self->priv->_language = _tmp4_;
	g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_LANGUAGE_PROPERTY]);
}

GeeHashMap*
tuba_api_status_get_emojis_map (TubaAPIStatus* self)
{
	GeeHashMap* result;
	GeeHashMap* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = tuba_api_status_gen_emojis_map (self);
	result = _tmp0_;
	return result;
}

GeeArrayList*
tuba_api_status_get_compat_status_reactions (TubaAPIStatus* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	GeeArrayList* _tmp10_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_emoji_reactions;
	if (_tmp0_ != NULL) {
		GeeArrayList* _tmp1_;
		_tmp1_ = self->priv->_emoji_reactions;
		result = _tmp1_;
		return result;
	} else {
		gboolean _tmp2_ = FALSE;
		TubaAPIPleromaStatus* _tmp3_;
		_tmp3_ = self->priv->_pleroma;
		if (_tmp3_ != NULL) {
			TubaAPIPleromaStatus* _tmp4_;
			GeeArrayList* _tmp5_;
			GeeArrayList* _tmp6_;
			_tmp4_ = self->priv->_pleroma;
			_tmp5_ = tuba_api_pleroma_status_get_emoji_reactions (_tmp4_);
			_tmp6_ = _tmp5_;
			_tmp2_ = _tmp6_ != NULL;
		} else {
			_tmp2_ = FALSE;
		}
		if (_tmp2_) {
			TubaAPIPleromaStatus* _tmp7_;
			GeeArrayList* _tmp8_;
			GeeArrayList* _tmp9_;
			_tmp7_ = self->priv->_pleroma;
			_tmp8_ = tuba_api_pleroma_status_get_emoji_reactions (_tmp7_);
			_tmp9_ = _tmp8_;
			result = _tmp9_;
			return result;
		}
	}
	_tmp10_ = self->priv->_reactions;
	result = _tmp10_;
	return result;
}

gboolean
tuba_api_status_get_compat_local_only (TubaAPIStatus* self)
{
	gboolean result;
	gboolean _tmp0_ = FALSE;
	TubaAPIPleromaStatus* _tmp1_;
	gboolean _tmp3_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp1_ = self->priv->_pleroma;
	if (_tmp1_ != NULL) {
		const gchar* _tmp2_;
		_tmp2_ = self->priv->_visibility;
		_tmp0_ = g_strcmp0 (_tmp2_, "local") == 0;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		result = TRUE;
		return result;
	}
	_tmp3_ = self->priv->_local_only;
	result = _tmp3_;
	return result;
}

const gchar*
tuba_api_status_get_t_url (TubaAPIStatus* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_t_url;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_t_url (TubaAPIStatus* self,
                           const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_get_t_url (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_t_url);
		self->priv->_t_url = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_T_URL_PROPERTY]);
	}
}

gchar*
tuba_api_status_get_url (TubaAPIStatus* self)
{
	gchar* result;
	gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = tuba_api_status_get_modified_url (self);
	result = _tmp0_;
	return result;
}

void
tuba_api_status_set_url (TubaAPIStatus* self,
                         const gchar* value)
{
	g_return_if_fail (self != NULL);
	tuba_api_status_set_t_url (self, value);
	g_object_notify_by_pspec ((GObject *) self, tuba_api_status_properties[TUBA_API_STATUS_URL_PROPERTY]);
}

gboolean
tuba_api_status_get_is_edited (TubaAPIStatus* self)
{
	gboolean result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = self->priv->_edited_at;
	result = _tmp0_ != NULL;
	return result;
}

TubaAPIStatus*
tuba_api_status_get_formal (TubaAPIStatus* self)
{
	TubaAPIStatus* result;
	TubaAPIStatus* _tmp0_ = NULL;
	TubaAPIStatus* _tmp1_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp1_ = self->priv->_reblog;
	_tmp0_ = _tmp1_;
	if (_tmp0_ == NULL) {
		_tmp0_ = self;
	}
	result = _tmp0_;
	return result;
}

gboolean
tuba_api_status_get_has_spoiler (TubaAPIStatus* self)
{
	gboolean result;
	gboolean _tmp0_ = FALSE;
	TubaAPIStatus* _tmp1_;
	TubaAPIStatus* _tmp2_;
	const gchar* _tmp3_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp1_ = tuba_api_status_get_formal (self);
	_tmp2_ = _tmp1_;
	_tmp3_ = _tmp2_->priv->_spoiler_text;
	if (_tmp3_ == NULL) {
		_tmp0_ = TRUE;
	} else {
		TubaAPIStatus* _tmp4_;
		TubaAPIStatus* _tmp5_;
		const gchar* _tmp6_;
		_tmp4_ = tuba_api_status_get_formal (self);
		_tmp5_ = _tmp4_;
		_tmp6_ = _tmp5_->priv->_spoiler_text;
		_tmp0_ = g_strcmp0 (_tmp6_, "") == 0;
	}
	result = !_tmp0_;
	return result;
}

gboolean
tuba_api_status_get_can_be_quoted (TubaAPIStatus* self)
{
	gboolean result;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	TubaAccountStore* _tmp2_;
	TubaInstanceAccount* _tmp3_;
	TubaInstanceAccount* _tmp4_;
	TubaInstanceAccountInstanceFeatures _tmp5_;
	TubaInstanceAccountInstanceFeatures _tmp6_;
	gboolean _tmp28_ = FALSE;
	gboolean _tmp29_ = FALSE;
	TubaAPIStatus* _tmp30_;
	TubaAPIStatus* _tmp31_;
	const gchar* _tmp32_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp2_ = tuba_accounts;
	_tmp3_ = tuba_account_store_get_active (_tmp2_);
	_tmp4_ = _tmp3_;
	_tmp5_ = tuba_instance_account_get_tuba_instance_features (_tmp4_);
	_tmp6_ = _tmp5_;
	if ((_tmp6_ & TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_QUOTE) == TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_QUOTE) {
		_tmp1_ = TRUE;
	} else {
		TubaAccountStore* _tmp7_;
		TubaInstanceAccount* _tmp8_;
		TubaInstanceAccount* _tmp9_;
		TubaAPIInstanceV2APIVersions* _tmp10_;
		TubaAPIInstanceV2APIVersions* _tmp11_;
		gint8 _tmp12_;
		gint8 _tmp13_;
		_tmp7_ = tuba_accounts;
		_tmp8_ = tuba_account_store_get_active (_tmp7_);
		_tmp9_ = _tmp8_;
		_tmp10_ = tuba_instance_account_get_tuba_api_versions (_tmp9_);
		_tmp11_ = _tmp10_;
		_tmp12_ = tuba_api_instance_v2_api_versions_get_mastodon (_tmp11_);
		_tmp13_ = _tmp12_;
		_tmp1_ = ((gint) _tmp13_) >= 7;
	}
	if (_tmp1_) {
		TubaAPIStatus* _tmp14_;
		TubaAPIStatus* _tmp15_;
		TubaAPIStatusQuoteApproval* _tmp16_;
		_tmp14_ = tuba_api_status_get_formal (self);
		_tmp15_ = _tmp14_;
		_tmp16_ = _tmp15_->priv->_quote_approval;
		_tmp0_ = _tmp16_ != NULL;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		gboolean _tmp17_ = FALSE;
		TubaAPIStatus* _tmp18_;
		TubaAPIStatus* _tmp19_;
		TubaAPIStatusQuoteApproval* _tmp20_;
		const gchar* _tmp21_;
		const gchar* _tmp22_;
		_tmp18_ = tuba_api_status_get_formal (self);
		_tmp19_ = _tmp18_;
		_tmp20_ = _tmp19_->priv->_quote_approval;
		_tmp21_ = tuba_api_status_quote_approval_get_current_user (_tmp20_);
		_tmp22_ = _tmp21_;
		if (g_strcmp0 (_tmp22_, "denied") != 0) {
			TubaAPIStatus* _tmp23_;
			TubaAPIStatus* _tmp24_;
			TubaAPIStatusQuoteApproval* _tmp25_;
			const gchar* _tmp26_;
			const gchar* _tmp27_;
			_tmp23_ = tuba_api_status_get_formal (self);
			_tmp24_ = _tmp23_;
			_tmp25_ = _tmp24_->priv->_quote_approval;
			_tmp26_ = tuba_api_status_quote_approval_get_current_user (_tmp25_);
			_tmp27_ = _tmp26_;
			_tmp17_ = g_strcmp0 (_tmp27_, "unknown") != 0;
		} else {
			_tmp17_ = FALSE;
		}
		result = _tmp17_;
		return result;
	}
	_tmp30_ = tuba_api_status_get_formal (self);
	_tmp31_ = _tmp30_;
	_tmp32_ = _tmp31_->priv->_visibility;
	if (g_strcmp0 (_tmp32_, "direct") != 0) {
		TubaAPIStatus* _tmp33_;
		TubaAPIStatus* _tmp34_;
		const gchar* _tmp35_;
		_tmp33_ = tuba_api_status_get_formal (self);
		_tmp34_ = _tmp33_;
		_tmp35_ = _tmp34_->priv->_visibility;
		_tmp29_ = g_strcmp0 (_tmp35_, "private") != 0;
	} else {
		_tmp29_ = FALSE;
	}
	if (_tmp29_) {
		TubaAPIStatus* _tmp36_;
		TubaAPIStatus* _tmp37_;
		const gchar* _tmp38_;
		_tmp36_ = tuba_api_status_get_formal (self);
		_tmp37_ = _tmp36_;
		_tmp38_ = _tmp37_->priv->_visibility;
		_tmp28_ = g_strcmp0 (_tmp38_, "local") != 0;
	} else {
		_tmp28_ = FALSE;
	}
	result = _tmp28_;
	return result;
}

gboolean
tuba_api_status_get_can_be_boosted (TubaAPIStatus* self)
{
	gboolean result;
	gboolean _tmp0_ = FALSE;
	TubaAPIStatus* _tmp1_;
	TubaAPIStatus* _tmp2_;
	const gchar* _tmp3_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp1_ = tuba_api_status_get_formal (self);
	_tmp2_ = _tmp1_;
	_tmp3_ = _tmp2_->priv->_visibility;
	if (g_strcmp0 (_tmp3_, "direct") != 0) {
		gboolean _tmp4_ = FALSE;
		TubaAPIStatus* _tmp5_;
		TubaAPIStatus* _tmp6_;
		const gchar* _tmp7_;
		_tmp5_ = tuba_api_status_get_formal (self);
		_tmp6_ = _tmp5_;
		_tmp7_ = _tmp6_->priv->_visibility;
		if (g_strcmp0 (_tmp7_, "private") != 0) {
			_tmp4_ = TRUE;
		} else {
			TubaAPIStatus* _tmp8_;
			TubaAPIStatus* _tmp9_;
			TubaAPIAccount* _tmp10_;
			_tmp8_ = tuba_api_status_get_formal (self);
			_tmp9_ = _tmp8_;
			_tmp10_ = _tmp9_->priv->_account;
			_tmp4_ = tuba_api_account_is_self (_tmp10_);
		}
		_tmp0_ = _tmp4_;
	} else {
		_tmp0_ = FALSE;
	}
	result = _tmp0_;
	return result;
}

gboolean
tuba_api_status_get_is_mine (TubaAPIStatus* self)
{
	gboolean result;
	TubaAPIStatus* _tmp0_;
	TubaAPIStatus* _tmp1_;
	TubaAPIAccount* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	TubaAccountStore* _tmp5_;
	TubaInstanceAccount* _tmp6_;
	TubaInstanceAccount* _tmp7_;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = tuba_api_status_get_formal (self);
	_tmp1_ = _tmp0_;
	_tmp2_ = _tmp1_->priv->_account;
	_tmp3_ = tuba_api_account_get_id (_tmp2_);
	_tmp4_ = _tmp3_;
	_tmp5_ = tuba_accounts;
	_tmp6_ = tuba_account_store_get_active (_tmp5_);
	_tmp7_ = _tmp6_;
	_tmp8_ = tuba_api_account_get_id ((TubaAPIAccount*) _tmp7_);
	_tmp9_ = _tmp8_;
	result = g_strcmp0 (_tmp4_, _tmp9_) == 0;
	return result;
}

gboolean
tuba_api_status_get_has_media (TubaAPIStatus* self)
{
	gboolean result;
	gboolean _tmp0_ = FALSE;
	GeeArrayList* _tmp1_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp1_ = self->priv->_media_attachments;
	if (_tmp1_ != NULL) {
		GeeArrayList* _tmp2_;
		gboolean _tmp3_;
		gboolean _tmp4_;
		_tmp2_ = self->priv->_media_attachments;
		_tmp3_ = gee_collection_get_is_empty ((GeeCollection*) _tmp2_);
		_tmp4_ = _tmp3_;
		_tmp0_ = !_tmp4_;
	} else {
		_tmp0_ = FALSE;
	}
	result = _tmp0_;
	return result;
}

static inline gpointer
tuba_api_status_quote_approval_get_instance_private (TubaAPIStatusQuoteApproval* self)
{
	return G_STRUCT_MEMBER_P (self, TubaAPIStatusQuoteApproval_private_offset);
}

TubaAPIStatusQuotePolicy
tuba_api_status_quote_approval_to_quote_policy (TubaAPIStatusQuoteApproval* self)
{
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	const gchar* _tmp2_;
	TubaAPIStatusQuotePolicy result;
	g_return_val_if_fail (self != NULL, 0);
	_tmp2_ = self->priv->_current_user;
	if (g_strcmp0 (_tmp2_, "automatic") == 0) {
		_tmp1_ = TRUE;
	} else {
		const gchar* _tmp3_;
		_tmp3_ = self->priv->_current_user;
		_tmp1_ = g_strcmp0 (_tmp3_, "manual") == 0;
	}
	if (_tmp1_) {
		gboolean _tmp4_ = FALSE;
		gboolean _tmp5_ = FALSE;
		GeeArrayList* _tmp6_;
		_tmp6_ = self->priv->_automatic;
		if (_tmp6_ != NULL) {
			GeeArrayList* _tmp7_;
			gint _tmp8_;
			gint _tmp9_;
			_tmp7_ = self->priv->_automatic;
			_tmp8_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp7_);
			_tmp9_ = _tmp8_;
			_tmp5_ = _tmp9_ > 0;
		} else {
			_tmp5_ = FALSE;
		}
		if (_tmp5_) {
			_tmp4_ = TRUE;
		} else {
			gboolean _tmp10_ = FALSE;
			GeeArrayList* _tmp11_;
			_tmp11_ = self->priv->_manual;
			if (_tmp11_ != NULL) {
				GeeArrayList* _tmp12_;
				gint _tmp13_;
				gint _tmp14_;
				_tmp12_ = self->priv->_manual;
				_tmp13_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp12_);
				_tmp14_ = _tmp13_;
				_tmp10_ = _tmp14_ > 0;
			} else {
				_tmp10_ = FALSE;
			}
			_tmp4_ = _tmp10_;
		}
		_tmp0_ = _tmp4_;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		GeeArrayList* _tmp15_ = NULL;
		gboolean _tmp16_ = FALSE;
		GeeArrayList* _tmp17_;
		_tmp17_ = self->priv->_automatic;
		if (_tmp17_ != NULL) {
			GeeArrayList* _tmp18_;
			gint _tmp19_;
			gint _tmp20_;
			_tmp18_ = self->priv->_automatic;
			_tmp19_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp18_);
			_tmp20_ = _tmp19_;
			_tmp16_ = _tmp20_ > 0;
		} else {
			_tmp16_ = FALSE;
		}
		if (_tmp16_) {
			GeeArrayList* _tmp21_;
			_tmp21_ = self->priv->_automatic;
			_tmp15_ = _tmp21_;
		} else {
			GeeArrayList* _tmp22_;
			_tmp22_ = self->priv->_manual;
			_tmp15_ = _tmp22_;
		}
		{
			GeeArrayList* _qp_list = NULL;
			gint _qp_size = 0;
			GeeArrayList* _tmp23_;
			gint _tmp24_;
			gint _tmp25_;
			gint _qp_index = 0;
			_qp_list = _tmp15_;
			_tmp23_ = _qp_list;
			_tmp24_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp23_);
			_tmp25_ = _tmp24_;
			_qp_size = _tmp25_;
			_qp_index = -1;
			while (TRUE) {
				gint _tmp26_;
				gint _tmp27_;
				gchar* qp = NULL;
				GeeArrayList* _tmp28_;
				gpointer _tmp29_;
				const gchar* _tmp30_;
				const gchar* _tmp31_;
				GQuark _tmp33_ = 0U;
				static GQuark _tmp32_label0 = 0;
				static GQuark _tmp32_label1 = 0;
				static GQuark _tmp32_label2 = 0;
				_qp_index = _qp_index + 1;
				_tmp26_ = _qp_index;
				_tmp27_ = _qp_size;
				if (!(_tmp26_ < _tmp27_)) {
					break;
				}
				_tmp28_ = _qp_list;
				_tmp29_ = gee_abstract_list_get ((GeeAbstractList*) _tmp28_, _qp_index);
				qp = (gchar*) _tmp29_;
				_tmp30_ = qp;
				_tmp31_ = _tmp30_;
				_tmp33_ = (NULL == _tmp31_) ? 0 : g_quark_from_string (_tmp31_);
				if (_tmp33_ == ((0 != _tmp32_label0) ? _tmp32_label0 : (_tmp32_label0 = g_quark_from_static_string ("public")))) {
					switch (0) {
						default:
						{
							result = TUBA_API_STATUS_QUOTE_POLICY_PUBLIC;
							_g_free0 (qp);
							return result;
						}
					}
				} else if ((_tmp33_ == ((0 != _tmp32_label1) ? _tmp32_label1 : (_tmp32_label1 = g_quark_from_static_string ("followers")))) || (_tmp33_ == ((0 != _tmp32_label2) ? _tmp32_label2 : (_tmp32_label2 = g_quark_from_static_string ("following"))))) {
					switch (0) {
						default:
						{
							result = TUBA_API_STATUS_QUOTE_POLICY_FOLLOWERS;
							_g_free0 (qp);
							return result;
						}
					}
				}
				_g_free0 (qp);
			}
		}
	}
	result = TUBA_API_STATUS_QUOTE_POLICY_NOBODY;
	return result;
}

static GType
tuba_api_status_quote_approval_real_deserialize_array_type (TubaEntity* base,
                                                            const gchar* prop)
{
	TubaAPIStatusQuoteApproval * self;
	const gchar* _tmp0_;
	GQuark _tmp2_ = 0U;
	static GQuark _tmp1_label0 = 0;
	static GQuark _tmp1_label1 = 0;
	GType result;
	self = (TubaAPIStatusQuoteApproval*) base;
	g_return_val_if_fail (prop != NULL, G_TYPE_INVALID);
	_tmp0_ = prop;
	_tmp2_ = (NULL == _tmp0_) ? 0 : g_quark_from_string (_tmp0_);
	if ((_tmp2_ == ((0 != _tmp1_label0) ? _tmp1_label0 : (_tmp1_label0 = g_quark_from_static_string ("automatic")))) || (_tmp2_ == ((0 != _tmp1_label1) ? _tmp1_label1 : (_tmp1_label1 = g_quark_from_static_string ("manual"))))) {
		switch (0) {
			default:
			{
				result = G_TYPE_STRING;
				return result;
			}
		}
	}
	result = TUBA_ENTITY_CLASS (tuba_api_status_quote_approval_parent_class)->deserialize_array_type (G_TYPE_CHECK_INSTANCE_CAST (self, TUBA_TYPE_ENTITY, TubaEntity), prop);
	return result;
}

TubaAPIStatusQuoteApproval*
tuba_api_status_quote_approval_construct (GType object_type)
{
	TubaAPIStatusQuoteApproval * self = NULL;
	self = (TubaAPIStatusQuoteApproval*) tuba_entity_construct (object_type);
	return self;
}

TubaAPIStatusQuoteApproval*
tuba_api_status_quote_approval_new (void)
{
	return tuba_api_status_quote_approval_construct (TUBA_API_STATUS_TYPE_QUOTE_APPROVAL);
}

GeeArrayList*
tuba_api_status_quote_approval_get_automatic (TubaAPIStatusQuoteApproval* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_automatic;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_quote_approval_set_automatic (TubaAPIStatusQuoteApproval* self,
                                              GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_quote_approval_get_automatic (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_automatic);
		self->priv->_automatic = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_quote_approval_properties[TUBA_API_STATUS_QUOTE_APPROVAL_AUTOMATIC_PROPERTY]);
	}
}

GeeArrayList*
tuba_api_status_quote_approval_get_manual (TubaAPIStatusQuoteApproval* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_manual;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_quote_approval_set_manual (TubaAPIStatusQuoteApproval* self,
                                           GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_quote_approval_get_manual (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_manual);
		self->priv->_manual = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_quote_approval_properties[TUBA_API_STATUS_QUOTE_APPROVAL_MANUAL_PROPERTY]);
	}
}

const gchar*
tuba_api_status_quote_approval_get_current_user (TubaAPIStatusQuoteApproval* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_current_user;
	result = _tmp0_;
	return result;
}

void
tuba_api_status_quote_approval_set_current_user (TubaAPIStatusQuoteApproval* self,
                                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_status_quote_approval_get_current_user (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_current_user);
		self->priv->_current_user = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_status_quote_approval_properties[TUBA_API_STATUS_QUOTE_APPROVAL_CURRENT_USER_PROPERTY]);
	}
}

static void
tuba_api_status_quote_approval_class_init (TubaAPIStatusQuoteApprovalClass * klass,
                                           gpointer klass_data)
{
	tuba_api_status_quote_approval_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &TubaAPIStatusQuoteApproval_private_offset);
	((TubaEntityClass *) klass)->deserialize_array_type = (GType (*) (TubaEntity*, const gchar*)) tuba_api_status_quote_approval_real_deserialize_array_type;
	G_OBJECT_CLASS (klass)->get_property = _vala_tuba_api_status_quote_approval_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_tuba_api_status_quote_approval_set_property;
	G_OBJECT_CLASS (klass)->finalize = tuba_api_status_quote_approval_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_QUOTE_APPROVAL_AUTOMATIC_PROPERTY, tuba_api_status_quote_approval_properties[TUBA_API_STATUS_QUOTE_APPROVAL_AUTOMATIC_PROPERTY] = g_param_spec_object ("automatic", "automatic", "automatic", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_QUOTE_APPROVAL_MANUAL_PROPERTY, tuba_api_status_quote_approval_properties[TUBA_API_STATUS_QUOTE_APPROVAL_MANUAL_PROPERTY] = g_param_spec_object ("manual", "manual", "manual", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_QUOTE_APPROVAL_CURRENT_USER_PROPERTY, tuba_api_status_quote_approval_properties[TUBA_API_STATUS_QUOTE_APPROVAL_CURRENT_USER_PROPERTY] = g_param_spec_string ("current-user", "current-user", "current-user", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
tuba_api_status_quote_approval_instance_init (TubaAPIStatusQuoteApproval * self,
                                              gpointer klass)
{
	self->priv = tuba_api_status_quote_approval_get_instance_private (self);
	self->priv->_automatic = NULL;
	self->priv->_manual = NULL;
}

static void
tuba_api_status_quote_approval_finalize (GObject * obj)
{
	TubaAPIStatusQuoteApproval * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_API_STATUS_TYPE_QUOTE_APPROVAL, TubaAPIStatusQuoteApproval);
	_g_object_unref0 (self->priv->_automatic);
	_g_object_unref0 (self->priv->_manual);
	_g_free0 (self->priv->_current_user);
	G_OBJECT_CLASS (tuba_api_status_quote_approval_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
tuba_api_status_quote_approval_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaAPIStatusQuoteApprovalClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_api_status_quote_approval_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TubaAPIStatusQuoteApproval), 0, (GInstanceInitFunc) tuba_api_status_quote_approval_instance_init, NULL };
	GType tuba_api_status_quote_approval_type_id;
	tuba_api_status_quote_approval_type_id = g_type_register_static (TUBA_TYPE_ENTITY, "TubaAPIStatusQuoteApproval", &g_define_type_info, G_TYPE_FLAG_NONE);
	TubaAPIStatusQuoteApproval_private_offset = g_type_add_instance_private (tuba_api_status_quote_approval_type_id, sizeof (TubaAPIStatusQuoteApprovalPrivate));
	return tuba_api_status_quote_approval_type_id;
}

GType
tuba_api_status_quote_approval_get_type (void)
{
	static GType tuba_api_status_quote_approval_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_api_status_quote_approval_type_id__once)) {
		GType tuba_api_status_quote_approval_type_id;
		tuba_api_status_quote_approval_type_id = tuba_api_status_quote_approval_get_type_once ();
		g_once_init_leave_pointer (&tuba_api_status_quote_approval_type_id__once, tuba_api_status_quote_approval_type_id);
	}
	return tuba_api_status_quote_approval_type_id__once;
}

static void
_vala_tuba_api_status_quote_approval_get_property (GObject * object,
                                                   guint property_id,
                                                   GValue * value,
                                                   GParamSpec * pspec)
{
	TubaAPIStatusQuoteApproval * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_STATUS_TYPE_QUOTE_APPROVAL, TubaAPIStatusQuoteApproval);
	switch (property_id) {
		case TUBA_API_STATUS_QUOTE_APPROVAL_AUTOMATIC_PROPERTY:
		g_value_set_object (value, tuba_api_status_quote_approval_get_automatic (self));
		break;
		case TUBA_API_STATUS_QUOTE_APPROVAL_MANUAL_PROPERTY:
		g_value_set_object (value, tuba_api_status_quote_approval_get_manual (self));
		break;
		case TUBA_API_STATUS_QUOTE_APPROVAL_CURRENT_USER_PROPERTY:
		g_value_set_string (value, tuba_api_status_quote_approval_get_current_user (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_tuba_api_status_quote_approval_set_property (GObject * object,
                                                   guint property_id,
                                                   const GValue * value,
                                                   GParamSpec * pspec)
{
	TubaAPIStatusQuoteApproval * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_STATUS_TYPE_QUOTE_APPROVAL, TubaAPIStatusQuoteApproval);
	switch (property_id) {
		case TUBA_API_STATUS_QUOTE_APPROVAL_AUTOMATIC_PROPERTY:
		tuba_api_status_quote_approval_set_automatic (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_QUOTE_APPROVAL_MANUAL_PROPERTY:
		tuba_api_status_quote_approval_set_manual (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_QUOTE_APPROVAL_CURRENT_USER_PROPERTY:
		tuba_api_status_quote_approval_set_current_user (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
tuba_api_status_class_init (TubaAPIStatusClass * klass,
                            gpointer klass_data)
{
	TubaSettings* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	tuba_api_status_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &TubaAPIStatus_private_offset);
	((TubaEntityClass *) klass)->deserialize_array_type = (GType (*) (TubaEntity*, const gchar*)) tuba_api_status_real_deserialize_array_type;
	((TubaAPIStatusClass *) klass)->get_reply_mentions = (gboolean (*) (TubaAPIStatus*, gchar**)) tuba_api_status_real_get_reply_mentions;
	G_OBJECT_CLASS (klass)->get_property = _vala_tuba_api_status_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_tuba_api_status_set_property;
	G_OBJECT_CLASS (klass)->finalize = tuba_api_status_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_ID_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_ID_PROPERTY] = g_param_spec_string ("id", "id", "id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_ACCOUNT_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_ACCOUNT_PROPERTY] = g_param_spec_object ("account", "account", "account", TUBA_API_TYPE_ACCOUNT, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_URI_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_URI_PROPERTY] = g_param_spec_string ("uri", "uri", "uri", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_SPOILER_TEXT_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_SPOILER_TEXT_PROPERTY] = g_param_spec_string ("spoiler-text", "spoiler-text", "spoiler-text", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_IN_REPLY_TO_ID_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_IN_REPLY_TO_ID_PROPERTY] = g_param_spec_string ("in-reply-to-id", "in-reply-to-id", "in-reply-to-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_IN_REPLY_TO_ACCOUNT_ID_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_IN_REPLY_TO_ACCOUNT_ID_PROPERTY] = g_param_spec_string ("in-reply-to-account-id", "in-reply-to-account-id", "in-reply-to-account-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_CONTENT_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_CONTENT_PROPERTY] = g_param_spec_string ("content", "content", "content", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_APPLICATION_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_APPLICATION_PROPERTY] = g_param_spec_object ("application", "application", "application", TUBA_API_TYPE_STATUS_APPLICATION, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_REPLIES_COUNT_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_REPLIES_COUNT_PROPERTY] = g_param_spec_int64 ("replies-count", "replies-count", "replies-count", G_MININT64, G_MAXINT64, (gint64) 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_QUOTES_COUNT_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_QUOTES_COUNT_PROPERTY] = g_param_spec_int64 ("quotes-count", "quotes-count", "quotes-count", G_MININT64, G_MAXINT64, (gint64) 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_REBLOGS_COUNT_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_REBLOGS_COUNT_PROPERTY] = g_param_spec_int64 ("reblogs-count", "reblogs-count", "reblogs-count", G_MININT64, G_MAXINT64, (gint64) 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_FAVOURITES_COUNT_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_FAVOURITES_COUNT_PROPERTY] = g_param_spec_int64 ("favourites-count", "favourites-count", "favourites-count", G_MININT64, G_MAXINT64, (gint64) 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_CREATED_AT_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_CREATED_AT_PROPERTY] = g_param_spec_string ("created-at", "created-at", "created-at", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_REBLOGGED_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_REBLOGGED_PROPERTY] = g_param_spec_boolean ("reblogged", "reblogged", "reblogged", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_FAVOURITED_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_FAVOURITED_PROPERTY] = g_param_spec_boolean ("favourited", "favourited", "favourited", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_BOOKMARKED_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_BOOKMARKED_PROPERTY] = g_param_spec_boolean ("bookmarked", "bookmarked", "bookmarked", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_LOCAL_ONLY_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_LOCAL_ONLY_PROPERTY] = g_param_spec_boolean ("local-only", "local-only", "local-only", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_SENSITIVE_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_SENSITIVE_PROPERTY] = g_param_spec_boolean ("sensitive", "sensitive", "sensitive", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_MUTED_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_MUTED_PROPERTY] = g_param_spec_boolean ("muted", "muted", "muted", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_PINNED_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_PINNED_PROPERTY] = g_param_spec_boolean ("pinned", "pinned", "pinned", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_EDITED_AT_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_EDITED_AT_PROPERTY] = g_param_spec_string ("edited-at", "edited-at", "edited-at", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_VISIBILITY_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_VISIBILITY_PROPERTY] = g_param_spec_string ("visibility", "visibility", "visibility", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_REBLOG_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_REBLOG_PROPERTY] = g_param_spec_object ("reblog", "reblog", "reblog", TUBA_API_TYPE_STATUS, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_QUOTE_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_QUOTE_PROPERTY] = g_param_spec_object ("quote", "quote", "quote", TUBA_API_TYPE_QUOTE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_MENTIONS_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_MENTIONS_PROPERTY] = g_param_spec_object ("mentions", "mentions", "mentions", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_REACTIONS_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_REACTIONS_PROPERTY] = g_param_spec_object ("reactions", "reactions", "reactions", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_EMOJI_REACTIONS_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_EMOJI_REACTIONS_PROPERTY] = g_param_spec_object ("emoji-reactions", "emoji-reactions", "emoji-reactions", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_PLEROMA_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_PLEROMA_PROPERTY] = g_param_spec_object ("pleroma", "pleroma", "pleroma", TUBA_API_PLEROMA_TYPE_STATUS, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_MEDIA_ATTACHMENTS_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_MEDIA_ATTACHMENTS_PROPERTY] = g_param_spec_object ("media-attachments", "media-attachments", "media-attachments", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_POLL_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_POLL_PROPERTY] = g_param_spec_object ("poll", "poll", "poll", TUBA_API_TYPE_POLL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_EMOJIS_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_EMOJIS_PROPERTY] = g_param_spec_object ("emojis", "emojis", "emojis", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_CARD_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_CARD_PROPERTY] = g_param_spec_object ("card", "card", "card", TUBA_API_TYPE_PREVIEW_CARD, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_FILTERED_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_FILTERED_PROPERTY] = g_param_spec_object ("filtered", "filtered", "filtered", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_QUOTE_APPROVAL_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_QUOTE_APPROVAL_PROPERTY] = g_param_spec_object ("quote-approval", "quote-approval", "quote-approval", TUBA_API_STATUS_TYPE_QUOTE_APPROVAL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_TUBA_HAD_QUOTE_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_TUBA_HAD_QUOTE_PROPERTY] = g_param_spec_boolean ("tuba-had-quote", "tuba-had-quote", "tuba-had-quote", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_TAGGED_COLLECTIONS_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_TAGGED_COLLECTIONS_PROPERTY] = g_param_spec_object ("tagged-collections", "tagged-collections", "tagged-collections", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_TUBA_FILTER_HIDDEN_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_TUBA_FILTER_HIDDEN_PROPERTY] = g_param_spec_boolean ("tuba-filter-hidden", "tuba-filter-hidden", "tuba-filter-hidden", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_TUBA_FILTER_WARN_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_TUBA_FILTER_WARN_PROPERTY] = g_param_spec_string ("tuba-filter-warn", "tuba-filter-warn", "tuba-filter-warn", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_TUBA_SEARCH_QUERY_REGEX_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_TUBA_SEARCH_QUERY_REGEX_PROPERTY] = g_param_spec_boxed ("tuba-search-query-regex", "tuba-search-query-regex", "tuba-search-query-regex", G_TYPE_REGEX, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_TUBA_THREAD_ROLE_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_TUBA_THREAD_ROLE_PROPERTY] = g_param_spec_enum ("tuba-thread-role", "tuba-thread-role", "tuba-thread-role", TUBA_VIEWS_THREAD_TYPE_THREAD_ROLE, TUBA_VIEWS_THREAD_THREAD_ROLE_NONE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = tuba_settings;
	_tmp1_ = tuba_settings_get_show_spoilers (_tmp0_);
	_tmp2_ = _tmp1_;
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_TUBA_SPOILER_REVEALED_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_TUBA_SPOILER_REVEALED_PROPERTY] = g_param_spec_boolean ("tuba-spoiler-revealed", "tuba-spoiler-revealed", "tuba-spoiler-revealed", _tmp2_, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_TUBA_TRANSLATABLE_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_TUBA_TRANSLATABLE_PROPERTY] = g_param_spec_boolean ("tuba-translatable", "tuba-translatable", "tuba-translatable", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_LANGUAGE_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_LANGUAGE_PROPERTY] = g_param_spec_string ("language", "language", "language", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_EMOJIS_MAP_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_EMOJIS_MAP_PROPERTY] = g_param_spec_object ("emojis-map", "emojis-map", "emojis-map", GEE_TYPE_HASH_MAP, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_COMPAT_STATUS_REACTIONS_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_COMPAT_STATUS_REACTIONS_PROPERTY] = g_param_spec_object ("compat-status-reactions", "compat-status-reactions", "compat-status-reactions", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_COMPAT_LOCAL_ONLY_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_COMPAT_LOCAL_ONLY_PROPERTY] = g_param_spec_boolean ("compat-local-only", "compat-local-only", "compat-local-only", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_T_URL_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_T_URL_PROPERTY] = g_param_spec_string ("t-url", "t-url", "t-url", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_URL_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_URL_PROPERTY] = g_param_spec_string ("url", "url", "url", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_IS_EDITED_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_IS_EDITED_PROPERTY] = g_param_spec_boolean ("is-edited", "is-edited", "is-edited", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_FORMAL_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_FORMAL_PROPERTY] = g_param_spec_object ("formal", "formal", "formal", TUBA_API_TYPE_STATUS, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_HAS_SPOILER_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_HAS_SPOILER_PROPERTY] = g_param_spec_boolean ("has-spoiler", "has-spoiler", "has-spoiler", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_CAN_BE_QUOTED_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_CAN_BE_QUOTED_PROPERTY] = g_param_spec_boolean ("can-be-quoted", "can-be-quoted", "can-be-quoted", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_CAN_BE_BOOSTED_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_CAN_BE_BOOSTED_PROPERTY] = g_param_spec_boolean ("can-be-boosted", "can-be-boosted", "can-be-boosted", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_IS_MINE_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_IS_MINE_PROPERTY] = g_param_spec_boolean ("is-mine", "is-mine", "is-mine", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_STATUS_HAS_MEDIA_PROPERTY, tuba_api_status_properties[TUBA_API_STATUS_HAS_MEDIA_PROPERTY] = g_param_spec_boolean ("has-media", "has-media", "has-media", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
}

static void
tuba_api_status_tuba_widgetizable_interface_init (TubaWidgetizableIface * iface,
                                                  gpointer iface_data)
{
	tuba_api_status_tuba_widgetizable_parent_iface = g_type_interface_peek_parent (iface);
	iface->to_widget = (GtkWidget* (*) (TubaWidgetizable*)) tuba_api_status_real_to_widget;
	iface->open = (void (*) (TubaWidgetizable*)) tuba_api_status_real_open;
}

static void
tuba_api_status_tuba_api_search_result_interface_init (TubaAPISearchResultIface * iface,
                                                       gpointer iface_data)
{
	tuba_api_status_tuba_api_search_result_parent_iface = g_type_interface_peek_parent (iface);
	iface->get_tuba_search_query_regex = tuba_api_status_real_get_tuba_search_query_regex;
	iface->set_tuba_search_query_regex = tuba_api_status_real_set_tuba_search_query_regex;
}

static void
tuba_api_status_instance_init (TubaAPIStatus * self,
                               gpointer klass)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
	TubaSettings* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	gchar* _tmp5_;
	TubaSettings* _tmp6_;
	gboolean _tmp7_;
	gboolean _tmp8_;
	TubaSettings* _tmp9_;
	const gchar* _tmp10_;
	const gchar* _tmp11_;
	gchar* _tmp12_;
	self->priv = tuba_api_status_get_instance_private (self);
	self->priv->_spoiler_text = NULL;
	self->priv->_in_reply_to_id = NULL;
	self->priv->_in_reply_to_account_id = NULL;
	_tmp0_ = g_strdup ("");
	self->priv->_content = _tmp0_;
	self->priv->_application = NULL;
	self->priv->_replies_count = (gint64) 0;
	self->priv->_quotes_count = (gint64) 0;
	self->priv->_reblogs_count = (gint64) 0;
	self->priv->_favourites_count = (gint64) 0;
	_tmp1_ = g_strdup ("0");
	self->priv->_created_at = _tmp1_;
	self->priv->_reblogged = FALSE;
	self->priv->_favourited = FALSE;
	self->priv->_bookmarked = FALSE;
	self->priv->_local_only = FALSE;
	self->priv->_sensitive = FALSE;
	self->priv->_muted = FALSE;
	self->priv->_pinned = FALSE;
	self->priv->_edited_at = NULL;
	_tmp2_ = tuba_settings;
	_tmp3_ = tuba_settings_get_default_post_visibility (_tmp2_);
	_tmp4_ = _tmp3_;
	_tmp5_ = g_strdup (_tmp4_);
	self->priv->_visibility = _tmp5_;
	self->priv->_reblog = NULL;
	self->priv->_quote = NULL;
	self->priv->_mentions = NULL;
	self->priv->_reactions = NULL;
	self->priv->_emoji_reactions = NULL;
	self->priv->_pleroma = NULL;
	self->priv->_media_attachments = NULL;
	self->priv->_poll = NULL;
	self->priv->_card = NULL;
	self->priv->_filtered = NULL;
	self->priv->_quote_approval = NULL;
	self->priv->_tuba_had_quote = FALSE;
	self->priv->_tagged_collections = NULL;
	self->priv->_tuba_search_query_regex = NULL;
	self->priv->_tuba_thread_role = TUBA_VIEWS_THREAD_THREAD_ROLE_NONE;
	_tmp6_ = tuba_settings;
	_tmp7_ = tuba_settings_get_show_spoilers (_tmp6_);
	_tmp8_ = _tmp7_;
	self->priv->_tuba_spoiler_revealed = _tmp8_;
	self->priv->_tuba_translatable = FALSE;
	_tmp9_ = tuba_settings;
	_tmp10_ = tuba_settings_get_default_language (_tmp9_);
	_tmp11_ = _tmp10_;
	_tmp12_ = g_strdup (_tmp11_);
	self->priv->_language = _tmp12_;
}

static void
tuba_api_status_finalize (GObject * obj)
{
	TubaAPIStatus * self;
	const gchar* _tmp0_ = NULL;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_API_TYPE_STATUS, TubaAPIStatus);
	_tmp1_ = self->priv->_uri;
	_tmp0_ = _tmp1_;
	if (_tmp0_ == NULL) {
		_tmp0_ = "";
	}
	_tmp2_ = string_to_string (_tmp0_);
	_tmp3_ = g_strconcat ("[OBJ] Destroyed ", _tmp2_, NULL);
	_tmp4_ = _tmp3_;
	g_debug ("Status.vala:4: %s", _tmp4_);
	_g_free0 (_tmp4_);
	_g_free0 (self->priv->_id);
	_g_object_unref0 (self->priv->_account);
	_g_free0 (self->priv->_uri);
	_g_free0 (self->priv->_spoiler_text);
	_g_free0 (self->priv->_in_reply_to_id);
	_g_free0 (self->priv->_in_reply_to_account_id);
	_g_free0 (self->priv->_content);
	_g_object_unref0 (self->priv->_application);
	_g_free0 (self->priv->_created_at);
	_g_free0 (self->priv->_edited_at);
	_g_free0 (self->priv->_visibility);
	_g_object_unref0 (self->priv->_reblog);
	_g_object_unref0 (self->priv->_quote);
	_g_object_unref0 (self->priv->_mentions);
	_g_object_unref0 (self->priv->_reactions);
	_g_object_unref0 (self->priv->_emoji_reactions);
	_g_object_unref0 (self->priv->_pleroma);
	_g_object_unref0 (self->priv->_media_attachments);
	_g_object_unref0 (self->priv->_poll);
	_g_object_unref0 (self->priv->_emojis);
	_g_object_unref0 (self->priv->_card);
	_g_object_unref0 (self->priv->_filtered);
	_g_object_unref0 (self->priv->_quote_approval);
	_g_object_unref0 (self->priv->_tagged_collections);
	_g_regex_unref0 (self->priv->_tuba_search_query_regex);
	_g_free0 (self->priv->_language);
	_g_free0 (self->priv->_t_url);
	G_OBJECT_CLASS (tuba_api_status_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
tuba_api_status_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaAPIStatusClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_api_status_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TubaAPIStatus), 0, (GInstanceInitFunc) tuba_api_status_instance_init, NULL };
	static const GInterfaceInfo tuba_widgetizable_info = { (GInterfaceInitFunc) tuba_api_status_tuba_widgetizable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	static const GInterfaceInfo tuba_api_search_result_info = { (GInterfaceInitFunc) tuba_api_status_tuba_api_search_result_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	GType tuba_api_status_type_id;
	tuba_api_status_type_id = g_type_register_static (TUBA_TYPE_ENTITY, "TubaAPIStatus", &g_define_type_info, G_TYPE_FLAG_NONE);
	g_type_add_interface_static (tuba_api_status_type_id, TUBA_TYPE_WIDGETIZABLE, &tuba_widgetizable_info);
	g_type_add_interface_static (tuba_api_status_type_id, TUBA_API_TYPE_SEARCH_RESULT, &tuba_api_search_result_info);
	TubaAPIStatus_private_offset = g_type_add_instance_private (tuba_api_status_type_id, sizeof (TubaAPIStatusPrivate));
	return tuba_api_status_type_id;
}

GType
tuba_api_status_get_type (void)
{
	static GType tuba_api_status_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_api_status_type_id__once)) {
		GType tuba_api_status_type_id;
		tuba_api_status_type_id = tuba_api_status_get_type_once ();
		g_once_init_leave_pointer (&tuba_api_status_type_id__once, tuba_api_status_type_id);
	}
	return tuba_api_status_type_id__once;
}

static void
_vala_tuba_api_status_get_property (GObject * object,
                                    guint property_id,
                                    GValue * value,
                                    GParamSpec * pspec)
{
	TubaAPIStatus * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_TYPE_STATUS, TubaAPIStatus);
	switch (property_id) {
		case TUBA_API_STATUS_ID_PROPERTY:
		g_value_set_string (value, tuba_api_status_get_id (self));
		break;
		case TUBA_API_STATUS_ACCOUNT_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_account (self));
		break;
		case TUBA_API_STATUS_URI_PROPERTY:
		g_value_set_string (value, tuba_api_status_get_uri (self));
		break;
		case TUBA_API_STATUS_SPOILER_TEXT_PROPERTY:
		g_value_set_string (value, tuba_api_status_get_spoiler_text (self));
		break;
		case TUBA_API_STATUS_IN_REPLY_TO_ID_PROPERTY:
		g_value_set_string (value, tuba_api_status_get_in_reply_to_id (self));
		break;
		case TUBA_API_STATUS_IN_REPLY_TO_ACCOUNT_ID_PROPERTY:
		g_value_set_string (value, tuba_api_status_get_in_reply_to_account_id (self));
		break;
		case TUBA_API_STATUS_CONTENT_PROPERTY:
		g_value_set_string (value, tuba_api_status_get_content (self));
		break;
		case TUBA_API_STATUS_APPLICATION_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_application (self));
		break;
		case TUBA_API_STATUS_REPLIES_COUNT_PROPERTY:
		g_value_set_int64 (value, tuba_api_status_get_replies_count (self));
		break;
		case TUBA_API_STATUS_QUOTES_COUNT_PROPERTY:
		g_value_set_int64 (value, tuba_api_status_get_quotes_count (self));
		break;
		case TUBA_API_STATUS_REBLOGS_COUNT_PROPERTY:
		g_value_set_int64 (value, tuba_api_status_get_reblogs_count (self));
		break;
		case TUBA_API_STATUS_FAVOURITES_COUNT_PROPERTY:
		g_value_set_int64 (value, tuba_api_status_get_favourites_count (self));
		break;
		case TUBA_API_STATUS_CREATED_AT_PROPERTY:
		g_value_set_string (value, tuba_api_status_get_created_at (self));
		break;
		case TUBA_API_STATUS_REBLOGGED_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_reblogged (self));
		break;
		case TUBA_API_STATUS_FAVOURITED_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_favourited (self));
		break;
		case TUBA_API_STATUS_BOOKMARKED_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_bookmarked (self));
		break;
		case TUBA_API_STATUS_LOCAL_ONLY_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_local_only (self));
		break;
		case TUBA_API_STATUS_SENSITIVE_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_sensitive (self));
		break;
		case TUBA_API_STATUS_MUTED_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_muted (self));
		break;
		case TUBA_API_STATUS_PINNED_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_pinned (self));
		break;
		case TUBA_API_STATUS_EDITED_AT_PROPERTY:
		g_value_set_string (value, tuba_api_status_get_edited_at (self));
		break;
		case TUBA_API_STATUS_VISIBILITY_PROPERTY:
		g_value_set_string (value, tuba_api_status_get_visibility (self));
		break;
		case TUBA_API_STATUS_REBLOG_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_reblog (self));
		break;
		case TUBA_API_STATUS_QUOTE_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_quote (self));
		break;
		case TUBA_API_STATUS_MENTIONS_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_mentions (self));
		break;
		case TUBA_API_STATUS_REACTIONS_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_reactions (self));
		break;
		case TUBA_API_STATUS_EMOJI_REACTIONS_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_emoji_reactions (self));
		break;
		case TUBA_API_STATUS_PLEROMA_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_pleroma (self));
		break;
		case TUBA_API_STATUS_MEDIA_ATTACHMENTS_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_media_attachments (self));
		break;
		case TUBA_API_STATUS_POLL_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_poll (self));
		break;
		case TUBA_API_STATUS_EMOJIS_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_emojis (self));
		break;
		case TUBA_API_STATUS_CARD_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_card (self));
		break;
		case TUBA_API_STATUS_FILTERED_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_filtered (self));
		break;
		case TUBA_API_STATUS_QUOTE_APPROVAL_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_quote_approval (self));
		break;
		case TUBA_API_STATUS_TUBA_HAD_QUOTE_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_tuba_had_quote (self));
		break;
		case TUBA_API_STATUS_TAGGED_COLLECTIONS_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_tagged_collections (self));
		break;
		case TUBA_API_STATUS_TUBA_FILTER_HIDDEN_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_tuba_filter_hidden (self));
		break;
		case TUBA_API_STATUS_TUBA_FILTER_WARN_PROPERTY:
		g_value_take_string (value, tuba_api_status_get_tuba_filter_warn (self));
		break;
		case TUBA_API_STATUS_TUBA_SEARCH_QUERY_REGEX_PROPERTY:
		g_value_set_boxed (value, tuba_api_search_result_get_tuba_search_query_regex ((TubaAPISearchResult*) self));
		break;
		case TUBA_API_STATUS_TUBA_THREAD_ROLE_PROPERTY:
		g_value_set_enum (value, tuba_api_status_get_tuba_thread_role (self));
		break;
		case TUBA_API_STATUS_TUBA_SPOILER_REVEALED_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_tuba_spoiler_revealed (self));
		break;
		case TUBA_API_STATUS_TUBA_TRANSLATABLE_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_tuba_translatable (self));
		break;
		case TUBA_API_STATUS_LANGUAGE_PROPERTY:
		g_value_set_string (value, tuba_api_status_get_language (self));
		break;
		case TUBA_API_STATUS_EMOJIS_MAP_PROPERTY:
		g_value_take_object (value, tuba_api_status_get_emojis_map (self));
		break;
		case TUBA_API_STATUS_COMPAT_STATUS_REACTIONS_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_compat_status_reactions (self));
		break;
		case TUBA_API_STATUS_COMPAT_LOCAL_ONLY_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_compat_local_only (self));
		break;
		case TUBA_API_STATUS_T_URL_PROPERTY:
		g_value_set_string (value, tuba_api_status_get_t_url (self));
		break;
		case TUBA_API_STATUS_URL_PROPERTY:
		g_value_take_string (value, tuba_api_status_get_url (self));
		break;
		case TUBA_API_STATUS_IS_EDITED_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_is_edited (self));
		break;
		case TUBA_API_STATUS_FORMAL_PROPERTY:
		g_value_set_object (value, tuba_api_status_get_formal (self));
		break;
		case TUBA_API_STATUS_HAS_SPOILER_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_has_spoiler (self));
		break;
		case TUBA_API_STATUS_CAN_BE_QUOTED_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_can_be_quoted (self));
		break;
		case TUBA_API_STATUS_CAN_BE_BOOSTED_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_can_be_boosted (self));
		break;
		case TUBA_API_STATUS_IS_MINE_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_is_mine (self));
		break;
		case TUBA_API_STATUS_HAS_MEDIA_PROPERTY:
		g_value_set_boolean (value, tuba_api_status_get_has_media (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_tuba_api_status_set_property (GObject * object,
                                    guint property_id,
                                    const GValue * value,
                                    GParamSpec * pspec)
{
	TubaAPIStatus * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_TYPE_STATUS, TubaAPIStatus);
	switch (property_id) {
		case TUBA_API_STATUS_ID_PROPERTY:
		tuba_api_status_set_id (self, g_value_get_string (value));
		break;
		case TUBA_API_STATUS_ACCOUNT_PROPERTY:
		tuba_api_status_set_account (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_URI_PROPERTY:
		tuba_api_status_set_uri (self, g_value_get_string (value));
		break;
		case TUBA_API_STATUS_SPOILER_TEXT_PROPERTY:
		tuba_api_status_set_spoiler_text (self, g_value_get_string (value));
		break;
		case TUBA_API_STATUS_IN_REPLY_TO_ID_PROPERTY:
		tuba_api_status_set_in_reply_to_id (self, g_value_get_string (value));
		break;
		case TUBA_API_STATUS_IN_REPLY_TO_ACCOUNT_ID_PROPERTY:
		tuba_api_status_set_in_reply_to_account_id (self, g_value_get_string (value));
		break;
		case TUBA_API_STATUS_CONTENT_PROPERTY:
		tuba_api_status_set_content (self, g_value_get_string (value));
		break;
		case TUBA_API_STATUS_APPLICATION_PROPERTY:
		tuba_api_status_set_application (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_REPLIES_COUNT_PROPERTY:
		tuba_api_status_set_replies_count (self, g_value_get_int64 (value));
		break;
		case TUBA_API_STATUS_QUOTES_COUNT_PROPERTY:
		tuba_api_status_set_quotes_count (self, g_value_get_int64 (value));
		break;
		case TUBA_API_STATUS_REBLOGS_COUNT_PROPERTY:
		tuba_api_status_set_reblogs_count (self, g_value_get_int64 (value));
		break;
		case TUBA_API_STATUS_FAVOURITES_COUNT_PROPERTY:
		tuba_api_status_set_favourites_count (self, g_value_get_int64 (value));
		break;
		case TUBA_API_STATUS_CREATED_AT_PROPERTY:
		tuba_api_status_set_created_at (self, g_value_get_string (value));
		break;
		case TUBA_API_STATUS_REBLOGGED_PROPERTY:
		tuba_api_status_set_reblogged (self, g_value_get_boolean (value));
		break;
		case TUBA_API_STATUS_FAVOURITED_PROPERTY:
		tuba_api_status_set_favourited (self, g_value_get_boolean (value));
		break;
		case TUBA_API_STATUS_BOOKMARKED_PROPERTY:
		tuba_api_status_set_bookmarked (self, g_value_get_boolean (value));
		break;
		case TUBA_API_STATUS_LOCAL_ONLY_PROPERTY:
		tuba_api_status_set_local_only (self, g_value_get_boolean (value));
		break;
		case TUBA_API_STATUS_SENSITIVE_PROPERTY:
		tuba_api_status_set_sensitive (self, g_value_get_boolean (value));
		break;
		case TUBA_API_STATUS_MUTED_PROPERTY:
		tuba_api_status_set_muted (self, g_value_get_boolean (value));
		break;
		case TUBA_API_STATUS_PINNED_PROPERTY:
		tuba_api_status_set_pinned (self, g_value_get_boolean (value));
		break;
		case TUBA_API_STATUS_EDITED_AT_PROPERTY:
		tuba_api_status_set_edited_at (self, g_value_get_string (value));
		break;
		case TUBA_API_STATUS_VISIBILITY_PROPERTY:
		tuba_api_status_set_visibility (self, g_value_get_string (value));
		break;
		case TUBA_API_STATUS_REBLOG_PROPERTY:
		tuba_api_status_set_reblog (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_QUOTE_PROPERTY:
		tuba_api_status_set_quote (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_MENTIONS_PROPERTY:
		tuba_api_status_set_mentions (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_REACTIONS_PROPERTY:
		tuba_api_status_set_reactions (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_EMOJI_REACTIONS_PROPERTY:
		tuba_api_status_set_emoji_reactions (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_PLEROMA_PROPERTY:
		tuba_api_status_set_pleroma (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_MEDIA_ATTACHMENTS_PROPERTY:
		tuba_api_status_set_media_attachments (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_POLL_PROPERTY:
		tuba_api_status_set_poll (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_EMOJIS_PROPERTY:
		tuba_api_status_set_emojis (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_CARD_PROPERTY:
		tuba_api_status_set_card (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_FILTERED_PROPERTY:
		tuba_api_status_set_filtered (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_QUOTE_APPROVAL_PROPERTY:
		tuba_api_status_set_quote_approval (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_TUBA_HAD_QUOTE_PROPERTY:
		tuba_api_status_set_tuba_had_quote (self, g_value_get_boolean (value));
		break;
		case TUBA_API_STATUS_TAGGED_COLLECTIONS_PROPERTY:
		tuba_api_status_set_tagged_collections (self, g_value_get_object (value));
		break;
		case TUBA_API_STATUS_TUBA_SEARCH_QUERY_REGEX_PROPERTY:
		tuba_api_search_result_set_tuba_search_query_regex ((TubaAPISearchResult*) self, g_value_get_boxed (value));
		break;
		case TUBA_API_STATUS_TUBA_THREAD_ROLE_PROPERTY:
		tuba_api_status_set_tuba_thread_role (self, g_value_get_enum (value));
		break;
		case TUBA_API_STATUS_TUBA_SPOILER_REVEALED_PROPERTY:
		tuba_api_status_set_tuba_spoiler_revealed (self, g_value_get_boolean (value));
		break;
		case TUBA_API_STATUS_TUBA_TRANSLATABLE_PROPERTY:
		tuba_api_status_set_tuba_translatable (self, g_value_get_boolean (value));
		break;
		case TUBA_API_STATUS_LANGUAGE_PROPERTY:
		tuba_api_status_set_language (self, g_value_get_string (value));
		break;
		case TUBA_API_STATUS_T_URL_PROPERTY:
		tuba_api_status_set_t_url (self, g_value_get_string (value));
		break;
		case TUBA_API_STATUS_URL_PROPERTY:
		tuba_api_status_set_url (self, g_value_get_string (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;
}

