5223b7d7d7d733a373a2266696c74657273223b613a303a7b7d7d733a373a226172672d736574223b4f3a33363a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c5661726961626c65223a343a7b733a343a226c696e65223b693a3437353b733a343a226e616d65223b733a363a22746872656164223b733a31303a2264696d656e73696f6e73223b613a313a7b693a303b613a323a7b693a303b733a353a226172726179223b693a313b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a3437353b733a373a22636f6e74656e74223b733a31333a22637573746f6d5f6669656c6473223b7d7d7d733a373a2266696c74657273223b613a303a7b7d7d733a31363a226172672d77726170706572436c617373223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a3437363b733a373a22636f6e74656e74223b733a31393a22626c6f636b5374617475732d6d657373616765223b7d7d733a383a226368696c6472656e223b613a303a7b7d733a31313a22697353656c66436c6f7365223b623a313b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a343b7d693a323b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a3437363b733a373a22636f6e74656e74223b733a353a220a09090909223b7d7d733a31313a22697353656c66436c6f7365223b623a303b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a333b7d693a323b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a3437373b733a373a22636f6e74656e74223b733a31333a220a0909093c2f6469763e0a0909223b7d7d733a31313a22697353656c66436c6f7365223b623a303b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a323b7d693a323b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a3437393b733a373a22636f6e74656e74223b733a323a220a09223b7d7d733a31313a22697353656c66436c6f7365223b623a303b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a313b7d693a343b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a3438303b733a373a22636f6e74656e74223b733a373a223c2f6469763e0a223b7d7d733a31313a22697353656c66436c6f7365223b623a303b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a303b7d693a39323b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a3438313b733a373a22636f6e74656e74223b733a323a220a0a223b7d693a39333b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c546167223a373a7b733a343a226c696e65223b693a3438333b733a343a226e616d65223b733a393a22776964676574706f73223b733a31303a2261747472696275746573223b613a333a7b733a323a226964223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a3438333b733a373a22636f6e74656e74223b733a31393a227468726561645f766965775f73696465626172223b7d733a31343a22636f6e746578742d746872656164223b4f3a33363a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c5661726961626c65223a343a7b733a343a226c696e65223b693a3438333b733a343a226e616d65223b733a363a22746872656164223b733a31303a2264696d656e73696f6e73223b613a303a7b7d733a373a2266696c74657273223b613a303a7b7d7d733a383a22706f736974696f6e223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a3438333b733a373a22636f6e74656e74223b733a373a2273696465626172223b7d7d733a383a226368696c6472656e223b613a303a7b7d733a31313a22697353656c66436c6f7365223b623a313b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a303b7d7d7d, 0x5846, 2030032, '2.3.0 Beta 2', 1748686065);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(1172, 0x7075626c6963, 0x7468726561645f766965775f747970655f61727469636c65, 0, '<xf:extends template=\"thread_view\" />\n', 0x4f3a32343a2258465c54656d706c6174655c436f6d70696c65725c417374223a313a7b733a383a226368696c6472656e223b613a323a7b693a303b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c546167223a373a7b733a343a226c696e65223b693a313b733a343a226e616d65223b733a373a22657874656e6473223b733a31303a2261747472696275746573223b613a313a7b733a383a2274656d706c617465223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a313b733a373a22636f6e74656e74223b733a31313a227468726561645f76696577223b7d7d733a383a226368696c6472656e223b613a303a7b7d733a31313a22697353656c66436c6f7365223b623a313b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a303b7d693a313b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a313b733a373a22636f6e74656e74223b733a313a220a223b7d7d7d, 0x5846, 2020032, '2.2.0 Beta 2', 1748686065),
(1173, 0x7075626c6963, 0x7468726561645f766965775f747970655f706f6c6c, 0, '<xf:extends template=\"thread_view\" />\n\n<xf:extension id=\"above_messages\">\n	<xf:if is=\"$poll\">\n		<xf:macro id=\"poll_macros::poll_block\" arg-poll=\"{$poll}\" />\n	</xf:if>\n</xf:extension>', 0x4f3a32343a2258465c54656d706c6174655c436f6d70696c65725c417374223a313a7b733a383a226368696c6472656e223b613a333a7b693a303b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c546167223a373a7b733a343a226c696e65223b693a313b733a343a226e616d65223b733a373a22657874656e6473223b733a31303a2261747472696275746573223b613a313a7b733a383a2274656d706c617465223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a313b733a373a22636f6e74656e74223b733a31313a227468726561645f76696577223b7d7d733a383a226368696c6472656e223b613a303a7b7d733a31313a22697353656c66436c6f7365223b623a313b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a303b7d693a313b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a313b733a373a22636f6e74656e74223b733a323a220a0a223b7d693a323b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c546167223a373a7b733a343a226c696e65223b693a373b733a343a226e616d65223b733a393a22657874656e73696f6e223b733a31303a2261747472696275746573223b613a313a7b733a323a226964223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a333b733a373a22636f6e74656e74223b733a31343a2261626f76655f6d65737361676573223b7d7d733a383a226368696c6472656e223b613a333a7b693a303b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a333b733a373a22636f6e74656e74223b733a323a220a09223b7d693a313b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c546167223a373a7b733a343a226c696e65223b693a363b733a343a226e616d65223b733a323a226966223b733a31303a2261747472696275746573223b613a313a7b733a323a226973223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a343b733a373a22636f6e74656e74223b733a353a2224706f6c6c223b7d7d733a383a226368696c6472656e223b613a333a7b693a303b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a343b733a373a22636f6e74656e74223b733a333a220a0909223b7d693a313b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c546167223a373a7b733a343a226c696e65223b693a353b733a343a226e616d65223b733a353a226d6163726f223b733a31303a2261747472696275746573223b613a323a7b733a323a226964223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a353b733a373a22636f6e74656e74223b733a32333a22706f6c6c5f6d6163726f733a3a706f6c6c5f626c6f636b223b7d733a383a226172672d706f6c6c223b4f3a33363a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c5661726961626c65223a343a7b733a343a226c696e65223b693a353b733a343a226e616d65223b733a343a22706f6c6c223b733a31303a2264696d656e73696f6e73223b613a303a7b7d733a373a2266696c74657273223b613a303a7b7d7d7d733a383a226368696c6472656e223b613a303a7b7d733a31313a22697353656c66436c6f7365223b623a313b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a323b7d693a323b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a353b733a373a22636f6e74656e74223b733a323a220a09223b7d7d733a31313a22697353656c66436c6f7365223b623a303b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a313b7d693a323b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a363b733a373a22636f6e74656e74223b733a313a220a223b7d7d733a31313a22697353656c66436c6f7365223b623a303b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a303b7d7d7d, 0x5846, 2030010, '2.3.0 Alpha', 1748686065),
(1174, 0x7075626c6963, 0x7468726561645f766965775f747970655f7175657374696f6e, 0, '<xf:extends template=\"thread_view\" />\n\n<xf:extension id=\"structured_data_extra_params\" value=\"{{ {\n	\'highlightedPosts\': $highlightedPosts,\n	\'suggestedSolutions\': $suggestedSolutions\n} }}\" />\n\n<xf:extension id=\"pinned_block_classes\" value=\"{{ $thread.type_data.solution_post_id ? \'block--close\' : \'\' }}\" />\n\n<xf:extension id=\"above_messages_below_pinned\">\n	<xf:if is=\"$thread.type_data.solution_post_id AND {$highlightedPosts.{$thread.type_data.solution_post_id}}\">\n		<div class=\"block\" id=\"js-solutionHighlightBlock\">\n			<div class=\"block-container\">\n				<div class=\"block-body\">\n					<xf:macro id=\"solution\"\n						arg-post=\"{$highlightedPosts.{$thread.type_data.solution_post_id}}\"\n						arg-thread=\"{$thread}\" />\n				</div>\n			</div>\n		</div>\n	</xf:if>\n</xf:extension>\n\n<xf:macro id=\"solution\" arg-post=\"!\" arg-thread=\"!\">\n	<article class=\"message message--simple\">\n		<div class=\"message-inner js-solutionHeader\">\n			<div class=\"message-cell message-cell--solutionHeader\">\n				{{ phrase(\'solution\') }}\n			</div>\n		</div>\n		<div class=\"message-inner\">\n			<div class=\"message-cell message-cell--user\">\n				<xf:macro id=\"message_macros::user_info_simple\" arg-user=\"{$post.User}\"  arg-fallbackName=\"{$post.username}\" />\n			</div>\n			<div class=\"message-cell message-cell--main\">\n				<header class=\"message-attribution message-attribution--plain\">\n					<ul class=\"listInline listInline--bullet\">\n						<li class=\"message-attribution-user\">\n							<xf:avatar user=\"$post.User\" size=\"xxs\" />\n							<h4 class=\"attribution\"><xf:username user=\"$post.User\" rich=\"true\" defaultname=\"{$post.username}\" /></h4>\n						</li>\n						<li>\n							<a href=\"{{ link(\'threads/post\', $thread, {\'post_id\': $post.post_id}) }}\"\n								class=\"u-concealed\"\n								data-xf-click=\"attribution\"\n								data-content-selector=\"#post-{$post.post_id}\"\n								rel=\"nofollow\"><xf:date time=\"$post.post_date\" /></a>\n						</li>\n					</ul>\n				</header>\n\n				<article class=\"message-body\">\n					<div class=\"message-expandWrapper js-expandWatch\">\n						<div class=\"message-expandContent message-expandContent--small js-expandContent\">\n							{{ bb_code_snippet($post.message, \'post\', $post, 750) }}\n						</div>\n						<div class=\"message-expandLink\"></div>\n					</div>\n				</article>\n\n				<footer class=\"message-footer\">\n					<div class=\"message-actionBar actionBar\">\n						<div class=\"actionBar-set actionBar-set--internal\">\n							<a href=\"{{ link(\'threads/post\', $thread, {\'post_id\': $post.post_id}) }}\"\n								class=\"actionBar-action actionBar-action--view\"\n								data-xf-click=\"attribution\"\n								data-content-selector=\"#post-{$post.post_id}\"\n								rel=\"nofollow\">{{ phrase(\'view_full_post\') }}</a>\n						</div>\n					</div>\n				</footer>\n			</div>\n		</div>\n	</article>\n</xf:macro>', 0x[encoded data, 28428 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686065),
(1175, 0x7075626c6963, 0x7468726561645f766965775f747970655f73756767657374696f6e, 0, '<xf:extends template=\"thread_view\" />\n\n<xf:extension id=\"pinned_outer_after\">\n	<xf:if contentcheck=\"true\">\n		<div class=\"block-outer block-outer--after\">\n			<div class=\"blockStatus\">\n				<div class=\"blockStatus-message blockStatus-message--locked\">\n				<xf:contentcheck>\n					<xf:if is=\"$suggestionInfo.implemented\">\n						{{ phrase(\'suggestion_implemented_votes_not_accepted\') }}\n					<xf:elseif is=\"$suggestionInfo.closed\" />\n						{{ phrase(\'suggestion_closed_votes_not_accepted\') }}\n					<xf:elseif is=\"$thread.type_data.allow_voting === \'paused\'\" />\n						{{ phrase(\'voting_on_this_suggestion_has_been_paused\') }}\n					</xf:if>\n				</xf:contentcheck>\n				</div>\n			</div>\n		</div>\n	</xf:if>\n</xf:extension>', 0x[encoded data, 8764 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686065);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(1176, 0x7075626c6963, 0x7468726561645f7761746368, 0, '<xf:if is=\"$isWatched\">\n	<xf:title>{{ phrase(\'unwatch_thread\') }}</xf:title>\n<xf:else />\n	<xf:title>{{ phrase(\'watch_thread\') }}</xf:title>\n</xf:if>\n\n<xf:breadcrumb source=\"$thread.getBreadcrumbs()\" />\n\n<xf:form action=\"{{ link(\'threads/watch\', $thread) }}\" class=\"block\" ajax=\"true\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:if is=\"$isWatched\">\n				<xf:inforow rowtype=\"confirm\">\n					{{ phrase(\'you_sure_you_want_to_unwatch_this_thread\') }}\n				</xf:inforow>\n\n				<xf:hiddenval name=\"stop\">1</xf:hiddenval>\n			<xf:else />\n				<xf:radiorow name=\"email_subscribe\"\n					value=\"{{ $xf.visitor.Option.interaction_watch_state == \'watch_email\' ? 1 : 0}}\"\n					rowtype=\"noColon\"\n					label=\"{{ phrase(\'watch_this_thread...\') }}\">\n\n					<xf:option value=\"1\">{{ phrase(\'and_receive_email_notifications\') }}</xf:option>\n					<xf:option value=\"0\">{{ phrase(\'without_receiving_email_notifications\') }}</xf:option>\n				</xf:radiorow>\n			</xf:if>\n		</div>\n		<xf:if is=\"$isWatched\">\n			<xf:submitrow submit=\"{{ phrase(\'unwatch\') }}\" rowtype=\"simple\" />\n		<xf:else />\n			<xf:submitrow submit=\"{{ phrase(\'watch\') }}\" />\n		</xf:if>\n	</div>\n</xf:form>', 0x[encoded data, 21934 characters], 0x5846, 2000010, '2.0.0 Alpha', 1748686065),
(1177, 0x7075626c6963, 0x746f6b656e5f696e707574, 0, '<xf:css src=\"tagify.less\" />\n\n<xf:js prod=\"xf/token_input-compiled.js\" dev=\"vendor/tagify/tagify.min.js, xf/token_input.js\" />\n\n<input type=\"hidden\" name=\"{$name}\" value=\"{$value}\" class=\"input {$inputClass}\"\n	data-xf-init=\"token-input\"\n	data-ac-url=\"{$hrefAttr}\"\n	data-min-length=\"{$minLength}\"\n	{{ $maxLength ? \'data-max-length=\"\' . $maxLength . \'\"\' : \'\' }}\n	{{ $maxTokens ? \'data-max-tokens=\"\' . $maxTokens . \'\"\' : \'\' }}\n	{{ $listData ? \'data-list-data=\"\' . $listData . \'\"\' : \'\' }}\n	{$attrsHtml|raw} />\n\n<script class=\"js-extraPhrases\" type=\"application/json\">\n{\n	\"tagify_empty\": \"{{ phrase(\'tagify_empty\')|escape(\'js\') }}\",\n	\"tagify_limit_reached\": \"{{ phrase(\'tagify_limit_reached\')|escape(\'js\') }}\",\n	\"tagify_pattern_mismatch\": \"{{ phrase(\'tagify_pattern_mismatch\')|escape(\'js\') }}\",\n	\"tagify_already_exists\": \"{{ phrase(\'tagify_already_exists\')|escape(\'js\') }}\",\n	\"tagify_not_allowed\": \"{{ phrase(\'tagify_not_allowed\')|escape(\'js\') }}\"\n}\n</script>', 0x[encoded data, 20330 characters], 0x5846, 2030370, '2.3.3', 1748686065);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(1178, 0x7075626c6963, 0x7472656e64696e675f636f6e74656e745f6974656d, 0, '<xf:macro id=\"article\" extends=\"content_display_macros::article\"\n	arg-result=\"!\"\n	arg-content=\"!\"\n	arg-snippetLength=\"{{ 0 }}\">\n\n	<xf:extension id=\"title\">\n		<xf:extensionparent />\n		<a href=\"{{ $content.getContentUrl() }}\">{{ $content.getContentTitle() }}</a>\n	</xf:extension>\n</xf:macro>\n\n<xf:macro id=\"simple\" extends=\"content_display_macros::simple\"\n	arg-result=\"!\"\n	arg-content=\"!\"\n	arg-snippetLength=\"{{ 0 }}\">\n\n	<xf:extension id=\"title\">\n		<xf:extensionparent />\n		<a href=\"{{ $content.getContentUrl() }}\">{{ $content.getContentTitle() }}</a>\n	</xf:extension>\n</xf:macro>\n\n<xf:macro id=\"carousel\" extends=\"content_display_macros::carousel\"\n	arg-result=\"!\"\n	arg-content=\"!\"\n	arg-snippetLength=\"{{ 0 }}\">\n\n	<xf:extension id=\"title\">\n		<xf:extensionparent />\n		<a href=\"{{ $content.getContentUrl() }}\">{{ $content.getContentTitle() }}</a>\n	</xf:extension>\n</xf:macro>', 0x[encoded data, 18602 characters], 0x5846, 2030055, '2.3.0 Release Candidate 5', 1748686065);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(1179, 0x7075626c6963, 0x7472656e64696e675f636f6e74656e745f6974656d5f746872656164, 0, '<xf:macro id=\"article\" extends=\"trending_content_item::article\"\n	arg-result=\"!\"\n	arg-content=\"!\"\n	arg-snippetLength=\"{{ 0 }}\">\n\n	<xf:extension id=\"image\">\n		<xf:extensionparent />\n\n		<xf:if is=\"$content.getCoverImage()\">\n			<a href=\"{{ $content.getContentUrl() }}\" class=\"articlePreview-image\" tabindex=\"-1\">\n				<img src=\"{{ $content.getCoverImage() }}\" alt=\"{{ $content.getContentTitle() }}\" loading=\"lazy\" />\n			</a>\n		</xf:if>\n	</xf:extension>\n\n	<xf:extension id=\"snippet\">\n		<xf:extensionparent />\n\n		<div class=\"bbWrapper\">\n			{{ snippet($content.FirstPost.message, $snippetLength, {\'stripQuote\': true}) }}\n		</div>\n	</xf:extension>\n\n	<xf:extension id=\"links\">\n		<xf:extensionparent />\n		<a href=\"{{ $content.getContentUrl() }}\">{{ phrase(\'view_full_post\') }} &raquo;</a>\n	</xf:extension>\n\n	<xf:extension id=\"meta\">\n		<xf:extensionparent />\n\n		<xf:set var=\"$username\"><xf:username user=\"{$content.User}\" defaultname=\"{$content.username}\" class=\"u-concealed\" /></xf:set>\n		<xf:set var=\"$post\" value=\"{$content.FirstPost}\" />\n\n		<li><xf:avatar user=\"{$content.User}\" size=\"xxs\" defaultname=\"{$content.username}\"/></li>\n		<li class=\"articlePreview-by\">{{ phrase(\'by_user_x\', {\'name\': $username}) }}</li>\n		<li><a href=\"{{ $content.getContentUrl() }}\" class=\"u-concealed\" rel=\"nofollow\"><xf:date time=\"{{ $content.getContentDate() }}\"/></a></li>\n\n		<li>\n			<a href=\"{{ link(\'threads/post\', $content, {\'post_id\': $post.post_id}) }}\" class=\"u-concealed\" rel=\"nofollow\"\n				aria-label=\"{{ phrase(\'share\')|for_attr }}\"\n				data-xf-init=\"share-tooltip\" data-href=\"{{ link(\'posts/share\', $post) }}\">\n\n				<xf:fa icon=\"fa-share-alt\" />\n			</a>\n		</li>\n\n		<xf:if is=\"$xf.options.embedCodeShare AND method_exists($post, \'getEmbedCodeHtml\')\">\n			<li class=\"u-hidden js-embedCopy\">\n				<xf:macro id=\"share_page_macros::share_clipboard_text\"\n					arg-class=\"u-concealed\"\n					arg-text=\"{$content.getEmbedCodeHtml()}\"\n					arg-successText=\"{{ phrase(\'embed_code_html_copied_to_clipboard\') }}\" />\n			</li>\n		</xf:if>\n\n		<xf:if is=\"$content.reply_count\">\n			<li class=\"articlePreview-replies\">\n				<a href=\"{{ $content.getContentUrl() }}\" title=\"{{ phrase(\'replies:\')|for_attr }} {$content.reply_count|number}\">\n					<xf:fa icon=\"fa-comment\" class=\"u-spaceAfter\" /><span class=\"articlePreview-repliesLabel\">{{ phrase(\'replies:\') }} </span>{$content.reply_count|number}\n				</a>\n			</li>\n		</xf:if>\n	</xf:extension>\n</xf:macro>\n\n<xf:macro id=\"simple\" extends=\"trending_content_item::simple\"\n	arg-result=\"!\"\n	arg-content=\"!\"\n	arg-snippetLength=\"{{ 0 }}\">\n\n	<xf:extension id=\"image\">\n		<xf:extensionparent />\n		<xf:avatar user=\"$content.User\" size=\"xxs\" defaultname=\"{$content.username}\" />\n	</xf:extension>\n\n	<xf:extension id=\"meta\">\n		<xf:extensionparent />\n\n		<li>{{ $content.User.username ?: $content.username }}</li>\n		<li><xf:date time=\"{{ $content.getContentDate() }}\" /></li>\n	</xf:extension>\n\n	<xf:extension id=\"extra\">\n		<xf:extensionparent />\n\n		<div class=\"contentRow-minor contentRow-minor--hideLinks\">\n			{{ phrase(\'replies:\') }} {$content.reply_count|number_short}\n		</div>\n	</xf:extension>\n</xf:macro>\n\n<xf:macro id=\"carousel\" extends=\"trending_content_item::carousel\"\n	arg-result=\"!\"\n	arg-content=\"!\"\n	arg-snippetLength=\"{{ 0 }}\">\n\n	<xf:extension id=\"image\">\n		<xf:extensionparent />\n		<xf:avatar user=\"$content.User\" size=\"m\" defaultname=\"{$content.username}\" notooltip=\"true\" />\n	</xf:extension>\n\n	<xf:extension id=\"snippet\">\n		<xf:extensionparent />\n\n		<xf:if is=\"$snippetLength\">\n			{{ snippet($content.FirstPost.message, $snippetLength, {\'stripQuote\': true}) }}\n		<xf:else />\n			{{ snippet($content.FirstPost.message, max_length($content.FirstPost, \'message\'), {\'stripQuote\': true}) }}\n		</xf:if>\n	</xf:extension>\n\n	<xf:extension id=\"meta\">\n		<xf:extensionparent />\n\n		<li><xf:username user=\"{$content.User}\" defaultname=\"{$content.username}\" /></li>\n		<li><xf:date time=\"{{ $content.getContentDate() }}\" /></li>\n		<li>{{ phrase(\'replies:\') }} {$content.reply_count|number}</li>\n	</xf:extension>\n</xf:macro>', 0x[encoded data, 87374 characters], 0x5846, 2030170, '2.3.1', 1748686065);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(1180, 0x7075626c6963, 0x74776f5f737465705f6175746879, 0, '\n\n<xf:if is=\"$context == \'setup\'\">\n	<xf:inforow>\n		{{ phrase(\'two_step_authy_setup_info\') }}\n	</xf:inforow>\n\n	<xf:textboxrow name=\"code\" type=\"number\" autofocus=\"autofocus\" label=\"{{ phrase(\'verification_code\') }}\" />\n<xf:else />\n	<xf:inforow rowclass=\"js-authyLoginApprovalRow\">\n		{{ phrase(\'two_step_authy_login_info\', {\'logout\': link(\'logout\', null, {\'t\': csrf_token()})}) }}\n\n		<xf:hiddenval name=\"uuid\" value=\"{$uuid}\" />\n	</xf:inforow>\n\n	<xf:js>\n		XF.extendObject(XF.phrases, {\n			authy_no_uuid: \"{{ phrase(\'authy_no_uuid\')|escape(\'js\') }}\",\n			authy_no_approval_request: \"{{ phrase(\'authy_no_approval_request\')|escape(\'js\') }}\",\n			authy_denied: \"{{ phrase(\'authy_denied\')|escape(\'js\') }}\",\n			authy_success: \"{{ phrase(\'authy_success\')|escape(\'js\') }}\"\n		});\n	</xf:js>\n\n	<xf:js>\n		const form = document.querySelector(\'.js-authyLoginApprovalRow\').closest(\'form\')\n		const formData = XF.getDefaultFormData(form)\n\n		const formSubmitRow = form.querySelector(\'.formSubmitRow\')\n		formSubmitRow.style.display = \'none\'\n\n		const interval = setInterval(() =>\n		{\n			XF.ajax(\'post\', form.getAttribute(\'action\'), formData, (data) =>\n			{\n				if (data.errors)\n				{\n					const error = data.errors[0]\n\n					switch (error)\n					{\n						case \'authy_no_uuid\':\n						case \'authy_no_approval_request\':\n							clearInterval(interval)\n							XF.alert(XF.phrase(error, null, \'An unexpected error occurred.\'))\n							break\n\n						case \'authy_denied\':\n							clearInterval(interval)\n							XF.flashMessage(XF.phrase(error), 3000, () =>\n							{\n								XF.redirect(XF.canonicalizeUrl(\'\'))\n							})\n							break\n					}\n				}\n				else if (data.redirect)\n				{\n					clearInterval(interval)\n					XF.flashMessage(XF.phrase(\'authy_success\'), 3000, () =>\n					{\n						XF.redirect(data.redirect)\n					})\n				}\n			}, { skipDefault: true })\n		}, 1000)\n	</xf:js>\n</xf:if>', 0x[encoded data, 17786 characters], 0x5846, 2030038, '2.3.0 Beta 8', 1748686065),
(1181, 0x7075626c6963, 0x74776f5f737465705f6261636b7570, 0, '<xf:inforow>{{ phrase(\'tfa_backup_codes_login_desc\') }}</xf:inforow>\n\n<xf:textboxrow name=\"code\" autofocus=\"autofocus\" inputmode=\"numeric\" pattern=\"[0-9\\s]*\"\n	label=\"{{ phrase(\'backup_code\') }}\" />', 0x4f3a32343a2258465c54656d706c6174655c436f6d70696c65725c417374223a313a7b733a383a226368696c6472656e223b613a333a7b693a303b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c546167223a373a7b733a343a226c696e65223b693a313b733a343a226e616d65223b733a373a22696e666f726f77223b733a31303a2261747472696275746573223b613a303a7b7d733a383a226368696c6472656e223b613a313a7b693a303b4f3a33383a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c45787072657373696f6e223a323a7b733a343a226c696e65223b693a313b733a31303a2265787072657373696f6e223b4f3a33323a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c46756e63223a333a7b733a343a226c696e65223b693a313b733a343a226e616d65223b733a363a22706872617365223b733a393a22617267756d656e7473223b613a313a7b693a303b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a313b733a373a22636f6e74656e74223b733a32373a227466615f6261636b75705f636f6465735f6c6f67696e5f64657363223b7d7d7d7d7d733a31313a22697353656c66436c6f7365223b623a303b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a303b7d693a313b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a313b733a373a22636f6e74656e74223b733a323a220a0a223b7d693a323b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c546167223a373a7b733a343a226c696e65223b693a343b733a343a226e616d65223b733a31303a2274657874626f78726f77223b733a31303a2261747472696275746573223b613a353a7b733a343a226e616d65223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a333b733a373a22636f6e74656e74223b733a343a22636f6465223b7d733a393a226175746f666f637573223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a333b733a373a22636f6e74656e74223b733a393a226175746f666f637573223b7d733a393a22696e7075746d6f6465223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a333b733a373a22636f6e74656e74223b733a373a226e756d65726963223b7d733a373a227061747465726e223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a333b733a373a22636f6e74656e74223b733a383a225b302d395c735d2a223b7d733a353a226c6162656c223b4f3a33383a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c45787072657373696f6e223a323a7b733a343a226c696e65223b693a343b733a31303a2265787072657373696f6e223b4f3a33323a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c46756e63223a333a7b733a343a226c696e65223b693a343b733a343a226e616d65223b733a363a22706872617365223b733a393a22617267756d656e7473223b613a313a7b693a303b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a343b733a373a22636f6e74656e74223b733a31313a226261636b75705f636f6465223b7d7d7d7d7d733a383a226368696c6472656e223b613a303a7b7d733a31313a22697353656c66436c6f7365223b623a313b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a303b7d7d7d, 0x5846, 2020570, '2.2.5', 1748686065),
(1182, 0x7075626c6963, 0x74776f5f737465705f656d61696c, 0, '<xf:inforow>{{ phrase(\'email_has_been_sent_with_code\') }}</xf:inforow>\n\n<xf:textboxrow name=\"code\" autofocus=\"autofocus\" inputmode=\"numeric\" pattern=\"[0-9]*\"\n	label=\"{{ phrase(\'email_confirmation_code\') }}\" />', 0x4f3a32343a2258465c54656d706c6174655c436f6d70696c65725c417374223a313a7b733a383a226368696c6472656e223b613a333a7b693a303b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c546167223a373a7b733a343a226c696e65223b693a313b733a343a226e616d65223b733a373a22696e666f726f77223b733a31303a2261747472696275746573223b613a303a7b7d733a383a226368696c6472656e223b613a313a7b693a303b4f3a33383a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c45787072657373696f6e223a323a7b733a343a226c696e65223b693a313b733a31303a2265787072657373696f6e223b4f3a33323a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c46756e63223a333a7b733a343a226c696e65223b693a313b733a343a226e616d65223b733a363a22706872617365223b733a393a22617267756d656e7473223b613a313a7b693a303b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a313b733a373a22636f6e74656e74223b733a32393a22656d61696c5f6861735f6265656e5f73656e745f776974685f636f6465223b7d7d7d7d7d733a31313a22697353656c66436c6f7365223b623a303b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a303b7d693a313b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a313b733a373a22636f6e74656e74223b733a323a220a0a223b7d693a323b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c546167223a373a7b733a343a226c696e65223b693a343b733a343a226e616d65223b733a31303a2274657874626f78726f77223b733a31303a2261747472696275746573223b613a353a7b733a343a226e616d65223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a333b733a373a22636f6e74656e74223b733a343a22636f6465223b7d733a393a226175746f666f637573223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a333b733a373a22636f6e74656e74223b733a393a226175746f666f637573223b7d733a393a22696e7075746d6f6465223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a333b733a373a22636f6e74656e74223b733a373a226e756d65726963223b7d733a373a227061747465726e223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a333b733a373a22636f6e74656e74223b733a363a225b302d395d2a223b7d733a353a226c6162656c223b4f3a33383a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c45787072657373696f6e223a323a7b733a343a226c696e65223b693a343b733a31303a2265787072657373696f6e223b4f3a33323a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c46756e63223a333a7b733a343a226c696e65223b693a343b733a343a226e616d65223b733a363a22706872617365223b733a393a22617267756d656e7473223b613a313a7b693a303b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a343b733a373a22636f6e74656e74223b733a32333a22656d61696c5f636f6e6669726d6174696f6e5f636f6465223b7d7d7d7d7d733a383a226368696c6472656e223b613a303a7b7d733a31313a22697353656c66436c6f7365223b623a313b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a303b7d7d7d, 0x5846, 2030010, '2.3.0 Alpha', 1748686065),
(1183, 0x7075626c6963, 0x74776f5f737465705f706173736b6579, 0, '<xf:js src=\"xf/webauthn.js\" min=\"1\" />\n\n<xf:if is=\"$context == \'login\'\">\n	<xf:formrow data-xf-init=\"webauthn\"\n		data-type=\"get\"\n		data-existing-credentials=\"{$existingCredentials|json}\"\n		data-autotrigger=\"true\"\n		data-autosubmit=\"true\"\n		data-verifying=\"{{ phrase(\'verifying...\') }}\">\n\n		<xf:button class=\"button--link js-webauthnStart\">{{ phrase(\'use_passkey_or_security_key\') }}</xf:button>\n	</xf:formrow>\n\n	<xf:hiddenval name=\"webauthn_payload\" />\n	<xf:hiddenval name=\"webauthn_challenge\">{{ $passkey ? $passkey.getChallenge() : \'\' }}</xf:hiddenval>\n</xf:if>', 0x[encoded data, 8802 characters], 0x5846, 2030033, '2.3.0 Beta 3', 1748686065),
(1184, 0x7075626c6963, 0x74776f5f737465705f746f7470, 0, '<xf:if is=\"$context == \'setup\'\">\n	<xf:js src=\"vendor/kjua/kjua.min.js\" />\n	<xf:formrow label=\"{{ phrase(\'setup\') }}\">\n		{{ phrase(\'totp_recieve_codes_via_app_desc\') }}\n		<div style=\"text-align: center; margin: 10px 0px;\"><span id=\"js-totpQrCode\" style=\"display: inline-block; background: white; padding: 12px\"></span></div>\n		{{ phrase(\'totp_enter_secret_into_app_x\', {\'secret\': $secret}) }}\n	</xf:formrow>\n	<xf:js>\n		const el = document.querySelector(\'#js-totpQrCode\')\n		const qr = kjua({\n			text: \'{$otpUrl|escape(\'js\')}\'\n		})\n		el.innerHTML = \'\'\n		el.append(qr)\n	</xf:js>\n<xf:else />\n	<xf:inforow>{{ phrase(\'please_enter_code_generated_by_app_on_phone\') }}</xf:inforow>\n</xf:if>\n\n<xf:textboxrow name=\"code\" autofocus=\"autofocus\" inputmode=\"numeric\" pattern=\"[0-9]*\"\n	autocomplete=\"one-time-code\" label=\"{{ phrase(\'verification_code\') }}\" />', 0x[encoded data, 11124 characters], 0x5846, 2030170, '2.3.1', 1748686065);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(1185, 0x7075626c6963, 0x756e64656c6574655f636f6e6669726d, 0, '<xf:title>{{ phrase(\'confirm_action\') }}</xf:title>\n\n<xf:form action=\"{$confirmUrl}\" ajax=\"true\" class=\"block\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:inforow rowtype=\"confirm\">\n				{{ phrase(\'please_confirm_that_you_want_to_undelete_following:\') }}\n				<xf:if is=\"$contentUrl\">\n					<strong><a href=\"{$contentUrl}\">{$contentTitle}</a></strong>\n				<xf:else />\n					<strong>{$contentTitle}</strong>\n				</xf:if>\n			</xf:inforow>\n		</div>\n		<xf:submitrow submit=\"{{ phrase(\'undelete\') }}\" rowtype=\"simple\" />\n	</div>\n</xf:form>', 0x[encoded data, 8748 characters], 0x5846, 2010037, '2.1.0 Beta 7', 1748686065),
(1186, 0x7075626c6963, 0x766172696174696f6e732e6c657373, 0, ':root\n{\n	color-scheme: @xf-styleType;\n\n	--xf-color-adjust: {{ $xf.style.getDefaultStyleType() === \'light\' ? 1 : -1 }};\n\n	<xf:foreach loop=\"$xf.style.getVariationVariables(\'default\')\" key=\"$property\" value=\"$value\">\n		--xf-{$property}: ~\"{$value}\";\n	</xf:foreach>\n\n	<xf:foreach loop=\"$xf.style.getVariationVariables(\'default\', true)\" key=\"$property\" value=\"$value\">\n		--xf-{$property}: var(--xf-{$property}--h), var(--xf-{$property}--s), var(--xf-{$property}--l), var(--xf-{$property}--a);\n		--xf-{$property}--h: hue({$value});\n		--xf-{$property}--s: saturation({$value});\n		--xf-{$property}--l: lightness({$value});\n		--xf-{$property}--a: alpha({$value});\n	</xf:foreach>\n\n	<xf:if is=\"$xf.style.hasAlternateStyleTypeVariation()\">\n		&:not([data-variation])\n		{\n			@media (prefers-color-scheme: {{ $xf.style.getAlternateStyleType() }})\n			{\n				--xf-color-adjust: {{ $xf.style.getAlternateStyleType() === \'light\' ? 1 : -1 }};\n\n				<xf:foreach loop=\"$xf.style.getVariationVariables($xf.style.getAlternateStyleTypeVariation())\" key=\"$property\" value=\"$value\">\n					--xf-{$property}: ~\"{$value}\";\n				</xf:foreach>\n\n				<xf:foreach loop=\"$xf.style.getVariationVariables($xf.style.getAlternateStyleTypeVariation(), true)\" key=\"$property\" value=\"$value\">\n					--xf-{$property}--h: hue({$value});\n					--xf-{$property}--s: saturation({$value});\n					--xf-{$property}--l: lightness({$value});\n					--xf-{$property}--a: alpha({$value});\n				</xf:foreach>\n			}\n		}\n	</xf:if>\n\n	<xf:foreach loop=\"$xf.style.getVariations(false)\" value=\"$variation\">\n		&[data-variation=\"{$variation}\"]\n		{\n			--xf-color-adjust: {{ $xf.style.getPropertyVariation(\'styleType\', $variation, \'light\') === \'light\' ? 1 : -1 }};\n\n			<xf:foreach loop=\"$xf.style.getVariationVariables($variation)\" key=\"$property\" value=\"$value\">\n				--xf-{$property}: ~\"{$value}\";\n			</xf:foreach>\n\n			<xf:foreach loop=\"$xf.style.getVariationVariables($variation, true)\" key=\"$property\" value=\"$value\">\n				--xf-{$property}--h: hue({$value});\n				--xf-{$property}--s: saturation({$value});\n				--xf-{$property}--l: lightness({$value});\n				--xf-{$property}--a: alpha({$value});\n			</xf:foreach>\n		}\n	</xf:foreach>\n}', 0x[encoded data, 37680 characters], 0x5846, 2030031, '2.3.0 Beta 1', 1748686065);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(1187, 0x7075626c6963, 0x7761726e696e675f696e666f, 0, '<xf:title>{{ phrase(\'warning_for_x\', {\'name\': $user.username}) }}</xf:title>\n\n<div class=\"form block\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:if is=\"$canViewContent\">\n				<xf:formrow label=\"{{ phrase(\'content\') }}\">\n					<xf:if is=\"{$contentUrl}\">\n						<a href=\"{$contentUrl}\">{$warning.display_title}</a>\n					<xf:else />\n						{$warning.display_title}\n					</xf:if>\n				</xf:formrow>\n			</xf:if>\n\n			<xf:formrow label=\"{{ phrase(\'given_by\') }}\">\n				<ul class=\"listInline listInline--bullet\">\n					<li><xf:username user=\"{$warning.WarnedBy}\" /></li>\n					<li><xf:date time=\"{$warning.warning_date}\" /></li>\n				</ul>\n			</xf:formrow>\n\n			<xf:formrow label=\"{{ phrase(\'details_of_warning\') }}\">\n				{$warning.title}\n				<xf:if is=\"{$warning.notes}\"><div class=\"u-muted\">{{ structured_text($warning.notes) }}</div></xf:if>\n			</xf:formrow>\n\n			<xf:formrow label=\"{{ phrase(\'warning_points\') }}\">\n				{$warning.points|number}\n				<xf:if is=\"$warning.is_expired\">\n					<span class=\"u-muted\">{{ phrase(\'(expired)\') }}</span>\n				<xf:elseif is=\"$warning.expiry_date\" />\n					<span class=\"u-muted\">{{ phrase(\'(expires_x)\', {\'date\': date($warning.expiry_date)}) }}</span>\n				</xf:if>\n			</xf:formrow>\n		</div>\n		<xf:if is=\"$warning.canDelete() AND $warning.canEditExpiry()\">\n			<h2 class=\"block-tabHeader tabs\" data-xf-init=\"tabs\" role=\"tablist\">\n				<a class=\"tabs-tab is-active\" role=\"tab\" tabindex=\"0\" aria-controls=\"{{ unique_id(\'warningDelete\') }}\">{{ phrase(\'delete_warning\') }}</a>\n				<a class=\"tabs-tab is-active\" role=\"tab\" tabindex=\"0\" aria-controls=\"{{ unique_id(\'warningUpdate\') }}\">{{ phrase(\'update_warning\') }}</a>\n			</h2>\n			<ul class=\"tabPanes\">\n				<li class=\"is-active\" role=\"tabpanel\" id=\"{{ unique_id(\'warningDelete\') }}\">\n					<xf:macro id=\"delete\" arg-warning=\"{$warning}\" />\n				</li>\n				<li role=\"tabpanel\" id=\"{{ unique_id(\'warningUpdate\') }}\">\n					<xf:macro id=\"expire\" arg-warning=\"{$warning}\" />\n				</li>\n			</ul>\n		<xf:elseif is=\"$warning.canDelete()\" />\n			<xf:macro id=\"delete\" arg-warning=\"{$warning}\" />\n		<xf:elseif is=\"$warning.canEditExpiry()\" />\n			<xf:macro id=\"expire\" arg-warning=\"{$warning}\" />\n		</xf:if>\n	</div>\n</div>\n\n<xf:macro id=\"delete\" arg-warning=\"!\" arg-redirect=\"\">\n	<xf:form action=\"{{ link(\'warnings/delete\', $warning) }}\">\n		<xf:checkboxrow>\n			<xf:option name=\"confirm\" value=\"1\">{{ phrase(\'confirm_deletion\') }}</xf:option>\n		</xf:checkboxrow>\n		<xf:submitrow icon=\"delete\" />\n		<xf:redirect url=\"{$redirect}\" />\n	</xf:form>\n</xf:macro>\n\n<xf:macro id=\"expire\" arg-warning=\"!\" arg-redirect=\"\">\n	<xf:form action=\"{{ link(\'warnings/expire\', $warning) }}\">\n		<xf:radiorow name=\"expire\" value=\"now\">\n			<xf:option value=\"now\">{{ phrase(\'expire_now\') }}</xf:option>\n			<xf:option value=\"future\" label=\"{{ phrase(\'expire_in_time:\') }}\">\n				<xf:dependent>\n					<div class=\"inputGroup\">\n						<xf:numberbox name=\"expiry_value\" value=\"1\" min=\"0\" />\n						<span class=\"inputGroup-splitter\"></span>\n						<xf:select name=\"expiry_unit\" value=\"days\" class=\"input--inline\">\n							<xf:option value=\"days\">{{ phrase(\'days\') }}</xf:option>\n							<xf:option value=\"weeks\">{{ phrase(\'weeks\') }}</xf:option>\n							<xf:option value=\"months\">{{ phrase(\'months\') }}</xf:option>\n							<xf:option value=\"years\">{{ phrase(\'years\') }}</xf:option>\n						</xf:select>\n					</div>\n				</xf:dependent>\n			</xf:option>\n		</xf:radiorow>\n		<xf:submitrow icon=\"save\" />\n		<xf:redirect url=\"{$redirect}\" />\n	</xf:form>\n</xf:macro>', 0x[encoded data, 58924 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686065);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(1188, 0x7075626c6963, 0x776174636865645f666f72756d735f6c697374, 0, '<xf:title>{{ phrase(\'watched_forums\') }}</xf:title>\n\n<xf:css src=\"node_list.less\" />\n\n<xf:if is=\"$watchedForums is not empty\">\n	<xf:form action=\"{{ link(\'watched/forums/update\') }}\" ajax=\"true\" class=\"block\" autocomplete=\"off\">\n\n		<div class=\"block-outer\">\n\n			<div class=\"block-outer-opposite\">\n				<xf:button class=\"button--link menuTrigger\" data-xf-click=\"menu\" aria-expanded=\"false\" aria-haspopup=\"true\">{{ phrase(\'manage_watched_forums\') }}</xf:button>\n				<div class=\"menu\" data-menu=\"menu\" aria-hidden=\"true\">\n					<div class=\"menu-content\">\n						<h3 class=\"menu-header\">{{ phrase(\'manage_watched_forums\') }}</h3>\n						<!--[XF:manage_menu:top]-->\n						<a href=\"{{ link(\'watched/forums/manage\', null, {\'state\': \'watch_no_email\'}) }}\" data-xf-click=\"overlay\" class=\"menu-linkRow\">{{ phrase(\'disable_email_notification\') }}</a>\n						<a href=\"{{ link(\'watched/forums/manage\', null, {\'state\': \'delete\'}) }}\" data-xf-click=\"overlay\" class=\"menu-linkRow\">{{ phrase(\'stop_watching_forums\') }}</a>\n						<!--[XF:manage_menu:bottom]-->\n					</div>\n				</div>\n			</div>\n		</div>\n\n		<div class=\"block-container\">\n			<div class=\"block-body\">\n				<xf:foreach loop=\"$nodeTree.getFlattened()\" key=\"$id\" value=\"$treeEntry\">\n					<xf:set var=\"$node\" value=\"{$treeEntry.record}\" />\n					<xf:set var=\"$forumWatch\" value=\"{$watchedForums.{$node.node_id}}\" />\n					<xf:if is=\"$forumWatch\">\n						<xf:set var=\"$bonusInfo\">\n							<ul class=\"listInline listInline--bullet\">\n								<xf:if is=\"$forumWatch.notify_on == \'thread\'\">\n									<li>{{ phrase(\'new_threads\') }}</li>\n								<xf:elseif is=\"$forumWatch.notify_on == \'message\'\" />\n									<li>{{ phrase(\'new_messages\') }}</li>\n								</xf:if>\n								<xf:if is=\"$forumWatch.send_alert\"><li>{{ phrase(\'alerts\') }}</li></xf:if>\n								<xf:if is=\"$forumWatch.send_email\"><li>{{ phrase(\'emails\') }}</li></xf:if>\n							</ul>\n						</xf:set>\n						<xf:macro id=\"node_list_forum::forum\"\n							arg-node=\"{$node}\"\n							arg-extras=\"{$nodeExtras.{$node.node_id}}\"\n							arg-children=\"{$nodeTree.{$id}.children}\"\n							arg-childExtras=\"{$nodeExtras}\"\n							arg-depth=\"2\"\n							arg-chooseName=\"node_ids\"\n							arg-bonusInfo=\"{$bonusInfo}\" />\n					</xf:if>\n				</xf:foreach>\n			</div>\n			<div class=\"block-footer block-footer--split\">\n				<span class=\"block-footer-counter\"></span>\n				<span class=\"block-footer-select\"><xf:checkbox standalone=\"true\">\n					<xf:option class=\"input--inline\" check-all=\"< .block-container\" label=\"{{ phrase(\'select_all\') }}\" />\n				</xf:checkbox></span>\n				<span class=\"block-footer-controls\">\n					<xf:select name=\"action\" class=\"input--inline\">\n						<xf:option>{{ phrase(\'with_selected...\') }}</xf:option>\n						<!--[XF:action_menu:top]-->\n						<xf:option value=\"email\">{{ phrase(\'enable_email_notification\') }}</xf:option>\n						<xf:option value=\"no_email\">{{ phrase(\'disable_email_notification\') }}</xf:option>\n						<xf:option value=\"alert\">{{ phrase(\'enable_alerts\') }}</xf:option>\n						<xf:option value=\"no_alert\">{{ phrase(\'disable_alerts\') }}</xf:option>\n						<xf:option value=\"delete\">{{ phrase(\'stop_watching\') }}</xf:option>\n						<!--[XF:action_menu:bottom]-->\n					</xf:select>\n					<xf:button type=\"submit\">{{ phrase(\'go\') }}</xf:button>\n				</span>\n			</div>\n		</div>\n	</xf:form>\n<xf:else />\n	<div class=\"blockMessage\">{{ phrase(\'you_not_watching_any_forums\') }}</div>\n</xf:if>', 0x[encoded data, 45480 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686065);
