Version 5.0.0 beta 9

This commit is contained in:
Neo committed 2025-12-19 17:47:00 -08:00
1 parent 214f649f1d
commit 56979f8ee8
202 files changed
+4403 -1123

No files matched your search

+1 -1
View File
@@ -69,7 +69,7 @@ Enum
FontAwesome FontAwesome
Description: General icons for UI Description: General icons for UI
Location: applications/core/interface/fontawesome Location: applications/core/interface/fontawesome
Included version: 6.5.1 Included version: 6.7.1
Website: https://fontawesome.com Website: https://fontawesome.com
License: https://fontawesome.com/license/free License: https://fontawesome.com/license/free
+1 -1
View File
@@ -719,5 +719,5 @@ $lang = array(
'advise_removal_of_php8_incompatible_code' => <<<TEXT 'advise_removal_of_php8_incompatible_code' => <<<TEXT
<div style="text-align: left">We are currently in the process of migrating our platform from PHP7 to PHP8 in order to provide you with the greatest level of performance and security. We've identified and disabled one or more Applications currently installed on your site which contain PHP8 incompatible code. Refer to the AdminCP &gt; Support &gt; Get Support page for more information.<br><br>You can re-enable these Applications via the AdminCP &gt; Applications page. Please make a note of the following Applications so you are clear which have been automatically disabled via the upgrader.</div> <div style="text-align: left">We are currently in the process of migrating our platform from PHP7 to PHP8 in order to provide you with the greatest level of performance and security. We've identified and disabled one or more Applications currently installed on your site which contain PHP8 incompatible code. Refer to the AdminCP &gt; Support &gt; Get Support page for more information.<br><br>You can re-enable these Applications via the AdminCP &gt; Applications page. Please make a note of the following Applications so you are clear which have been automatically disabled via the upgrader.</div>
TEXT, TEXT,
'107783_pbr_captcha' => "Post Before Register Changes"
); );
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<javascript app="blog"> <javascript app="blog">
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.manageCategories.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/** <file javascript_app="blog" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.manageCategories.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000100"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -277,7 +277,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="blog" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.view.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050"><![CDATA[/* CLASS LIST TEMPLATES */ <file javascript_app="blog" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.view.js" javascript_type="template" javascript_version="5000039" javascript_position="1000050"><![CDATA[/* CLASS LIST TEMPLATES */
ips.templates.set('blog.view.addButton', "\ ips.templates.set('blog.view.addButton', "\
<li><button type=\"button\" class=\"ipsButton ipsButton--primary ipsHide\" data-action=\"addNew\">{{#lang}}manage_cats_new_row{{/lang}}</button></li>\ <li><button type=\"button\" class=\"ipsButton ipsButton--primary ipsHide\" data-action=\"addNew\">{{#lang}}manage_cats_new_row{{/lang}}</button></li>\
"); ");
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<language> <language>
<app key="blog" version="5000036"> <app key="blog" version="5000039">
<word key="__app_blog" js="0">Blogs</word> <word key="__app_blog" js="0">Blogs</word>
<word key="frontnavigation_blogs" js="0">Blogs</word> <word key="frontnavigation_blogs" js="0">Blogs</word>
<word key="__indefart_blog_entry_comment" js="0">a comment on a blog entry</word> <word key="__indefart_blog_entry_comment" js="0">a comment on a blog entry</word>
+4 -1
View File
@@ -285,5 +285,8 @@
"5000033": "5.0.0 Beta 7", "5000033": "5.0.0 Beta 7",
"5000034": "5.0.0 Beta 7", "5000034": "5.0.0 Beta 7",
"5000035": "5.0.0 Beta 7", "5000035": "5.0.0 Beta 7",
"5000036": "5.0.0 Beta 8" "5000036": "5.0.0 Beta 8",
"5000037": "5.0.0 Beta 8",
"5000038": "5.0.0 Beta 9",
"5000039": "5.0.0 Beta 9.1"
} }
@@ -11,8 +11,6 @@
namespace IPS\blog\extensions\core\GroupForm; namespace IPS\blog\extensions\core\GroupForm;
/* To prevent PHP errors (extending class does not exist) revealing path */
use IPS\Extensions\GroupFormAbstract; use IPS\Extensions\GroupFormAbstract;
use IPS\Helpers\Form; use IPS\Helpers\Form;
use IPS\Helpers\Form\Number; use IPS\Helpers\Form\Number;
@@ -22,6 +20,7 @@ use IPS\Member\Group;
use IPS\Settings; use IPS\Settings;
use function defined; use function defined;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) ) if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{ {
header( ( $_SERVER['SERVER_PROTOCOL'] ?? 'HTTP/1.0' ) . ' 403 Forbidden' ); header( ( $_SERVER['SERVER_PROTOCOL'] ?? 'HTTP/1.0' ) . ' 403 Forbidden' );
@@ -52,7 +51,7 @@ class Blog extends GroupFormAbstract
} }
$form->add(new YesNo('g_blog_allowcomment', $group->g_blog_allowcomment)); $form->add(new YesNo('g_blog_allowcomment', $group->g_blog_allowcomment));
if( $group->g_id == Settings::i()->guest_group AND Settings::i()->post_before_registering ) if( $group->g_id == Settings::i()->guest_group AND Settings::i()->post_before_registering and Settings::i()->bot_antispam_type !== 'none' )
{ {
Member::loggedIn()->language()->words['g_blog_allowcomment_desc'] = Member::loggedIn()->language()->addToStack('g_blog_allowcomment_guestreg'); Member::loggedIn()->language()->words['g_blog_allowcomment_desc'] = Member::loggedIn()->language()->addToStack('g_blog_allowcomment_guestreg');
} }
@@ -0,0 +1,22 @@
{
"id": 5000037,
"name": "5.0.0 Beta 8",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": true,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,14 @@
{
"categories": {
"added": [],
"edited": [],
"removed": []
},
"settings": {
"added": [],
"edited": [
"layout_blog_view"
],
"removed": []
}
}
@@ -0,0 +1,22 @@
{
"id": 5000038,
"name": "5.0.0 Beta 9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": true,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,14 @@
{
"categories": {
"added": [],
"edited": [],
"removed": []
},
"settings": {
"added": [],
"edited": [
"layout_blog_view"
],
"removed": []
}
}
@@ -0,0 +1,22 @@
{
"id": 5000039,
"name": "5.0.0 Beta 9.1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": true,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,14 @@
{
"categories": {
"added": [],
"edited": [],
"removed": []
},
"settings": {
"added": [],
"edited": [
"layout_blog_view"
],
"removed": []
}
}
+2 -1
View File
@@ -804,7 +804,8 @@ class Entry extends Item implements
$response = parent::canComment( $member, $considerPostBeforeRegistering ); $response = parent::canComment( $member, $considerPostBeforeRegistering );
if( $response ) if( $response )
{ {
if ( !$member->member_id and $considerPostBeforeRegistering and Settings::i()->post_before_registering and Login::registrationType() != 'disabled' ) if ( !$member->member_id and $considerPostBeforeRegistering and Settings::i()->post_before_registering
and Login::registrationType() != 'disabled'and Settings::i()->bot_antispam_type !== 'none' )
{ {
return (bool) Group::load( Settings::i()->member_group )->g_blog_allowcomment; return (bool) Group::load( Settings::i()->member_group )->g_blog_allowcomment;
} }
+11 -11
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<javascript app="calendar"> <javascript app="calendar">
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.main.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000250"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.main.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000250"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -110,7 +110,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.monthView.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000250"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.monthView.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000250"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -229,7 +229,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.eventList.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000300"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.eventList.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000300"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -347,7 +347,7 @@ var PER_PAGE = 16;
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.nearMe.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000300"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.nearMe.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000300"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -711,7 +711,7 @@ var PER_PAGE = 16;
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.search.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000300"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.search.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000300"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1265,7 +1265,7 @@ var PER_PAGE = 16;
}); });
}(jQuery, _)); }(jQuery, _));
]]></file> ]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.dates.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.dates.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000100"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1813,7 +1813,7 @@ var PER_PAGE = 16;
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/venue" javascript_name="ips.venue.main.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000200"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/venue" javascript_name="ips.venue.main.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000200"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1920,7 +1920,7 @@ var PER_PAGE = 16;
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderButton.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderButton.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000150"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -2003,7 +2003,7 @@ var PER_PAGE = 16;
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderForm.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150">/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderForm.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000150">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -2113,7 +2113,7 @@ var PER_PAGE = 16;
}); });
}(jQuery, _)); }(jQuery, _));
</file> </file>
<file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.calendar.templates.js" javascript_type="framework" javascript_version="5000036" javascript_position="1000050"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.calendar.templates.js" javascript_type="framework" javascript_version="5000039" javascript_position="1000050"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*/ */
@@ -2122,7 +2122,7 @@ var PER_PAGE = 16;
ips.templates.set('calendar.reminder.loading', " \ ips.templates.set('calendar.reminder.loading', " \
<div class='ipsLoading ipsLoading--tiny'></div>\ <div class='ipsLoading ipsLoading--tiny'></div>\
");]]></file> ");]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.overview.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050"><![CDATA[ips.templates.set("eventLoading", ` <file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.overview.js" javascript_type="template" javascript_version="5000039" javascript_position="1000050"><![CDATA[ips.templates.set("eventLoading", `
<li class='ipsData__item ipsData__item--loading'> <li class='ipsData__item ipsData__item--loading'>
<div class="ipsData__image"></div> <div class="ipsData__image"></div>
<div class="ipsData__content"> <div class="ipsData__content">
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<language> <language>
<app key="calendar" version="5000036"> <app key="calendar" version="5000039">
<word key="__app_calendar" js="0">Events</word> <word key="__app_calendar" js="0">Events</word>
<word key="frontnavigation_calendar" js="0">Events</word> <word key="frontnavigation_calendar" js="0">Events</word>
<word key="__indefart_calendar_event_comment" js="0">a comment on an event</word> <word key="__indefart_calendar_event_comment" js="0">a comment on an event</word>
+4 -1
View File
@@ -285,5 +285,8 @@
"5000033": "5.0.0 Beta 7", "5000033": "5.0.0 Beta 7",
"5000034": "5.0.0 Beta 7", "5000034": "5.0.0 Beta 7",
"5000035": "5.0.0 Beta 7", "5000035": "5.0.0 Beta 7",
"5000036": "5.0.0 Beta 8" "5000036": "5.0.0 Beta 8",
"5000037": "5.0.0 Beta 8",
"5000038": "5.0.0 Beta 9",
"5000039": "5.0.0 Beta 9.1"
} }
@@ -0,0 +1,22 @@
{
"id": 5000037,
"name": "5.0.0 Beta 8",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000038,
"name": "5.0.0 Beta 9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000039,
"name": "5.0.0 Beta 9.1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
+19 -19
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<javascript app="cms"> <javascript app="cms">
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/blocks" javascript_name="ips.blocks.form.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/blocks" javascript_name="ips.blocks.form.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000100"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -67,7 +67,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/blocks" javascript_name="ips.blocks.navigation.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050"><![CDATA[/** <file javascript_app="cms" javascript_location="front" javascript_path="controllers/blocks" javascript_name="ips.blocks.navigation.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -111,7 +111,7 @@
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.download.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150">/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.download.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000150">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -156,7 +156,7 @@
} }
}); });
}(jQuery, _));</file> }(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.form.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.form.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000150"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -232,7 +232,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/external" javascript_name="ips.external.communication.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000150"><![CDATA[/** <file javascript_app="cms" javascript_location="front" javascript_path="controllers/external" javascript_name="ips.external.communication.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000150"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -367,7 +367,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/fields" javascript_name="ips.fields.form.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000200"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/fields" javascript_name="ips.fields.form.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000200"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -457,7 +457,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/media" javascript_name="ips.media.main.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000300"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/media" javascript_name="ips.media.main.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000300"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1096,7 +1096,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.embed.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000250"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.embed.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000250"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1131,7 +1131,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.form.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000250"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.form.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000250"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1253,7 +1253,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.form.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100"><![CDATA[/** <file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.form.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000100"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1365,7 +1365,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.revisions.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100">/** <file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.revisions.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000100">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1420,7 +1420,7 @@
} }
}); });
}(jQuery, _));</file> }(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.addForm.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050">/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.addForm.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1470,7 +1470,7 @@
} }
}); });
}(jQuery, _));</file> }(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.conflict.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050">/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.conflict.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1542,7 +1542,7 @@
} }
}); });
}(jQuery, _));</file> }(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileEditor.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileEditor.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -2503,7 +2503,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileList.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileList.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -2795,7 +2795,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.main.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.main.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -2964,7 +2964,7 @@
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.variablesDialog.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050">/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.variablesDialog.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -3009,7 +3009,7 @@
} }
}); });
}(jQuery, _));</file> }(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.media.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050"><![CDATA[ips.templates.set( 'templates.media.grid', "\ <file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.media.js" javascript_type="template" javascript_version="5000039" javascript_position="1000050"><![CDATA[ips.templates.set( 'templates.media.grid', "\
<ul class='ipsGrid ipsGrid--pages-media'>\ <ul class='ipsGrid ipsGrid--pages-media'>\
{{{contents}}}\ {{{contents}}}\
</ul>\ </ul>\
@@ -3026,7 +3026,7 @@ ips.templates.set( 'templates.media.noSearchResults', "\
{{#lang}}mediaNoResults{{/lang}}\ {{#lang}}mediaNoResults{{/lang}}\
</div>\ </div>\
");]]></file> ");]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.templates.js" javascript_type="template" javascript_version="5000036" javascript_position="1000050"><![CDATA[/* TEMPLATE EDITOR TEMPLATES */ <file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.templates.js" javascript_type="template" javascript_version="5000039" javascript_position="1000050"><![CDATA[/* TEMPLATE EDITOR TEMPLATES */
/* TEMPLATECEPTION */ /* TEMPLATECEPTION */
ips.templates.set('templates.editor.newTab', " \ ips.templates.set('templates.editor.newTab', " \
<a href='#' class='ipsTabs__tab' id='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}' role='tab' aria-controls='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}_panel' aria-selected='false' data-fileid='{{fileid}}' data-location='{{location}}'>{{title}} <span data-action='closeTab'><i class='fa-solid fa-xmark'></i></span></a>\ <a href='#' class='ipsTabs__tab' id='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}' role='tab' aria-controls='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}_panel' aria-selected='false' data-fileid='{{fileid}}' data-location='{{location}}'>{{title}} <span data-action='closeTab'><i class='fa-solid fa-xmark'></i></span></a>\
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<language> <language>
<app key="cms" version="5000036"> <app key="cms" version="5000039">
<word key="__app_cms" js="0">Pages</word> <word key="__app_cms" js="0">Pages</word>
<word key="menutab__cms" js="0">Pages</word> <word key="menutab__cms" js="0">Pages</word>
<word key="menutab__cms_icon" js="0">file</word> <word key="menutab__cms_icon" js="0">file</word>
+4 -1
View File
@@ -603,5 +603,8 @@
"5000033": "5.0.0 Beta 7", "5000033": "5.0.0 Beta 7",
"5000034": "5.0.0 Beta 7", "5000034": "5.0.0 Beta 7",
"5000035": "5.0.0 Beta 7", "5000035": "5.0.0 Beta 7",
"5000036": "5.0.0 Beta 8" "5000036": "5.0.0 Beta 8",
"5000037": "5.0.0 Beta 8",
"5000038": "5.0.0 Beta 9",
"5000039": "5.0.0 Beta 9.1"
} }
@@ -27,6 +27,7 @@ use IPS\Member;
use IPS\Node\Controller; use IPS\Node\Controller;
use IPS\Node\Model; use IPS\Node\Model;
use IPS\Output; use IPS\Output;
use IPS\Platform\Bridge;
use IPS\Request; use IPS\Request;
use IPS\Session; use IPS\Session;
use IPS\Theme; use IPS\Theme;
@@ -149,13 +150,20 @@ class blocks extends Controller
Dispatcher::i()->checkAcpPermission( 'block_add' ); Dispatcher::i()->checkAcpPermission( 'block_add' );
$form = new Form( 'block_add_first_step', 'next'); $form = new Form( 'block_add_first_step', 'next');
$blockTypes = [
'plugin' => 'content_block_add_type_plugin',
'editor' => 'content_block_add_custom_type_wysiwyg',
'html' => 'content_block_add_custom_type_html',
];
if( Bridge::i()->featureIsEnabled( 'phpblocks' ) )
{
$blockTypes['php'] = 'content_block_add_custom_type_php';
}
$form->add( new Radio( 'content_block_add_type', 'plugin', FALSE, array( $form->add( new Radio( 'content_block_add_type', 'plugin', FALSE, array(
'options' => array( 'options' => $blockTypes,
'plugin' => 'content_block_add_type_plugin',
'editor' => 'content_block_add_custom_type_wysiwyg',
'html' => 'content_block_add_custom_type_html',
),
'toggles' => array( 'toggles' => array(
'plugin' => array( 'content_block_add_type_plugin' ) 'plugin' => array( 'content_block_add_type_plugin' )
) )
@@ -0,0 +1,22 @@
{
"id": 5000037,
"name": "5.0.0 Beta 8",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000038,
"name": "5.0.0 Beta 9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000039,
"name": "5.0.0 Beta 9.1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
+37 -1
View File
@@ -14,6 +14,7 @@ namespace IPS\cms\Blocks;
/* To prevent PHP errors (extending class does not exist) revealing path */ /* To prevent PHP errors (extending class does not exist) revealing path */
use DomainException; use DomainException;
use Exception;
use InvalidArgumentException; use InvalidArgumentException;
use IPS\Application; use IPS\Application;
use IPS\cms\Pages\Page; use IPS\cms\Pages\Page;
@@ -37,6 +38,7 @@ use IPS\Node\Model;
use IPS\Node\Permissions; use IPS\Node\Permissions;
use IPS\Output; use IPS\Output;
use IPS\Patterns\ActiveRecord; use IPS\Patterns\ActiveRecord;
use IPS\Platform\Bridge;
use IPS\Request; use IPS\Request;
use IPS\Theme; use IPS\Theme;
use IPS\Widget; use IPS\Widget;
@@ -242,6 +244,20 @@ class Block extends Model implements Permissions
if ( ! isset( Store::i()->$functionName ) ) if ( ! isset( Store::i()->$functionName ) )
{ {
$content = $block->content; $content = $block->content;
if( $block->getConfig('editor') == 'php' )
{
/* If PHP blocks are disabled, stop here */
if( !Bridge::i()->featureIsEnabled( 'phpblocks' ) )
{
throw new OutOfRangeException;
}
ob_start();
eval( $content );
$content = ob_get_clean();
}
Store::i()->$functionName = Theme::compileTemplate( $content, $functionName ); Store::i()->$functionName = Theme::compileTemplate( $content, $functionName );
} }
@@ -515,6 +531,12 @@ EOF;
$block_editor = ( isset( Request::i()->block_editor ) ) ? Request::i()->block_editor : ( $this->id ? $this->getConfig('editor') : null ); $block_editor = ( isset( Request::i()->block_editor ) ) ? Request::i()->block_editor : ( $this->id ? $this->getConfig('editor') : null );
$block_plugin = ( isset( Request::i()->block_plugin ) ) ? Request::i()->block_plugin : ( $this->id ? $this->plugin : null ); $block_plugin = ( isset( Request::i()->block_plugin ) ) ? Request::i()->block_plugin : ( $this->id ? $this->plugin : null );
/* Double check that we didn't force the PHP blocks */
if( $block_editor == 'php' and !Bridge::i()->featureIsEnabled( 'phpblocks' ) )
{
$block_editor = 'html';
}
/* Build form */ /* Build form */
$form->addTab( 'content_block_form_tab__details' ); $form->addTab( 'content_block_form_tab__details' );
$form->add( new Translatable( 'block_name', NULL, TRUE, array( $form->add( new Translatable( 'block_name', NULL, TRUE, array(
@@ -692,7 +714,21 @@ EOF;
} }
else else
{ {
$form->add( new Codemirror( 'block_content', htmlentities( (string) $this->content, ENT_DISALLOWED, 'UTF-8' ), FALSE, array( 'tagSource' => Url::internal( "app=cms&module=pages&controller=blocks&do=loadTags" ), "codeModeAllowedLanguages" => ["ipsphtml"]), function($val ) { $form->add( new Codemirror( 'block_content', htmlentities( (string) $this->content, ENT_DISALLOWED, 'UTF-8' ), FALSE, array( 'tagSource' => Url::internal( "app=cms&module=pages&controller=blocks&do=loadTags" ), "codeModeAllowedLanguages" => ( $block_editor == 'php' ) ? [ "php"] : ["ipsphtml"] ), function( $val ) use( $block_editor ) {
if( $block_editor == 'php' )
{
try
{
ob_start();
@eval( $val );
ob_get_clean();
}
catch ( ParseError|Exception $e )
{
throw new DomainException( $e->getMessage() );
}
}
if ( mb_strpos( $val, '{block="' . Request::i()->block_key . '"}' ) !== FALSE ) if ( mb_strpos( $val, '{block="' . Request::i()->block_key . '"}' ) !== FALSE )
{ {
throw new DomainException('block_content_recursive_error'); throw new DomainException('block_content_recursive_error');
+28 -1
View File
@@ -18,6 +18,7 @@ use ErrorException;
use Exception; use Exception;
use InvalidArgumentException; use InvalidArgumentException;
use IPS\Application; use IPS\Application;
use IPS\Application\Module;
use IPS\cms\Databases; use IPS\cms\Databases;
use IPS\cms\extensions\core\FrontNavigation\Pages; use IPS\cms\extensions\core\FrontNavigation\Pages;
use IPS\cms\Templates; use IPS\cms\Templates;
@@ -1690,6 +1691,32 @@ class Page extends Model implements Permissions
) ); ) );
} }
/**
* Check permissions
*
* @param mixed $permission A key which has a value in static::$permissionMap['view'] matching a column ID in core_permission_index
* @param Group|Member|null $member The member or group to check (NULL for currently logged in member)
* @param bool $considerPostBeforeRegistering If TRUE, and $member is a guest, will return TRUE if "Post Before Registering" feature is enabled
* @return bool
* @throws OutOfBoundsException If $permission does not exist in static::$permissionMap
*/
public function can( mixed $permission, Group|Member $member=NULL, bool $considerPostBeforeRegistering = TRUE ): bool
{
/* If this is a database page, check the Database module permissions.
The Dispatcher thinks we are in the Pages module and so the permission check is done on the
wrong module. */
if( ( Dispatcher::hasInstance() AND Dispatcher::i()->controllerLocation == 'front' ) and $database = $this->getDatabase() )
{
$member = $member ?: Member::loggedIn();
if( !$member->canAccessModule( Module::get( 'cms', 'database' ) ) )
{
return false;
}
}
return parent::can( $permission, $member, $considerPostBeforeRegistering );
}
/** /**
* Get the Database from the page * Get the Database from the page
* *
@@ -1984,7 +2011,7 @@ class Page extends Model implements Permissions
*/ */
public function getSortableName() : string public function getSortableName() : string
{ {
return $this->seo_name; return $this->seo_name ?? '';
} }
/** /**
+11 -1
View File
@@ -3804,7 +3804,17 @@ class Records extends Item implements
*/ */
public function getForumId() : int public function getForumId() : int
{ {
return $this->_forum_forum; return ( $this->useForumComments() ) ? $this->_forum_forum : 0;
}
/**
* Determine if the topic sync is enabled
*
* @return bool
*/
public function isTopicSyncEnabled() : bool
{
return $this->useForumComments();
} }
/** /**
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<javascript app="convert"> <javascript app="convert">
<file javascript_app="convert" javascript_location="admin" javascript_path="controllers/convert" javascript_name="ips.convert.menu.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000100">/** <file javascript_app="convert" javascript_location="admin" javascript_path="controllers/convert" javascript_name="ips.convert.menu.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000100">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -45,7 +45,7 @@
} }
} ); } );
}(jQuery, _));</file> }(jQuery, _));</file>
<file javascript_app="convert" javascript_location="admin" javascript_path="controllers/forms" javascript_name="ips.forms.reactionmapper.js" javascript_type="controller" javascript_version="5000036" javascript_position="1000050">/** <file javascript_app="convert" javascript_location="admin" javascript_path="controllers/forms" javascript_name="ips.forms.reactionmapper.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<language> <language>
<app key="convert" version="5000036"> <app key="convert" version="5000039">
<word key="__app_convert" js="0">Converter</word> <word key="__app_convert" js="0">Converter</word>
<word key="menu__convert_manage" js="0">Conversions</word> <word key="menu__convert_manage" js="0">Conversions</word>
<word key="menu__convert_manage_manage_start" js="0">Start New Conversion</word> <word key="menu__convert_manage_manage_start" js="0">Start New Conversion</word>
+4 -1
View File
@@ -285,5 +285,8 @@
"5000033": "5.0.0 Beta 7", "5000033": "5.0.0 Beta 7",
"5000034": "5.0.0 Beta 7", "5000034": "5.0.0 Beta 7",
"5000035": "5.0.0 Beta 7", "5000035": "5.0.0 Beta 7",
"5000036": "5.0.0 Beta 8" "5000036": "5.0.0 Beta 8",
"5000037": "5.0.0 Beta 8",
"5000038": "5.0.0 Beta 9",
"5000039": "5.0.0 Beta 9.1"
} }
@@ -91,7 +91,7 @@ class RebuildGalleryImages extends QueueAbstract
$last = NULL; $last = NULL;
foreach( new ActiveRecordIterator( Db::i()->select( '*', 'gallery_images', array( "image_id>?", $offset ), 'image_id ASC', array( 0, REBUILD_SLOW ) ), 'IPS\gallery\Image' ) AS $image ) foreach( new ActiveRecordIterator( Db::i()->select( '*', 'gallery_images', array( "image_id>?", $offset ), 'image_id ASC', array( 0, REBUILD_INTENSE ) ), 'IPS\gallery\Image' ) AS $image )
{ {
$data['completed']++; $data['completed']++;
@@ -149,7 +149,7 @@ class manage extends Controller
try try
{ {
$classname = get_class( $app->getSource() ); $classname = get_class( $app->getSource( true, false ) );
/* @var Software $classname */ /* @var Software $classname */
return $classname::softwareName(); return $classname::softwareName();
@@ -0,0 +1,22 @@
{
"id": 5000037,
"name": "5.0.0 Beta 8",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000038,
"name": "5.0.0 Beta 9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000039,
"name": "5.0.0 Beta 9.1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -1419,7 +1419,7 @@ class Core extends Library
} }
catch( OutOfRangeException $e ) catch( OutOfRangeException $e )
{ {
Db::i()->delete( 'core_attachments', array( "attach_id=?", $id ) ); Db::i()->delete( 'core_attachments', array( "attach_id=?", $inserted_id ) );
$this->software->app->log( 'attachment_missing_parent', __METHOD__, App::LOG_WARNING, $id ); $this->software->app->log( 'attachment_missing_parent', __METHOD__, App::LOG_WARNING, $id );
return FALSE; return FALSE;
} }
@@ -350,22 +350,24 @@ class Smf extends Software
$poll_data = $this->db->select( '*', 'polls', array( "id_poll=?", $row['id_poll'] ) )->first(); $poll_data = $this->db->select( '*', 'polls', array( "id_poll=?", $row['id_poll'] ) )->first();
$options = $this->db->select( '*', 'poll_choices', array( "id_poll=?", $poll_data['id_poll'] ) ); $options = $this->db->select( '*', 'poll_choices', array( "id_poll=?", $poll_data['id_poll'] ) );
$choices = array(); $choices = $votes = $search = [];
$votes = 0; $index = 1;
foreach( $options AS $option ) foreach( $options AS $option )
{ {
$choices[ $option['id_choice'] ] = $option['label']; $choices[ $index ] = $option['label'];
$votes += $option['votes']; $votes[ $index ] = $option['votes'];
$search[ $index ] = $option['id_choice'];
$index++;
} }
$member_votes = array(); $member_votes = array();
foreach( $this->db->select( '*', 'log_polls', array( "id_poll=?", $poll_data['id_poll'] ) ) AS $vote ) foreach( $this->db->select( '*', 'log_polls', array( "id_poll=?", $poll_data['id_poll'] ) ) AS $vote )
{ {
$member_votes[$vote['id_member']] = array( $member_votes[ $vote['id_member'] ] = [
'member_id' => $vote['id_member'], 'member_id' => $vote['id_member'],
'member_choices' => array( $vote['id_choice'] ) 'member_choices' => [ 1 => array_search( $vote['id_choice'], $search ) ]
); ];
} }
$poll = array( $poll = array(
+37 -24
View File
@@ -206,6 +206,7 @@
"geo", "geo",
"giphy", "giphy",
"indexnow", "indexnow",
"integration",
"mapbox", "mapbox",
"maps", "maps",
"matomo", "matomo",
@@ -216,8 +217,7 @@
"sendgrid", "sendgrid",
"spam", "spam",
"tag manager", "tag manager",
"zapier", "zapier"
"integration"
] ]
}, },
"app=core&module=applications&controller=enhancements&do=edit&id=core_FacebookPixel": { "app=core&module=applications&controller=enhancements&do=edit&id=core_FacebookPixel": {
@@ -266,8 +266,8 @@
"lang_key": "menu__core_applications_menu", "lang_key": "menu__core_applications_menu",
"restriction": "menu_manage", "restriction": "menu_manage",
"keywords": [ "keywords": [
"menu manager",
"header", "header",
"menu manager",
"navigation" "navigation"
] ]
}, },
@@ -455,9 +455,9 @@
"lang_key": "menu__core_discovery_streams", "lang_key": "menu__core_discovery_streams",
"restriction": "streams_manage", "restriction": "streams_manage",
"keywords": [ "keywords": [
"activity stream",
"stream subscriptions", "stream subscriptions",
"streams", "streams"
"activity stream"
] ]
}, },
"app=core&module=discovery&controller=tags": { "app=core&module=discovery&controller=tags": {
@@ -794,8 +794,8 @@
"keywords": [ "keywords": [
"karma", "karma",
"like", "like",
"reputation", "reactions",
"reactions" "reputation"
] ]
}, },
"app=core&module=members&controller=groups&searchResult=g_search_flood": { "app=core&module=members&controller=groups&searchResult=g_search_flood": {
@@ -1488,7 +1488,11 @@
"restriction": "spam_manage", "restriction": "spam_manage",
"keywords": [ "keywords": [
"spam", "spam",
"spammers" "spammers",
"delete guest content",
"delete guest posts",
"guest content",
"guest posts"
] ]
}, },
"app=core&module=moderation&controller=spam&do=serviceLogs": { "app=core&module=moderation&controller=spam&do=serviceLogs": {
@@ -1508,16 +1512,6 @@
"security question" "security question"
] ]
}, },
"app=core&module=moderation&controller=spam&searchResult=guest_captcha": {
"lang_key": "guest_captcha_search_target",
"restriction": "spam_manage",
"keywords": [
"delete guest content",
"delete guest posts",
"guest content",
"guest posts"
]
},
"app=core&module=moderation&controller=spam&tab=captcha": { "app=core&module=moderation&controller=spam&tab=captcha": {
"lang_key": "spamprevention_captcha", "lang_key": "spamprevention_captcha",
"restriction": "spam_manage", "restriction": "spam_manage",
@@ -1662,9 +1656,9 @@
"restriction": "mycharts_manage", "restriction": "mycharts_manage",
"keywords": [ "keywords": [
"charts", "charts",
"saved charts",
"statistics", "statistics",
"stats", "stats"
"saved charts"
] ]
}, },
"app=core&module=overview&controller=notifications&do=settings": { "app=core&module=overview&controller=notifications&do=settings": {
@@ -1757,7 +1751,8 @@
"reddit", "reddit",
"share links", "share links",
"stumbleupon", "stumbleupon",
"twitter" "twitter",
"tiktok"
] ]
}, },
"app=core&module=settings&controller=advanced": { "app=core&module=settings&controller=advanced": {
@@ -2076,7 +2071,10 @@
"facebook", "facebook",
"social profile", "social profile",
"twitter", "twitter",
"x" "x",
"bluesky",
"youtube",
"tiktok"
] ]
}, },
"app=core&module=settings&controller=general&searchResult=form_site_twitter_id": { "app=core&module=settings&controller=general&searchResult=form_site_twitter_id": {
@@ -2179,6 +2177,14 @@
"coppa" "coppa"
] ]
}, },
"app=core&module=settings&controller=login&tab=settings&searchResult=form_login_after_inactivity_notification": {
"lang_key": "login_after_inactivity_notification",
"restriction": "login_access",
"keywords": [
"dormant",
"email"
]
},
"app=core&module=settings&controller=login&tab=settings&searchResult=form_new_device_email": { "app=core&module=settings&controller=login&tab=settings&searchResult=form_new_device_email": {
"lang_key": "new_device_email", "lang_key": "new_device_email",
"restriction": "login_manage", "restriction": "login_manage",
@@ -2255,8 +2261,8 @@
"restriction": null, "restriction": null,
"keywords": [ "keywords": [
"editor", "editor",
"posting", "editor permissions",
"editor permissions" "posting"
] ]
}, },
"app=core&module=settings&controller=posting&searchResult=attach_allowed_extensions": { "app=core&module=settings&controller=posting&searchResult=attach_allowed_extensions": {
@@ -2547,6 +2553,13 @@
"iframe" "iframe"
] ]
}, },
"app=core&module=settings&controller=posting&tab=simplifiedMode&searchResult=form_editor_r__table": {
"lang_key": "editor_r__table",
"restriction": null,
"keywords": [
"table"
]
},
"app=core&module=settings&controller=posting&tab=tags&searchResult=tags_can_prefix": { "app=core&module=settings&controller=posting&tab=tags&searchResult=tags_can_prefix": {
"lang_key": "tags_can_prefix", "lang_key": "tags_can_prefix",
"restriction": "tags_manage", "restriction": "tags_manage",
+12 -11
View File
@@ -234,7 +234,6 @@
<setting key="googletag_head_code"><![CDATA[{"key":"googletag_head_code","default":"","report":"none"}]]></setting> <setting key="googletag_head_code"><![CDATA[{"key":"googletag_head_code","default":"","report":"none"}]]></setting>
<setting key="googletag_noscript_code"><![CDATA[{"key":"googletag_noscript_code","default":"","report":"none"}]]></setting> <setting key="googletag_noscript_code"><![CDATA[{"key":"googletag_noscript_code","default":"","report":"none"}]]></setting>
<setting key="group_formatting"><![CDATA[{"key":"group_formatting","default":"global","report":"full"}]]></setting> <setting key="group_formatting"><![CDATA[{"key":"group_formatting","default":"global","report":"full"}]]></setting>
<setting key="guest_captcha"><![CDATA[{"key":"guest_captcha","default":"1","report":"full"}]]></setting>
<setting key="guest_terms_bar"><![CDATA[{"key":"guest_terms_bar","default":"","report":"full"}]]></setting> <setting key="guest_terms_bar"><![CDATA[{"key":"guest_terms_bar","default":"","report":"full"}]]></setting>
<setting key="hcaptcha_secret"><![CDATA[{"key":"hcaptcha_secret","default":"","report":"none"}]]></setting> <setting key="hcaptcha_secret"><![CDATA[{"key":"hcaptcha_secret","default":"","report":"none"}]]></setting>
<setting key="hcaptcha_sitekey"><![CDATA[{"key":"hcaptcha_sitekey","default":"","report":"bool"}]]></setting> <setting key="hcaptcha_sitekey"><![CDATA[{"key":"hcaptcha_sitekey","default":"","report":"bool"}]]></setting>
@@ -277,6 +276,7 @@
<setting key="letter_photos"><![CDATA[{"key":"letter_photos","default":"letters","report":"full"}]]></setting> <setting key="letter_photos"><![CDATA[{"key":"letter_photos","default":"letters","report":"full"}]]></setting>
<setting key="link_default"><![CDATA[{"key":"link_default","default":"unread","report":"full"}]]></setting> <setting key="link_default"><![CDATA[{"key":"link_default","default":"unread","report":"full"}]]></setting>
<setting key="links_external"><![CDATA[{"key":"links_external","default":"1","report":"full"}]]></setting> <setting key="links_external"><![CDATA[{"key":"links_external","default":"1","report":"full"}]]></setting>
<setting key="login_after_inactivity_notification"><![CDATA[{"key":"login_after_inactivity_notification","default":"1","report":"full"}]]></setting>
<setting key="mail_method"><![CDATA[{"key":"mail_method","default":"php","report":"full"}]]></setting> <setting key="mail_method"><![CDATA[{"key":"mail_method","default":"php","report":"full"}]]></setting>
<setting key="manifest_details"><![CDATA[{"key":"manifest_details","default":"{\"cache_key\":1692875360}","report":"bool"}]]></setting> <setting key="manifest_details"><![CDATA[{"key":"manifest_details","default":"{\"cache_key\":1692875360}","report":"bool"}]]></setting>
<setting key="mapbox"><![CDATA[{"key":"mapbox","default":"","report":"full"}]]></setting> <setting key="mapbox"><![CDATA[{"key":"mapbox","default":"","report":"full"}]]></setting>
@@ -542,13 +542,13 @@
<acpsearch key="app=core&amp;module=applications&amp;controller=api&amp;tab=webhooks"><![CDATA[{"lang_key":"webhooks","restriction":"api_splash","keywords":["webhook"]}]]></acpsearch> <acpsearch key="app=core&amp;module=applications&amp;controller=api&amp;tab=webhooks"><![CDATA[{"lang_key":"webhooks","restriction":"api_splash","keywords":["webhook"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=applications&amp;controller=api&amp;tab=webhooks&amp;do=settings&amp;searchResult=webhook_logs_success"><![CDATA[{"lang_key":"webhook_logs_success","restriction":"api_splash","keywords":["webhook"]}]]></acpsearch> <acpsearch key="app=core&amp;module=applications&amp;controller=api&amp;tab=webhooks&amp;do=settings&amp;searchResult=webhook_logs_success"><![CDATA[{"lang_key":"webhook_logs_success","restriction":"api_splash","keywords":["webhook"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=applications&amp;controller=applications"><![CDATA[{"lang_key":"menu__core_applications_applications","restriction":"app_manage","keywords":["applications","install","modules","offline","online"]}]]></acpsearch> <acpsearch key="app=core&amp;module=applications&amp;controller=applications"><![CDATA[{"lang_key":"menu__core_applications_applications","restriction":"app_manage","keywords":["applications","install","modules","offline","online"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=applications&amp;controller=enhancements"><![CDATA[{"lang_key":"menu__core_applications_enhancements","restriction":"enhancements_manage","keywords":["analytics","bulk mail","easypost","email","enhancements","enom","geo","giphy","indexnow","mapbox","maps","matomo","maxmind","omniture","piwik","pixabay","sendgrid","spam","tag manager","zapier","integration"]}]]></acpsearch> <acpsearch key="app=core&amp;module=applications&amp;controller=enhancements"><![CDATA[{"lang_key":"menu__core_applications_enhancements","restriction":"enhancements_manage","keywords":["analytics","bulk mail","easypost","email","enhancements","enom","geo","giphy","indexnow","integration","mapbox","maps","matomo","maxmind","omniture","piwik","pixabay","sendgrid","spam","tag manager","zapier"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=applications&amp;controller=enhancements&amp;do=edit&amp;id=core_FacebookPixel"><![CDATA[{"lang_key":"enhancements__core_FacebookPixel","restriction":"enhancements_manage","keywords":["facebook","pixel"]}]]></acpsearch> <acpsearch key="app=core&amp;module=applications&amp;controller=enhancements&amp;do=edit&amp;id=core_FacebookPixel"><![CDATA[{"lang_key":"enhancements__core_FacebookPixel","restriction":"enhancements_manage","keywords":["facebook","pixel"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=applications&amp;controller=enhancements&amp;do=edit&amp;id=core_GoogleMaps&amp;searchResult=form_googlemaps"><![CDATA[{"lang_key":"googlemaps","restriction":"enhancements_manage","keywords":["google","maps"]}]]></acpsearch> <acpsearch key="app=core&amp;module=applications&amp;controller=enhancements&amp;do=edit&amp;id=core_GoogleMaps&amp;searchResult=form_googlemaps"><![CDATA[{"lang_key":"googlemaps","restriction":"enhancements_manage","keywords":["google","maps"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=applications&amp;controller=enhancements&amp;do=edit&amp;id=core_Pixabay"><![CDATA[{"lang_key":"enhancements__core_Pixabay","restriction":"enhancements_manage","keywords":["photos","pixabay","stock","stock photo"]}]]></acpsearch> <acpsearch key="app=core&amp;module=applications&amp;controller=enhancements&amp;do=edit&amp;id=core_Pixabay"><![CDATA[{"lang_key":"enhancements__core_Pixabay","restriction":"enhancements_manage","keywords":["photos","pixabay","stock","stock photo"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=applications&amp;controller=enhancements&amp;do=edit&amp;searchResult=form_ga_enabled"><![CDATA[{"lang_key":"ga_enabled","restriction":"enhancements_manage","keywords":["analytics","google analytics"]}]]></acpsearch> <acpsearch key="app=core&amp;module=applications&amp;controller=enhancements&amp;do=edit&amp;searchResult=form_ga_enabled"><![CDATA[{"lang_key":"ga_enabled","restriction":"enhancements_manage","keywords":["analytics","google analytics"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=applications&amp;controller=enhancements&amp;do=edit&amp;searchResult=ga_code"><![CDATA[{"lang_key":"ga_code","restriction":"enhancements_manage","keywords":["analytics","google analytics"]}]]></acpsearch> <acpsearch key="app=core&amp;module=applications&amp;controller=enhancements&amp;do=edit&amp;searchResult=ga_code"><![CDATA[{"lang_key":"ga_code","restriction":"enhancements_manage","keywords":["analytics","google analytics"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=applications&amp;controller=menu"><![CDATA[{"lang_key":"menu__core_applications_menu","restriction":"menu_manage","keywords":["menu manager","header","navigation"]}]]></acpsearch> <acpsearch key="app=core&amp;module=applications&amp;controller=menu"><![CDATA[{"lang_key":"menu__core_applications_menu","restriction":"menu_manage","keywords":["header","menu manager","navigation"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=applications&amp;controller=rss"><![CDATA[{"lang_key":"menu__core_applications_rss","restriction":"rss_manage","keywords":["atom feed","feed import","rss feed"]}]]></acpsearch> <acpsearch key="app=core&amp;module=applications&amp;controller=rss"><![CDATA[{"lang_key":"menu__core_applications_rss","restriction":"rss_manage","keywords":["atom feed","feed import","rss feed"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=bulkmail&amp;controller=bulkmail"><![CDATA[{"lang_key":"menu__core_bulkmail_bulkmail","restriction":"bulkmail_manage","keywords":["announce","blast","bulk","bulk mail","campaign","email","mail","mass","newsletter","sendgrid"]}]]></acpsearch> <acpsearch key="app=core&amp;module=bulkmail&amp;controller=bulkmail"><![CDATA[{"lang_key":"menu__core_bulkmail_bulkmail","restriction":"bulkmail_manage","keywords":["announce","blast","bulk","bulk mail","campaign","email","mail","mass","newsletter","sendgrid"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=clubs&amp;controller=clubs"><![CDATA[{"lang_key":"menu__core_clubs_clubs","restriction":"clubs_manage","keywords":["circles","clubs","social groups"]}]]></acpsearch> <acpsearch key="app=core&amp;module=clubs&amp;controller=clubs"><![CDATA[{"lang_key":"menu__core_clubs_clubs","restriction":"clubs_manage","keywords":["circles","clubs","social groups"]}]]></acpsearch>
@@ -569,7 +569,7 @@
<acpsearch key="app=core&amp;module=discovery&amp;controller=search&amp;searchResult=form_search_method"><![CDATA[{"lang_key":"search_method","restriction":"search_manage","keywords":["elastic","elasticsearch","mysql","search"]}]]></acpsearch> <acpsearch key="app=core&amp;module=discovery&amp;controller=search&amp;searchResult=form_search_method"><![CDATA[{"lang_key":"search_method","restriction":"search_manage","keywords":["elastic","elasticsearch","mysql","search"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=discovery&amp;controller=search&amp;searchResult=search_index_timeframe"><![CDATA[{"lang_key":"search_index_timeframe","restriction":"search_manage","keywords":["search","search content","search cutoff","search limit","search results"]}]]></acpsearch> <acpsearch key="app=core&amp;module=discovery&amp;controller=search&amp;searchResult=search_index_timeframe"><![CDATA[{"lang_key":"search_index_timeframe","restriction":"search_manage","keywords":["search","search content","search cutoff","search limit","search results"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=discovery&amp;controller=search&amp;searchResult=searchlog_exclude_groups"><![CDATA[{"lang_key":"searchlog_exclude_groups","restriction":"search_manage","keywords":["exclude groups","exclude groups from search"]}]]></acpsearch> <acpsearch key="app=core&amp;module=discovery&amp;controller=search&amp;searchResult=searchlog_exclude_groups"><![CDATA[{"lang_key":"searchlog_exclude_groups","restriction":"search_manage","keywords":["exclude groups","exclude groups from search"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=discovery&amp;controller=streams&amp;do=allActivitySettings"><![CDATA[{"lang_key":"menu__core_discovery_streams","restriction":"streams_manage","keywords":["stream subscriptions","streams","activity stream"]}]]></acpsearch> <acpsearch key="app=core&amp;module=discovery&amp;controller=streams&amp;do=allActivitySettings"><![CDATA[{"lang_key":"menu__core_discovery_streams","restriction":"streams_manage","keywords":["activity stream","stream subscriptions","streams"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=discovery&amp;controller=tags"><![CDATA[{"lang_key":"menu__core_discovery_tags","restriction":"tags_manage","keywords":["prefix","tagging","tags"]}]]></acpsearch> <acpsearch key="app=core&amp;module=discovery&amp;controller=tags"><![CDATA[{"lang_key":"menu__core_discovery_tags","restriction":"tags_manage","keywords":["prefix","tagging","tags"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=discovery&amp;controller=tags&amp;do=settings"><![CDATA[{"lang_key":"tag_settings","restriction":"tags_manage","keywords":["prefix","tagging","tags"]}]]></acpsearch> <acpsearch key="app=core&amp;module=discovery&amp;controller=tags&amp;do=settings"><![CDATA[{"lang_key":"tag_settings","restriction":"tags_manage","keywords":["prefix","tagging","tags"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=editor&amp;controller=emoticons"><![CDATA[{"lang_key":"menu__core_editor_emoticons","restriction":"emoticons_manage","keywords":["emoticons","smileys","smilies"]}]]></acpsearch> <acpsearch key="app=core&amp;module=editor&amp;controller=emoticons"><![CDATA[{"lang_key":"menu__core_editor_emoticons","restriction":"emoticons_manage","keywords":["emoticons","smileys","smilies"]}]]></acpsearch>
@@ -607,7 +607,7 @@
<acpsearch key="app=core&amp;module=members&amp;controller=groups&amp;searchResult=g_ppd_unit"><![CDATA[{"lang_key":"g_ppd_unit","restriction":"groups_manage","keywords":["posting limit"]}]]></acpsearch> <acpsearch key="app=core&amp;module=members&amp;controller=groups&amp;searchResult=g_ppd_unit"><![CDATA[{"lang_key":"g_ppd_unit","restriction":"groups_manage","keywords":["posting limit"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=members&amp;controller=groups&amp;searchResult=g_prefixsuffix"><![CDATA[{"lang_key":"g_prefixsuffix","restriction":"groups_manage","keywords":["group color","group colour","group formatting"]}]]></acpsearch> <acpsearch key="app=core&amp;module=members&amp;controller=groups&amp;searchResult=g_prefixsuffix"><![CDATA[{"lang_key":"g_prefixsuffix","restriction":"groups_manage","keywords":["group color","group colour","group formatting"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=members&amp;controller=groups&amp;searchResult=g_promote_exclude"><![CDATA[{"lang_key":"g_promote_exclude","restriction":"groups_manage","keywords":["group promotion","member promotions","member upgrades"]}]]></acpsearch> <acpsearch key="app=core&amp;module=members&amp;controller=groups&amp;searchResult=g_promote_exclude"><![CDATA[{"lang_key":"g_promote_exclude","restriction":"groups_manage","keywords":["group promotion","member promotions","member upgrades"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=members&amp;controller=groups&amp;searchResult=g_rep_max_positive"><![CDATA[{"lang_key":"g_rep_max_positive","restriction":"groups_manage","keywords":["karma","like","reputation","reactions"]}]]></acpsearch> <acpsearch key="app=core&amp;module=members&amp;controller=groups&amp;searchResult=g_rep_max_positive"><![CDATA[{"lang_key":"g_rep_max_positive","restriction":"groups_manage","keywords":["karma","like","reactions","reputation"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=members&amp;controller=groups&amp;searchResult=g_search_flood"><![CDATA[{"lang_key":"g_search_flood","restriction":"groups_manage","keywords":["search flood control"]}]]></acpsearch> <acpsearch key="app=core&amp;module=members&amp;controller=groups&amp;searchResult=g_search_flood"><![CDATA[{"lang_key":"g_search_flood","restriction":"groups_manage","keywords":["search flood control"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=members&amp;controller=groups&amp;searchResult=g_sig_max_image_size"><![CDATA[{"lang_key":"g_sig_max_image_size","restriction":"groups_manage","keywords":["signature images","signatures"]}]]></acpsearch> <acpsearch key="app=core&amp;module=members&amp;controller=groups&amp;searchResult=g_sig_max_image_size"><![CDATA[{"lang_key":"g_sig_max_image_size","restriction":"groups_manage","keywords":["signature images","signatures"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=members&amp;controller=groups&amp;searchResult=g_sig_max_images"><![CDATA[{"lang_key":"g_sig_max_images","restriction":"groups_manage","keywords":["signature images","signatures"]}]]></acpsearch> <acpsearch key="app=core&amp;module=members&amp;controller=groups&amp;searchResult=g_sig_max_images"><![CDATA[{"lang_key":"g_sig_max_images","restriction":"groups_manage","keywords":["signature images","signatures"]}]]></acpsearch>
@@ -683,10 +683,9 @@
<acpsearch key="app=core&amp;module=messengerstats&amp;controller=pmstats"><![CDATA[{"lang_key":"menu__core_members_pmstats","restriction":null,"keywords":["message statistics","Messenger Statistics","private messages"]}]]></acpsearch> <acpsearch key="app=core&amp;module=messengerstats&amp;controller=pmstats"><![CDATA[{"lang_key":"menu__core_members_pmstats","restriction":null,"keywords":["message statistics","Messenger Statistics","private messages"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=moderation&amp;controller=reportedContent"><![CDATA[{"lang_key":"menu__core_moderation_reportedContent","restriction":"reportedContent_manage","keywords":["moderation","report","report types"]}]]></acpsearch> <acpsearch key="app=core&amp;module=moderation&amp;controller=reportedContent"><![CDATA[{"lang_key":"menu__core_moderation_reportedContent","restriction":"reportedContent_manage","keywords":["moderation","report","report types"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=moderation&amp;controller=reportedContentTypes"><![CDATA[{"lang_key":"r__reportedContentTypes","restriction":null,"keywords":["report","report types"]}]]></acpsearch> <acpsearch key="app=core&amp;module=moderation&amp;controller=reportedContentTypes"><![CDATA[{"lang_key":"r__reportedContentTypes","restriction":null,"keywords":["report","report types"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=moderation&amp;controller=spam"><![CDATA[{"lang_key":"menu__core_moderation_spam","restriction":"spam_manage","keywords":["spam","spammers"]}]]></acpsearch> <acpsearch key="app=core&amp;module=moderation&amp;controller=spam"><![CDATA[{"lang_key":"menu__core_moderation_spam","restriction":"spam_manage","keywords":["spam","spammers","delete guest content","delete guest posts","guest content","guest posts"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=moderation&amp;controller=spam&amp;do=serviceLogs"><![CDATA[{"lang_key":"spamlogs","restriction":"spam_service_log","keywords":["spam logs"]}]]></acpsearch> <acpsearch key="app=core&amp;module=moderation&amp;controller=spam&amp;do=serviceLogs"><![CDATA[{"lang_key":"spamlogs","restriction":"spam_service_log","keywords":["spam logs"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=moderation&amp;controller=spam&amp;searchResult=bot_antispam_type"><![CDATA[{"lang_key":"bot_antispam_type","restriction":"spam_manage","keywords":["bot prevention","CAPTCHA","hCaptcha","security question"]}]]></acpsearch> <acpsearch key="app=core&amp;module=moderation&amp;controller=spam&amp;searchResult=bot_antispam_type"><![CDATA[{"lang_key":"bot_antispam_type","restriction":"spam_manage","keywords":["bot prevention","CAPTCHA","hCaptcha","security question"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=moderation&amp;controller=spam&amp;searchResult=guest_captcha"><![CDATA[{"lang_key":"guest_captcha_search_target","restriction":"spam_manage","keywords":["delete guest content","delete guest posts","guest content","guest posts"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=moderation&amp;controller=spam&amp;tab=captcha"><![CDATA[{"lang_key":"spamprevention_captcha","restriction":"spam_manage","keywords":["captcha","keycaptcha","recaptcha"]}]]></acpsearch> <acpsearch key="app=core&amp;module=moderation&amp;controller=spam&amp;tab=captcha"><![CDATA[{"lang_key":"spamprevention_captcha","restriction":"spam_manage","keywords":["captcha","keycaptcha","recaptcha"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=moderation&amp;controller=spam&amp;tab=flagging"><![CDATA[{"lang_key":"spamprevention_flagging","restriction":"spam_manage","keywords":["flagging"]}]]></acpsearch> <acpsearch key="app=core&amp;module=moderation&amp;controller=spam&amp;tab=flagging"><![CDATA[{"lang_key":"spamprevention_flagging","restriction":"spam_manage","keywords":["flagging"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=moderation&amp;controller=spam&amp;tab=qanda"><![CDATA[{"lang_key":"qanda_settings","restriction":"qanda_manage","keywords":["answers","challenge","question","registration"]}]]></acpsearch> <acpsearch key="app=core&amp;module=moderation&amp;controller=spam&amp;tab=qanda"><![CDATA[{"lang_key":"qanda_settings","restriction":"qanda_manage","keywords":["answers","challenge","question","registration"]}]]></acpsearch>
@@ -703,7 +702,7 @@
<acpsearch key="app=core&amp;module=overview&amp;controller=files&amp;do=imagesettings&amp;searchResult=image_png_quality_gd"><![CDATA[{"lang_key":"image_png_quality_gd","restriction":"files_view","keywords":["png"]}]]></acpsearch> <acpsearch key="app=core&amp;module=overview&amp;controller=files&amp;do=imagesettings&amp;searchResult=image_png_quality_gd"><![CDATA[{"lang_key":"image_png_quality_gd","restriction":"files_view","keywords":["png"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=overview&amp;controller=files&amp;do=imagesettings&amp;searchResult=imagick_strip_exif"><![CDATA[{"lang_key":"imagick_strip_exif","restriction":"files_view","keywords":["exif"]}]]></acpsearch> <acpsearch key="app=core&amp;module=overview&amp;controller=files&amp;do=imagesettings&amp;searchResult=imagick_strip_exif"><![CDATA[{"lang_key":"imagick_strip_exif","restriction":"files_view","keywords":["exif"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=overview&amp;controller=files&amp;do=settings"><![CDATA[{"lang_key":"storage_settings","restriction":"files_view","keywords":["amazon","files","ftp","photos","storage","uploads"]}]]></acpsearch> <acpsearch key="app=core&amp;module=overview&amp;controller=files&amp;do=settings"><![CDATA[{"lang_key":"storage_settings","restriction":"files_view","keywords":["amazon","files","ftp","photos","storage","uploads"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=overview&amp;controller=mycharts"><![CDATA[{"lang_key":"menu__core_overview_mycharts","restriction":"mycharts_manage","keywords":["charts","statistics","stats","saved charts"]}]]></acpsearch> <acpsearch key="app=core&amp;module=overview&amp;controller=mycharts"><![CDATA[{"lang_key":"menu__core_overview_mycharts","restriction":"mycharts_manage","keywords":["charts","saved charts","statistics","stats"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=overview&amp;controller=notifications&amp;do=settings"><![CDATA[{"lang_key":"menu__core_overview_notifications","restriction":null,"keywords":["notification","notifications"]}]]></acpsearch> <acpsearch key="app=core&amp;module=overview&amp;controller=notifications&amp;do=settings"><![CDATA[{"lang_key":"menu__core_overview_notifications","restriction":null,"keywords":["notification","notifications"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=promotion&amp;controller=advertisements"><![CDATA[{"lang_key":"menu__core_promotion_advertisements","restriction":"advertisements_manage","keywords":["ads","adsense","advertisements","adverts","adwords","google"]}]]></acpsearch> <acpsearch key="app=core&amp;module=promotion&amp;controller=advertisements"><![CDATA[{"lang_key":"menu__core_promotion_advertisements","restriction":"advertisements_manage","keywords":["ads","adsense","advertisements","adverts","adwords","google"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=promotion&amp;controller=seo"><![CDATA[{"lang_key":"menu__core_promotion_seo","restriction":"seo_manage","keywords":["analytics","furl","search","search engine optimization","seo"]}]]></acpsearch> <acpsearch key="app=core&amp;module=promotion&amp;controller=seo"><![CDATA[{"lang_key":"menu__core_promotion_seo","restriction":"seo_manage","keywords":["analytics","furl","search","search engine optimization","seo"]}]]></acpsearch>
@@ -712,7 +711,7 @@
<acpsearch key="app=core&amp;module=promotion&amp;controller=seo&amp;tab=robotstxt&amp;searchResult=use_robotstxt"><![CDATA[{"lang_key":"use_robotstxt","restriction":null,"keywords":["robots","robots.txt"]}]]></acpsearch> <acpsearch key="app=core&amp;module=promotion&amp;controller=seo&amp;tab=robotstxt&amp;searchResult=use_robotstxt"><![CDATA[{"lang_key":"use_robotstxt","restriction":null,"keywords":["robots","robots.txt"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=promotion&amp;controller=seo&amp;tab=sitemap"><![CDATA[{"lang_key":"seo_tab_sitemap","restriction":"seo_sitemap","keywords":["google","priority","site map","sitemap","xml"]}]]></acpsearch> <acpsearch key="app=core&amp;module=promotion&amp;controller=seo&amp;tab=sitemap"><![CDATA[{"lang_key":"seo_tab_sitemap","restriction":"seo_sitemap","keywords":["google","priority","site map","sitemap","xml"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=promotion&amp;controller=seo&amp;tab=urls"><![CDATA[{"lang_key":"seo_tab_furls","restriction":"seo_furls","keywords":["friendly url","furls","htaccess","mod_rewrite","urls"]}]]></acpsearch> <acpsearch key="app=core&amp;module=promotion&amp;controller=seo&amp;tab=urls"><![CDATA[{"lang_key":"seo_tab_furls","restriction":"seo_furls","keywords":["friendly url","furls","htaccess","mod_rewrite","urls"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=promotion&amp;controller=sharelinks"><![CDATA[{"lang_key":"menu__core_promotion_sharelinks","restriction":"sharelinks_manage","keywords":["facebook","linkedin","reddit","share links","stumbleupon","twitter"]}]]></acpsearch> <acpsearch key="app=core&amp;module=promotion&amp;controller=sharelinks"><![CDATA[{"lang_key":"menu__core_promotion_sharelinks","restriction":"sharelinks_manage","keywords":["facebook","linkedin","reddit","share links","stumbleupon","twitter","tiktok"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=advanced"><![CDATA[{"lang_key":"menu__core_settings_advanced","restriction":"advanced_manage","keywords":["advanced","cache","furl","storage","tasks"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=advanced"><![CDATA[{"lang_key":"menu__core_settings_advanced","restriction":"advanced_manage","keywords":["advanced","cache","furl","storage","tasks"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=advanced&amp;do=tasks"><![CDATA[{"lang_key":"task_manager","restriction":null,"keywords":["cron","cronjob","task","tasklog","tasks"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=advanced&amp;do=tasks"><![CDATA[{"lang_key":"task_manager","restriction":null,"keywords":["cron","cronjob","task","tasklog","tasks"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=advanced&amp;searchResult=form_auto_polling_enabled"><![CDATA[{"lang_key":"auto_polling_enabled","restriction":"advanced_manage","keywords":["auto","automatic","polling"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=advanced&amp;searchResult=form_auto_polling_enabled"><![CDATA[{"lang_key":"auto_polling_enabled","restriction":"advanced_manage","keywords":["auto","automatic","polling"]}]]></acpsearch>
@@ -748,7 +747,7 @@
<acpsearch key="app=core&amp;module=settings&amp;controller=general&amp;searchResult=form_diagnostics_reporting"><![CDATA[{"lang_key":"diagnostics_reporting","restriction":"general_manage","keywords":["diagnostics","reports"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=general&amp;searchResult=form_diagnostics_reporting"><![CDATA[{"lang_key":"diagnostics_reporting","restriction":"general_manage","keywords":["diagnostics","reports"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=general&amp;searchResult=form_site_address"><![CDATA[{"lang_key":"site_address","restriction":"general_manage","keywords":["address","mail"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=general&amp;searchResult=form_site_address"><![CDATA[{"lang_key":"site_address","restriction":"general_manage","keywords":["address","mail"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=general&amp;searchResult=form_site_online"><![CDATA[{"lang_key":"site_online","restriction":"general_manage","keywords":["offline","online"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=general&amp;searchResult=form_site_online"><![CDATA[{"lang_key":"site_online","restriction":"general_manage","keywords":["offline","online"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=general&amp;searchResult=form_site_social_profiles"><![CDATA[{"lang_key":"site_social_profiles","restriction":"general_manage","keywords":["facebook","social profile","twitter","x"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=general&amp;searchResult=form_site_social_profiles"><![CDATA[{"lang_key":"site_social_profiles","restriction":"general_manage","keywords":["facebook","social profile","twitter","x","bluesky","youtube","tiktok"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=general&amp;searchResult=form_site_twitter_id"><![CDATA[{"lang_key":"site_twitter_id","restriction":"general_manage","keywords":["site twitter","twitter","twitter id","x"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=general&amp;searchResult=form_site_twitter_id"><![CDATA[{"lang_key":"site_twitter_id","restriction":"general_manage","keywords":["site twitter","twitter","twitter id","x"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=licensekey"><![CDATA[{"lang_key":"menu__core_settings_licensekey","restriction":"licensekey_manage","keywords":["license key"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=licensekey"><![CDATA[{"lang_key":"menu__core_settings_licensekey","restriction":"licensekey_manage","keywords":["license key"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=login"><![CDATA[{"lang_key":"menu__core_settings_login","restriction":"login_manage","keywords":["accounts","facebook","google","https","ips connect","ldap","locking","login","microsoft","twitter","windows"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=login"><![CDATA[{"lang_key":"menu__core_settings_login","restriction":"login_manage","keywords":["accounts","facebook","google","https","ips connect","ldap","locking","login","microsoft","twitter","windows"]}]]></acpsearch>
@@ -759,12 +758,13 @@
<acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=registration&amp;searchResult=quick_register"><![CDATA[{"lang_key":"quick_register","restriction":"registration_manage","keywords":["quick register","register"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=registration&amp;searchResult=quick_register"><![CDATA[{"lang_key":"quick_register","restriction":"registration_manage","keywords":["quick register","register"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=registration&amp;searchResult=reg_auth_type"><![CDATA[{"lang_key":"reg_auth_type","restriction":"login_access","keywords":["email","validation"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=registration&amp;searchResult=reg_auth_type"><![CDATA[{"lang_key":"reg_auth_type","restriction":"login_access","keywords":["email","validation"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=registration&amp;searchResult=use_coppa"><![CDATA[{"lang_key":"use_coppa","restriction":"registration_manage","keywords":["coppa"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=registration&amp;searchResult=use_coppa"><![CDATA[{"lang_key":"use_coppa","restriction":"registration_manage","keywords":["coppa"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=settings&amp;searchResult=form_login_after_inactivity_notification"><![CDATA[{"lang_key":"login_after_inactivity_notification","restriction":"login_access","keywords":["dormant","email"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=settings&amp;searchResult=form_new_device_email"><![CDATA[{"lang_key":"new_device_email","restriction":"login_manage","keywords":["new authorised device email","new authorized device email","new browser email","new device email","new log in email","new login email","new sign in email","new signin email"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=settings&amp;searchResult=form_new_device_email"><![CDATA[{"lang_key":"new_device_email","restriction":"login_manage","keywords":["new authorised device email","new authorized device email","new browser email","new device email","new log in email","new login email","new sign in email","new signin email"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=settings&amp;searchResult=ipb_bruteforce_attempts"><![CDATA[{"lang_key":"ipb_bruteforce_attempts","restriction":"login_manage","keywords":["brute","bruteforce","failed","lock","logins"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=settings&amp;searchResult=ipb_bruteforce_attempts"><![CDATA[{"lang_key":"ipb_bruteforce_attempts","restriction":"login_manage","keywords":["brute","bruteforce","failed","lock","logins"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=settings&amp;searchResult=ipb_bruteforce_period"><![CDATA[{"lang_key":"ipb_bruteforce_period","restriction":"login_access","keywords":["failed","login"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=settings&amp;searchResult=ipb_bruteforce_period"><![CDATA[{"lang_key":"ipb_bruteforce_period","restriction":"login_access","keywords":["failed","login"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=settings&amp;searchResult=ipb_bruteforce_unlock"><![CDATA[{"lang_key":"ipb_bruteforce_unlock","restriction":"login_access","keywords":["failed","login"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=login&amp;tab=settings&amp;searchResult=ipb_bruteforce_unlock"><![CDATA[{"lang_key":"ipb_bruteforce_unlock","restriction":"login_access","keywords":["failed","login"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=mfa"><![CDATA[{"lang_key":"menu__core_settings_mfa","restriction":"mfa_manage","keywords":["2 factor authentication","2 factor verification","2-factor authentication","2-factor verification","2fa","account authentication","account verification","authentication","google authentication","google authenticator","mfa","multi factor authentication","multi factor verification","multi-factor authentication","multi-factor verification","multifactor authentication","multifactor verification","security","security questions","two factor authentication","two factor verification","two-factor authentication","two-factor verification","verification"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=mfa"><![CDATA[{"lang_key":"menu__core_settings_mfa","restriction":"mfa_manage","keywords":["2 factor authentication","2 factor verification","2-factor authentication","2-factor verification","2fa","account authentication","account verification","authentication","google authentication","google authenticator","mfa","multi factor authentication","multi factor verification","multi-factor authentication","multi-factor verification","multifactor authentication","multifactor verification","security","security questions","two factor authentication","two factor verification","two-factor authentication","two-factor verification","verification"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=posting"><![CDATA[{"lang_key":"menu__core_settings_posting","restriction":null,"keywords":["editor","posting","editor permissions"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=posting"><![CDATA[{"lang_key":"menu__core_settings_posting","restriction":null,"keywords":["editor","editor permissions","posting"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;searchResult=attach_allowed_extensions"><![CDATA[{"lang_key":"attach_allowed_extensions","restriction":"posting_manage","keywords":["extensions"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;searchResult=attach_allowed_extensions"><![CDATA[{"lang_key":"attach_allowed_extensions","restriction":"posting_manage","keywords":["extensions"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;searchResult=form_dellog_retention_period"><![CDATA[{"lang_key":"dellog_retention_period","restriction":"posting_manage","keywords":["content","delete"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;searchResult=form_dellog_retention_period"><![CDATA[{"lang_key":"dellog_retention_period","restriction":"posting_manage","keywords":["content","delete"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;searchResult=form_ip_address_prune"><![CDATA[{"lang_key":"ip_address_prune","restriction":"posting_manage","keywords":["gdpr","ip address","prune"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;searchResult=form_ip_address_prune"><![CDATA[{"lang_key":"ip_address_prune","restriction":"posting_manage","keywords":["gdpr","ip address","prune"]}]]></acpsearch>
@@ -799,6 +799,7 @@
<acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;tab=simplifiedMode&amp;searchResult=form_editor_r__heading_1"><![CDATA[{"lang_key":"editor_r__heading_1","restriction":null,"keywords":["heading"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;tab=simplifiedMode&amp;searchResult=form_editor_r__heading_1"><![CDATA[{"lang_key":"editor_r__heading_1","restriction":null,"keywords":["heading"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;tab=simplifiedMode&amp;searchResult=form_editor_r__internal_embed"><![CDATA[{"lang_key":"editor_r__internal_embed","restriction":null,"keywords":["embed"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;tab=simplifiedMode&amp;searchResult=form_editor_r__internal_embed"><![CDATA[{"lang_key":"editor_r__internal_embed","restriction":null,"keywords":["embed"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;tab=simplifiedMode&amp;searchResult=form_editor_r__raw_embed"><![CDATA[{"lang_key":"editor_r__raw_embed","restriction":null,"keywords":["iframe"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;tab=simplifiedMode&amp;searchResult=form_editor_r__raw_embed"><![CDATA[{"lang_key":"editor_r__raw_embed","restriction":null,"keywords":["iframe"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;tab=simplifiedMode&amp;searchResult=form_editor_r__table"><![CDATA[{"lang_key":"editor_r__table","restriction":null,"keywords":["table"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;tab=tags&amp;searchResult=tags_can_prefix"><![CDATA[{"lang_key":"tags_can_prefix","restriction":"tags_manage","keywords":["prefix","prefixes"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;tab=tags&amp;searchResult=tags_can_prefix"><![CDATA[{"lang_key":"tags_can_prefix","restriction":"tags_manage","keywords":["prefix","prefixes"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;tab=urlFilters"><![CDATA[{"lang_key":"ipb_url_filter_option","restriction":"posting_manage_url","keywords":["blacklist","links","urls","whitelist"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;tab=urlFilters"><![CDATA[{"lang_key":"ipb_url_filter_option","restriction":"posting_manage_url","keywords":["blacklist","links","urls","whitelist"]}]]></acpsearch>
<acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;tab=urlFilters&amp;searchResult=form_links_external"><![CDATA[{"lang_key":"links_external","restriction":"posting_manage","keywords":["blank","link","tab","target","window"]}]]></acpsearch> <acpsearch key="app=core&amp;module=settings&amp;controller=posting&amp;tab=urlFilters&amp;searchResult=form_links_external"><![CDATA[{"lang_key":"links_external","restriction":"posting_manage","keywords":["blank","link","tab","target","window"]}]]></acpsearch>
+32 -1
View File
@@ -26,6 +26,30 @@
"src": "src/assets/icons/spoiler.svg", "src": "src/assets/icons/spoiler.svg",
"isDynamicEntry": true "isDynamicEntry": true
}, },
"src/assets/icons/table-base.svg": {
"file": "assets/table-base-D1cd7bGZ.js",
"name": "table-base",
"src": "src/assets/icons/table-base.svg",
"isDynamicEntry": true
},
"src/assets/icons/table-cell.svg": {
"file": "assets/table-cell-DVOKSKb6.js",
"name": "table-cell",
"src": "src/assets/icons/table-cell.svg",
"isDynamicEntry": true
},
"src/assets/icons/table-columns.svg": {
"file": "assets/table-columns-BC6EiFm4.js",
"name": "table-columns",
"src": "src/assets/icons/table-columns.svg",
"isDynamicEntry": true
},
"src/assets/icons/table-rows.svg": {
"file": "assets/table-rows-_EhIjim3.js",
"name": "table-rows",
"src": "src/assets/icons/table-rows.svg",
"isDynamicEntry": true
},
"src/assets/icons/wrap.svg": { "src/assets/icons/wrap.svg": {
"file": "assets/wrap-BOz3U5J1.js", "file": "assets/wrap-BOz3U5J1.js",
"name": "wrap", "name": "wrap",
@@ -45,7 +69,7 @@
"isDynamicEntry": true "isDynamicEntry": true
}, },
"src/main.jsx": { "src/main.jsx": {
"file": "assets/main-0gprcJBY.js", "file": "assets/main-Ce8dEiGN.js",
"name": "main", "name": "main",
"src": "src/main.jsx", "src": "src/main.jsx",
"isEntry": true, "isEntry": true,
@@ -54,9 +78,16 @@
"src/assets/icons/box.svg", "src/assets/icons/box.svg",
"src/assets/icons/katex.svg", "src/assets/icons/katex.svg",
"src/assets/icons/spoiler.svg", "src/assets/icons/spoiler.svg",
"src/assets/icons/table-base.svg",
"src/assets/icons/table-cell.svg",
"src/assets/icons/table-columns.svg",
"src/assets/icons/table-rows.svg",
"src/assets/icons/wrap.svg", "src/assets/icons/wrap.svg",
"src/assets/icons/wrapInverted.svg", "src/assets/icons/wrapInverted.svg",
"src/assets/icons/wrapNone.svg" "src/assets/icons/wrapNone.svg"
],
"css": [
"assets/main-D9k5Klkm.css"
] ]
} }
} }
+127 -6
View File
@@ -132,7 +132,7 @@
</table> </table>
<br /><br /> <br /><br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$member, $vid, $securityKey, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("email_registration_validate", FALSE)} <em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$member, $vid, $securityKey, $newEmail, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("email_registration_validate", FALSE)}
===== =====
{$email->language->addToStack("email_validate_link", FALSE)}: {url="app=core&module=system&controller=register&do=validate&vid={$vid}&mid={$member->member_id}&security_key={$securityKey}" plain="true" base="front"} {$email->language->addToStack("email_validate_link", FALSE)}: {url="app=core&module=system&controller=register&do=validate&vid={$vid}&mid={$member->member_id}&security_key={$securityKey}" plain="true" base="front"}
@@ -1377,7 +1377,7 @@ URL: {$content->url()}
<td dir='{dir}' height='6' style='line-height: 6px'><img src="{setting="base_url"}applications/core/interface/email/spacer.png" alt='' width="1" height="1" /></td> <td dir='{dir}' height='6' style='line-height: 6px'><img src="{setting="base_url"}applications/core/interface/email/spacer.png" alt='' width="1" height="1" /></td>
</tr> </tr>
<tr> <tr>
<td dir='{dir}' align='center' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 22px;">{$member->email}</td> <td dir='{dir}' align='center' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 22px;">{$newEmail}</td>
</tr> </tr>
<tr> <tr>
<td dir='{dir}' height='20' style='line-height: 20px'><img src="{setting="base_url"}applications/core/interface/email/spacer.png" alt='' width="1" height="1" /></td> <td dir='{dir}' height='20' style='line-height: 20px'><img src="{setting="base_url"}applications/core/interface/email/spacer.png" alt='' width="1" height="1" /></td>
@@ -1393,10 +1393,10 @@ URL: {$content->url()}
</table> </table>
<br /><br /> <br /><br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$member, $vid, $securityKey, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("email_complete_email_plain", FALSE)} <em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$member, $vid, $securityKey, $newEmail, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("email_complete_email_plain", FALSE)}
===== =====
{$email->language->addToStack("email_new_email", FALSE)}: {$member->email} {$email->language->addToStack("email_new_email", FALSE)}: {$newEmail}
{$email->language->addToStack("email_confirm_address", FALSE)}: {url="app=core&module=system&controller=register&do=validate&vid={$vid}&mid={$member->member_id}&security_key={$securityKey}" seoTemplate="register" base="front" plain="true"} {$email->language->addToStack("email_confirm_address", FALSE)}: {url="app=core&module=system&controller=register&do=validate&vid={$vid}&mid={$member->member_id}&security_key={$securityKey}" seoTemplate="register" base="front" plain="true"}
===== =====
@@ -1450,7 +1450,128 @@ URL: {$content->url()}
{$email->language->addToStack("email_lost_pass_timelimit", FALSE)} {$email->language->addToStack("email_lost_pass_timelimit", FALSE)}
===== =====
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>admin_reg</template_name><template_content_html><![CDATA[ -- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>loginAfterInactivity</template_name><template_content_html><![CDATA[<br />
{$email->language->addToStack('login_after_inactivity_email_intro')}
<br />
<br />
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #f9f9f9;'>
<tr>
<td dir='{dir}'>
<table width='100%' cellpadding='0' cellspacing='0' border='0' style='background: #f9f9f9;' class='responsive_table'>
<tr class='responsive_row' height="35">
<td dir='{dir}' width='150' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;"><strong>{$email->language->addToStack('members_device')}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#f9f9f9">
<tr>
<td dir='{dir}' width="40" valign="top" class='hidePhone' style='width: 0; max-height: 0; overflow: hidden; float: left;'>
{{if $device->userAgent()->platform === 'Macintosh'}}
<img src="{resource="logos/devices/mac.png" location="interface" app="core"}" width="30" height="30" alt="{$device->userAgent()->platform}" style='border: 0; vertical-align: middle;'>
{{elseif $device->userAgent()->platform === 'Android' or $device->userAgent()->platform === 'Windows Phone'}}
<img src="{resource="logos/devices/android.png" location="interface" app="core"}" width="30" height="30" alt="{$device->userAgent()->platform}" style='border: 0; vertical-align: middle;'>
{{elseif $device->userAgent()->platform === 'iPad'}}
<img src="{resource="logos/devices/ipad.png" location="interface" app="core"}" width="30" height="30" alt="{$device->userAgent()->platform}" style='border: 0; vertical-align: middle;'>
{{elseif $device->userAgent()->platform === 'iPhone'}}
<img src="{resource="logos/devices/iphone.png" location="interface" app="core"}" width="30" height="30" alt="{$device->userAgent()->platform}" style='border: 0; vertical-align: middle;'>
{{else}}
<img src="{resource="logos/devices/pc.png" location="interface" app="core"}" width="30" height="30" alt="{$device->userAgent()->platform}" style='border: 0; vertical-align: middle;'>
{{endif}}
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">
{$device->userAgent()->platform}
</td>
</tr>
</table>
</td>
</tr>
<tr class='responsive_row' height="35">
<td dir='{dir}' width='150' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;"><strong>{$email->language->addToStack('device_table_user_agent')}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#f9f9f9">
<tr>
{{if \in_array( $device->userAgent()->browser, array( 'Android Browser', 'AppleWebKit', 'Camino', 'Chrome', 'Edge', 'Firefox', 'IEMobile', 'Midori', 'MSIE', 'Opera', 'Puffin', 'Safari', 'SamsungBrowser', 'Silk', 'UCBrowser', 'Vivaldi' ) )}}
<td dir='{dir}' width="40" valign="top" class='hidePhone' style='width: 0; max-height: 0; overflow: hidden; float: left;'>
{{$img = str_replace( ' ', '', $device->userAgent()->browser );}}
&nbsp;<img src="{resource="logos/browsers/{$img}.png" location="interface" app="core"}" width="20" height="20" alt="{$device->userAgent()->browser}" style='border: 0; vertical-align: middle;'>
</td>
{{endif}}
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">
{$device->userAgent()->browser}
</td>
</tr>
</table>
</td>
</td>
</tr>
{{if $loginMethod = $device->loginMethod() and $logo = $loginMethod->logoForDeviceInformation()}}
<tr class='responsive_row' height="35">
<td dir='{dir}' width='150' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;"><strong>{$email->language->addToStack('device_table_login_handler')}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#f9f9f9">
<tr>
<td dir='{dir}' width="40" valign="top" class='hidePhone' style='width: 0; max-height: 0; overflow: hidden; float: left;'>
&nbsp;<img src="{$logo}" width="20" height="20" alt="{$email->language->addToStack( 'login_method_' . $loginMethod->id )}" style='border: 0; vertical-align: middle;'>
</td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">
{$email->language->addToStack( 'login_method_' . $loginMethod->id )}
</td>
</tr>
</table>
</td>
</td>
</tr>
{{endif}}
{{if $location}}
<tr class='responsive_row' height="35">
<td dir='{dir}' width='150' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;"><strong>{$email->language->addToStack('device_table_location')}</strong></td>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">
{$location}
</td>
</tr>
{{endif}}
</table>
</td>
</tr>
<tr>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 10px;">
* {$email->language->addToStack('ip_geolocation_info')}
</td>
</tr>
</table>
<br />
{$email->language->addToStack('new_device_email_footer')}
<br /><br />
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #f9f9f9;'>
<tr>
<td dir='{dir}' align='center'>
{{if settings.device_management}}
<a href='{url="app=core&module=system&controller=settings&area=devices" seoTemplate="settings_devices" base="front"}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 14px; background: {setting="email_color"}; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->addToStack("new_device_email_action_1", FALSE)}</a>
{{else}}
<a href='{url="app=core&module=system&controller=settings&do=secureAccount" seoTemplate="settings_secure" base="front"}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 14px; background: {setting="email_color"}; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->addToStack("new_device_email_action_2", FALSE)}</a>
{{endif}}
</td>
</tr>
</table>
{{if \IPS\Member\PrivacyAction::canDeleteAccount() AND !$member->isDeletionPending}}
<table width='100%' cellpadding='15' cellspacing='0' border='0'>
<tr>
<td dir='{dir}' align='center' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 10px;">
{$email->language->addToStack('login_after_inactivity_delete_text', FALSE, [ 'sprintf' => [ \IPS\Settings::i()->board_name ] ])}
</td>
</tr>
</table>
{{endif}}]]></template_content_html><template_data>$member, $device, $location, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack('login_after_inactivity_email_intro')}
{$email->language->addToStack('members_device')}: {$device->userAgent()->platform}
{$email->language->addToStack('device_table_user_agent')}: {$device->userAgent()->browser}
{{if $loginMethod = $device->loginMethod() and $logo = $loginMethod->logoForDeviceInformation()}}{$email->language->addToStack('device_table_login_handler')}: {$email->language->addToStack( 'login_method_' . $loginMethod->id )}{{endif}}
{{if $location}}{$email->language->addToStack('device_table_location')}: {$location}
* {$email->language->addToStack('ip_geolocation_info')}{{endif}}
{$email->language->addToStack('new_device_email_footer')}
{{if settings.device_management}}{$email->language->addToStack("new_device_email_action_1", FALSE)}: {url="app=core&module=system&controller=settings&area=devices" seoTemplate="settings_devices" base="front" plain="true"}{{else}}{$email->language->addToStack("new_device_email_action_2", FALSE)}: {url="app=core&module=system&controller=settings&do=secureAccount" seoTemplate="settings_secure" base="front" plain="true"}{{endif}}
{{if \IPS\Member\PrivacyAction::canDeleteAccount() AND !$member->isDeletionPending}}{$email->language->addToStack('request_account_deletion')} {url="app=core&module=system&controller=settings&area=mfa" plain="true"}{{endif}}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>admin_reg</template_name><template_content_html><![CDATA[
{expression="$email->language->addToStack( 'email_admin_reg', FALSE, array( 'sprintf' => array( \IPS\Settings::i()->board_name ) ) )"} {expression="$email->language->addToStack( 'email_admin_reg', FALSE, array( 'sprintf' => array( \IPS\Settings::i()->board_name ) ) )"}
<br /> <br />
<br /> <br />
@@ -1852,7 +1973,7 @@ URL: {$content->url()}
{{endif}} {{endif}}
{{if \IPS\Settings::i()->site_social_profiles AND \IPS\Settings::i()->social_links_in_email AND $links = json_decode( \IPS\Settings::i()->site_social_profiles, TRUE ) AND \count( $links )}} {{if \IPS\Settings::i()->site_social_profiles AND \IPS\Settings::i()->social_links_in_email AND $links = json_decode( \IPS\Settings::i()->site_social_profiles, TRUE ) AND \count( $links )}}
{{$socialColors = array('x' => '#1d9bf0;', 'internal' => '#008b00;', 'deviantart' => '#16A085;', 'email' => '#444;', 'facebook' => '#0866ff;', 'linkedin' => '#007FB1;', 'reddit' => '#FF4500;', 'stumble' => '#EB4924;', 'vk' => '#507299;', 'weibo' => '#D32F2F;', 'youtube' => '#ff0000;', 'foursquare' => '#2D5BE3;', 'etsy' => '#ec5500;', 'flickr' => '#0060d4;', 'github' => '#010101;', 'instagram' => '#d12a72;', 'pinterest' => '#df0018;', 'slack' => '#2db079;', 'xing' => '#B0D400;', 'tumblr' => '#EB4924;', 'twitch' => '#772ce8;', 'discord' => '#5d6af2;');}} {{$socialColors = array('x' => '#1d9bf0;', 'internal' => '#008b00;', 'deviantart' => '#16A085;', 'email' => '#444;', 'facebook' => '#0866ff;', 'linkedin' => '#007FB1;', 'reddit' => '#FF4500;', 'stumble' => '#EB4924;', 'vk' => '#507299;', 'weibo' => '#D32F2F;', 'youtube' => '#ff0000;', 'foursquare' => '#2D5BE3;', 'etsy' => '#ec5500;', 'flickr' => '#0060d4;', 'github' => '#010101;', 'instagram' => '#d12a72;', 'pinterest' => '#df0018;', 'slack' => '#2db079;', 'xing' => '#B0D400;', 'tumblr' => '#EB4924;', 'twitch' => '#772ce8;', 'discord' => '#5d6af2;', 'bluesky' => '#0a7aff', 'tiktok' => '#000000');}}
<tr> <tr>
<td dir='{dir}' valign="top"><img src='{setting="base_url"}applications/core/interface/email/spacer.png' width='1' height='1' alt=''></td> <td dir='{dir}' valign="top"><img src='{setting="base_url"}applications/core/interface/email/spacer.png' width='1' height='1' alt=''></td>
<td dir='{dir}' valign='top' width='800' align='center' style="font-size: 0px; line-height: 18px; padding-top: 10px;"> <td dir='{dir}' valign='top' width='800' align='center' style="font-size: 0px; line-height: 18px; padding-top: 10px;">
File diff suppressed because it is too large. Load diff
+40 -8
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<language> <language>
<app key="core" version="5000036"> <app key="core" version="5000039">
<word key="__app_core" js="0">System</word> <word key="__app_core" js="0">System</word>
<word key="__indefart_personal_conversation" js="0">a personal conversation</word> <word key="__indefart_personal_conversation" js="0">a personal conversation</word>
<word key="__indefart_personal_conversation_message" js="0">a message in a personal conversation</word> <word key="__indefart_personal_conversation_message" js="0">a message in a personal conversation</word>
@@ -233,7 +233,7 @@
<word key="q_and_a_incorrect" js="0">Your answer to the challenge question was not valid. Please try again.</word> <word key="q_and_a_incorrect" js="0">Your answer to the challenge question was not valid. Please try again.</word>
<word key="spam_denied_account" js="0">You are not permitted to register a user account with this site.</word> <word key="spam_denied_account" js="0">You are not permitted to register a user account with this site.</word>
<word key="reg_confirm_email" js="0">Please confirm your email</word> <word key="reg_confirm_email" js="0">Please confirm your email</word>
<word key="reg_confirm_email_desc" js="0"><![CDATA[We sent an email to <strong>%s</strong>. It contains a link you need to click in order to confirm your account.]]></word> <word key="reg_confirm_email_desc" js="0">We sent an email to your current email address. It contains a link you need to click in order to confirm your account.</word>
<word key="reg_confirm_email_must" js="0">You will need to do this before you will be able to access our site as a registered member.</word> <word key="reg_confirm_email_must" js="0">You will need to do this before you will be able to access our site as a registered member.</word>
<word key="reg_resend_email" js="0">Resend Confirmation Email</word> <word key="reg_resend_email" js="0">Resend Confirmation Email</word>
<word key="reg_email_resent" js="0">Confirmation email resent</word> <word key="reg_email_resent" js="0">Confirmation email resent</word>
@@ -2558,6 +2558,8 @@
<word key="siteprofilelink_discord" js="0">Discord</word> <word key="siteprofilelink_discord" js="0">Discord</word>
<word key="siteprofilelink_twitch" js="0">Twitch</word> <word key="siteprofilelink_twitch" js="0">Twitch</word>
<word key="siteprofilelink_x" js="0">X</word> <word key="siteprofilelink_x" js="0">X</word>
<word key="siteprofilelink_bluesky" js="0">Bluesky</word>
<word key="siteprofilelink_tiktok" js="0">TikTok</word>
<word key="site_social_profiles" js="0">Social Profiles</word> <word key="site_social_profiles" js="0">Social Profiles</word>
<word key="site_social_profiles_desc" js="0">Displays social media icons in the footer of your site, linking to the entered social profile URLs.</word> <word key="site_social_profiles_desc" js="0">Displays social media icons in the footer of your site, linking to the entered social profile URLs.</word>
<word key="site_twitter_id" js="0">Website X ID</word> <word key="site_twitter_id" js="0">Website X ID</word>
@@ -3154,7 +3156,7 @@
<word key="language_export_version" js="0">Version</word> <word key="language_export_version" js="0">Version</word>
<word key="language_export_long_version" js="0">Version ID</word> <word key="language_export_long_version" js="0">Version ID</word>
<word key="langauge_export_button" js="0">Download</word> <word key="langauge_export_button" js="0">Download</word>
<word key="enhancements_ips" js="0">Invision Community Enhancements</word> <word key="enhancements_ips" js="0">Invision Community Integrations</word>
<word key="enhancements_thirdparty" js="0">All Integrations</word> <word key="enhancements_thirdparty" js="0">All Integrations</word>
<word key="enhancements_configure" js="0">Configure Service</word> <word key="enhancements_configure" js="0">Configure Service</word>
<word key="enhancements__core_SpamMonitoring" js="0">Spam Defense</word> <word key="enhancements__core_SpamMonitoring" js="0">Spam Defense</word>
@@ -3286,7 +3288,7 @@
<word key="spm_post_days_suffix" js="0">days before</word> <word key="spm_post_days_suffix" js="0">days before</word>
<word key="spamprevention_captcha" js="0">CAPTCHA</word> <word key="spamprevention_captcha" js="0">CAPTCHA</word>
<word key="bot_antispam_type" js="0">CAPTCHA Type</word> <word key="bot_antispam_type" js="0">CAPTCHA Type</word>
<word key="bot_antispam_type_desc" js="0"><![CDATA[Computer programs known as <em>spam bots</em> may attempt to register on your site to post unwanted content. CAPTCHA is a test designed to be simple for humans to answer correctly, but difficult for computer programs. The selected CAPTCHA type will display on the registration form of your site and will need to be completed successfully in order to register an account.]]></word> <word key="bot_antispam_type_desc" js="0"><![CDATA[Computer programs known as <em>spam bots</em> may attempt to register on your site to post unwanted content. CAPTCHA is a test designed to be simple for humans to answer correctly, but difficult for computer programs. The selected CAPTCHA type will display on the registration form of your site and will need to be completed successfully in order to register an account. A CAPTCHA type must be selected to use the Post Before Registering feature.]]></word>
<word key="captcha_type_none" js="0">None</word> <word key="captcha_type_none" js="0">None</word>
<word key="captcha_type_invisible" js="0">Invisible reCAPTCHA</word> <word key="captcha_type_invisible" js="0">Invisible reCAPTCHA</word>
<word key="captcha_type_invisible_desc" js="0"><![CDATA[Users do not need to do anything. The system intelligently detects if the user is human in the background. <a href='{external.captcha_recaptcha_invisible}' target='_blank' rel='noopener'>Learn more</a>]]></word> <word key="captcha_type_invisible_desc" js="0"><![CDATA[Users do not need to do anything. The system intelligently detects if the user is human in the background. <a href='{external.captcha_recaptcha_invisible}' target='_blank' rel='noopener'>Learn more</a>]]></word>
@@ -3300,8 +3302,6 @@
<word key="recaptcha2_private_key_desc" js="0"><![CDATA[You do not need to change the default key unless you specifically want to use <a href='{external.captcha_recaptcha2_keys}' target='_blank' rel='noopener'>your own reCAPTCHA account</a> which will allow you to change the security preference settings.]]></word> <word key="recaptcha2_private_key_desc" js="0"><![CDATA[You do not need to change the default key unless you specifically want to use <a href='{external.captcha_recaptcha2_keys}' target='_blank' rel='noopener'>your own reCAPTCHA account</a> which will allow you to change the security preference settings.]]></word>
<word key="keycaptcha_privatekey" js="0">keyCAPTCHA Key</word> <word key="keycaptcha_privatekey" js="0">keyCAPTCHA Key</word>
<word key="keycaptcha_privatekey_desc" js="0"><![CDATA[In order to use keyCAPTCHA, you must <a href='{external.captcha_keykeptcha_signup}' target='_blank' rel='noopener'>create an account</a> and provide your key.]]></word> <word key="keycaptcha_privatekey_desc" js="0"><![CDATA[In order to use keyCAPTCHA, you must <a href='{external.captcha_keykeptcha_signup}' target='_blank' rel='noopener'>create an account</a> and provide your key.]]></word>
<word key="guest_captcha" js="0">Guests must complete CAPTCHA in order to post?</word>
<word key="guest_captcha_desc" js="0">If you allow guests to post, it is recommended you enable this setting.</word>
<word key="guest_captcha_search_target" js="0">Guest posts</word> <word key="guest_captcha_search_target" js="0">Guest posts</word>
<word key="acplogs__spamprev_settings" js="0">Edited spam prevention settings</word> <word key="acplogs__spamprev_settings" js="0">Edited spam prevention settings</word>
<word key="spamservice_inter_header" js="0">Spam Defense</word> <word key="spamservice_inter_header" js="0">Spam Defense</word>
@@ -4140,6 +4140,7 @@
<word key="lin_text" js="0">Share on LinkedIn</word> <word key="lin_text" js="0">Share on LinkedIn</word>
<word key="pinterest_text" js="0">Share on Pinterest</word> <word key="pinterest_text" js="0">Share on Pinterest</word>
<word key="reddit_text" js="0">Share on Reddit</word> <word key="reddit_text" js="0">Share on Reddit</word>
<word key="bluesky_text" js="0">Share on Bluesky</word>
<word key="x_text" js="0">Share on X</word> <word key="x_text" js="0">Share on X</word>
<word key="x_hashtag" js="0">Default hashtag</word> <word key="x_hashtag" js="0">Default hashtag</word>
<word key="x_hashtag_desc" js="0">If this is left blank no hashtag will automatically be applied to the shared content, however users can still manually apply one.</word> <word key="x_hashtag_desc" js="0">If this is left blank no hashtag will automatically be applied to the shared content, however users can still manually apply one.</word>
@@ -4171,6 +4172,7 @@
<word key="post_before_registering_on_desc" js="0"><![CDATA[Guests will see the ability to submit content and then will immediately be prompted to register an account before the content is actually submitted and viewable. This is useful for encouraging guests to register.<br>Guest users will have up to one week to complete their registration before their content will be permanently removed. If the guest user does not complete their registration immediately, they will be sent a reminder email shortly after making the post.]]></word> <word key="post_before_registering_on_desc" js="0"><![CDATA[Guests will see the ability to submit content and then will immediately be prompted to register an account before the content is actually submitted and viewable. This is useful for encouraging guests to register.<br>Guest users will have up to one week to complete their registration before their content will be permanently removed. If the guest user does not complete their registration immediately, they will be sent a reminder email shortly after making the post.]]></word>
<word key="post_before_registering_off" js="0">Disabled</word> <word key="post_before_registering_off" js="0">Disabled</word>
<word key="post_before_registering_off_desc" js="0">Guests will only be see the ability to post if the Guests group specifically has permission to do so in that area.</word> <word key="post_before_registering_off_desc" js="0">Guests will only be see the ability to post if the Guests group specifically has permission to do so in that area.</word>
<word key="post_before_registering_captcha_req" js="0"><![CDATA[<div class='ipsMessage ipsMessage_info'><a href='{internal.app=core&module=moderation&controller=spam&searchResult=bot_antispam_type}'>Enabling a CAPTCHA</a> is required to use this feature. 'Guests must complete CAPTCHA' must also be enabled.</div>]]></word>
<word key="max_title_length" js="0">Maximum title length</word> <word key="max_title_length" js="0">Maximum title length</word>
<word key="max_title_length_suffix" js="0">characters</word> <word key="max_title_length_suffix" js="0">characters</word>
<word key="attachments" js="0">Attachments</word> <word key="attachments" js="0">Attachments</word>
@@ -4232,6 +4234,7 @@
<word key="editor_r__font_color" js="0">Can change Font Color</word> <word key="editor_r__font_color" js="0">Can change Font Color</word>
<word key="editor_r__giphy" js="0">Can use Giphy</word> <word key="editor_r__giphy" js="0">Can use Giphy</word>
<word key="editor_r__dependency" js="0">This feature also requires &quot;%s&quot;</word> <word key="editor_r__dependency" js="0">This feature also requires &quot;%s&quot;</word>
<word key="editor_r__tables" js="0">Can use tables?</word>
<word key="editor_extensions" js="0">Third Party Editor Extensions</word> <word key="editor_extensions" js="0">Third Party Editor Extensions</word>
<word key="dependent_less_strict_than_dependency" js="0">This restriction cannot be less strict than its dependency.</word> <word key="dependent_less_strict_than_dependency" js="0">This restriction cannot be less strict than its dependency.</word>
<word key="g_editor_mode_default" js="0">Default (recommended)</word> <word key="g_editor_mode_default" js="0">Default (recommended)</word>
@@ -8549,7 +8552,7 @@ In PHP8, altering overloaded method signatures within a subclass results in a fa
<word key="login_handler_Live" js="0">Microsoft</word> <word key="login_handler_Live" js="0">Microsoft</word>
<word key="login_handler_Ldap" js="0">LDAP</word> <word key="login_handler_Ldap" js="0">LDAP</word>
<word key="login_handler_Facebook" js="0">Facebook</word> <word key="login_handler_Facebook" js="0">Facebook</word>
<word key="login_handler_Twitter" js="0">X (formerly Twitter)</word> <word key="login_handler_Twitter" js="0">X</word>
<word key="login_handler_Convert" js="0">Converter</word> <word key="login_handler_Convert" js="0">Converter</word>
<word key="login_handler_custom_oauth" js="0">Other OAuth 2.0</word> <word key="login_handler_custom_oauth" js="0">Other OAuth 2.0</word>
<word key="login_app_help" js="0">Click here for instructions on how to set up %s login.</word> <word key="login_app_help" js="0">Click here for instructions on how to set up %s login.</word>
@@ -8817,6 +8820,10 @@ In PHP8, altering overloaded method signatures within a subclass results in a fa
<word key="ipb_bruteforce_unlock" js="0">Automatically unlock locked accounts when failed login count is reset?</word> <word key="ipb_bruteforce_unlock" js="0">Automatically unlock locked accounts when failed login count is reset?</word>
<word key="ipb_bruteforce_unlock_desc" js="0">If disabled, you will need to manually unlock locked accounts in the AdminCP.</word> <word key="ipb_bruteforce_unlock_desc" js="0">If disabled, you will need to manually unlock locked accounts in the AdminCP.</word>
<word key="new_device_email" js="0">Send an email when a user logs in from a new device?</word> <word key="new_device_email" js="0">Send an email when a user logs in from a new device?</word>
<word key="login_after_inactivity_notification" js="0">Send an email when a user signs into a dormant account?</word>
<word key="mailsub__core_loginAfterInactivity" js="0">We've Missed You! Your Account is Active Again</word>
<word key="login_after_inactivity_email_intro" js="0">Welcome back! We've noticed your account has been inactive for a while, and we just wanted to make sure it's really you.</word>
<word key="login_after_inactivity_delete_text" js="0"><![CDATA[If you no longer require an account at %s, you can <a href="{internal.app=core&module=system&controller=settings&area=mfa}">request account deletion</a>.]]></word>
<word key="login_err_no_account" js="0">The email or password was incorrect. Please try again (make sure your caps lock is off).</word> <word key="login_err_no_account" js="0">The email or password was incorrect. Please try again (make sure your caps lock is off).</word>
<word key="login_err_bad_password" js="0">The email or password was incorrect. Please try again (make sure your caps lock is off).</word> <word key="login_err_bad_password" js="0">The email or password was incorrect. Please try again (make sure your caps lock is off).</word>
<word key="login_bad_username_or_password" js="0">The email or password was incorrect. Please try again (make sure your caps lock is off).</word> <word key="login_bad_username_or_password" js="0">The email or password was incorrect. Please try again (make sure your caps lock is off).</word>
@@ -9185,6 +9192,7 @@ In PHP8, altering overloaded method signatures within a subclass results in a fa
<word key="club_remove_member_confirm" js="0">They will not be able to join the club again unless invited by a Leader.</word> <word key="club_remove_member_confirm" js="0">They will not be able to join the club again unless invited by a Leader.</word>
<word key="club_remove_invitation" js="0">Revoke Invitation</word> <word key="club_remove_invitation" js="0">Revoke Invitation</word>
<word key="club_remove_invitation_confirm" js="0">They may have already seen the notification inviting them.</word> <word key="club_remove_invitation_confirm" js="0">They may have already seen the notification inviting them.</word>
<word key="club_resend_invitation" js="0">Resend Invitation</word>
<word key="club_remove_accepted_confirm" js="0">They may have already seen the notification accepting their request to join.</word> <word key="club_remove_accepted_confirm" js="0">They may have already seen the notification accepting their request to join.</word>
<word key="club_make_leader" js="0">Make Leader</word> <word key="club_make_leader" js="0">Make Leader</word>
<word key="club_make_leader_confirm" js="0">Leaders can moderate content and manage members in the group, including making other members Leaders.</word> <word key="club_make_leader_confirm" js="0">Leaders can moderate content and manage members in the group, including making other members Leaders.</word>
@@ -10822,7 +10830,12 @@ In PHP8, altering overloaded method signatures within a subclass results in a fa
<word key="log_member" js="0">Member</word> <word key="log_member" js="0">Member</word>
<word key="log_app" js="0">Application</word> <word key="log_app" js="0">Application</word>
<word key="history_removed_from_club" js="0"><![CDATA[Removed from <strong>%s</strong> %s.]]></word> <word key="history_removed_from_club" js="0"><![CDATA[Removed from <strong>%s</strong> %s.]]></word>
<word key="history_added_to_club" js="0"><![CDATA[Invited to <strong>%s</strong> %s]]></word> <word key="history_added_to_club" js="0"><![CDATA[Joined <strong>%s</strong>]]></word>
<word key="history_invited_to_club" js="0"><![CDATA[Invited to <strong>%s</strong> %s]]></word>
<word key="history_invite_club_canceled" js="0"><![CDATA[Invitation to <strong>%s</strong> revoked %s]]></word>
<word key="history_left_club" js="0"><![CDATA[Left <strong>%s</strong>]]></word>
<word key="history_request_club" js="0"><![CDATA[Requested to join <strong>%s</strong>]]></word>
<word key="history_decline_club" js="0"><![CDATA[Declined invitation to <strong>%s</strong>]]></word>
<word key="log_type_title_club_membership" js="0">Club Memberships</word> <word key="log_type_title_club_membership" js="0">Club Memberships</word>
<word key="log_type_title_badges" js="0">Badges</word> <word key="log_type_title_badges" js="0">Badges</word>
<word key="log_type_title_points" js="0">Achievement Points</word> <word key="log_type_title_points" js="0">Achievement Points</word>
@@ -12103,6 +12116,25 @@ In PHP8, altering overloaded method signatures within a subclass results in a fa
<word key="editor_tool--float-left" js="1">Left Wrap</word> <word key="editor_tool--float-left" js="1">Left Wrap</word>
<word key="editor_tool--float-right" js="1">Right Wrap</word> <word key="editor_tool--float-right" js="1">Right Wrap</word>
<word key="editor_tool--float-regular" js="1">Inline</word> <word key="editor_tool--float-regular" js="1">Inline</word>
<word key="editor_tool--table" js="1">Table</word>
<word key="editor_tool--tableOptions" js="1">Configure Table</word>
<word key="editor_tool--globalTableOptions" js="1">Table Actions</word>
<word key="editor_tool--tableRowOptions" js="1">Row Actions</word>
<word key="editor_tool--tableCellOptions" js="1">Cell Actions</word>
<word key="editor_tool--tableColumnOptions" js="1">Column Actions</word>
<word key="editor_tool--table-deleteTable" js="1">Delete Table</word>
<word key="editor_tool--table-deleteTable--confirm" js="1">Are you sure you want to delete this table?</word>
<word key="editor_tool--table-addRowBefore" js="1">Insert Row Before</word>
<word key="editor_tool--table-addRowAfter" js="1">Insert Row After</word>
<word key="editor_tool--table-deleteRow" js="1">Delete Row</word>
<word key="editor_tool--table-toggleHeaderRow" js="1">Toggle Header Row</word>
<word key="editor_tool--table-addColumnBefore" js="1">Insert Column Before</word>
<word key="editor_tool--table-addColumnAfter" js="1">Insert Column After</word>
<word key="editor_tool--table-deleteColumn" js="1">Delete Column</word>
<word key="editor_tool--table-toggleHeaderColumn" js="1">Toggle Header Column</word>
<word key="editor_tool--table-splitCell" js="1">Split Cell</word>
<word key="editor_tool--table-mergeCells" js="1">Merge Cells</word>
<word key="editor_tool--table-toggleHeaderCell" js="1">Toggle Header Cell</word>
<word key="editor_code--plaintext" js="1">Plain Text</word> <word key="editor_code--plaintext" js="1">Plain Text</word>
<word key="editor_code--c" js="1">C</word> <word key="editor_code--c" js="1">C</word>
<word key="editor_code--xml" js="1">HTML/XML</word> <word key="editor_code--xml" js="1">HTML/XML</word>
+79 -110
View File
@@ -3002,7 +3002,6 @@
"vid": { "vid": {
"allow_null": false, "allow_null": false,
"auto_increment": false, "auto_increment": false,
"binary": false,
"comment": "", "comment": "",
"decimals": null, "decimals": null,
"default": "", "default": "",
@@ -3010,97 +3009,83 @@
"name": "vid", "name": "vid",
"type": "VARCHAR", "type": "VARCHAR",
"unsigned": false, "unsigned": false,
"values": [], "values": []
"zerofill": false
}, },
"member_id": { "member_id": {
"allow_null": false, "allow_null": false,
"auto_increment": false, "auto_increment": false,
"binary": false,
"comment": "", "comment": "",
"decimals": null, "decimals": null,
"default": "0", "default": "0",
"length": 20, "length": 0,
"name": "member_id", "name": "member_id",
"type": "BIGINT", "type": "BIGINT",
"unsigned": true, "unsigned": true,
"values": [], "values": []
"zerofill": false
}, },
"entry_date": { "entry_date": {
"allow_null": false, "allow_null": false,
"auto_increment": false, "auto_increment": false,
"binary": false,
"comment": "", "comment": "",
"decimals": null, "decimals": null,
"default": "0", "default": "0",
"length": 10, "length": 0,
"name": "entry_date", "name": "entry_date",
"type": "INT", "type": "INT",
"unsigned": false, "unsigned": false,
"values": [], "values": []
"zerofill": false
}, },
"coppa_user": { "coppa_user": {
"allow_null": false, "allow_null": false,
"auto_increment": false, "auto_increment": false,
"binary": false,
"comment": "", "comment": "",
"decimals": null, "decimals": null,
"default": "0", "default": "0",
"length": 1, "length": 0,
"name": "coppa_user", "name": "coppa_user",
"type": "TINYINT", "type": "TINYINT",
"unsigned": false, "unsigned": false,
"values": [], "values": []
"zerofill": false
}, },
"lost_pass": { "lost_pass": {
"allow_null": false, "allow_null": false,
"auto_increment": false, "auto_increment": false,
"binary": false,
"comment": "", "comment": "",
"decimals": null, "decimals": null,
"default": "0", "default": "0",
"length": 1, "length": 0,
"name": "lost_pass", "name": "lost_pass",
"type": "TINYINT", "type": "TINYINT",
"unsigned": false, "unsigned": false,
"values": [], "values": []
"zerofill": false
}, },
"new_reg": { "new_reg": {
"allow_null": false, "allow_null": false,
"auto_increment": false, "auto_increment": false,
"binary": false,
"comment": "", "comment": "",
"decimals": null, "decimals": null,
"default": "0", "default": "0",
"length": 1, "length": 0,
"name": "new_reg", "name": "new_reg",
"type": "TINYINT", "type": "TINYINT",
"unsigned": false, "unsigned": false,
"values": [], "values": []
"zerofill": false
}, },
"email_chg": { "email_chg": {
"allow_null": false, "allow_null": false,
"auto_increment": false, "auto_increment": false,
"binary": false,
"comment": "", "comment": "",
"decimals": null, "decimals": null,
"default": "0", "default": "0",
"length": 1, "length": 0,
"name": "email_chg", "name": "email_chg",
"type": "TINYINT", "type": "TINYINT",
"unsigned": false, "unsigned": false,
"values": [], "values": []
"zerofill": false
}, },
"ip_address": { "ip_address": {
"allow_null": false, "allow_null": false,
"auto_increment": false, "auto_increment": false,
"binary": false,
"comment": "", "comment": "",
"decimals": null, "decimals": null,
"default": "0", "default": "0",
@@ -3108,132 +3093,115 @@
"name": "ip_address", "name": "ip_address",
"type": "VARCHAR", "type": "VARCHAR",
"unsigned": false, "unsigned": false,
"values": [], "values": []
"zerofill": false
}, },
"user_verified": { "user_verified": {
"allow_null": false, "allow_null": false,
"auto_increment": false, "auto_increment": false,
"binary": false,
"comment": "", "comment": "",
"decimals": null, "decimals": null,
"default": "0", "default": "0",
"length": 1, "length": 0,
"name": "user_verified", "name": "user_verified",
"type": "TINYINT", "type": "TINYINT",
"unsigned": false, "unsigned": false,
"values": [], "values": []
"zerofill": false
}, },
"prev_email": { "new_email": {
"allow_null": false, "name": "new_email",
"auto_increment": false,
"binary": false,
"comment": "",
"decimals": null,
"default": "0",
"length": 150,
"name": "prev_email",
"type": "VARCHAR", "type": "VARCHAR",
"unsigned": false, "length": 150,
"decimals": null,
"values": [], "values": [],
"zerofill": false "allow_null": false,
"default": "0",
"comment": "",
"unsigned": false,
"auto_increment": false
}, },
"spam_flag": { "spam_flag": {
"allow_null": false, "allow_null": false,
"auto_increment": false, "auto_increment": false,
"binary": false,
"comment": "", "comment": "",
"decimals": null, "decimals": null,
"default": "0", "default": "0",
"length": 4, "length": 0,
"name": "spam_flag", "name": "spam_flag",
"type": "TINYINT", "type": "TINYINT",
"unsigned": false, "unsigned": false,
"values": [], "values": []
"zerofill": false
}, },
"email_sent": { "email_sent": {
"allow_null": true,
"auto_increment": false,
"comment": "Timestamp of when the confirmation email was last sent",
"decimals": null,
"default": null,
"length": 0,
"name": "email_sent", "name": "email_sent",
"type": "INT", "type": "INT",
"length": 10,
"decimals": null,
"values": null,
"allow_null": true,
"default": null,
"comment": "Timestamp of when the confirmation email was last sent",
"unsigned": false, "unsigned": false,
"zerofill": false, "values": []
"auto_increment": false,
"binary": false
}, },
"forgot_security": { "forgot_security": {
"allow_null": false,
"auto_increment": false,
"comment": "",
"decimals": null,
"default": "0",
"length": 0,
"name": "forgot_security", "name": "forgot_security",
"type": "TINYINT", "type": "TINYINT",
"length": 1,
"decimals": null,
"values": null,
"allow_null": false,
"default": "0",
"comment": "",
"unsigned": true, "unsigned": true,
"zerofill": false, "values": []
"auto_increment": false,
"binary": false
}, },
"do_not_delete": { "do_not_delete": {
"allow_null": false,
"auto_increment": false,
"comment": "A flag to specify that the account should not be deleted in the normal cleanup of unvalidated accounts. Used for accounts created in Commerce checkout.",
"decimals": null,
"default": "0",
"length": 0,
"name": "do_not_delete", "name": "do_not_delete",
"type": "TINYINT", "type": "TINYINT",
"length": 1,
"decimals": null,
"values": null,
"allow_null": false,
"default": "0",
"comment": "A flag to specify that the account should not be deleted in the normal cleanup of unvalidated accounts. Used for accounts created in Commerce checkout.",
"unsigned": true, "unsigned": true,
"zerofill": false, "values": []
"auto_increment": false,
"binary": false
}, },
"reg_cancelled": { "reg_cancelled": {
"allow_null": false,
"auto_increment": false,
"comment": "Flag to see if the user likes soup. Kidding, timestamp of when they have cancelled their reg.",
"decimals": null,
"default": "0",
"length": 0,
"name": "reg_cancelled", "name": "reg_cancelled",
"type": "INT", "type": "INT",
"length": 10,
"decimals": null,
"values": null,
"allow_null": false,
"default": "0",
"comment": "Flag to see if the user likes soup. Kidding, timestamp of when they have cancelled their reg.",
"unsigned": true, "unsigned": true,
"zerofill": false, "values": []
"auto_increment": false,
"binary": false
}, },
"ref": { "ref": {
"allow_null": true,
"auto_increment": false,
"comment": "URL to redirect the user to after validation is complete",
"decimals": null,
"default": null,
"length": 0,
"name": "ref", "name": "ref",
"type": "TEXT", "type": "TEXT",
"length": null,
"decimals": null,
"values": null,
"allow_null": true,
"default": null,
"comment": "URL to redirect the user to after validation is complete",
"unsigned": false, "unsigned": false,
"zerofill": false, "values": []
"auto_increment": false,
"binary": false
}, },
"security_key": { "security_key": {
"allow_null": true,
"auto_increment": false,
"comment": "",
"decimals": null,
"default": null,
"length": 0,
"name": "security_key", "name": "security_key",
"type": "TEXT", "type": "TEXT",
"length": null,
"decimals": null,
"values": null,
"allow_null": true,
"default": null,
"comment": "",
"unsigned": false, "unsigned": false,
"auto_increment": false "values": []
} }
}, },
"indexes": { "indexes": {
@@ -3270,13 +3238,13 @@
"lost_pass": { "lost_pass": {
"type": "key", "type": "key",
"name": "lost_pass", "name": "lost_pass",
"columns": [
"lost_pass",
"entry_date"
],
"length": [ "length": [
null, null,
null null
],
"columns": [
"lost_pass",
"entry_date"
] ]
}, },
"coppa_user": { "coppa_user": {
@@ -3312,16 +3280,17 @@
"user_verified": { "user_verified": {
"type": "key", "type": "key",
"name": "user_verified", "name": "user_verified",
"columns": [
"user_verified",
"entry_date"
],
"length": [ "length": [
null, null,
null null
],
"columns": [
"user_verified",
"entry_date"
] ]
} }
} },
"collation": "utf8mb4_unicode_ci"
}, },
"core_sys_lang": { "core_sys_lang": {
"name": "core_sys_lang", "name": "core_sys_lang",
+5 -5
View File
@@ -804,11 +804,6 @@
"default": "global", "default": "global",
"report": "full" "report": "full"
}, },
{
"key": "guest_captcha",
"default": "1",
"report": "full"
},
{ {
"key": "guest_terms_bar", "key": "guest_terms_bar",
"default": "", "default": "",
@@ -1019,6 +1014,11 @@
"default": "1", "default": "1",
"report": "full" "report": "full"
}, },
{
"key": "login_after_inactivity_notification",
"default": "1",
"report": "full"
},
{ {
"key": "mail_method", "key": "mail_method",
"default": "php", "default": "php",
+183 -63
View File
@@ -2504,6 +2504,7 @@
<li class="ipsMenu_item" ><a href="{$club->url()->setQueryString( array( 'do' => 'removeMember', 'member' => $member['core_members']['member_id'] ) )->csrf()}" data-confirm data-confirmSubMessage="{lang="club_remove_member_confirm"}">{lang="club_remove_member"}</a></li> <li class="ipsMenu_item" ><a href="{$club->url()->setQueryString( array( 'do' => 'removeMember', 'member' => $member['core_members']['member_id'] ) )->csrf()}" data-confirm data-confirmSubMessage="{lang="club_remove_member_confirm"}">{lang="club_remove_member"}</a></li>
{{else}} {{else}}
<li class="ipsMenu_item" ><a href="{$club->url()->setQueryString( array( 'do' => 'removeMember', 'member' => $member['core_members']['member_id'] ) )->csrf()}" data-confirm data-confirmSubMessage="{{if $member['core_clubs_memberships']['status'] === \IPS\Member\Club::STATUS_INVITED}}{lang="club_remove_accepted_confirm"}{{else}}{lang="club_remove_invitation_confirm"}{{endif}}">{lang="club_remove_invitation"}</a></li> <li class="ipsMenu_item" ><a href="{$club->url()->setQueryString( array( 'do' => 'removeMember', 'member' => $member['core_members']['member_id'] ) )->csrf()}" data-confirm data-confirmSubMessage="{{if $member['core_clubs_memberships']['status'] === \IPS\Member\Club::STATUS_INVITED}}{lang="club_remove_accepted_confirm"}{{else}}{lang="club_remove_invitation_confirm"}{{endif}}">{lang="club_remove_invitation"}</a></li>
<li class="ipsMenu_item"><a href="{$club->url()->setQueryString( array( 'do' => 'resendInvite', 'member' => $member['core_members']['member_id'] ) )->csrf()}" data-confirm>{lang="club_resend_invitation"}</a></li>
{{endif}} {{endif}}
{{endif}} {{endif}}
</ul> </ul>
@@ -6646,21 +6647,25 @@
</div> </div>
{{endif}} {{endif}}
{{elseif $modQueued}} {{elseif $modQueued}}
<div class="ipsMessage ipsMessage--warning"> <div class="ipsMessage ipsMessage--warning i-margin-bottom_2">
<h4 class='i-font-weight_600'>{lang="mod_queue_message"}</h4> <div class="i-flex i-justify-content_space-between i-align-items_center i-flex-wrap_wrap i-gap_1">
{{$warnings = member.warnings( 1, NULL, 'mq' );}} <div class="i-flex_91">
{{if \count( $warnings ) and member.mod_posts > time()}} <h4 class='i-font-weight_600'>{lang="mod_queue_message"}</h4>
<p class="i-color_soft"> {{$warnings = member.warnings( 1, NULL, 'mq' );}}
{{if \count( $warnings )}} {{if \count( $warnings ) and member.mod_posts > time()}}
{lang="this_will_be_moderated"} <p class="i-color_soft">
{{if \count( $warnings )}}
{lang="this_will_be_moderated"}
{{endif}}
{lang="restriction_ends" sprintf="\IPS\DateTime::ts( \IPS\Member::loggedIn()->mod_posts )->relative()"}
</p>
{{endif}} {{endif}}
{lang="restriction_ends" sprintf="\IPS\DateTime::ts( \IPS\Member::loggedIn()->mod_posts )->relative()"} </div>
</p> <div class='ipsButtons'>
{{endif}} {{foreach $warnings as $idx => $warning}}
<div class='ipsButtons'> <a href="{$warning->url()}" class='ipsButton ipsButton--small ipsButton--inherit' data-ipsDialog data-ipsDialog-size='narrow'>{lang="view_warning_details"}</a>
{{foreach $warnings as $idx => $warning}} {{endforeach}}
<a href="{$warning->url()}" class='ipsButton ipsButton--small ipsButton--inherit' data-ipsDialog data-ipsDialog-size='narrow'>{lang="view_warning_details"}</a> </div>
{{endforeach}}
</div> </div>
</div> </div>
{{endif}}]]></template> {{endif}}]]></template>
@@ -7060,20 +7065,18 @@
{{$i++;}} {{$i++;}}
<li class='ipsField_stackItem' data-role="stackItem"> <li class='ipsField_stackItem' data-role="stackItem">
<input type="hidden" name="{$name}[{$id}]" value="{$val}"> <input type="hidden" name="{$name}[{$id}]" value="{$val}">
<div class="i-cursor_move" data-action='stackDrag'> <span class='ipsField_stackDrag ipsDrag' data-action='stackDrag'>
<span class="ipsField_stackDrag ipsDrag ipsJS_show"> <i class='fa-solid fa-bars ipsDrag_dragHandle'></i>
<i class='fa-solid fa-bars ipsDrag_dragHandle'></i> </span>
</span> <div data-ipsStack-wrapper>
<div data-ipsStack-wrapper class="i-padding_2"> {{if $options['checkboxes']}}
{{if $options['checkboxes']}} <input type="checkbox" name="{$name}_checkboxes[{$id}]" value="1" {{if $val}}checked{{endif}} id="elCheckbox_{$name}_{$id}" class="ipsInput ipsInput--toggle">
<input type="checkbox" name="{$name}_checkboxes[{$id}]" value="1" {{if $val}}checked{{endif}} id="elCheckbox_{$name}_{$id}" class="ipsInput ipsInput--toggle"> <label for="elCheckbox_{$name}_{$id}">
<label for="elCheckbox_{$name}_{$id}"> {lang="{$options['checkboxes']}{$id}"}
{lang="{$options['checkboxes']}{$id}"} </label>
</label> {{else}}
{{else}} <div data-action='stackDrag'>{$val}</div>
{$val} {{endif}}
{{endif}}
</div>
</div> </div>
</li> </li>
{{endforeach}} {{endforeach}}
@@ -7352,12 +7355,14 @@
{{endforeach}} {{endforeach}}
{{else}} {{else}}
{{if $textarea}} {{if $textarea}}
{{foreach $languages as $lang}} <div class="ipsFieldRow__languages">
<span class="{$lang->_icon}"></span> {$lang->_title} {{if $required and $lang->default}}<span class="ipsFieldRow__required">{lang="required"}</span>{{endif}}<br> {{foreach $languages as $lang}}
<br> <div>
<textarea name="{$name}[{$lang->id}]" aria-label='{$lang->title}' class='ipsInput ipsInput--text {{if !$required || !$lang->default}} ipsFieldRow_errorExclude{{endif}}'>{{if isset( $values[ $lang->id ])}}{$values[ $lang->id ]}{{endif}}</textarea><br> <div class="ipsFieldRow__language"><span class="{$lang->_icon}"></span> {$lang->_title} {{if $required and $lang->default}}<span class="ipsFieldRow__required">{lang="required"}</span>{{endif}}</div>
<br> <textarea name="{$name}[{$lang->id}]" aria-label='{$lang->title}' class='ipsInput ipsInput--text {{if !$required || !$lang->default}} ipsFieldRow_errorExclude{{endif}}'>{{if isset( $values[ $lang->id ])}}{$values[ $lang->id ]}{{endif}}</textarea>
{{endforeach}} </div>
{{endforeach}}
</div>
{{else}} {{else}}
<ul class='ipsForm ipsForm--translatable'> <ul class='ipsForm ipsForm--translatable'>
{{foreach $languages as $lang}} {{foreach $languages as $lang}}
@@ -8235,8 +8240,8 @@
</li> </li>
{{endforeach}} {{endforeach}}
</ul>]]></template> </ul>]]></template>
<template template_group="global" template_name="cachingLog" template_data="$log" template_location="front" template_app="core"><![CDATA[<div id="elCachingLog"> <template template_group="global" template_name="cachingLog" template_data="$cacheLog" template_location="front" template_app="core"><![CDATA[<div id="elCachingLog">
{{foreach $log as $i => $log}} {{foreach $cacheLog as $i => $log}}
{{$i = \str_replace( '.', '_', $i);}} {{$i = \str_replace( '.', '_', $i);}}
<div class="cCachingLog" data-ipsDialog data-ipsDialog-content="#elCachingLog{$i}_menu"> <div class="cCachingLog" data-ipsDialog data-ipsDialog-content="#elCachingLog{$i}_menu">
{{if $log[0] === 'get'}} {{if $log[0] === 'get'}}
@@ -8252,6 +8257,9 @@
<span class="cCachingLogMethod cCachingLogMethod_delete">delete</span> <span class="cCachingLogMethod cCachingLogMethod_delete">delete</span>
<span class="cCachingLogKey">{$log[1]}</span> <span class="cCachingLogKey">{$log[1]}</span>
{{else}} {{else}}
{{if count( array_keys( $cacheLog, $log ) ) > 1}}
<i class="fa fa-exclamation-triangle cCachingLogMethod_delete" title="Possible Duplicate"></i>
{{endif}}
<span class="cCachingLogMethod">Redis</span> <span class="cCachingLogMethod">Redis</span>
<span class="cCachingLogKey">{$log[1]}</span> <span class="cCachingLogKey">{$log[1]}</span>
{{endif}} {{endif}}
@@ -10213,7 +10221,7 @@ data-ips-layout='{theme="view.global_view_mode"}'
{{if !\IPS\Request::i()->isAjax()}} {{if !\IPS\Request::i()->isAjax()}}
<!--!Font Awesome Free 6 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--> <!--!Font Awesome Free 6 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.-->
<link rel='stylesheet' href='{url="applications/core/interface/fontawesome/css/all.min.css?v=6.5.1" base="none" noprotocol="true"}'> <link rel='stylesheet' href='{url="applications/core/interface/fontawesome/css/all.min.css?v=6.7.1" base="none" noprotocol="true"}'>
{{endif}} {{endif}}
{{if \IPS\Dispatcher::i()->controllerLocation == 'front' and ! \IPS\Request::i()->isAjax()}} {{if \IPS\Dispatcher::i()->controllerLocation == 'front' and ! \IPS\Request::i()->isAjax()}}
@@ -13867,7 +13875,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
<span class='ipsUsername ipsUsername--anonymous'>{lang="post_anonymously_placename"}</span> <span class='ipsUsername ipsUsername--anonymous'>{lang="post_anonymously_placename"}</span>
{{else}} {{else}}
{{$groupFormatting = ( $groupFormatting === NULL ) ? ( ( \IPS\Settings::i()->group_formatting == 'global' ) ? TRUE : FALSE ) : $groupFormatting;}} {{$groupFormatting = ( $groupFormatting === NULL ) ? ( ( \IPS\Settings::i()->group_formatting == 'global' ) ? TRUE : FALSE ) : $groupFormatting;}}
{{if $member->member_id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) }}<a href='{{if $warningRef}}{$member->url()->setQueryString( 'wr', $warningRef )}{{else}}{$member->url()}{{endif}}' rel="nofollow" data-ipsHover data-ipsHover-width='370' data-ipsHover-target='{$member->url()->setQueryString( array( 'do' => 'hovercard', 'wr' => $warningRef, 'referrer' => urlencode( \IPS\Request::i()->url() ) ) )}' title="{lang="view_user_profile" sprintf="$member->name"}" class="ipsUsername">{{if $groupFormatting && $member->group['prefix']}}{$member->group['prefix']|raw}{{endif}}{$member->name}{{if $groupFormatting && $member->group['suffix']}}{$member->group['suffix']|raw}{{endif}}</a>{{else}}{{if $groupFormatting && $member->group['prefix']}}{$member->group['prefix']|raw}{{endif}}{$member->name}{{if $groupFormatting && $member->group['suffix']}}{$member->group['suffix']|raw}{{endif}}{{endif}}{{endif}}]]></template> {{if $member->member_id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) }}<a href='{{if $warningRef}}{$member->url()->setQueryString( 'wr', $warningRef )}{{else}}{$member->url()}{{endif}}' rel="nofollow" data-ipsHover data-ipsHover-width='370' data-ipsHover-target='{$member->url()->setQueryString( array( 'do' => 'hovercard', 'wr' => $warningRef, 'referrer' => urlencode( \IPS\Request::i()->url() ) ) )}' title="{lang="view_user_profile" sprintf="$member->name"}" class="ipsUsername" translate="no">{{if $groupFormatting && $member->group['prefix']}}{$member->group['prefix']|raw}{{endif}}{$member->name}{{if $groupFormatting && $member->group['suffix']}}{$member->group['suffix']|raw}{{endif}}</a>{{else}}<span class="ipsUsername" translate="no">{{if $groupFormatting && $member->group['prefix']}}{$member->group['prefix']|raw}{{endif}}{$member->name}{{if $groupFormatting && $member->group['suffix']}}{$member->group['suffix']|raw}{{endif}}</span>{{endif}}{{endif}}]]></template>
<template template_group="global" template_name="userLinkFromData" template_data="$id, $name, $seoName, $groupIdForFormatting=NULL, $groupFormatting=NULL, $anonymous=FALSE" template_location="front" template_app="core"><![CDATA[{{if $anonymous}}{lang="post_anonymously_placename"}{{else}}{{if $id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) }}<a href='{url="app=core&module=members&controller=profile&id={$id}" seoTemplate="profile" seoTitle="$seoName ?: \IPS\Http\Url::seoTitle( $name )"}' rel="nofollow" data-ipsHover data-ipsHover-width="370" data-ipsHover-target='{url="app=core&module=members&controller=profile&id={$id}&do=hovercard" seoTemplate="profile" seoTitle="$seoName ?: \IPS\Http\Url::seoTitle( $name )"}' title="{lang="view_user_profile" sprintf="$name"}" class="ipsUsername">{{if $groupIdForFormatting AND ( $groupFormatting === TRUE OR ( $groupFormatting === NULL AND \IPS\Settings::i()->group_formatting == 'global' ) )}}{expression="\IPS\Member\Group::load( $groupIdForFormatting )->formatName( $name )" raw="true"}{{else}}{$name}{{endif}}</a>{{else}}{{if $groupIdForFormatting AND ( $groupFormatting === TRUE OR ( $groupFormatting === NULL AND \IPS\Settings::i()->group_formatting == 'global' ) )}}{expression="\IPS\Member\Group::load( $groupIdForFormatting )->formatName( $name )" raw="true"}{{else}}{$name}{{endif}}{{endif}}{{endif}}]]></template> <template template_group="global" template_name="userLinkFromData" template_data="$id, $name, $seoName, $groupIdForFormatting=NULL, $groupFormatting=NULL, $anonymous=FALSE" template_location="front" template_app="core"><![CDATA[{{if $anonymous}}{lang="post_anonymously_placename"}{{else}}{{if $id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) }}<a href='{url="app=core&module=members&controller=profile&id={$id}" seoTemplate="profile" seoTitle="$seoName ?: \IPS\Http\Url::seoTitle( $name )"}' rel="nofollow" data-ipsHover data-ipsHover-width="370" data-ipsHover-target='{url="app=core&module=members&controller=profile&id={$id}&do=hovercard" seoTemplate="profile" seoTitle="$seoName ?: \IPS\Http\Url::seoTitle( $name )"}' title="{lang="view_user_profile" sprintf="$name"}" class="ipsUsername">{{if $groupIdForFormatting AND ( $groupFormatting === TRUE OR ( $groupFormatting === NULL AND \IPS\Settings::i()->group_formatting == 'global' ) )}}{expression="\IPS\Member\Group::load( $groupIdForFormatting )->formatName( $name )" raw="true"}{{else}}{$name}{{endif}}</a>{{else}}{{if $groupIdForFormatting AND ( $groupFormatting === TRUE OR ( $groupFormatting === NULL AND \IPS\Settings::i()->group_formatting == 'global' ) )}}{expression="\IPS\Member\Group::load( $groupIdForFormatting )->formatName( $name )" raw="true"}{{else}}{$name}{{endif}}{{endif}}{{endif}}]]></template>
<template template_group="global" template_name="userLinkWithPhoto" template_data="$member, $location='admin', $size='tiny'" template_location="admin" template_app="core"> <template template_group="global" template_name="userLinkWithPhoto" template_data="$member, $location='admin', $size='tiny'" template_location="admin" template_app="core">
{template=&quot;userPhoto&quot; app=&quot;core&quot; group=&quot;global&quot; params=&quot;$member, $size&quot;} {template=&quot;userLink&quot; app=&quot;core&quot; group=&quot;global&quot; params=&quot;$member&quot;}</template> {template=&quot;userPhoto&quot; app=&quot;core&quot; group=&quot;global&quot; params=&quot;$member, $size&quot;} {template=&quot;userLink&quot; app=&quot;core&quot; group=&quot;global&quot; params=&quot;$member&quot;}</template>
@@ -23150,6 +23158,9 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
<label for="search_decay-unlimitedCheck" id="search_decay_label" class="ipsField_unlimited">{lang="search_decay_unlimited"}</label> <label for="search_decay-unlimitedCheck" id="search_decay_label" class="ipsField_unlimited">{lang="search_decay_unlimited"}</label>
</div>]]></template> </div>]]></template>
<template template_group="settings" template_name="verifySetupProtection" template_data="$value" template_location="admin" template_app="core"><![CDATA[{lang="verify_setup_protection_1"} <input name="verify_setup_protection[0]" type="number" class="ipsInput ipsField_tiny" min="1" value="{$value[0]}"> {lang="verify_setup_protection_2"} <input name="verify_setup_protection[1]" type="number" class="ipsInput ipsField_tiny" value="{$value[1]}"> {lang="verify_setup_protection_3"}]]></template> <template template_group="settings" template_name="verifySetupProtection" template_data="$value" template_location="admin" template_app="core"><![CDATA[{lang="verify_setup_protection_1"} <input name="verify_setup_protection[0]" type="number" class="ipsInput ipsField_tiny" min="1" value="{$value[0]}"> {lang="verify_setup_protection_2"} <input name="verify_setup_protection[1]" type="number" class="ipsInput ipsField_tiny" value="{$value[1]}"> {lang="verify_setup_protection_3"}]]></template>
<template template_group="sharelinks" template_name="bluesky" template_data="$url, $title" template_location="front" template_app="core"><![CDATA[<a href="https://bsky.app/intent/compose?text={{if $title}}{$title}%20-%20{{endif}}{$url}" class="ipsShareLink ipsShareLink--bluesky" target="_blank" data-role="shareLink" title='{lang="bluesky_text"}' data-ipsTooltip rel='nofollow noopener'>
<i class="fa-brands fa-bluesky"></i>
</a>]]></template>
<template template_group="sharelinks" template_name="email" template_data="$url, $title" template_location="front" template_app="core"><![CDATA[<a href="mailto:?subject={$title}&body={$url}" rel='nofollow' class='ipsShareLink ipsShareLink--email' title='{lang="email_text"}' data-ipsTooltip> <template template_group="sharelinks" template_name="email" template_data="$url, $title" template_location="front" template_app="core"><![CDATA[<a href="mailto:?subject={$title}&body={$url}" rel='nofollow' class='ipsShareLink ipsShareLink--email' title='{lang="email_text"}' data-ipsTooltip>
<i class="fa-solid fa-envelope"></i> <i class="fa-solid fa-envelope"></i>
</a>]]></template> </a>]]></template>
@@ -26364,7 +26375,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
<i class='ipsLargeIcon fa-solid fa-envelope'></i> <i class='ipsLargeIcon fa-solid fa-envelope'></i>
<h1 class='ipsTitle ipsTitle--h2'>{lang="reg_confirm_email"}</h1> <h1 class='ipsTitle ipsTitle--h2'>{lang="reg_confirm_email"}</h1>
<div class="ipsRichText i-font-size_2 i-margin-block_3"> <div class="ipsRichText i-font-size_2 i-margin-block_3">
<p>{lang="reg_confirm_email_desc" sprintf="\IPS\Member::loggedIn()->email"}</p> <p>{lang="reg_confirm_email_desc"}</p>
<p>{lang="reg_confirm_email_must"}</p> <p>{lang="reg_confirm_email_must"}</p>
</div> </div>
<ul class='ipsButtons ipsButtons--small'> <ul class='ipsButtons ipsButtons--small'>
@@ -26439,6 +26450,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
{{endif}}]]></template> {{endif}}]]></template>
<template template_group="system" template_name="reauthenticate" template_data="$login, $error, $blurb=NULL" template_location="front" template_app="core"><![CDATA[<form accept-charset='utf-8' method='post' action='{$login->url}'> <template template_group="system" template_name="reauthenticate" template_data="$login, $error, $blurb=NULL" template_location="front" template_app="core"><![CDATA[<form accept-charset='utf-8' method='post' action='{$login->url}'>
<input type="hidden" name="csrfKey" value="{expression="\IPS\Session::i()->csrfKey"}"> <input type="hidden" name="csrfKey" value="{expression="\IPS\Session::i()->csrfKey"}">
<input type="hidden" name="mergeAccount" value="1">
{{$usernamePasswordMethods = $login->usernamePasswordMethods();}} {{$usernamePasswordMethods = $login->usernamePasswordMethods();}}
{{$buttonMethods = $login->buttonMethods();}} {{$buttonMethods = $login->buttonMethods();}}
{{if $blurb}} {{if $blurb}}
@@ -30905,6 +30917,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
/* Hovercards */ /* Hovercards */
.ipsHovercard[data-role="advicePopup"] { .ipsHovercard[data-role="advicePopup"] {
display: none;
width: 300px; width: 300px;
} }
.ipsHovercard[data-role="advicePopup"] > div { .ipsHovercard[data-role="advicePopup"] > div {
@@ -30987,6 +31000,7 @@ data-view-tracking-data="{expression="base64_encode(json_encode( $review->getVie
.ipsShareLink--twitch { background: #772ce8; } .ipsShareLink--twitch { background: #772ce8; }
.ipsShareLink--discord { background: #5865f2; } .ipsShareLink--discord { background: #5865f2; }
.ipsShareLink--x { background: #000000; } .ipsShareLink--x { background: #000000; }
.ipsShareLink--bluesky { background: #59baff; }
/* Status update widget */ /* Status update widget */
.ipsWidget .cStatusUpdateWidget .ipsComposeArea_dummy { .ipsWidget .cStatusUpdateWidget .ipsComposeArea_dummy {
@@ -32958,6 +32972,7 @@ body:not( .cAdminHideMenu ) #elHideMenu [data-action="toggleOpen"] {
background: var(--i-background_3); background: var(--i-background_3);
} }
.ipsHovercard[data-role="advicePopup"] { .ipsHovercard[data-role="advicePopup"] {
display: none;
width: 300px; width: 300px;
} }
.ipsHovercard[data-role="advicePopup"] > div { .ipsHovercard[data-role="advicePopup"] > div {
@@ -37776,7 +37791,7 @@ a:has(.ipsBadge){
} }
.ipsSocial--twitter { .ipsSocial--twitter {
background-color: #00abf0; background-color: #000000;
} }
.ipsSocial--linkedIn { .ipsSocial--linkedIn {
@@ -38067,7 +38082,7 @@ a:has(.ipsBadge){
border-bottom-width: 0 !important; border-bottom-width: 0 !important;
top: 19px; top: 19px;
inset-inline-end: calc(100% - 5px); inset-inline-end: calc(100% - 5px);
transform: rotate(-45deg); transform: rotate(calc(-45deg * var(--i-lang-dir)));
background: var(--i-background_1); background: var(--i-background_1);
box-sizing: content-box; box-sizing: content-box;
} }
@@ -38852,15 +38867,9 @@ a:has(.ipsBadge){
height: 100%; height: 100%;
width: 100%; width: 100%;
object-fit: cover; object-fit: cover;
object-position: 50% max(0%, min(var(--offset, 50) * 1%, 100%)); object-position: 50% calc(clamp(0, var(--offset), 100) * 1%);
user-select: none; user-select: none;
} }
/* Fix reversed alignment bug in Firefox */
@supports(-moz-osx-font-smoothing: grayscale){
.ipsCoverPhoto__image{
object-position: 50% min(0%, max(var(--offset, 50) * 1%, 100%));
}
}
/* Editing using scroll */ /* Editing using scroll */
.ipsCoverPhoto--editing .ipsCoverPhoto__container{ .ipsCoverPhoto--editing .ipsCoverPhoto__container{
@@ -39145,6 +39154,14 @@ a:has(.ipsBadge){
} }
} }
/* Flip the arrow direction in RTL */
[dir="rtl"] .ipsPagination__first .fa-angles-left{
--i: "\f101";
}
[dir="rtl"] .ipsPagination__last .fa-angles-right{
--i: "\f100";
}
/* /*
---------------- ----------------
- Data filters - Data filters
@@ -41419,6 +41436,8 @@ a:has(.ipsContainerTitle){
border-bottom: 2px solid var(--i-background_3); border-bottom: 2px solid var(--i-background_3);
margin: 0 .4em; margin: 0 .4em;
padding: .4em 0; padding: .4em 0;
container-type: inline-size;
container-name: toolbar;
/* We do this to create a new stacking context. This makes sure that fixed positioning of anchored children (e.g. dropdowns) is effectively RELATIVE, so scrolling and stuff will make those children automatically reposition */ /* We do this to create a new stacking context. This makes sure that fixed positioning of anchored children (e.g. dropdowns) is effectively RELATIVE, so scrolling and stuff will make those children automatically reposition */
transform: translate(0); transform: translate(0);
@@ -41441,7 +41460,7 @@ a:has(.ipsContainerTitle){
} }
/* Main toolbar icons */ /* Main toolbar icons */
.ipsEditor__toolbar--main > li > .ipsEditor__toolbar-item{ :is(.ipsEditor__toolbar--main, .ipsEditor__toolbar--row) > li > .ipsEditor__toolbar-item{
min-width: 2.4em; min-width: 2.4em;
min-height: 2.4em; min-height: 2.4em;
justify-content: center; justify-content: center;
@@ -41470,7 +41489,7 @@ a:has(.ipsContainerTitle){
/* Active main toolbar items */ /* Active main toolbar items */
.ipsEditor__toolbar--main > li > .ipsEditor__toolbar-item--active{ :is(.ipsEditor__toolbar--main, .ipsEditor__toolbar--row) > li > .ipsEditor__toolbar-item--active{
background-color: color-mix(in srgb, currentColor 25%, transparent); background-color: color-mix(in srgb, currentColor 25%, transparent);
} }
@@ -41547,6 +41566,11 @@ a:has(.ipsContainerTitle){
min-width: 220px; min-width: 220px;
} }
/* Dropdown Menu: Mention */
.ipsEditor__toolbar-select-options--mentionSuggestions:not(#x) {
z-index: var(--ips-js-zindex-top, var(--i-editor-panel-zi));
}
/* Dropdown menus (Insert), Select menus (Font-size) and colors */ /* Dropdown menus (Insert), Select menus (Font-size) and colors */
.ipsEditor__toolbar--nested .ipsEditor__toolbar-item, .ipsEditor__toolbar--nested .ipsEditor__toolbar-item,
.ipsEditor__toolbar-select-option, .ipsEditor__toolbar-select-option,
@@ -41587,13 +41611,15 @@ a:has(.ipsContainerTitle){
/* Animate the submenus if discrete transitions are supported */ /* Animate the submenus if discrete transitions are supported */
@supports (transition-behavior: allow-discrete){ @supports (transition-behavior: allow-discrete){
.ipsEditor__toolbar .ipsEditor__toolbar--row[hidden],
.ipsEditor__toolbar--nested .ipsEditor__anchored-panel[hidden]{ .ipsEditor__toolbar--nested .ipsEditor__anchored-panel[hidden]{
max-height: 0px; max-height: 0px;
overflow: clip; overflow: clip;
opacity: 0; opacity: 0;
} }
.ipsEditor__toolbar .ipsEditor__toolbar--row,
.ipsEditor__toolbar--nested .ipsEditor__anchored-panel{ .ipsEditor__toolbar--nested .ipsEditor__anchored-panel{
interpolate-size: allow-keywords; interpolate-size: allow-keywords;
max-height: 200px; max-height: 200px;
@@ -41635,6 +41661,24 @@ a:has(.ipsContainerTitle){
width: 100%; width: 100%;
} }
/* Add support for row of buttons */
.ipsEditor__toolbar--row {
width: 100%;
display: flex;
gap: 2px;
flex-direction: row;
background-color: var(--i-background_2);
}
.ipsEditor__toolbar--main .ipsEditor__toolbar--row {
margin-bottom: -0.4em; /* This moves the bottom border of the containing toolbar up */
padding-block: 0.2em;
}
@container toolbar (min-width: 0) {
.ipsEditor__toolbar--row {
width: 100cqw;
}
}
[data-tippy-root] { [data-tippy-root] {
z-index: calc(var(--ips-js-zindex-top) - 10) !important; z-index: calc(var(--ips-js-zindex-top) - 10) !important;
} }
@@ -41734,16 +41778,21 @@ a:has(.ipsContainerTitle){
/* margin-inline-start: 0.5em;*/ /* margin-inline-start: 0.5em;*/
/*}*/ /*}*/
.tiptap .ipsEditor__table-wrapper > .ipsEditor__create-sibling-wrapper > .ipsEditor__create-sibling,
.tiptap .react-renderer :is(.ipsEditor__node-options--media > .ipsEditor__toolbar-item--media-options, .ipsEditor__create-sibling, .ipsEditor__toolbar-item--escapeembed, .ipsEditor__toolbar-item--embeddimensions):not(.ipsEditor__node-options--open > *) { .tiptap .react-renderer :is(.ipsEditor__node-options--media > .ipsEditor__toolbar-item--media-options, .ipsEditor__create-sibling, .ipsEditor__toolbar-item--escapeembed, .ipsEditor__toolbar-item--embeddimensions):not(.ipsEditor__node-options--open > *) {
display: none; display: none;
} }
:is(.react-renderer > [data-node-view-wrapper]:hover, .ProseMirror-selectednode > [data-node-view-wrapper]):not(.react-renderer--no-indicators > [data-node-view-wrapper]) > :is(.ipsEditor__node-options--media, .ipsEditor__create-sibling-wrapper, .ipsEditor__node-options--embed) > :is(.ipsEditor__toolbar-item--media-options, .ipsEditor__create-sibling, .ipsEditor__toolbar-item--escapeembed, .ipsEditor__toolbar-item--embeddimensions), :is(.react-renderer > [data-node-view-wrapper]:hover, .ProseMirror-selectednode > [data-node-view-wrapper]):not(.react-renderer--no-indicators > [data-node-view-wrapper]) > :is(.ipsEditor__node-options--media, .ipsEditor__create-sibling-wrapper, .ipsEditor__node-options--embed) > :is(.ipsEditor__toolbar-item--media-options, .ipsEditor__create-sibling, .ipsEditor__toolbar-item--escapeembed, .ipsEditor__toolbar-item--embeddimensions),
.ipsEditor__node-options--media.ipsEditor__node-options--open > .ipsEditor__toolbar-item--media-options { .ipsEditor__node-options--media.ipsEditor__node-options--open > .ipsEditor__toolbar-item--media-options,
.tiptap .ipsEditor__table-wrapper:is(:hover, :focus, :focus-within, .ProseMirror-selectednode) > .ipsEditor__create-sibling-wrapper > .ipsEditor__create-sibling {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
} }
/*.ipsEditor__create-sibling:hover {*/
/* display: flex !important;*/
/*}*/
.tiptap [data-node-view-wrapper][data-is-resizing] :is(.ipsEditor__create-sibling-wrapper, .ipsEditor__node-options--media, .ipsEditor__node-options), .tiptap [data-node-view-wrapper][data-is-resizing] :is(.ipsEditor__create-sibling-wrapper, .ipsEditor__node-options--media, .ipsEditor__node-options),
.ipsEditor__nodewrap--narrow .ipsEditor__node-options--media:not(.ProseMirror-selectednode > [data-node-view-wrapper] > *) { .ipsEditor__nodewrap--narrow .ipsEditor__node-options--media:not(.ProseMirror-selectednode > [data-node-view-wrapper] > *) {
display: none !important; display: none !important;
@@ -43709,6 +43758,20 @@ hr.ipsUnreadBar{
margin-inline-start: auto; margin-inline-start: auto;
} }
/* Language labels (with flags) */
.ipsFieldRow__languages{
display: grid;
gap: 2em;
}
.ipsFieldRow__language{
font-weight: 500;
color: var(--i-color_hard);
margin-bottom: .5em;
}
.ipsFieldRow__language .ipsFlag{
margin-inline-end: .3em;
}
/* Descriptions */ /* Descriptions */
.ipsFieldRow__desc { .ipsFieldRow__desc {
font-size: 0.9em; font-size: 0.9em;
@@ -43931,6 +43994,11 @@ hr.ipsUnreadBar{
color: var(--i-color_soft); color: var(--i-color_soft);
} }
/* Sometimes the data-action attribute is added to divs instead of the drag handle */
[data-action="stackDrag"]{
cursor: move;
}
.ipsField_stackItem_keyValue{ .ipsField_stackItem_keyValue{
display: flex; display: flex;
gap: .5em; gap: .5em;
@@ -46196,8 +46264,12 @@ textarea.ipsField_codeInput {
.ipsInputIcon__icon{ .ipsInputIcon__icon{
position: absolute; position: absolute;
top: calc(50% - .5em); margin-top: auto;
inset-inline-start: .5em; margin-bottom: auto;
top: 0;
bottom: 0;
inset-inline-start: .8em;
pointer-events: none;
} }
.ipsInputIcon .ipsInput{ .ipsInputIcon .ipsInput{
@@ -48979,7 +49051,7 @@ a.ipsPixabayAttribution {
} }
:is(.ipsPager_next, .ipsPager_prev) a::after { :is(.ipsPager_next, .ipsPager_prev) a::after {
content: '\f061'; content: "\f061";
font-family: var(--i-font-awesome); font-family: var(--i-font-awesome);
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
@@ -48997,10 +49069,17 @@ a.ipsPixabayAttribution {
} }
.ipsPager_prev a::after{ .ipsPager_prev a::after{
content: '\f060'; content: "\f060";
inset-inline-start: 0; inset-inline-start: 0;
} }
[dir="rtl"] .ipsPager_prev a::after {
content: "\f061";
}
[dir="rtl"] .ipsPager_next a::after {
content: "\f060";
}
.ipsPager_title, .ipsPager_title,
.ipsPager_type { .ipsPager_type {
display: block; display: block;
@@ -51059,6 +51138,43 @@ details.ipsQuote > .ipsQuote_contents{
/* Restrict width of embedded content (iframes, etc) */ /* Restrict width of embedded content (iframes, etc) */
.ipsRichText :where(iframe:not(.ipsEmbeddedBrightcove_frame, .ipsEmbeddedVideo, .ipsEmbeddedPhoto, .ipsEmbeddedOther)){ .ipsRichText :where(iframe:not(.ipsEmbeddedBrightcove_frame, .ipsEmbeddedVideo, .ipsEmbeddedPhoto, .ipsEmbeddedOther)){
max-width: min(100%,var(--i-embed-max-width, 500px)); max-width: min(100%,var(--i-embed-max-width, 500px));
}
.ipsRichText :is(.ipsRichText__table-wrapper) {
max-width: calc(100% + var(--i-ta--bo-wi) * 2);
overflow-x: auto;
overflow-y: visible;
width: min-content;
}
.ipsRichText table, .ipsRichText__table-wrapper {
--i-ta--bo-co: var(--i-color_root);
--i-ta--ba-co: transparent;
--i-ta--bo-wi: 1px;
}
.ipsRichText table {
border-collapse: collapse;
border-spacing: 0;
overflow: hidden;
outline: var(--i-ta--bo-wi) solid var(--i-ta--bo-co);
outline-offset: calc(-1 * var(--i-ta--bo-wi));
border-radius: var(--i-box--bo-ra);
table-layout: fixed;
}
.ipsRichText :is(table, tr,th,td) {
border: var(--i-ta--bo-wi) solid var(--i-ta--bo-co);
background-color: var(--i-ta--ba-co);
}
.ipsRichText th {
--i-ta--ba-co: oklch(from var(--i-color_root) l c h / calc(alpha * 0.1));
font-weight: 600;
}
.ipsRichText :is(th,td) {
padding: 0.5em;
position: relative;
}]]></css> }]]></css>
<css css_location="global" css_app="core" css_attributes="" css_path="framework" css_name="3-social-icons.css"><![CDATA[.ipsSocialIcons{ <css css_location="global" css_app="core" css_attributes="" css_path="framework" css_name="3-social-icons.css"><![CDATA[.ipsSocialIcons{
display: flex; display: flex;
@@ -51104,7 +51220,7 @@ details.ipsQuote > .ipsQuote_contents{
.ipsSocialIcons__icon--facebook{ --_brand: #1778F2; } .ipsSocialIcons__icon--facebook{ --_brand: #1778F2; }
.ipsSocialIcons__icon--linkedin{ --_brand: #0a66c2; } .ipsSocialIcons__icon--linkedin{ --_brand: #0a66c2; }
.ipsSocialIcons__icon--reddit{ --_brand: #FF4500; } .ipsSocialIcons__icon--reddit{ --_brand: #FF4500; }
.ipsSocialIcons__icon--twitter, .ipsSocialIcons__icon--x{ --_brand: #1d9bf0; } .ipsSocialIcons__icon--twitter, .ipsSocialIcons__icon--x{ --_brand: #000000; }
.ipsSocialIcons__icon--vk{ --_brand: #507299; } .ipsSocialIcons__icon--vk{ --_brand: #507299; }
.ipsSocialIcons__icon--weibo{ --_brand: #D32F2F; } .ipsSocialIcons__icon--weibo{ --_brand: #D32F2F; }
.ipsSocialIcons__icon--youtube{ --_brand: #ff0000; } .ipsSocialIcons__icon--youtube{ --_brand: #ff0000; }
@@ -51118,7 +51234,9 @@ details.ipsQuote > .ipsQuote_contents{
.ipsSocialIcons__icon--xing{ --_brand: #B0D400; } .ipsSocialIcons__icon--xing{ --_brand: #B0D400; }
.ipsSocialIcons__icon--tumblr{ --_brand: #36465D; } .ipsSocialIcons__icon--tumblr{ --_brand: #36465D; }
.ipsSocialIcons__icon--twitch{ --_brand: #772ce8; } .ipsSocialIcons__icon--twitch{ --_brand: #772ce8; }
.ipsSocialIcons__icon--discord{ --_brand: #5865f2; }]]></css> .ipsSocialIcons__icon--discord{ --_brand: #5865f2; }
.ipsSocialIcons__icon--bluesky{ --_brand: #59baff; }
.ipsSocialIcons__icon--tiktok{ --_brand: #000000; }]]></css>
<css css_location="global" css_app="core" css_attributes="" css_path="framework" css_name="3-step-bar.css"><![CDATA[/* <css css_location="global" css_app="core" css_attributes="" css_path="framework" css_name="3-step-bar.css"><![CDATA[/*
---------------- ----------------
- Steps/wizard - Steps/wizard
@@ -52488,7 +52606,7 @@ html .ipsTruncate_more{
} }
.ipsBreadcrumb ol li:not(:last-child)::after{ .ipsBreadcrumb ol li:not(:last-child)::after{
content: '\f054'; content: "\f054";
margin: 0 1em; margin: 0 1em;
color: color-mix(in srgb, currentColor 80%, transparent); color: color-mix(in srgb, currentColor 80%, transparent);
font-size: .8em; font-size: .8em;
@@ -52498,6 +52616,9 @@ html .ipsTruncate_more{
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
text-rendering: auto; text-rendering: auto;
} }
:where([dir="rtl"]) .ipsBreadcrumb ol li:not(:last-child)::after{
content: "\f053";
}
.ipsBreadcrumb a{ .ipsBreadcrumb a{
color: inherit; color: inherit;
@@ -59695,16 +59816,15 @@ html[dir] .ipsHovercard .ipsForm--horizontal .ipsFieldRow > .ipsFieldRow__label
<resource name="jsapi.png" app="core" location="admin" path="/enhancements/google_maps/">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 truncated <resource name="jsapi.png" app="core" location="admin" path="/enhancements/google_maps/">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 truncated
<resource name="staticapi.png" app="core" location="admin" path="/enhancements/google_maps/">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 truncated <resource name="staticapi.png" app="core" location="admin" path="/enhancements/google_maps/">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 truncated
<resource name="viglink.png" app="core" location="admin" path="/enhancements/">iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAYAAAA4TnrqAAAJOUlEQVR42u2ba1BU5xnH3xqLhhrFKKjgZNppPjDGpNZEi6LctJRakjrRxHqpYRovaBVxQUVHazEsyrr3XW4iIhjltstt2V2WZblIACGlCWPVJq1aNWhUvKBWp/2Qf897nM75gAi7+67sZvY/8x8+cYb98TzP+b/POUu88sorr7zyyiuvvHIv3X/0ZBTxamjh1Ecac5Fm7SmdIba0vCLGU1yuq4guKdcv8UuwXHkxoP7VFQzxGx3faX6JElMLqgwmVHuIT9cbEZlmwUvx5nu7Ky6kuB6WfIERqkhAGYrzBSkoMzV7BKg6kwmyIgN8ExoQmGwFWWfody2oRlUcDv/CCs0iQM1ZEQJ9WRmqai1uDaqm1gSLoQqBSRZMTW5A0I4GTEq0XJ4r/szqGlD/vjsaB3/WykPSLH5qdQRuKd9DYY17V1djnQkfpuvht91GQfEO5Dx6g/FOaVdvDHtYBauyoVjIQxLMgVPNgylzP/RGm1uCMpstyM47zrVfEwL5qhI8NcmKH/3RfIMtqK+aZuPgrBYKaIDVUYAqAtq8ItSarW4FqtZkQVXxCczYaUBAEl9VAzx+a921uIIvVexgSedZoIqkcAZxGL5UxCGzSE//QLcAZTDWoUqvw8a0fIzf/v+qGmg67H+wvrb//PUH050HZTqQCGmIhUIZ1Pwcm4ccqRgnSivoHzrCA92MqmoDNHIpJiU3YRoPanD7b6/HT3c3fuEcqP4bvkgXhvrzgUXisTYW+yTZKNNVUmAjBor+zFVKsWh/JSYlNVIgQ3rMJtNtte1SnOOwjiwthDJcADJkdS1Ao1qEVIkGuopqCmxEYKnkCuyV5mK8qFlovyHsVPZCT3UEMmY3CVU1TGDaMEgVGmRIlS8UGIVELVeo+ap6PaUeU3hQw/fEbZYrv1J2lhN7xYdPVRSFYJ/V4ejVrsJ+2REcliqg01cJwFwMSsaB0ipkWCM+BT9Rkx2ghOoataH2XvPf+2YPH1R1yh7I5psFCPaYVuJ8FKs+wSG5FhKJDKVlehhMFtcN8xojZHIV5HIFFEoNJiS1CO1np2n2emVLXe/wQPVdmgzxzLbhtt9g2es7bTQOyHMhlauRwQE7VVKOWnM983hAW10qU0LGOU8lQ8g+A/yFTOWQx20x9yaWnEsdGlbOuycHDHVHqku9EN2aTfhEnkP/6zyw/IIiGCkwRoGzuFRHr8tfX6NQQCQ5hle2DxjqDrfj1TuP/QYH9fmpWGS83eQopIF3x1BolEoclCj4D5V+UAKVOpPLQLWoqDJA74Dp71FYOUeOQpyewV9XwjlHJUPgzkYhUznpyYn1mJXa0jI4rLQ3OmgLOQ9LOGjf1byPk4bmWJ2+Mlqnq4wuK9PH6CuqFre1d85s6+DcfsYud5zpmlFjMEaUlupi6PWoG4zVER9m1ORNFA7KTEyrK7/16vJnwyr6SCMclhlVl+Rt4FpnMHGxfDZbbtP2YQVqGnetlzYY791//N9Rz4b1qM+HHpiF4c7AqkjQhSFxoULSP7PQ/RTLqvLlthH7a74SDX0WlM3jz4LMTM+WdeItxAXS/eV6NK0AllU1JclKZ9ZFMhzhEE3uUWzbUfxmG+73jiOMRfdRNBuxrKrRG4139N3XFw8PVteJ9yB5x8a0upRhwNFlBYSh6B6K7qNYgqIbiOB9TZ3EHiEzphTKCDAFRiu2pzKKMND5Gw+m0z0Uo/YT8tX62nv/vPUowP5HXsLOnY1pa6e/1UoY6Mcpth5aBSyryi+h7srKI925xBGhcC3bKEEtDzVDl5hKnJDcenEd3T+xAyVEBSeWf9/6Iv3NNrbVtQh8xV4/N93hTBVvvE0/HOuo8OdqGhWcEMx0rcw4SqgiOEdWEwcUq+46OZF7/M4S1BSRFQGi+n8QFoJkjo1plKA+PNeK01lriB06/XXfLLKODvUGpkOdRgXz2ZvzCQMxjxJCO85qIXaIG+gXp4jYtt/k7fWYk9ZqIyzFfbhKqBhHCcVCIz2PkmEoRX9hDw2gjCAJe/ePDf3f3H0ynvHbM53B/JMezSLm1YWvm5+7xu17+B8f1pmKekJC3bXVeX/NJq4QPv2DgnmUUEXx84s8R2+ltrTS/RLTqJBkxcubTDeJq4SHt32QNqODZZSgpndbetclz1DJ59eX/JAbwKyr6uXNppuy+ovriCsF434R660EhU+TPe5cGbDGHbu28Oa0ZBvYRoV6BlFhJKOEMhx0/0+IoBWSmjzfVdk3gnY1MRzqDfz5z3r+1lziWgm7eholmLcj3f9/oedXI+eu9k0nvz7U779Gg6CUZmawuCUhFmS0MVhGMogSLI5ChFPQuqMXJq7SwH+1CoEiCwNQwhszN+4/8X2xsC6fmfE0SixmDCzM0J2xMpcsO9rv//ss0MqaurUCQTudn1t097W+qEdGRkCsH3AIzxyz52HplgPwXZ3LwdJiyvpCDlaT01FhTLzpNhkp4eGtsSwfcAiOArRRICvzMZlWF+egXc7NLbrS0douryUjKRj27hTei2DorDAU7IsH+V0+N7fUCBSZuQ/tUCvSmICf7Lb1EHcQzUjsq2sRkBOKGR8rMGF1JqbGF3Ot2OgQLLqpaL94d6Z7wOr6lP1WglobiV75uyAfHEdAXC5o3nIkKoRL2g3EnQRNdDnrKEFNq2ubaBd8VmRxrVjHICq4gXCpfSYO/rzFJe2YFY5xq7LhH19iVyvS96y2Fv9NTNxROLYiD4ow9tWVGQ5D6lqQFfn0rjjsqDCWOywTdxV9V8Jlw/5ICBauF8Nvq3FYd0UfLlMdb7v2PnFnwfCnZFdECZq7HimjQdYUI3BX85BR4bVdDWeJJ+jpITvKBcl+AcQ7NmNMQtOQb+11XboX7Bmw2o8tp2sclrAEYPMxfWMhAna2PBPWq9ssl6MVZ8qJJwnKiGqoIl0w7CPQk74UJKEdgYM8gCCeJlzuCmZ8bhScHYJlyQr4JbcOeMt4R/n5vcQTheNrMoUowfigrQ7HmG0tmLbDNuC7gx4p+q4E/fK5S6orcwFOpCXCR9TBr4rp+w/Fnb1LCFt5/lZCSPZz6Bcv+a/zvr6nsZt8H4SMd2z8klAZztaqUHwr+w1IXHP/2W8evPb9gNVdsgRHl+fTGcbevz2hK9dFE6+88sorr7zyyiuvPFb/A62oY924fO4EAAAAAElFTkSuQmCC</resource> <resource name="viglink.png" app="core" location="admin" path="/enhancements/">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</resource>
<resource name="communityhive.svg" app="core" location="admin" path="/enhancements/">PHN2ZyB3aWR0aD0iMzU5IiBoZWlnaHQ9Ijg3IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBvdmVyZmxvdz0iaGlkZGVuIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cmVjdCB4PSI0NTciIHk9IjMxNyIgd2lkdGg9IjM1OSIgaGVpZ2h0PSI4NyIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00NTcgLTMxNykiPjxwYXRoIGQ9Ik0wIDAgMzk5LjkxNSAwIDM5OS45MTUgMzk5LjkxNSAwIDM5OS45MTVaIiBmaWxsPSIjRkZGRkZGIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxLjAwMDk1IDQzOS42OTYgMTU5LjQ4KSIvPjxwYXRoIGQ9Ik0yOS4wOTM4IDIwMC4xNThDMjguOTkzOSAxODIuNDYxIDQzLjI5MDggMTY4LjA2NCA2MC45ODcxIDE2OC4wNjRMODMuMTgyNCAxNjguMDY0IDgzLjE4MjQgMTkzLjg1OSA3MS4wODUgMTkzLjg1OSA3MS4wODUgMTcxLjU2NCA2NC45ODYyIDE3MS41NjRDNjQuODg2MyAxNzEuNTY0IDY0Ljc4NjMgMTcxLjU2NCA2NC42ODYzIDE3MS41NjQgNjMuOTg2NSAxNzEuNTY0IDYzLjI4NjYgMTcxLjc2NCA2Mi42ODY3IDE3MS45NjRMNjIuNzg2NyAxNzEuOTY0QzYwLjU4NzIgMTcyLjg2MyA1OS4wODc1IDE3NS4wNjMgNTkuMDg3NSAxNzcuNTYyTDU5LjA4NzUgMjIyLjQ1M0M1OS4wODc1IDIyNS43NTIgNjEuNzg2OSAyMjguNDUyIDY1LjA4NjIgMjI4LjQ1Mkw3MS4xODQ5IDIyOC40NTIgNzEuMTg0OSAyMDYuMTU2IDgzLjI4MjQgMjA2LjE1NiA4My4yODI0IDIzMS45NTEgNjEuMzg3IDIzMS45NTFDNDMuNzkwNyAyMzEuODUxIDI5LjE5MzggMjE3Ljg1NCAyOS4wOTM4IDIwMC4xNThaIiBmaWxsPSIjMkE5QzY2IiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxLjAwMDk1IDQzOS42OTYgMTU5LjQ4KSIvPjxwYXRoIGQ9Ik02Mi42ODY3IDE3MS45NjRDNjMuMjg2NiAxNzEuNjY0IDYzLjk4NjUgMTcxLjU2NCA2NC42ODYzIDE3MS41NjQgNjQuMDg2NCAxNzEuNTY0IDYzLjM4NjYgMTcxLjc2NCA2Mi42ODY3IDE3MS45NjRMNjIuNjg2NyAxNzEuOTY0WiIgZmlsbD0iIzJBOUM2NiIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMS4wMDA5NSA0MzkuNjk2IDE1OS40OCkiLz48cGF0aCBkPSJNOTUuMzc5OCAyMzEuODUxIDk1LjM3OTggMTY3Ljk2NCAxMDEuNDc5IDE2Ny45NjRDMTA0Ljc3OCAxNjcuOTY0IDEwNy40NzcgMTcwLjY2NCAxMDcuNDc3IDE3My45NjNMMTA3LjQ3NyAyMjUuODUyQzEwNy40NzcgMjI5LjE1MSAxMDQuNzc4IDIzMS44NTEgMTAxLjQ3OSAyMzEuODUxTDk1LjM3OTggMjMxLjg1MVoiIGZpbGw9IiMyQTlDNjYiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIDEuMDAwOTUgNDM5LjY5NiAxNTkuNDgpIi8+PHBhdGggZD0iTTEyNC4zNzQgMTgxLjM2MkMxMjQuMzc0IDE3My43NjMgMTMwLjE3MiAxNjguMzY0IDEzOC4wNzEgMTY4LjM2NCAxNDIuNDcgMTY4LjM2NCAxNDYuMDY5IDE2OS45NjQgMTQ4LjQ2OSAxNzIuODYzTDE0NC43NjkgMTc2LjM2M0MxNDMuMDcgMTc0LjQ2MyAxNDAuOTcgMTczLjM2MyAxMzguNDcxIDE3My4zNjMgMTMzLjc3MiAxNzMuMzYzIDEzMC4zNzIgMTc2LjY2MyAxMzAuMzcyIDE4MS40NjIgMTMwLjM3MiAxODYuMjYxIDEzMy42NzIgMTg5LjU2IDEzOC40NzEgMTg5LjU2IDE0MC45NyAxODkuNTYgMTQzLjA3IDE4OC41NiAxNDQuNzY5IDE4Ni41NjFMMTQ4LjQ2OSAxOTAuMDZDMTQ2LjA2OSAxOTIuOTU5IDE0Mi40NyAxOTQuNTU5IDEzOC4wNzEgMTk0LjU1OSAxMzAuMTcyIDE5NC4zNTkgMTI0LjM3NCAxODguOTYgMTI0LjM3NCAxODEuMzYyWiIgZmlsbD0iIzE4MjAzRCIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMS4wMDA5NSA0MzkuNjk2IDE1OS40OCkiLz48cGF0aCBkPSJNMTUwLjc2OCAxODEuMzYyQzE1MC43NjggMTczLjg2MyAxNTYuNTY3IDE2OC4zNjQgMTY0LjU2NSAxNjguMzY0IDE3Mi40NjMgMTY4LjM2NCAxNzguMzYyIDE3My44NjMgMTc4LjM2MiAxODEuMzYyIDE3OC4zNjIgMTg4Ljg2IDE3Mi40NjMgMTk0LjM1OSAxNjQuNTY1IDE5NC4zNTkgMTU2LjU2NyAxOTQuMzU5IDE1MC43NjggMTg4Ljg2IDE1MC43NjggMTgxLjM2MlpNMTcyLjM2NCAxODEuMzYyQzE3Mi4zNjQgMTc2LjU2MyAxNjguOTY0IDE3My4yNjMgMTY0LjQ2NSAxNzMuMjYzIDE1OS45NjYgMTczLjI2MyAxNTYuNTY3IDE3Ni41NjMgMTU2LjU2NyAxODEuMzYyIDE1Ni41NjcgMTg2LjE2MSAxNTkuOTY2IDE4OS40NiAxNjQuNDY1IDE4OS40NiAxNjkuMDY0IDE4OS4zNiAxNzIuMzY0IDE4Ni4xNjEgMTcyLjM2NCAxODEuMzYyWiIgZmlsbD0iIzE4MjAzRCIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMS4wMDA5NSA0MzkuNjk2IDE1OS40OCkiLz48cGF0aCBkPSJNMjA2LjM1NiAxOTMuOTU5IDIwNi4zNTYgMTc4Ljg2MiAxOTguOTU4IDE5MS4zNTkgMTk2LjM1OCAxOTEuMzU5IDE4OC45NiAxNzkuMjYyIDE4OC45NiAxOTMuOTU5IDE4My40NjEgMTkzLjk1OSAxODMuNDYxIDE2OC43NjQgMTg4LjI2IDE2OC43NjQgMTk3LjY1OCAxODQuNDYxIDIwNi45NTYgMTY4Ljc2NCAyMTEuNzU1IDE2OC43NjQgMjExLjg1NSAxOTMuOTU5IDIwNi4zNTYgMTkzLjk1OVoiIGZpbGw9IiMxODIwM0QiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIDEuMDAwOTUgNDM5LjY5NiAxNTkuNDgpIi8+PHBhdGggZD0iTTI0MS4zNDkgMTkzLjk1OSAyNDEuMzQ5IDE3OC44NjIgMjMzLjk1IDE5MS4zNTkgMjMxLjM1MSAxOTEuMzU5IDIyMy45NTMgMTc5LjI2MiAyMjMuOTUzIDE5My45NTkgMjE4LjQ1NCAxOTMuOTU5IDIxOC40NTQgMTY4Ljc2NCAyMjMuMjUzIDE2OC43NjQgMjMyLjY1MSAxODQuNDYxIDI0MS45NDkgMTY4Ljc2NCAyNDYuNzQ4IDE2OC43NjQgMjQ2Ljg0OCAxOTMuOTU5IDI0MS4zNDkgMTkzLjk1OVoiIGZpbGw9IiMxODIwM0QiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIDEuMDAwOTUgNDM5LjY5NiAxNTkuNDgpIi8+PHBhdGggZD0iTTI1My4yNDYgMTgyLjg2MSAyNTMuMjQ2IDE2OC43NjQgMjU5LjA0NSAxNjguNzY0IDI1OS4wNDUgMTgyLjY2MUMyNTkuMDQ1IDE4Ny40NiAyNjEuMTQ1IDE4OS40NiAyNjQuNjQ0IDE4OS40NiAyNjguMjQzIDE4OS40NiAyNzAuMjQzIDE4Ny40NiAyNzAuMjQzIDE4Mi42NjFMMjcwLjI0MyAxNjguNzY0IDI3Ni4wNDIgMTY4Ljc2NCAyNzYuMDQyIDE4Mi44NjFDMjc2LjA0MiAxOTAuMjYgMjcxLjg0MiAxOTQuMzU5IDI2NC42NDQgMTk0LjM1OSAyNTcuNDQ1IDE5NC4zNTkgMjUzLjI0NiAxOTAuMjYgMjUzLjI0NiAxODIuODYxWiIgZmlsbD0iIzE4MjAzRCIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMS4wMDA5NSA0MzkuNjk2IDE1OS40OCkiLz48cGF0aCBkPSJNMzA1LjUzNSAxNjguNzY0IDMwNS41MzUgMTkzLjk1OSAzMDAuNzM2IDE5My45NTkgMjg4LjEzOSAxNzguNjYyIDI4OC4xMzkgMTkzLjk1OSAyODIuMzQgMTkzLjk1OSAyODIuMzQgMTY4Ljc2NCAyODcuMTM5IDE2OC43NjQgMjk5LjYzNyAxODQuMDYxIDI5OS42MzcgMTY4Ljc2NCAzMDUuNTM1IDE2OC43NjRaIiBmaWxsPSIjMTgyMDNEIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxLjAwMDk1IDQzOS42OTYgMTU5LjQ4KSIvPjxwYXRoIGQ9Ik0zMTIuMjM0IDE2OC43NjQgMzE4LjAzMLine truncated
<resource name="zapier.png" app="core" location="admin" path="/enhancements/">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 truncated <resource name="zapier.png" app="core" location="admin" path="/enhancements/">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 truncated
<resource name="google_maps.jpeg" app="core" location="admin" path="/enhancements/">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 truncated <resource name="meta.png" app="core" location="admin" path="/enhancements/">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 truncated
<resource name="google_analytics.png" app="core" location="admin" path="/enhancements/">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 truncated <resource name="google_analytics.png" app="core" location="admin" path="/enhancements/">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 truncated
<resource name="pixabay.png" app="core" location="admin" path="/enhancements/">iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAAAAADuvYBWAAAfcElEQVR42u2d92PU5B/Hv3/Lc72WDkopsxQsAiJo2QgUQSqjKlBFKqsgQ4SqWAqCKOBgyFI2FQRcBVFkFJGhTBkFyrZAGaVtvoeFJk+SJ3kyLk1y79ePd3lG8rpLnvXJ8z8CIo7/4RJAOoB0AOkA0gGkA0gHkA4gHUA6gHQA6QDSAaQDSAeQDiAdQDqkA0gHkA4gHUA6gHQA6QDSAaQDSAeQDiAdQDqAdADpANIBpEM6gHQA6QDSAaQDSAeQDiAdQDqAdADpANIBpANIB5AOIB1AOqQDSAeQDiAdQDqAdADpANIBpANIB5AOIB1AOoB0AOlS+n87IAqqI0z6ZkG4MLsVZEeS9EYVQoiqndkx8B0x0t8VHnPzy44wHiHSjwsiB3MTIT0CpHcXKO6u6Q3pvmeFIOf0e80g3dck3BGUVG4fEoR0/zJaUOfyvKch3a/sE5jszomDdD/STtDi1rLOkO4/Fgg6HJ2cDOn+InhV0OXBpn4BSPcRrwhcnJ+ZCum+4QeBk6qiodGQ7gtSKgV+rn/WHtJ9wAzBGMVjEyDd4wTOCEYp/7onpHuaDMEMJ/KaQLp3WSeY4+F3A4OQ7k0a3BNMUzo3DdK9yNuCFap/HREL6Z7jkGCRf5ekQ7q3eF6wgcMTkyDdQywWbOH++owApHuEejcFuzj7YQqke4LXBRup/PHVIKS7n18Ee7m6oB2ku5ynqgXb2Tc6AdLdzEdCOLizojuku5aoi0KYOP5uI0h3J5lMaWU3rGqv+DYzCtJdyGamsk9ihhVVWfV+4aNWkO42asKTVWkT+jq14LxV7dU7s+tBuqt4lynr95oDAv03PbDq/eai5yDdRRxnmsqpPSZ5yl+WW3UHxydCukvozo5poSKZuiy7bVX73bV9IN0VrGA6WiY7Mj7nd8t/93/ebwbpdY5qeHINXZRHt/n0iuWh+e1ZQUivW0Yx7fylenwwa3ulVe+XP2kD6XXJXqaaKawkzT/4x/Jt/nePhD77Ujo7PPmBVoRqn7X3rGq/tawLpNcN7PDkTdoJG0z40/Lf/a8pyZDuPBrhyf11Ez+/2PKCmweb+gcg3WHY4cnneWTUe/0Xy1Px5wtSId1R2OHJBZw5PDXH8sRsVdGwGEh3DHZ4chX/3y8qc8tDq95vfP4spDsEOzy5yFA+jaedsNyqKx5XH9IdQCM8eZjRvHqsKreqvfybFyA97LDDk2+YeMgmjCm2/Hc/6bbQZ/9JX8u8+J+by7D9wutWtT/cOigI6eFDIzzZdLMqeujPltdXuSn02XfS2eHJB6xk2yL/nOX1Vb+9GQvpYYEdnjzOYgOx38b7Vr2XuSP02W/S2eHJ5dY7Tw0nH7XcqjsyKQnSbYYdnvyNLfl3/uqW9dDnvgFItxGN8GS7ustxObst/93P5adAum2ww5NP2ljK0/Mu2xD6HA3p9sAOT86ztZzgEOvrq64teAbSbYAdnvywqd1lNXv/tFdDn/0lnR2evDUcxfVec9dy6PPKHpBuCY3w5EHhKTFx/EEPhj77Sjo7PLk0fEPfHb+0vL6qYrOzoc++ks4OT/44rP3E7J2W11dd/OgpSDcDOzy5unWYi2710QXLQ/O/vF4P0g3DDk/+zYH2ROa3FV4JffaTdHZ48pvO3GnePW65VffnhAaQbgB2eHKZY1Oa3Vfesar9XvhDn30knR2evNTBWiSM3mc99PmD5pDOOVSSycLh6PFnFlxzd+hzBOyfXgdEv/qj5aH5K5+2gXSPkWJ9fZWwJyce0r1FoO8Gy+urbi/vCukeI2nSEct/97/tD32G9DDTaWmZ5dDnwpcCkO4tYt/cbXlovqSgpWek9ztqhPW+9d7641Lroc/DY7whfaKxmSYf/92Dg7dZ7sTZFvocXukfGxuRiCJ+pmneKcutugOt3C/d4GLh7sTn9FptMfT5erTrpScbvKN94v9WXf3cP6xIX+j+27vRvU7PBUkE0OEL8+ur2rteepzhJmtuZHTiYrJ3mAt9LnZ/Q+5D40Hc9UmE0HJWiQnpY10vva+JPsr3UZFinUQNKDS6vqo8we3S292su5aKR0ieeszQxfna7YMzfU22VtbERJJ20m2FgfVVPd0tPaHA9Kv3irtGlHUSP2ov71uqiJult5p+1UpndHO/YGR5bzef63rluUr6KAm5s1dYn0Mu27Jw2ihX0jk82oOv/KDb7H3YxFXShcjh07D93VM+PKtdtH2Bt5DuFumh9VUZ67S2lhgE6T6UHiLpKycCbyHdVdKdCbyFdFdJdybwFtJdJd2ZwFtId5V0ZwJvId1N0jUCb+Mg3afSHQq8hXQXSdfYF7gTpPtUOntf4CME0n0qnf06g8mQ7lPp7H2B7zeEdJ9KZ+8LvJFAuj+la+wL3A/SfSqdvS/wuQCk+1Q6e1/gmQTS/SldY1/gFpDuU+nsfYF/JpDuT+ka+wIPhXSfSmfvC3w92lvSK28ZoTySpa9jFvkZ8Zb0Ipt+7P6XrrEvcHtI56P87L4tS/Jz8xau33X8ZrUHpLND+YsJpOvq/m5M76fp6M7oFl1eWXze3dLDti+w/6WXLB7AjH/sMGN/lWulh3VfYB9Lryqe0VGngMZvbbnjTunh3hfYn9IrlvBtWRszvtSF0uv9yyzwBUhndQ1X829wFTvthuukv8Es7ySBdFWqC9sZKqd+wW2XSd/FLC8P0lX5Md1whZPn33OTdPa+wJVNIV2FE+Y2qG2+yUXS5zCL20YgXeWqmO7RTK10i3SNfYEHQ7ryaT7TwpqSjOsuke74vsCeln7L2h8h9U93SHd8X2AvSz/R1mK9Y1e7Qbrz+wJ7WPpWGwYoJz6se+ns8OTdBNJpFtuyRPTFijqXzg5PHgnpNNtteotsTl1L78FussRBOsXhBLuuwNw6lr6SWdZXBNKlXEqx7QoECutUukZ4cmdvSt8Za4QB/Csl0m28BLHFdSl9NLOoo8Sb0sNEpb0DVU1K6lC6U+HJnpc+xeaL8OztOpP+DLOkB8mQLmGt7Vfh1TqTzg5P3kQgXfJAb6Zfo+YjPlj83YGSv35e+VEuz+tafq0j6dHs8OT+kC5hll51Oub/QU1QX1o6QG+7iPTqupHOvsWcD0C6yGXtHnogRy0o7PaCJO1TWFs30n9kFjSTQDrvOvCXWDsM3JxeTytd6v26kK4RnpwK6SLHtKaY2xRpLYofpnUO8+pC+oc2DWv5XfrLGvUYUKaddoHGeH3ideelB9h7OQyDdJFfNKrxju4CqJ8S2aknOS+dPe58IwbSRdjjr9EredZdsJclBM86Lp0dnvw5gXTxic6uxNdcGZQ0ZmYw12npSex12M9CushcZh2mcuawh3njTHda+kRmKQcIpIswR9cyuRc0r2SexnmHpR9mlpIL6SIXWDVoW2bDdM3nzkpn31nK60O6yCJWDXYayOQeawFGb2els8OTVxNIF8lgVKC/oVxWMXKJuuak9Fh2eHIvSJcMpTJG4wKHjK3BYL26Z4WT0tnhyacIpOvf9rIN5sMKC8x0Ujo7PPk9SJeQxSj/hNGMnlPPJ+a2c9LTHA5P9qx0RgusveGM5jBOZK9z0p0OT/aq9HJG8fm2Deytckx61CVmEYMhXcIhRvEmgk8ZQ/B5jkl/mb1IJAjpEjaol97CRFaMV7kMcUz6FmYJ8wik6y+OG2UiK8YahXZOSW/MjpZ9GtKlMFb/zzSR1QmGC6ekT2MWsJtAupRR6qV/ZSKrfxmjZE5JZ3cycyCdZwnRNjN5xarnVemM9DoIT/aq9Ez10v8wk1eael5lzkhnL/JZRiCdgvGa1BIzeTHePnfJEekJ7D0sukA6TV/10o+byauDel7XHJE+hpn9XwTSuYbed5rJixESes8R6fuNL/CIWOlvqpe+1kRWD9SzCjrSeq+T8GSvSp+gXvonJrI6r55VkiPS2eHJhQTS+cZOp5jIirEbTqoT0qPZDYf+kC5nqXrpvUxktUQ9q95OSK+b8GSvSt/FmKU08WLfl9SzGueEdHZ4cgGBdDmXGMV/bTinsmijT1v7pGuEJ7eEdCUJZidEOSdpyfcOSM83OvUX4dIZw1WxhjdpHc44kbPhl64Rnjwc0lX4kFH+YoP5XGRMt7QWwi+9LzPr8IYne1b6QUb5jQ1usceYoyXTHZC+npn1FwTSVahmBSQZW0dxjPVCir3hl5503+h0QKRLZ43JkYQrRnIZxMilSVX4pbPDk/8gkG6sfTvaQCY7WJmME8Ivvc7Ck70rvYIZw7uCO49zycZHTWyTzg5PvpsI6QyymQPav3PmcIf5Zo+EB+GXzu5nrCGQzmAjsw6NznFlUDWEmcMwIezSNcKTe0M6i1vRzEp04GnMVWu8RH1D+KWPYOZ7mkC6meZOi8O6qcuz2Mlb3g+/dPbLpt+DdDaX49nViNfbjeWcVleYbwGOJeka4cnNIF2DfM3JDM299XY10kj6XFX4pbPfVLedQLoGtxtr1aQNOzDwZJbmOfwshF26RnjyEEjXZJF2XXqqLzW9khs0OQ9in/Q6DU/2tvSHaTq16bdUvh95+da3dPbuC/zpgHT2XegTAunacOxokz57T0nNJqrV146sGByrm4D7VUVq0hNe4lrbphGe3AbS9frafKE/gcbpmT1aRnMdG33WivRmwvkCjo0Y2BO3vxNI16PY9tUG/FOz6tJDI31Fw/RqVbfhyV6Xznzlo1mGVFmW/mjly+eaL+xmhyffjod0Dt6x9Ro8a2DhjYb0R/egcexX+bLfXLWcQDoHlQNsvATJZwW7pIc6Ct/0ZMzhsVdvdoV0Lsra2nYFgr8KNkp/NAqU10TloLoOT/aBdOF0kl1XYIlgs/TQUMJ3AxWjLXUdnuwH6cIOmwaxcgX7pYconUuPIbFfZepQeLILine truncated <resource name="pixabay.png" app="core" location="admin" path="/enhancements/">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 truncated
<resource name="sendgrid.png" app="core" location="admin" path="/enhancements/">iVBORw0KGgoAAAANSUhEUgAAAFUAAABQCAYAAABoODnpAAAFgUlEQVR4Xu2bPY8kVxWGn/fcqt6Z/bCE1ruWAUNAxkKAFjIEDhDECPX8BOfEBDtDQERCahE4dqcghABpCAiQLJx4iBCyBbu2dsAre3d2e7q77ouESqrRDuyqq6t7p+X7SNWnVVeq4NE9p7rOqeYCUigUCoVCoVAoiBeNLQ4PE0PxR4bj6NhM9hq2Cltlpw4tVPJXfnv3NWW+j6ScnUMIMsvStPHaBzD6GKjpTbYahS5Xob/9+cev/g7J2EIyz4eKF0Sb8ot/zptveHT5l0TAYgaRwCyJsQSGGzZ1YxwCszQSeDEjrt2kPvnw9+PJ5A8TaF4/OEyHsLjAUjtOszOzU4iAZmG0EMviLudmM8McDL2kIrA9T/NpHWZOy42vvm6ArZCKbZxNRkCDHXjJwuQuCiNWwELQKOcaRUMH2yM1VQAiBAsCEUtbURdXxwCBAnDQg+AiIZmLRIZBpRYMbFRqYfulFqnluSjKY2upqWWnlppaKOlf0n9DT1Rlpx63XZ9msWYnm6eiB2+/7fTXMeKQ3rzP+9Vb0Hw+RbrnpyT06VKJDgEaIPtjg1L39tSwOguAe3Om1IDUV0Qn0e3RGEJg+tOAmk3u1COPTi4TrMAHj4+r/Vs3H31tR1feWxhsyH5G7grws88ZFKBKkPo3qXF7jXVLtS1JBnhw7eRnQt/B+SFICJG7Kk1uI9138tkcNa9e2dVb957M/v7R41feO/oYEDsipvZzRD7b98nLI05vBl6xjOgq7JzArfHYE2CyDqkHXYJB5tvXv3z5W48eQATdSufhuRvLhksjuHoimN4H5BQIsxIn1w07QAZEPwy8JE4THE0mAmC8Bqkc0AKGB5/cz8yn0yfYCbE0NiyqYProcZCiwsgBmNXIoAXYoB4u1UYWUDd0TNYh9Q6wDwASVTUK5qceAQlWvcEYDKBBeiBWG/tfAgR54w0VAwaB6YWx3dkdAjEo8aIaKrZ1YSy4NFSGt6EiFfDwNopUlX7q9lJqapEqyaUMrP0nVSE+q2lf7v5FapmmVkMksOiLu6juOhpGhVH7Kfz0fw262K77bNPSm59RZRsb3PVGl8YG2mMkMTPsCLxK+hieQG7AAPi86c6Z/v86NORMFnljUke1qEewqPvvLRvqOogkZrMMNv9edq6ks6kig2G0G3Flh5x7dqkFzGe7XHsJpg+vwhgAbhxqrU3qu3fn7HySOX00w89p8z+LJPHptOGHX9gFhEQvDBYI4B+avfvu4/lHr0Dd9J5RecH9u5+rE3+6NcYTgONjDy51n46f//pTtAM+fdgr9w1cDfHhw8yPvn6JH3z3ZSJBbugnVlgKIYHzT9547cpvfmGnPalhRfa7EXKz1vTfESjAAkLGaFmpdQAJQiBAA0ypAZKdAVqh2/MyxaUEEuQA2SJEL6mt0YyRhW0scX4U2n09u3a2wkS7OM1NBfDGO+/Ub/7qdsMdzMGB6MOdO0byRqQ2BgG5jZilpWZ3QkSHzn6c5/yauihEgAG+d/t2fvObym3+mj7s72+2oSJAg79UptL57/FKeelSrf/1R//PWAZ/g0xTVdJ/KyhSXeb+W0GRqgEvUzE4Jf0XZUa19qJYZlT6LEsVRgOKEBIrYF2kmlrRB5HlDDgbaYjbkk1/pOycKyMCvJVSs5VQIqMKJCTAYEACG6TOltRGwAKMJSCDAkUQIYx77VjnHFFVSMLNQlsp9RKuoqppUpKUWBYDdQIqk1JFSokIgYz09AuWAtydO1eGjBWklEBiPtsmqfuYluu78dO8+NeXVKdT57kQIpLJTRdbzp1v4yiSv1jPlJDzbJZpxykklkYkN08WQQLQXwDGkBmOgm1t36PMvoMjxACMx/89BmMP8vl2ZKFQKBQKhUKhUPgPD5hesqiYZLQAAAAASUVORK5CYII=</resource> <resource name="sendgrid.png" app="core" location="admin" path="/enhancements/">iVBORw0KGgoAAAANSUhEUgAAAFUAAABQCAYAAABoODnpAAAFgUlEQVR4Xu2bPY8kVxWGn/fcqt6Z/bCE1ruWAUNAxkKAFjIEDhDECPX8BOfEBDtDQERCahE4dqcghABpCAiQLJx4iBCyBbu2dsAre3d2e7q77ouESqrRDuyqq6t7p+X7SNWnVVeq4NE9p7rOqeYCUigUCoVCoVAoiBeNLQ4PE0PxR4bj6NhM9hq2Cltlpw4tVPJXfnv3NWW+j6ScnUMIMsvStPHaBzD6GKjpTbYahS5Xob/9+cev/g7J2EIyz4eKF0Sb8ot/zptveHT5l0TAYgaRwCyJsQSGGzZ1YxwCszQSeDEjrt2kPvnw9+PJ5A8TaF4/OEyHsLjAUjtOszOzU4iAZmG0EMviLudmM8McDL2kIrA9T/NpHWZOy42vvm6ArZCKbZxNRkCDHXjJwuQuCiNWwELQKOcaRUMH2yM1VQAiBAsCEUtbURdXxwCBAnDQg+AiIZmLRIZBpRYMbFRqYfulFqnluSjKY2upqWWnlppaKOlf0n9DT1Rlpx63XZ9msWYnm6eiB2+/7fTXMeKQ3rzP+9Vb0Hw+RbrnpyT06VKJDgEaIPtjg1L39tSwOguAe3Om1IDUV0Qn0e3RGEJg+tOAmk3u1COPTi4TrMAHj4+r/Vs3H31tR1feWxhsyH5G7grws88ZFKBKkPo3qXF7jXVLtS1JBnhw7eRnQt/B+SFICJG7Kk1uI9138tkcNa9e2dVb957M/v7R41feO/oYEDsipvZzRD7b98nLI05vBl6xjOgq7JzArfHYE2CyDqkHXYJB5tvXv3z5W48eQATdSufhuRvLhksjuHoimN4H5BQIsxIn1w07QAZEPwy8JE4THE0mAmC8Bqkc0AKGB5/cz8yn0yfYCbE0NiyqYProcZCiwsgBmNXIoAXYoB4u1UYWUDd0TNYh9Q6wDwASVTUK5qceAQlWvcEYDKBBeiBWG/tfAgR54w0VAwaB6YWx3dkdAjEo8aIaKrZ1YSy4NFSGt6EiFfDwNopUlX7q9lJqapEqyaUMrP0nVSE+q2lf7v5FapmmVkMksOiLu6juOhpGhVH7Kfz0fw262K77bNPSm59RZRsb3PVGl8YG2mMkMTPsCLxK+hieQG7AAPi86c6Z/v86NORMFnljUke1qEewqPvvLRvqOogkZrMMNv9edq6ks6kig2G0G3Flh5x7dqkFzGe7XHsJpg+vwhgAbhxqrU3qu3fn7HySOX00w89p8z+LJPHptOGHX9gFhEQvDBYI4B+avfvu4/lHr0Dd9J5RecH9u5+rE3+6NcYTgONjDy51n46f//pTtAM+fdgr9w1cDfHhw8yPvn6JH3z3ZSJBbugnVlgKIYHzT9547cpvfmGnPalhRfa7EXKz1vTfESjAAkLGaFmpdQAJQiBAA0ypAZKdAVqh2/MyxaUEEuQA2SJEL6mt0YyRhW0scX4U2n09u3a2wkS7OM1NBfDGO+/Ub/7qdsMdzMGB6MOdO0byRqQ2BgG5jZilpWZ3QkSHzn6c5/yauihEgAG+d/t2fvObym3+mj7s72+2oSJAg79UptL57/FKeelSrf/1R//PWAZ/g0xTVdJ/KyhSXeb+W0GRqgEvUzE4Jf0XZUa19qJYZlT6LEsVRgOKEBIrYF2kmlrRB5HlDDgbaYjbkk1/pOycKyMCvJVSs5VQIqMKJCTAYEACG6TOltRGwAKMJSCDAkUQIYx77VjnHFFVSMLNQlsp9RKuoqppUpKUWBYDdQIqk1JFSokIgYz09AuWAtydO1eGjBWklEBiPtsmqfuYluu78dO8+NeXVKdT57kQIpLJTRdbzp1v4yiSv1jPlJDzbJZpxykklkYkN08WQQLQXwDGkBmOgm1t36PMvoMjxACMx/89BmMP8vl2ZKFQKBQKhUKhUPgPD5hesqiYZLQAAAAASUVORK5CYII=</resource>
<resource name="google_tag_manager.png" app="core" location="admin" path="/enhancements/">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 truncated <resource name="google_tag_manager.png" app="core" location="admin" path="/enhancements/">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 truncated
<resource name="mapbox.png" app="core" location="admin" path="/enhancements/">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 truncated <resource name="mapbox.png" app="core" location="admin" path="/enhancements/">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 truncated
<resource name="matomo.png" app="core" location="admin" path="/enhancements/">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 truncated <resource name="matomo.png" app="core" location="admin" path="/enhancements/">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 truncated
<resource name="facebook.png" app="core" location="admin" path="/enhancements/">iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAYAAAA4TnrqAAAEy0lEQVR4Ae3cA5RbWxQG4Cw/G7Vtj1nbtm3bNjJ5N1Pbtm3bGutO7fZ/Z5+6DW4eGu291h/zC+7BXUdXpmUnXfGmfX/yrzNxsm8tww2fmspdn5p/JYjEu3ESXjsYbgbVHxNSvEm/38lJV7JZzx/9autveVabAe8aRogbvg5HeCjwqDYTAi6ydItuv+kC6o4P9ZQXGBjIZAzwqDoTgfXGzNOJM6pPTcvfKI5CuSewlAeavlUM9kAnTqgMoSmJjMVYjMVY/18bicJY7+Jb63XyV5qC9EVHI5nfcCT1G4YUASOQMlBEHNPp5P7D312X1HeYPE2X5as4GYF1ja6N5VdLga84Tl9kNJL4DJVYdbouwsApWxG65AiWbT6LNdsvYNW281i++RwWrT+N2SuPQ1l4CONm7MXgkO3oMXYjSjWdQfd1XayAOkZkLTVeIlVsMxczVxzD9TAV/6SGKzvxp88w18PyFfGvrcifUIHKesxfexL/toYadoif5XDXwyKoP7yGoJL4NkXH3cd/UYP12wnftbAC6hqRxHcYKrWdCwvFWH61FWQoNgYe1ULw+MlzxrIUr+oGJPEZhgMnb8NCMZZvLUW2h1r2XwkrxVjeNQwCa4SWbxVjZS05HmVazML/VaNCd+NP76GugUUNz0H6bfin9eLFS8QmPJBNjZj4B+8jLotTH6L3+M2iWzTSNbCoH7dk4xnYWtSi7zRiHUo2nfH65/z6/++j0FbWp5aLdKSpqZCp+FgcOhUGW+rslRjZ1Pgh/wBkKTkOeSpMQl6RPJ+m/CR6DkJzfqz8lafIUYFrYQmwpep3X4KfCg6kPqT7jGflrTAZntUMCI++C60Vn/gQBavo6b70GO6F5V3dgIgY7VhnLkcje5kJKFRV735YXjZiHT8fiWylxzOWljp5Icqe3yzGYizGYizG8q9jpFb2uykpU/mpwEDZ3bkVkQitdfBUGL7O3Q+/ew2hx7CY1EEj380UOSwWDbsUqDwFLQeuwoDJW9FnwmaT6Tpqg+zoqnceQWvdFLCdhq9Dz7GbzD4upd+kLXIqzL+2ER5V9Y6L5VktBOmLjsGlG/GwZz189EzOEuWtONmxsWQH+XQY7FkHT92mvwJ6PY6PRaOf9qylm88ihf8IeFt/zYyln3cQf/poGiVlrL4Tt9COIoylpZr2XY40wSMZy1q9egW5U0nmkuMYS8sgITVGc5efyFjW6sK1WOQsO5FGVR0fK0PRMXJiwV61/8QtmgKjvqfjY9Gsy8Y9lxGX+JDm9UwmJv6+PH7x8hW01rPnLxAdL+cIzT4u/QSVRYcF1ginGXV4N3dHx6ZCMzu0A62Now7086IpLrOP619boW8U9VGdAUtCyX05c5enOTzToa5ILvHGw6PvQGsdOxeJ1MGjkL30eLOPS89J/1X0QbnKeBa9MR7PYizGYizGYizGYizGYizGYizGYizGYizGYizGYizGYizGYiwTYSzlAWNpX5ktUZxgLC1r/gXVGz3To6r51SQZywDParSa5NglutItuv4i1KI8xAXen3zDGEsRUDPEsTG+VLMeSV6vgNuk3x9CzihuEPZmBVzV3hFYqsBSw6PvqgDUly9fWQzd5sSFSFVgqQLrP3gN0iFCuEwv2nhQcnL6GxSz10pc8bb1AAAAAElFTkSuQmCC</resource> <resource name="google_maps.png" app="core" location="admin" path="/enhancements/">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 truncated
<resource name="giphy.png" app="core" location="admin" path="/enhancements/">iVBORw0KGgoAAAANSUhEUgAAAH0AAACXCAMAAAAPgaTzAAAAjVBMVEUAAAD//7L/4qn/jIz/xcX//5n/2Iz/Zmb/srLv/5n1/5n/n5//2Nj/4OAA/5knn28AAAAXExP/hIT/dXX/srL/2Nj/srIAAAAIBwcwJC9XHISzkMwXFBpMGH+tjswVEhlyJb+8k+UTEBeZM//Mmf8A+58fpHoBAQEXFyKPPP/Hnf8AzP9/5f8/2P+f6/8OwMTMAAAAL3RSTlMAr7CvQf///1///2kQDP+5/8jM5X8nT/baufxaw/9bxP9VyP9P/7vtwv9Q/0+PLC9rVGAAAAC1SURBVHgB7c3ToQNQFACw+2wbtbn/eP3tqc1kgaTtOlmt07PgfMp+sVqXV8G1/ah3u91uvwluV7zf3fd7GNofg6fnJb3EPXo90N1ut9vt9rf34GON+3Sfe7Tb7Xa73f71PcHPb/A3vK/TfybI2u12u92+Orl8UNjsXiwFZbvdbrfb7Xa73W632+12u91ut9vtdrvdbrfb7Xb7bOx2eyWo1tap3giaKbW2p2232+32dbJ3tqebeqxgLHOamQDNAAAAAElFTkSuQmCC</resource> <resource name="giphy.png" app="core" location="admin" path="/enhancements/">iVBORw0KGgoAAAANSUhEUgAAAH0AAACXCAMAAAAPgaTzAAAAjVBMVEUAAAD//7L/4qn/jIz/xcX//5n/2Iz/Zmb/srLv/5n1/5n/n5//2Nj/4OAA/5knn28AAAAXExP/hIT/dXX/srL/2Nj/srIAAAAIBwcwJC9XHISzkMwXFBpMGH+tjswVEhlyJb+8k+UTEBeZM//Mmf8A+58fpHoBAQEXFyKPPP/Hnf8AzP9/5f8/2P+f6/8OwMTMAAAAL3RSTlMAr7CvQf///1///2kQDP+5/8jM5X8nT/baufxaw/9bxP9VyP9P/7vtwv9Q/0+PLC9rVGAAAAC1SURBVHgB7c3ToQNQFACw+2wbtbn/eP3tqc1kgaTtOlmt07PgfMp+sVqXV8G1/ah3u91uvwluV7zf3fd7GNofg6fnJb3EPXo90N1ut9vt9rf34GON+3Sfe7Tb7Xa73f71PcHPb/A3vK/TfybI2u12u92+Orl8UNjsXiwFZbvdbrfb7Xa73W632+12u91ut9vtdrvdbrfb7Xb7bOx2eyWo1tap3giaKbW2p2232+32dbJ3tqebeqxgLHOamQDNAAAAAElFTkSuQmCC</resource>
<resource name="ips.png" app="core" location="admin" path="/enhancements/">iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAYAAAA4TnrqAAADoUlEQVR4Ae2cAWRbXxTG/4RQQgl/RhmllDJKGKVTRsEoowyMUUYZo3RGGWWUUUooo4xRSimtUkoZpZQQQhihlDBCGKGEcPddnknt8LK77+Td93LxUyDv5Nd3b27O+fL+M8YEBiRI+BdZT96dTINS4GRalBVJmgF1YAK/qVkvkqzTIEfkmyTrMogRuZJkrQcxIh8kWQXQCnLu0QbFP2RFwlaDoHusxRwdwt4VcQ1ycbKmwN2Ii+qCmfgTfNjsLRvWw6CycuB6REVVQX5gWX0n+u4ILr9Zpy/S9owxYrI+yi4Gk5UH1RERVQd5Z1mRsFnQy7ioHnhM6WfZ2zPjsrZpzb9oOX7PqKgGGKPJioTNZXQ5zqu0le3tmjFRZbUefNSZaGRE1A0o8GTJwhYyImuRP92Rhe2mXNSe6ihMWI63KRXVBON6smRhiymVtaQ/ZJWFfUmZqK+27qRkFUEzJaJaoEiV5SDseUpkLTPG9wxhB56LOmRmHRjLse3xOOsBSxZL2AtPZb1kpmiYwo48E3Vq6/JV1oRHy/EnmGDLYgt75YmsFZ0wG1/YecKiLmwdaZH1EHQSEtUBk/7L8iNk8iaVAVybmhuyqEuQS6usqSEuxzswpfNe5DBbSUHY2pBkrSvUXgIFSdYhMGCVfMEcuBpGlopc92tgwIEkq9Y3nZ0jX1gOmRCzVOw7qq/emihLmPszC9jQDMgykPMd8bIsmwrLsUrPUun/U2VZUlaJXMgscTn2FOqbBl0XWZaKwsa5yc9S8T+IXGRZ1hX2hLqLIOU99S0w7rKUDns2C+USMlH8tJ4EHYYsy6XCge8TK0tFqOUCGJYsjcPqGGiws1QOdawAw5bVARPkQuf/UtaCfmeXI8typrAEyoQsleu1j4HhyyJOS4SQyU3MNW/lLBV/GsWW1Qb/kwtfdM9SOc85W3xZMgcKS2ILGIEthWvtA6MjS2ZJ4U0cCmN39jWeATNsWU1QVDhOvAf16C/7mDAOmhRZ3LghH4Ksz8DQZDnw1Csp/OAwVVYDFDwXVQANuixHdjyXtQ2ML7LonQB+h4Mrq+Jbj4nTO4tuAncqkqwz9xfk9e097MqeS7LKrN8YeyLqEanfX5ZkLRNe2KFvT4b/9IBlSVYe/NAfpfNRfC6F9ZGnPYuG0LdnwH/iidAdjv8y6045IVk7pPqPBnnmX4602e8nJGuPUPuudAyKC0fsgIoDxwkuw0lw7Fi3lVQihNkCQUKQpcMv8tywDsyfxOgAAAAASUVORK5CYII=</resource> <resource name="ips.png" app="core" location="admin" path="/enhancements/">iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAYAAAA4TnrqAAADoUlEQVR4Ae2cAWRbXxTG/4RQQgl/RhmllDJKGKVTRsEoowyMUUYZo3RGGWWUUUooo4xRSimtUkoZpZQQQhihlDBCGKGEcPddnknt8LK77+Td93LxUyDv5Nd3b27O+fL+M8YEBiRI+BdZT96dTINS4GRalBVJmgF1YAK/qVkvkqzTIEfkmyTrMogRuZJkrQcxIh8kWQXQCnLu0QbFP2RFwlaDoHusxRwdwt4VcQ1ycbKmwN2Ii+qCmfgTfNjsLRvWw6CycuB6REVVQX5gWX0n+u4ILr9Zpy/S9owxYrI+yi4Gk5UH1RERVQd5Z1mRsFnQy7ioHnhM6WfZ2zPjsrZpzb9oOX7PqKgGGKPJioTNZXQ5zqu0le3tmjFRZbUefNSZaGRE1A0o8GTJwhYyImuRP92Rhe2mXNSe6ihMWI63KRXVBON6smRhiymVtaQ/ZJWFfUmZqK+27qRkFUEzJaJaoEiV5SDseUpkLTPG9wxhB56LOmRmHRjLse3xOOsBSxZL2AtPZb1kpmiYwo48E3Vq6/JV1oRHy/EnmGDLYgt75YmsFZ0wG1/YecKiLmwdaZH1EHQSEtUBk/7L8iNk8iaVAVybmhuyqEuQS6usqSEuxzswpfNe5DBbSUHY2pBkrSvUXgIFSdYhMGCVfMEcuBpGlopc92tgwIEkq9Y3nZ0jX1gOmRCzVOw7qq/emihLmPszC9jQDMgykPMd8bIsmwrLsUrPUun/U2VZUlaJXMgscTn2FOqbBl0XWZaKwsa5yc9S8T+IXGRZ1hX2hLqLIOU99S0w7rKUDns2C+USMlH8tJ4EHYYsy6XCge8TK0tFqOUCGJYsjcPqGGiws1QOdawAw5bVARPkQuf/UtaCfmeXI8typrAEyoQsleu1j4HhyyJOS4SQyU3MNW/lLBV/GsWW1Qb/kwtfdM9SOc85W3xZMgcKS2ILGIEthWvtA6MjS2ZJ4U0cCmN39jWeATNsWU1QVDhOvAf16C/7mDAOmhRZ3LghH4Ksz8DQZDnw1Csp/OAwVVYDFDwXVQANuixHdjyXtQ2ML7LonQB+h4Mrq+Jbj4nTO4tuAncqkqwz9xfk9e097MqeS7LKrN8YeyLqEanfX5ZkLRNe2KFvT4b/9IBlSVYe/NAfpfNRfC6F9ZGnPYuG0LdnwH/iidAdjv8y6045IVk7pPqPBnnmX4602e8nJGuPUPuudAyKC0fsgIoDxwkuw0lw7Fi3lVQihNkCQUKQpcMv8tywDsyfxOgAAAAASUVORK5CYII=</resource>
<resource name="tiny_loading.gif" app="core" location="admin" path="/">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</resource> <resource name="tiny_loading.gif" app="core" location="admin" path="/">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</resource>
+4 -1
View File
@@ -285,5 +285,8 @@
"5000033": "5.0.0 Beta 7", "5000033": "5.0.0 Beta 7",
"5000034": "5.0.0 Beta 7", "5000034": "5.0.0 Beta 7",
"5000035": "5.0.0 Beta 7", "5000035": "5.0.0 Beta 7",
"5000036": "5.0.0 Beta 8" "5000036": "5.0.0 Beta 8",
"5000037": "5.0.0 Beta 8",
"5000038": "5.0.0 Beta 9",
"5000039": "5.0.0 Beta 9.1"
} }
@@ -56,7 +56,7 @@ class FacebookPixel extends CommunityEnhancementsAbstract
/** /**
* @brief Icon data * @brief Icon data
*/ */
public string $icon = "facebook.png"; public string $icon = "meta.png";
/** /**
* Constructor * Constructor
@@ -58,7 +58,7 @@ class GoogleMaps extends CommunityEnhancementsAbstract
/** /**
* @brief Icon data * @brief Icon data
*/ */
public string $icon = "google_maps.jpeg"; public string $icon = "google_maps.png";
/** /**
* Constructor * Constructor
@@ -791,10 +791,23 @@ class Core extends MemberHistoryAbstract
$club = Club::load( $jsonValue['club_id'] ); $club = Club::load( $jsonValue['club_id'] );
switch( $jsonValue['type'] ) switch( $jsonValue['type'] )
{ {
case Club::STATUS_INVITED:
case Club::STATUS_INVITED_BYPASSING_PAYMENT:
if( isset( $jsonValue['remove'] ) and $jsonValue['remove'] )
{
return Member::loggedIn()->language()->addToStack( 'history_invite_club_canceled', false, [ 'htmlsprintf' => [ $club->name, $byStaff ] ] );
}
return Member::loggedIn()->language()->addToStack( 'history_invited_to_club', false, array( 'htmlsprintf' => array( $club->name, $byStaff ) ) );
case Club::STATUS_BANNED: case Club::STATUS_BANNED:
return Member::loggedIn()->language()->addToStack( 'history_removed_from_club', FALSE, array('htmlsprintf' => array( $club->name, $byStaff ) ) ); return Member::loggedIn()->language()->addToStack( 'history_removed_from_club', FALSE, array('htmlsprintf' => array( $club->name, $byStaff ) ) );
case Club::STATUS_MEMBER: case Club::STATUS_MEMBER:
return Member::loggedIn()->language()->addToStack( 'history_added_to_club', FALSE, array('htmlsprintf' => array( $club->name, $byStaff ) ) ); return Member::loggedIn()->language()->addToStack( 'history_added_to_club', FALSE, array('htmlsprintf' => array( $club->name, $byStaff ) ) );
case Club::STATUS_LEFT:
return Member::loggedIn()->language()->addToStack( 'history_left_club', false, [ 'htmlsprintf' => [ $club->name ] ] );
case Club::STATUS_REQUESTED:
return Member::loggedIn()->language()->addToStack( 'history_request_club', false, [ 'htmlsprintf' => [ $club->name ] ] );
case Club::STATUS_DECLINED:
return Member::loggedIn()->language()->addToStack( 'history_decline_club', false, [ 'htmlsprintf' => [ $club->name ] ] );
} }
} }
catch ( Exception $e ) { } catch ( Exception $e ) { }
@@ -75,18 +75,21 @@ class FeaturedComments
{ {
$member = $member ?: Member::loggedIn(); $member = $member ?: Member::loggedIn();
$commentIdField = $comment::$databaseColumnId; $commentIdField = $comment::$databaseColumnId;
$idToRemove = FALSE; $metaData = $item->getMeta();
foreach( $item->getMeta()['core_FeaturedComments'] AS $key => $data ) if( isset( $metaData['core_FeaturedComments'] ) )
{ {
if ( $data['comment'] == $comment->$commentIdField ) $idToRemove = FALSE;
foreach( $metaData['core_FeaturedComments'] AS $key => $data )
{ {
$idToRemove = $key; if ( $data['comment'] == $comment->$commentIdField )
break; {
$idToRemove = $key;
break;
}
} }
$item->deleteMeta( $idToRemove );
} }
$item->deleteMeta( $idToRemove );
} }
/** /**
@@ -22,7 +22,7 @@ use IPS\Member;
use IPS\Patterns\ActiveRecordIterator; use IPS\Patterns\ActiveRecordIterator;
use OutOfRangeException; use OutOfRangeException;
use function defined; use function defined;
use const IPS\REBUILD_NORMAL; use const IPS\REBUILD_SLOW;
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) ) if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{ {
@@ -60,6 +60,8 @@ class MemberContent extends QueueAbstract
{ {
return NULL; return NULL;
} }
$data['last_id'] = 0;
/* Get count - only do this if we're deleting member content, not guest content */ /* Get count - only do this if we're deleting member content, not guest content */
if ( $data['member_id'] ) if ( $data['member_id'] )
@@ -93,18 +95,22 @@ class MemberContent extends QueueAbstract
public function run( array &$data, int $offset ): int public function run( array &$data, int $offset ): int
{ {
$classname = $data['class']; $classname = $data['class'];
$idColumn = $classname::$databaseColumnId;
$exploded = explode( '\\', $classname ); $exploded = explode( '\\', $classname );
if ( !class_exists( $classname ) or !Application::appIsEnabled( $exploded[1] ) ) if ( !class_exists( $classname ) or !Application::appIsEnabled( $exploded[1] ) )
{ {
throw new \IPS\Task\Queue\OutOfRangeException; throw new \IPS\Task\Queue\OutOfRangeException;
} }
$select = $classname::db()->select( '*', $classname::$databaseTable, static::_getWhere( $data ), $classname::$databasePrefix.$classname::$databaseColumnId, array( 0, REBUILD_NORMAL ) ); $select = $classname::db()->select( '*', $classname::$databaseTable, static::_getWhere( $data ), $classname::$databasePrefix.$classname::$databaseColumnId, REBUILD_SLOW );
/* Keep track of how many we did since we cannot rely on the count for guests */ /* Keep track of how many we did since we cannot rely on the count for guests */
$did = 0; $did = 0;
foreach ( new ActiveRecordIterator( $select, $classname ) as $item ) foreach ( new ActiveRecordIterator( $select, $classname ) as $item )
{ {
$did++;
$data['last_id'] = $item->$idColumn;
/* If this is the first comment on an item where a first comment is required (e.g. posts) do nothing, as when we get to the item, that will handle it */ /* If this is the first comment on an item where a first comment is required (e.g. posts) do nothing, as when we get to the item, that will handle it */
if ( $item instanceof Comment ) if ( $item instanceof Comment )
{ {
@@ -158,7 +164,7 @@ class MemberContent extends QueueAbstract
$did++; $did++;
} }
catch( OutOfRangeException |ErrorException $e ) catch( OutOfRangeException | ErrorException $e )
{ {
$did++; $did++;
} }
@@ -168,12 +174,8 @@ class MemberContent extends QueueAbstract
{ {
throw new \IPS\Task\Queue\OutOfRangeException; throw new \IPS\Task\Queue\OutOfRangeException;
} }
else if( isset( $data['count'] ) AND ( $offset + REBUILD_NORMAL >= $data['count'] ) )
{ return ( $offset + $did );
throw new \IPS\Task\Queue\OutOfRangeException;
}
return ( $offset + REBUILD_NORMAL );
} }
/** /**
@@ -226,11 +228,19 @@ class MemberContent extends QueueAbstract
{ {
/* @var array $databaseColumnMap */ /* @var array $databaseColumnMap */
$classname = $data['class']; $classname = $data['class'];
$where = array( array( $classname::$databasePrefix . $classname::$databaseColumnMap['author'] . '=?', $data['member_id'] ) ); $where = [
[
$classname::$databasePrefix . $classname::$databaseColumnId . '>?', $data['last_id']
]
];
if ( !$data['member_id'] ) if ( !$data['member_id'] )
{ {
$where = array( $classname::$databasePrefix . $classname::$databaseColumnMap['author_name'] . '=?', $data['name'] ); $where[] = [ $classname::$databasePrefix . $classname::$databaseColumnMap['author_name'] . '=?', $data['name'] ];
}
else
{
$where[] = [ $classname::$databasePrefix . $classname::$databaseColumnMap['author'] . '=?', $data['member_id'] ];
} }
if ( $data['action'] == 'hide' ) if ( $data['action'] == 'hide' )
@@ -13,6 +13,8 @@ namespace IPS\core\extensions\core\Queue;
use IPS\Content; use IPS\Content;
use IPS\Content\Item; use IPS\Content\Item;
use IPS\Content\Search\Index;
use IPS\Content\Search\SearchContent;
use IPS\Db; use IPS\Db;
use IPS\Extensions\QueueAbstract; use IPS\Extensions\QueueAbstract;
use IPS\Member; use IPS\Member;
@@ -109,6 +111,19 @@ class UpdateTaggedItems extends QueueAbstract
} }
$item->setTags( $currentTags ); $item->setTags( $currentTags );
/* Update the search index */
if( SearchContent::isSearchable( $item ) )
{
if( $item::$firstCommentRequired )
{
Index::i()->index( $item->firstComment() );
}
else
{
Index::i()->index( $item );
}
}
} }
catch( OutOfRangeException ){} catch( OutOfRangeException ){}
break; break;
Binary file not shown.

After

Width:  |  Height:  |  Size: 513 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 B

+4 -6
View File
@@ -1,11 +1,9 @@
.fa::before,.fab::before,.far::before,.fas::before,.fa-brands::before,.fa-regular::before,.fa-solid::before{content:var(--i);}
/*! /*!
* Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com * Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc. * Copyright 2024 Fonticons, Inc.
*/ */
.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animatLine truncated .fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-regular,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-brands:before,.fa-regular:before,.fa-solid:before,.fa:before,.fab:before,.far:before,.fas:before{content:var(--fa)}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-reLine truncated
.fa-0{--i:"\30"}.fa-1{--i:"\31"}.fa-2{--i:"\32"}.fa-3{--i:"\33"}.fa-4{--i:"\34"}.fa-5{--i:"\35"}.fa-6{--i:"\36"}.fa-7{--i:"\37"}.fa-8{--i:"\38"}.fa-9{--i:"\39"}.fa-fill-drip{--i:"\f576"}.fa-arrows-to-circle{--i:"\e4bd"}.fa-chevron-circle-right,.fa-circle-chevron-right{--i:"\f138"}.fa-at{--i:"\40"}.fa-trash-alt,.fa-trash-can{--i:"\f2ed"}.fa-text-height{--i:"\f034"}.fa-user-times,.fa-user-xmark{--i:"\f235"}.fa-stethoscope{--i:"\f0f1"}.fa-comment-alt,.fa-message{--i:"\f27a"}.fa-info{--i:"\f129"}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--i:"\f422"}.fa-explosion{--i:"\e4e9"}.fa-file-alt,.fa-file-lines,.fa-file-text{--i:"\f15c"}.fa-wave-square{--i:"\f83e"}.fa-ring{--i:"\f70b"}.fa-building-un{--i:"\e4d9"}.fa-dice-three{--i:"\f527"}.fa-calendar-alt,.fa-calendar-days{--i:"\f073"}.fa-anchor-circle-check{--i:"\e4aa"}.fa-building-circle-arrow-right{--i:"\e4d1"}.fa-volleyball-ball,.fa-volleyball{--i:"\f45f"}.fa-arrows-up-to-line{--i:"\e4c2"}.fa-sort-desc,.fa-sort-down{--i:"\f0dd"}.fa-circle-minus,.fa-minus-circle{--i:"\f056"}.fa-door-open{--i:"\f52b"}.fa-right-from-bracket,.fa-sign-out-alt{--i:"\f2f5"}.fa-atom{--i:"\f5d2"}.fa-soap{--i:"\e06e"}.fa-heart-music-camera-bolt,.fa-icons{--i:"\f86d"}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--i:"\f539"}.fa-bridge-circle-check{--i:"\e4c9"}.fa-pump-medical{--i:"\e06a"}.fa-fingerprint{--i:"\f577"}.fa-hand-point-right{--i:"\f0a4"}.fa-magnifying-glass-location,.fa-search-location{--i:"\f689"}.fa-forward-step,.fa-step-forward{--i:"\f051"}.fa-face-smile-beam,.fa-smile-beam{--i:"\f5b8"}.fa-flag-checkered{--i:"\f11e"}.fa-football-ball,.fa-football{--i:"\f44e"}.fa-school-circle-exclamation{--i:"\e56c"}.fa-crop{--i:"\f125"}.fa-angle-double-down,.fa-angles-down{--i:"\f103"}.fa-users-rectangle{--i:"\e594"}.fa-people-roof{--i:"\e537"}.fa-people-line{--i:"\e534"}.fa-beer-mug-empty,.fa-beer{--i:"\f0fc"}.fa-diagram-predecessor{--i:"\e477"}.fa-arrow-up-long,.fa-long-arrow-up{--i:"\f176"}.fa-burn,.fa-fire-flame-simple{--i:"\f46a"}.fa-male,.fa-person{--i:"\f183"}.fa-laptop{--i:"\f109"}.fa-file-csv{--i:"\f6dd"}.fa-menorah{--i:"\f676"}.fa-truck-plane{--i:"\e58f"}.fa-record-vinyl{--i:"\f8d9"}.fa-face-grin-stars,.fa-grin-stars{--i:"\f587"}.fa-bong{--i:"\f55c"}.fa-pastafarianism,.fa-spaghetti-monster-flying{--i:"\f67b"}.fa-arrow-down-up-across-line{--i:"\e4af"}.fa-spoon,.fa-utensil-spoon{--i:"\f2e5"}.fa-jar-wheat{--i:"\e517"}.fa-envelopes-bulk,.fa-mail-bulk{--i:"\f674"}.fa-file-circle-exclamation{--i:"\e4eb"}.fa-circle-h,.fa-hospital-symbol{--i:"\f47e"}.fa-pager{--i:"\f815"}.fa-address-book,.fa-contact-book{--i:"\f2b9"}.fa-strikethrough{--i:"\f0cc"}.fa-k{--i:"\4b"}.fa-landmark-flag{--i:"\e51c"}.fa-pencil-alt,.fa-pencil{--i:"\f303"}.fa-backward{--i:"\f04a"}.fa-caret-right{--i:"\f0da"}.fa-comments{--i:"\f086"}.fa-file-clipboard,.fa-paste{--i:"\f0ea"}.fa-code-pull-request{--i:"\e13c"}.fa-clipboard-list{--i:"\f46d"}.fa-truck-loading,.fa-truck-ramp-box{--i:"\f4de"}.fa-user-check{--i:"\f4fc"}.fa-vial-virus{--i:"\e597"}.fa-sheet-plastic{--i:"\e571"}.fa-blog{--i:"\f781"}.fa-user-ninja{--i:"\f504"}.fa-person-arrow-up-from-line{--i:"\e539"}.fa-scroll-torah,.fa-torah{--i:"\f6a0"}.fa-broom-ball,.fa-quidditch-broom-ball,.fa-quidditch{--i:"\f458"}.fa-toggle-off{--i:"\f204"}.fa-archive,.fa-box-archive{--i:"\f187"}.fa-person-drowning{--i:"\e545"}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--i:"\f886"}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--i:"\f58a"}.fa-spray-can{--i:"\f5bd"}.fa-truck-monster{--i:"\f63b"}.fa-w{--i:"\57"}.fa-earth-africa,.fa-globe-africa{--i:"\f57c"}.fa-rainbow{--i:"\f75b"}.fa-circle-notch{--i:"\f1ce"}.fa-tablet-alt,.fa-tablet-screen-button{--i:"\f3fa"}.fa-paw{--i:"\f1b0"}.fa-cloud{--i:"\f0c2"}.fa-trowel-bricks{--i:"\e58a"}.fa-face-flushed,.fa-flushed{--i:"\f579"}.fa-hospital-user{--i:"\f80d"}.fa-tent-arrow-left-right{--i:"\e57f"}.fa-gavel,.fa-legal{--i:"\f0e3"}.fa-binoculars{--i:"\f1e5"}.fa-microphone-slash{--i:"\f131"}.fa-box-tissue{--i:"\e05b"}.fa-motorcycle{--i:"\f21c"}.fa-bell-concierge,.fa-concierge-bell{--i:"\f562"}.fa-pen-ruler,.fa-pencil-ruler{--i:"\f5ae"}.fa-people-arrows-left-right,.fa-people-arrows{--i:"\e068"}.fa-mars-and-venus-burst{--i:"\e523"}.fa-caret-square-right,.fa-square-caret-right{--i:"\f152"}.fa-cut,.fa-scissors{--i:"\f0c4"}.fa-sun-plant-wilt{--i:"\e57a"}.fa-toilets-portable{--i:"\e584"}.fa-hockey-puck{--i:"\f453"}.fa-table{--i:"\f0ce"}.fa-magnifying-glass-arrow-right{--i:"\e521"}.fa-digital-tachograph,.fa-tachograph-digital{--i:"\f566"}.fa-users-slash{--i:"\e073"}.fa-clover{--i:"\e139"}.fa-mail-reply,.fa-reply{--i:"\f3e5"}.fa-star-and-crescent{--i:"\f699"}.fa-house-fire{--i:"\e50c"}.fa-minus-square,.fa-square-minus{--i:"\f146"}.fa-helicopter{--i:"\f533"}.fa-compass{--i:"\f14e"}.fa-caret-square-down,.fa-square-caret-down{--i:"\f150"}.fa-file-circle-question{--i:"\e4ef"}.fa-laptop-code{--i:"\f5fc"}.fa-swatchbook{--i:"\f5c3"}.fa-prescription-bottle{--i:"\f485"}.fa-bars,.fa-navicon{--i:"\f0c9"}.fa-people-group{--i:"\e533"}Line truncated .fa-0{--fa:"\30";--fa--fa:"\30\30"}.fa-1{--fa:"\31";--fa--fa:"\31\31"}.fa-2{--fa:"\32";--fa--fa:"\32\32"}.fa-3{--fa:"\33";--fa--fa:"\33\33"}.fa-4{--fa:"\34";--fa--fa:"\34\34"}.fa-5{--fa:"\35";--fa--fa:"\35\35"}.fa-6{--fa:"\36";--fa--fa:"\36\36"}.fa-7{--fa:"\37";--fa--fa:"\37\37"}.fa-8{--fa:"\38";--fa--fa:"\38\38"}.fa-9{--fa:"\39";--fa--fa:"\39\39"}.fa-fill-drip{--fa:"\f576";--fa--fa:"\f576\f576"}.fa-arrows-to-circle{--fa:"\e4bd";--fa--fa:"\e4bd\e4bd"}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:"\f138";--fa--fa:"\f138\f138"}.fa-at{--fa:"\40";--fa--fa:"\40\40"}.fa-trash-alt,.fa-trash-can{--fa:"\f2ed";--fa--fa:"\f2ed\f2ed"}.fa-text-height{--fa:"\f034";--fa--fa:"\f034\f034"}.fa-user-times,.fa-user-xmark{--fa:"\f235";--fa--fa:"\f235\f235"}.fa-stethoscope{--fa:"\f0f1";--fa--fa:"\f0f1\f0f1"}.fa-comment-alt,.fa-message{--fa:"\f27a";--fa--fa:"\f27a\f27a"}.fa-info{--fa:"\f129";--fa--fa:"\f129\f129"}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:"\f422";--fa--fa:"\f422\f422"}.fa-explosion{--fa:"\e4e9";--fa--fa:"\e4e9\e4e9"}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:"\f15c";--fa--fa:"\f15c\f15c"}.fa-wave-square{--fa:"\f83e";--fa--fa:"\f83e\f83e"}.fa-ring{--fa:"\f70b";--fa--fa:"\f70b\f70b"}.fa-building-un{--fa:"\e4d9";--fa--fa:"\e4d9\e4d9"}.fa-dice-three{--fa:"\f527";--fa--fa:"\f527\f527"}.fa-calendar-alt,.fa-calendar-days{--fa:"\f073";--fa--fa:"\f073\f073"}.fa-anchor-circle-check{--fa:"\e4aa";--fa--fa:"\e4aa\e4aa"}.fa-building-circle-arrow-right{--fa:"\e4d1";--fa--fa:"\e4d1\e4d1"}.fa-volleyball,.fa-volleyball-ball{--fa:"\f45f";--fa--fa:"\f45f\f45f"}.fa-arrows-up-to-line{--fa:"\e4c2";--fa--fa:"\e4c2\e4c2"}.fa-sort-desc,.fa-sort-down{--fa:"\f0dd";--fa--fa:"\f0dd\f0dd"}.fa-circle-minus,.fa-minus-circle{--fa:"\f056";--fa--fa:"\f056\f056"}.fa-door-open{--fa:"\f52b";--fa--fa:"\f52b\f52b"}.fa-right-from-bracket,.fa-sign-out-alt{--fa:"\f2f5";--fa--fa:"\f2f5\f2f5"}.fa-atom{--fa:"\f5d2";--fa--fa:"\f5d2\f5d2"}.fa-soap{--fa:"\e06e";--fa--fa:"\e06e\e06e"}.fa-heart-music-camera-bolt,.fa-icons{--fa:"\f86d";--fa--fa:"\f86d\f86d"}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:"\f539";--fa--fa:"\f539\f539"}.fa-bridge-circle-check{--fa:"\e4c9";--fa--fa:"\e4c9\e4c9"}.fa-pump-medical{--fa:"\e06a";--fa--fa:"\e06a\e06a"}.fa-fingerprint{--fa:"\f577";--fa--fa:"\f577\f577"}.fa-hand-point-right{--fa:"\f0a4";--fa--fa:"\f0a4\f0a4"}.fa-magnifying-glass-location,.fa-search-location{--fa:"\f689";--fa--fa:"\f689\f689"}.fa-forward-step,.fa-step-forward{--fa:"\f051";--fa--fa:"\f051\f051"}.fa-face-smile-beam,.fa-smile-beam{--fa:"\f5b8";--fa--fa:"\f5b8\f5b8"}.fa-flag-checkered{--fa:"\f11e";--fa--fa:"\f11e\f11e"}.fa-football,.fa-football-ball{--fa:"\f44e";--fa--fa:"\f44e\f44e"}.fa-school-circle-exclamation{--fa:"\e56c";--fa--fa:"\e56c\e56c"}.fa-crop{--fa:"\f125";--fa--fa:"\f125\f125"}.fa-angle-double-down,.fa-angles-down{--fa:"\f103";--fa--fa:"\f103\f103"}.fa-users-rectangle{--fa:"\e594";--fa--fa:"\e594\e594"}.fa-people-roof{--fa:"\e537";--fa--fa:"\e537\e537"}.fa-people-line{--fa:"\e534";--fa--fa:"\e534\e534"}.fa-beer,.fa-beer-mug-empty{--fa:"\f0fc";--fa--fa:"\f0fc\f0fc"}.fa-diagram-predecessor{--fa:"\e477";--fa--fa:"\e477\e477"}.fa-arrow-up-long,.fa-long-arrow-up{--fa:"\f176";--fa--fa:"\f176\f176"}.fa-burn,.fa-fire-flame-simple{--fa:"\f46a";--fa--fa:"\f46a\f46a"}.fa-male,.fa-person{--fa:"\f183";--fa--fa:"\f183\f183"}.fa-laptop{--fa:"\f109";--fa--fa:"\f109\f109"}.fa-file-csv{--fa:"\f6dd";--fa--fa:"\f6dd\f6dd"}.fa-menorah{--fa:"\f676";--fa--fa:"\f676\f676"}.fa-truck-plane{--fa:"\e58f";--fa--fa:"\e58f\e58f"}.fa-record-vinyl{--fa:"\f8d9";--fa--fa:"\f8d9\f8d9"}.fa-face-grin-stars,.fa-grin-stars{--fa:"\f587";--fa--fa:"\f587\f587"}.fa-bong{--fa:"\f55c";--fa--fa:"\f55c\f55c"}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:"\f67b";--fa--fa:"\f67b\f67b"}.fa-arrow-down-up-across-line{--fa:"\e4af";--fa--fa:"\e4af\e4af"}.fa-spoon,.fa-utensil-spoon{--fa:"\f2e5";--fa--fa:"\f2e5\f2e5"}.fa-jar-wheat{--fa:"\e517";--fa--fa:"\e517\e517"}.fa-envelopes-bulk,.fa-mail-bulk{--fa:"\f674";--fa--fa:"\f674\f674"}.fa-file-circle-exclamation{--fa:"\e4eb";--fa--fa:"\e4eb\e4eb"}.fa-circle-h,.fa-hospital-symbol{--fa:"\f47e";--fa--fa:"\f47e\f47e"}.fa-pager{--fa:"\f815";--fa--fa:"\f815\f815"}.fa-address-book,.fa-contact-book{--fa:"\f2b9";--fa--fa:"\f2b9\f2b9"}.fa-strikethrough{--fa:"\f0cc";--fa--fa:"\f0cc\f0cc"}.fa-k{--fa:"\4b";--fa--fa:"\4b\4b"}.fa-landmark-flag{--fa:"\e51c";--fa--fa:"\e51c\e51c"}.fa-pencil,.fa-pencil-alt{--fa:"\f303";--fa--fa:"\f303\f303"}.fa-backward{--fa:"\f04a";--fa--fa:"\f04a\f04a"}.fa-caret-right{--fa:"\f0da";--fa--fa:"\f0da\f0da"}.fa-comments{--fa:"\f086";--fa--fa:"\f086\f086"}.fa-file-clipboard,.fa-paste{--fa:"\f0ea";--fa--fa:"\f0ea\f0ea"}.fa-code-pull-request{--fa:"\e13c";--fa--fa:"\e13c\e13c"}.fa-clipboard-list{--fa:"\f46d";--fa--fa:"\f46d\f46d"}.fa-truck-loading,.fa-truck-ramp-box{--fa:"\f4de";--fa--fa:"\f4de\f4de"}.fa-user-check{--fa:"\f4fc";--fa--fa:"\f4fc\f4fc"}.fa-vial-virus{--fa:"\e597";--fa--fa:"\e597\e597"}.fa-shLine truncated
.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero{--i:"\f3d0"}.fa-hooli{--i:"\f427"}.fa-yelp{--i:"\f1e9"}.fa-cc-visa{--i:"\f1f0"}.fa-lastfm{--i:"\f202"}.fa-shopware{--i:"\f5b5"}.fa-creative-commons-nc{--i:"\f4e8"}.fa-aws{--i:"\f375"}.fa-redhat{--i:"\f7bc"}.fa-yoast{--i:"\f2b1"}.fa-cloudflare{--i:"\e07d"}.fa-ups{--i:"\f7e0"}.fa-pixiv{--i:"\e640"}.fa-wpexplorer{--i:"\f2de"}.fa-dyalog{--i:"\f399"}.fa-bity{--i:"\f37a"}.fa-stackpath{--i:"\f842"}.fa-buysellads{--i:"\f20d"}.fa-first-order{--i:"\f2b0"}.fa-modx{--i:"\f285"}.fa-guilded{--i:"\e07e"}.fa-vnv{--i:"\f40b"}.fa-js-square,.fa-square-js{--i:"\f3b9"}.fa-microsoft{--i:"\f3ca"}.fa-qq{--i:"\f1d6"}.fa-orcid{--i:"\f8d2"}.fa-java{--i:"\f4e4"}.fa-invision{--i:"\f7b0"}.fa-creative-commons-pd-alt{--i:"\f4ed"}.fa-centercode{--i:"\f380"}.fa-glide-g{--i:"\f2a6"}.fa-drupal{--i:"\f1a9"}.fa-jxl{--i:"\e67b"}.fa-hire-a-helper{--i:"\f3b0"}.fa-creative-commons-by{--i:"\f4e7"}.fa-unity{--i:"\e049"}.fa-whmcs{--i:"\f40d"}.fa-rocketchat{--i:"\f3e8"}.fa-vk{--i:"\f189"}.fa-untappd{--i:"\f405"}.fa-mailchimp{--i:"\f59e"}.fa-css3-alt{--i:"\f38b"}.fa-reddit-square,.fa-square-reddit{--i:"\f1a2"}.fa-vimeo-v{--i:"\f27d"}.fa-contao{--i:"\f26d"}.fa-square-font-awesome{--i:"\e5ad"}.fa-deskpro{--i:"\f38f"}.fa-brave{--i:"\e63c"}.fa-sistrix{--i:"\f3ee"}.fa-instagram-square,.fa-square-instagram{--i:"\e055"}.fa-battle-net{--i:"\f835"}.fa-the-red-yeti{--i:"\f69d"}.fa-hacker-news-square,.fa-square-hacker-news{--i:"\f3af"}.fa-edge{--i:"\f282"}.fa-threads{--i:"\e618"}.fa-napster{--i:"\f3d2"}.fa-snapchat-square,.fa-square-snapchat{--i:"\f2ad"}.fa-google-plus-g{--i:"\f0d5"}.fa-artstation{--i:"\f77a"}.fa-markdown{--i:"\f60f"}.fa-sourcetree{--i:"\f7d3"}.fa-google-plus{--i:"\f2b3"}.fa-diaspora{--i:"\f791"}.fa-foursquare{--i:"\f180"}.fa-stack-overflow{--i:"\f16c"}.fa-github-alt{--i:"\f113"}.fa-phoenix-squadron{--i:"\f511"}.fa-pagelines{--i:"\f18c"}.fa-algolia{--i:"\f36c"}.fa-red-river{--i:"\f3e3"}.fa-creative-commons-sa{--i:"\f4ef"}.fa-safari{--i:"\f267"}.fa-google{--i:"\f1a0"}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--i:"\f35c"}.fa-atlassian{--i:"\f77b"}.fa-linkedin-in{--i:"\f0e1"}.fa-digital-ocean{--i:"\f391"}.fa-nimblr{--i:"\f5a8"}.fa-chromecast{--i:"\f838"}.fa-evernote{--i:"\f839"}.fa-hacker-news{--i:"\f1d4"}.fa-creative-commons-sampling{--i:"\f4f0"}.fa-adversal{--i:"\f36a"}.fa-creative-commons{--i:"\f25e"}.fa-watchman-monitoring{--i:"\e087"}.fa-fonticons{--i:"\f280"}.fa-weixin{--i:"\f1d7"}.fa-shirtsinbulk{--i:"\f214"}.fa-codepen{--i:"\f1cb"}.fa-git-alt{--i:"\f841"}.fa-lyft{--i:"\f3c3"}.fa-rev{--i:"\f5b2"}.fa-windows{--i:"\f17a"}.fa-wizards-of-the-coast{--i:"\f730"}.fa-square-viadeo,.fa-viadeo-square{--i:"\f2aa"}.fa-meetup{--i:"\f2e0"}.fa-centos{--i:"\f789"}.fa-adn{--i:"\f170"}.fa-cloudsmith{--i:"\f384"}.fa-opensuse{--i:"\e62b"}.fa-pied-piper-alt{--i:"\f1a8"}.fa-dribbble-square,.fa-square-dribbble{--i:"\f397"}.fa-codiepie{--i:"\f284"}.fa-node{--i:"\f419"}.fa-mix{--i:"\f3cb"}.fa-steam{--i:"\f1b6"}.fa-cc-apple-pay{--i:"\f416"}.fa-scribd{--i:"\f28a"}.fa-debian{--i:"\e60b"}.fa-openid{--i:"\f19b"}.fa-instalod{--i:"\e081"}.fa-expeditedssl{--i:"\f23e"}.fa-sellcast{--i:"\f2da"}.fa-square-twitter,.fa-twitter-square{--i:"\f081"}.fa-r-project{--i:"\f4f7"}.fa-delicious{--i:"\f1a5"}.fa-freebsd{--i:"\f3a4"}.fa-vuejs{--i:"\f41f"}.fa-accusoft{--i:"\f369"}.fa-ioxhost{--i:"\f208"}.fa-fonticons-fi{--i:"\f3a2"}.fa-app-store{--i:"\f36f"}.fa-cc-mastercard{--i:"\f1f1"}.fa-itunes-note{--i:"\f3b5"}.fa-golang{--i:"\e40f"}.fa-kickstarter,.fa-square-kickstarter{--i:"\f3bb"}.fa-grav{--i:"\f2d6"}.fa-weibo{--i:"\f18a"}.fa-uncharted{--i:"\e084"}.fa-firstdraft{--i:"\f3a1"}.fa-square-youtube,.fa-youtube-square{--i:"\f431"}.fa-wikipedia-w{--i:"\f266"}.fa-rendact,.fa-wpressr{--i:"\f3e4"}.fa-angellist{--i:"\f209"}.fa-galactic-republic{--i:"\f50c"}.fa-nfc-directional{--i:"\e530"}.fa-skype{--i:"\f17e"}.fa-joget{--i:"\f3b7"}.fa-fedora{--i:"\f798"}.fa-stripe-s{--i:"\f42a"}.fa-meta{--i:"\e49b"}.fa-laravel{--i:"\f3bd"}.fa-hotjar{--i:"\f3b1"}.fa-bluetooth-b{--i:"\f294"}.fa-square-letterboxd{--i:"\e62e"}.fa-sticker-mule{--i:"\f3f7"}.fa-creative-commons-zero{--i:"\f4f3"}.fa-hips{--i:"\f452"}.fa-behance{--i:"\f1b4"}.fa-reddit{--i:"\f1a1"}.fa-discord{--i:"\f392"}.fa-chrome{--i:"\f268"}.fa-app-store-ios{--i:"\f370"}.fa-cc-discover{--i:"\f1f2"}.fa-wpbeginner{--i:"\f297"}.fa-confluence{--i:"\f78d"}.fa-shoelace{--i:"\e60c"}.fa-mdb{--i:"\f8ca"}.fa-dochub{--i:"\f394"}.fa-accessible-icon{--i:"\f368"}.fa-ebay{--i:"\f4fLine truncated .fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero{--fa:"\f3d0"}.fa-hooli{--fa:"\f427"}.fa-yelp{--fa:"\f1e9"}.fa-cc-visa{--fa:"\f1f0"}.fa-lastfm{--fa:"\f202"}.fa-shopware{--fa:"\f5b5"}.fa-creative-commons-nc{--fa:"\f4e8"}.fa-aws{--fa:"\f375"}.fa-redhat{--fa:"\f7bc"}.fa-yoast{--fa:"\f2b1"}.fa-cloudflare{--fa:"\e07d"}.fa-ups{--fa:"\f7e0"}.fa-pixiv{--fa:"\e640"}.fa-wpexplorer{--fa:"\f2de"}.fa-dyalog{--fa:"\f399"}.fa-bity{--fa:"\f37a"}.fa-stackpath{--fa:"\f842"}.fa-buysellads{--fa:"\f20d"}.fa-first-order{--fa:"\f2b0"}.fa-modx{--fa:"\f285"}.fa-guilded{--fa:"\e07e"}.fa-vnv{--fa:"\f40b"}.fa-js-square,.fa-square-js{--fa:"\f3b9"}.fa-microsoft{--fa:"\f3ca"}.fa-qq{--fa:"\f1d6"}.fa-orcid{--fa:"\f8d2"}.fa-java{--fa:"\f4e4"}.fa-invision{--fa:"\f7b0"}.fa-creative-commons-pd-alt{--fa:"\f4ed"}.fa-centercode{--fa:"\f380"}.fa-glide-g{--fa:"\f2a6"}.fa-drupal{--fa:"\f1a9"}.fa-jxl{--fa:"\e67b"}.fa-dart-lang{--fa:"\e693"}.fa-hire-a-helper{--fa:"\f3b0"}.fa-creative-commons-by{--fa:"\f4e7"}.fa-unity{--fa:"\e049"}.fa-whmcs{--fa:"\f40d"}.fa-rocketchat{--fa:"\f3e8"}.fa-vk{--fa:"\f189"}.fa-untappd{--fa:"\f405"}.fa-mailchimp{--fa:"\f59e"}.fa-css3-alt{--fa:"\f38b"}.fa-reddit-square,.fa-square-reddit{--fa:"\f1a2"}.fa-vimeo-v{--fa:"\f27d"}.fa-contao{--fa:"\f26d"}.fa-square-font-awesome{--fa:"\e5ad"}.fa-deskpro{--fa:"\f38f"}.fa-brave{--fa:"\e63c"}.fa-sistrix{--fa:"\f3ee"}.fa-instagram-square,.fa-square-instagram{--fa:"\e055"}.fa-battle-net{--fa:"\f835"}.fa-the-red-yeti{--fa:"\f69d"}.fa-hacker-news-square,.fa-square-hacker-news{--fa:"\f3af"}.fa-edge{--fa:"\f282"}.fa-threads{--fa:"\e618"}.fa-napster{--fa:"\f3d2"}.fa-snapchat-square,.fa-square-snapchat{--fa:"\f2ad"}.fa-google-plus-g{--fa:"\f0d5"}.fa-artstation{--fa:"\f77a"}.fa-markdown{--fa:"\f60f"}.fa-sourcetree{--fa:"\f7d3"}.fa-google-plus{--fa:"\f2b3"}.fa-diaspora{--fa:"\f791"}.fa-foursquare{--fa:"\f180"}.fa-stack-overflow{--fa:"\f16c"}.fa-github-alt{--fa:"\f113"}.fa-phoenix-squadron{--fa:"\f511"}.fa-pagelines{--fa:"\f18c"}.fa-algolia{--fa:"\f36c"}.fa-red-river{--fa:"\f3e3"}.fa-creative-commons-sa{--fa:"\f4ef"}.fa-safari{--fa:"\f267"}.fa-google{--fa:"\f1a0"}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:"\f35c"}.fa-atlassian{--fa:"\f77b"}.fa-linkedin-in{--fa:"\f0e1"}.fa-digital-ocean{--fa:"\f391"}.fa-nimblr{--fa:"\f5a8"}.fa-chromecast{--fa:"\f838"}.fa-evernote{--fa:"\f839"}.fa-hacker-news{--fa:"\f1d4"}.fa-creative-commons-sampling{--fa:"\f4f0"}.fa-adversal{--fa:"\f36a"}.fa-creative-commons{--fa:"\f25e"}.fa-watchman-monitoring{--fa:"\e087"}.fa-fonticons{--fa:"\f280"}.fa-weixin{--fa:"\f1d7"}.fa-shirtsinbulk{--fa:"\f214"}.fa-codepen{--fa:"\f1cb"}.fa-git-alt{--fa:"\f841"}.fa-lyft{--fa:"\f3c3"}.fa-rev{--fa:"\f5b2"}.fa-windows{--fa:"\f17a"}.fa-wizards-of-the-coast{--fa:"\f730"}.fa-square-viadeo,.fa-viadeo-square{--fa:"\f2aa"}.fa-meetup{--fa:"\f2e0"}.fa-centos{--fa:"\f789"}.fa-adn{--fa:"\f170"}.fa-cloudsmith{--fa:"\f384"}.fa-opensuse{--fa:"\e62b"}.fa-pied-piper-alt{--fa:"\f1a8"}.fa-dribbble-square,.fa-square-dribbble{--fa:"\f397"}.fa-codiepie{--fa:"\f284"}.fa-node{--fa:"\f419"}.fa-mix{--fa:"\f3cb"}.fa-steam{--fa:"\f1b6"}.fa-cc-apple-pay{--fa:"\f416"}.fa-scribd{--fa:"\f28a"}.fa-debian{--fa:"\e60b"}.fa-openid{--fa:"\f19b"}.fa-instalod{--fa:"\e081"}.fa-files-pinwheel{--fa:"\e69f"}.fa-expeditedssl{--fa:"\f23e"}.fa-sellcast{--fa:"\f2da"}.fa-square-twitter,.fa-twitter-square{--fa:"\f081"}.fa-r-project{--fa:"\f4f7"}.fa-delicious{--fa:"\f1a5"}.fa-freebsd{--fa:"\f3a4"}.fa-vuejs{--fa:"\f41f"}.fa-accusoft{--fa:"\f369"}.fa-ioxhost{--fa:"\f208"}.fa-fonticons-fi{--fa:"\f3a2"}.fa-app-store{--fa:"\f36f"}.fa-cc-mastercard{--fa:"\f1f1"}.fa-itunes-note{--fa:"\f3b5"}.fa-golang{--fa:"\e40f"}.fa-kickstarter,.fa-square-kickstarter{--fa:"\f3bb"}.fa-grav{--fa:"\f2d6"}.fa-weibo{--fa:"\f18a"}.fa-uncharted{--fa:"\e084"}.fa-firstdraft{--fa:"\f3a1"}.fa-square-youtube,.fa-youtube-square{--fa:"\f431"}.fa-wikipedia-w{--fa:"\f266"}.fa-rendact,.fa-wpressr{--fa:"\f3e4"}.fa-angellist{--fa:"\f209"}.fa-galactic-republic{--fa:"\f50c"}.fa-nfc-directional{--fa:"\e530"}.fa-skype{--fa:"\f17e"}.fa-joget{--fa:"\f3b7"}.fa-fedora{--fa:"\f798"}.fa-stripe-s{--fa:"\f42a"}.fa-meta{--fa:"\e49b"}.fa-laravel{--fa:"\f3bd"}.fa-hotjar{--fa:"\f3b1"}.fa-bluetooth-b{--fa:"\f294"}.fa-square-letterboxd{--fa:"\e62e"}.fa-sticker-mule{--fa:"\f3f7"}.fa-creative-commons-zero{--fa:"\f4f3"}.fa-hips{--fa:"\f452"}.fa-css{--fa:"\e6a2"}.fa-behance{--fa:"\f1b4"}.fa-reddit{--fa:"\f1a1"}.fa-discord{--fa:"\f392"}.fa-chrome{--fa:"\f268"Line truncated
@@ -1,19 +1,25 @@
(()=>{var c={134:function(c,a){ (()=>{var c={134:function(c,l){
/*! /*!
* Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com * Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2023 Fonticons, Inc. * Copyright 2024 Fonticons, Inc.
*/ */
!function(c){"use strict";var a="fab",e={prefix:"fab",iconName:"monero",icon:[496,512,[],"f3d0","M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z"]},i={prefix:"fab",iconName:"hooli",icon:[640,512,[],"f427","M144.5 352l38.3.8c-13.2-4.6-26-10.2-38.3-16.8zm57.7-5.3v5.3l-19.4.8c36.5 12.5 69.9 14.2 94.7 7.2-19.9.2-45.8-2.6-75.3-13.3zm408.9-115.2c15.9 0 28.9-12.9 28.9-28.9s-12.9-24.5-28.9-24.5c-15.9 0-28.9 8.6-28.9 24.5s12.9 28.9 28.9 28.9zm-29 120.5H640V241.5h-57.9zm-73.7 0h57.9V156.7L508.4 184zm-31-119.4c-18.2-18.2-50.4-17.1-50.4-17.1s-32.3-1.1-50.4 17.1c-18.2 18.2-16.8 33.9-16.8 52.6s-1.4 34.3 16.8 52.5 50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.8-33.8 16.8-52.5-.1-18.8 1.3-34.5-16.8-52.6zm-39.8 71.9c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9zm-106.2-71.9c-18.2-18.2-50.4-17.1-50.4-17.1s-32.2-1.1-50.4 17.1c-1.9 1.9-3.7 3.9-5.3 6-38.2-29.6-72.5-46.5-102.1-61.1v-20.7l-22.5 10.6c-54.4-22.1-89-18.2-97.3.1 0 0-24.9 32.8 61.8 110.8V352h57.9v-28.6c-6.5-4.2-13-8.7-19.4-13.6-14.8-11.2-27.4-21.6-38.4-31.4v-31c13.1 14.7 30.5 31.4 53.4 50.3l4.5 3.6v-29.8c0-6.9 1.7-18.2 10.8-18.2s10.6 6.9 10.6 15V317c18 12.2 37.3 22.1 57.7 29.6v-93.9c0-18.7-13.4-37.4-40.6-37.4-15.8-.1-30.5 8.2-38.5 21.9v-54.3c41.9 20.9 83.9 46.5 99.9 58.3-10.2 14.6-9.3 28.1-9.3 43.7 0 18.7-1.4 34.3 16.8 52.5s50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.7-33.8 16.7-52.5 0-18.5 1.5-34.2-16.7-52.3zM65.2 184v63.3c-48.7-54.5-38.9-76-35.2-79.1 13.5-11.4 37.5-8 64.4 2.1zm226.5 120.5c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9z"]},f={prefix:"fab",iconName:"yelp",icon:[384,512,[],"f1e9","M42.9 240.32l99.62 48.61c19.2 9.4 16.2 37.51-4.5 42.71L30.5 358.45a22.79 22.79 0 0 1-28.21-19.6 197.16 197.16 0 0 1 9-85.32 22.8 22.8 0 0 1 31.61-13.21zm44 239.25a199.45 199.45 0 0 0 79.42 32.11A22.78 22.78 0 0 0 192.94 490l3.9-110.82c.7-21.3-25.5-31.91-39.81-16.1l-74.21 82.4a22.82 22.82 0 0 0 4.09 34.09zm145.34-109.92l58.81 94a22.93 22.93 0 0 0 34 5.5 198.36 198.36 0 0 0 52.71-67.61A23 23 0 0 0 364.17 370l-105.42-34.26c-20.31-6.5-37.81 15.8-26.51 33.91zm148.33-132.23a197.44 197.44 0 0 0-50.41-69.31 22.85 22.85 0 0 0-34 4.4l-62 91.92c-11.9 17.7 4.7 40.61 25.2 34.71L366 268.63a23 23 0 0 0 14.61-31.21zM62.11 30.18a22.86 22.86 0 0 0-9.9 32l104.12 180.44c11.7 20.2 42.61 11.9 42.61-11.4V22.88a22.67 22.67 0 0 0-24.5-22.8 320.37 320.37 0 0 0-112.33 30.1z"]},s={prefix:"fab",iconName:"cc-visa",icon:[576,512,[],"f1f0","M470.1 231.3s7.6 37.2 9.3 45H446c3.3-8.9 16-43.5 16-43.5-.2.3 3.3-9.1 5.3-14.9l2.8 13.4zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM152.5 331.2L215.7 176h-42.5l-39.3 106-4.3-21.5-14-71.4c-2.3-9.9-9.4-12.7-18.2-13.1H32.7l-.7 3.1c15.8 4 29.9 9.8 42.2 17.1l35.8 135h42.5zm94.4.2L272.1 176h-40.2l-25.1 155.4h40.1zm139.9-50.8c.2-17.7-10.6-31.2-33.7-42.3-14.1-7.1-22.7-11.9-22.7-19.2.2-6.6 7.3-13.4 23.1-13.4 13.1-.3 22.7 2.8 29.9 5.9l3.6 1.7 5.5-33.6c-7.9-3.1-20.5-6.6-36-6.6-39.7 0-67.6 21.2-67.8 51.4-.3 22.3 20 34.7 35.2 42.2 15.5 7.6 20.8 12.6 20.8 19.3-.2 10.4-12.6 15.2-24.1 15.2-16 0-24.6-2.5-37.7-8.3l-5.3-2.5-5.6 34.9c9.4 4.3 26.8 8.1 44.8 8.3 42.2.1 69.7-20.8 70-53zM528 331.4L495.6 176h-31.1c-9.6 0-16.9 2.8-21 12.9l-59.7 142.5H426s6.9-19.2 8.4-23.3H486c1.2 5.5 4.8 23.3 4.8 23.3H528z"]},l={prefix:"fab",iconName:"lastfm",icon:[512,512,[],"f202","M225.8 367.1l-18.8-51s-30.5 34-76.2 34c-40.5 0-69.2-35.2-69.2-91.5 0-72.1 36.4-97.9 72.1-97.9 66.5 0 74.8 53.3 100.9 134.9 18.8 56.9 54 102.6 155.4 102.6 72.7 0 122-22.3 122-80.9 0-72.9-62.7-80.6-115-92.1-25.8-5.9-33.4-16.4-33.4-34 0-19.9 15.8-31.7 41.6-31.7 28.2 0 43.4 10.6 45.7 35.8l58.6-7c-4.7-52.8-41.1-74.5-100.9-74.5-52.8 0-104.4 19.9-104.4 83.9 0 39.9 19.4 65.1 68 76.8 44.9 10.6 79.8 13.8 79.8 45.7 0 21.7-21.1 30.5-61 30.5-59.2 0-83.9-31.1-97.9-73.9-32-96.8-43.6-163-161.3-163C45.7 113.8 0 168.3 0 261c0 89.1 45.7 137.2 127.9 137.2 66.2 0 97.9-31.1 97.9-31.1z"]},n={prefix:"fab",iconName:"shopware",icon:[512,512,[],"f5b5","M403.5 455.41A246.17 246.17 0 0 1 256 504C118.81 504 8 393 8 256 8 118.81 119 8 256 8a247.39 247.39 0 0 1 165.7 63.5 3.57 3.57 0 0 1-2.86 6.18A418.62 418.62 0 0 0 362.13 74c-129.36 0-222.4 53.47-222.4 155.35 0 109 92.13 145.88 176.83 178.73 33.64 13 65.4 25.36 87 41.59a3.58 3.58 0 0 1 0 5.72zM503 233.09a3.64 3.64 0 0 0-1.27-2.44c-51.76-43-93.62-60.48-144.48-60.48-84.13 0-80.25 52.17-80.25 53.63 0 42.6 52.06 62 112.34 84.49 31.07 11.59 63.19 23.57 92.68 39.93a3.57 3.57 0 0 0 5-1.82A249 249 0 0 0 503 233.09z"]},o={prefix:"fab",iconName:"creative-commons-nc",icon:[496,512,[],"f4e8","M247.6 8C387.4 8 496 115.9 496 256c0 147.2-118.5 248-248.4 248C113.1 504 0 393.2 0 256 0 123.1 104.7 8 247.6 8zM55.8 189.1c-7.4 20.4-11.1 42.7-11.1 66.9 0 110.9 92.1 202.4 203.7 202.4 122.4 0 177.2-10Line truncated !function(c){"use strict";const l="fab",a={prefix:"fab",iconName:"monero",icon:[496,512,[],"f3d0","M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z"]},e={prefix:"fab",iconName:"hooli",icon:[640,512,[],"f427","M144.5 352l38.3.8c-13.2-4.6-26-10.2-38.3-16.8zm57.7-5.3v5.3l-19.4.8c36.5 12.5 69.9 14.2 94.7 7.2-19.9.2-45.8-2.6-75.3-13.3zm408.9-115.2c15.9 0 28.9-12.9 28.9-28.9s-12.9-24.5-28.9-24.5c-15.9 0-28.9 8.6-28.9 24.5s12.9 28.9 28.9 28.9zm-29 120.5H640V241.5h-57.9zm-73.7 0h57.9V156.7L508.4 184zm-31-119.4c-18.2-18.2-50.4-17.1-50.4-17.1s-32.3-1.1-50.4 17.1c-18.2 18.2-16.8 33.9-16.8 52.6s-1.4 34.3 16.8 52.5 50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.8-33.8 16.8-52.5-.1-18.8 1.3-34.5-16.8-52.6zm-39.8 71.9c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9zm-106.2-71.9c-18.2-18.2-50.4-17.1-50.4-17.1s-32.2-1.1-50.4 17.1c-1.9 1.9-3.7 3.9-5.3 6-38.2-29.6-72.5-46.5-102.1-61.1v-20.7l-22.5 10.6c-54.4-22.1-89-18.2-97.3.1 0 0-24.9 32.8 61.8 110.8V352h57.9v-28.6c-6.5-4.2-13-8.7-19.4-13.6-14.8-11.2-27.4-21.6-38.4-31.4v-31c13.1 14.7 30.5 31.4 53.4 50.3l4.5 3.6v-29.8c0-6.9 1.7-18.2 10.8-18.2s10.6 6.9 10.6 15V317c18 12.2 37.3 22.1 57.7 29.6v-93.9c0-18.7-13.4-37.4-40.6-37.4-15.8-.1-30.5 8.2-38.5 21.9v-54.3c41.9 20.9 83.9 46.5 99.9 58.3-10.2 14.6-9.3 28.1-9.3 43.7 0 18.7-1.4 34.3 16.8 52.5s50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.7-33.8 16.7-52.5 0-18.5 1.5-34.2-16.7-52.3zM65.2 184v63.3c-48.7-54.5-38.9-76-35.2-79.1 13.5-11.4 37.5-8 64.4 2.1zm226.5 120.5c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9z"]},s={prefix:"fab",iconName:"yelp",icon:[384,512,[],"f1e9","M42.9 240.32l99.62 48.61c19.2 9.4 16.2 37.51-4.5 42.71L30.5 358.45a22.79 22.79 0 0 1-28.21-19.6 197.16 197.16 0 0 1 9-85.32 22.8 22.8 0 0 1 31.61-13.21zm44 239.25a199.45 199.45 0 0 0 79.42 32.11A22.78 22.78 0 0 0 192.94 490l3.9-110.82c.7-21.3-25.5-31.91-39.81-16.1l-74.21 82.4a22.82 22.82 0 0 0 4.09 34.09zm145.34-109.92l58.81 94a22.93 22.93 0 0 0 34 5.5 198.36 198.36 0 0 0 52.71-67.61A23 23 0 0 0 364.17 370l-105.42-34.26c-20.31-6.5-37.81 15.8-26.51 33.91zm148.33-132.23a197.44 197.44 0 0 0-50.41-69.31 22.85 22.85 0 0 0-34 4.4l-62 91.92c-11.9 17.7 4.7 40.61 25.2 34.71L366 268.63a23 23 0 0 0 14.61-31.21zM62.11 30.18a22.86 22.86 0 0 0-9.9 32l104.12 180.44c11.7 20.2 42.61 11.9 42.61-11.4V22.88a22.67 22.67 0 0 0-24.5-22.8 320.37 320.37 0 0 0-112.33 30.1z"]},f={prefix:"fab",iconName:"cc-visa",icon:[576,512,[],"f1f0","M470.1 231.3s7.6 37.2 9.3 45H446c3.3-8.9 16-43.5 16-43.5-.2.3 3.3-9.1 5.3-14.9l2.8 13.4zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM152.5 331.2L215.7 176h-42.5l-39.3 106-4.3-21.5-14-71.4c-2.3-9.9-9.4-12.7-18.2-13.1H32.7l-.7 3.1c15.8 4 29.9 9.8 42.2 17.1l35.8 135h42.5zm94.4.2L272.1 176h-40.2l-25.1 155.4h40.1zm139.9-50.8c.2-17.7-10.6-31.2-33.7-42.3-14.1-7.1-22.7-11.9-22.7-19.2.2-6.6 7.3-13.4 23.1-13.4 13.1-.3 22.7 2.8 29.9 5.9l3.6 1.7 5.5-33.6c-7.9-3.1-20.5-6.6-36-6.6-39.7 0-67.6 21.2-67.8 51.4-.3 22.3 20 34.7 35.2 42.2 15.5 7.6 20.8 12.6 20.8 19.3-.2 10.4-12.6 15.2-24.1 15.2-16 0-24.6-2.5-37.7-8.3l-5.3-2.5-5.6 34.9c9.4 4.3 26.8 8.1 44.8 8.3 42.2.1 69.7-20.8 70-53zM528 331.4L495.6 176h-31.1c-9.6 0-16.9 2.8-21 12.9l-59.7 142.5H426s6.9-19.2 8.4-23.3H486c1.2 5.5 4.8 23.3 4.8 23.3H528z"]},i={prefix:"fab",iconName:"lastfm",icon:[512,512,[],"f202","M225.8 367.1l-18.8-51s-30.5 34-76.2 34c-40.5 0-69.2-35.2-69.2-91.5 0-72.1 36.4-97.9 72.1-97.9 66.5 0 74.8 53.3 100.9 134.9 18.8 56.9 54 102.6 155.4 102.6 72.7 0 122-22.3 122-80.9 0-72.9-62.7-80.6-115-92.1-25.8-5.9-33.4-16.4-33.4-34 0-19.9 15.8-31.7 41.6-31.7 28.2 0 43.4 10.6 45.7 35.8l58.6-7c-4.7-52.8-41.1-74.5-100.9-74.5-52.8 0-104.4 19.9-104.4 83.9 0 39.9 19.4 65.1 68 76.8 44.9 10.6 79.8 13.8 79.8 45.7 0 21.7-21.1 30.5-61 30.5-59.2 0-83.9-31.1-97.9-73.9-32-96.8-43.6-163-161.3-163C45.7 113.8 0 168.3 0 261c0 89.1 45.7 137.2 127.9 137.2 66.2 0 97.9-31.1 97.9-31.1z"]},o={prefix:"fab",iconName:"shopware",icon:[512,512,[],"f5b5","M403.5 455.41A246.17 246.17 0 0 1 256 504C118.81 504 8 393 8 256 8 118.81 119 8 256 8a247.39 247.39 0 0 1 165.7 63.5 3.57 3.57 0 0 1-2.86 6.18A418.62 418.62 0 0 0 362.13 74c-129.36 0-222.4 53.47-222.4 155.35 0 109 92.13 145.88 176.83 178.73 33.64 13 65.4 25.36 87 41.59a3.58 3.58 0 0 1 0 5.72zM503 233.09a3.64 3.64 0 0 0-1.27-2.44c-51.76-43-93.62-60.48-144.48-60.48-84.13 0-80.25 52.17-80.25 53.63 0 42.6 52.06 62 112.34 84.49 31.07 11.59 63.19 23.57 92.68 39.93a3.57 3.57 0 0 0 5-1.82A249 249 0 0 0 503 233.09z"]},n={prefix:"fab",iconName:"creative-commons-nc",icon:[496,512,[],"f4e8","M247.6 8C387.4 8 496 115.9 496 256c0 147.2-118.5 248-248.4 248C113.1 504 0 393.2 0 256 0 123.1 104.7 8 247.6 8zM55.8 189.1c-7.4 20.4-11.1 42.7-11.1 66.9 0 110.9 92.1 202.4 203.7 202.4 122.4 0 177.2-Line truncated
/*! /*!
* Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com * Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2023 Fonticons, Inc. * Copyright 2024 Fonticons, Inc.
*/ */
!function(c){"use strict";var a="far",e={prefix:"far",iconName:"trash-can",icon:[448,512,[61460,"trash-alt"],"f2ed","M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm80 64V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z"]},i=e,f={prefix:"far",iconName:"message",icon:[512,512,["comment-alt"],"f27a","M160 368c26.5 0 48 21.5 48 48v16l72.5-54.4c8.3-6.2 18.4-9.6 28.8-9.6H448c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16h96zm48 124l-.2 .2-5.1 3.8-17.1 12.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V474.7v-6.4V468v-4V416H112 64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L208 492z"]},s=f,l={prefix:"far",iconName:"file-lines",icon:[384,512,[128441,128462,61686,"file-alt","file-text"],"f15c","M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm56 256c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z"]},n=l,o=l,r={prefix:"far",iconName:"calendar-days",icon:[448,512,["calendar-alt"],"f073","M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192h80v56H48V192zm0 104h80v64H48V296zm128 0h96v64H176V296zm144 0h80v64H320V296zm80-48H320V192h80v56zm0 160v40c0 8.8-7.2 16-16 16H320V408h80zm-128 0v56H176V408h96zm-144 0v56H64c-8.8 0-16-7.2-16-16V408h80zM272 248H176V192h96v56z"]},t=r,z={prefix:"far",iconName:"hand-point-right",icon:[512,512,[],"f0a4","M448 128l-177.6 0c1 5.2 1.6 10.5 1.6 16l0 16 32 0 144 0c8.8 0 16-7.2 16-16s-7.2-16-16-16zM224 144c0-17.7-14.3-32-32-32c0 0 0 0 0 0l-24 0c-66.3 0-120 53.7-120 120l0 48c0 52.5 33.7 97.1 80.7 113.4c-.5-3.1-.7-6.2-.7-9.4c0-20 9.2-37.9 23.6-49.7c-4.9-9-7.6-19.4-7.6-30.3c0-15.1 5.3-29 14-40c-8.8-11-14-24.9-14-40l0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40c0 8.8 7.2 16 16 16s16-7.2 16-16l0-40 0-40zM192 64s0 0 0 0c18 0 34.6 6 48 16l208 0c35.3 0 64 28.7 64 64s-28.7 64-64 64l-82 0c1.3 5.1 2 10.5 2 16c0 25.3-14.7 47.2-36 57.6c2.6 7 4 14.5 4 22.4c0 20-9.2 37.9-23.6 49.7c4.9 9 7.6 19.4 7.6 30.3c0 35.3-28.7 64-64 64l-64 0-24 0C75.2 448 0 372.8 0 280l0-48C0 139.2 75.2 64 168 64l24 0zm64 336c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l64 0zm16-176c0 5.5-.7 10.9-2 16l2 0 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0 16zm-24 64l-40 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 16 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-24 0z"]},m={prefix:"far",iconName:"face-smile-beam",icon:[512,512,[128522,"smile-beam"],"f5b8","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zm40-89.3l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z"]},H=m,h={prefix:"far",iconName:"face-grin-stars",icon:[512,512,[129321,"grin-stars"],"f587","M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM183.2 132.6c-1.3-2.8-4.1-4.6-7.2-4.6s-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L176 240.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L242.4 186c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7zm160 0c-Line truncated !function(c){"use strict";const l="far",a={prefix:"far",iconName:"trash-can",icon:[448,512,[61460,"trash-alt"],"f2ed","M170.5 51.6L151.5 80l145 0-19-28.4c-1.5-2.2-4-3.6-6.7-3.6l-93.7 0c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80 368 80l48 0 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 304c0 44.2-35.8 80-80 80l-224 0c-44.2 0-80-35.8-80-80l0-304-8 0c-13.3 0-24-10.7-24-24S10.7 80 24 80l8 0 48 0 13.8 0 36.7-55.1C140.9 9.4 158.4 0 177.1 0l93.7 0c18.7 0 36.2 9.4 46.6 24.9zM80 128l0 304c0 17.7 14.3 32 32 32l224 0c17.7 0 32-14.3 32-32l0-304L80 128zm80 64l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16z"]},e=a,s={prefix:"far",iconName:"message",icon:[512,512,["comment-alt"],"f27a","M160 368c26.5 0 48 21.5 48 48l0 16 72.5-54.4c8.3-6.2 18.4-9.6 28.8-9.6L448 368c8.8 0 16-7.2 16-16l0-288c0-8.8-7.2-16-16-16L64 48c-8.8 0-16 7.2-16 16l0 288c0 8.8 7.2 16 16 16l96 0zm48 124l-.2 .2-5.1 3.8-17.1 12.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3l0-21.3 0-6.4 0-.3 0-4 0-48-48 0-48 0c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L448 0c35.3 0 64 28.7 64 64l0 288c0 35.3-28.7 64-64 64l-138.7 0L208 492z"]},f=s,i={prefix:"far",iconName:"file-lines",icon:[384,512,[128441,128462,61686,"file-alt","file-text"],"f15c","M64 464c-8.8 0-16-7.2-16-16L48 64c0-8.8 7.2-16 16-16l160 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm56 256c-13.3 0-24 10.7-24 24s10.7 24 24 24l144 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-144 0zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l144 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-144 0z"]},o=i,n=i,r={prefix:"far",iconName:"calendar-days",icon:[448,512,["calendar-alt"],"f073","M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L64 64C28.7 64 0 92.7 0 128l0 16 0 48L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-256 0-48 0-16c0-35.3-28.7-64-64-64l-40 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L152 64l0-40zM48 192l80 0 0 56-80 0 0-56zm0 104l80 0 0 64-80 0 0-64zm128 0l96 0 0 64-96 0 0-64zm144 0l80 0 0 64-80 0 0-64zm80-48l-80 0 0-56 80 0 0 56zm0 160l0 40c0 8.8-7.2 16-16 16l-64 0 0-56 80 0zm-128 0l0 56-96 0 0-56 96 0zm-144 0l0 56-64 0c-8.8 0-16-7.2-16-16l0-40 80 0zM272 248l-96 0 0-56 96 0 0 56z"]},t=r,z={prefix:"far",iconName:"hand-point-right",icon:[512,512,[],"f0a4","M448 128l-177.6 0c1 5.2 1.6 10.5 1.6 16l0 16 32 0 144 0c8.8 0 16-7.2 16-16s-7.2-16-16-16zM224 144c0-17.7-14.3-32-32-32c0 0 0 0 0 0l-24 0c-66.3 0-120 53.7-120 120l0 48c0 52.5 33.7 97.1 80.7 113.4c-.5-3.1-.7-6.2-.7-9.4c0-20 9.2-37.9 23.6-49.7c-4.9-9-7.6-19.4-7.6-30.3c0-15.1 5.3-29 14-40c-8.8-11-14-24.9-14-40l0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40c0 8.8 7.2 16 16 16s16-7.2 16-16l0-40 0-40zM192 64s0 0 0 0c18 0 34.6 6 48 16l208 0c35.3 0 64 28.7 64 64s-28.7 64-64 64l-82 0c1.3 5.1 2 10.5 2 16c0 25.3-14.7 47.2-36 57.6c2.6 7 4 14.5 4 22.4c0 20-9.2 37.9-23.6 49.7c4.9 9 7.6 19.4 7.6 30.3c0 35.3-28.7 64-64 64l-64 0-24 0C75.2 448 0 372.8 0 280l0-48C0 139.2 75.2 64 168 64l24 0zm64 336c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l64 0zm16-176c0 5.5-.7 10.9-2 16l2 0 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0 16zm-24 64l-40 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 16 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-24 0z"]},m={prefix:"far",iconName:"face-smile-beam",icon:[512,512,[128522,"smile-beam"],"f5b8","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zm40-89.3s0 0 0 0c0 0 0 0 0 0l-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8c0 0 0 0 0 0s0 0 0 0zm160 0c0 0 0 0 0 0l-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8c0 0 0 0 0 0s0 0 0 0s0 0 0 0z"]},L=m,M={prefix:"far",iconName:"face-grin-stars",icon:[512,512,[129321,"grin-stars"],"f587","M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM183.2 132Line truncated
/*! /*!
* Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com * Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2023 Fonticons, Inc. * Copyright 2024 Fonticons, Inc.
*/ */
!function(c){"use strict";var a="fas",e={prefix:"fas",iconName:"0",icon:[320,512,[],"30","M0 192C0 103.6 71.6 32 160 32s160 71.6 160 160V320c0 88.4-71.6 160-160 160S0 408.4 0 320V192zM160 96c-53 0-96 43-96 96V320c0 53 43 96 96 96s96-43 96-96V192c0-53-43-96-96-96z"]},i={prefix:"fas",iconName:"1",icon:[256,512,[],"31","M160 64c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.8 1.6l-96 64C-.5 111.2-4.4 131 5.4 145.8s29.7 18.7 44.4 8.9L96 123.8V416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160V64z"]},f={prefix:"fas",iconName:"2",icon:[320,512,[],"32","M142.9 96c-21.5 0-42.2 8.5-57.4 23.8L54.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L40.2 74.5C67.5 47.3 104.4 32 142.9 32C223 32 288 97 288 177.1c0 38.5-15.3 75.4-42.5 102.6L109.3 416H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L200.2 234.5c15.2-15.2 23.8-35.9 23.8-57.4c0-44.8-36.3-81.1-81.1-81.1z"]},s={prefix:"fas",iconName:"3",icon:[320,512,[],"33","M0 64C0 46.3 14.3 32 32 32H272c13.2 0 25 8.1 29.8 20.4s1.5 26.3-8.2 35.2L162.3 208H184c75.1 0 136 60.9 136 136s-60.9 136-136 136H105.4C63 480 24.2 456 5.3 418.1l-1.9-3.8c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l1.9 3.8c8.1 16.3 24.8 26.5 42.9 26.5H184c39.8 0 72-32.2 72-72s-32.2-72-72-72H80c-13.2 0-25-8.1-29.8-20.4s-1.5-26.3 8.2-35.2L189.7 96H32C14.3 96 0 81.7 0 64z"]},l={prefix:"fas",iconName:"4",icon:[384,512,[],"34","M189 77.6c7.5-16 .7-35.1-15.3-42.6s-35.1-.7-42.6 15.3L3 322.4c-4.7 9.9-3.9 21.5 1.9 30.8S21 368 32 368H256v80c0 17.7 14.3 32 32 32s32-14.3 32-32V368h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320V160c0-17.7-14.3-32-32-32s-32 14.3-32 32V304H82.4L189 77.6z"]},n={prefix:"fas",iconName:"5",icon:[320,512,[],"35","M32.5 58.3C35.3 43.1 48.5 32 64 32H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H90.7L70.3 208H184c75.1 0 136 60.9 136 136s-60.9 136-136 136H100.5c-39.4 0-75.4-22.3-93-57.5l-4.1-8.2c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l4.1 8.2c6.8 13.6 20.6 22.1 35.8 22.1H184c39.8 0 72-32.2 72-72s-32.2-72-72-72H32c-9.5 0-18.5-4.2-24.6-11.5s-8.6-16.9-6.9-26.2l32-176z"]},o={prefix:"fas",iconName:"6",icon:[320,512,[],"36","M232.4 84.7c11.4-13.5 9.7-33.7-3.8-45.1s-33.7-9.7-45.1 3.8L38.6 214.7C14.7 242.9 1.1 278.4 .1 315.2c0 1.4-.1 2.9-.1 4.3c0 .2 0 .3 0 .5c0 88.4 71.6 160 160 160s160-71.6 160-160c0-85.5-67.1-155.4-151.5-159.8l63.9-75.6zM256 320A96 96 0 1 1 64 320a96 96 0 1 1 192 0z"]},r={prefix:"fas",iconName:"7",icon:[320,512,[],"37","M0 64C0 46.3 14.3 32 32 32H288c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-224 384c-8.9 15.3-28.5 20.4-43.8 11.5s-20.4-28.5-11.5-43.8L232.3 96H32C14.3 96 0 81.7 0 64z"]},t={prefix:"fas",iconName:"8",icon:[320,512,[],"38","M304 160c0-70.7-57.3-128-128-128H144C73.3 32 16 89.3 16 160c0 34.6 13.7 66 36 89C20.5 272.3 0 309.8 0 352c0 70.7 57.3 128 128 128h64c70.7 0 128-57.3 128-128c0-42.2-20.5-79.7-52-103c22.3-23 36-54.4 36-89zM176.1 288H192c35.3 0 64 28.7 64 64s-28.7 64-64 64H128c-35.3 0-64-28.7-64-64s28.7-64 64-64h15.9c0 0 .1 0 .1 0h32c0 0 .1 0 .1 0zm0-64c0 0 0 0 0 0H144c0 0 0 0 0 0c-35.3 0-64-28.7-64-64c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64c0 35.3-28.6 64-64 64z"]},z={prefix:"fas",iconName:"9",icon:[320,512,[],"39","M64 192a96 96 0 1 0 192 0A96 96 0 1 0 64 192zm87.5 159.8C67.1 347.4 0 277.5 0 192C0 103.6 71.6 32 160 32s160 71.6 160 160c0 2.6-.1 5.3-.2 7.9c-1.7 35.7-15.2 70-38.4 97.4l-145 171.4c-11.4 13.5-31.6 15.2-45.1 3.8s-15.2-31.6-3.8-45.1l63.9-75.6z"]},m={prefix:"fas",iconName:"fill-drip",icon:[576,512,[],"f576","M41.4 9.4C53.9-3.1 74.1-3.1 86.6 9.4L168 90.7l53.1-53.1c28.1-28.1 73.7-28.1 101.8 0L474.3 189.1c28.1 28.1 28.1 73.7 0 101.8L283.9 481.4c-37.5 37.5-98.3 37.5-135.8 0L30.6 363.9c-37.5-37.5-37.5-98.3 0-135.8L122.7 136 41.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm176 221.3L168 181.3 75.9 273.4c-4.2 4.2-7 9.3-8.4 14.6H386.7l42.3-42.3c3.1-3.1 3.1-8.2 0-11.3L277.7 82.9c-3.1-3.1-8.2-3.1-11.3 0L213.3 136l49.4 49.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0zM512 512c-35.3 0-64-28.7-64-64c0-25.2 32.6-79.6 51.2-108.7c6-9.4 19.5-9.4 25.5 0C543.4 368.4 576 422.8 576 448c0 35.3-28.7 64-64 64z"]},H={prefix:"fas",iconName:"arrows-to-circle",icon:[640,512,[],"e4bd","M9.4 9.4C21.9-3.1 42.1-3.1 54.6 9.4L160 114.7V96c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 4.3-.9 8.5-2.4 12.2c-1.6 3.7-3.8 7.3-6.9 10.3l-.1 .1c-3.1 3-6.6 5.3-10.3 6.9c-3.8 1.6-7.9 2.4-12.2 2.4H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h18.7L9.4 54.6C-3.1 42.1-3.1 21.9 9.4 9.4zM256 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM114.7 352H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h96 0l.1 0c8.8 0 16.7 3.6 22.5 9.3l.1 .1c3 3.1 5.3 6.6 6.9 10.3c1.6 3.8 2.4 7.9 2.4 12.2v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L114.7 352zM416 96c0-17.7 14.3-32 32-32s32 14.3 32 32v18.7L585.4 9.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L525.3 160H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H448c-8.8 0-16.8-3.6-22.6-9.3l-.1-.1c-3-3.1-5.3-6.6-6.9-10.3s-2.4-7.8-2.4-12.2l0-.1v0V96zM525.3 352L630.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12Line truncated !function(c){"use strict";const l="fas",a={prefix:"fas",iconName:"0",icon:[320,512,[],"30","M0 192C0 103.6 71.6 32 160 32s160 71.6 160 160l0 128c0 88.4-71.6 160-160 160S0 408.4 0 320L0 192zM160 96c-53 0-96 43-96 96l0 128c0 53 43 96 96 96s96-43 96-96l0-128c0-53-43-96-96-96z"]},e={prefix:"fas",iconName:"1",icon:[256,512,[],"31","M160 64c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.8 1.6l-96 64C-.5 111.2-4.4 131 5.4 145.8s29.7 18.7 44.4 8.9L96 123.8 96 416l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0 96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-352z"]},s={prefix:"fas",iconName:"2",icon:[320,512,[],"32","M142.9 96c-21.5 0-42.2 8.5-57.4 23.8L54.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L40.2 74.5C67.5 47.3 104.4 32 142.9 32C223 32 288 97 288 177.1c0 38.5-15.3 75.4-42.5 102.6L109.3 416 288 416c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L200.2 234.5c15.2-15.2 23.8-35.9 23.8-57.4c0-44.8-36.3-81.1-81.1-81.1z"]},f={prefix:"fas",iconName:"3",icon:[320,512,[],"33","M0 64C0 46.3 14.3 32 32 32l240 0c13.2 0 25 8.1 29.8 20.4s1.5 26.3-8.2 35.2L162.3 208l21.7 0c75.1 0 136 60.9 136 136s-60.9 136-136 136l-78.6 0C63 480 24.2 456 5.3 418.1l-1.9-3.8c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l1.9 3.8c8.1 16.3 24.8 26.5 42.9 26.5l78.6 0c39.8 0 72-32.2 72-72s-32.2-72-72-72L80 272c-13.2 0-25-8.1-29.8-20.4s-1.5-26.3 8.2-35.2L189.7 96 32 96C14.3 96 0 81.7 0 64z"]},i={prefix:"fas",iconName:"4",icon:[384,512,[],"34","M189 77.6c7.5-16 .7-35.1-15.3-42.6s-35.1-.7-42.6 15.3L3 322.4c-4.7 9.9-3.9 21.5 1.9 30.8S21 368 32 368l224 0 0 80c0 17.7 14.3 32 32 32s32-14.3 32-32l0-80 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-144c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L82.4 304 189 77.6z"]},o={prefix:"fas",iconName:"5",icon:[320,512,[],"35","M32.5 58.3C35.3 43.1 48.5 32 64 32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L90.7 96 70.3 208 184 208c75.1 0 136 60.9 136 136s-60.9 136-136 136l-83.5 0c-39.4 0-75.4-22.3-93-57.5l-4.1-8.2c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l4.1 8.2c6.8 13.6 20.6 22.1 35.8 22.1l83.5 0c39.8 0 72-32.2 72-72s-32.2-72-72-72L32 272c-9.5 0-18.5-4.2-24.6-11.5s-8.6-16.9-6.9-26.2l32-176z"]},n={prefix:"fas",iconName:"6",icon:[320,512,[],"36","M232.4 84.7c11.4-13.5 9.7-33.7-3.8-45.1s-33.7-9.7-45.1 3.8L38.6 214.7C14.7 242.9 1.1 278.4 .1 315.2c0 1.4-.1 2.9-.1 4.3l0 .5c0 88.4 71.6 160 160 160s160-71.6 160-160c0-85.5-67.1-155.4-151.5-159.8l63.9-75.6zM256 320A96 96 0 1 1 64 320a96 96 0 1 1 192 0z"]},r={prefix:"fas",iconName:"7",icon:[320,512,[],"37","M0 64C0 46.3 14.3 32 32 32l256 0c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-224 384c-8.9 15.3-28.5 20.4-43.8 11.5s-20.4-28.5-11.5-43.8L232.3 96 32 96C14.3 96 0 81.7 0 64z"]},t={prefix:"fas",iconName:"8",icon:[320,512,[],"38","M304 160c0-70.7-57.3-128-128-128l-32 0C73.3 32 16 89.3 16 160c0 34.6 13.7 66 36 89C20.5 272.3 0 309.8 0 352c0 70.7 57.3 128 128 128l64 0c70.7 0 128-57.3 128-128c0-42.2-20.5-79.7-52-103c22.3-23 36-54.4 36-89zM176.1 288l15.9 0c35.3 0 64 28.7 64 64s-28.7 64-64 64l-64 0c-35.3 0-64-28.7-64-64s28.7-64 64-64l15.9 0c0 0 .1 0 .1 0l32 0c0 0 .1 0 .1 0zm0-64c0 0 0 0 0 0l-32 0c0 0 0 0 0 0c-35.3 0-64-28.7-64-64c0-35.3 28.7-64 64-64l32 0c35.3 0 64 28.7 64 64c0 35.3-28.6 64-64 64z"]},z={prefix:"fas",iconName:"9",icon:[320,512,[],"39","M64 192a96 96 0 1 0 192 0A96 96 0 1 0 64 192zm87.5 159.8C67.1 347.4 0 277.5 0 192C0 103.6 71.6 32 160 32s160 71.6 160 160c0 2.6-.1 5.3-.2 7.9c-1.7 35.7-15.2 70-38.4 97.4l-145 171.4c-11.4 13.5-31.6 15.2-45.1 3.8s-15.2-31.6-3.8-45.1l63.9-75.6z"]},m={prefix:"fas",iconName:"fill-drip",icon:[576,512,[],"f576","M41.4 9.4C53.9-3.1 74.1-3.1 86.6 9.4L168 90.7l53.1-53.1c28.1-28.1 73.7-28.1 101.8 0L474.3 189.1c28.1 28.1 28.1 73.7 0 101.8L283.9 481.4c-37.5 37.5-98.3 37.5-135.8 0L30.6 363.9c-37.5-37.5-37.5-98.3 0-135.8L122.7 136 41.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm176 221.3L168 181.3 75.9 273.4c-4.2 4.2-7 9.3-8.4 14.6l319.2 0 42.3-42.3c3.1-3.1 3.1-8.2 0-11.3L277.7 82.9c-3.1-3.1-8.2-3.1-11.3 0L213.3 136l49.4 49.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0zM512 512c-35.3 0-64-28.7-64-64c0-25.2 32.6-79.6 51.2-108.7c6-9.4 19.5-9.4 25.5 0C543.4 368.4 576 422.8 576 448c0 35.3-28.7 64-64 64z"]},L={prefix:"fas",iconName:"arrows-to-circle",icon:[640,512,[],"e4bd","M9.4 9.4C21.9-3.1 42.1-3.1 54.6 9.4L160 114.7 160 96c0-17.7 14.3-32 32-32s32 14.3 32 32l0 96c0 4.3-.9 8.5-2.4 12.2c-1.6 3.7-3.8 7.3-6.9 10.3l-.1 .1c-3.1 3-6.6 5.3-10.3 6.9c-3.8 1.6-7.9 2.4-12.2 2.4l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l18.7 0L9.4 54.6C-3.1 42.1-3.1 21.9 9.4 9.4zM256 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM114.7 352L96 352c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0s0 0 0 0l.1 0c8.8 0 16.7 3.6 22.5 9.3l.1 .1c3 3.1 5.3 6.6 6.9 10.3c1.6 3.8 2.4 7.9 2.4 12.2l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-18.7L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L114.7 352zM416 96c0-17.7 14.3-32 32-32s32 14.3 32 32l0 18.7L585.4 9.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L525.3 160l18.7 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-8.8 0-16.Line truncated
/*!
* Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
function e(c,l,a){return(l=function(c){var l=function(c,l){if("object"!=typeof c||!c)return c;var a=c[Symbol.toPrimitive];if(void 0!==a){var e=a.call(c,l||"default");if("object"!=typeof e)return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===l?String:Number)(c)}(c,"string");return"symbol"==typeof l?l:l+""}(l))in c?Object.defineProperty(c,l,{value:a,enumerable:!0,configurable:!0,writable:!0}):c[l]=a,c}function s(c,l){var a=Object.keys(c);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(c);l&&(e=e.filter((function(l){return Object.getOwnPropertyDescriptor(c,l).enumerable}))),a.push.apply(a,e)}return a}function f(c){for(var l=1;l<arguments.length;l++){var a=null!=arguments[l]?arguments[l]:{};l%2?s(Object(a),!0).forEach((function(l){e(c,l,a[l])})):Object.getOwnPropertyDescriptors?Object.defineProperties(c,Object.getOwnPropertyDescriptors(a)):s(Object(a)).forEach((function(l){Object.defineProperty(c,l,Object.getOwnPropertyDescriptor(a,l))}))}return c}a.r(l),a.d(l,{api:()=>xl,config:()=>Na,counter:()=>Va,dom:()=>va,findIconDefinition:()=>Ha,icon:()=>Aa,layer:()=>wa,library:()=>ba,noAuto:()=>ga,parse:()=>Sa,text:()=>ya,toHtml:()=>ka});const i=()=>{};let o={},n={},r=null,t={mark:i,measure:i};try{"undefined"!=typeof window&&(o=window),"undefined"!=typeof document&&(n=document),"undefined"!=typeof MutationObserver&&(r=MutationObserver),"undefined"!=typeof performance&&(t=performance)}catch(c){}const{userAgent:z=""}=o.navigator||{},m=o,L=n,M=r,C=t,p=(m.document,!!L.documentElement&&!!L.head&&"function"==typeof L.addEventListener&&"function"==typeof L.createElement),h=~z.indexOf("MSIE")||~z.indexOf("Trident/");var u={classic:{fa:"solid",fas:"solid","fa-solid":"solid",far:"regular","fa-regular":"regular",fal:"light","fa-light":"light",fat:"thin","fa-thin":"thin",fab:"brands","fa-brands":"brands"},duotone:{fa:"solid",fad:"solid","fa-solid":"solid","fa-duotone":"solid",fadr:"regular","fa-regular":"regular",fadl:"light","fa-light":"light",fadt:"thin","fa-thin":"thin"},sharp:{fa:"solid",fass:"solid","fa-solid":"solid",fasr:"regular","fa-regular":"regular",fasl:"light","fa-light":"light",fast:"thin","fa-thin":"thin"},"sharp-duotone":{fa:"solid",fasds:"solid","fa-solid":"solid",fasdr:"regular","fa-regular":"regular",fasdl:"light","fa-light":"light",fasdt:"thin","fa-thin":"thin"}},d=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],x="classic",g="duotone",N=[x,g,"sharp","sharp-duotone"],b=new Map([["classic",{defaultShortPrefixId:"fas",defaultStyleId:"solid",styleIds:["solid","regular","light","thin","brands"],futureStyleIds:[],defaultFontWeight:900}],["sharp",{defaultShortPrefixId:"fass",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["duotone",{defaultShortPrefixId:"fad",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["sharp-duotone",{defaultShortPrefixId:"fasds",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}]]),v=["fak","fa-kit","fakd","fa-kit-duotone"],S={fak:"kit","fa-kit":"kit"},H={fakd:"kit-duotone","fa-kit-duotone":"kit-duotone"},k=["fak","fakd"],A={kit:"fak"},w={"kit-duotone":"fakd"},y={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},V=["fak","fa-kit","fakd","fa-kit-duotone"],P={classic:{fab:"fa-brands",fad:"fa-duotone",fal:"fa-light",far:"fa-regular",fas:"fa-solid",fat:"fa-thin"},duotone:{fadr:"fa-regular",fadl:"fa-light",fadt:"fa-thin"},sharp:{fass:"fa-solid",fasr:"fa-regular",fasl:"fa-light",fast:"fa-thin"},"sharp-duotone":{fasds:"fa-solid",fasdr:"fa-regular",fasdl:"fa-light",fasdt:"fa-thin"}},F=["fa","fas","far","fal","fat","fad","fadr","fadl","fadt","fab","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt","fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone","fa-solid","fa-regular","fa-light","fa-thin","fa-duotone","fa-brands"],B=[1,2,3,4,5,6,7,8,9,10],T=B.concat([11,12,13,14,15,16,17,18,19,20]),q=[...Object.keys({classic:["fas","far","fal","fat","fad"],duotone:["fadr","fadl","fadt"],sharp:["fass","fasr","fasl","fast"],"sharp-duotone":["fasds","fasdr","fasdl","fasdt"]}),"solid","regular","light","thin","duotone","brands","2xs","xs","sm","lg","xl","2xl","beat","border","fade","beat-fade","bounce","flip-both","flip-horizontal","flip-vertical","flip","fw","inverse","layers-counter","layers-text","layers","li","pull-left","pull-right","pulse","rotate-180","rotate-270","rotate-90","rotate-by","shake","spin-pulse","spin-reverse","spin","stack-1x","stack-2x","stack","ul",y.GROUP,y.SWAP_OPACITY,y.PRIMARY,y.SECONDARY].concat(B.map((c=>"".concat(c,"x")))).concat(T.map((c=>"w-".concat(c))));const D="___FONT_AWESOME___",R=16,G="fa",U="svg-inline--fa",E="data-fa-i2svg",W="data-fa-pseudo-element",O="data-fa-pseudo-element-pending",Z="data-prefix",I="data-icon",j="fontawesome-i2svg",K="async",X=["HTML","HEAD","STYLE","SCRIPT"Line truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,207 @@
var ac=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Df(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var CA={exports:{}},xf={},RA={exports:{}},Ye={};/**
* @license React
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Fu=Symbol.for("react.element"),dF=Symbol.for("react.portal"),pF=Symbol.for("react.fragment"),_F=Symbol.for("react.strict_mode"),fF=Symbol.for("react.profiler"),mF=Symbol.for("react.provider"),gF=Symbol.for("react.context"),hF=Symbol.for("react.forward_ref"),EF=Symbol.for("react.suspense"),SF=Symbol.for("react.memo"),TF=Symbol.for("react.lazy"),xR=Symbol.iterator;function bF(e){return e===null||typeof e!="object"?null:(e=xR&&e[xR]||e["@@iterator"],typeof e=="function"?e:null)}var NA={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},vA=Object.assign,OA={};function Rl(e,t,n){this.props=e,this.context=t,this.refs=OA,this.updater=n||NA}Rl.prototype.isReactComponent={};Rl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Rl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function AA(){}AA.prototype=Rl.prototype;function qS(e,t,n){this.props=e,this.context=t,this.refs=OA,this.updater=n||NA}var KS=qS.prototype=new AA;KS.constructor=qS;vA(KS,Rl.prototype);KS.isPureReactComponent=!0;var MR=Array.isArray,IA=Object.prototype.hasOwnProperty,QS={current:null},wA={key:!0,ref:!0,__self:!0,__source:!0};function DA(e,t,n){var r,i={},o=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(o=""+t.key),t)IA.call(t,r)&&!wA.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1<a){for(var l=Array(a),u=0;u<a;u++)l[u]=arguments[u+2];i.children=l}if(e&&e.defaultProps)for(r in a=e.defaultProps,a)i[r]===void 0&&(i[r]=a[r]);return{$$typeof:Fu,type:e,key:o,ref:s,props:i,_owner:QS.current}}function yF(e,t){return{$$typeof:Fu,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function XS(e){return typeof e=="object"&&e!==null&&e.$$typeof===Fu}function CF(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var LR=/\/+/g;function Pg(e,t){return typeof e=="object"&&e!==null&&e.key!=null?CF(""+e.key):t.toString(36)}function zp(e,t,n,r,i){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var s=!1;if(e===null)s=!0;else switch(o){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case Fu:case dF:s=!0}}if(s)return s=e,i=i(s),e=r===""?"."+Pg(s,0):r,MR(i)?(n="",e!=null&&(n=e.replace(LR,"$&/")+"/"),zp(i,t,n,"",function(u){return u})):i!=null&&(XS(i)&&(i=yF(i,n+(!i.key||s&&s.key===i.key?"":(""+i.key).replace(LR,"$&/")+"/")+e)),t.push(i)),1;if(s=0,r=r===""?".":r+":",MR(e))for(var a=0;a<e.length;a++){o=e[a];var l=r+Pg(o,a);s+=zp(o,t,n,l,i)}else if(l=bF(e),typeof l=="function")for(e=l.call(e),a=0;!(o=e.next()).done;)o=o.value,l=r+Pg(o,a++),s+=zp(o,t,n,l,i);else if(o==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return s}function jd(e,t,n){if(e==null)return e;var r=[],i=0;return zp(e,r,"","",function(o){return t.call(n,o,i++)}),r}function RF(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Un={current:null},Vp={transition:null},NF={ReactCurrentDispatcher:Un,ReactCurrentBatchConfig:Vp,ReactCurrentOwner:QS};function xA(){throw Error("act(...) is not supported in production builds of React.")}Ye.Children={map:jd,forEach:function(e,t,n){jd(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return jd(e,function(){t++}),t},toArray:function(e){return jd(e,function(t){return t})||[]},only:function(e){if(!XS(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Ye.Component=Rl;Ye.Fragment=pF;Ye.Profiler=fF;Ye.PureComponent=qS;Ye.StrictMode=_F;Ye.Suspense=EF;Ye.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=NF;Ye.act=xA;Ye.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=vA({},e.props),i=e.key,o=e.ref,s=e._owner;if(t!=null){if(t.ref!==void 0&&(o=t.ref,s=QS.current),t.key!==void 0&&(i=""+t.key),e.type&&e.type.defaultProps)var a=e.type.defaultProps;for(l in t)IA.call(t,l)&&!wA.hasOwnProperty(l)&&(r[l]=t[l]===void 0&&a!==void 0?a[l]:t[l])}var l=arguments.length-2;if(l===1)r.children=n;else if(1<l){a=Array(l);for(var u=0;u<l;u++)a[u]=arguments[u+2];r.children=a}return{$$typeof:Fu,type:e.type,key:i,ref:o,props:r,_owner:s}};Ye.createContext=function(e){return e={$$typeof:gF,_currentValue:e,_currentValue2:e,_threadCountLine truncated
* @license React
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var vF=F,OF=Symbol.for("react.element"),AF=Symbol.for("react.fragment"),IF=Object.prototype.hasOwnProperty,wF=vF.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,DF={key:!0,ref:!0,__self:!0,__source:!0};function MA(e,t,n){var r,i={},o=null,s=null;n!==void 0&&(o=""+n),t.key!==void 0&&(o=""+t.key),t.ref!==void 0&&(s=t.ref);for(r in t)IF.call(t,r)&&!DF.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)i[r]===void 0&&(i[r]=t[r]);return{$$typeof:OF,type:e,key:o,ref:s,props:i,_owner:wF.current}}xf.Fragment=AF;xf.jsx=MA;xf.jsxs=MA;CA.exports=xf;var N=CA.exports,rE={},LA={exports:{}},mr={},kA={exports:{}},PA={};/**
* @license React
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/(function(e){function t(w,G){var W=w.length;w.push(G);e:for(;0<W;){var J=W-1>>>1,re=w[J];if(0<i(re,G))w[J]=G,w[W]=re,W=J;else break e}}function n(w){return w.length===0?null:w[0]}function r(w){if(w.length===0)return null;var G=w[0],W=w.pop();if(W!==G){w[0]=W;e:for(var J=0,re=w.length,De=re>>>1;J<De;){var He=2*(J+1)-1,be=w[He],Ie=He+1,it=w[Ie];if(0>i(be,W))Ie<re&&0>i(it,be)?(w[J]=it,w[Ie]=W,J=Ie):(w[J]=be,w[He]=W,J=He);else if(Ie<re&&0>i(it,W))w[J]=it,w[Ie]=W,J=Ie;else break e}}return G}function i(w,G){var W=w.sortIndex-G.sortIndex;return W!==0?W:w.id-G.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],p=1,_=null,f=3,g=!1,h=!1,E=!1,b=typeof setTimeout=="function"?setTimeout:null,T=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function R(w){for(var G=n(u);G!==null;){if(G.callback===null)r(u);else if(G.startTime<=w)r(u),G.sortIndex=G.expirationTime,t(l,G);else break;G=n(u)}}function A(w){if(E=!1,R(w),!h)if(n(l)!==null)h=!0,Ne(I);else{var G=n(u);G!==null&&x(A,G.startTime-w)}}function I(w,G){h=!1,E&&(E=!1,T($),$=-1),g=!0;var W=f;try{for(R(G),_=n(l);_!==null&&(!(_.expirationTime>G)||w&&!ae());){var J=_.callback;if(typeof J=="function"){_.callback=null,f=_.priorityLevel;var re=J(_.expirationTime<=G);G=e.unstable_now(),typeof re=="function"?_.callback=re:_===n(l)&&r(l),R(G)}else r(l);_=n(l)}if(_!==null)var De=!0;else{var He=n(u);He!==null&&x(A,He.startTime-G),De=!1}return De}finally{_=null,f=W,g=!1}}var M=!1,k=null,$=-1,z=5,H=-1;function ae(){return!(e.unstable_now()-H<z)}function fe(){if(k!==null){var w=e.unstable_now();H=w;var G=!0;try{G=k(!0,w)}finally{G?de():(M=!1,k=null)}}else M=!1}var de;if(typeof y=="function")de=function(){y(fe)};else if(typeof MessageChannel<"u"){var le=new MessageChannel,ge=le.port2;le.port1.onmessage=fe,de=function(){ge.postMessage(null)}}else de=function(){b(fe,0)};function Ne(w){k=w,M||(M=!0,de())}function x(w,G){$=b(function(){w(e.unstable_now())},G)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(w){w.callback=null},e.unstable_continueExecution=function(){h||g||(h=!0,Ne(I))},e.unstable_forceFrameRate=function(w){0>w||125<w?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):z=0<w?Math.floor(1e3/w):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(l)},e.unstable_next=function(w){switch(f){case 1:case 2:case 3:var G=3;break;default:G=f}var W=f;f=G;try{return w()}finally{f=W}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(w,G){switch(w){case 1:case 2:case 3:case 4:case 5:break;default:w=3}var W=f;f=w;try{return G()}finally{f=W}},e.unstable_scheduleCallback=function(w,G,W){var J=e.unstable_now();switch(typeof W=="object"&&W!==null?(W=W.delay,W=typeof W=="number"&&0<W?J+W:J):W=J,w){case 1:var re=-1;break;case 2:re=250;break;case 5:re=1073741823;break;case 4:re=1e4;break;default:re=5e3}return re=W+re,w={id:p++,callback:G,priorityLevel:w,startTime:W,expirationTime:re,sortIndex:-1},W>J?(w.sortIndex=W,t(u,w),n(l)===null&&w===n(u)&&(E?(T($),$=-1):E=!0,x(A,W-J))):(w.sortIndex=re,t(l,w),h||g||(h=!0,Ne(I))),w},e.unstable_shouldYield=ae,e.unstable_wrapCallback=function(w){var G=f;return function(){var W=f;f=G;try{return w.apply(this,arguments)}finally{f=W}}}})(PA);kA.exports=PA;var xF=kA.exports;/**
* @license React
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var MF=F,fr=xF;function te(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var UA=new Set,eu={};function ra(e,t){ll(e,t),ll(e+"Capture",t)}function ll(e,t){for(eu[e]=t,e=0;e<t.length;e++)UA.add(t[e])}var Qi=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),iE=Object.prototype.hasOwnProperty,LF=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,kR={},PR={};function kF(e){return iE.call(PR,e)?!0:iE.call(kR,e)?!1:LF.test(e)?PR[e]=!0:(kR[e]=!0,!1)}function PF(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function UF(e,t,n,r){if(t===null||typeof t>"u"||PF(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Bn(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var ln={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ln[e]=new Bn(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ln[t]=new Bn(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ln[e]=new Bn(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ln[e]=new Bn(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ln[e]=new Bn(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ln[e]=new Bn(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ln[e]=new Bn(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ln[e]=new Bn(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ln[e]=new Bn(e,5,!1,e.toLowerCase(),null,!1,!1)});var jS=/[\-:]([a-z])/g;function ZS(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(jS,ZS);ln[t]=new Bn(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(jS,ZS);ln[t]=new Bn(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(jS,ZS);ln[t]=new Bn(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ln[e]=new Bn(e,1,!1,e.toLowerCase(),null,!1,!1)});ln.xlinkHref=new Bn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ln[e]=new Bn(e,1,!1,e.toLowerCase(),null,!0,!0)});function JS(e,t,n,r){var i=ln.hasOwnProperty(t)?ln[t]:null;(i!==null?i.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!== Line truncated
`+Ug+e}var Bg=!1;function Fg(e,t){if(!e||Bg)return"";Bg=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&typeof u.stack=="string"){for(var i=u.stack.split(`
`),o=r.stack.split(`
`),s=i.length-1,a=o.length-1;1<=s&&0<=a&&i[s]!==o[a];)a--;for(;1<=s&&0<=a;s--,a--)if(i[s]!==o[a]){if(s!==1||a!==1)do if(s--,a--,0>a||i[s]!==o[a]){var l=`
`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{Bg=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Rc(e):""}function BF(e){switch(e.tag){case 5:return Rc(e.type);case 16:return Rc("Lazy");case 13:return Rc("Suspense");case 19:return Rc("SuspenseList");case 0:case 2:case 15:return e=Fg(e.type,!1),e;case 11:return e=Fg(e.type.render,!1),e;case 1:return e=Fg(e.type,!0),e;default:return""}}function lE(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case ka:return"Fragment";case La:return"Portal";case oE:return"Profiler";case eT:return"StrictMode";case sE:return"Suspense";case aE:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case FA:return(e.displayName||"Context")+".Consumer";case BA:return(e._context.displayName||"Context")+".Provider";case tT:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case nT:return t=e.displayName||null,t!==null?t:lE(e.type)||"Memo";case To:t=e._payload,e=e._init;try{return lE(e(t))}catch{}}return null}function FF(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return lE(t);case 8:return t===eT?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function jo(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function YA(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function GF(e){var t=YA(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Jd(e){e._valueTracker||(e._valueTracker=GF(e))}function HA(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=YA(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function p_(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function cE(e,t){var n=t.checked;return vt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function BR(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=jo(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function $A(e,t){t=t.checked,t!=null&&JS(e,"checked",t,!1)}function uE(e,t){$A(e,t);var n=jo(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?dE(e,t.type,n):t.hasOwnProperty("defaultValue")&&dE(e,t.type,jo(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function FR(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function dE(e,t,n){(t!=="number"||p_(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Nc=Array.isArray;function Ka(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t["$"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty("$"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=""+jo(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function pE(e,t){if(t.dan Line truncated
`).replace(XG,"")}function ap(e,t,n){if(t=lN(t),lN(e)!==t&&n)throw Error(te(425))}function T_(){}var NE=null,vE=null;function OE(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var AE=typeof setTimeout=="function"?setTimeout:void 0,jG=typeof clearTimeout=="function"?clearTimeout:void 0,cN=typeof Promise=="function"?Promise:void 0,ZG=typeof queueMicrotask=="function"?queueMicrotask:typeof cN<"u"?function(e){return cN.resolve(null).then(e).catch(JG)}:AE;function JG(e){setTimeout(function(){throw e})}function Zg(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n==="/$"){if(r===0){e.removeChild(i),ou(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=i}while(n);ou(t)}function Ho(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function uN(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var vl=Math.random().toString(36).slice(2),gi="__reactFiber$"+vl,uu="__reactProps$"+vl,Xi="__reactContainer$"+vl,IE="__reactEvents$"+vl,eY="__reactListeners$"+vl,tY="__reactHandles$"+vl;function ws(e){var t=e[gi];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Xi]||n[gi]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=uN(e);e!==null;){if(n=e[gi])return n;e=uN(e)}return t}e=n,n=e.parentNode}return null}function Hu(e){return e=e[gi]||e[Xi],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Fa(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(te(33))}function Uf(e){return e[uu]||null}var wE=[],Ga=-1;function ss(e){return{current:e}}function gt(e){0>Ga||(e.current=wE[Ga],wE[Ga]=null,Ga--)}function ct(e,t){Ga++,wE[Ga]=e.current,e.current=t}var Zo={},Sn=ss(Zo),Xn=ss(!1),Ws=Zo;function cl(e,t){var n=e.type.contextTypes;if(!n)return Zo;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function jn(e){return e=e.childContextTypes,e!=null}function b_(){gt(Xn),gt(Sn)}function dN(e,t,n){if(Sn.current!==Zo)throw Error(te(168));ct(Sn,t),ct(Xn,n)}function DI(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(te(108,FF(e)||"Unknown",i));return vt({},n,r)}function y_(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Zo,Ws=Sn.current,ct(Sn,e),ct(Xn,Xn.current),!0}function pN(e,t,n){var r=e.stateNode;if(!r)throw Error(te(169));n?(e=DI(e,t,Ws),r.__reactInternalMemoizedMergedChildContext=e,gt(Xn),gt(Sn),ct(Sn,e)):gt(Xn),ct(Xn,n)}var Yi=null,Bf=!1,Jg=!1;function xI(e){Yi===null?Yi=[e]:Yi.push(e)}function nY(e){Bf=!0,xI(e)}function as(){if(!Jg&&Yi!==null){Jg=!0;var e=0,t=et;try{var n=Yi;for(et=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}Yi=null,Bf=!1}catch(i){throw Yi!==null&&(Yi=Yi.slice(e+1)),rI(iT,as),i}finally{et=t,Jg=!1}}return null}var Ya=[],Ha=0,C_=null,R_=0,wr=[],Dr=0,qs=null,$i=1,zi="";function Rs(e,t){Ya[Ha++]=R_,Ya[Ha++]=C_,C_=e,R_=t}function MI(e,t,n){wr[Dr++]=$i,wr[Dr++]=zi,wr[Dr++]=qs,qs=e;var r=$i;e=zi;var i=32-Zr(r)-1;r&=~(1<<i),n+=1;var o=32-Zr(t)+i;if(30<o){var s=i-i%5;o=(r&(1<<s)-1).toString(32),r>>=s,i-=s,$i=1<<32-Zr(t)+i|n<<i|r,zi=o+e}else $i=1<<o|n<<i|r,zi=e}function _T(e){e.return!==null&&(Rs(e,1),MI(e,1,0))}function fT(e){for(;e===C_;)C_=Ya[--Ha],Ya[Ha]=null,R_=Ya[--Ha],Ya[Ha]=null;for(;e===qs;)qs=wr[--Dr],wr[Dr]=null,zi=wr[--Dr],wr[Dr]=null,$i=wr[--Dr],wr[Dr]=null}var _r=null,dr=null,Tt=!1,Qr=null;function LI(e,t){var n=Mr(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function _N(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,_r=e,dr=Ho(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,_r=e,dr=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=qs!==null?{id:$i,overflow:zi}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Mr(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,_r=e,dr=null,!0):!1;default:return!1}}function DE(e){return(e.mode&1)!==0&&(e.flags&128)===0}function xE(e){if(Tt){var t=dr;if(t){var n=t;if(!_N(e,t)){if(DE(e))throw Error(te(418));t=Ho(n.nextSibling);var r=_r;t&&_N(e,t)?LI(r,n):(e.flags=e.flags&-4097|2,Tt=!1,_r=e)}}else{if(DE(e))throw Error(te(418));e.flags=e.flags&-4097|2,Tt=!1,_r=e}}}function fN(e){ Line truncated
Error generating stack: `+o.message+`
`+o.stack}return{value:e,source:t,stack:i,digest:null}}function ih(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function PE(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var dY=typeof WeakMap=="function"?WeakMap:Map;function aw(e,t,n){n=qi(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){x_||(x_=!0,WE=r),PE(e,t)},n}function lw(e,t,n){n=qi(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){PE(e,t)}}var o=e.stateNode;return o!==null&&typeof o.componentDidCatch=="function"&&(n.callback=function(){PE(e,t),typeof r!="function"&&(zo===null?zo=new Set([this]):zo.add(this));var s=t.stack;this.componentDidCatch(t.value,{componentStack:s!==null?s:""})}),n}function yN(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new dY;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=NY.bind(null,e,t,n),t.then(e,e))}function CN(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function RN(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=qi(-1,1),t.tag=2,$o(n,t,1))),n.lanes|=1),e)}var pY=eo.ReactCurrentOwner,Qn=!1;function Dn(e,t,n,r){t.child=e===null?UI(t,null,n,r):dl(t,e.child,n,r)}function NN(e,t,n,r,i){n=n.render;var o=t.ref;return Za(t,i),r=NT(e,t,n,r,o,i),n=vT(),e!==null&&!Qn?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Zi(e,t,i)):(Tt&&n&&_T(t),t.flags|=1,Dn(e,t,r,i),t.child)}function vN(e,t,n,r,i){if(e===null){var o=n.type;return typeof o=="function"&&!PT(o)&&o.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=o,cw(e,t,o,r,i)):(e=t_(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(o=e.child,!(e.lanes&i)){var s=o.memoizedProps;if(n=n.compare,n=n!==null?n:au,n(s,r)&&e.ref===t.ref)return Zi(e,t,i)}return t.flags|=1,e=Wo(o,r),e.ref=t.ref,e.return=t,t.child=e}function cw(e,t,n,r,i){if(e!==null){var o=e.memoizedProps;if(au(o,r)&&e.ref===t.ref)if(Qn=!1,t.pendingProps=r=o,(e.lanes&i)!==0)e.flags&131072&&(Qn=!0);else return t.lanes=e.lanes,Zi(e,t,i)}return UE(e,t,n,r,i)}function uw(e,t,n){var r=t.pendingProps,i=r.children,o=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ct(Va,cr),cr|=n;else{if(!(n&1073741824))return e=o!==null?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ct(Va,cr),cr|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=o!==null?o.baseLanes:n,ct(Va,cr),cr|=r}else o!==null?(r=o.baseLanes|n,t.memoizedState=null):r=n,ct(Va,cr),cr|=r;return Dn(e,t,i,n),t.child}function dw(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function UE(e,t,n,r,i){var o=jn(n)?Ws:Sn.current;return o=cl(t,o),Za(t,i),n=NT(e,t,n,r,o,i),r=vT(),e!==null&&!Qn?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Zi(e,t,i)):(Tt&&r&&_T(t),t.flags|=1,Dn(e,t,n,i),t.child)}function ON(e,t,n,r,i){if(jn(n)){var o=!0;y_(t)}else o=!1;if(Za(t,i),t.stateNode===null)Zp(e,t),sw(t,n,r),kE(t,n,r,i),r=!0;else if(e===null){var s=t.stateNode,a=t.memoizedProps;s.props=a;var l=s.context,u=n.contextType;typeof u=="object"&&u!==null?u=Ur(u):(u=jn(n)?Ws:Sn.current,u=cl(t,u));var p=n.getDerivedStateFromProps,_=typeof p=="function"||typeof s.getSnapshotBeforeUpdate=="function";_||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(a!==r||l!==u)&&bN(t,s,r,u),bo=!1;var f=t.memoizedState;s.state=f,O_(t,r,s,i),l=t.memoizedState,a!==r||f!==l||Xn.current||bo?(typeof p=="function"&&(LE(t,n,p,r),l=t.memoizedState),(a=bo||TN(t,n,a,r,f,l,u))?(_||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount()),typeof s.componentDidMount=="function"&&(t.flags|=4194308)):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),s.props=r,s.state=l,s.context=u,r=a):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,FI(e,t),a=t.memoizedProps,u=t.type===t.elementType?a:qr(t.type,a),s.props=u,_=t.pendingProps,f=s.context,l=n.contextType,typeof l=="object"&&l!==null?l=Ur(l):(l=jn(n)?Ws:Sn.current,l=cl(t,l));var g=n.getDerivedStateFromProps;(p=typeof g=="function"||typeof s.getSnapshotBeforeUpdate=="function")||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(a!==_||f!==l)&&bN(t,s,r,l),bo=!1,f=t.memoizedState,s.state=f,O_(t,r,s,i);var h=t.memoizedS Line truncated
`)}}js.empty=new js(!0);class HY{constructor(t,n){this.string=t,this.nodeTypes=n,this.inline=null,this.pos=0,this.tokens=t.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==""&&this.tokens.pop(),this.tokens[0]==""&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(t){return this.next==t&&(this.pos++||!0)}err(t){throw new SyntaxError(t+" (in content expression '"+this.string+"')")}}function $w(e){let t=[];do t.push($Y(e));while(e.eat("|"));return t.length==1?t[0]:{type:"choice",exprs:t}}function $Y(e){let t=[];do t.push(zY(e));while(e.next&&e.next!=")"&&e.next!="|");return t.length==1?t[0]:{type:"seq",exprs:t}}function zY(e){let t=qY(e);for(;;)if(e.eat("+"))t={type:"plus",expr:t};else if(e.eat("*"))t={type:"star",expr:t};else if(e.eat("?"))t={type:"opt",expr:t};else if(e.eat("{"))t=VY(e,t);else break;return t}function HN(e){/\D/.test(e.next)&&e.err("Expected number, got '"+e.next+"'");let t=Number(e.next);return e.pos++,t}function VY(e,t){let n=HN(e),r=n;return e.eat(",")&&(e.next!="}"?r=HN(e):r=-1),e.eat("}")||e.err("Unclosed braced range"),{type:"range",min:n,max:r,expr:t}}function WY(e,t){let n=e.nodeTypes,r=n[t];if(r)return[r];let i=[];for(let o in n){let s=n[o];s.isInGroup(t)&&i.push(s)}return i.length==0&&e.err("No node type or group '"+t+"' found"),i}function qY(e){if(e.eat("(")){let t=$w(e);return e.eat(")")||e.err("Missing closing paren"),t}else if(/\W/.test(e.next))e.err("Unexpected token '"+e.next+"'");else{let t=WY(e,e.next).map(n=>(e.inline==null?e.inline=n.isInline:e.inline!=n.isInline&&e.err("Mixing inline and block content"),{type:"name",value:n}));return e.pos++,t.length==1?t[0]:{type:"choice",exprs:t}}}function KY(e){let t=[[]];return i(o(e,0),n()),t;function n(){return t.push([])-1}function r(s,a,l){let u={term:l,to:a};return t[s].push(u),u}function i(s,a){s.forEach(l=>l.to=a)}function o(s,a){if(s.type=="choice")return s.exprs.reduce((l,u)=>l.concat(o(u,a)),[]);if(s.type=="seq")for(let l=0;;l++){let u=o(s.exprs[l],a);if(l==s.exprs.length-1)return u;i(u,a=n())}else if(s.type=="star"){let l=n();return r(a,l),i(o(s.expr,l),l),[r(l)]}else if(s.type=="plus"){let l=n();return i(o(s.expr,a),l),i(o(s.expr,l),l),[r(l)]}else{if(s.type=="opt")return[r(a)].concat(o(s.expr,a));if(s.type=="range"){let l=a;for(let u=0;u<s.min;u++){let p=n();i(o(s.expr,l),p),l=p}if(s.max==-1)i(o(s.expr,l),l);else for(let u=s.min;u<s.max;u++){let p=n();r(l,p),i(o(s.expr,l),p),l=p}return[r(l)]}else{if(s.type=="name")return[r(a,void 0,s.value)];throw new Error("Unknown expr type")}}}}function zw(e,t){return t-e}function $N(e,t){let n=[];return r(t),n.sort(zw);function r(i){let o=e[i];if(o.length==1&&!o[0].term)return r(o[0].to);n.push(i);for(let s=0;s<o.length;s++){let{term:a,to:l}=o[s];!a&&n.indexOf(l)==-1&&r(l)}}}function QY(e){let t=Object.create(null);return n($N(e,0));function n(r){let i=[];r.forEach(s=>{e[s].forEach(({term:a,to:l})=>{if(!a)return;let u;for(let p=0;p<i.length;p++)i[p][0]==a&&(u=i[p][1]);$N(e,l).forEach(p=>{u||i.push([a,u=[]]),u.indexOf(p)==-1&&u.push(p)})})});let o=t[r.join(",")]=new js(r.indexOf(e.length-1)>-1);for(let s=0;s<i.length;s++){let a=i[s][1].sort(zw);o.next.push({type:i[s][0],next:t[a.join(",")]||n(a)})}return o}}function XY(e,t){for(let n=0,r=[e];n<r.length;n++){let i=r[n],o=!i.validEnd,s=[];for(let a=0;a<i.next.length;a++){let{type:l,next:u}=i.next[a];s.push(l.name),o&&!(l.isText||l.hasRequiredAttrs())&&(o=!1),r.indexOf(u)==-1&&r.push(u)}o&&t.err("Only non-generatable nodes ("+s.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}function Vw(e){let t=Object.create(null);for(let n in e){let r=e[n];if(!r.hasDefault)return null;t[n]=r.default}return t}function Ww(e,t){let n=Object.create(null);for(let r in e){let i=t&&t[r];if(i===void 0){let o=e[r];if(o.hasDefault)i=o.default;else throw new RangeError("No value supplied for attribute "+r)}n[r]=i}return n}function qw(e,t,n,r){for(let i in t)if(!(i in e))throw new RangeError(`Unsupported attribute ${i} for ${n} of type ${i}`);for(let i in e){let o=e[i];o.validate&&o.validate(t[i])}}function Kw(e,t){let n=Object.create(null);if(t)for(let r in t)n[r]=new ZY(e,r,t[r]);return n}let zN=class Qw{constructor(t,n,r){this.name=t,this.schema=n,this.spec=r,this.markSet=null,this.groups=r.group?r.group.split(" "):[],this.attrs=Kw(t,r.attrs),this.defaultAttrs=Vw(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(r.inline||t=="text"),this.isText=t=="text"}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==js.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(t){return this.groups.indexOf(t)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let t in this.attrs)if(this.attrs[t].isRequired)return!0;return!1}compatibleContent(t){return this==t||this.contentMatch.compatible(t.contentMatch)}computeAttrs(t){return!t&&this.defaultA Line truncated
`);else if(r=r.replace(/[ \t\r\n\u000c]+/g," "),/^[ \t\r\n\u000c]/.test(r)&&this.open==this.nodes.length-1){let s=i.content[i.content.length-1],a=t.previousSibling;(!s||a&&a.nodeName=="BR"||s.isText&&/[ \t\r\n\u000c]$/.test(s.text))&&(r=r.slice(1))}r&&this.insertNode(this.parser.schema.text(r),n),this.findInText(t)}else this.findInside(t)}addElement(t,n,r){let i=this.localPreserveWS,o=this.top;(t.tagName=="PRE"||/pre/.test(t.style&&t.style.whiteSpace))&&(this.localPreserveWS=!0);let s=t.nodeName.toLowerCase(),a;Zw.hasOwnProperty(s)&&this.parser.normalizeLists&&nH(t);let l=this.options.ruleFromNode&&this.options.ruleFromNode(t)||(a=this.parser.matchTag(t,this,r));e:if(l?l.ignore:tH.hasOwnProperty(s))this.findInside(t),this.ignoreFallback(t,n);else if(!l||l.skip||l.closeParent){l&&l.closeParent?this.open=Math.max(0,this.open-1):l&&l.skip.nodeType&&(t=l.skip);let u,p=this.needsBlock;if(jw.hasOwnProperty(s))o.content.length&&o.content[0].isInline&&this.open&&(this.open--,o=this.top),u=!0,o.type||(this.needsBlock=!0);else if(!t.firstChild){this.leafFallback(t,n);break e}let _=l&&l.skip?n:this.readStyles(t,n);_&&this.addAll(t,_),u&&this.sync(o),this.needsBlock=p}else{let u=this.readStyles(t,n);u&&this.addElementByRule(t,l,u,l.consuming===!1?a:void 0)}this.localPreserveWS=i}leafFallback(t,n){t.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(t.ownerDocument.createTextNode(`
`),n)}ignoreFallback(t,n){t.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text("-"),n)}readStyles(t,n){let r=t.style;if(r&&r.length)for(let i=0;i<this.parser.matchedStyles.length;i++){let o=this.parser.matchedStyles[i],s=r.getPropertyValue(o);if(s)for(let a=void 0;;){let l=this.parser.matchStyle(o,s,this,a);if(!l)break;if(l.ignore)return null;if(l.clearMark?n=n.filter(u=>!l.clearMark(u)):n=n.concat(this.parser.schema.marks[l.mark].create(l.attrs)),l.consuming===!1)a=l;else break}}return n}addElementByRule(t,n,r,i){let o,s;if(n.node)if(s=this.parser.schema.nodes[n.node],s.isLeaf)this.insertNode(s.create(n.attrs),r)||this.leafFallback(t,r);else{let l=this.enter(s,n.attrs||null,r,n.preserveWhitespace);l&&(o=!0,r=l)}else{let l=this.parser.schema.marks[n.mark];r=r.concat(l.create(n.attrs))}let a=this.top;if(s&&s.isLeaf)this.findInside(t);else if(i)this.addElement(t,r,i);else if(n.getContent)this.findInside(t),n.getContent(t,this.parser.schema).forEach(l=>this.insertNode(l,r));else{let l=t;typeof n.contentElement=="string"?l=t.querySelector(n.contentElement):typeof n.contentElement=="function"?l=n.contentElement(t):n.contentElement&&(l=n.contentElement),this.findAround(t,l,!0),this.addAll(l,r),this.findAround(t,l,!1)}o&&this.sync(a)&&this.open--}addAll(t,n,r,i){let o=r||0;for(let s=r?t.childNodes[r]:t.firstChild,a=i==null?null:t.childNodes[i];s!=a;s=s.nextSibling,++o)this.findAtPoint(t,o),this.addDOM(s,n);this.findAtPoint(t,o)}findPlace(t,n){let r,i;for(let o=this.open;o>=0;o--){let s=this.nodes[o],a=s.findWrapping(t);if(a&&(!r||r.length>a.length)&&(r=a,i=s,!a.length)||s.solid)break}if(!r)return null;this.sync(i);for(let o=0;o<r.length;o++)n=this.enterInner(r[o],null,n,!1);return n}insertNode(t,n){if(t.isInline&&this.needsBlock&&!this.top.type){let i=this.textblockFromContext();i&&(n=this.enterInner(i,null,n))}let r=this.findPlace(t,n);if(r){this.closeExtra();let i=this.top;i.match&&(i.match=i.match.matchType(t.type));let o=nt.none;for(let s of r.concat(t.marks))(i.type?i.type.allowsMarkType(s.type):QN(s.type,t.type))&&(o=s.addToSet(o));return i.content.push(t.mark(o)),!0}return!1}enter(t,n,r,i){let o=this.findPlace(t.create(n),r);return o&&(o=this.enterInner(t,n,r,!0,i)),o}enterInner(t,n,r,i=!1,o){this.closeExtra();let s=this.top;s.match=s.match&&s.match.matchType(t);let a=WN(t,o,s.options);s.options&zc&&s.content.length==0&&(a|=zc);let l=nt.none;return r=r.filter(u=>(s.type?s.type.allowsMarkType(u.type):QN(u.type,t))?(l=u.addToSet(l),!1):!0),this.nodes.push(new mp(t,n,l,i,null,a)),this.open++,r}closeExtra(t=!1){let n=this.nodes.length-1;if(n>this.open){for(;n>this.open;n--)this.nodes[n-1].content.push(this.nodes[n].finish(t));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(t){for(let n=this.open;n>=0;n--){if(this.nodes[n]==t)return this.open=n,!0;this.localPreserveWS&&(this.nodes[n].options|=Eu)}return!1}get currentPos(){this.closeExtra();let t=0;for(let n=this.open;n>=0;n--){let r=this.nodes[n].content;for(let i=r.length-1;i>=0;i--)t+=r[i].nodeSize;n&&t++}return t}findAtPoint(t,n){if(this.find)for(let r=0;r<this.find.length;r++)this.find[r].node==t&&this.find[r].offset==n&&(this.find[r].pos=this.currentPos)}findInside(t){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].pos==null&&t.nodeType==1&&t.contains(this.find[n].node)&&(this.find[n].pos=this.currentPos)}findAround(t,n,r){if(t!=n&&this.find)for(let i=0;i<this.find.length;i++)this.find[i].pos==null&&t.nodeType==1&&t.contains(this.find[i].node)&&n.compareDocumentPosition(this.find[i].node)&(r?2:4)&&(this.find[i].pos=this.currentPos)}findInText(t){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==t&&(this.find[n].pos=this.currentPos-(t.nodeValue.length-this.find[n].offset))}matchesContext(t){if(t.indexOf("|")>-1)return t.split(/\s*\|\s*/).some(this.matchesContext,this);let n=t.split("/"),r=this.options.context,i=!this.isOpen&&(!r||r.parent.type==this.nodes[0].type),o=-(r?r.depth+1:0)+(i?0:1),s=(a,l)=>{for(;a>=0;a--){let u=n[a];if(u==""){if(a==n.length-1||a==0)continue;for(;l>=o;l--)if(s(a-1,l))return!0;return!1}else{let p=l>0||l==0&&i?this.nodes[l].type:r&&l>=o?r.node(l-o).type:null;if(!p||p.name!=u&&!p.isInGroup(u))return!1;l--}}return!0};return s(n.length-1,this.open)}textblockFromContext(){let t=this.options.context;if(t)for(let n=t.depth;n>=0;n--){let r=t.node(n).contentMatchAt(t.indexAfter(n)).defaultType;if(r&&r.isTextblock&&r.defaultAttrs)return r}for(let n in this.parser.schema.nodes){let r=this.parser.schema.nodes[n];if(r.isTextblock&&r.defaultAttrs)return r}}}function nH(e){for(let t=e.firstChild,n=null;t;t=t.nextSibling){let r=t.nodeType==1?t.nodeName.toLowerCase():null;r&&Zw.hasOwnProperty(r)&&n?(n.appendChild(t),t=n):r=="li"?n=t:r&&(n=null)}}function rH(e,t){return(e.matches||e.msMatchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector).call(e,t)}function Line truncated
`))}})}function gH(e,t,n){let r=e.resolve(t),i=r.index();return r.parent.canReplaceWith(i,i+1,n)}function hH(e,t,n,r,i){let o=e.doc.nodeAt(t);if(!o)throw new RangeError("No node at given position");n||(n=o.type);let s=n.create(r,null,i||o.marks);if(o.isLeaf)return e.replaceWith(t,t+o.nodeSize,s);if(!n.validContent(o.content))throw new RangeError("Invalid content for node type "+n.name);e.step(new Xt(t,t+o.nodeSize,t+1,t+o.nodeSize-1,new oe(j.from(s),0,0),1,!0))}function tl(e,t,n=1,r){let i=e.resolve(t),o=i.depth-n,s=r&&r[r.length-1]||i.parent;if(o<0||i.parent.type.spec.isolating||!i.parent.canReplace(i.index(),i.parent.childCount)||!s.type.validContent(i.parent.content.cutByIndex(i.index(),i.parent.childCount)))return!1;for(let u=i.depth-1,p=n-2;u>o;u--,p--){let _=i.node(u),f=i.index(u);if(_.type.spec.isolating)return!1;let g=_.content.cutByIndex(f,_.childCount),h=r&&r[p+1];h&&(g=g.replaceChild(0,h.type.create(h.attrs)));let E=r&&r[p]||_;if(!_.canReplace(f+1,_.childCount)||!E.type.validContent(g))return!1}let a=i.indexAfter(o),l=r&&r[0];return i.node(o).canReplaceWith(a,a,l?l.type:i.node(o+1).type)}function EH(e,t,n=1,r){let i=e.doc.resolve(t),o=j.empty,s=j.empty;for(let a=i.depth,l=i.depth-n,u=n-1;a>l;a--,u--){o=j.from(i.node(a).copy(o));let p=r&&r[u];s=j.from(p?p.type.create(p.attrs,s):i.node(a).copy(s))}e.step(new qt(t,t,new oe(o.append(s),n,n),!0))}function ls(e,t){let n=e.resolve(t),r=n.index();return sD(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(r,r+1)}function SH(e,t){t.content.size||e.type.compatibleContent(t.type);let n=e.contentMatchAt(e.childCount),{linebreakReplacement:r}=e.type.schema;for(let i=0;i<t.childCount;i++){let o=t.child(i),s=o.type==r?e.type.schema.nodes.text:o.type;if(n=n.matchType(s),!n||!e.type.allowsMarks(o.marks))return!1}return n.validEnd}function sD(e,t){return!!(e&&t&&!e.isLeaf&&SH(e,t))}function Qf(e,t,n=-1){let r=e.resolve(t);for(let i=r.depth;;i--){let o,s,a=r.index(i);if(i==r.depth?(o=r.nodeBefore,s=r.nodeAfter):n>0?(o=r.node(i+1),a++,s=r.node(i).maybeChild(a)):(o=r.node(i).maybeChild(a-1),s=r.node(i+1)),o&&!o.isTextblock&&sD(o,s)&&r.node(i).canReplace(a,a+1))return t;if(i==0)break;t=n<0?r.before(i):r.after(i)}}function TH(e,t,n){let r=null,{linebreakReplacement:i}=e.doc.type.schema,o=e.doc.resolve(t-n),s=o.node().type;if(i&&s.inlineContent){let p=s.whitespace=="pre",_=!!s.contentMatch.matchType(i);p&&!_?r=!1:!p&&_&&(r=!0)}let a=e.steps.length;if(r===!1){let p=e.doc.resolve(t+n);oD(e,p.node(),p.before(),a)}s.inlineContent&&HT(e,t+n-1,s,o.node().contentMatchAt(o.index()),r==null);let l=e.mapping.slice(a),u=l.map(t-n);if(e.step(new qt(u,l.map(t+n,-1),oe.empty,!0)),r===!0){let p=e.doc.resolve(u);iD(e,p.node(),p.before(),e.steps.length)}return e}function bH(e,t,n){let r=e.resolve(t);if(r.parent.canReplaceWith(r.index(),r.index(),n))return t;if(r.parentOffset==0)for(let i=r.depth-1;i>=0;i--){let o=r.index(i);if(r.node(i).canReplaceWith(o,o,n))return r.before(i+1);if(o>0)return null}if(r.parentOffset==r.parent.content.size)for(let i=r.depth-1;i>=0;i--){let o=r.indexAfter(i);if(r.node(i).canReplaceWith(o,o,n))return r.after(i+1);if(o<r.node(i).childCount)return null}return null}function yH(e,t,n){let r=e.resolve(t);if(!n.content.size)return t;let i=n.content;for(let o=0;o<n.openStart;o++)i=i.firstChild.content;for(let o=1;o<=(n.openStart==0&&n.size?2:1);o++)for(let s=r.depth;s>=0;s--){let a=s==r.depth?0:r.pos<=(r.start(s+1)+r.end(s+1))/2?-1:1,l=r.index(s)+(a>0?1:0),u=r.node(s),p=!1;if(o==1)p=u.canReplace(l,l,i);else{let _=u.contentMatchAt(l).findWrapping(i.firstChild.type);p=_&&u.canReplaceWith(l,l,_[0])}if(p)return a==0?r.pos:a<0?r.before(s+1):r.after(s+1)}return null}function Xf(e,t,n=t,r=oe.empty){if(t==n&&!r.size)return null;let i=e.resolve(t),o=e.resolve(n);return aD(i,o,r)?new qt(t,n,r):new CH(i,o,r).fit()}function aD(e,t,n){return!n.openStart&&!n.openEnd&&e.start()==t.start()&&e.parent.canReplace(e.index(),t.index(),n.content)}class CH{constructor(t,n,r){this.$from=t,this.$to=n,this.unplaced=r,this.frontier=[],this.placed=j.empty;for(let i=0;i<=t.depth;i++){let o=t.node(i);this.frontier.push({type:o.type,match:o.contentMatchAt(t.indexAfter(i))})}for(let i=t.depth;i>0;i--)this.placed=j.from(t.node(i).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let u=this.findFittable();u?this.placeNodes(u):this.openMore()||this.dropNode()}let t=this.mustMoveInline(),n=this.placed.size-this.depth-this.$from.depth,r=this.$from,i=this.close(t<0?this.$to:r.doc.resolve(t));if(!i)return null;let o=this.placed,s=r.depth,a=i.depth;for(;s&&a&&o.childCount==1;)o=o.firstChild.content,s--,a--;let l=new oe(o,s,a);return t>-1?new Xt(r.pos,t,this.$to.pos,this.$to.end(),l,n):l.size||r.pos!=this.$to.pos?new qt(r.pos,i.pos,l):null}findFittable(){let t=this.unplaced.openStart;for(let n=this.unplaced.content,r=0,i=this.unplaced.openEnd;r<t;r++){let o=n.firstChild;if(n.childCount>1&&(i=0),o.type.spec.isolating&&i<=r){t=r;break}n=o.content}for(let n=1;n<=2;n+ Line truncated
`),_&&h==g.nodeValue.length)for(let E=g,b;E;E=E.parentNode){if(b=E.nextSibling){b.nodeName=="BR"&&(a=l={node:b.parentNode,offset:on(b)+1});break}let T=E.pmViewDesc;if(T&&T.node&&T.node.isBlock)break}}else{let E=g.childNodes[h-1];_=E&&(E.nodeName=="BR"||E.contentEditable=="false")}}if(ri&&p.focusNode&&p.focusNode!=l.node&&p.focusNode.nodeType==1){let g=p.focusNode.childNodes[p.focusOffset];g&&g.contentEditable=="false"&&(i=!0)}if(!(i||_&&Ln)&&Zs(a.node,a.offset,p.anchorNode,p.anchorOffset)&&Zs(l.node,l.offset,p.focusNode,p.focusOffset))return;let f=!1;if((u.extend||t==n)&&!_){u.collapse(a.node,a.offset);try{t!=n&&u.extend(l.node,l.offset),f=!0}catch{}}if(!f){if(t>n){let h=a;a=l,l=h}let g=document.createRange();g.setEnd(l.node,l.offset),g.setStart(a.node,a.offset),u.removeAllRanges(),u.addRange(g)}}ignoreMutation(t){return!this.contentDOM&&t.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(t,n){for(let r=0,i=0;i<this.children.length;i++){let o=this.children[i],s=r+o.size;if(r==s?t<=s&&n>=r:t<s&&n>r){let a=r+o.border,l=s-o.border;if(t>=a&&n<=l){this.dirty=t==r||n==s?Ms:_v,t==a&&n==l&&(o.contentLost||o.dom.parentNode!=this.contentDOM)?o.dirty=yi:o.markDirty(t-a,n-a);return}else o.dirty=o.dom==o.contentDOM&&o.dom.parentNode==this.contentDOM&&!o.children.length?Ms:yi}r=s}this.dirty=Ms}markParentsDirty(){let t=1;for(let n=this.parent;n;n=n.parent,t++){let r=t==1?Ms:_v;n.dirty<r&&(n.dirty=r)}}get domAtom(){return!1}get ignoreForCoords(){return!1}isText(t){return!1}}class yD extends qu{constructor(t,n,r,i){let o,s=n.type.toDOM;if(typeof s=="function"&&(s=s(r,()=>{if(!o)return i;if(o.parent)return o.parent.posBeforeChild(o)})),!n.type.spec.raw){if(s.nodeType!=1){let a=document.createElement("span");a.appendChild(s),s=a}s.contentEditable="false",s.classList.add("ProseMirror-widget")}super(t,[],s,null),this.widget=n,this.widget=n,o=this}matchesWidget(t){return this.dirty==Pr&&t.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(t){let n=this.widget.spec.stopEvent;return n?n(t):!1}ignoreMutation(t){return t.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get side(){return this.widget.type.side}}class n2 extends qu{constructor(t,n,r,i){super(t,[],n,null),this.textDOM=r,this.text=i}get size(){return this.text.length}localPosFromDOM(t,n){return t!=this.textDOM?this.posAtStart+(n?this.size:0):this.posAtStart+n}domFromPos(t){return{node:this.textDOM,offset:t}}ignoreMutation(t){return t.type==="characterData"&&t.target.nodeValue==t.oldValue}}class Js extends qu{constructor(t,n,r,i,o){super(t,[],r,i),this.mark=n,this.spec=o}static create(t,n,r,i){let o=i.nodeViews[n.type.name],s=o&&o(n,i,r);return(!s||!s.dom)&&(s=oa.renderSpec(document,n.type.spec.toDOM(n,r),null,n.attrs)),new Js(t,n,s.dom,s.contentDOM||s.dom,s)}parseRule(){return this.dirty&yi||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(t){return this.dirty!=yi&&this.mark.eq(t)}markDirty(t,n){if(super.markDirty(t,n),this.dirty!=Pr){let r=this.parent;for(;!r.node;)r=r.parent;r.dirty<this.dirty&&(r.dirty=this.dirty),this.dirty=Pr}}slice(t,n,r){let i=Js.create(this.parent,this.mark,!0,r),o=this.children,s=this.size;n<s&&(o=lS(o,n,s,r)),t>0&&(o=lS(o,0,t,r));for(let a=0;a<o.length;a++)o[a].parent=i;return i.children=o,i}ignoreMutation(t){return this.spec.ignoreMutation?this.spec.ignoreMutation(t):super.ignoreMutation(t)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}}class Qo extends qu{constructor(t,n,r,i,o,s,a,l,u){super(t,[],o,s),this.node=n,this.outerDeco=r,this.innerDeco=i,this.nodeDOM=a}static create(t,n,r,i,o,s){let a=o.nodeViews[n.type.name],l,u=a&&a(n,o,()=>{if(!l)return s;if(l.parent)return l.parent.posBeforeChild(l)},r,i),p=u&&u.dom,_=u&&u.contentDOM;if(n.isText){if(!p)p=document.createTextNode(n.text);else if(p.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else p||({dom:p,contentDOM:_}=oa.renderSpec(document,n.type.spec.toDOM(n),null,n.attrs));!_&&!n.isText&&p.nodeName!="BR"&&(p.hasAttribute("contenteditable")||(p.contentEditable="false"),n.type.spec.draggable&&(p.draggable=!0));let f=p;return p=vD(p,r,n),u?l=new r2(t,n,r,i,p,_||null,f,u,o,s+1):n.isText?new Jf(t,n,r,i,p,f,o):new Qo(t,n,r,i,p,_||null,f,o,s+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let t={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre"&&(t.preserveWhitespace="full"),!this.contentDOM)t.getContent=()=>this.node.content;else if(!this.contentLost)t.contentElement=this.contentDOM;else{for(let n=this.children.length-1;n>=0;n--){let r=this.children[n];if(this.dom.contains(r.dom.parentNode)){t.contentElement=r.dom.parentNode;break}}t.contentElement||(t.getContent=()=>j.empty)}return t}matchesNode(t,n,r){return this.dirty==Pr&&t.eq(this. Line truncated
`);return{dom:l,text:f,slice:t}}function xD(e,t,n,r,i){let o=i.parent.type.spec.code,s,a;if(!n&&!t)return null;let l=t&&(r||o||!n);if(l){if(e.someProp("transformPastedText",f=>{t=f(t,o||r,e)}),o)return t?new oe(j.from(e.state.schema.text(t.replace(/\r\n?/g,`
`))),0,0):oe.empty;let _=e.someProp("clipboardTextParser",f=>f(t,i,r,e));if(_)a=_;else{let f=i.marks(),{schema:g}=e.state,h=oa.fromSchema(g);s=document.createElement("div"),t.split(/(?:\r\n?|\n)+/).forEach(E=>{let b=s.appendChild(document.createElement("p"));E&&b.appendChild(h.serializeNode(g.text(E,f)))})}}else e.someProp("transformPastedHTML",_=>{n=_(n,e)}),s=R2(n),Wu&&N2(s);let u=s&&s.querySelector("[data-pm-slice]"),p=u&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(u.getAttribute("data-pm-slice")||"");if(p&&p[3])for(let _=+p[3];_>0;_--){let f=s.firstChild;for(;f&&f.nodeType!=1;)f=f.nextSibling;if(!f)break;s=f}if(a||(a=(e.someProp("clipboardParser")||e.someProp("domParser")||$c.fromSchema(e.state.schema)).parseSlice(s,{preserveWhitespace:!!(l||p),context:i,ruleFromNode(f){return f.nodeName=="BR"&&!f.nextSibling&&f.parentNode&&!b2.test(f.parentNode.nodeName)?{ignore:!0}:null}})),p)a=v2(vv(a,+p[1],+p[2]),p[4]);else if(a=oe.maxOpen(y2(a.content,i),!0),a.openStart||a.openEnd){let _=0,f=0;for(let g=a.content.firstChild;_<a.openStart&&!g.type.spec.isolating;_++,g=g.firstChild);for(let g=a.content.lastChild;f<a.openEnd&&!g.type.spec.isolating;f++,g=g.lastChild);a=vv(a,_,f)}return e.someProp("transformPasted",_=>{a=_(a,e)}),a}const b2=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function y2(e,t){if(e.childCount<2)return e;for(let n=t.depth;n>=0;n--){let i=t.node(n).contentMatchAt(t.index(n)),o,s=[];if(e.forEach(a=>{if(!s)return;let l=i.findWrapping(a.type),u;if(!l)return s=null;if(u=s.length&&o.length&&LD(l,o,a,s[s.length-1],0))s[s.length-1]=u;else{s.length&&(s[s.length-1]=kD(s[s.length-1],o.length));let p=MD(a,l);s.push(p),i=i.matchType(p.type),o=l}}),s)return j.from(s)}return e}function MD(e,t,n=0){for(let r=t.length-1;r>=n;r--)e=t[r].create(null,j.from(e));return e}function LD(e,t,n,r,i){if(i<e.length&&i<t.length&&e[i]==t[i]){let o=LD(e,t,n,r.lastChild,i+1);if(o)return r.copy(r.content.replaceChild(r.childCount-1,o));if(r.contentMatchAt(r.childCount).matchType(i==e.length-1?n.type:e[i+1]))return r.copy(r.content.append(j.from(MD(n,e,i+1))))}}function kD(e,t){if(t==0)return e;let n=e.content.replaceChild(e.childCount-1,kD(e.lastChild,t-1)),r=e.contentMatchAt(e.childCount).fillBefore(j.empty,!0);return e.copy(n.append(r))}function dS(e,t,n,r,i,o){let s=t<0?e.firstChild:e.lastChild,a=s.content;return e.childCount>1&&(o=0),i<r-1&&(a=dS(a,t,n,r,i+1,o)),i>=n&&(a=t<0?s.contentMatchAt(0).fillBefore(a,o<=i).append(a):a.append(s.contentMatchAt(s.childCount).fillBefore(j.empty,!0))),e.replaceChild(t<0?0:e.childCount-1,s.copy(a))}function vv(e,t,n){return t<e.openStart&&(e=new oe(dS(e.content,-1,t,e.openStart,0,e.openEnd),t,e.openEnd)),n<e.openEnd&&(e=new oe(dS(e.content,1,n,e.openEnd,0,0),e.openStart,n)),e}const PD={thead:["table"],tbody:["table"],tfoot:["table"],caption:["table"],colgroup:["table"],col:["table","colgroup"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","tbody","tr"]};let Ov=null;function UD(){return Ov||(Ov=document.implementation.createHTMLDocument("title"))}let Eh=null;function C2(e){let t=window.trustedTypes;return t?(Eh||(Eh=t.createPolicy("ProseMirrorClipboard",{createHTML:n=>n})),Eh.createHTML(e)):e}function R2(e){let t=/^(\s*<meta [^>]*>)*/.exec(e);t&&(e=e.slice(t[0].length));let n=UD().createElement("div"),r=/<([a-z][^>\s]+)/i.exec(e),i;if((i=r&&PD[r[1].toLowerCase()])&&(e=i.map(o=>"<"+o+">").join("")+e+i.map(o=>"</"+o+">").reverse().join("")),n.innerHTML=C2(e),i)for(let o=0;o<i.length;o++)n=n.querySelector(i[o])||n;return n}function N2(e){let t=e.querySelectorAll(hn?"span:not([class]):not([style])":"span.Apple-converted-space");for(let n=0;n<t.length;n++){let r=t[n];r.childNodes.length==1&&r.textContent==" "&&r.parentNode&&r.parentNode.replaceChild(e.ownerDocument.createTextNode(" "),r)}}function v2(e,t){if(!e.size)return e;let n=e.content.firstChild.type.schema,r;try{r=JSON.parse(t)}catch{return e}let{content:i,openStart:o,openEnd:s}=e;for(let a=r.length-2;a>=0;a-=2){let l=n.nodes[r[a]];if(!l||l.hasRequiredAttrs())break;i=j.from(l.create(r[a+1],i)),o++,s++}return new oe(i,o,s)}const kn={},Pn={},O2={touchstart:!0,touchmove:!0};class A2{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:""},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}}function I2(e){for(let t in kn){let n=kn[t];e.dom.addEventListener(t,e.input.eventHandlers[t]=r=>{D2(e,r)&&!QT(e,r)&&(e.editable||!(r.type in Pn))&&n(e,r)},O2[t]?{passive:!0}:void 0)}Ln&&e.dom.addEventListener("input",()=>null), Line truncated
`).scrollIntoView()),!0)};function ZD(e){for(let t=0;t<e.edgeCount;t++){let{type:n}=e.edge(t);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}const w$=(e,t)=>{let{$head:n,$anchor:r}=e.selection;if(!n.parent.type.spec.code||!n.sameParent(r))return!1;let i=n.node(-1),o=n.indexAfter(-1),s=ZD(i.contentMatchAt(o));if(!s||!i.canReplaceWith(o,o,s))return!1;if(t){let a=n.after(),l=e.tr.replaceWith(a,a,s.createAndFill());l.setSelection(Oe.near(l.doc.resolve(a),1)),t(l.scrollIntoView())}return!0},D$=(e,t)=>{let n=e.selection,{$from:r,$to:i}=n;if(n instanceof ei||r.parent.inlineContent||i.parent.inlineContent)return!1;let o=ZD(i.parent.contentMatchAt(i.indexAfter()));if(!o||!o.isTextblock)return!1;if(t){let s=(!r.parentOffset&&i.index()<i.parent.childCount?r:i).pos,a=e.tr.insert(s,o.createAndFill());a.setSelection(Se.create(a.doc,s+1)),t(a.scrollIntoView())}return!0},x$=(e,t)=>{let{$cursor:n}=e.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let o=n.before();if(tl(e.doc,o))return t&&t(e.tr.split(o).scrollIntoView()),!0}let r=n.blockRange(),i=r&&Ol(r);return i==null?!1:(t&&t(e.tr.lift(r,i).scrollIntoView()),!0)},M$=(e,t)=>{let{$from:n,to:r}=e.selection,i,o=n.sharedDepth(r);return o==0?!1:(i=n.before(o),t&&t(e.tr.setSelection(Te.create(e.doc,i))),!0)};function L$(e,t,n){let r=t.nodeBefore,i=t.nodeAfter,o=t.index();return!r||!i||!r.type.compatibleContent(i.type)?!1:!r.content.size&&t.parent.canReplace(o-1,o)?(n&&n(e.tr.delete(t.pos-r.nodeSize,t.pos).scrollIntoView()),!0):!t.parent.canReplace(o,o+1)||!(i.isTextblock||ls(e.doc,t.pos))?!1:(n&&n(e.tr.join(t.pos).scrollIntoView()),!0)}function JD(e,t,n,r){let i=t.nodeBefore,o=t.nodeAfter,s,a,l=i.type.spec.isolating||o.type.spec.isolating;if(!l&&L$(e,t,n))return!0;let u=!l&&t.parent.canReplace(t.index(),t.index()+1);if(u&&(s=(a=i.contentMatchAt(i.childCount)).findWrapping(o.type))&&a.matchType(s[0]||o.type).validEnd){if(n){let g=t.pos+o.nodeSize,h=j.empty;for(let T=s.length-1;T>=0;T--)h=j.from(s[T].create(null,h));h=j.from(i.copy(h));let E=e.tr.step(new Xt(t.pos-1,g,t.pos,g,new oe(h,1,0),s.length,!0)),b=E.doc.resolve(g+2*s.length);b.nodeAfter&&b.nodeAfter.type==i.type&&ls(E.doc,b.pos)&&E.join(b.pos),n(E.scrollIntoView())}return!0}let p=o.type.spec.isolating||r>0&&l?null:Oe.findFrom(t,1),_=p&&p.$from.blockRange(p.$to),f=_&&Ol(_);if(f!=null&&f>=t.depth)return n&&n(e.tr.lift(_,f).scrollIntoView()),!0;if(u&&El(o,"start",!0)&&El(i,"end")){let g=i,h=[];for(;h.push(g),!g.isTextblock;)g=g.lastChild;let E=o,b=1;for(;!E.isTextblock;E=E.firstChild)b++;if(g.canReplace(g.childCount,g.childCount,E.content)){if(n){let T=j.empty;for(let R=h.length-1;R>=0;R--)T=j.from(h[R].copy(T));let y=e.tr.step(new Xt(t.pos-h.length,t.pos+o.nodeSize,t.pos+b,t.pos+o.nodeSize-b,new oe(T,h.length,0),0,!0));n(y.scrollIntoView())}return!0}}return!1}function ex(e){return function(t,n){let r=t.selection,i=e<0?r.$from:r.$to,o=i.depth;for(;i.node(o).isInline;){if(!o)return!1;o--}return i.node(o).isTextblock?(n&&n(t.tr.setSelection(Se.create(t.doc,e<0?i.start(o):i.end(o)))),!0):!1}}const k$=ex(-1),P$=ex(1);function U$(e,t=null){return function(n,r){let{$from:i,$to:o}=n.selection,s=i.blockRange(o),a=s&&$T(s,e,t);return a?(r&&r(n.tr.wrap(s,a).scrollIntoView()),!0):!1}}function Fv(e,t=null){return function(n,r){let i=!1;for(let o=0;o<n.selection.ranges.length&&!i;o++){let{$from:{pos:s},$to:{pos:a}}=n.selection.ranges[o];n.doc.nodesBetween(s,a,(l,u)=>{if(i)return!1;if(!(!l.isTextblock||l.hasMarkup(e,t)))if(l.type==e)i=!0;else{let p=n.doc.resolve(u),_=p.index();i=p.parent.canReplaceWith(_,_+1,e)}})}if(!i)return!1;if(r){let o=n.tr;for(let s=0;s<n.selection.ranges.length;s++){let{$from:{pos:a},$to:{pos:l}}=n.selection.ranges[s];o.setBlockType(a,l,e,t)}r(o.scrollIntoView())}return!0}}typeof navigator<"u"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os<"u"&&os.platform&&os.platform()=="darwin";function B$(e,t=null){return function(n,r){let{$from:i,$to:o}=n.selection,s=i.blockRange(o);if(!s)return!1;let a=r?n.tr:null;return F$(a,s,e,t)?(r&&r(a.scrollIntoView()),!0):!1}}function F$(e,t,n,r=null){let i=!1,o=t,s=t.$from.doc;if(t.depth>=2&&t.$from.node(t.depth-1).type.compatibleContent(n)&&t.startIndex==0){if(t.$from.index(t.depth-1)==0)return!1;let l=s.resolve(t.start-2);o=new F_(l,l,t.depth),t.endIndex<t.parent.childCount&&(t=new F_(t.$from,s.resolve(t.$to.end(t.depth)),t.depth)),i=!0}let a=$T(o,n,r,t);return a?(e&&G$(e,t,a,i,n),!0):!1}function G$(e,t,n,r,i){let o=j.empty;for(let p=n.length-1;p>=0;p--)o=j.from(n[p].type.create(n[p].attrs,o));e.step(new Xt(t.start-(r?2:0),t.end,t.start,t.end,new oe(o,0,0),n.length,!0));let s=0;for(let p=0;p<n.length;p++)n[p].type==i&&(s=p+1);let a=n.length-s,l=t.start+n.length-(r?2:0),u=t.parent;for(let p=t.startIndex,_=t.endIndex,f=!0;p<_;p++,f=!1)!f&&tl(e.doc,l,a)&&(e.split(l,a),l+=2*a),l+=u.child(p).nodeSize;return e}function Y$(e){return function(t,n){let{$from:r,$to:i}=t.selection,o=r.blockRange(i,s=>s.childCount>0&&s.firstChild.type= Line truncated
`,rules:n,plugin:r}):!1}},isInputRules:!0});return r}function Z$(e){return Object.prototype.toString.call(e).slice(8,-1)}function Ep(e){return Z$(e)!=="Object"?!1:e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype}function im(e,t){const n={...e};return Ep(e)&&Ep(t)&&Object.keys(t).forEach(r=>{Ep(t[r])&&Ep(e[r])?n[r]=im(e[r],t[r]):n[r]=t[r]}),n}class cn{constructor(t={}){this.type="mark",this.name="mark",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=Be(_e(this,"addOptions",{name:this.name}))),this.storage=Be(_e(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(t={}){return new cn(t)}configure(t={}){const n=this.extend({...this.config,addOptions:()=>im(this.options,t)});return n.name=this.name,n.parent=this.parent,n}extend(t={}){const n=new cn(t);return n.parent=this,this.child=n,n.name=t.name?t.name:n.parent.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`),n.options=Be(_e(n,"addOptions",{name:n.name})),n.storage=Be(_e(n,"addStorage",{name:n.name,options:n.options})),n}static handleExit({editor:t,mark:n}){const{tr:r}=t.state,i=t.state.selection.$from;if(i.pos===i.end()){const s=i.marks();if(!!!s.find(u=>(u==null?void 0:u.type.name)===n.name))return!1;const l=s.find(u=>(u==null?void 0:u.type.name)===n.name);return l&&r.removeStoredMark(l),r.insertText(" ",i.pos),t.view.dispatch(r),!0}return!1}}function J$(e){return typeof e=="number"}class ez{constructor(t){this.find=t.find,this.handler=t.handler}}const tz=(e,t,n)=>{if(nb(t))return[...e.matchAll(t)];const r=t(e,n);return r?r.map(i=>{const o=[i.text];return o.index=i.index,o.input=e,o.data=i.data,i.replaceWith&&(i.text.includes(i.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),o.push(i.replaceWith)),o}):[]};function nz(e){const{editor:t,state:n,from:r,to:i,rule:o,pasteEvent:s,dropEvent:a}=e,{commands:l,chain:u,can:p}=new nm({editor:t,state:n}),_=[];return n.doc.nodesBetween(r,i,(g,h)=>{if(!g.isTextblock||g.type.spec.code)return;const E=Math.max(r,h),b=Math.min(i,h+g.content.size),T=g.textBetween(E-h,b-h,void 0,"");tz(T,o.find,s).forEach(R=>{if(R.index===void 0)return;const A=E+R.index+1,I=A+R[0].length,M={from:n.tr.mapping.map(A),to:n.tr.mapping.map(I)},k=o.handler({state:n,range:M,match:R,commands:l,chain:u,can:p,pasteEvent:s,dropEvent:a});_.push(k)})}),_.every(g=>g!==null)}const rz=e=>{var t;const n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return(t=n.clipboardData)===null||t===void 0||t.setData("text/html",e),n};function iz(e){const{editor:t,rules:n}=e;let r=null,i=!1,o=!1,s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,a;try{a=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{a=null}const l=({state:p,from:_,to:f,rule:g,pasteEvt:h})=>{const E=p.tr,b=tm({state:p,transaction:E});if(!(!nz({editor:t,state:b,from:Math.max(_-1,0),to:f.b-1,rule:g,pasteEvent:h,dropEvent:a})||!E.steps.length)){try{a=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{a=null}return s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,E}};return n.map(p=>new je({view(_){const f=g=>{var h;r=!((h=_.dom.parentElement)===null||h===void 0)&&h.contains(g.target)?_.dom.parentElement:null};return window.addEventListener("dragstart",f),{destroy(){window.removeEventListener("dragstart",f)}}},props:{handleDOMEvents:{drop:(_,f)=>(o=r===_.dom.parentElement,a=f,!1),paste:(_,f)=>{var g;const h=(g=f.clipboardData)===null||g===void 0?void 0:g.getData("text/html");return s=f,i=!!(h!=null&&h.includes("data-pm-slice")),!1}}},appendTransaction:(_,f,g)=>{const h=_[0],E=h.getMeta("uiEvent")==="paste"&&!i,b=h.getMeta("uiEvent")==="drop"&&!o,T=h.getMeta("applyPasteRules"),y=!!T;if(!E&&!b&&!y)return;if(y){let{text:I}=T;typeof I=="string"?I=I:I=Ku(j.from(I),g.schema);const{from:M}=T,k=M+I.length,$=rz(I);return l({rule:p,state:g,from:M,to:{b:k},pasteEvt:$})}const R=f.doc.content.findDiffStart(g.doc.content),A=f.doc.content.findDiffEnd(g.doc.content);if(!(!J$(R)||!A||R===A.b))return l({rule:p,state:g,from:R,to:A,pasteEvt:s})}}))}function oz(e){const t=e.filter((n,r)=>e.indexOf(n)!==r);return Array.from(new Set(t))}class qa{constructor(t,n){this.splittableMarks=[],this.editor=n,this.extensions=qa.resolve(t),this.schema=K$(this.extensions,n),this.setupExtensions()}static resolve(t){const n=qa.sort(qa.flatten(t)),r=oz(n.map(i=>i.name));return r.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${r.map(i=>`'${i}' Line truncated
`,textSerializers:s={}}=n||{};let a="";return e.nodesBetween(r,i,(l,u,p,_)=>{var f;l.isBlock&&u>r&&(a+=o);const g=s==null?void 0:s[l.type.name];if(g)return p&&(a+=g({node:l,pos:u,parent:p,index:_,range:t})),!1;l.isText&&(a+=(f=l==null?void 0:l.text)===null||f===void 0?void 0:f.slice(Math.max(r,u)-u,i-u))}),a}function ix(e){return Object.fromEntries(Object.entries(e.nodes).filter(([,t])=>t.spec.toText).map(([t,n])=>[t,n.spec.toText]))}const sz=bt.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new je({key:new Qe("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:e}=this,{state:t,schema:n}=e,{doc:r,selection:i}=t,{ranges:o}=i,s=Math.min(...o.map(p=>p.$from.pos)),a=Math.max(...o.map(p=>p.$to.pos)),l=ix(n);return rx(r,{from:s,to:a},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:l})}}})]}}),az=()=>({editor:e,view:t})=>(requestAnimationFrame(()=>{var n;e.isDestroyed||(t.dom.blur(),(n=window==null?void 0:window.getSelection())===null||n===void 0||n.removeAllRanges())}),!0),lz=(e=!1)=>({commands:t})=>t.setContent("",e),cz=()=>({state:e,tr:t,dispatch:n})=>{const{selection:r}=t,{ranges:i}=r;return n&&i.forEach(({$from:o,$to:s})=>{e.doc.nodesBetween(o.pos,s.pos,(a,l)=>{if(a.type.isText)return;const{doc:u,mapping:p}=t,_=u.resolve(p.map(l)),f=u.resolve(p.map(l+a.nodeSize)),g=_.blockRange(f);if(!g)return;const h=Ol(g);if(a.type.isTextblock){const{defaultType:E}=_.parent.contentMatchAt(_.index());t.setNodeMarkup(g.start,E)}(h||h===0)&&t.lift(g,h)})}),!0},uz=e=>t=>e(t),dz=()=>({state:e,dispatch:t})=>D$(e,t),pz=(e,t)=>({editor:n,tr:r})=>{const{state:i}=n,o=i.doc.slice(e.from,e.to);r.deleteRange(e.from,e.to);const s=r.mapping.map(t);return r.insert(s,o.content),r.setSelection(new Se(r.doc.resolve(s-1))),!0},_z=()=>({tr:e,dispatch:t})=>{const{selection:n}=e,r=n.$anchor.node();if(r.content.size>0)return!1;const i=e.selection.$anchor;for(let o=i.depth;o>0;o-=1)if(i.node(o).type===r.type){if(t){const a=i.before(o),l=i.after(o);e.delete(a,l).scrollIntoView()}return!0}return!1},fz=e=>({tr:t,state:n,dispatch:r})=>{const i=Zt(e,n.schema),o=t.selection.$anchor;for(let s=o.depth;s>0;s-=1)if(o.node(s).type===i){if(r){const l=o.before(s),u=o.after(s);t.delete(l,u).scrollIntoView()}return!0}return!1},mz=e=>({tr:t,dispatch:n})=>{const{from:r,to:i}=e;return n&&t.delete(r,i),!0},gz=()=>({state:e,dispatch:t})=>S$(e,t),hz=()=>({commands:e})=>e.keyboardShortcut("Enter"),Ez=()=>({state:e,dispatch:t})=>w$(e,t);function K_(e,t,n={strict:!0}){const r=Object.keys(t);return r.length?r.every(i=>n.strict?t[i]===e[i]:nb(t[i])?t[i].test(e[i]):t[i]===e[i]):!0}function ox(e,t,n={}){return e.find(r=>r.type===t&&K_(Object.fromEntries(Object.keys(n).map(i=>[i,r.attrs[i]])),n))}function $v(e,t,n={}){return!!ox(e,t,n)}function rb(e,t,n){var r;if(!e||!t)return;let i=e.parent.childAfter(e.parentOffset);if((!i.node||!i.node.marks.some(p=>p.type===t))&&(i=e.parent.childBefore(e.parentOffset)),!i.node||!i.node.marks.some(p=>p.type===t)||(n=n||((r=i.node.marks[0])===null||r===void 0?void 0:r.attrs),!ox([...i.node.marks],t,n)))return;let s=i.index,a=e.start()+i.offset,l=s+1,u=a+i.node.nodeSize;for(;s>0&&$v([...e.parent.child(s-1).marks],t,n);)s-=1,a-=e.parent.child(s).nodeSize;for(;l<e.parent.childCount&&$v([...e.parent.child(l).marks],t,n);)u+=e.parent.child(l).nodeSize,l+=1;return{from:a,to:u}}function us(e,t){if(typeof e=="string"){if(!t.marks[e])throw Error(`There is no mark type named '${e}'. Maybe you forgot to add the extension?`);return t.marks[e]}return e}const Sz=(e,t={})=>({tr:n,state:r,dispatch:i})=>{const o=us(e,r.schema),{doc:s,selection:a}=n,{$from:l,from:u,to:p}=a;if(i){const _=rb(l,o,t);if(_&&_.from<=u&&_.to>=p){const f=Se.create(s,_.from,_.to);n.setSelection(f)}}return!0},Tz=e=>t=>{const n=typeof e=="function"?e(t):e;for(let r=0;r<n.length;r+=1)if(n[r](t))return!0;return!1};function sx(e){return e instanceof Se}function Lo(e=0,t=0,n=0){return Math.min(Math.max(e,t),n)}function ax(e,t=null){if(!t)return null;const n=Oe.atStart(e),r=Oe.atEnd(e);if(t==="start"||t===!0)return n;if(t==="end")return r;const i=n.from,o=r.to;return t==="all"?Se.create(e,Lo(0,i,o),Lo(e.content.size,i,o)):Se.create(e,Lo(t,i,o),Lo(t,i,o))}function om(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}const bz=(e=null,t={})=>({editor:n,view:r,tr:i,dispatch:o})=>{t={scrollIntoView:!0,...t};const s=()=>{om()&&r.dom.focus(),requestAnimationFrame(()=>{n.isDestroyed||(r.focus(),t!=null&&t.scrollIntoView&&n.commands.scrollIntoView())})};if(r.hasFocus()&&e===null||e===!1)return!0;if(o&&e===null&&!sx(n.state.selection))return s(),!0;const a=ax(i.doc,e)||n.state.selection,l=n.state.selection.eq(a);return o&&(l||i.setSelection(a),l&&i.storedMarks&&i.setStoredMarks(i.storedMarks),s()),!0},yz=(e,t)=>n=>e.every((r,i)=>t Line truncated
position: relative;
}
.ProseMirror {
word-wrap: break-word;
white-space: pre-wrap;
white-space: break-spaces;
-webkit-font-variant-ligatures: none;
font-variant-ligatures: none;
font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
}
.ProseMirror [contenteditable="false"] {
white-space: normal;
}
.ProseMirror [contenteditable="false"] [contenteditable="true"] {
white-space: pre-wrap;
}
.ProseMirror pre {
white-space: pre-wrap;
}
img.ProseMirror-separator {
display: inline !important;
border: none !important;
margin: 0 !important;
width: 0 !important;
height: 0 !important;
}
.ProseMirror-gapcursor {
display: none;
pointer-events: none;
position: absolute;
margin: 0;
}
.ProseMirror-gapcursor:after {
content: "";
display: block;
position: absolute;
top: -2px;
width: 20px;
border-top: 1px solid black;
animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
}
@keyframes ProseMirror-cursor-blink {
to {
visibility: hidden;
}
}
.ProseMirror-hideselection *::selection {
background: transparent;
}
.ProseMirror-hideselection *::-moz-selection {
background: transparent;
}
.ProseMirror-hideselection * {
caret-color: transparent;
}
.ProseMirror-focused .ProseMirror-gapcursor {
display: block;
}
.tippy-box[data-animation=fade][data-state=hidden] {
opacity: 0
}`;function LV(e,t,n){const r=document.querySelector("style[data-tiptap-style]");if(r!==null)return r;const i=document.createElement("style");return t&&i.setAttribute("nonce",t),i.setAttribute("data-tiptap-style",""),i.innerHTML=e,document.getElementsByTagName("head")[0].appendChild(i),i}class kV extends V${constructor(t={}){super(),this.isFocused=!1,this.isInitialized=!1,this.extensionStorage={},this.options={element:document.createElement("div"),content:"",injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,enableContentCheck:!1,onBeforeCreate:()=>null,onCreate:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null,onContentError:({error:n})=>{throw n},onPaste:()=>null,onDrop:()=>null},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.setOptions(t),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.on("contentError",this.options.onContentError),this.createView(),this.injectCSS(),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),this.on("drop",({event:n,slice:r,moved:i})=>this.options.onDrop(n,r,i)),this.on("paste",({event:n,slice:r})=>this.options.onPaste(n,r)),window.setTimeout(()=>{this.isDestroyed||(this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}),this.isInitialized=!0)},0)}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&document&&(this.css=LV(MV,this.options.injectNonce))}setOptions(t={}){this.options={...this.options,...t},!(!this.view||!this.state||this.isDestroyed)&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(t,n=!0){this.setOptions({editable:t}),n&&this.emit("update",{editor:this,transaction:this.state.tr})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get state(){return this.view.state}registerPlugin(t,n){const r=nx(n)?n(t,[...this.state.plugins]):[...this.state.plugins,t],i=this.state.reconfigure({plugins:r});return this.view.updateState(i),i}unregisterPlugin(t){if(this.isDestroyed)return;const n=this.state.plugins;let r=n;if([].concat(t).forEach(o=>{const s=typeof o=="string"?`${o}$`:o.key;r=n.filter(a=>!a.key.startsWith(s))}),n.length===r.length)return;const i=this.state.reconfigure({plugins:r});return this.view.updateState(i),i}createExtensionManager(){var t,n;const i=[...this.options.enableCoreExtensions?[AV,sz.configure({blockSeparator:(n=(t=this.options.coreExtensionOptions)===null||t===void 0?void 0:t.clipboardTextSerializer)===null||n===void 0?void 0:n.blockSeparator}),vV,IV,wV,xV,OV,DV].filter(o=>typeof this.options.enableCoreExtensions=="object"?this.options.enableCoreExtensions[o.name]!==!1:!0):[],...this.options.extensions].filter(o=>["extension","node","mark"].includes(o==null?void 0:o.type));this.extensionManager=new qa(i,this)}createCommandManager(){this.commandManager=new nm({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createView(){var t;let n;try{n=_S(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:this.options.enableContentCheck})}catch(s){if(!(s instanceof Error)||!["[tiptap error]: Invalid JSON content","[tiptap error]: Invalid HTML content"].includes(s.message))throw s;this.emit("contentError",{editor:this,error:s,disableCollaboration:()=>{this.storage.collaboration&&(this.storage.collaboration.isDisabled=!0),this.options.extensions=this.options.extensions.filter(a=>a.name!=="collaboration"),this.createExtensionManager()}}),n=_S(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:!1})}const r=ax(n,this.options.autofocus);this.view=new c$(this.options.element,{...this.options.editorProps,attributes:{role:"textbox",...(t=this.options.editorProps)===null||t===void 0?void 0:t.attributes},dispatchTransaction:this.dispatchTransaction.bind(this),state:Wa.create({doc:n,selection:r||void 0})});const i=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(i),this.createNodeViews(),this.prependClass();const o=this.view.dom;o.editor=this}createNodeViews(){this.view.isDestroyed||this.view.setProps({nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`tiptap ${this.view.dom.className}`}captureTransaction(t){this.isCapturingTransaction=!0,t(),this.isC Line truncated
`,textSerializers:r={}}=t||{};return Jz(this.state.doc,{blockSeparator:n,textSerializers:{...ix(this.schema),...r}})}get isEmpty(){return ab(this.state.doc)}getCharacterCount(){return console.warn('[tiptap warn]: "editor.getCharacterCount()" is deprecated. Please use "editor.storage.characterCount.characters()" instead.'),this.state.doc.content.size-2}destroy(){if(this.emit("destroy"),this.view){const t=this.view.dom;t&&t.editor&&delete t.editor,this.view.destroy()}this.removeAllListeners()}get isDestroyed(){var t;return!(!((t=this.view)===null||t===void 0)&&t.docView)}$node(t,n){var r;return((r=this.$doc)===null||r===void 0?void 0:r.querySelector(t,n))||null}$nodes(t,n){var r;return((r=this.$doc)===null||r===void 0?void 0:r.querySelectorAll(t,n))||null}$pos(t){const n=this.state.doc.resolve(t);return new As(n,this)}get $doc(){return this.$pos(0)}}function ea(e){return new Qu({find:e.find,handler:({state:t,range:n,match:r})=>{const i=Be(e.getAttributes,void 0,r);if(i===!1||i===null)return null;const{tr:o}=t,s=r[r.length-1],a=r[0];if(s){const l=a.search(/\S/),u=n.from+a.indexOf(s),p=u+s.length;if(sb(n.from,n.to,t.doc).filter(g=>g.mark.type.excluded.find(E=>E===e.type&&E!==g.mark.type)).filter(g=>g.to>u).length)return null;p<n.to&&o.delete(p,n.to),u>n.from&&o.delete(n.from+l,u);const f=n.from+l+s.length;o.addMark(n.from+l,f,e.type.create(i||{})),o.removeStoredMark(e.type)}}})}function px(e){return new Qu({find:e.find,handler:({state:t,range:n,match:r})=>{const i=Be(e.getAttributes,void 0,r)||{},{tr:o}=t,s=n.from;let a=n.to;const l=e.type.create(i);if(r[1]){const u=r[0].lastIndexOf(r[1]);let p=s+u;p>a?p=a:a=p+r[1].length;const _=r[0][r[0].length-1];o.insertText(_,s+r[0].length-1),o.replaceWith(p,a,l)}else if(r[0]){const u=e.type.isInline?s:s-1;o.insert(u,e.type.create(i)).delete(o.mapping.map(s),o.mapping.map(a))}o.scrollIntoView()}})}function gS(e){return new Qu({find:e.find,handler:({state:t,range:n,match:r})=>{const i=t.doc.resolve(n.from),o=Be(e.getAttributes,void 0,r)||{};if(!i.node(-1).canReplaceWith(i.index(-1),i.indexAfter(-1),e.type))return null;t.tr.delete(n.from,n.to).setBlockType(n.from,n.from,e.type,o)}})}function xt(e){return new Qu({find:e.find,handler:({state:t,range:n,match:r})=>{let i=e.replace,o=n.from;const s=n.to;if(r[1]){const a=r[0].lastIndexOf(r[1]);i+=r[0].slice(a+r[1].length),o+=a;const l=o-s;l>0&&(i=r[0].slice(a-l,a)+i,o=s)}t.tr.insertText(i,o,s)}})}function Nu(e){return new Qu({find:e.find,handler:({state:t,range:n,match:r,chain:i})=>{const o=Be(e.getAttributes,void 0,r)||{},s=t.tr.delete(n.from,n.to),l=s.doc.resolve(n.from).blockRange(),u=l&&$T(l,e.type,o);if(!u)return null;if(s.wrap(l,u),e.keepMarks&&e.editor){const{selection:_,storedMarks:f}=t,{splittableMarks:g}=e.editor.extensionManager,h=f||_.$to.parentOffset&&_.$from.marks();if(h){const E=h.filter(b=>g.includes(b.type.name));s.ensureMarks(E)}}if(e.keepAttributes){const _=e.type.name==="bulletList"||e.type.name==="orderedList"?"listItem":"taskList";i().updateAttributes(_,o).run()}const p=s.doc.resolve(n.from-1).nodeBefore;p&&p.type===e.type&&ls(s.doc,n.from-1)&&(!e.joinPredicate||e.joinPredicate(r,p))&&s.join(n.from-1)}})}class rt{constructor(t={}){this.type="node",this.name="node",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=Be(_e(this,"addOptions",{name:this.name}))),this.storage=Be(_e(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(t={}){return new rt(t)}configure(t={}){const n=this.extend({...this.config,addOptions:()=>im(this.options,t)});return n.name=this.name,n.parent=this.parent,n}extend(t={}){const n=new rt(t);return n.parent=this,this.child=n,n.name=t.name?t.name:n.parent.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`),n.options=Be(_e(n,"addOptions",{name:n.name})),n.storage=Be(_e(n,"addStorage",{name:n.name,options:n.options})),n}}function PV(){return navigator.platform==="Android"||/android/i.test(navigator.userAgent)}class UV{constructor(t,n,r){this.isDragging=!1,this.component=t,this.editor=n.editor,this.options={stopEvent:null,ignoreMutation:null,...r},this.extension=n.extension,this.node=n.node,this.decorations=n.decorations,this.innerDecorations=n.innerDecorations,this.view=n.view,this.HTMLAttributes=n.HTMLAttributes,this.getPos=n.getPos,this.mount()}mount(){}get dom(){return this.editor.view.dom}get contentDOM(){return null}onDragStart(t){var n,r,i,o,s,a,l;const{view:u}=this.editor,p=t.target,_=p.nodeType===3?(n=p.parentElement)===null||n===void 0? Line truncated
* @license React
* use-sync-external-store-shim.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var qv;function GV(){if(qv)return vh;qv=1;var e=St;function t(_,f){return _===f&&(_!==0||1/_===1/f)||_!==_&&f!==f}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,i=e.useEffect,o=e.useLayoutEffect,s=e.useDebugValue;function a(_,f){var g=f(),h=r({inst:{value:g,getSnapshot:f}}),E=h[0].inst,b=h[1];return o(function(){E.value=g,E.getSnapshot=f,l(E)&&b({inst:E})},[_,g,f]),i(function(){return l(E)&&b({inst:E}),_(function(){l(E)&&b({inst:E})})},[_]),s(g),g}function l(_){var f=_.getSnapshot;_=_.value;try{var g=f();return!n(_,g)}catch{return!0}}function u(_,f){return f()}var p=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?u:a;return vh.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p,vh}_x.exports=GV();var lb=_x.exports;const YV=(...e)=>t=>{e.forEach(n=>{typeof n=="function"?n(t):n&&(n.current=t)})},HV=({contentComponent:e})=>{const t=lb.useSyncExternalStore(e.subscribe,e.getSnapshot,e.getServerSnapshot);return St.createElement(St.Fragment,null,Object.values(t))};function $V(){const e=new Set;let t={};return{subscribe(n){return e.add(n),()=>{e.delete(n)}},getSnapshot(){return t},getServerSnapshot(){return t},setRenderer(n,r){t={...t,[n]:PY.createPortal(r.reactElement,r.element,n)},e.forEach(i=>i())},removeRenderer(n){const r={...t};delete r[n],t=r,e.forEach(i=>i())}}}class zV extends St.Component{constructor(t){var n;super(t),this.editorContentRef=St.createRef(),this.initialized=!1,this.state={hasContentComponentInitialized:!!(!((n=t.editor)===null||n===void 0)&&n.contentComponent)}}componentDidMount(){this.init()}componentDidUpdate(){this.init()}init(){const t=this.props.editor;if(t&&!t.isDestroyed&&t.options.element){if(t.contentComponent)return;const n=this.editorContentRef.current;n.append(...t.options.element.childNodes),t.setOptions({element:n}),t.contentComponent=$V(),this.state.hasContentComponentInitialized||(this.unsubscribeToContentComponent=t.contentComponent.subscribe(()=>{this.setState(r=>r.hasContentComponentInitialized?r:{hasContentComponentInitialized:!0}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent()})),t.createNodeViews(),this.initialized=!0}}componentWillUnmount(){const t=this.props.editor;if(!t||(this.initialized=!1,t.isDestroyed||t.view.setProps({nodeViews:{}}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent(),t.contentComponent=null,!t.options.element.firstChild))return;const n=document.createElement("div");n.append(...t.options.element.childNodes),t.setOptions({element:n})}render(){const{editor:t,innerRef:n,...r}=this.props;return St.createElement(St.Fragment,null,St.createElement("div",{ref:YV(n,this.editorContentRef),...r}),(t==null?void 0:t.contentComponent)&&St.createElement(HV,{contentComponent:t.contentComponent}))}}const VV=F.forwardRef((e,t)=>{const n=St.useMemo(()=>Math.floor(Math.random()*4294967295).toString(),[e.editor]);return St.createElement(zV,{key:n,innerRef:t,...e})}),WV=St.memo(VV);var qV=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,i,o;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t instanceof Map&&n instanceof Map){if(t.size!==n.size)return!1;for(i of t.entries())if(!n.has(i[0]))return!1;for(i of t.entries())if(!e(i[1],n.get(i[0])))return!1;return!0}if(t instanceof Set&&n instanceof Set){if(t.size!==n.size)return!1;for(i of t.entries())if(!n.has(i[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(n)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(t[i]!==n[i])return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(o=Object.keys(t),r=o.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,o[i]))return!1;for(i=r;i--!==0;){var s=o[i];if(!(s==="_owner"&&t.$$typeof)&&!e(t[s],n[s]))return!1}return!0}return t!==t&&n!==n},KV=FV(qV),fx={exports:{}},Oh={};/**
* @license React
* use-sync-external-store-shim/with-selector.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Kv;function QV(){if(Kv)return Oh;Kv=1;var e=St,t=lb;function n(u,p){return u===p&&(u!==0||1/u===1/p)||u!==u&&p!==p}var r=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,o=e.useRef,s=e.useEffect,a=e.useMemo,l=e.useDebugValue;return Oh.useSyncExternalStoreWithSelector=function(u,p,_,f,g){var h=o(null);if(h.current===null){var E={hasValue:!1,value:null};h.current=E}else E=h.current;h=a(function(){function T(M){if(!y){if(y=!0,R=M,M=f(M),g!==void 0&&E.hasValue){var k=E.value;if(g(k,M))return A=k}return A=M}if(k=A,r(R,M))return k;var $=f(M);return g!==void 0&&g(k,$)?k:(R=M,A=$)}var y=!1,R,A,I=_===void 0?null:_;return[function(){return T(p())},I===null?void 0:function(){return T(I())}]},[p,_,f,g]);var b=i(u,h[0],h[1]);return s(function(){E.hasValue=!0,E.value=b},[b]),l(b),b},Oh}fx.exports=QV();var XV=fx.exports;const jV=typeof window<"u"?F.useLayoutEffect:F.useEffect;class ZV{constructor(t){this.transactionNumber=0,this.lastTransactionNumber=0,this.subscribers=new Set,this.editor=t,this.lastSnapshot={editor:t,transactionNumber:0},this.getSnapshot=this.getSnapshot.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.watch=this.watch.bind(this),this.subscribe=this.subscribe.bind(this)}getSnapshot(){return this.transactionNumber===this.lastTransactionNumber?this.lastSnapshot:(this.lastTransactionNumber=this.transactionNumber,this.lastSnapshot={editor:this.editor,transactionNumber:this.transactionNumber},this.lastSnapshot)}getServerSnapshot(){return{editor:null,transactionNumber:0}}subscribe(t){return this.subscribers.add(t),()=>{this.subscribers.delete(t)}}watch(t){if(this.editor=t,this.editor){const n=()=>{this.transactionNumber+=1,this.subscribers.forEach(i=>i())},r=this.editor;return r.on("transaction",n),()=>{r.off("transaction",n)}}}}function JV(e){var t;const[n]=F.useState(()=>new ZV(e.editor)),r=XV.useSyncExternalStoreWithSelector(n.subscribe,n.getSnapshot,n.getServerSnapshot,e.selector,(t=e.equalityFn)!==null&&t!==void 0?t:KV);return jV(()=>n.watch(e.editor),[e.editor,n]),F.useDebugValue(r),r}const eW=!1,hS=typeof window>"u",tW=hS||!!(typeof window<"u"&&window.next);class nW{constructor(t){this.editor=null,this.subscriptions=new Set,this.isComponentMounted=!1,this.previousDeps=null,this.instanceId="",this.options=t,this.subscriptions=new Set,this.setEditor(this.getInitialEditor()),this.scheduleDestroy(),this.getEditor=this.getEditor.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.subscribe=this.subscribe.bind(this),this.refreshEditorInstance=this.refreshEditorInstance.bind(this),this.scheduleDestroy=this.scheduleDestroy.bind(this),this.onRender=this.onRender.bind(this),this.createEditor=this.createEditor.bind(this)}setEditor(t){this.editor=t,this.instanceId=Math.random().toString(36).slice(2,9),this.subscriptions.forEach(n=>n())}getInitialEditor(){if(this.options.current.immediatelyRender===void 0)return hS||tW?null:this.createEditor();if(this.options.current.immediatelyRender&&hS&&eW)throw new Error("Tiptap Error: SSR has been detected, and `immediatelyRender` has been set to `true` this is an unsupported configuration that may result in errors, explicitly set `immediatelyRender` to `false` to avoid hydration mismatches.");return this.options.current.immediatelyRender?this.createEditor():null}createEditor(){const t={...this.options.current,onBeforeCreate:(...r)=>{var i,o;return(o=(i=this.options.current).onBeforeCreate)===null||o===void 0?void 0:o.call(i,...r)},onBlur:(...r)=>{var i,o;return(o=(i=this.options.current).onBlur)===null||o===void 0?void 0:o.call(i,...r)},onCreate:(...r)=>{var i,o;return(o=(i=this.options.current).onCreate)===null||o===void 0?void 0:o.call(i,...r)},onDestroy:(...r)=>{var i,o;return(o=(i=this.options.current).onDestroy)===null||o===void 0?void 0:o.call(i,...r)},onFocus:(...r)=>{var i,o;return(o=(i=this.options.current).onFocus)===null||o===void 0?void 0:o.call(i,...r)},onSelectionUpdate:(...r)=>{var i,o;return(o=(i=this.options.current).onSelectionUpdate)===null||o===void 0?void 0:o.call(i,...r)},onTransaction:(...r)=>{var i,o;return(o=(i=this.options.current).onTransaction)===null||o===void 0?void 0:o.call(i,...r)},onUpdate:(...r)=>{var i,o;return(o=(i=this.options.current).onUpdate)===null||o===void 0?void 0:o.call(i,...r)},onContentError:(...r)=>{var i,o;return(o=(i=this.options.current).onContentError)===null||o===void 0?void 0:o.call(i,...r)},onDrop:(...r)=>{var i,o;return(o=(i=this.options.current).onDrop)===null||o===void 0?void 0:o.call(i,...r)},onPaste:(...r)=>{var i,o;return(o=(i=this.options.current).onPaste)===null||o===void 0?void 0:o.call(i,...r)}};return new kV(t)}getEditor(){return this.editor}getServerSnapshot(){return null}subscribe(t){return this.subscriptions.add(t),()=>{this.subscriptions.delete(t)}}onRender(t){return()=>(this.isComponentMounted=!0,clearTimeout(this.scheduledDestructionTimeout),this.editor&&!this.editor.isDestroyed&&t.length===0?this.editor.setOptions({...this.options.curreLine truncated
* @license
* Lodash <https://lodash.com/>
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*/X_.exports;(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,p="__lodash_placeholder__",_=1,f=2,g=4,h=1,E=2,b=1,T=2,y=4,R=8,A=16,I=32,M=64,k=128,$=256,z=512,H=30,ae="...",fe=800,de=16,le=1,ge=2,Ne=3,x=1/0,w=9007199254740991,G=17976931348623157e292,W=NaN,J=4294967295,re=J-1,De=J>>>1,He=[["ary",k],["bind",b],["bindKey",T],["curry",R],["curryRight",A],["flip",z],["partial",I],["partialRight",M],["rearg",$]],be="[object Arguments]",Ie="[object Array]",it="[object AsyncFunction]",ot="[object Boolean]",xe="[object Date]",Ee="[object DOMException]",Rn="[object Error]",Fn="[object Function]",oi="[object GeneratorFunction]",pt="[object Map]",qe="[object Number]",Ze="[object Null]",Jt="[object Object]",Fr="[object Promise]",ne="[object Proxy]",hr="[object RegExp]",ve="[object Set]",he="[object String]",Nn="[object Symbol]",$t="[object Undefined]",Gn="[object WeakMap]",si="[object WeakSet]",Y="[object ArrayBuffer]",K="[object DataView]",ie="[object Float32Array]",pe="[object Float64Array]",Fe="[object Int8Array]",ht="[object Int16Array]",no="[object Int32Array]",ro="[object Uint8Array]",Ju="[object Uint8ClampedArray]",ed="[object Uint16Array]",td="[object Uint32Array]",Hb=/\b__p \+= '';/g,$b=/\b(__p \+=) '' \+/g,zb=/(__e\(.*?\)|\b__t\)) \+\n'';/g,mm=/&(?:amp|lt|gt|quot|#39);/g,gm=/[&<>"']/g,Vb=RegExp(mm.source),Wb=RegExp(gm.source),qb=/<%-([\s\S]+?)%>/g,Kb=/<%([\s\S]+?)%>/g,hm=/<%=([\s\S]+?)%>/g,Qb=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Xb=/^\w*$/,jb=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,nd=/[\\^$.*+?()[\]{}|]/g,Zb=RegExp(nd.source),rd=/^\s+/,Jb=/\s/,ey=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ty=/\{\n\/\* \[wrapped with (.+)\] \*/,ny=/,? & /,ry=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,iy=/[()=,{}\[\]\/\s]/,oy=/\\(\\)?/g,sy=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Em=/\w*$/,ay=/^[-+]0x[0-9a-f]+$/i,ly=/^0b[01]+$/i,cy=/^\[object .+?Constructor\]$/,uy=/^0o[0-7]+$/i,dy=/^(?:0|[1-9]\d*)$/,py=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,kl=/($^)/,_y=/['\n\r\u2028\u2029\\]/g,Pl="\\ud800-\\udfff",fy="\\u0300-\\u036f",my="\\ufe20-\\ufe2f",gy="\\u20d0-\\u20ff",Sm=fy+my+gy,Tm="\\u2700-\\u27bf",bm="a-z\\xdf-\\xf6\\xf8-\\xff",hy="\\xac\\xb1\\xd7\\xf7",Ey="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Sy="\\u2000-\\u206f",Ty=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ym="A-Z\\xc0-\\xd6\\xd8-\\xde",Cm="\\ufe0e\\ufe0f",Rm=hy+Ey+Sy+Ty,id="['’]",by="["+Pl+"]",Nm="["+Rm+"]",Ul="["+Sm+"]",vm="\\d+",yy="["+Tm+"]",Om="["+bm+"]",Am="[^"+Pl+Rm+vm+Tm+bm+ym+"]",Bl="\\ud83c[\\udffb-\\udfff]",Im="(?:"+Ul+"|"+Bl+")",od="[^"+Pl+"]",Fl="(?:\\ud83c[\\udde6-\\uddff]){2}",Gl="[\\ud800-\\udbff][\\udc00-\\udfff]",io="["+ym+"]",sd="\\u200d",Yl="(?:"+Om+"|"+Am+")",ad="(?:"+io+"|"+Am+")",Hl="(?:"+id+"(?:d|ll|m|re|s|t|ve))?",ld="(?:"+id+"(?:D|LL|M|RE|S|T|VE))?",cd=Im+"?",$l="["+Cm+"]?",ca="(?:"+sd+"(?:"+[od,Fl,Gl].join("|")+")"+$l+cd+")*",zl="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ud="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Vl=$l+cd+ca,dd="(?:"+[yy,Fl,Gl].join("|")+")"+Vl,Cy="(?:"+[od+Ul+"?",Ul,Fl,Gl,by].join("|")+")",Ry=RegExp(id,"g"),bL=RegExp(Ul,"g"),wm=RegExp(Bl+"(?="+Bl+")|"+Cy+Vl,"g"),yL=RegExp([io+"?"+Om+"+"+Hl+"(?="+[Nm,io,"$"].join("|")+")",ad+"+"+ld+"(?="+[Nm,io+Yl,"$"].join("|")+")",io+"?"+Yl+"+"+Hl,io+"+"+ld,ud,zl,vm,dd].join("|"),"g"),CL=RegExp("["+sd+Pl+Sm+Cm+"]"),RL=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,NL=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],vL=-1,_t={};_t[ie]=_t[pe]=_t[Fe]=_t[ht]=_t[no]=_t[ro]=_t[Ju]=_t[ed]=_t[td]=!0,_t[be]=_t[Ie]=_t[Y]=_t[ot]=_t[K]=_t[xe]=_t[Rn]=_t[Fn]=_t[pt]=_t[qe]=_t[Jt]=_t[hr]=_t[ve]=_t[he]=_t[Gn]=!1;var st={};st[be]=st[Ie]=st[Y]=st[K]=st[ot]=st[xe]=st[ie]=st[pe]=st[Fe]=st[ht]=st[no]=st[pt]=st[qe]=st[Jt]=st[hr]=st[ve]=st[he]=st[Nn]=st[ro]=st[Ju]=st[ed]=st[td]=!0,st[Rn]=st[Fn]=st[Gn]=!1;var OL={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",Line truncated
/* [wrapped with `+d+`] */
`)}function $P(c){return we(c)||Ss(c)||!!(qy&&c&&c[qy])}function Ii(c,d){var m=typeof c;return d=d??w,!!d&&(m=="number"||m!="symbol"&&dy.test(c))&&c>-1&&c%1==0&&c<d}function On(c,d,m){if(!yt(m))return!1;var S=typeof d;return(S=="number"?Hn(m)&&Ii(d,m.length):S=="string"&&d in m)?Hr(m[d],c):!1}function hg(c,d){if(we(c))return!1;var m=typeof c;return m=="number"||m=="symbol"||m=="boolean"||c==null||sr(c)?!0:Xb.test(c)||!Qb.test(c)||d!=null&&c in tt(d)}function zP(c){var d=typeof c;return d=="string"||d=="number"||d=="symbol"||d=="boolean"?c!=="__proto__":c===null}function Eg(c){var d=Gd(c),m=v[d];if(typeof m!="function"||!(d in $e.prototype))return!1;if(c===m)return!0;var S=fg(m);return!!S&&c===S[0]}function VP(c){return!!$y&&$y in c}var WP=gd?wi:kg;function ic(c){var d=c&&c.constructor,m=typeof d=="function"&&d.prototype||fa;return c===m}function $C(c){return c===c&&!yt(c)}function zC(c,d){return function(m){return m==null?!1:m[c]===d&&(d!==n||c in tt(m))}}function qP(c){var d=Wd(c,function(S){return m.size===u&&m.clear(),S}),m=d.cache;return d}function KP(c,d){var m=c[1],S=d[1],C=m|S,O=C<(b|T|k),D=S==k&&m==R||S==k&&m==$&&c[7].length<=d[8]||S==(k|$)&&d[7].length<=d[8]&&m==R;if(!(O||D))return c;S&b&&(c[2]=d[2],C|=m&b?0:y);var L=d[3];if(L){var B=c[3];c[3]=B?vC(B,L,d[4]):L,c[4]=B?ao(c[3],p):d[4]}return L=d[5],L&&(B=c[5],c[5]=B?OC(B,L,d[6]):L,c[6]=B?ao(c[5],p):d[6]),L=d[7],L&&(c[7]=L),S&k&&(c[8]=c[8]==null?d[8]:un(c[8],d[8])),c[9]==null&&(c[9]=d[9]),c[0]=d[0],c[1]=C,c}function QP(c){var d=[];if(c!=null)for(var m in tt(c))d.push(m);return d}function XP(c){return Ed.call(c)}function VC(c,d,m){return d=Ft(d===n?c.length-1:d,0),function(){for(var S=arguments,C=-1,O=Ft(S.length-d,0),D=V(O);++C<O;)D[C]=S[d+C];C=-1;for(var L=V(d+1);++C<d;)L[C]=S[C];return L[d]=m(D),rr(c,this,L)}}function WC(c,d){return d.length<2?c:gs(c,Cr(d,0,-1))}function jP(c,d){for(var m=c.length,S=un(d.length,m),C=Yn(c);S--;){var O=d[S];c[S]=Ii(O,m)?C[O]:n}return c}function Sg(c,d){if(!(d==="constructor"&&typeof c[d]=="function")&&d!="__proto__")return c[d]}var qC=QC(gC),oc=pk||function(c,d){return en.setTimeout(c,d)},Tg=QC(TP);function KC(c,d,m){var S=d+"";return Tg(c,HP(S,ZP(FP(S),m)))}function QC(c){var d=0,m=0;return function(){var S=gk(),C=de-(S-m);if(m=S,C>0){if(++d>=fe)return arguments[0]}else d=0;return c.apply(n,arguments)}}function Hd(c,d){var m=-1,S=c.length,C=S-1;for(d=d===n?S:d;++m<d;){var O=ng(m,C),D=c[O];c[O]=c[m],c[m]=D}return c.length=d,c}var XC=qP(function(c){var d=[];return c.charCodeAt(0)===46&&d.push(""),c.replace(jb,function(m,S,C,O){d.push(C?O.replace(oy,"$1"):S||m)}),d});function ci(c){if(typeof c=="string"||sr(c))return c;var d=c+"";return d=="0"&&1/c==-x?"-0":d}function Es(c){if(c!=null){try{return hd.call(c)}catch{}try{return c+""}catch{}}return""}function ZP(c,d){return Sr(He,function(m){var S="_."+m[0];d&m[1]&&!pd(c,S)&&c.push(S)}),c.sort()}function jC(c){if(c instanceof $e)return c.clone();var d=new br(c.__wrapped__,c.__chain__);return d.__actions__=Yn(c.__actions__),d.__index__=c.__index__,d.__values__=c.__values__,d}function JP(c,d,m){(m?On(c,d,m):d===n)?d=1:d=Ft(Me(d),0);var S=c==null?0:c.length;if(!S||d<1)return[];for(var C=0,O=0,D=V(Rd(S/d));C<S;)D[O++]=Cr(c,C,C+=d);return D}function e0(c){for(var d=-1,m=c==null?0:c.length,S=0,C=[];++d<m;){var O=c[d];O&&(C[S++]=O)}return C}function t0(){var c=arguments.length;if(!c)return[];for(var d=V(c-1),m=arguments[0],S=c;S--;)d[S-1]=arguments[S];return so(we(m)?Yn(m):[m],tn(d,1))}var n0=Ue(function(c,d){return Mt(c)?Jl(c,tn(d,1,Mt,!0)):[]}),r0=Ue(function(c,d){var m=Rr(d);return Mt(m)&&(m=n),Mt(c)?Jl(c,tn(d,1,Mt,!0),ye(m,2)):[]}),i0=Ue(function(c,d){var m=Rr(d);return Mt(m)&&(m=n),Mt(c)?Jl(c,tn(d,1,Mt,!0),n,m):[]});function o0(c,d,m){var S=c==null?0:c.length;return S?(d=m||d===n?1:Me(d),Cr(c,d<0?0:d,S)):[]}function s0(c,d,m){var S=c==null?0:c.length;return S?(d=m||d===n?1:Me(d),d=S-d,Cr(c,0,d<0?0:d)):[]}function a0(c,d){return c&&c.length?Ld(c,ye(d,3),!0,!0):[]}function l0(c,d){return c&&c.length?Ld(c,ye(d,3),!0):[]}function c0(c,d,m,S){var C=c==null?0:c.length;return C?(m&&typeof m!="number"&&On(c,d,m)&&(m=0,S=C),tP(c,d,m,S)):[]}function ZC(c,d,m){var S=c==null?0:c.length;if(!S)return-1;var C=m==null?0:Me(m);return C<0&&(C=Ft(S+C,0)),_d(c,ye(d,3),C)}function JC(c,d,m){var S=c==null?0:c.length;if(!S)return-1;var C=S-1;return m!==n&&(C=Me(m),C=m<0?Ft(S+C,0):un(C,S-1)),_d(c,ye(d,3),C,!0)}function eR(c){var d=c==null?0:c.length;return d?tn(c,1):[]}function u0(c){var d=c==null?0:c.length;return d?tn(c,x):[]}function d0(c,d){var m=c==null?0:c.length;return m?(d=d===n?1:Me(d),tn(c,d)):[]}function p0(c){for(var d=-1,m=c==null?0:c.length,S={};++d<m;){var C=c[d];S[C[0]]=C[1]}return S}function tR(c){return c&&c.length?c[0]:n}function _0(c,d,m){var S=c==null?0:c.length;if(!S)return-1;var C=m==null?0:Me(m);return C<0&&(C=Ft(S+C,0)),ua(c,d,C)}function f0(c){var d=c==null?0:c.length;return d?Cr(c,0,-1):[]}var m0=Ue(function(c){var d=Et(c,ag);return d.length&&d[0]===c[0]?jm(d):[]}),g0=Ue( Line truncated
`;c.replace(se,function(Re,Ge,ze,ar,An,lr){return ze||(ze=ar),Z+=c.slice(Q,lr).replace(_y,WL),Ge&&(L=!0,Z+=`' +
__e(`+Ge+`) +
'`),An&&(B=!0,Z+=`';
`+An+`;
__p += '`),ze&&(Z+=`' +
((__t = (`+ze+`)) == null ? '' : __t) +
'`),Q=lr+Re.length,Re}),Z+=`';
`;var Ce=Je.call(d,"variable")&&d.variable;if(!Ce)Z=`with (obj) {
`+Z+`
}
`;else if(iy.test(Ce))throw new Ae(a);Z=(B?Z.replace(Hb,""):Z).replace($b,"$1").replace(zb,"$1;"),Z="function("+(Ce||"obj")+`) {
`+(Ce?"":`obj || (obj = {});
`)+"var __t, __p = ''"+(L?", __e = _.escape":"")+(B?`, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
`:`;
`)+Z+`return __p
}`;var Le=IR(function(){return Ke(O,me+"return "+Z).apply(n,D)});if(Le.source=Z,Ng(Le))throw Le;return Le}function EB(c){return Xe(c).toLowerCase()}function SB(c){return Xe(c).toUpperCase()}function TB(c,d,m){if(c=Xe(c),c&&(m||d===n))return By(c);if(!c||!(d=or(d)))return c;var S=Gr(c),C=Gr(d),O=Fy(S,C),D=Gy(S,C)+1;return _o(S,O,D).join("")}function bB(c,d,m){if(c=Xe(c),c&&(m||d===n))return c.slice(0,Hy(c)+1);if(!c||!(d=or(d)))return c;var S=Gr(c),C=Gy(S,Gr(d))+1;return _o(S,0,C).join("")}function yB(c,d,m){if(c=Xe(c),c&&(m||d===n))return c.replace(rd,"");if(!c||!(d=or(d)))return c;var S=Gr(c),C=Fy(S,Gr(d));return _o(S,C).join("")}function CB(c,d){var m=H,S=ae;if(yt(d)){var C="separator"in d?d.separator:C;m="length"in d?Me(d.length):m,S="omission"in d?or(d.omission):S}c=Xe(c);var O=c.length;if(da(c)){var D=Gr(c);O=D.length}if(m>=O)return c;var L=m-pa(S);if(L<1)return S;var B=D?_o(D,0,L).join(""):c.slice(0,L);if(C===n)return B+S;if(D&&(L+=B.length-L),vg(C)){if(c.slice(L).search(C)){var Q,X=B;for(C.global||(C=Hm(C.source,Xe(Em.exec(C))+"g")),C.lastIndex=0;Q=C.exec(X);)var Z=Q.index;B=B.slice(0,Z===n?L:Z)}}else if(c.indexOf(or(C),L)!=L){var se=B.lastIndexOf(C);se>-1&&(B=B.slice(0,se))}return B+S}function RB(c){return c=Xe(c),c&&Vb.test(c)?c.replace(mm,JL):c}var NB=Sa(function(c,d,m){return c+(m?" ":"")+d.toUpperCase()}),Ig=wC("toUpperCase");function AR(c,d,m){return c=Xe(c),d=m?n:d,d===n?KL(c)?nk(c):FL(c):c.match(d)||[]}var IR=Ue(function(c,d){try{return rr(c,n,d)}catch(m){return Ng(m)?m:new Ae(m)}}),vB=Ai(function(c,d){return Sr(d,function(m){m=ci(m),vi(c,m,Cg(c[m],c))}),c});function OB(c){var d=c==null?0:c.length,m=ye();return c=d?Et(c,function(S){if(typeof S[1]!="function")throw new Tr(s);return[m(S[0]),S[1]]}):[],Ue(function(S){for(var C=-1;++C<d;){var O=c[C];if(rr(O[0],this,S))return rr(O[1],this,S)}})}function AB(c){return Jk(yr(c,_))}function wg(c){return function(){return c}}function IB(c,d){return c==null||c!==c?d:c}var wB=xC(),DB=xC(!0);function zn(c){return c}function Dg(c){return lC(typeof c=="function"?c:yr(c,_))}function xB(c){return uC(yr(c,_))}function MB(c,d){return dC(c,yr(d,_))}var LB=Ue(function(c,d){return function(m){return ec(m,c,d)}}),kB=Ue(function(c,d){return function(m){return ec(c,m,d)}});function xg(c,d,m){var S=zt(d),C=Dd(d,S);m==null&&!(yt(d)&&(C.length||!S.length))&&(m=d,d=c,c=this,C=Dd(d,zt(d)));var O=!(yt(m)&&"chain"in m)||!!m.chain,D=wi(c);return Sr(C,function(L){var B=d[L];c[L]=B,D&&(c.prototype[L]=function(){var Q=this.__chain__;if(O||Q){var X=c(this.__wrapped__),Z=X.__actions__=Yn(this.__actions__);return Z.push({func:B,args:arguments,thisArg:c}),X.__chain__=Q,X}return B.apply(c,so([this.value()],arguments))})}),c}function PB(){return en._===this&&(en._=lk),this}function Mg(){}function UB(c){return c=Me(c),Ue(function(d){return pC(d,c)})}var BB=ug(Et),FB=ug(My),GB=ug(km);function wR(c){return hg(c)?Pm(ci(c)):gP(c)}function YB(c){return function(d){return c==null?n:gs(c,d)}}var HB=LC(),$B=LC(!0);function Lg(){return[]}function kg(){return!1}function zB(){return{}}function VB(){return""}function WB(){return!0}function qB(c,d){if(c=Me(c),c<1||c>w)return[];var m=J,S=un(c,J);d=ye(d),c-=J;for(var C=Fm(S,d);++m<c;)d(m);return C}function KB(c){return we(c)?Et(c,ci):sr(c)?[c]:Yn(XC(Xe(c)))}function QB(c){var d=++sk;return Xe(c)+d}var XB=Ud(function(c,d){return c+d},0),jB=dg("ceil"),ZB=Ud(function(c,d){return c/d},1),JB=dg("floor");function eF(c){return c&&c.length?wd(c,zn,Xm):n}function tF(c,d){return c&&c.length?wd(c,ye(d,2),Xm):n}function nF(c){return Py(c,zn)}function rF(c,d){return Py(c,ye(d,2))}function iF(c){return c&&c.length?wd(c,zn,eg):n}function oF(c,d){return c&&c.length?wd(c,ye(d,2),eg):n}var sF=Ud(function(c,d){return c*d},1),aF=dg("round"),lF=Ud(function(c,d){return c-d},0);function cF(c){return c&&c.length?Bm(c,zn):0}function uF(c,d){return c&&c.length?Bm(c,ye(d,2)):0}return v.after=x1,v.ary=aR,v.assign=SU,v.assignIn=bR,v.assignInWith=Xd,v.assignWith=TU,v.at=bU,v.before=lR,v.bind=Cg,v.bindAll=vB,v.bindKey=cR,v.castArray=z1,v.chain=iR,v.chunk=JP,v.compact=e0,v.concat=t0,v.cond=OB,v.conforms=AB,v.constant=wg,v.countBy=c1,v.create=yU,v.curry=uR,v.curryRight=dR,v.debounce=pR,v.defaults=CU,v.defaultsDeep=RU,v.defer=M1,v.delay=L1,v.difference=n0,v.differenceBy=r0,v.differenceWith=i0,v.drop=o0,v.dropRight=s0,v.dropRightWhile=a0,v.dropWhile=l0,v.fill=c0,v.filter=d1,v.flatMap=f1,v.flatMapDeep=m1,v.flatMapDepth=g1,v.flatten=eR,v.flattenDeep=u0,v.flattenDepth=d0,v.flip=k1,v.flow=wB,v.flowRight=DB,v.fromPairs=p0,v.functions=DU,v.functionsIn=xU,v.groupBy=h1,v.initial=f0,v.intersection=m0,v.intersectionBy=g0,v.intersectionWith=h0,v.invert=LU,v.invertBy=kU,v.invokeMap=S1,v.iteratee=Dg,v.keyBy=T1,v.keys=zt,v.keysIn=$n,v.map=zd,v.mapKeys=UU,v.mapValues=BU,v.matches=xB,v.matchesProperty=MB,v.memoize=Wd,v.merge=FU,v.mergeWith=yR,v.method=LB,v.methodOf=kB,v.mixin=xg,v.negate=qd,v.nthArg=UB,v.omit=GU,v.omitBy=YU,v.once=P1,v.orderBy=b1,v.over=BB,v.overArgs=U1,v.overEvery=FB,v.overSome=GB, Line truncated
`);return!o||!s?!1:e.chain().command(({tr:a})=>(a.delete(r.pos-2,r.pos),!0)).exitCode().run()},ArrowDown:({editor:e})=>{if(!this.options.exitOnArrowDown)return!1;const{state:t}=e,{selection:n,doc:r}=t,{$from:i,empty:o}=n;if(!o||i.parent.type!==this.type||!(i.parentOffset===i.parent.nodeSize-2))return!1;const a=i.after();return a===void 0?!1:r.nodeAt(a)?e.commands.command(({tr:u})=>(u.setSelection(Oe.near(r.resolve(a))),!0)):e.commands.exitCode()}}},addInputRules(){return[gS({find:CW,type:this.type,getAttributes:e=>({language:e[1]})}),gS({find:RW,type:this.type,getAttributes:e=>({language:e[1]})})]},addProseMirrorPlugins(){return[new je({key:new Qe("codeBlockVSCodeHandler"),props:{handlePaste:(e,t)=>{if(!t.clipboardData||this.editor.isActive(this.type.name))return!1;const n=t.clipboardData.getData("text/plain"),r=t.clipboardData.getData("vscode-editor-data"),i=r?JSON.parse(r):void 0,o=i==null?void 0:i.mode;if(!n||!o)return!1;const{tr:s,schema:a}=e.state,l=a.text(n.replace(/\r\n?/g,`
`));return s.replaceSelectionWith(this.type.create({language:o},l)),s.selection.$from.parent.type!==this.type&&s.setSelection(Se.near(s.doc.resolve(Math.max(0,s.selection.from-2)))),s.setMeta("paste",!0),e.dispatch(s),!0}}})]}});function vW(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Nx(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const n=e[t],r=typeof n;(r==="object"||r==="function")&&!Object.isFrozen(n)&&Nx(n)}),e}let iO=class{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function vx(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function ko(e,...t){const n=Object.create(null);for(const r in e)n[r]=e[r];return t.forEach(function(r){for(const i in r)n[i]=r[i]}),n}const OW="</span>",oO=e=>!!e.scope,AW=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((r,i)=>`${r}${"_".repeat(i+1)}`)].join(" ")}return`${t}${e}`};let IW=class{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=vx(t)}openNode(t){if(!oO(t))return;const n=AW(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){oO(t)&&(this.buffer+=OW)}value(){return this.buffer}span(t){this.buffer+=`<span class="${t}">`}};const sO=(e={})=>{const t={children:[]};return Object.assign(t,e),t};let wW=class Ox{constructor(){this.rootNode=sO(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const n=sO({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(r=>this._walk(t,r)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{Ox._collapse(n)}))}},DW=class extends wW{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){const r=t.root;n&&(r.scope=`language:${n}`),this.add(r)}toHTML(){return new IW(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function vu(e){return e?typeof e=="string"?e:e.source:null}function Ax(e){return aa("(?=",e,")")}function xW(e){return aa("(?:",e,")*")}function MW(e){return aa("(?:",e,")?")}function aa(...e){return e.map(n=>vu(n)).join("")}function LW(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function ub(...e){return"("+(LW(e).capture?"":"?:")+e.map(r=>vu(r)).join("|")+")"}function Ix(e){return new RegExp(e.toString()+"|").exec("").length-1}function kW(e,t){const n=e&&e.exec(t);return n&&n.index===0}const PW=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function db(e,{joinWith:t}){let n=0;return e.map(r=>{n+=1;const i=n;let o=vu(r),s="";for(;o.length>0;){const a=PW.exec(o);if(!a){s+=o;break}s+=o.substring(0,a.index),o=o.substring(a.index+a[0].length),a[0][0]==="\\"&&a[1]?s+="\\"+String(Number(a[1])+i):(s+=a[0],a[0]==="("&&n++)}return s}).map(r=>`(${r})`).join(t)}const UW=/\b\B/,wx="[a-zA-Z]\\w*",pb="[a-zA-Z_]\\w*",Dx="\\b\\d+(\\.\\d+)?",xx="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Mx="\\b(0b[01]+)",BW="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",FW=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=aa(t,/.*\b/,e.binary,/\b.*/)),ko({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,r)=>{n.index!==0&&r.ignoreMatch()}},e)},Ou={begin:"\\\\[\\s\\S]",relevance:0},GW={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Ou]},YW={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Ou]},HW={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},cm=function(e,t,n={}){const r=ko({scope:"comment",begin:e,end:t,contains:[]},n);r.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const i=ub("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:aa(/[ ] Line truncated
https://github.com/highlightjs/highlight.js/issues/2277`),J=x,W=w),G===void 0&&(G=!0);const re={code:W,language:J};ge("before:highlight",re);const De=re.result?re.result:_(re.language,re.code,G);return De.code=re.code,ge("after:highlight",De),De}function _(x,w,G,W){const J=Object.create(null);function re(Y,K){return Y.keywords[K]}function De(){if(!ne.keywords){ve.addText(he);return}let Y=0;ne.keywordPatternRe.lastIndex=0;let K=ne.keywordPatternRe.exec(he),ie="";for(;K;){ie+=he.substring(Y,K.index);const pe=Ze.case_insensitive?K[0].toLowerCase():K[0],Fe=re(ne,pe);if(Fe){const[ht,no]=Fe;if(ve.addText(ie),ie="",J[pe]=(J[pe]||0)+1,J[pe]<=Sq&&(Nn+=no),ht.startsWith("_"))ie+=K[0];else{const ro=Ze.classNameAliases[ht]||ht;Ie(K[0],ro)}}else ie+=K[0];Y=ne.keywordPatternRe.lastIndex,K=ne.keywordPatternRe.exec(he)}ie+=he.substring(Y),ve.addText(ie)}function He(){if(he==="")return;let Y=null;if(typeof ne.subLanguage=="string"){if(!t[ne.subLanguage]){ve.addText(he);return}Y=_(ne.subLanguage,he,!0,hr[ne.subLanguage]),hr[ne.subLanguage]=Y._top}else Y=g(he,ne.subLanguage.length?ne.subLanguage:null);ne.relevance>0&&(Nn+=Y.relevance),ve.__addSublanguage(Y._emitter,Y.language)}function be(){ne.subLanguage!=null?He():De(),he=""}function Ie(Y,K){Y!==""&&(ve.startScope(K),ve.addText(Y),ve.endScope())}function it(Y,K){let ie=1;const pe=K.length-1;for(;ie<=pe;){if(!Y._emit[ie]){ie++;continue}const Fe=Ze.classNameAliases[Y[ie]]||Y[ie],ht=K[ie];Fe?Ie(ht,Fe):(he=ht,De(),he=""),ie++}}function ot(Y,K){return Y.scope&&typeof Y.scope=="string"&&ve.openNode(Ze.classNameAliases[Y.scope]||Y.scope),Y.beginScope&&(Y.beginScope._wrap?(Ie(he,Ze.classNameAliases[Y.beginScope._wrap]||Y.beginScope._wrap),he=""):Y.beginScope._multi&&(it(Y.beginScope,K),he="")),ne=Object.create(Y,{parent:{value:ne}}),ne}function xe(Y,K,ie){let pe=kW(Y.endRe,ie);if(pe){if(Y["on:end"]){const Fe=new iO(Y);Y["on:end"](K,Fe),Fe.isMatchIgnored&&(pe=!1)}if(pe){for(;Y.endsParent&&Y.parent;)Y=Y.parent;return Y}}if(Y.endsWithParent)return xe(Y.parent,K,ie)}function Ee(Y){return ne.matcher.regexIndex===0?(he+=Y[0],1):(si=!0,0)}function Rn(Y){const K=Y[0],ie=Y.rule,pe=new iO(ie),Fe=[ie.__beforeBegin,ie["on:begin"]];for(const ht of Fe)if(ht&&(ht(Y,pe),pe.isMatchIgnored))return Ee(K);return ie.skip?he+=K:(ie.excludeBegin&&(he+=K),be(),!ie.returnBegin&&!ie.excludeBegin&&(he=K)),ot(ie,Y),ie.returnBegin?0:K.length}function Fn(Y){const K=Y[0],ie=w.substring(Y.index),pe=xe(ne,Y,ie);if(!pe)return uO;const Fe=ne;ne.endScope&&ne.endScope._wrap?(be(),Ie(K,ne.endScope._wrap)):ne.endScope&&ne.endScope._multi?(be(),it(ne.endScope,Y)):Fe.skip?he+=K:(Fe.returnEnd||Fe.excludeEnd||(he+=K),be(),Fe.excludeEnd&&(he=K));do ne.scope&&ve.closeNode(),!ne.skip&&!ne.subLanguage&&(Nn+=ne.relevance),ne=ne.parent;while(ne!==pe.parent);return pe.starts&&ot(pe.starts,Y),Fe.returnEnd?0:K.length}function oi(){const Y=[];for(let K=ne;K!==Ze;K=K.parent)K.scope&&Y.unshift(K.scope);Y.forEach(K=>ve.openNode(K))}let pt={};function qe(Y,K){const ie=K&&K[0];if(he+=Y,ie==null)return be(),0;if(pt.type==="begin"&&K.type==="end"&&pt.index===K.index&&ie===""){if(he+=w.slice(K.index,K.index+1),!i){const pe=new Error(`0 width match regex (${x})`);throw pe.languageName=x,pe.badRule=pt.rule,pe}return 1}if(pt=K,K.type==="begin")return Rn(K);if(K.type==="illegal"&&!G){const pe=new Error('Illegal lexeme "'+ie+'" for mode "'+(ne.scope||"<unnamed>")+'"');throw pe.mode=ne,pe}else if(K.type==="end"){const pe=Fn(K);if(pe!==uO)return pe}if(K.type==="illegal"&&ie==="")return 1;if(Gn>1e5&&Gn>K.index*3)throw new Error("potential infinite loop, way more iterations than matches");return he+=ie,ie.length}const Ze=z(x);if(!Ze)throw $s(o.replace("{}",x)),new Error('Unknown language: "'+x+'"');const Jt=mq(Ze);let Fr="",ne=W||Jt;const hr={},ve=new a.__emitter(a);oi();let he="",Nn=0,$t=0,Gn=0,si=!1;try{if(Ze.__emitTokens)Ze.__emitTokens(w,ve);else{for(ne.matcher.considerAll();;){Gn++,si?si=!1:ne.matcher.considerAll(),ne.matcher.lastIndex=$t;const Y=ne.matcher.exec(w);if(!Y)break;const K=w.substring($t,Y.index),ie=qe(K,Y);$t=Y.index+ie}qe(w.substring($t))}return ve.finalize(),Fr=ve.toHTML(),{language:x,value:Fr,relevance:Nn,illegal:!1,_emitter:ve,_top:ne}}catch(Y){if(Y.message&&Y.message.includes("Illegal"))return{language:x,value:wh(w),illegal:!0,relevance:0,_illegalBy:{message:Y.message,index:$t,context:w.slice($t-100,$t+100),mode:Y.mode,resultSoFar:Fr},_emitter:ve};if(i)return{language:x,value:wh(w),illegal:!1,relevance:0,errorRaised:Y,_emitter:ve,_top:ne};throw Y}}function f(x){const w={value:wh(x),illegal:!1,relevance:0,_top:s,_emitter:new a.__emitter(a)};return w._emitter.addText(x),w}function g(x,w){w=w||a.languages||Object.keys(t);const G=f(x),W=w.filter(z).filter(ae).map(be=>_(be,x,!1));W.unshift(G);const J=W.sort((be,Ie)=>{if(be.relevance!==Ie.relevance)return Ie.relevance-be.relevance;if(be.language&&Ie.language){if(z(be.language).supersetOf===Ie.language)return 1;if(z(Ie.language).supersetOf===be.language)return-1}return 0}),[re,De]=J, Line truncated
]*;`,relevance:0},{begin:"[vp][0-9]+"}]}}function lQ(e){const t="[a-z][a-zA-Z0-9_]*",n={className:"string",begin:"\\$.{1}"},r={className:"symbol",begin:"#"+e.UNDERSCORE_IDENT_RE};return{name:"Smalltalk",aliases:["st"],keywords:["self","super","nil","true","false","thisContext"],contains:[e.COMMENT('"','"'),e.APOS_STRING_MODE,{className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},{begin:t+":",relevance:0},e.C_NUMBER_MODE,r,n,{begin:"\\|[ ]*"+t+"([ ]+"+t+")*[ ]*\\|",returnBegin:!0,end:/\|/,illegal:/\S/,contains:[{begin:"(\\|[ ]*)?"+t}]},{begin:"#\\(",end:"\\)",contains:[e.APOS_STRING_MODE,n,e.C_NUMBER_MODE,r]}]}}function cQ(e){return{name:"SML (Standard ML)",aliases:["ml"],keywords:{$pattern:"[a-z_]\\w*!?",keyword:"abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while",built_in:"array bool char exn int list option order real ref string substring vector unit word",literal:"true false NONE SOME LESS EQUAL GREATER nil"},illegal:/\/\/|>>/,contains:[{className:"literal",begin:/\[(\|\|)?\]|\(\)/,relevance:0},e.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{className:"type",begin:"`[A-Z][\\w']*"},{className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*"},e.inherit(e.APOS_STRING_MODE,{className:"string",relevance:0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"number",begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",relevance:0},{begin:/[-=]>/}]}}function uQ(e){const t={className:"variable",begin:/\b_+[a-zA-Z]\w*/},n={className:"title",begin:/[a-zA-Z][a-zA-Z_0-9]*_fnc_[a-zA-Z_0-9]+/},r={className:"string",variants:[{begin:'"',end:'"',contains:[{begin:'""',relevance:0}]},{begin:"'",end:"'",contains:[{begin:"''",relevance:0}]}]},i=["break","breakWith","breakOut","breakTo","case","catch","continue","continueWith","default","do","else","exit","exitWith","for","forEach","from","if","local","private","switch","step","then","throw","to","try","waitUntil","while","with"],o=["blufor","civilian","configNull","controlNull","displayNull","diaryRecordNull","east","endl","false","grpNull","independent","lineBreak","locationNull","nil","objNull","opfor","pi","resistance","scriptNull","sideAmbientLife","sideEmpty","sideEnemy","sideFriendly","sideLogic","sideUnknown","taskNull","teamMemberNull","true","west"],s=["abs","accTime","acos","action","actionIDs","actionKeys","actionKeysEx","actionKeysImages","actionKeysNames","actionKeysNamesArray","actionName","actionParams","activateAddons","activatedAddons","activateKey","activeTitleEffectParams","add3DENConnection","add3DENEventHandler","add3DENLayer","addAction","addBackpack","addBackpackCargo","addBackpackCargoGlobal","addBackpackGlobal","addBinocularItem","addCamShake","addCuratorAddons","addCuratorCameraArea","addCuratorEditableObjects","addCuratorEditingArea","addCuratorPoints","addEditorObject","addEventHandler","addForce","addForceGeneratorRTD","addGoggles","addGroupIcon","addHandgunItem","addHeadgear","addItem","addItemCargo","addItemCargoGlobal","addItemPool","addItemToBackpack","addItemToUniform","addItemToVest","addLiveStats","addMagazine","addMagazineAmmoCargo","addMagazineCargo","addMagazineCargoGlobal","addMagazineGlobal","addMagazinePool","addMagazines","addMagazineTurret","addMenu","addMenuItem","addMissionEventHandler","addMPEventHandler","addMusicEventHandler","addonFiles","addOwnedMine","addPlayerScores","addPrimaryWeaponItem","addPublicVariableEventHandler","addRating","addResources","addScore","addScoreSide","addSecondaryWeaponItem","addSwitchableUnit","addTeamMember","addToRemainsCollector","addTorque","addUniform","addUserActionEventHandler","addVehicle","addVest","addWaypoint","addWeapon","addWeaponCargo","addWeaponCargoGlobal","addWeaponGlobal","addWeaponItem","addWeaponPool","addWeaponTurret","addWeaponWithAttachmentsCargo","addWeaponWithAttachmentsCargoGlobal","admin","agent","agents","AGLToASL","aimedAtTarget","aimPos","airDensityCurveRTD","airDensityRTD","airplaneThrottle","airportSide","AISFinishHeal","alive","all3DENEntities","allActiveTitleEffects","allAddonsInfo","allAirports","allControls","allCurators","allCutLayers","allDead","allDeadMen","allDiaryRecords","allDiarySubjects","allDisplays","allEnv3DSoundSources","allGroups","allLODs","allMapMarkers","allMines","allMissionObjects","allObjects","allow3DMode","allowCrewInImmobile","allowCuratorLogicIgnoreAreas","allowDamage","allowDammage","allowedService","allowFileOperations","allowFleeing","allowGetIn","allowService","allowSprint","allPlayers","allSimpleObjects","allSites","allTurrets","allUnits","allUnitsUAV","allUsers","allVariables","ambientTemperature","ammo","ammoOnPylon","and","animate","animateBay","animateDoor","animatePylon","animateSouLine truncated
]*?"'`},{begin:`"[^\r
"]*"`}]},{className:"built_in",variants:[{begin:"\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\()"}]},e.COMMENT("^[ ]*\\*.*$",!1),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}}function _Q(e){return{name:"STEP Part 21",aliases:["p21","step","stp"],case_insensitive:!0,keywords:{$pattern:"[A-Z_][A-Z0-9_.]*",keyword:["HEADER","ENDSEC","DATA"]},contains:[{className:"meta",begin:"ISO-10303-21;",relevance:10},{className:"meta",begin:"END-ISO-10303-21;",relevance:10},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT("/\\*\\*!","\\*/"),e.C_NUMBER_MODE,e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"string",begin:"'",end:"'"},{className:"symbol",variants:[{begin:"#",end:"\\d+",illegal:"\\W"}]}]}}const fQ=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}),mQ=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],gQ=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],hQ=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],EQ=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],SQ=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","backgrou Line truncated
(multipart)?`,end:`\\]
`},{className:"string",begin:"\\d{4}-\\d{2}-\\d{2}(\\s+)\\d{2}:\\d{2}:\\d{2}.\\d+Z"},{className:"string",begin:"(\\+|-)\\d+"},{className:"keyword",relevance:10,variants:[{begin:"^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\s+(test)?"},{begin:"^progress(:?)(\\s+)?(pop|push)?"},{begin:"^tags:"},{begin:"^time:"}]}]}}function yQ(e){return{name:"Tagger Script",contains:[{className:"comment",begin:/\$noop\(/,end:/\)/,contains:[{begin:/\\[()]/},{begin:/\(/,end:/\)/,contains:[{begin:/\\[()]/},"self"]}],relevance:10},{className:"keyword",begin:/\$[_a-zA-Z0-9]+(?=\()/},{className:"variable",begin:/%[_a-zA-Z0-9:]+%/},{className:"symbol",begin:/\\[\\nt$%,()]/},{className:"symbol",begin:/\\u[a-fA-F0-9]{4}/}]}}function CQ(e){return{name:"Test Anything Protocol",case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"meta",variants:[{begin:"^TAP version (\\d+)$"},{begin:"^1\\.\\.(\\d+)$"}]},{begin:/---$/,end:"\\.\\.\\.$",subLanguage:"yaml",relevance:0},{className:"number",begin:" (\\d+) "},{className:"symbol",variants:[{begin:"^ok"},{begin:"^not ok"}]}]}}function RQ(e){const t=e.regex,n=/[a-zA-Z_][a-zA-Z0-9_]*/,r={className:"number",variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]};return{name:"Tcl",aliases:["tk"],keywords:["after","append","apply","array","auto_execok","auto_import","auto_load","auto_mkindex","auto_mkindex_old","auto_qualify","auto_reset","bgerror","binary","break","catch","cd","chan","clock","close","concat","continue","dde","dict","encoding","eof","error","eval","exec","exit","expr","fblocked","fconfigure","fcopy","file","fileevent","filename","flush","for","foreach","format","gets","glob","global","history","http","if","incr","info","interp","join","lappend|10","lassign|10","lindex|10","linsert|10","list","llength|10","load","lrange|10","lrepeat|10","lreplace|10","lreverse|10","lsearch|10","lset|10","lsort|10","mathfunc","mathop","memory","msgcat","namespace","open","package","parray","pid","pkg::create","pkg_mkIndex","platform","platform::shell","proc","puts","pwd","read","refchan","regexp","registry","regsub|10","rename","return","safe","scan","seek","set","socket","source","split","string","subst","switch","tcl_endOfWord","tcl_findLibrary","tcl_startOfNextWord","tcl_startOfPreviousWord","tcl_wordBreakAfter","tcl_wordBreakBefore","tcltest","tclvars","tell","time","tm","trace","unknown","unload","unset","update","uplevel","upvar","variable","vwait","while"],contains:[e.COMMENT(";[ \\t]*#","$"),e.COMMENT("^[ \\t]*#","$"),{beginKeywords:"proc",end:"[\\{]",excludeEnd:!0,contains:[{className:"title",begin:"[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"[ \\t\\n\\r]",endsWithParent:!0,excludeEnd:!0}]},{className:"variable",variants:[{begin:t.concat(/\$/,t.optional(/::/),n,"(::",n,")*")},{begin:"\\$\\{(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"\\}",contains:[r]}]},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},r]}}function NQ(e){const t=["bool","byte","i16","i32","i64","double","string","binary"];return{name:"Thrift",keywords:{keyword:["namespace","const","typedef","struct","enum","service","exception","void","oneway","set","list","map","required","optional"],type:t,literal:"true false"},contains:[e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"struct enum service exception",end:/\{/,illegal:/\n/,contains:[e.inherit(e.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]},{begin:"\\b(set|list|map)\\s*<",keywords:{type:[...t,"set","list","map"]},end:">",contains:["self"]}]}}function vQ(e){const t={className:"number",begin:"[1-9][0-9]*",relevance:0},n={className:"symbol",begin:":[^\\]]+"},r={className:"built_in",begin:"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[",end:"\\]",contains:["self",t,n]},i={className:"built_in",begin:"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",end:"\\]",contains:["self",t,e.QUOTE_STRING_MODE,n]};return{name:"TP",keywords:{keyword:["ABORT","ACC","ADJUST","AND","AP_LD","BREAK","CALL","CNT","COL","CONDITION","CONFIG","DA","DB","DIV","DETECT","ELSE","END","ENDFOR","ERR_NUM","ERROR_PROG","FINE","FOR","GP","GUARD","INC","IF","JMP","LINEAR_MAX_SPEED","LOCK","MOD","MONITOR","OFFSET","Offset","OR","OVERRIDE","PAUSE","PREG","PTH","RT_LD","RUN","SELECT","SKIP","Skip","TA","TB","TO","TOOL_OFFSET","Tool_Offset","UF","UT","UFRAME_NUM","UTOOL_NUM","UNLOCK","WAIT","X","Y","Z","W","P","R","STRLEN","SUBSTR","FINDSTR","VOFFSET","PROG","ATTR","MN","POS"],literal:["ON","OFF","max_speed","LPOS","JPOS","ENABLE","DISABLE","START","STOP","RESET"]},contains:[r,i,{className:"keyword",begin:"/(PROG|ATTR|MN|POS|END)\\b"},{className:"keyword",begin:"(CALL|RUN|POINT_LOGIC|LBL)\\b"},{className:"keyword",begin:"\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)"},{className:"number",begin:"\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b",relevance:0},e.COMMENT Line truncated
`},u]}}const d4=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}),p4=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],_4=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],zx=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],Vx=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],f4=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","fon Line truncated
]`,g={scope:"string",variants:[u,l,p,_]},h={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},E=["false","null","true"],b=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],T=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],R={keyword:b,literal:(de=>{const le=[];return de.forEach(ge=>{le.push(ge),ge.toLowerCase()===ge?le.push(ge.toUpperCase()):le.push(ge.toLowerCase())}),le})(E),built_in:T},A=de=>de.map(le=>le.replace(/\|\d+$/,"")),I={variants:[{match:[/new/,t.concat(f,"+"),t.concat("(?!",A(T).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},M=t.concat(r,"\\b(?!\\()"),k={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),M],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),M],scope:{1:"title.class",3:"variable.constant"}},{match:[i,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},$={scope:"attr",match:t.concat(r,t.lookahead(":"),t.lookahead(/(?!::)/))},z={relevance:0,begin:/\(/,end:/\)/,keywords:R,contains:[$,o,k,e.C_BLOCK_COMMENT_MODE,g,h,I]},H={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",A(b).join("\\b|"),"|",A(T).join("\\b|"),"\\b)"),r,t.concat(f,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[z]};z.contains.push(H);const ae=[$,k,e.C_BLOCK_COMMENT_MODE,g,h,I],fe={begin:t.concat(/#\[\s*/,i),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:E,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:E,keyword:["new","array"]},contains:["self",...ae]},...ae,{scope:"meta",match:i}]};return{case_insensitive:!1,keywords:R,contains:[fe,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},s,{scope:"variable.language",match:/\$this\b/},o,H,k,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},I,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:R,contains:["self",o,k,e.C_BLOCK_COMMENT_MODE,g,h]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trai Line truncated
https://github.com/highlightjs/highlight.js/issues/2277`),J=x,W=w),G===void 0&&(G=!0);const re={code:W,language:J};ge("before:highlight",re);const De=re.result?re.result:_(re.language,re.code,G);return De.code=re.code,ge("after:highlight",De),De}function _(x,w,G,W){const J=Object.create(null);function re(Y,K){return Y.keywords[K]}function De(){if(!ne.keywords){ve.addText(he);return}let Y=0;ne.keywordPatternRe.lastIndex=0;let K=ne.keywordPatternRe.exec(he),ie="";for(;K;){ie+=he.substring(Y,K.index);const pe=Ze.case_insensitive?K[0].toLowerCase():K[0],Fe=re(ne,pe);if(Fe){const[ht,no]=Fe;if(ve.addText(ie),ie="",J[pe]=(J[pe]||0)+1,J[pe]<=z5&&(Nn+=no),ht.startsWith("_"))ie+=K[0];else{const ro=Ze.classNameAliases[ht]||ht;Ie(K[0],ro)}}else ie+=K[0];Y=ne.keywordPatternRe.lastIndex,K=ne.keywordPatternRe.exec(he)}ie+=he.substring(Y),ve.addText(ie)}function He(){if(he==="")return;let Y=null;if(typeof ne.subLanguage=="string"){if(!t[ne.subLanguage]){ve.addText(he);return}Y=_(ne.subLanguage,he,!0,hr[ne.subLanguage]),hr[ne.subLanguage]=Y._top}else Y=g(he,ne.subLanguage.length?ne.subLanguage:null);ne.relevance>0&&(Nn+=Y.relevance),ve.__addSublanguage(Y._emitter,Y.language)}function be(){ne.subLanguage!=null?He():De(),he=""}function Ie(Y,K){Y!==""&&(ve.startScope(K),ve.addText(Y),ve.endScope())}function it(Y,K){let ie=1;const pe=K.length-1;for(;ie<=pe;){if(!Y._emit[ie]){ie++;continue}const Fe=Ze.classNameAliases[Y[ie]]||Y[ie],ht=K[ie];Fe?Ie(ht,Fe):(he=ht,De(),he=""),ie++}}function ot(Y,K){return Y.scope&&typeof Y.scope=="string"&&ve.openNode(Ze.classNameAliases[Y.scope]||Y.scope),Y.beginScope&&(Y.beginScope._wrap?(Ie(he,Ze.classNameAliases[Y.beginScope._wrap]||Y.beginScope._wrap),he=""):Y.beginScope._multi&&(it(Y.beginScope,K),he="")),ne=Object.create(Y,{parent:{value:ne}}),ne}function xe(Y,K,ie){let pe=s5(Y.endRe,ie);if(pe){if(Y["on:end"]){const Fe=new EO(Y);Y["on:end"](K,Fe),Fe.isMatchIgnored&&(pe=!1)}if(pe){for(;Y.endsParent&&Y.parent;)Y=Y.parent;return Y}}if(Y.endsWithParent)return xe(Y.parent,K,ie)}function Ee(Y){return ne.matcher.regexIndex===0?(he+=Y[0],1):(si=!0,0)}function Rn(Y){const K=Y[0],ie=Y.rule,pe=new EO(ie),Fe=[ie.__beforeBegin,ie["on:begin"]];for(const ht of Fe)if(ht&&(ht(Y,pe),pe.isMatchIgnored))return Ee(K);return ie.skip?he+=K:(ie.excludeBegin&&(he+=K),be(),!ie.returnBegin&&!ie.excludeBegin&&(he=K)),ot(ie,Y),ie.returnBegin?0:K.length}function Fn(Y){const K=Y[0],ie=w.substring(Y.index),pe=xe(ne,Y,ie);if(!pe)return RO;const Fe=ne;ne.endScope&&ne.endScope._wrap?(be(),Ie(K,ne.endScope._wrap)):ne.endScope&&ne.endScope._multi?(be(),it(ne.endScope,Y)):Fe.skip?he+=K:(Fe.returnEnd||Fe.excludeEnd||(he+=K),be(),Fe.excludeEnd&&(he=K));do ne.scope&&ve.closeNode(),!ne.skip&&!ne.subLanguage&&(Nn+=ne.relevance),ne=ne.parent;while(ne!==pe.parent);return pe.starts&&ot(pe.starts,Y),Fe.returnEnd?0:K.length}function oi(){const Y=[];for(let K=ne;K!==Ze;K=K.parent)K.scope&&Y.unshift(K.scope);Y.forEach(K=>ve.openNode(K))}let pt={};function qe(Y,K){const ie=K&&K[0];if(he+=Y,ie==null)return be(),0;if(pt.type==="begin"&&K.type==="end"&&pt.index===K.index&&ie===""){if(he+=w.slice(K.index,K.index+1),!i){const pe=new Error(`0 width match regex (${x})`);throw pe.languageName=x,pe.badRule=pt.rule,pe}return 1}if(pt=K,K.type==="begin")return Rn(K);if(K.type==="illegal"&&!G){const pe=new Error('Illegal lexeme "'+ie+'" for mode "'+(ne.scope||"<unnamed>")+'"');throw pe.mode=ne,pe}else if(K.type==="end"){const pe=Fn(K);if(pe!==RO)return pe}if(K.type==="illegal"&&ie==="")return 1;if(Gn>1e5&&Gn>K.index*3)throw new Error("potential infinite loop, way more iterations than matches");return he+=ie,ie.length}const Ze=z(x);if(!Ze)throw zs(o.replace("{}",x)),new Error('Unknown language: "'+x+'"');const Jt=G5(Ze);let Fr="",ne=W||Jt;const hr={},ve=new a.__emitter(a);oi();let he="",Nn=0,$t=0,Gn=0,si=!1;try{if(Ze.__emitTokens)Ze.__emitTokens(w,ve);else{for(ne.matcher.considerAll();;){Gn++,si?si=!1:ne.matcher.considerAll(),ne.matcher.lastIndex=$t;const Y=ne.matcher.exec(w);if(!Y)break;const K=w.substring($t,Y.index),ie=qe(K,Y);$t=Y.index+ie}qe(w.substring($t))}return ve.finalize(),Fr=ve.toHTML(),{language:x,value:Fr,relevance:Nn,illegal:!1,_emitter:ve,_top:ne}}catch(Y){if(Y.message&&Y.message.includes("Illegal"))return{language:x,value:kh(w),illegal:!0,relevance:0,_illegalBy:{message:Y.message,index:$t,context:w.slice($t-100,$t+100),mode:Y.mode,resultSoFar:Fr},_emitter:ve};if(i)return{language:x,value:kh(w),illegal:!1,relevance:0,errorRaised:Y,_emitter:ve,_top:ne};throw Y}}function f(x){const w={value:kh(x),illegal:!1,relevance:0,_top:s,_emitter:new a.__emitter(a)};return w._emitter.addText(x),w}function g(x,w){w=w||a.languages||Object.keys(t);const G=f(x),W=w.filter(z).filter(ae).map(be=>_(be,x,!1));W.unshift(G);const J=W.sort((be,Ie)=>{if(be.relevance!==Ie.relevance)return Ie.relevance-be.relevance;if(be.language&&Ie.language){if(z(be.language).supersetOf===Ie.language)return 1;if(z(Ie.language).supersetOf===be.language)return-1}return 0}),[re,De]=J, Line truncated
`);return!r||!i?!1:!!e.chain().command(({tr:o})=>(o.delete(t.pos-2,t.pos),!0)).exitCode().run()}function i6(){if(this.options.codeMode)return!1;const{empty:e,$anchor:t}=this.editor.state.selection,n=t.pos===1;return!e||t.parent.type.name!==this.name?!1:n||!t.parent.textContent.length?!!this.editor.commands.clearNodes():!1}function o6({editor:e}){const t=e.state.selection.$from.parent.textContent.slice(0,e.state.selection.$from.parentOffset);return(t==null?void 0:t.split(`
`))||[]}const Sb=["arduino","bash","c","cpp","csharp","css","diff","go","graphql","ini","java","javascript","json","kotlin","less","lua","makefile","markdown","objectivec","perl","php","php-template","plaintext","python","python-repl","r","ruby","rust","scss","shell","sql","swift","typescript","vbnet","wasm","xml","yaml","ipsphtml","ipscss"],s6=rt.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:e}){return["li",We(this.options.HTMLAttributes,e),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),Du=s6.extend({parseHTML(){return[{tag:"li",getAttrs:e=>{var t;if(((t=e.childNodes)==null?void 0:t.length)>1){const n=document.createElement("div");n.innerHTML=e.innerHTML,e.innerHTML="",e.appendChild(n)}return null}}]}});function Kt(e,t="",n=!0){const r=i=>{t&&(i.message=t+": "+i.message),window.Debug[n?"warn":"error"](i)};try{const i=e();return i instanceof Promise?new Promise(o=>{i.catch(r).finally(()=>o(!1))}):!0}catch(i){return r(i),!1}}const tr=_b.extend({addCommands(){var e;return{...(e=this.parent)==null?void 0:e.call(this)}},addAttributes(){var e;return{language:{default:this.options.defaultLanguage||((e=this.options.allowedLanguages)==null?void 0:e[0])||"plaintext",parseHTML:t=>{var r,i;const n=(r=(()=>{if(t.hasAttribute("language"))return t.getAttribute("language");for(const o of t.classList)if(o.match(/^language-([a-z0-9\-_]+)$/i))return o.match(/^language-([a-z0-9\-_]+)$/i)[1];for(const o of t.querySelectorAll("code")){if(o.hasAttribute("language"))return o.getAttribute("language");for(const s of o.classList)if(s.match(/^language-([a-z0-9\-_]+)$/i))return s.match(/^language-([a-z0-9\-_]+)$/i)[1]}})())==null?void 0:r.toLowerCase();return this.options.codeMode&&(!n||!Sb.includes(n)||n!==this.options.defaultLanguage&&this.options.allowedLanguages&&!this.options.allowedLanguages.includes(n))?this.options.defaultLanguage||((i=this.options.allowedLanguages)==null?void 0:i[0])||"plaintext":n}}}},addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),codeMode:!1,allowedLanguages:null}},renderHTML({HTMLAttributes:e}){var n;const t=this.options.codeMode?this.editor.options.lastLang||((n=this.editor.options.allowedLanguages)==null?void 0:n[0])||"plaintext":e.language;return["pre",{spellcheck:"false",class:`${this.options.codeMode?"":"ipsCode "}language-${t}`,"data-language":bl[t]||t},["code",{},0]]},onUpdate({editor:e}){this.options.codeMode&&e.options.lastLang&&e.options.lastLang!==e.getAttributes(this).language&&e.chain().setCodeBlock({language:e.options.lastLang}).run()},addKeyboardShortcuts(){const e=this.editor;return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{var o;if(!e.state.selection.empty||((o=e.state.selection.$from.parent)==null?void 0:o.type.name)!==this.name)return!1;if(i6.call(this))return!0;if(!this.options.codeMode&&(!e.state.selection.$from.parent.attrs.language||["plaintext","bash","shell","zsh","sh"].includes(e.state.selection.$from.parent.attrs.language)))return!1;const n=e.state.selection.$from.parent.textContent.slice(0,e.state.selection.$from.parentOffset),r=e.state.selection.$from.parent.textContent.slice(e.state.selection.$from.parentOffset);if(n&&r){for(const s in Wt)if(n.endsWith(s)&&r.startsWith(Wt[s]))return e.chain().deleteRange({from:e.state.selection.from-s.length,to:e.state.selection.from+Wt[s].length}).setTextSelection(e.state.selection.from-s.length).focus().run()}const i=n.match(/(\t)[^\n]*(\n\t+)$/);return i?e.chain().deleteRange({from:e.state.selection.from-i[2].length,to:e.state.selection.from}).setTextSelection(e.state.selection.from-i[2].length).focus().run():!1},Enter:({editor:t})=>{var y,R,A,I,M,k,$,z,H,ae,fe;if(r6.call(this,{editor:t}))return!0;const{$from:r}=t.state.selection,{parent:i}=r;if(!t.state.selection.empty||(i==null?void 0:i.type.name)!==this.name||!this.options.codeMode&&(!i.attrs.language||["plaintext","bash","shell","zsh","sh"].includes(i.attrs.language)))return!1;const o=o6({editor:t});if(!o.length)return!1;const s=o[o.length-1],a=o[o.length-2];let l=((R=(y=s.match(/^\t*/))==null?void 0:y[0])==null?void 0:R.length)||0,u=!1;const p=i.attrs.language,_=["ipsphtml","xml","html","xhtml","html5"].includes(p),f=["ipscss","css","scss","sass","less"].includes(p),g=["plaintext","rtf","markdown","md","bbcode"].includes(p),h=_?/(<[^>/]*>)$/:/([{[(.:]|->)$/,E=_?/(<\/[^/>]*>)$/:/^\s*([}\])]+[,;]?)$/;let b=!1;if(!_&&!f&&!g&&s.match(/^\s+(\.|->)?[a-z0-9_-]/i))if(s.match(/^\s+(\.|->)/))b=!0,l--;else{let de=1;for(;de<o.length&&((M=(I=(A=o[o.length-1-de])==null?void 0:A.match(/^\t*/))==null?void 0:I[0])==null?void 0:M.length)<=l;)de++;(k=o[o.length-de])!=null&&k.match(/(\.|->)\s*$/)&&(b=!0,l--)}let T=!1 Line truncated
`+" ".repeat(l);u?(de-=s.length,ge=s.replace(/^\t/,"")+ge):T&&(le=`
`+(l>1?" ".repeat(l-1):""),ge+=le);let Ne=this.editor.chain().insertContentAt({from:de,to:t.state.selection.from},{type:"text",text:ge});return le&&(Ne=Ne.setTextSelection(t.state.selection.from+ge.length-le.length)),Ne.focus().run()}return!1},ArrowDown:({editor:t})=>{if(!this.options.exitOnArrowDown||this.options.codeMode)return!1;const{state:n}=t,{selection:r,doc:i}=n,{$from:o,empty:s}=r;if(!s||o.parent.type!==this.type||!(o.parentOffset===o.parent.nodeSize-2))return!1;const l=o.after();return l===void 0||i.nodeAt(l)?!1:!!t.commands.exitCode()},ArrowUp:a6.bind(this),Tab:Ip.bind(this,!1,{editor:e}),"Shift-Tab":Ip.bind(this,!0,{editor:e}),"Alt-Tab":Ip.bind(this,!1,{editor:e},!0),"Shift-Alt-Tab":Ip.bind(this,!0,{editor:e},!0)}},addProseMirrorPlugins(){var t;const e={};for(const n in Wt)e[Wt[n]]=n;return[...((t=this.parent)==null?void 0:t.call(this))||[],new je({key:new Qe("ipsCodeModeSyntaxHelpers"),props:{handleKeyDown:(n,r)=>{var o;if(!(r instanceof KeyboardEvent)||r.metaKey||r.altKey)return;const i=this.editor;if(((o=r.key)==null?void 0:o.toLowerCase())in Wt)return r.key.toLowerCase()in e&&NO({editor:i,opener:r.key.toLowerCase()})?!0:!!l6({editor:i,char:r.key.toLowerCase()});if(r.key.toLowerCase()in e)return!!NO({editor:i,opener:e[r.key.toLowerCase()]})}}})]}});function a6({editor:e}){if(e.options.codeMode)return!1;const{$from:t,empty:n}=e.state.selection;if(t.nodeBefore||!n||t.parent.type!==this.type)return!1;let r=0,i;for(const s of[...t.path].reverse()){if(!Number.isInteger(s)&&(r++,r===2))break;i=s}return!r||!Number.isInteger(i)||i!==0||!(t.parentOffset===0)?!1:(e.chain().insertContentAt(t.before(),"<p>&nbsp;</p>",{updateSelection:!0}).run(),!0)}function Ip(e=!1,{editor:t=null},n=!1){var r,i,o,s;if((!t.state.selection.empty||e)&&t.isActive(this.name)&&(t.options.codeMode||[...t.state.selection.$from.path].reverse()[3]===[...t.state.selection.$to.path].reverse()[3]))return t.state.selection.empty&&e&&t.state.selection.$from.parentOffset===0||Kt(()=>{t.chain().command(({tr:a,chain:l})=>{var u,p,_,f;try{const{from:g,to:h}=t.state.selection,E=[...t.state.selection.$from.path].reverse()[3]+1;let b=g;if(b>[...t.state.selection.$from.path].reverse()[3]){for(;b>[...t.state.selection.$from.path].reverse()[3]&&!((u=a.doc.slice(b-1,b--).content.content[0])!=null&&u.textContent.startsWith(`
`)););b++}const T=((p=a.doc.slice(b,h).content.content[0])==null?void 0:p.textContent)||"",y=g-b,R=T.split(`
`),A=R.map(k=>e?k.replace(/^\t/,""):" "+k).join(`
`);let I=!1;try{e&&R.length>1&&R[R.length-1].match(/^\t/)&&((f=(_=a.doc.slice(h,h+1))==null?void 0:_.content.content[0])==null?void 0:f.textContent)===" "&&(I=!0)}catch{}a.insertText(A,b,h);const M={from:b+y,to:b+A.length};e&&T.startsWith(" ")?M.from--:e||M.from++,I&&M.to++,E>M.from&&(M.from=E),l().setTextSelection(M).focus().run()}catch{}return!0}).run()},"Something went wrong when modifying indents in a codeblock selection"),!0;if(!n&&t.isActive(Du.name))return!1;if(t.state.selection.empty){if(e){if(t.state.selection.$from.parentOffset>0){const a=t.state.doc.slice(t.state.selection.from-1,t.state.selection.from);if(((i=(r=a==null?void 0:a.content)==null?void 0:r.content[0])==null?void 0:i.textContent)===" "){const{from:l}=t.state.selection;return t.chain().command(({tr:u})=>(u.deleteRange(l-1,l),!0)).setTextSelection({from:l-1,to:l-1}).run(),!0}}if(t.state.selection.$from.parentOffset<t.state.selection.$from.parent.nodeSize-2){const a=t.state.doc.slice(t.state.selection.from,t.state.selection.from+1);if(((s=(o=a==null?void 0:a.content)==null?void 0:o.content[0])==null?void 0:s.textContent)===" "){const{from:l}=t.state.selection;return t.chain().command(({tr:u})=>(u.deleteRange(l,l+1),!0)).setTextSelection({from:l,to:l}).run(),!0}}}}else return!0;return t.chain().insertContent(" ").focus().run(),!0}function l6({editor:e,char:t}){var _,f,g;if(!(t in Wt))return!1;const{$from:n,$to:r}=e.state.selection,i=n.parent,o=r.parent;if(((_=i==null?void 0:i.type)==null?void 0:_.name)!==_b.name||i!==o)return!1;if(e.state.selection.empty)return e.chain().insertContent(`${t}${Wt[t]}`).setTextSelection(e.state.selection.from+t.length).focus().run();const s=i.textContent;let a=s.slice(n.parentOffset,r.parentOffset);if(!a)return!1;if(['"',"'","`"].includes(t)){const h=new RegExp(`(^|[^\\\\])\\${t}`,"g");a=a.replaceAll(h,`$1\\${t}`).replaceAll(/\n/g,"\\n")}let l="",u=0;if(a.match(/\n/)){const E=s.slice(0,n.parentOffset).split(`
`).pop(),b=s.slice(r.parentOffset).split(`
`).shift();let T=Math.max(0,((g=(f=E.match(/^\t*/))==null?void 0:f[0])==null?void 0:g.length)+1);E.match(/^\t*$/)&&b.match(/^\t+$/)&&(T+=b.match(/^\t+$/)[0].length),b.match(/^\s*$/)&&(a=a.replace(/^\s*?\n\s*(.?)/,"$1")),u=T+1;const y=" ".repeat(T),R=new RegExp(`\\n\\t{0,${T?T-1:0}}`,"g");if(a=a.replaceAll(R,`
${y}`),a=`${t}
${y}${a}
${y?y.slice(0,y.length-1):""}${Wt[t]}`,r.parentOffset<s.length)try{const A=s.slice(r.parentOffset,r.parentOffset+1);A!=null&&A.match(/\n/)||(l=`
`+(y?y.slice(0,y.length-1):""),a+=l)}catch{}}else a=`${t}${a}${Wt[t]}`;const p={from:e.state.selection.from+t.length+u,to:e.state.selection.from+a.length-Wt[t].length-l.length-(u?u-1:0)};return e.chain().insertContentAt({from:e.state.selection.from,to:e.state.selection.to},{type:"text",text:a}).setTextSelection(p).focus().run()}function NO({editor:e,opener:t}){var o;if(!(t in Wt)||!e.state.selection.empty)return!1;const{$from:n}=e.state.selection,r=n.parent;if((r==null?void 0:r.type.name)!==_b.name)return!1;const i=(o=n.parent)==null?void 0:o.textContent;if(n.parentOffset<1||n.parentOffset>=i.length)return!1;try{const s=n.parentOffset;let a=i==null?void 0:i.slice(s,s+Wt[t].length);if(!a)return;if(a.startsWith(Wt[t]))return s>0&&['"',"'","`"].includes(t)&&(i==null?void 0:i[s-1])==="\\"?e.chain().insertContent({type:"text",text:Wt[t]}).focus().run():e.chain().setTextSelection(e.state.selection.from+Wt[t].length).focus().run()}catch{return!1}return!1}const Wt={"{":"}","[":"]","(":")","'":"'",'"':'"',"`":"`"},Sc={};function TM(e,t,n=[]){var r;if(!((r=Sc[e])!=null&&r.to)){let i=!1;if(e===t)i=[e];else if(e in Uo){const o=[e];if(t in Uo[e])o.push(t);else{let s;n=[...n,...o];for(const a in Uo[e])if(!(n.includes(a)||a===e)&&Uo[a]){const l=TM(a,t,n);Array.isArray(l)&&(!s||s.length>l.length)&&(s=l)}Array.isArray(s)&&o.splice(1,0,...s)}o.length&&o[o.length-1]===t&&(i=o)}e in Sc||(Sc[e]={}),Sc[e][t]=i}return Sc[e][t]}function c6(e,t,n){const r=TM(e,t);if(!Array.isArray(r))throw new RangeError(`Cannot convert ${e} to ${t} because there is not a known conversion pathway`);r.length===1&&e===Tn.name&&n.chain().toggleHeading({level:n.level||1});for(let i=0;i<r.length-1;i++){const o=Uo[r[i]][r[i+1]](n);if(o!==void 0&&!o)throw new Error(`Could not convert ${r[i]} to ${r[i+1]}`)}return!0}function Tb(e){const t=[...e.state.selection.$from.path].reverse()[2],n=t==null?void 0:t.type.name;return n===Tn.name?[n,{level:t.attrs.level||1}]:[n||"",{}]}function s_(e){var n;if(e[0]===Tn.name)return`Heading ${((n=e[1])==null?void 0:n.level)||""}`;const t=e[0]in NS?e[0]:Dt.name;return NS[t]}function u6(e){if(e in vO)return[vO[e],{}];const t=s_([Tn.name,{}]);if(e.startsWith(t)){const n=parseInt(e.replace("Heading","").trim())||1;return[Tn.name,{level:n}]}return[Dt.name,{}]}const NS={[Ji.name]:"Ordered List",[ts.name]:"Bullet List",[tr.name]:"Code Block",[Dt.name]:"Paragraph"},vO=Object.fromEntries([...Object.entries(NS)].map(e=>e.reverse()));function d6(e){for(let t of Tn.options.levels)if(e.isActive(Tn.name,{level:t}))return{level:t};return null}function bM(e){const t=Tb(e);return t[0]in Uo?p6(...t).filter(n=>{var r,i;return(n[0]!==Tn.name||!((r=e.options.restrictions)!=null&&r.has("heading")))&&!(n[0]===Tn.name&&n[1].level===1&&((i=e.options.restrictions)!=null&&i.has("heading_1")))}):[]}const Tc={};function p6(e,t={}){const n=JSON.stringify({name:e,attributes:t});if(!(n in Tc)){const r=yM(e);Tc[n]=[];for(const i of r)if(i===Tn.name)for(let o=1;o<=6;o++)Tc[n].push([Tn.name,{level:o}]);else Tc[n].push([i,{}])}return Tc[n]}function yM(e,t){if(t=t||new Set,t.add(e),e in Uo)for(const n in Uo[e])t.has(n)||yM(n,t);return t}const Uo={[Dt.name]:{[tr.name]:({chain:e})=>e().setCodeBlock(),[Tn.name]:({chain:e,level:t=1})=>e().setHeading({level:t})},[tr.name]:{[Dt.name]:({chain:e})=>e().toggleCodeBlock()},[Tn.name]:{[Dt.name]:({chain:e,editor:t,level:n})=>{var r;return n=n||((r=d6(t))==null?void 0:r.level),n?e().toggleHeading({level:n}):!1}}};function _6({...e}){const{editor:t}=F.useContext(Pe),n=Tb(t);return e.dropdownOptions=e.dropdownOptions||{},e.dropdownOptions.className=e.dropdownOptions.className||"",e.dropdownOptions.className=[...e.dropdownOptions.className.split(/\s+/),"ipsRichText"].join(" "),N.jsx(sa,{current:N.jsx(N.Fragment,{children:N.jsx("i",{className:"fa-solid fa-paragraph"})}),currentValue:s_(n),blank:N.jsx(OO,{block:[Dt.title,{}]}),items:bM(t).map(r=>[s_(r),N.jsx(OO,{block:r},s_(r))]),onChange:r=>{const i=u6(r);t.chain().command(o=>c6(n[0],i[0],{...i[1]||{},...o})).focus().run()},...e,dropdownOptions:{...e.dropdownOptions,location:"se"}})}function OO({block:e,style:t=!0}){if(e[0]===Tn.name){const n=`h${e[1].level}`;return t?N.jsxs(n,{children:["Heading ",e[1].level]}):N.jsxs(N.Fragment,{children:["Heading ",e[1].level]})}return e[0]===tr.name?t?N.jsx("code",{children:"Code Block"}):N.jsx(N.Fragment,{children:"Code Block"}):N.jsx(N.Fragment,{children:"Paragraph"})}const xu=cn.create({name:"subscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sub"},{style:"vertical-align",getAttrs(e){return e!=="sub"?!1:null}}]},renderHTML({HTMLAttributes:e}){return["sub",We(this.options.HTMLAttributes,e),0]},addCommands(){return{setSubscript:()=>({commands:e})=>e.setMark(this.name),toggleSubscript:()=>({commands:e})=>e.toggleMark(this.name),unsetSubscript:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),Mu=cn.create({name:"superscript",addOptionsLine truncated
`,y6="️",C6="‍",Gh="";let wp=null,Dp=null;function R6(e=[]){const t={};qn.groups=t;const n=new qn;wp==null&&(wp=wO(g6)),Dp==null&&(Dp=wO(h6)),ee(n,"'",Cb),ee(n,"{",Kc),ee(n,"}",Qc),ee(n,"[",tf),ee(n,"]",nf),ee(n,"(",rf),ee(n,")",of),ee(n,"<",sf),ee(n,">",af),ee(n,"(",lf),ee(n,")",cf),ee(n,"「",uf),ee(n,"」",df),ee(n,"『",pf),ee(n,"』",_f),ee(n,"<",ff),ee(n,">",mf),ee(n,"&",gf),ee(n,"*",hf),ee(n,"@",Co),ee(n,"`",Sf),ee(n,"^",Tf),ee(n,":",Ao),ee(n,",",Rb),ee(n,"$",bf),ee(n,".",_i),ee(n,"=",yf),ee(n,"!",Nb),ee(n,"-",Ar),ee(n,"%",Xc),ee(n,"|",Cf),ee(n,"+",Rf),ee(n,"#",Nf),ee(n,"?",jc),ee(n,'"',vb),ee(n,"/",fi),ee(n,";",Ob),ee(n,"~",Zc),ee(n,"_",vf),ee(n,"\\",Ef),ee(n,"・",vM);const r=At(n,ki,bb,{[vS]:!0});At(r,ki,r);const i=At(r,Li,RM,{[qc]:!0}),o=At(r,bc,NM,{[Dc]:!0}),s=At(n,Li,Ui,{[OS]:!0});At(s,ki,i),At(s,Li,s),At(i,ki,i),At(i,Li,i);const a=At(n,bc,wS,{[AS]:!0});At(a,Li),At(a,ki,o),At(a,bc,a),At(o,ki,o),At(o,Li),At(o,bc,o);const l=ee(n,Fh,yb,{[Ph]:!0}),u=ee(n,IO,MS,{[Ph]:!0}),p=At(n,Bh,MS,{[Ph]:!0});ee(n,Gh,p),ee(u,Fh,l),ee(u,Gh,p),At(u,Bh,p),ee(p,IO),ee(p,Fh),At(p,Bh,p),ee(p,Gh,p);const _=At(n,Uh,OM,{[CM]:!0});ee(_,"#"),At(_,Uh,_),ee(_,y6,_);const f=ee(_,C6);ee(f,"#"),At(f,Uh,_);const g=[[Li,s],[ki,i]],h=[[Li,null],[bc,a],[ki,o]];for(let E=0;E<wp.length;E++)go(n,wp[E],DS,Ui,g);for(let E=0;E<Dp.length;E++)go(n,Dp[E],xS,wS,h);ks(DS,{tld:!0,ascii:!0},t),ks(xS,{utld:!0,alpha:!0},t),go(n,"file",a_,Ui,g),go(n,"mailto",a_,Ui,g),go(n,"http",Ma,Ui,g),go(n,"https",Ma,Ui,g),go(n,"ftp",Ma,Ui,g),go(n,"ftps",Ma,Ui,g),ks(a_,{scheme:!0,ascii:!0},t),ks(Ma,{slashscheme:!0,ascii:!0},t),e=e.sort((E,b)=>E[0]>b[0]?1:-1);for(let E=0;E<e.length;E++){const b=e[E][0],y=e[E][1]?{[E6]:!0}:{[S6]:!0};b.indexOf("-")>=0?y[IS]=!0:Li.test(b)?ki.test(b)?y[qc]=!0:y[OS]=!0:y[vS]=!0,AO(n,b,b,y)}return AO(n,"localhost",Lu,{ascii:!0}),n.jd=new qn(Of),{start:n,tokens:ta({groups:t},AM)}}function IM(e,t){const n=N6(t.replace(/[A-Z]/g,a=>a.toLowerCase())),r=n.length,i=[];let o=0,s=0;for(;s<r;){let a=e,l=null,u=0,p=null,_=-1,f=-1;for(;s<r&&(l=a.go(n[s]));)a=l,a.accepts()?(_=0,f=0,p=a):_>=0&&(_+=n[s].length,f++),u+=n[s].length,o+=n[s].length,s++;o-=_,s-=f,u-=_,i.push({t:p.t,v:t.slice(o-u,o),s:o-u,e:o})}return i}function N6(e){const t=[],n=e.length;let r=0;for(;r<n;){let i=e.charCodeAt(r),o,s=i<55296||i>56319||r+1===n||(o=e.charCodeAt(r+1))<56320||o>57343?e[r]:e.slice(r,r+2);t.push(s),r+=s.length}return t}function go(e,t,n,r,i){let o;const s=t.length;for(let a=0;a<s-1;a++){const l=t[a];e.j[l]?o=e.j[l]:(o=new qn(r),o.jr=i.slice(),e.j[l]=o),e=o}return o=new qn(n),o.jr=i.slice(),e.j[t[s-1]]=o,o}function wO(e){const t=[],n=[];let r=0,i="0123456789";for(;r<e.length;){let o=0;for(;i.indexOf(e[r+o])>=0;)o++;if(o>0){t.push(n.join(""));for(let s=parseInt(e.substring(r,r+o),10);s>0;s--)n.pop();r+=o}else n.push(e[r]),r++}return t}const yl={defaultProtocol:"http",events:null,format:DO,formatHref:DO,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function dm(e,t=null){let n=ta({},yl);e&&(n=ta(n,e instanceof dm?e.o:e));const r=n.ignoreTags,i=[];for(let o=0;o<r.length;o++)i.push(r[o].toUpperCase());this.o=n,t&&(this.defaultRender=t),this.ignoreTags=i}dm.prototype={o:yl,ignoreTags:[],defaultRender(e){return e},check(e){return this.get("validate",e.toString(),e)},get(e,t,n){const r=t!=null;let i=this.o[e];return i&&(typeof i=="object"?(i=n.t in i?i[n.t]:yl[e],typeof i=="function"&&r&&(i=i(t,n))):typeof i=="function"&&r&&(i=i(t,n.t,n)),i)},getObj(e,t,n){let r=this.o[e];return typeof r=="function"&&t!=null&&(r=r(t,n.t,n)),r},render(e){const t=e.render(this);return(this.get("render",null,e)||this.defaultRender)(t,e.t,e)}};function DO(e){return e}var v6=Object.freeze({__proto__:null,defaults:yl,Options:dm,assign:ta});function wM(e,t){this.t="token",this.v=e,this.tk=t}wM.prototype={isLink:!1,toString(){return this.v},toHref(e){return this.toString()},toFormattedString(e){const t=this.toString(),n=e.get("truncate",t,this),r=e.get("format",t,this);return n&&r.length>n?r.substring(0,n)+"…":r},toFormattedHref(e){return e.get("formatHref",this.toHref(e.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(e=yl.defaultProtocol){return{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(e),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(e){return{type:this.t,value:this.toFormattedString(e),isLink:this.isLink,href:this.toFormattedHref(e),start:this.startIndex(),end:this.endIndex()}},validate(e){return e.get("validate",this.toString(),this)},render(e){const t=this,n=this.toHref(e.get("defaultProtocol")),r=e.get("formatHref",n,this),i=e.get("tagName",n,t),o=this.toFormattedString(e),s={},a=e.get("className",n,t),l=e.get("target",n,t),u=e.get("rel",n,t),p=e.getObj("attributes",n,t),_=e.getObj("events",n,t);return s.href=r,a&&(s.class=a),l&&(s.target=l),u&&(s.rel=u),p&&ta(s,p),{tagName:i,aLine truncated
1. Must only contain digits, lowercase ASCII letters or "-"
2. Cannot start or end with "-"
3. "-" cannot repeat`);mt.customSchemes.push([e,t])}function M6(){mt.scanner=R6(mt.customSchemes);for(let e=0;e<mt.tokenQueue.length;e++)mt.tokenQueue[e][1]({scanner:mt.scanner});mt.parser=A6(mt.scanner.tokens);for(let e=0;e<mt.pluginQueue.length;e++)mt.pluginQueue[e][1]({scanner:mt.scanner,parser:mt.parser});return mt.initialized=!0,mt}function Ab(e){return mt.initialized||M6(),I6(mt.parser.start,e,IM(mt.scanner.start,e))}Ab.scan=IM;function Ib(e,t=null,n=null){if(t&&typeof t=="object"){if(n)throw Error(`linkifyjs: Invalid link type ${t}; must be a string`);n=t,t=null}const r=new dm(n),i=Ab(e),o=[];for(let s=0;s<i.length;s++){const a=i[s];a.isLink&&(!t||a.t===t)&&r.check(a)&&o.push(a.toFormattedObject(r))}return o}function L6(e){return e.length===1?e[0].isLink:e.length===3&&e[1].isLink?["()","[]"].includes(e[0].value+e[2].value):!1}function k6(e){return new je({key:new Qe("autolink"),appendTransaction:(t,n,r)=>{const i=t.some(u=>u.docChanged)&&!n.doc.eq(r.doc),o=t.some(u=>u.getMeta("preventAutolink"));if(!i||o)return;const{tr:s}=r,a=Xz(n.doc,[...t]);if(rV(a).forEach(({newRange:u})=>{const p=Zz(r.doc,u,g=>g.isTextblock);let _,f;if(p.length>1?(_=p[0],f=r.doc.textBetween(_.pos,_.pos+_.node.nodeSize,void 0," ")):p.length&&r.doc.textBetween(u.from,u.to," "," ").endsWith(" ")&&(_=p[0],f=r.doc.textBetween(_.pos,u.to,void 0," ")),_&&f){const g=f.split(" ").filter(T=>T!=="");if(g.length<=0)return!1;const h=g[g.length-1],E=_.pos+f.lastIndexOf(h);if(!h)return!1;const b=Ab(h).map(T=>T.toObject(e.defaultProtocol));if(!L6(b))return!1;b.filter(T=>T.isLink).map(T=>({...T,from:E+T.start+1,to:E+T.end+1})).filter(T=>r.schema.marks.code?!r.doc.rangeHasMark(T.from,T.to,r.schema.marks.code):!0).filter(T=>e.validate(T.value)).filter(T=>e.shouldAutoLink(T.value)).forEach(T=>{sb(T.from,T.to,r.doc).some(y=>y.mark.type===e.type)||s.addMark(T.from,T.to,e.type.create({href:T.href}))})}}),!!s.steps.length)return s}})}function P6(e){return new je({key:new Qe("handleClickLink"),props:{handleClick:(t,n,r)=>{var i,o;if(r.button!==0||!t.editable)return!1;let s=r.target;const a=[];for(;s.nodeName!=="DIV";)a.push(s),s=s.parentNode;if(!a.find(f=>f.nodeName==="A"))return!1;const l=ob(t.state,e.type.name),u=r.target,p=(i=u==null?void 0:u.href)!==null&&i!==void 0?i:l.href,_=(o=u==null?void 0:u.target)!==null&&o!==void 0?o:l.target;return u&&p?(window.open(p,_),!0):!1}}})}function U6(e){return new je({key:new Qe("handlePasteLink"),props:{handlePaste:(t,n,r)=>{const{state:i}=t,{selection:o}=i,{empty:s}=o;if(s)return!1;let a="";r.content.forEach(u=>{a+=u.textContent});const l=Ib(a,{defaultProtocol:e.defaultProtocol}).find(u=>u.isLink&&u.value===a);return!a||!l?!1:(e.editor.commands.setMark(e.type,{href:l.href}),!0)}}})}const B6=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g;function yc(e,t){const n=["http","https","ftp","ftps","mailto","tel","callto","sms","cid","xmpp"];return t&&t.forEach(r=>{const i=typeof r=="string"?r:r.scheme;i&&n.push(i)}),!e||e.replace(B6,"").match(new RegExp(`^(?:(?:${n.join("|")}):|[^a-z]|[a-z+.-]+(?:[^a-z+.-:]|$))`,"i"))}const Cc=cn.create({name:"link",priority:1e3,keepOnSplit:!1,exitable:!0,onCreate(){this.options.validate&&!this.options.shouldAutoLink&&(this.options.shouldAutoLink=this.options.validate,console.warn("The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.")),this.options.protocols.forEach(e=>{if(typeof e=="string"){LO(e);return}LO(e.scheme,e.optionalSlashes)})},onDestroy(){x6()},inclusive(){return this.options.autolink},addOptions(){return{openOnClick:!0,linkOnPaste:!0,autolink:!0,protocols:[],defaultProtocol:"http",HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},isAllowedUri:(e,t)=>!!yc(e,t.protocols),validate:e=>!!e,shouldAutoLink:e=>!!e}},addAttributes(){return{href:{default:null,parseHTML(e){return e.getAttribute("href")}},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML(){return[{tag:"a[href]",getAttrs:e=>{const t=e.getAttribute("href");return!t||!this.options.isAllowedUri(t,{defaultValidate:n=>!!yc(n,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:null}}]},renderHTML({HTMLAttributes:e}){return this.options.isAllowedUri(e.href,{defaultValidate:t=>!!yc(t,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?["a",We(this.options.HTMLAttributes,e),0]:["a",We(this.options.HTMLAttributes,{...e,href:""}),0]},addCommands(){return{setLink:e=>({chain:t})=>t().setMark(this.name,e).setMeta("preventAutolink",!0).run(),toggleLink:e=>({chain:t})=>t().toggleMark(this.name,e,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run(),unsetLink:()=>({chain:e})=>e().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[es({find:e=>{const t=[];if(e){const{protocols:n,defaul Line truncated
`},addCommands(){return{setHardBreak:()=>({commands:e,chain:t,state:n,editor:r})=>e.first([()=>e.exitCode(),()=>e.command(()=>{const{selection:i,storedMarks:o}=n;if(i.$from.parent.type.spec.isolating)return!1;const{keepMarks:s}=this.options,{splittableMarks:a}=r.extensionManager,l=o||i.$to.parentOffset&&i.$from.marks();return t().insertContent({type:this.name}).command(({tr:u,dispatch:p})=>{if(p&&l&&s){const _=l.filter(f=>a.includes(f.type.name));u.ensureMarks(_)}return!0}).run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),u_=rt.create({name:"doc",topNode:!0,content:"block+"}),_L=bt.create({name:"ipsAutosave",addCommands(){return{clearAutosave:()=>({editor:e,chain:t})=>(e.options.autoSaveKey&&(window.ips.utils.db.remove("editorSave",e.options.autoSaveKey),t().hideMessage("autosave").run()),!0)}},onUpdate(){this.storage.updateCallback()},onCreate(){var e,t;if(this.storage.updateCallback=er.debounce(()=>{var n;(n=this.editor)!=null&&n.options.autoSaveKey&&(this.editor.getHTML().trim()&&this.editor.getHTML()!=="<p></p>"?window.ips.utils.db.set("editorSave",this.editor.options.autoSaveKey,{content:this.editor.getHTML(),time:Math.round(Date.now()/1e3)}):this.editor.commands.clearAutosave(),this.editor.commands.hideMessage("autosave"))},500),(e=this.editor)!=null&&e.options.autoSaveKey){const n=window.ips.utils.db.get("editorSave",this.editor.options.autoSaveKey);if((t=n==null?void 0:n.content)!=null&&t.trim()&&(!n.time||Date.now()/1e3-86400*3<parseInt(n.time))){const r=new DOMParser().parseFromString(n.content,"text/html");if(!(r.body.innerText.trim().length||r.body.querySelector("iframe,img,video,audio,a,embed,.ipsEmoji,.ipsEmbeddedVideo,.ipsEmbeddedBrightcove,.ipsEmbeddedOther,.ipsEmbeddedPhoto")))return;this.storage.initial=this.editor.getHTML(),this.editor.chain().setContent(n.content).command(({tr:i,chain:o})=>(!i.docChanged||fL(i.doc)?o().undo().hideMessage("autosave").run():o().showMessage("autosave").focus().run(),!0)).run()}}},addStorage(){return{initial:"",updateCallback:()=>{}}}});function fL(e){var t,n,r;return e.textContent==="<p></p>"?!0:!((t=e.textContent)!=null&&t.trim().length||![u_.name,Dt.name,ti.name,Bu.name].includes(e.type.name)||(r=(n=e.content)==null?void 0:n.content)!=null&&r.length&&!e.content.content.some(i=>!fL(i)))}function uj(){const{editor:e}=F.useContext(Pe);return N.jsxs(N.Fragment,{children:["The content was restored from an automatically saved draft. Click to ",N.jsx("button",{className:"ipsEditor__autosave-clear",onClick:()=>e.chain().clearAutosave().setContent(e.storage[_L.name].initial||"").focus().run(),children:"clear draft."})]})}function dj({positions:e="",href:t}){const{editor:n}=F.useContext(Pe),r=()=>{if(!e.length){n.commands.hideMessage("autoembed");return}let i=n.chain();for(const o of e)i=i.command(({tr:s,chain:a})=>a().insertContentAt({from:Math.max(0,s.mapping.map(o[0])),to:Math.min(s.doc.nodeSize-2,s.mapping.map(o[1]))},`<a href="${encodeURI(t)}" >${o[2]}</a>`));i.hideMessage("autoembed").focus().run()};return N.jsxs(N.Fragment,{children:["A URL was inserted as embedded content. Click to ",N.jsx("button",{className:"ipsEditor__autosave-clear",onClick:r,children:"insert as link"})," instead."]})}function cA({name:e}){const{editor:t}=F.useContext(Pe);return N.jsxs("div",{className:`ipsEditor__global-message ipsEditor__global-message--${e}`,children:[N.jsxs("div",{className:"ipsEditor__global-message-content",children:[N.jsx("i",{className:"fa-solid fa-circle-info"}),"  ",N.jsx(pj,{name:e})]}),N.jsx("button",{className:"ipsEditor__global-message-close",onClick:()=>t==null?void 0:t.commands.hideMessage(e),children:N.jsx("i",{className:"fa-solid fa-times-circle"})})]})}function pj({name:e}){const{messages:t}=F.useContext(WS),n=t.get(e);switch(e){case"autosave":return N.jsx(uj,{});case"autoembed":return N.jsx(dj,{...n});default:return typeof n=="string"&&n?N.jsx("span",{"data-ipseditorcustommessage":"true",dangerouslySetInnerHTML:{__html:n}}):N.jsx(N.Fragment,{children:"This is a global message!"})}}const WS=F.createContext({messages:new Map,addMessage(e,t=""){this.messages.set(e,t)},removeMessage(e){this.messages.has(e)&&this.messages.delete(e)}});function _j({children:e}){var l;const[t,n]=F.useState(()=>new Map),[r,i]=F.useState(!1),{editor:o}=F.useContext(Pe),s=F.useMemo(()=>({messages:t,addMessage:(u,p="")=>{if(!t.has(u)||t.get(u)!==p){t.set(u,p);const _=new Map;for(const[f,g]of t.entries())_.set(f,g);n(_)}},removeMessage:u=>{if(t.has(u)){t.delete(u);const p=new Map;for(const[_,f]of t.entries())p.set(_,f);n(p)}},onVisibilityChange(u=!1){u!==r&&i(u)},visible:r}),[t,n,r,i]);if(F.useEffect(()=>{!o.options.codeMode&&!o.options.simpleRichText&&o.can().registerMessageInterface(s)&&(o==null||o.commands.registerMessageInterface(s))},[s,o]),o.options.codeMode||o.options.simpleRichText)return N.jsx(N.Fragment,{children:e});const a=[...t.keys()];return o.options.messagesCLine truncated
`+t.message,window.Debug.error(t),$p=null}).finally(()=>{for(const t of EA)t($p),EA.delete(t);e($p)})})}const Jj=bt.create({name:"ipsMessages",addCommands(){let e={_messages:new Map,addMessage(n,r=""){this._messages.set(n,r)},removeMessage(n){this._messages.delete(n)},get messages(){return this._messages},onVisibilityChange(n){t=n}},t=!1;return{showMessage:(n,r="")=>()=>{e==null||e.addMessage(n,r)},hideMessage:n=>()=>{e==null||e.removeMessage(n)},registerMessageInterface:n=>()=>{var i,o,s;if(Object.is(n,e))return!1;let r=!1;for(const a in n)if(!Object.is(n[a],e[a])){r=!0;break}if(!r)return!1;if(e.messages instanceof Map)for(const a of e.messages.keys())(o=(i=n==null?void 0:n.messages)==null?void 0:i.has)!=null&&o.call(i,a)&&n.messages.get(a)===e.messages.get(a)||n.addMessage(a,e.messages.get(a));(!("visible"in n)||n.visible!==t)&&((s=n.onVisibilityChange)==null||s.call(n,t)),e=n},fireVisibilityChange:n=>()=>{var r;t=!!n,(r=e==null?void 0:e.onVisibilityChange)==null||r.call(e,t)}}}}),e8=({key:e,editor:t,onPaste:n,onDrop:r,allowedMimeTypes:i})=>new je({key:e||new Qe("fileHandler"),props:{handleDrop(o,s){var a;if(!r||!(!((a=s.dataTransfer)===null||a===void 0)&&a.files.length))return!1;const l=o.posAtCoords({left:s.clientX,top:s.clientY});let u=Array.from(s.dataTransfer.files);return i&&(u=u.filter(p=>i.includes(p.type))),u.length!==0&&(s.preventDefault(),s.stopPropagation(),r(t,u,(l==null?void 0:l.pos)||0),!0)},handlePaste(o,s){var a;if(!n||!(!((a=s.clipboardData)===null||a===void 0)&&a.files.length))return!1;let l=Array.from(s.clipboardData.files);const u=s.clipboardData.getData("text/html");return i&&(l=l.filter(p=>i.includes(p.type))),l.length!==0&&(s.preventDefault(),s.stopPropagation(),n(t,l,u),!(u.length>0))}}}),t8=bt.create({name:"fileHandler",addOptions:()=>({onPaste:void 0,onDrop:void 0,allowedMimeTypes:void 0}),addProseMirrorPlugins(){return[e8({key:new Qe(this.name),editor:this.editor,allowedMimeTypes:this.options.allowedMimeTypes,onDrop:this.options.onDrop,onPaste:this.options.onPaste})]}});function n8({mimeTypes:e,handler:t}){let n;Array.isArray(e)&&(n=new Set(e.map(i=>i.toLowerCase())));const r=i=>{const o=i instanceof DragEvent?i.dataTransfer:i.clipboardData;if(o.files.length){const s=[];for(const a of o.files)(!n||n.has(a.type.toLowerCase()))&&s.push(a);if(s.length)return t(s),!0}};return new je({key:new Qe("ipsDataTransferFixer"),props:{handlePaste:(i,o)=>r(o),handleDrop:(i,o)=>r(o)}})}const r8=t8.extend({addCommands(){var e;return{...(e=this.parent)==null?void 0:e.call(this),injectAttachments:t=>({editor:n,chain:r})=>{var o;let i=r();for(const s of t){const a=Math.round(Math.random()*Math.pow(10,8));let l=!1;i=i.insertContent({type:ut.name,attrs:{attachmentType:"file",attachmentSrc:"",attachmentLink:"",fileId:a,attachmentTitle:"Uploading Attachment..."}}),(o=i8(n.options.postkey))==null||o.dispatchEvent(new o8({file:s,data:{ready:u=>{if(l)return;l=!0;const p=Db(n.$doc,a);p.length&&n.commands.command(({tr:_,chain:f})=>{let g=f();for(const{to:h,from:E}of p)g=g.insertContentAt({from:_.mapping.map(E),to:_.mapping.map(h)},u,{parseOptions:{preserveWhitespace:!1}});return!0})},error:u=>{l||(l=!0,u instanceof Error&&(u.message=`File upload failed:
${u.message}`,window.Debug.warn(u),n.commands.showMessage("file-attach","Couldn't insert one or more files pasted or dropped in the editor.")),n.commands.removeAttachment(a))}}}))}return i.run(),!0}}},addProseMirrorPlugins(){var e;return[n8({mimeTypes:this.options.allowedMimeTypes,handler:t=>this.options.onPaste(this.editor,t)}),...((e=this.parent)==null?void 0:e.call(this))||[]]}}).configure({onPaste(e,t){return e.commands.injectAttachments(t),!0},onDrop(e,t){return e.commands.injectAttachments(t),!0}});function i8(e){return!e||typeof e!="string"?null:document.querySelector(`[data-ipsuploader-postkey="${e}"]`)}class o8 extends Event{constructor(t){super("injectFile"),this.data=t}}const s8=["name","group","isInline","isBlock","isText","selectable","exitable","atom","addOptions","addKeyboardShortcuts","addAttributes","addGlobalAttributes","renderHTML","parseHTML","onCreate","onUpdate","onBeforeCreate","onFocus","onBlur","onBeforeCreate","onSelectionUpdate","onDestroy","onTransaction","priority","defaultOptions","addInputRules","marks","addNodeView","whitespace","defining","isolating","renderText"];function a8(e,t){var a,l,u;if(!e.ipsPlugins){e.ipsPlugins={buttons:{},extensions:[],nodes:[],marks:[]};return}e.ipsPlugins.buttons={},Array.isArray((a=e.ipsPlugins)==null?void 0:a.extensions)?s(e.ipsPlugins.extensions,bt):e.ipsPlugins.extensions=[],Array.isArray((l=e.ipsPlugins)==null?void 0:l.nodes)?s(e.ipsPlugins.nodes,rt):e.ipsPlugins.nodes=[],Array.isArray((u=e.ipsPlugins)==null?void 0:u.marks)?s(e.ipsPlugins.marks,cn):e.ipsPlugins.marks=[],e.ipsPlugins.nestedToolbars={},e.pluginButtonKeys=new Set;const n=new Set(e.tools.toolbar);for(const p in e.ipsPlugins.buttons)for(const{before:_,after:f}of e.ipsPlugins.buttons[p].locations){let g,h=!1;if(typeof f=="string"&&f in WO){const E=WO[f];e.ipsPlugins.nestedToolbars[E]=e.ipsPlugins.nestedToolbars[E]||[...rs[E]],e.ipsPlugins.nestedToolbars[E].push(`custom:${p}`),h=!0}else if(typeof f=="string"&&n.has(f))g=e.tools.toolbar.indexOf(f)+1;else if(typeof _=="string"&&n.has(_))g=e.tools.toolbar.indexOf(_);else if(!_&&!f||_===null||f===null)g=e.tools.toolbar.length;else continue;e.pluginButtonKeys.add(`custom:${p}`),h||(n.add(`custom:${p}`),e.tools.toolbar.splice(g,0,`custom:${p}`))}function r(p){for(const _ of p.attributes)["class","style","id","src","title","rel","alt"].includes(_.name.toLowerCase())||p.removeAttribute(_.name);for(const _ of p.querySelectorAll(":scope > *"))r(_)}function i(p,_){var f;if(p.addButtons instanceof Function){const g=p.addButtons.bind(_)();if(typeof g!="object")throw new TypeError;const h=new DOMParser;for(const E in g){let{html:b,command:T,locations:y,element:R,isActive:A,isAvailable:I}=g[E];if(typeof b!="string"&&!(R instanceof HTMLElement)||!(T instanceof Function)||!Array.isArray(y))throw new TypeError;A!==void 0&&typeof A!="boolean"&&!(A instanceof Function)&&(window.Debug.warn(`Expected isActive to be a boolean or a Function, got a ${typeof A}. Casting to boolean.`),A=!!A),I!==void 0&&typeof I!="boolean"&&!(I instanceof Function)&&(window.Debug.warn(`Expected isAvailable to be a boolean or a Function, got a ${typeof I}. Casting to boolean.`),I=!!I);const M=[];for(const H of y)if(H===null)M.push({after:null,before:void 0});else if(typeof H=="object"){if(![void 0,null].includes(H.before)&&typeof H.before!="string"||![void 0,null].includes(H.after)&&typeof H.after!="string")throw new TypeError;M.push({after:H.after,before:H.before})}else typeof H=="string"?M.push({after:H,before:void 0}):M.push({after:void 0,before:void 0});y=M;const k=["script","link","style","pre","code","iframe","object","embed","noscript","video"];if(R instanceof Element)R.querySelectorAll(k.join(",")).forEach(H=>H.remove());else{const H=h.parseFromString(b,"text/html");if(!(H instanceof Document))throw new RangeError("The html passed in for the button is not readable");if(H.querySelectorAll(k.join(",")).forEach(ae=>ae.remove()),!(((f=H==null?void 0:H.body)==null?void 0:f.firstElementChild)instanceof HTMLElement)||!H.body.firstElementChild.innerHTML.length)throw new RangeError("The html passed in for the button is not readable");R=H.body.firstElementChild}if(r(R),k.includes(R.tagName.toLowerCase()))throw new RangeError(`The element of type ${R.tagName} cannot be used as a toolbar button`);const $=R.cloneNode(!0),z=`${p.name}_${E}`;e.ipsPlugins.buttons[z]={get element(){return $},set element(H){throw new Error("Cannot update the element of an ipsPlugin button!")},get command(){return T.bind(_)},set command(H){throw new Error("Cannot update the command of an ipsPlugin button!")},get isActive(){return A instanceof Function?A.bind(_):A},set isActive(H){throw new Error("Cannot update the isActive property of an ipsPlugin button!")},get isAvailable(){return I instanceof Function?I.bind(_):I},set isAvailable(H){throw new Error("Cannot update the isAvailable property of an ipsPlugin button!")},get locations(){return y},set locations(H){throw new Error("Cannot update properties Line truncated
${g.message}`,window.Debug.warn(g)}}}const nE=bt.create({name:"ipsHomeEnd",addKeyboardShortcuts(){return{Home:({editor:e})=>(Kt(()=>{var i,o,s;const{$from:t}=e.state.selection,n=t.pos-t.parentOffset;let r=t.pos;for(;r>n;){const a=e.state.doc.slice(r-1,r);if(((i=a.content.content[0])==null?void 0:i.textContent)===`
`||((s=(o=a.content.content[0])==null?void 0:o.type)==null?void 0:s.name)===Bu.name)break;r--}e.chain().setTextSelection(r).focus().run()},"Something went wrong handling the 'Home' key press"),!0),End:({editor:e})=>(Kt(()=>{var i,o,s;const{$to:t}=e.state.selection,n=[...t.path].reverse()[3]+t.parent.nodeSize-1;let r=t.pos;for(;r<n;){const a=e.state.doc.slice(r,r+1);if(((i=a.content.content[0])==null?void 0:i.textContent)===`
`||((s=(o=a.content.content[0])==null?void 0:o.type)==null?void 0:s.name)===Bu.name)break;r++}e.chain().setTextSelection(r).focus().run()},"Something went wrong handling the 'End' key press"),!0)}}}),l8=bt.create({name:"IPSSimpleRichText",addProseMirrorPlugins(){return[new je({key:new Qe("ipsSimpleRichTextPlugin"),filterTransaction:e=>!(this.editor.options.lengthFunction instanceof Function&&typeof this.editor.options.maxLength=="number"&&this.editor.options.lengthFunction(Ku(e.doc.content,this.editor.schema))>this.editor.options.maxLength),appendTransaction:(e,t,n)=>{const r=[];let i;const{from:o,to:s}=n.selection;n.doc.descendants((l,u)=>{var p,_;if(typeof l.textContent=="string"&&!l.textContent&&!l.isInline){const f=n.doc.resolve(u),g=c8(f,n.doc),h=u8(f,n.doc);if([o,s].some(E=>g.pos<E&&h.pos>E)){if(i===void 0&&e.some(E=>{var b;return(b=E.steps)==null?void 0:b.length})){let E=1,b=l;for(;(_=(p=b.content)==null?void 0:p.content)!=null&&_.length;)E++,b=b.content.content[0];i=E+u}return!1}return r.push([u,u+l.nodeSize]),!1}if(l.isInline||!l.content.content.length)return!1});const{tr:a}=n;for(const[l,u]of r.reverse())a.delete(l,u);if(i!==void 0){const l=Se.atStart(n.doc).from,u=Se.atEnd(n.doc).to,p=Se.create(n.doc,Lo(i,l,u));o===p.from&&o===s||a.setSelection(p)}return a}})]},addKeyboardShortcuts(){return{Enter:({editor:e})=>{const t=e.view.dom.closest("form");if(t){let n=t.querySelector('button:is([type="submit"], :not([type]))');n||(n=document.createElement("button"),n.setAttribute("type","button"),n.setAttribute("hidden",""),t.appendChild(n),setTimeout(()=>n.documentElement===document.documentElement&&n.remove(),200)),n.click()}return!0},"Shift-Enter":({editor:e})=>(e.isActive(Du.name)?e.commands.splitListItem(Du.name):e.commands.splitBlock(),!1)}},onCreate(){this.editor.view.dom.addEventListener("clear",e=>{var t;this.editor.commands.setContent(((t=e.detail)==null?void 0:t.content)||"")})}});function c8(e,t){var r,i;const n=[...e.path].reverse();for(;n.length>=3;){if(n[1]>0){let o=n[2].content.content[n[1]-1],s=0;for(;o;)o=(i=(r=o.content)==null?void 0:r.content)!=null&&i.length?o.content.content[o.content.content.length-1]:null,s++;return t.resolve(e.pos-s)}n.splice(0,3)}return t.resolve(0)}function u8(e,t){var r,i;const n=[...e.path].reverse();for(;n.length>=3;){if(n[1]<n[2].content.content.length-1){let o=n[2].content.content[n[1]+1],s=0;for(;o;)s++,o=(i=(r=o.content)==null?void 0:r.content)==null?void 0:i[0];return t.resolve(e.pos+n[2].content.content[n[1]].nodeSize+s)}n.splice(0,3)}return t.resolve(t.nodeSize-2)}const d8=e=>xt({find:/--$/,replace:e??"—"}),p8=e=>xt({find:/\.\.\.$/,replace:e??"…"}),_8=e=>xt({find:/(?:^|[\s{[(<'"\u2018\u201C])(")$/,replace:e??"“"}),f8=e=>xt({find:/"$/,replace:e??"”"}),m8=e=>xt({find:/(?:^|[\s{[(<'"\u2018\u201C])(')$/,replace:e??"‘"}),g8=e=>xt({find:/'$/,replace:e??"’"}),h8=e=>xt({find:/<-$/,replace:e??"←"}),E8=e=>xt({find:/->$/,replace:e??"→"}),S8=e=>xt({find:/\(c\)$/,replace:e??"©"}),T8=e=>xt({find:/\(tm\)$/,replace:e??"™"}),b8=e=>xt({find:/\(sm\)$/,replace:e??"℠"}),y8=e=>xt({find:/\(r\)$/,replace:e??"®"}),C8=e=>xt({find:/(?:^|\s)(1\/2)\s$/,replace:e??"½"}),R8=e=>xt({find:/\+\/-$/,replace:e??"±"}),N8=e=>xt({find:/!=$/,replace:e??"≠"}),v8=e=>xt({find:/<<$/,replace:e??"«"}),O8=e=>xt({find:/>>$/,replace:e??"»"}),A8=e=>xt({find:/\d+\s?([*x])\s?\d+$/,replace:e??"×"}),I8=e=>xt({find:/\^2$/,replace:e??"²"}),w8=e=>xt({find:/\^3$/,replace:e??"³"}),D8=e=>xt({find:/(?:^|\s)(1\/4)\s$/,replace:e??"¼"}),x8=e=>xt({find:/(?:^|\s)(3\/4)\s$/,replace:e??"¾"}),M8=bt.create({name:"typography",addOptions(){return{closeDoubleQuote:"”",closeSingleQuote:"’",copyright:"©",ellipsis:"…",emDash:"—",laquo:"«",leftArrow:"←",multiplication:"×",notEqual:"≠",oneHalf:"½",oneQuarter:"¼",openDoubleQuote:"“",openSingleQuote:"‘",plusMinus:"±",raquo:"»",registeredTrademark:"®",rightArrow:"→",servicemark:"℠",superscriptThree:"³",superscriptTwo:"²",threeQuarters:"¾",trademark:"™"}},addInputRules(){const e=[];return this.options.emDash!==!1&&e.push(d8(this.options.emDash)),this.options.ellipsis!==!1&&e.push(p8(this.options.ellipsis)),this.options.openDoubleQuote!==!1&&e.push(_8(this.options.openDoubleQuote)),this.options.closeDoubleQuote!==!1&&e.push(f8(this.options.closeDoubleQuote)),this.options.openSingleQuote!==!1&&e.push(m8(this.options.openSingleQuote)),this.options.closeSingleQuote!==!1&&e.push(g8(this.options.closeSingleQuote)),this.options.leftArrow!==!1&&e.push(h8(this.options.leftArrow)),this.options.rightArrow!==!1&&e.push(E8(this.options.rightArrow)),this.options.copyright!==!1&&e.push(S8(this.options.copyright)),this.options.trademark!==!1&&e.push(T8(this.options.trademark)),this.options.servicemark!==!1&&e.push(b8(this.options.servicemark)),this.options.registeredTrademark!==!1&&e.push(y8(this.options.registeredTrademark)),this.options.oneHalf!==!1&&e.push(C8(this.options.oneHalf)),this.options.plusMinus!==!1&&e.push(R8(this.options Line truncated
`}}),...(f=e.restrictions)!=null&&f.has("tables")?[!1]:[uL.configure({resizable:!0,cellMinWidth:((g=e.table)==null?void 0:g.cellMinWidth)||100}),L8,k8,P8],pL,U8].filter(R=>!!R);return window.navigator.platform==="MacIntel"&&t.push(nE),e.autoSaveKey&&t.push(_L),e.postkey&&(t.push(r8),t.push(ut.configure({externalImages:!((h=e.restrictions)!=null&&h.has("external_image")),externalVideos:!((E=e.restrictions)!=null&&E.has("external_video")),float:!((b=e.restrictions)!=null&&b.has("float"))}))),(T=e.restrictions)!=null&&T.has("heading")||t.push(Tn.configure({levels:(y=e.restrictions)!=null&&y.has("heading_1")?[2,3,4,5,6]:[1,2,3,4,5,6]})),t}async function SA(e,t){var n,r;if(e.pluginButtonKeys=new Set,e.simpleRichText?(delete e.codeMode,e.tools={toolbar:[...ZM]},e.react&&fW(e.react)):await n6(),e.restrictions&&Symbol.iterator in e.restrictions?e.restrictions=new Set(e.restrictions):delete e.restrictions,e.jQuery=e.jQuery||window.jQuery,e.editorProps={attributes:{class:e.codeMode?"":"ipsRichText"}},e.itemStates={},e.extensions=B8(e),!(e.messagesContainer instanceof Element)&&((n=t==null?void 0:t.closest(".ipsEditor"))!=null&&n.querySelector('[data-role="editor-messages-container"]'))&&(e.messagesContainer=(r=t==null?void 0:t.closest(".ipsEditor"))==null?void 0:r.querySelector('[data-role="editor-messages-container"]')),e.codeMode)return e.tools={toolbar:["codelanguage"]},e;if(e.simpleRichText||a8(e,e.extensions),e.stockrepliesenabled){const i=await kb();Object.keys(i).length?window.Debug.log("Loaded stock replies"):(e.stockrepliesenabled=!1,window.Debug.log("No stock replies, disabling the button"))}if(!e.codeMode){for(const i in e.tools)e.tools[i]=e.tools[i].filter(o=>o==="giphy"&&!e.giphyenabled||o==="stockreply"&&!e.stockrepliesenabled?!1:!(e.hidebuttons instanceof Array&&e.hidebuttons.includes(o)));e.parseOptions=e.parseOptions||{},e.parseOptions.preserveWhitespace=!1}return e.tools.toolbar&&e.tools.toolbar[0]!=="block"&&(e.tools.toolbar=["block",...e.tools.toolbar.filter(i=>i!=="block")]),e}let TA=!1;function F8(){if(!TA){for(const e of["click","focus","keydown","keyup"])document.addEventListener(e,t=>{var n,r,i;(r=(n=t.target)==null?void 0:n.closest)!=null&&r.call(n,".ipsEditor__toolbar-item--unavailable")&&(t.preventDefault(),t.stopPropagation(),(i=t.stopImmediatePropagation)==null||i.call(t))},{capture:!0});TA=!0}}setTimeout(()=>window.ips.createModule("ips.utils.tiptap",()=>{const e={tools:{toolbar:["block","insert","bold","italic","underline","size","color","link","icon","stockreply","giphy","clear","format","tableOptions"]},allowedIframeDomains:window.ips.getSetting("allowedIframeDomains")||[],restrictions:new Set};return document.dispatchEvent(new CustomEvent("ipsTiptapLoaded")),{editorInstance(t,n={}){const r=rE.createRoot(t),i=er.debounce((o,s)=>{s([o,r]),o.options.name&&setTimeout(()=>o.options.jQuery(o.view.dom.closest("[data-ipseditorv5]")).trigger("editorWidgetInitialized",{id:o.options.name}))},10,{leading:!1});return F8(),new Promise(o=>{SA({...e,...n},t).then(s=>{r.render(N.jsx(St.StrictMode,{children:N.jsx(fj,{resolve:a=>{i(a,o)},config:s})}))})})},allCodeLanguages:bl,async decorateSimpleRichTextConfig(t){return t.simpleRichText=!0,await SA(t)}}}));
@@ -0,0 +1 @@
.resize-cursor{cursor:ew-resize;cursor:col-resize}.column-resize-handle{background-color:var(--i-primary);bottom:calc(-2 * var(--i-ta--bo-wi));position:absolute;right:calc(-2 * var(--i-ta--bo-wi));pointer-events:none;top:0;width:clamp(3px,calc(4 * var(--i-ta--bo-wi)),8px)}.ipsEditor__table-wrapper{position:relative;width:min-content;max-width:100%}.ipsEditor__table-wrapper.ProseMirror-selectednode{border-radius:var(--i-box--bo-ra);outline-offset:3px;max-width:100%}.ipsEditor__table-wrapper>.tableWrapper{outline:none!important}.tiptap .ipsEditor__table-wrapper .selectedCell{position:relative}.tiptap .ipsEditor__table-wrapper .selectedCell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;display:block;z-index:1;background-color:oklch(from var(--i-color_primary) l c h / .1)}
@@ -0,0 +1 @@
const e="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20version='1.2'%20viewBox='10%2010%2080%2080'%20%3e%3crect%20fill='none'%20rx='10'%20height='72'%20width='72'%20y='14'%20x='14'%20stroke='currentColor'%20stroke-width='8'%20stroke-linejoin='miter'%20/%3e%3crect%20fill='currentColor'%20fill-opacity='1'%20x='17'%20y='17'%20width='66'%20height='21.3'%20%3e%3c/rect%3e%3c!--%20%3cpath%20d='M12%2039.3L88%2039.3Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e--%3e%3cpath%20d='M12%2060.6L88%2060.6Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3cpath%20d='M39.3%2012L39.3%2088Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3cpath%20d='M60.6%2012L60.6%2088Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3c/svg%3e";export{e as default};
@@ -0,0 +1 @@
const e="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20version='1.2'%20viewBox='10%2010%2080%2080'%20%3e%3crect%20fill='none'%20rx='10'%20height='72'%20width='72'%20y='14'%20x='14'%20stroke='currentColor'%20stroke-width='6'%20stroke-linejoin='miter'%20/%3e%3crect%20fill='currentColor'%20fill-opacity='0.7'%20x='39.3'%20y='39.3'%20width='21.3'%20height='21.3'%20stroke='currentColor'%20stroke-width='7'%20stroke-linejoin='round'%3e%3c/rect%3e%3cpath%20d='M12%2039.3L88%2039.3Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3cpath%20d='M12%2060.6L88%2060.6Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3cpath%20d='M39.3%2012L39.3%2088Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3cpath%20d='M60.6%2012L60.6%2088Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3c/svg%3e";export{e as default};
@@ -0,0 +1 @@
const e="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20version='1.2'%20viewBox='10%2010%2080%2080'%20%3e%3crect%20fill='none'%20rx='10'%20height='72'%20width='72'%20y='14'%20x='14'%20stroke='currentColor'%20stroke-width='6'%20stroke-linejoin='miter'%20/%3e%3crect%20fill='currentColor'%20fill-opacity='0.7'%20y='14'%20x='39.3'%20height='72'%20width='21.3'%20stroke='currentColor'%20stroke-width='8'%20stroke-linejoin='round'%3e%3c/rect%3e%3cpath%20d='M12%2039.3L88%2039.3Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3cpath%20d='M12%2060.6L88%2060.6Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3cpath%20d='M39.3%2012L39.3%2088Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3cpath%20d='M60.6%2012L60.6%2088Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3c/svg%3e";export{e as default};
@@ -0,0 +1 @@
const e="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20version='1.2'%20viewBox='10%2010%2080%2080'%20%3e%3crect%20fill='none'%20rx='10'%20height='72'%20width='72'%20y='14'%20x='14'%20stroke='currentColor'%20stroke-width='6'%20stroke-linejoin='miter'%20/%3e%3crect%20fill='currentColor'%20fill-opacity='0.7'%20x='14'%20y='39.3'%20width='72'%20height='21.3'%20stroke='currentColor'%20stroke-width='8'%20stroke-linejoin='round'%3e%3c/rect%3e%3cpath%20d='M12%2039.3L88%2039.3Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3cpath%20d='M12%2060.6L88%2060.6Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3cpath%20d='M39.3%2012L39.3%2088Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3cpath%20d='M60.6%2012L60.6%2088Z'%20stroke='currentColor'%20stroke-width='4'%3e%3c/path%3e%3c/svg%3e";export{e as default};
@@ -26,6 +26,30 @@
"src": "src/assets/icons/spoiler.svg", "src": "src/assets/icons/spoiler.svg",
"isDynamicEntry": true "isDynamicEntry": true
}, },
"src/assets/icons/table-base.svg": {
"file": "assets/table-base-D1cd7bGZ.js",
"name": "table-base",
"src": "src/assets/icons/table-base.svg",
"isDynamicEntry": true
},
"src/assets/icons/table-cell.svg": {
"file": "assets/table-cell-DVOKSKb6.js",
"name": "table-cell",
"src": "src/assets/icons/table-cell.svg",
"isDynamicEntry": true
},
"src/assets/icons/table-columns.svg": {
"file": "assets/table-columns-BC6EiFm4.js",
"name": "table-columns",
"src": "src/assets/icons/table-columns.svg",
"isDynamicEntry": true
},
"src/assets/icons/table-rows.svg": {
"file": "assets/table-rows-_EhIjim3.js",
"name": "table-rows",
"src": "src/assets/icons/table-rows.svg",
"isDynamicEntry": true
},
"src/assets/icons/wrap.svg": { "src/assets/icons/wrap.svg": {
"file": "assets/wrap-BOz3U5J1.js", "file": "assets/wrap-BOz3U5J1.js",
"name": "wrap", "name": "wrap",
@@ -45,7 +69,7 @@
"isDynamicEntry": true "isDynamicEntry": true
}, },
"src/main.jsx": { "src/main.jsx": {
"file": "assets/main-0gprcJBY.js", "file": "assets/main-Ce8dEiGN.js",
"name": "main", "name": "main",
"src": "src/main.jsx", "src": "src/main.jsx",
"isEntry": true, "isEntry": true,
@@ -54,9 +78,16 @@
"src/assets/icons/box.svg", "src/assets/icons/box.svg",
"src/assets/icons/katex.svg", "src/assets/icons/katex.svg",
"src/assets/icons/spoiler.svg", "src/assets/icons/spoiler.svg",
"src/assets/icons/table-base.svg",
"src/assets/icons/table-cell.svg",
"src/assets/icons/table-columns.svg",
"src/assets/icons/table-rows.svg",
"src/assets/icons/wrap.svg", "src/assets/icons/wrap.svg",
"src/assets/icons/wrapInverted.svg", "src/assets/icons/wrapInverted.svg",
"src/assets/icons/wrapNone.svg" "src/assets/icons/wrapNone.svg"
],
"css": [
"assets/main-D9k5Klkm.css"
] ]
} }
} }
@@ -2013,18 +2013,7 @@ class members extends Controller
/* Change */ /* Change */
$oldEmail = $member->email; $oldEmail = $member->email;
$member->email = Request::i()->email; $member->changeEmail( Request::i()->email );
$member->save();
foreach ( Login::methods() as $method )
{
try
{
$method->changeEmail( $member, $oldEmail, Request::i()->email );
}
catch( BadMethodCallException $e ) {}
}
$member->logHistory( 'core', 'email_change', array( 'old' => $oldEmail, 'new' => Request::i()->email, 'by' => 'manual' ) );
Event::fire( 'onEmailChange', $member, array( Request::i()->email, $oldEmail ) );
$member->invalidateSessionsAndLogins( TRUE, Session::i()->id ); $member->invalidateSessionsAndLogins( TRUE, Session::i()->id );
Session::i()->log( 'acplog__members_edited_email', array( $member->name => FALSE ) ); Session::i()->log( 'acplog__members_edited_email', array( $member->name => FALSE ) );
} }
@@ -2845,12 +2834,12 @@ class members extends Controller
/* New Reg */ /* New Reg */
elseif ( $row['new_reg'] ) elseif ( $row['new_reg'] )
{ {
Email::buildFromTemplate( 'core', 'registration_validate', array( $member, $row['vid'], $plainTextKey ), Email::TYPE_TRANSACTIONAL )->send( $member ); Email::buildFromTemplate( 'core', 'registration_validate', array( $member, $row['vid'], $plainTextKey, $row['new_email'] ), Email::TYPE_TRANSACTIONAL )->send( $member );
} }
/* Email Change */ /* Email Change */
elseif ( $row['email_chg'] ) elseif ( $row['email_chg'] )
{ {
Email::buildFromTemplate( 'core', 'email_change', array( $member, $row['vid'], $plainTextKey ), Email::TYPE_TRANSACTIONAL )->send( $member ); Email::buildFromTemplate( 'core', 'email_change', array( $member, $row['vid'], $plainTextKey, $row['new_email'] ), Email::TYPE_TRANSACTIONAL )->send( $row['new_email'], array(), array(), NULL, NULL, array( 'Reply-To' => Settings::i()->email_in ) );
} }
/* Forgot security answers */ /* Forgot security answers */
elseif ( $row['forgot_security'] ) elseif ( $row['forgot_security'] )
@@ -3199,7 +3188,7 @@ class members extends Controller
Session::i()->log( 'acplog__deleted_guest_content', array( $values['guest_name_to_delete'] => FALSE ) ); Session::i()->log( 'acplog__deleted_guest_content', array( $values['guest_name_to_delete'] => FALSE ) );
Output::i()->redirect( Url::internal( "app=core&module=moderation&controller=spam&searchResult=guest_captcha" ), 'deleted' ); Output::i()->redirect( Url::internal( "app=core&module=moderation&controller=spam" ), 'deleted' );
} }
Output::i()->output = $form; Output::i()->output = $form;
@@ -168,10 +168,10 @@ class spam extends Controller
case 'toggles': case 'toggles':
return array( return array(
'none' => array( 'bot_antispam_type_warning' ), 'none' => array( 'bot_antispam_type_warning' ),
'recaptcha2' => array( 'guest_captcha', 'recaptcha2_public_key', 'recaptcha2_private_key' ), 'recaptcha2' => array( 'recaptcha2_public_key', 'recaptcha2_private_key' ),
'invisible' => array( 'guest_captcha', 'recaptcha2_public_key', 'recaptcha2_private_key' ), 'invisible' => array( 'recaptcha2_public_key', 'recaptcha2_private_key' ),
'keycaptcha' => array( 'guest_captcha', 'keycaptcha_privatekey' ), 'keycaptcha' => array( 'keycaptcha_privatekey' ),
'hcaptcha' => array( 'guest_captcha', 'hcaptcha_sitekey', 'hcaptcha_secret') 'hcaptcha' => array( 'hcaptcha_sitekey', 'hcaptcha_secret')
); );
} }
@@ -196,7 +196,6 @@ class spam extends Controller
$form->add( new Text( 'keycaptcha_privatekey', Settings::i()->keycaptcha_privatekey, FALSE, array(), NULL, NULL, NULL, 'keycaptcha_privatekey' ) ); $form->add( new Text( 'keycaptcha_privatekey', Settings::i()->keycaptcha_privatekey, FALSE, array(), NULL, NULL, NULL, 'keycaptcha_privatekey' ) );
$form->add( new Text( 'hcaptcha_sitekey', Settings::i()->hcaptcha_sitekey, FALSE, array(), NULL, NULL, NULL, 'hcaptcha_sitekey' ) ); $form->add( new Text( 'hcaptcha_sitekey', Settings::i()->hcaptcha_sitekey, FALSE, array(), NULL, NULL, NULL, 'hcaptcha_sitekey' ) );
$form->add( new Text( 'hcaptcha_secret', Settings::i()->hcaptcha_secret, FALSE, array(), NULL, NULL, NULL, 'hcaptcha_secret' ) ); $form->add( new Text( 'hcaptcha_secret', Settings::i()->hcaptcha_secret, FALSE, array(), NULL, NULL, NULL, 'hcaptcha_secret' ) );
$form->add( new YesNo( 'guest_captcha', Settings::i()->guest_captcha, FALSE, array(), NULL, NULL, NULL, 'guest_captcha' ) );
/* Save values */ /* Save values */
if ( $form->values() ) if ( $form->values() )
@@ -345,6 +345,7 @@ class login extends Controller
$form->addHeader( 'login_settings' ); $form->addHeader( 'login_settings' );
$form->add( new YesNo( 'new_device_email', Settings::i()->new_device_email, FALSE ) ); $form->add( new YesNo( 'new_device_email', Settings::i()->new_device_email, FALSE ) );
$form->add( new YesNo( 'login_after_inactivity_notification', Settings::i()->login_after_inactivity_notification, FALSE ) );
/* Save */ /* Save */
if ( $values = $form->values() ) if ( $values = $form->values() )
@@ -215,8 +215,13 @@ class posting extends Controller
$x = Member::loggedIn()->language()->addToStack( 'sso_setting_override', FALSE, [ 'pluralize' => [ count( $appBlocks ) ],'htmlsprintf' => [ Member::loggedIn()->language()->formatList( $appBlocks ) ] ] ); $x = Member::loggedIn()->language()->addToStack( 'sso_setting_override', FALSE, [ 'pluralize' => [ count( $appBlocks ) ],'htmlsprintf' => [ Member::loggedIn()->language()->formatList( $appBlocks ) ] ] );
Member::loggedIn()->language()->words['post_before_registering_desc'] = $x; Member::loggedIn()->language()->words['post_before_registering_desc'] = $x;
} }
elseif( Settings::i()->bot_antispam_type === 'none' )
{
$pbrDisabled = TRUE;
Member::loggedIn()->language()->words['post_before_registering_desc'] = Member::loggedIn()->language()->addToStack('post_before_registering_captcha_req');
}
$form->add( new Radio( 'post_before_registering', Settings::i()->post_before_registering, FALSE, array( 'disabled' => $pbrDisabled,'options' => array( 1 => 'post_before_registering_on', 0 => 'post_before_registering_off' ) ), NULL, NULL, NULL, 'post_before_registering' ) ); $form->add( new Radio( 'post_before_registering', Settings::i()->post_before_registering, FALSE, [ 'disabled' => $pbrDisabled,'options' => [ 1 => 'post_before_registering_on', 0 => 'post_before_registering_off' ] ], id: 'post_before_registering' ) );
} }
Member::loggedIn()->language()->words['post_before_registering_on'] = sprintf( Member::loggedIn()->language()->get('post_before_registering_on'), Member::loggedIn()->language()->addToStack( 'core_group_' . Settings::i()->member_group ) ); Member::loggedIn()->language()->words['post_before_registering_on'] = sprintf( Member::loggedIn()->language()->get('post_before_registering_on'), Member::loggedIn()->language()->addToStack( 'core_group_' . Settings::i()->member_group ) );
$form->add( new Number( 'max_title_length', Settings::i()->max_title_length, FALSE, array( 'max' => 255 ), NULL, NULL, Member::loggedIn()->language()->addToStack('max_title_length_suffix') ) ); $form->add( new Number( 'max_title_length', Settings::i()->max_title_length, FALSE, array( 'max' => 255 ), NULL, NULL, Member::loggedIn()->language()->addToStack('max_title_length_suffix') ) );
@@ -936,6 +936,9 @@ class view extends Controller
$this->club->removeMember( $member ); $this->club->removeMember( $member );
Db::i()->delete( 'core_notifications', array( '`member`=? AND notification_app=? AND notification_key=? and item_id=?', $member->member_id, 'core', 'club_invitation', $this->club->id ) ); Db::i()->delete( 'core_notifications', array( '`member`=? AND notification_app=? AND notification_key=? and item_id=?', $member->member_id, 'core', 'club_invitation', $this->club->id ) );
$member->recountNotifications(); $member->recountNotifications();
/* Log to member history */
$member->logHistory( 'core', 'club_membership', array('club_id' => $this->club->id, 'type' => $status, 'remove' => true ) );
} }
/* If they were previously accepted and waiting for payment, treat it as a decline */ /* If they were previously accepted and waiting for payment, treat it as a decline */
@@ -1332,6 +1335,8 @@ class view extends Controller
$this->club->removeMember( Member::loggedIn() ); $this->club->removeMember( Member::loggedIn() );
$this->club->recountMembers(); $this->club->recountMembers();
$this->club->save(); $this->club->save();
Member::loggedIn()->logHistory( 'core', 'club_membership', array('club_id' => $this->club->id, 'type' => Club::STATUS_LEFT ) );
/* Delete the invitation */ /* Delete the invitation */
Db::i()->delete( 'core_notifications', array( '`member`=? AND notification_app=? AND notification_key=? and item_id=?', Member::loggedIn()->member_id, 'core', 'club_invitation', $this->club->id ) ); Db::i()->delete( 'core_notifications', array( '`member`=? AND notification_app=? AND notification_key=? and item_id=?', Member::loggedIn()->member_id, 'core', 'club_invitation', $this->club->id ) );
@@ -1356,6 +1361,8 @@ class view extends Controller
$this->club->recountMembers(); $this->club->recountMembers();
$this->club->save(); $this->club->save();
Member::loggedIn()->logHistory( 'core', 'club_membership', array('club_id' => $this->club->id, 'type' => Club::STATUS_LEFT ) );
/* Update notification counts */ /* Update notification counts */
Db::i()->delete( 'core_notifications', array( 'notification_key=? and item_id=? and extra=?', 'club_request', $this->club->id, json_encode( array( Member::loggedIn()->member_id ) ) ) ); Db::i()->delete( 'core_notifications', array( 'notification_key=? and item_id=? and extra=?', 'club_request', $this->club->id, json_encode( array( Member::loggedIn()->member_id ) ) ) );
foreach( $this->club->members( array( 'moderator', 'leader' ), 250, NULL, 2 ) as $member ) foreach( $this->club->members( array( 'moderator', 'leader' ), 250, NULL, 2 ) as $member )
@@ -1450,6 +1457,31 @@ class view extends Controller
Output::i()->title = $this->club->name; Output::i()->title = $this->club->name;
Output::i()->output = $form->customTemplate( array( Theme::i()->getTemplate( 'forms', 'core' ), 'popupTemplate' ) ); Output::i()->output = $form->customTemplate( array( Theme::i()->getTemplate( 'forms', 'core' ), 'popupTemplate' ) );
} }
/**
* Resend a pending invitation
*
* @return void
*/
protected function resendInvite() : void
{
Session::i()->csrfCheck();
if ( !$this->club->canInvite() )
{
Output::i()->error( 'no_module_permission', '2C350/5', 403, '' );
}
$member = Member::load( Request::i()->member );
$memberStatus = $this->club->memberStatus( $member );
if( in_array( $memberStatus, [ Club::STATUS_INVITED, Club::STATUS_INVITED_BYPASSING_PAYMENT ] ) )
{
$this->club->sendInvitation( Member::loggedIn(), [ $member ] );
$member->logHistory( 'core', 'club_membership', array('club_id' => $this->club->id, 'type' => $memberStatus ) );
}
Output::i()->redirect( $this->club->url(), 'club_notifications_sent' );
}
/** /**
* Re-invite a banned memer * Re-invite a banned memer
@@ -91,7 +91,7 @@ class contact extends Controller
{ {
$form->add( new Text( 'contact_name', NULL, TRUE ) ); $form->add( new Text( 'contact_name', NULL, TRUE ) );
$form->add( new Email( 'email_address', NULL, TRUE, array( 'bypassProfanity' => Text::BYPASS_PROFANITY_ALL ) ) ); $form->add( new Email( 'email_address', NULL, TRUE, array( 'bypassProfanity' => Text::BYPASS_PROFANITY_ALL ) ) );
if ( Settings::i()->bot_antispam_type !== 'none' and Settings::i()->guest_captcha ) if ( Settings::i()->bot_antispam_type !== 'none' )
{ {
$form->add( new Captcha ); $form->add( new Captcha );
} }
@@ -238,45 +238,52 @@ class login extends Controller
{ {
Output::i()->redirect( Url::internal( 'app=core&module=system&controller=login', 'front', 'login' ) ); Output::i()->redirect( Url::internal( 'app=core&module=system&controller=login', 'front', 'login' ) );
} }
$details = json_decode( $_SESSION['linkAccounts'], TRUE ); $details = json_decode( $_SESSION['linkAccounts'], TRUE );
$member = Member::load( $details['member'] ); $member = Member::load( $details['member'] );
if ( !$member->member_id ) if ( !$member->member_id )
{ {
Output::i()->redirect( Url::internal( 'app=core&module=system&controller=login', 'front', 'login' ) ); Output::i()->redirect( Url::internal( 'app=core&module=system&controller=login', 'front', 'login' ) );
} }
/* And then handler to link with */ /* And then handler to link with */
$handler = Handler::load( $details['handler'] ); $handler = Handler::load( $details['handler'] );
/* Init reauthentication */ /* Init reauthentication */
$login = new LoginClass( Url::internal( 'app=core&module=system&controller=login&do=link', 'front', 'login' )->setQueryString( 'ref', isset( Request::i()->ref ) ? Request::i()->ref : NULL ), LoginClass::LOGIN_REAUTHENTICATE ); $login = new LoginClass( Url::internal( 'app=core&module=system&controller=login&do=link', 'front', 'login' )->setQueryString( 'ref', isset( Request::i()->ref ) ? Request::i()->ref : NULL ), LoginClass::LOGIN_REAUTHENTICATE );
$login->reauthenticateAs = $member; $login->reauthenticateAs = $member;
$error = NULL; $error = NULL;
/* If successful (or if there's no way to reauthenticate which would only happen if a login handler has been deleted)) complete the link... */ /* Did we submit the merge form? */
try if( isset( Request::i()->mergeAccount ) and Request::i()->mergeAccount )
{ {
if ( $success = $login->authenticate() or ( !count( $login->usernamePasswordMethods() ) and !count( $login->buttonMethods() ) ) ) Session::i()->csrfCheck();
{
$handler->completeLink( $member, $details['details'] ); /* If successful (or if there's no way to reauthenticate which would only happen if a login handler has been deleted)) complete the link... */
try
unset( $_SESSION['linkAccounts'] ); {
if ( $success = $login->authenticate() or ( !count( $login->usernamePasswordMethods() ) and !count( $login->buttonMethods() ) ) )
$destination = Request::i()->referrer( FALSE, TRUE ) ?: Url::internal( '' );
$success = new Success( $member, $handler );
if ( $success->mfa() )
{ {
$_SESSION['processing2FA'] = array( 'memberId' => $success->member->member_id, 'anonymous' => $success->anonymous, 'remember' => $success->rememberMe, 'destination' => (string) $destination, 'handler' => $success->handler->id ); $handler->completeLink( $member, $details['details'] ?? null );
Output::i()->redirect( $destination->setQueryString( '_mfaLogin', 1 ) );
unset( $_SESSION['linkAccounts'] );
$destination = Request::i()->referrer( FALSE, TRUE ) ?: Url::internal( '' );
$success = new Success( $member, $handler );
if ( $success->mfa() )
{
$_SESSION['processing2FA'] = array( 'memberId' => $success->member->member_id, 'anonymous' => $success->anonymous, 'remember' => $success->rememberMe, 'destination' => (string) $destination, 'handler' => $success->handler->id );
Output::i()->redirect( $destination->setQueryString( '_mfaLogin', 1 ) );
}
$success->process();
Output::i()->redirect( $destination->setQueryString( '_fromLogin', 1 ) );
} }
$success->process();
Output::i()->redirect( $destination->setQueryString( '_fromLogin', 1 ) );
} }
} catch ( Exception $e )
catch ( Exception $e ) {
{ $error = $e->getMessage();
$error = $e->getMessage(); }
} }
/* Otherwise show the reauthenticate form */ /* Otherwise show the reauthenticate form */
@@ -12,7 +12,6 @@ namespace IPS\core\modules\front\system;
/* To prevent PHP errors (extending class does not exist) revealing path */ /* To prevent PHP errors (extending class does not exist) revealing path */
use BadMethodCallException;
use DateInterval; use DateInterval;
use DomainException; use DomainException;
use Exception; use Exception;
@@ -24,7 +23,6 @@ use IPS\DateTime;
use IPS\Db; use IPS\Db;
use IPS\Dispatcher\Controller; use IPS\Dispatcher\Controller;
use IPS\Email; use IPS\Email;
use IPS\Events\Event;
use IPS\Helpers\Form; use IPS\Helpers\Form;
use IPS\Helpers\Form\Captcha; use IPS\Helpers\Form\Captcha;
use IPS\Helpers\Form\Checkbox; use IPS\Helpers\Form\Checkbox;
@@ -550,6 +548,12 @@ class register extends Controller
} }
$captcha = new Captcha; $captcha = new Captcha;
/* If PBR request is from the last 5 minutes, don't ask for a captcha again */
if( $postBeforeRegister !== NULL AND DateTime::ts( $postBeforeRegister['timestamp'] )->add( new \DateInterval('PT5M' ) )->getTimestamp() > time() )
{
$captcha = '';
}
if ( (string) $captcha !== '' ) if ( (string) $captcha !== '' )
{ {
@@ -865,7 +869,7 @@ class register extends Controller
$plainSecurityKey = Login::generateRandomString(); $plainSecurityKey = Login::generateRandomString();
Db::i()->update( 'core_validating', [ 'security_key' => Encrypt::fromPlaintext( $plainSecurityKey )->tag(), 'email_sent' => time() ], [ 'vid=?', $reg['vid'] ] ); Db::i()->update( 'core_validating', [ 'security_key' => Encrypt::fromPlaintext( $plainSecurityKey )->tag(), 'email_sent' => time() ], [ 'vid=?', $reg['vid'] ] );
Email::buildFromTemplate( 'core', $reg['email_chg'] ? 'email_change' : 'registration_validate', array( Member::loggedIn(), $reg['vid'], $plainSecurityKey ), Email::TYPE_TRANSACTIONAL )->send( Member::loggedIn() ); Email::buildFromTemplate( 'core', $reg['email_chg'] ? 'email_change' : 'registration_validate', array( Member::loggedIn(), $reg['vid'], $plainSecurityKey, $reg['new_email'] ), Email::TYPE_TRANSACTIONAL )->send( Member::loggedIn() );
} }
Output::i()->redirect( Url::internal( 'app=core&module=system&controller=register&do=validating', 'front', 'register' ), 'reg_email_resent' ); Output::i()->redirect( Url::internal( 'app=core&module=system&controller=register&do=validating', 'front', 'register' ), 'reg_email_resent' );
@@ -935,15 +939,15 @@ class register extends Controller
} }
else else
{ {
$oldEmail = $member->email;
$member->changeEmail( $record['new_email'] );
$member->members_bitoptions['validating'] = FALSE; $member->members_bitoptions['validating'] = FALSE;
$member->save(); $member->save();
Event::fire( 'onEmailChange', $member, array( $member->email, $record['prev_email'] ) );
Db::i()->delete( 'core_validating', array( 'member_id=?', $member->member_id ) ); Db::i()->delete( 'core_validating', array( 'member_id=?', $member->member_id ) );
/* Send a confirmation email */ /* Send a confirmation email */
Email::buildFromTemplate( 'core', 'email_address_changed', array( $member, $record['prev_email'] ), Email::TYPE_TRANSACTIONAL )->send( $record['prev_email'], array(), array(), NULL, NULL, array( 'Reply-To' => Settings::i()->email_in ) ); Email::buildFromTemplate( 'core', 'email_address_changed', array( $member, $oldEmail ), Email::TYPE_TRANSACTIONAL )->send( $oldEmail, array(), array(), NULL, NULL, array( 'Reply-To' => Settings::i()->email_in ) );
} }
/* Log in */ /* Log in */
@@ -1148,28 +1152,6 @@ class register extends Controller
} }
} }
/* Change the email */
$oldEmail = Member::loggedIn()->email;
Member::loggedIn()->email = $values['new_email'];
Member::loggedIn()->save();
foreach ( Login::methods() as $method )
{
try
{
$method->changeEmail( Member::loggedIn(), $oldEmail, $values['new_email'] );
}
catch( BadMethodCallException $e ) {}
}
Member::loggedIn()->logHistory( 'core', 'email_change', array( 'old' => $oldEmail, 'new' => $values['new_email'], 'by' => 'manual' ) );
/* Invalidate sessions except this one */
Member::loggedIn()->invalidateSessionsAndLogins( Session::i()->id );
if( isset( Request::i()->cookie['login_key'] ) )
{
Device::loadOrCreate( Member::loggedIn() )->updateAfterAuthentication( TRUE );
}
/* If email validation is required, do that... */ /* If email validation is required, do that... */
if ( in_array( Settings::i()->reg_auth_type, array( 'user', 'admin_user' ) ) ) if ( in_array( Settings::i()->reg_auth_type, array( 'user', 'admin_user' ) ) )
{ {
@@ -1191,14 +1173,34 @@ class register extends Controller
'user_verified' => ( Settings::i()->reg_auth_type == 'admin' ), 'user_verified' => ( Settings::i()->reg_auth_type == 'admin' ),
'ip_address' => Request::i()->ipAddress(), 'ip_address' => Request::i()->ipAddress(),
'email_sent' => time(), 'email_sent' => time(),
'security_key' => Encrypt::fromPlaintext( $plainSecurityKey )->tag() 'security_key' => Encrypt::fromPlaintext( $plainSecurityKey )->tag(),
'new_email' => $values['new_email']
] ); ] );
Email::buildFromTemplate( 'core', $pending['email_chg'] ? 'email_change' : 'registration_validate', array( Member::loggedIn(), $vid, $plainSecurityKey ), Email::TYPE_TRANSACTIONAL )->send( Member::loggedIn() ); if( $pending['email_chg'] )
{
Email::buildFromTemplate( 'core', 'email_change', [ Member::loggedIn(), $vid, $plainSecurityKey, $values['new_email'] ], Email::TYPE_TRANSACTIONAL )->send( $values['new_email'], array(), array(), NULL, NULL, array( 'Reply-To' => Settings::i()->email_in ) );
}
else
{
Email::buildFromTemplate( 'core', 'registration_validate', [ Member::loggedIn(), $vid, $plainSecurityKey, $values['new_email'] ], Email::TYPE_TRANSACTIONAL )->send( Member::loggedIn() );
}
} }
else else
{ {
Event::fire( 'onEmailChange', Member::loggedIn(), array( $values['new_email'], $oldEmail ) ); /* If we don't need validation, just change it */
$oldEmail = Member::loggedIn()->email;
Member::loggedIn()->changeEmail( $values['new_email'] );
/* Invalidate sessions except this one */
Member::loggedIn()->invalidateSessionsAndLogins( Session::i()->id );
if( isset( Request::i()->cookie['login_key'] ) )
{
Device::loadOrCreate( Member::loggedIn() )->updateAfterAuthentication( TRUE );
}
/* Send a confirmation email */
Email::buildFromTemplate( 'core', 'email_address_changed', array( Member::loggedIn(), $oldEmail ), Email::TYPE_TRANSACTIONAL )->send( $oldEmail, array(), array(), NULL, NULL, array( 'Reply-To' => Settings::i()->email_in ) );
} }
/* Redirect */ /* Redirect */
@@ -23,7 +23,6 @@ use IPS\DateTime;
use IPS\Db; use IPS\Db;
use IPS\Dispatcher\Controller; use IPS\Dispatcher\Controller;
use IPS\Email; use IPS\Email;
use IPS\Events\Event;
use IPS\Extensions\SSOAbstract; use IPS\Extensions\SSOAbstract;
use IPS\File; use IPS\File;
use IPS\GeoLocation; use IPS\GeoLocation;
@@ -432,44 +431,9 @@ class settings extends Controller
if ( !count( $login->buttonMethods() ) or $success = $login->authenticate() ) if ( !count( $login->buttonMethods() ) or $success = $login->authenticate() )
{ {
/* Disable syncing */
$profileSync = Member::loggedIn()->profilesync;
if ( isset( $profileSync['email'] ) )
{
unset( $profileSync['email'] );
Member::loggedIn()->profilesync = $profileSync;
Member::loggedIn()->save();
}
/* Change the email */
$oldEmail = Member::loggedIn()->email;
Member::loggedIn()->email = $_SESSION['newEmail'];
Member::loggedIn()->save();
foreach ( Login::methods() as $method )
{
try
{
$method->changeEmail( Member::loggedIn(), $oldEmail, $_SESSION['newEmail'] );
}
catch( BadMethodCallException $e )
{
}
}
Member::loggedIn()->logHistory( 'core', 'email_change', array( 'old' => $oldEmail, 'new' => Member::loggedIn()->email, 'by' => 'manual' ) );
/* Invalidate sessions except this one */
Member::loggedIn()->invalidateSessionsAndLogins( Session::i()->id );
if( isset( Request::i()->cookie['login_key'] ) )
{
Device::loadOrCreate( Member::loggedIn() )->updateAfterAuthentication( TRUE );
}
/* Send a validation email if we need to */ /* Send a validation email if we need to */
if ( SettingsClass::i()->reg_auth_type == 'user' or SettingsClass::i()->reg_auth_type == 'admin_user' ) if ( SettingsClass::i()->reg_auth_type == 'user' or SettingsClass::i()->reg_auth_type == 'admin_user' )
{ {
unset( $_SESSION['newEmail'] );
$vid = Login::generateRandomString(); $vid = Login::generateRandomString();
$plainSecurityKey = Login::generateRandomString(); $plainSecurityKey = Login::generateRandomString();
@@ -479,7 +443,7 @@ class settings extends Controller
'entry_date' => time(), 'entry_date' => time(),
'email_chg' => TRUE, 'email_chg' => TRUE,
'ip_address' => Request::i()->ipAddress(), 'ip_address' => Request::i()->ipAddress(),
'prev_email' => $oldEmail, 'new_email' => $_SESSION['newEmail'],
'email_sent' => time(), 'email_sent' => time(),
'security_key' => Encrypt::fromPlaintext( $plainSecurityKey )->tag() 'security_key' => Encrypt::fromPlaintext( $plainSecurityKey )->tag()
) ); ) );
@@ -487,15 +451,26 @@ class settings extends Controller
Member::loggedIn()->members_bitoptions['validating'] = TRUE; Member::loggedIn()->members_bitoptions['validating'] = TRUE;
Member::loggedIn()->save(); Member::loggedIn()->save();
Email::buildFromTemplate( 'core', 'email_change', array( Member::loggedIn(), $vid, $plainSecurityKey ), Email::TYPE_TRANSACTIONAL )->send( Member::loggedIn() ); Email::buildFromTemplate( 'core', 'email_change', array( Member::loggedIn(), $vid, $plainSecurityKey, $_SESSION['newEmail'] ), Email::TYPE_TRANSACTIONAL )->send( $_SESSION['newEmail'], array(), array(), NULL, NULL, array( 'Reply-To' => SettingsClass::i()->email_in ) );
unset( $_SESSION['newEmail'] );
Output::i()->redirect( Url::internal( '' ) ); Output::i()->redirect( Url::internal( '' ) );
} }
/* Or just redirect */ /* If we don't need validation, just change it */
else else
{ {
Event::fire( 'onEmailChange', Member::loggedIn(), array( $_SESSION['newEmail'], $oldEmail ) ); $oldEmail = Member::loggedIn()->email;
Member::loggedIn()->changeEmail( $_SESSION['newEmail'] );
/* Invalidate sessions except this one */
Member::loggedIn()->invalidateSessionsAndLogins( Session::i()->id );
if( isset( Request::i()->cookie['login_key'] ) )
{
Device::loadOrCreate( Member::loggedIn() )->updateAfterAuthentication( TRUE );
}
unset( $_SESSION['newEmail'] ); unset( $_SESSION['newEmail'] );
/* Send a confirmation email */ /* Send a confirmation email */
@@ -505,7 +480,7 @@ class settings extends Controller
} }
} }
} }
catch ( LoginException|\Exception $e ) catch ( LoginException|Exception $e )
{ {
$error = $e->getMessage(); $error = $e->getMessage();
} }
@@ -81,7 +81,27 @@ class Upgrade
return true; return true;
} }
public function step3() : bool|array
{
/* Fix any pending email changes */
$pending = iterator_to_array(
Db::i()->select( 'core_validating.*,core_members.email', 'core_validating', [ 'email_chg=?', 1 ] )
->join( 'core_members', 'core_validating.member_id=core_members.member_id' )
);
foreach( $pending as $row )
{
/* Update the database directly, we don't want to trigger any memberSync events */
$newEmail = $row['email'];
$oldEmail = $row['new_email']; // this was renamed from core_validating.prev_email
Db::i()->update( 'core_members', [ 'email' => $oldEmail ], [ 'member_id=?', $row['member_id'] ] );
Db::i()->update( 'core_validating', [ 'new_email' => $newEmail ], [ 'vid=?', $row['vid'] ] );
}
return TRUE;
}
// You can create as many additional methods (step2, step3, etc.) as is necessary. // You can create as many additional methods (step2, step3, etc.) as is necessary.
// Each step will be executed in a new HTTP request // Each step will be executed in a new HTTP request
} }
@@ -0,0 +1,22 @@
{
"id": 5000037,
"name": "5.0.0 Beta 8",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": true,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,116 @@
{
"categories": {
"added": [],
"edited": [
"lightDarkMode",
"logos",
"pageLayouts",
"typography",
"header",
"sidePanel",
"content",
"footer",
"mobileNavigation",
"navigationPanel",
"global",
"textLogo",
"imageLogoDesktop",
"imageLogoMobile",
"desktopHeader",
"mobileHeader",
"desktopFooter",
"body",
"contentBoxes",
"sidebar",
"avatars",
"buttons"
],
"removed": []
},
"settings": {
"added": [],
"edited": [
"set__i-default-scheme",
"set__i-logo-text",
"set__i-sidebar-width",
"i-primary-button--co",
"set__i-mobile-icons-location",
"set__logo-light",
"i-footer--co",
"set__mobile-logo-light",
"layout_global_view_mode",
"set__i-font-family",
"set__i-design-border",
"set__i-layout-width",
"set__i-sidebar-ui-header--he",
"set__i-position-logo",
"set__i-mobile-header--he",
"set__i-change-scheme",
"set__i-logo-slogan",
"i-primary-button--ba-co",
"set__i-mobile-footer-labels",
"set__logo-dark",
"i-footer--ba-co",
"set__mobile-logo-dark",
"set__i-design-radius",
"set__i-font-size",
"set__i-flip-sidebar",
"i-dashHeader--ba-co",
"set__i-position-navigation",
"i-headerMobile--ba-co",
"i-headerMobile--co",
"i-secondary-button--co",
"set__i-logo--fo-fa",
"set__i-position-user",
"i-dashHeader--co",
"set__i-avatar-radius",
"i-color_root",
"set__i-mobile-logo--he",
"set__i-design-shadow",
"i-mobileFooter--ba-co",
"set__i-logo--he",
"i-secondary-button--ba-co",
"set__i-logo--fo-we",
"i-navPanelLinkHover--co",
"set__i-position-breadcrumb",
"i-mobileFooter--co",
"i-color_soft",
"i-body--ba-co",
"set__i-link-panels",
"set__i-sidebar-ui-logo--he",
"i-button--bo-ra",
"set__i-desktop-logo--fo-si",
"set__i-sticky-sidebar",
"i-navPanelLinkActive--ba-co",
"set__i-position-search",
"i-mobileFooter-active--co",
"i-color_hard",
"i-box--ba-co",
"set__i-header-primary--he",
"set__i-sidebar-ui-logo--fo-si",
"i-box--bo-co",
"i-link--co",
"i-mobileFooter-active--ba-co",
"i-navPanel--ba-co",
"set__i-mobile-logo--fo-si",
"i-link-hover--co",
"i-navPanel--co",
"set__i-header-secondary--he",
"i-boxHeader--ba-co",
"i-boxHeader--co",
"set__i-user-content-font-size",
"i-navPanelLinkActive--co",
"set__i-nav-bar-icons",
"i-widget-header--ba-co",
"i-headerTop--ba-co",
"i-widget-header--co",
"i-headerTop--co",
"i-headerPrimary--ba-co",
"i-headerPrimary--co",
"i-headerSecondary--ba-co",
"i-headerSecondary--co",
"set__i-header-top--he"
],
"removed": []
}
}
@@ -0,0 +1,20 @@
{
"added": [
"app=core&module=settings&controller=login&tab=settings&searchResult=form_login_after_inactivity_notification",
"app=core&module=settings&controller=posting&tab=simplifiedMode&searchResult=form_editor_r__table"
],
"edited": [
"app=core&module=applications&controller=enhancements",
"app=core&module=applications&controller=menu",
"app=core&module=discovery&controller=streams&do=allActivitySettings",
"app=core&module=members&controller=groups&searchResult=g_rep_max_positive",
"app=core&module=moderation&controller=spam",
"app=core&module=overview&controller=mycharts",
"app=core&module=promotion&controller=sharelinks",
"app=core&module=settings&controller=general&searchResult=form_site_social_profiles",
"app=core&module=settings&controller=posting"
],
"removed": [
"app=core&module=moderation&controller=spam&searchResult=guest_captcha"
]
}
@@ -0,0 +1,22 @@
{
"id": 5000038,
"name": "5.0.0 Beta 9",
"steps": {
"queries": true,
"lang": true,
"theme": true,
"themeeditor": true,
"javascript": true,
"emailTemplates": true,
"acpSearchKeywords": true,
"settings": true,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": true,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,11 @@
{
"added": [
"loginAfterInactivity"
],
"edited": [
"registration_validate",
"email_change",
"emailWrapper"
],
"removed": []
}
@@ -0,0 +1,14 @@
{
"files": {
"added": [],
"edited": [
"global\/admin\/controllers\/core\/ips.core.liveSearch.js"
],
"removed": []
},
"orders": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,57 @@
{
"normal": {
"added": [
"siteprofilelink_bluesky",
"siteprofilelink_tiktok",
"bluesky_text",
"post_before_registering_captcha_req",
"editor_r__tables",
"login_after_inactivity_notification",
"mailsub__core_loginAfterInactivity",
"login_after_inactivity_email_intro",
"login_after_inactivity_delete_text",
"club_resend_invitation",
"history_invited_to_club",
"history_invite_club_canceled",
"history_left_club",
"history_request_club",
"history_decline_club"
],
"edited": [
"reg_confirm_email_desc",
"enhancements_ips",
"bot_antispam_type_desc",
"login_handler_Twitter",
"history_added_to_club"
],
"removed": [
"guest_captcha",
"guest_captcha_desc"
]
},
"js": {
"added": [
"editor_tool--table",
"editor_tool--tableOptions",
"editor_tool--globalTableOptions",
"editor_tool--tableRowOptions",
"editor_tool--tableCellOptions",
"editor_tool--tableColumnOptions",
"editor_tool--table-deleteTable",
"editor_tool--table-deleteTable--confirm",
"editor_tool--table-addRowBefore",
"editor_tool--table-addRowAfter",
"editor_tool--table-deleteRow",
"editor_tool--table-toggleHeaderRow",
"editor_tool--table-addColumnBefore",
"editor_tool--table-addColumnAfter",
"editor_tool--table-deleteColumn",
"editor_tool--table-toggleHeaderColumn",
"editor_tool--table-splitCell",
"editor_tool--table-mergeCells",
"editor_tool--table-toggleHeaderCell"
],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,30 @@
{
"1": {
"method": "delete",
"params": [
"core_sys_conf_settings",
[
"conf_key='guest_captcha'"
]
]
},
"2": {
"method": "changeColumn",
"params": [
"core_validating",
"prev_email",
{
"name": "new_email",
"type": "VARCHAR",
"length": 150,
"decimals": null,
"values": [],
"allow_null": false,
"default": "0",
"comment": "",
"unsigned": false,
"auto_increment": false
}
]
}
}
@@ -0,0 +1,9 @@
{
"added": [
"login_after_inactivity_notification"
],
"edited": [],
"removed": [
"guest_captcha"
]
}
@@ -0,0 +1,50 @@
{
"html": {
"added": [
"front\/sharelinks\/bluesky"
],
"edited": [
"front\/clubs\/membersRows",
"front\/forms\/postingInformation",
"global\/forms\/sort",
"global\/forms\/translatable",
"front\/global\/cachingLog",
"global\/global\/includeCSS",
"front\/global\/userLink",
"front\/system\/notValidated",
"front\/system\/reauthenticate"
],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/core.css",
"admin\/core\/global.css",
"global\/framework\/3-buttons.css",
"global\/framework\/3-compose.css",
"global\/framework\/3-cover-photo.css",
"global\/framework\/3-data-tables.css",
"global\/framework\/3-editor.css",
"global\/framework\/3-forms.css",
"global\/framework\/3-inputs.css",
"global\/framework\/3-pagination.css",
"global\/framework\/3-richtext.css",
"global\/framework\/3-social-icons.css",
"global\/framework\/4-breadcrumb.css"
],
"removed": []
},
"resources": {
"added": [
"admin\/enhancements\/meta.png",
"admin\/enhancements\/google_maps.png"
],
"edited": [],
"removed": [
"admin\/enhancements\/communityhive.svg",
"admin\/enhancements\/google_maps.jpeg",
"admin\/enhancements\/facebook.png"
]
}
}
@@ -0,0 +1,116 @@
{
"categories": {
"added": [],
"edited": [
"lightDarkMode",
"logos",
"pageLayouts",
"typography",
"header",
"sidePanel",
"content",
"footer",
"mobileNavigation",
"navigationPanel",
"global",
"textLogo",
"imageLogoDesktop",
"imageLogoMobile",
"desktopHeader",
"mobileHeader",
"desktopFooter",
"body",
"contentBoxes",
"sidebar",
"avatars",
"buttons"
],
"removed": []
},
"settings": {
"added": [],
"edited": [
"set__i-default-scheme",
"set__i-logo-text",
"set__i-sidebar-width",
"i-primary-button--co",
"set__i-mobile-icons-location",
"set__logo-light",
"i-footer--co",
"set__mobile-logo-light",
"layout_global_view_mode",
"set__i-font-family",
"set__i-design-border",
"set__i-layout-width",
"set__i-sidebar-ui-header--he",
"set__i-position-logo",
"set__i-mobile-header--he",
"set__i-change-scheme",
"set__i-logo-slogan",
"i-primary-button--ba-co",
"set__i-mobile-footer-labels",
"set__logo-dark",
"i-footer--ba-co",
"set__mobile-logo-dark",
"set__i-design-radius",
"set__i-font-size",
"set__i-flip-sidebar",
"i-dashHeader--ba-co",
"set__i-position-navigation",
"i-headerMobile--ba-co",
"i-headerMobile--co",
"i-secondary-button--co",
"set__i-logo--fo-fa",
"set__i-position-user",
"i-dashHeader--co",
"set__i-avatar-radius",
"i-color_root",
"set__i-mobile-logo--he",
"set__i-design-shadow",
"i-mobileFooter--ba-co",
"set__i-logo--he",
"i-secondary-button--ba-co",
"set__i-logo--fo-we",
"i-navPanelLinkHover--co",
"set__i-position-breadcrumb",
"i-mobileFooter--co",
"i-color_soft",
"i-body--ba-co",
"set__i-link-panels",
"set__i-sidebar-ui-logo--he",
"i-button--bo-ra",
"set__i-desktop-logo--fo-si",
"set__i-sticky-sidebar",
"i-navPanelLinkActive--ba-co",
"set__i-position-search",
"i-mobileFooter-active--co",
"i-color_hard",
"i-box--ba-co",
"set__i-header-primary--he",
"set__i-sidebar-ui-logo--fo-si",
"i-box--bo-co",
"i-link--co",
"i-mobileFooter-active--ba-co",
"i-navPanel--ba-co",
"set__i-mobile-logo--fo-si",
"i-link-hover--co",
"i-navPanel--co",
"set__i-header-secondary--he",
"i-boxHeader--ba-co",
"i-boxHeader--co",
"set__i-user-content-font-size",
"i-navPanelLinkActive--co",
"set__i-nav-bar-icons",
"i-widget-header--ba-co",
"i-headerTop--ba-co",
"i-widget-header--co",
"i-headerTop--co",
"i-headerPrimary--ba-co",
"i-headerPrimary--co",
"i-headerSecondary--ba-co",
"i-headerSecondary--co",
"set__i-header-top--he"
],
"removed": []
}
}
@@ -0,0 +1,22 @@
{
"id": 5000039,
"name": "5.0.0 Beta 9.1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": true,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,116 @@
{
"categories": {
"added": [],
"edited": [
"lightDarkMode",
"logos",
"pageLayouts",
"typography",
"header",
"sidePanel",
"content",
"footer",
"mobileNavigation",
"navigationPanel",
"global",
"textLogo",
"imageLogoDesktop",
"imageLogoMobile",
"desktopHeader",
"mobileHeader",
"desktopFooter",
"body",
"contentBoxes",
"sidebar",
"avatars",
"buttons"
],
"removed": []
},
"settings": {
"added": [],
"edited": [
"set__i-default-scheme",
"set__i-logo-text",
"set__i-sidebar-width",
"i-primary-button--co",
"set__i-mobile-icons-location",
"set__logo-light",
"i-footer--co",
"set__mobile-logo-light",
"layout_global_view_mode",
"set__i-font-family",
"set__i-design-border",
"set__i-layout-width",
"set__i-sidebar-ui-header--he",
"set__i-position-logo",
"set__i-mobile-header--he",
"set__i-change-scheme",
"set__i-logo-slogan",
"i-primary-button--ba-co",
"set__i-mobile-footer-labels",
"set__logo-dark",
"i-footer--ba-co",
"set__mobile-logo-dark",
"set__i-design-radius",
"set__i-font-size",
"set__i-flip-sidebar",
"i-dashHeader--ba-co",
"set__i-position-navigation",
"i-headerMobile--ba-co",
"i-headerMobile--co",
"i-secondary-button--co",
"set__i-logo--fo-fa",
"set__i-position-user",
"i-dashHeader--co",
"set__i-avatar-radius",
"i-color_root",
"set__i-mobile-logo--he",
"set__i-design-shadow",
"i-mobileFooter--ba-co",
"set__i-logo--he",
"i-secondary-button--ba-co",
"set__i-logo--fo-we",
"i-navPanelLinkHover--co",
"set__i-position-breadcrumb",
"i-mobileFooter--co",
"i-color_soft",
"i-body--ba-co",
"set__i-link-panels",
"set__i-sidebar-ui-logo--he",
"i-button--bo-ra",
"set__i-desktop-logo--fo-si",
"set__i-sticky-sidebar",
"i-navPanelLinkActive--ba-co",
"set__i-position-search",
"i-mobileFooter-active--co",
"i-color_hard",
"i-box--ba-co",
"set__i-header-primary--he",
"set__i-sidebar-ui-logo--fo-si",
"i-box--bo-co",
"i-link--co",
"i-mobileFooter-active--ba-co",
"i-navPanel--ba-co",
"set__i-mobile-logo--fo-si",
"i-link-hover--co",
"i-navPanel--co",
"set__i-header-secondary--he",
"i-boxHeader--ba-co",
"i-boxHeader--co",
"set__i-user-content-font-size",
"i-navPanelLinkActive--co",
"set__i-nav-bar-icons",
"i-widget-header--ba-co",
"i-headerTop--ba-co",
"i-widget-header--co",
"i-headerTop--co",
"i-headerPrimary--ba-co",
"i-headerPrimary--co",
"i-headerSecondary--ba-co",
"i-headerSecondary--co",
"set__i-header-top--he"
],
"removed": []
}
}
@@ -90,7 +90,7 @@ class SocialProfiles extends KeyValue
*/ */
protected function addSocialNetworks( array $options ): array protected function addSocialNetworks( array $options ): array
{ {
$options['value']['options'] = array( $values = [
'facebook' => "siteprofilelink_facebook", 'facebook' => "siteprofilelink_facebook",
'youtube' => "siteprofilelink_youtube", 'youtube' => "siteprofilelink_youtube",
'x' => "siteprofilelink_x", 'x' => "siteprofilelink_x",
@@ -109,7 +109,12 @@ class SocialProfiles extends KeyValue
'vk' => "siteprofilelink_vk", 'vk' => "siteprofilelink_vk",
'discord' => "siteprofilelink_discord", 'discord' => "siteprofilelink_discord",
'twitch' => "siteprofilelink_twitch", 'twitch' => "siteprofilelink_twitch",
); 'bluesky' => "siteprofilelink_bluesky",
'tiktok' => "siteprofilelink_tiktok",
];
asort( $values );
$options['value']['options'] = $values;
return $options; return $options;
} }
+1 -1
View File
@@ -171,7 +171,7 @@ class cleanup extends Task
} }
/* ...and guest details stored with reports */ /* ...and guest details stored with reports */
if( Settings::i()->report_guest_details_store_days ) if( (int) Settings::i()->report_guest_details_store_days > 0 )
{ {
Db::i()->update( 'core_rc_reports', [ 'guest_name' => null, 'guest_email' => null ], array( 'date_reported < ?', DateTime::create()->sub( new DateInterval( 'P' . \IPS\Settings::i()->report_guest_details_store_days . 'D' ) )->getTimestamp() ) ); Db::i()->update( 'core_rc_reports', [ 'guest_name' => null, 'guest_email' => null ], array( 'date_reported < ?', DateTime::create()->sub( new DateInterval( 'P' . \IPS\Settings::i()->report_guest_details_store_days . 'D' ) )->getTimestamp() ) );
} }
Loaded 100 of 202 files, more files were not shown because too many files have changed in this diff. Show more