From 65278e82920e991f7d7934c2cd4c9979ff725ff1 Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Fri, 25 Oct 2024 12:24:04 +0100
Subject: [PATCH 01/33] ISAICP-8857: Replace domain and some naming Joinup to
 Portal.

---
 .ddev/publiccode/joinup.diff                  |  2 +-
 README.md                                     |  6 ++---
 config/sync/email_confirmer.settings.yml      |  2 +-
 config/sync/file_url.settings.yml             |  2 +-
 ...oder.geocoder_provider.gisco_geocoding.yml |  2 +-
 config/sync/joinup_user.mail.yml              |  6 ++---
 ...message.template.cc_transition_propose.yml |  2 +-
 ...emplate.cc_transition_propose_reported.yml |  2 +-
 .../message.template.cc_transition_report.yml |  2 +-
 ...template.cc_transition_request_changes.yml |  2 +-
 ...emplate.cc_transition_request_deletion.yml |  2 +-
 .../message.template.col_propose_edit_own.yml |  2 +-
 .../sync/message.template.col_propose_new.yml |  2 +-
 .../message.template.col_req_arch_del.yml     |  2 +-
 .../sync/message.template.comment_create.yml  |  2 +-
 .../sync/message.template.comment_update.yml  |  2 +-
 ...message.template.og_membership_request.yml |  2 +-
 ...age.template.og_membership_role_change.yml |  2 +-
 ...plate.og_membership_subscribed_approve.yml |  2 +-
 ...ssage.template.release_request_changes.yml |  2 +-
 .../message.template.sol_propose_changes.yml  |  2 +-
 .../sync/message.template.sol_propose_new.yml |  2 +-
 ...template.sol_propose_requested_changes.yml |  2 +-
 .../message.template.sol_request_changes.yml  |  2 +-
 ...sage.template.solution_content_archive.yml |  2 +-
 ...atag.metatag_defaults.node__discussion.yml |  2 +-
 config/sync/user.mail.yml                     | 20 ++++++++--------
 docs/agreement.md                             |  4 ++--
 docs/code_of_conduct.md                       |  2 +-
 docs/contributing.md                          |  2 +-
 resources/runner/drupal.yml                   |  2 +-
 .../collection.member_administration.feature  |  6 ++---
 .../notification.collection.feature           |  6 ++---
 tests/features/comments/add_comment.feature   | 20 ++++++++--------
 tests/features/comments/edit_comment.feature  |  2 +-
 .../notification.post_moderated.news.feature  |  4 ++--
 .../notification.pre_moderated.news.feature   | 14 +++++------
 .../contact_form/submit_contact_form.feature  |  4 ++--
 tests/features/footer.feature                 | 10 ++++----
 .../features/joinup_core/page_access.feature  |  2 +-
 .../transfer_group_ownership.feature          |  8 +++----
 .../joinup_event/add_event.collection.feature |  2 +-
 .../joinup_release/release.moderation.feature |  2 +-
 tests/features/joinup_seo/discussion.feature  |  2 +-
 .../community.content.subscriptions.feature   |  2 +-
 tests/features/machine_translation.feature    |  2 +-
 tests/features/menus/support_menu.feature     | 24 +++++++++----------
 .../moderator/message_overview.feature        |  4 ++--
 tests/features/solution/add_solution.feature  |  2 +-
 .../solution/manage_solutions.archive.feature |  4 ++--
 .../solution/solution.notifications.feature   |  8 +++----
 .../update/update-ISAICP-9083.feature         |  8 +++----
 tests/features/user/cancel.feature            |  6 ++---
 tests/features/user/profile.feature           |  2 +-
 tests/features/user/register.feature          |  2 +-
 tests/features/user/roles.feature             |  4 ++--
 tests/src/Context/JoinupContext.php           |  2 +-
 .../src/Context/JoinupNotificationContext.php |  2 +-
 .../contact_form/contact_form.links.menu.yml  |  2 +-
 .../custom/contact_form/contact_form.module   |  4 ++--
 .../src/Functional/ContactFormMailTest.php    | 16 ++++++-------
 .../joinup_core/joinup_core.links.menu.yml    |  2 +-
 .../src/Kernel/Mail/JoinupUserMailTest.php    |  4 ++--
 .../SubscribedDiscussionSubscriber.php        |  2 +-
 .../joinup_notification.module                |  2 +-
 .../NotificationSubscriberBase.php            |  2 +-
 .../src/MessageArgumentGenerator.php          |  2 +-
 .../IDMaxLengthConstraintValidatorTest.php    |  2 +-
 .../config/install/joinup_user.mail.yml       |  6 ++---
 .../joinup-eligibility-criteria.html.twig     |  2 +-
 web/publiccode-editor/app.bundle.js           |  4 ++--
 .../message-digest/message-digest.html.twig   |  2 +-
 .../patterns/tile/tile.ui_patterns.yml        |  2 +-
 ...il--message-notify--announcement.html.twig |  2 +-
 74 files changed, 150 insertions(+), 150 deletions(-)

diff --git a/.ddev/publiccode/joinup.diff b/.ddev/publiccode/joinup.diff
index 009dd4d54c..8f4b47ce1b 100644
--- a/.ddev/publiccode/joinup.diff
+++ b/.ddev/publiccode/joinup.diff
@@ -41,7 +41,7 @@ index 6c2e55c..e6373f9 100644
  
 -export const privacyPolicyUrl = `https://developers.italia.it/it/privacy-policy/`;
 -export const repositoryUrl = `https://docs.italia.it/italia/developers-italia/publiccodeyml/it/master/`;
-+export const privacyPolicyUrl = `https://joinup.ec.europa.eu/collection/joinup/specific-privacy-statement`;
++export const privacyPolicyUrl = `https://interoperable-europe.ec.europa.eu/collection/joinup/specific-privacy-statement`;
 +export const repositoryUrl = `https://yml.publiccode.tools`;
  export const versionsUrl = `https://api.github.com/repos/${REPOSITORY}/contents/version`;
  export const sampleUrl = `https://raw.githubusercontent.com/italia/pc-web-validator/master/tests/valid.minimal.yml`;
diff --git a/README.md b/README.md
index 7c6101a945..803e7f3c95 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
 # Joinup website
 
-This is the source code for https://joinup.ec.europa.eu.
+This is the source code for https://interoperable-europe.ec.europa.eu.
 
 Joinup is a collaborative platform created by the European Commission and funded
-by the European Union via the [Interoperable Europe](https://joinup.ec.europa.eu/interoperable-europe)
+by the European Union via the [Interoperable Europe](https://interoperable-europe.ec.europa.eu/interoperable-europe)
 Programme.
 
 It offers several services that aim to help e-Government professionals share
@@ -21,7 +21,7 @@ backwards compatibility, nor a full upgrade path between two versions.
 If you download and install your own instance, you're responsible for update and
 adapt the code when new Joinup versions are available.
 
-Joinup is licensed under the [EUPL](https://joinup.ec.europa.eu/community/eupl/og_page/eupl),
+Joinup is licensed under the [EUPL](https://interoperable-europe.ec.europa.eu/community/eupl/og_page/eupl),
 which is compatible with the GPL.
 
 ## Development
diff --git a/config/sync/email_confirmer.settings.yml b/config/sync/email_confirmer.settings.yml
index c1166df8f2..91c5fc1477 100644
--- a/config/sync/email_confirmer.settings.yml
+++ b/config/sync/email_confirmer.settings.yml
@@ -7,7 +7,7 @@ resendrequest_delay: 3600
 confirmation_lifetime: 0
 confirmation_request:
   subject: '[site:name] - Please validate your contact details'
-  body: '<p>Dear Joinup user,</p><p>As owner/facilitator, we’re improving your privacy by replacing the publicly visible contact email information with a contact form that users/members can use to reach you.</p><p>Please confirm your email address <strong>[email-confirmer:confirmation-mail]</strong>, which is set in your contact information for the following:</p>[email-confirmer:confirmation-entities]<p><strong><a href="[email-confirmer:confirmation-url]">Confirm your e-mail address</a></strong><p><p>If the link doesn''t work, just copy this URL to your browser:</p><p>[email-confirmer:confirmation-url]</p><p>If you do not validate your email within the next 5 days, you will not be able to receive any messages from users/members.</p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="https://joinup.ec.europa.eu/contact" taget="_blank">https://joinup.ec.europa.eu/contact</a>.</p><p>Best regards,<br />The Joinup Team</p>'
+  body: '<p>Dear Joinup user,</p><p>As owner/facilitator, we’re improving your privacy by replacing the publicly visible contact email information with a contact form that users/members can use to reach you.</p><p>Please confirm your email address <strong>[email-confirmer:confirmation-mail]</strong>, which is set in your contact information for the following:</p>[email-confirmer:confirmation-entities]<p><strong><a href="[email-confirmer:confirmation-url]">Confirm your e-mail address</a></strong><p><p>If the link doesn''t work, just copy this URL to your browser:</p><p>[email-confirmer:confirmation-url]</p><p>If you do not validate your email within the next 5 days, you will not be able to receive any messages from users/members.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="https://interoperable-europe.ec.europa.eu/contact" taget="_blank">https://interoperable-europe.ec.europa.eu/contact</a>.</p><p>Best regards,<br />The Joinup Team</p>'
 confirmation_response:
   skip_confirmation_form: false
   questions:
diff --git a/config/sync/file_url.settings.yml b/config/sync/file_url.settings.yml
index cd4367da74..626b66ee9a 100644
--- a/config/sync/file_url.settings.yml
+++ b/config/sync/file_url.settings.yml
@@ -1,3 +1,3 @@
 _core:
   default_config_hash: 5lG2c9-2kmTift1CrNc0S5ceVC0LCnE-XWiiTin3zmQ
-dereference_host: 'http://joinup.ec.europa.eu'
+dereference_host: 'http://interoperable-europe.ec.europa.eu'
diff --git a/config/sync/geocoder.geocoder_provider.gisco_geocoding.yml b/config/sync/geocoder.geocoder_provider.gisco_geocoding.yml
index 525bcdcf88..32156722b4 100644
--- a/config/sync/geocoder.geocoder_provider.gisco_geocoding.yml
+++ b/config/sync/geocoder.geocoder_provider.gisco_geocoding.yml
@@ -11,4 +11,4 @@ configuration:
   throttle:
     period: null
     limit: null
-  referer: 'https://joinup.ec.europa.eu/'
+  referer: 'https://interoperable-europe.ec.europa.eu/'
diff --git a/config/sync/joinup_user.mail.yml b/config/sync/joinup_user.mail.yml
index b606bd2f69..b696cbd669 100644
--- a/config/sync/joinup_user.mail.yml
+++ b/config/sync/joinup_user.mail.yml
@@ -1,6 +1,6 @@
 langcode: en
 email_admin_update:
-  subject: 'The Joinup Support Team updated your account for you at [site:name]'
+  subject: 'The Portal Support Team updated your account for you at [site:name]'
   body: |-
     Dear [user:display-name],
 
@@ -8,7 +8,7 @@ email_admin_update:
 
     Kind regards,
 
-    The Joinup Support Team
+    The Portal Support Team
 password_reset_confirm:
   subject: 'Your password has been changed'
   body: |-
@@ -18,4 +18,4 @@ password_reset_confirm:
 
     Kind regards,
 
-    The Joinup Support Team
\ No newline at end of file
+    The Portal Support Team
diff --git a/config/sync/message.template.cc_transition_propose.yml b/config/sync/message.template.cc_transition_propose.yml
index 4d84db5f95..2ffd68f991 100644
--- a/config/sync/message.template.cc_transition_propose.yml
+++ b/config/sync/message.template.cc_transition_propose.yml
@@ -14,7 +14,7 @@ text:
     value: '<p>Joinup: Content has been proposed</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name has submitted @entity:hasPublished:status @entity:bundle - "@entity:title" for publication in the @group:bundle: "@group:title".</p><p>You can access the proposed new content at the following link: <a href="@entity:url">@entity:url</a>.</p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has submitted @entity:hasPublished:status @entity:bundle - "@entity:title" for publication in the @group:bundle: "@group:title".</p><p>You can access the proposed new content at the following link: <a href="@entity:url">@entity:url</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.cc_transition_propose_reported.yml b/config/sync/message.template.cc_transition_propose_reported.yml
index d3a11c315e..a0f7847059 100644
--- a/config/sync/message.template.cc_transition_propose_reported.yml
+++ b/config/sync/message.template.cc_transition_propose_reported.yml
@@ -14,7 +14,7 @@ text:
     value: '<p>Joinup: Content has been updated</p>'
     format: full_html
   -
-    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has updated the content of the @entity:bundle - "@entity:title" as advised and requests again its publication in the @group:bundle: "@group:title".</p><p>You can access the proposed new content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has updated the content of the @entity:bundle - "@entity:title" as advised and requests again its publication in the @group:bundle: "@group:title".</p><p>You can access the proposed new content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.cc_transition_report.yml b/config/sync/message.template.cc_transition_report.yml
index cdc2bf572d..3601ea3c1b 100644
--- a/config/sync/message.template.cc_transition_report.yml
+++ b/config/sync/message.template.cc_transition_report.yml
@@ -14,7 +14,7 @@ text:
     value: '<p>Joinup: Content has been updated</p>'
     format: full_html
   -
-    value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has requested you to modify the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", following the following advises: "@transition:motivation".</p><p>Your content has been moved back to "Needs update" state; you may modify it and request it to be published again.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has requested you to modify the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", following the following advises: "@transition:motivation".</p><p>Your content has been moved back to "Needs update" state; you may modify it and request it to be published again.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.cc_transition_request_changes.yml b/config/sync/message.template.cc_transition_request_changes.yml
index 3e8757edfc..9d7477603f 100644
--- a/config/sync/message.template.cc_transition_request_changes.yml
+++ b/config/sync/message.template.cc_transition_request_changes.yml
@@ -14,7 +14,7 @@ text:
     value: '<p>Joinup: Content has been updated</p>'
     format: full_html
   -
-    value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has requested you to modify the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".</p><p>Your content has been moved back to "Proposed" state; you may modify it and request it to be published again.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has requested you to modify the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".</p><p>Your content has been moved back to "Proposed" state; you may modify it and request it to be published again.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.cc_transition_request_deletion.yml b/config/sync/message.template.cc_transition_request_deletion.yml
index cfffb7437f..26e17f0479 100644
--- a/config/sync/message.template.cc_transition_request_deletion.yml
+++ b/config/sync/message.template.cc_transition_request_deletion.yml
@@ -14,7 +14,7 @@ text:
     value: '<p>Joinup: Content has been updated</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name has requested to delete the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has requested to delete the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.col_propose_edit_own.yml b/config/sync/message.template.col_propose_edit_own.yml
index 6d628dc49a..8fcafbe232 100644
--- a/config/sync/message.template.col_propose_edit_own.yml
+++ b/config/sync/message.template.col_propose_edit_own.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>User @actor:field_user_first_name proposed to edit @entity:bundle @entity:title</p>'
     format: full_html
   -
-    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has proposed to edit @entity:bundle "@entity:title".</p><p>To modify your @entity:bundle, please go to <a href="@entity:url">@entity:url</a>.</p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has proposed to edit @entity:bundle "@entity:title".</p><p>To modify your @entity:bundle, please go to <a href="@entity:url">@entity:url</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.col_propose_new.yml b/config/sync/message.template.col_propose_new.yml
index cbfc395c05..f2dc0b0244 100644
--- a/config/sync/message.template.col_propose_new.yml
+++ b/config/sync/message.template.col_propose_new.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>User @actor:field_user_first_name proposed @entity:bundle @entity:title</p>'
     format: full_html
   -
-    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has proposed @entity:bundle "@entity:title".</p><p>To approve or reject this proposal, please go to <a href="@entity:url">@entity:url</a>. You''ll be able to provide feedback.</p><p>The requestor will be notified of your decision and feedback.</p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has proposed @entity:bundle "@entity:title".</p><p>To approve or reject this proposal, please go to <a href="@entity:url">@entity:url</a>. You''ll be able to provide feedback.</p><p>The requestor will be notified of your decision and feedback.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.col_req_arch_del.yml b/config/sync/message.template.col_req_arch_del.yml
index db11582853..7c78cb0a1a 100644
--- a/config/sync/message.template.col_req_arch_del.yml
+++ b/config/sync/message.template.col_req_arch_del.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>User @actor:field_user_first_name requested to @transition:request_action @entity:bundle @entity:title</p>'
     format: full_html
   -
-    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has requested to @transition:request_action the @entity:bundle "@entity:title".</p><p>To approve or reject this request, please go to <a href="@entity:url">@entity:url</a>. You will be prompted to provide feedback in case of rejection.</p><p>The requestor will be notified of your decision and feedback.</p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has requested to @transition:request_action the @entity:bundle "@entity:title".</p><p>To approve or reject this request, please go to <a href="@entity:url">@entity:url</a>. You will be prompted to provide feedback in case of rejection.</p><p>The requestor will be notified of your decision and feedback.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.comment_create.yml b/config/sync/message.template.comment_create.yml
index c845e60bdc..2d9bfe36de 100644
--- a/config/sync/message.template.comment_create.yml
+++ b/config/sync/message.template.comment_create.yml
@@ -14,7 +14,7 @@ text:
     value: '<p>Joinup: A new comment has been created.</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name posted a comment in @group:bundle "@group:title".</p><p>To view the comment click <a href="@entity:url">here</a>.</p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name posted a comment in @group:bundle "@group:title".</p><p>To view the comment click <a href="@entity:url">here</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.comment_update.yml b/config/sync/message.template.comment_update.yml
index b2f5976de8..bb26288099 100644
--- a/config/sync/message.template.comment_update.yml
+++ b/config/sync/message.template.comment_update.yml
@@ -14,7 +14,7 @@ text:
     value: '<p>Joinup: A comment has been updated.</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name updated the comment in "<a href="@entity:url">@parent:title</a>".</p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name updated the comment in "<a href="@entity:url">@parent:title</a>".</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.og_membership_request.yml b/config/sync/message.template.og_membership_request.yml
index 58b788bca7..fd5c96cba8 100644
--- a/config/sync/message.template.og_membership_request.yml
+++ b/config/sync/message.template.og_membership_request.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>Joinup: A user has requested to join your collection</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name has requested to join your @entity:bundle "@entity:title" as a member.</p><p>To approve or reject this request, click on <a href="@group:members_page:url">@group:members_page:url</a>.</p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has requested to join your @entity:bundle "@entity:title" as a member.</p><p>To approve or reject this request, click on <a href="@group:members_page:url">@group:members_page:url</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.og_membership_role_change.yml b/config/sync/message.template.og_membership_role_change.yml
index 1706ad320b..516c481800 100644
--- a/config/sync/message.template.og_membership_role_change.yml
+++ b/config/sync/message.template.og_membership_role_change.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>Your role has been changed to @membership:roles</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name has changed your role in @group:bundle "@group:title" to @membership:roles.</p><p>If you think this action is not clear or not due, please contact <a href="@site:contact_url">Joinup Support</a>.</p>'
+    value: '<p>@actor:full_name has changed your role in @group:bundle "@group:title" to @membership:roles.</p><p>If you think this action is not clear or not due, please contact <a href="@site:contact_url">Portal Support</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.og_membership_subscribed_approve.yml b/config/sync/message.template.og_membership_subscribed_approve.yml
index 8a5a7bc0ee..ce891d744c 100644
--- a/config/sync/message.template.og_membership_subscribed_approve.yml
+++ b/config/sync/message.template.og_membership_subscribed_approve.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>Joinup: Your request to join the @entity:bundle @entity:title was approved</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name has approved your request to join and subscribe to the "@entity:title" @entity:bundle.</p><p>You will receive weekly notifications for newly created content on this collection.<br /> To manage your notifications go to "<a href="@user:my_subscriptions">My subscriptions</a>" in the user menu.</p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has approved your request to join and subscribe to the "@entity:title" @entity:bundle.</p><p>You will receive weekly notifications for newly created content on this collection.<br /> To manage your notifications go to "<a href="@user:my_subscriptions">My subscriptions</a>" in the user menu.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.release_request_changes.yml b/config/sync/message.template.release_request_changes.yml
index 8fdcb6453f..7e67bf0d1b 100644
--- a/config/sync/message.template.release_request_changes.yml
+++ b/config/sync/message.template.release_request_changes.yml
@@ -14,7 +14,7 @@ text:
     value: 'Joinup: Modification of a release of your solution has been requested'
     format: full_html
   -
-    value: '<p>the Joinup moderation team requires editing the release @entity:title, @entity:release_number of the solution @group:title due to @transition:motivation.</p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>the Joinup moderation team requires editing the release @entity:title, @entity:release_number of the solution @group:title due to @transition:motivation.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_propose_changes.yml b/config/sync/message.template.sol_propose_changes.yml
index ee0973db2b..42f0152365 100644
--- a/config/sync/message.template.sol_propose_changes.yml
+++ b/config/sync/message.template.sol_propose_changes.yml
@@ -14,7 +14,7 @@ text:
     value: 'Joinup: Changes have been proposed for your solution'
     format: full_html
   -
-    value: '<p>@actor:full_name has requested you to modify the interoperability solution "@entity:title", with the following motivation: @transition:motivation.</p><p>Your content has been moved back in proposed state and you can update it and request a new publication.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has requested you to modify the interoperability solution "@entity:title", with the following motivation: @transition:motivation.</p><p>Your content has been moved back in proposed state and you can update it and request a new publication.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_propose_new.yml b/config/sync/message.template.sol_propose_new.yml
index 709055e8b5..5079682ac7 100644
--- a/config/sync/message.template.sol_propose_new.yml
+++ b/config/sync/message.template.sol_propose_new.yml
@@ -14,7 +14,7 @@ text:
     value: 'Joinup: A new solution has been proposed'
     format: full_html
   -
-    value: '<p>@actor:full_name has proposed a new Interoperability solution: "@entity:title" on Joinup.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has proposed a new Interoperability solution: "@entity:title" on Joinup.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_propose_requested_changes.yml b/config/sync/message.template.sol_propose_requested_changes.yml
index 56fd0d80f2..e3a904dd74 100644
--- a/config/sync/message.template.sol_propose_requested_changes.yml
+++ b/config/sync/message.template.sol_propose_requested_changes.yml
@@ -14,7 +14,7 @@ text:
     value: 'Joinup: An update of a solution has been proposed'
     format: full_html
   -
-    value: '<p>@actor:full_name has proposed an update of the Interoperability solution: "@entity:title" on Joinup.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has proposed an update of the Interoperability solution: "@entity:title" on Joinup.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_request_changes.yml b/config/sync/message.template.sol_request_changes.yml
index a5d41cbc30..3792ac2409 100644
--- a/config/sync/message.template.sol_request_changes.yml
+++ b/config/sync/message.template.sol_request_changes.yml
@@ -14,7 +14,7 @@ text:
     value: 'Joinup: You are requested to update your solution'
     format: full_html
   -
-    value: '<p>the moderator has requested you to modify the interoperability solution - @entity:title following the following advises: @transition:motivation.</p><p>Your content has been moved back in needs updates state and you can update it and request a new publication.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>the moderator has requested you to modify the interoperability solution - @entity:title following the following advises: @transition:motivation.</p><p>Your content has been moved back in needs updates state and you can update it and request a new publication.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.solution_content_archive.yml b/config/sync/message.template.solution_content_archive.yml
index 358fb54527..947151b420 100644
--- a/config/sync/message.template.solution_content_archive.yml
+++ b/config/sync/message.template.solution_content_archive.yml
@@ -15,7 +15,7 @@ text:
     value: |-
       <p>The <em>@entity:title</em>, along with its associated content items, has been archived. Even though the Solution has been archived, you can still access its pages through the Advanced Search page by selecting 'Show only Archived items' or through the Collection it belonged to.</p>
 
-      <p>If you think this action is not clear, please contact Joinup Support at <a href="@site:contact_url">@site:contact_url</a></p>
+      <p>If you think this action is not clear, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a></p>
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/metatag.metatag_defaults.node__discussion.yml b/config/sync/metatag.metatag_defaults.node__discussion.yml
index 9b0a804cd9..9e7d29c6e7 100644
--- a/config/sync/metatag.metatag_defaults.node__discussion.yml
+++ b/config/sync/metatag.metatag_defaults.node__discussion.yml
@@ -13,7 +13,7 @@ tags:
   schema_social_media_posting_is_accessible_for_free: 'True'
   schema_social_media_posting_date_modified: '[node:changed:html_datetime]'
   schema_social_media_posting_headline: '[node:title]'
-  schema_social_media_posting_image: 'a:2:{s:5:"@type";s:11:"ImageObject";s:3:"url";s:120:"https://joinup.ec.europa.eu/sites/default/files/styles/logo/public/collection/logo/2019-04/190404-logo-JOINUP-blue-2.png";}'
+  schema_social_media_posting_image: 'a:2:{s:5:"@type";s:11:"ImageObject";s:3:"url";s:120:"https://interoperable-europe.ec.europa.eu/sites/default/files/styles/logo/public/collection/logo/2019-04/190404-logo-JOINUP-blue-2.png";}'
   schema_social_media_posting_author: 'a:4:{s:5:"@type";s:6:"Person";s:3:"@id";s:17:"[node:author:url]";s:4:"name";s:26:"[node:author:display-name]";s:3:"url";s:17:"[node:author:url]";}'
   schema_social_media_posting_name: '[node:title]'
   schema_social_media_posting_about: '[node:field_keywords]'
diff --git a/config/sync/user.mail.yml b/config/sync/user.mail.yml
index 7e1b070e9e..3a8e5c134a 100644
--- a/config/sync/user.mail.yml
+++ b/config/sync/user.mail.yml
@@ -16,7 +16,7 @@ cancel_confirm:
 
     Kind regards,
 
-    The Joinup Support Team
+    The Portal Support Team
 password_reset:
   subject: 'Please confirm the request of a new password.'
   body: |-
@@ -30,21 +30,21 @@ password_reset:
 
     Kind regards,
 
-    The Joinup Support Team
+    The Portal Support Team
 register_admin_created:
   subject: 'Your Joinup account was created successfully.'
   body: |-
     Dear [user:field_user_first_name],
 
-    The Joinup Support Team created your account on Joinup.
+    The Portal Support Team created your account on Joinup.
     Please log in through the following link in order to set your password.
     <a href="[user:one-time-login-url]">[user:one-time-login-url]</a>
 
-    In case you think this action is not due, please contact the <a href="[site:contact-form]">Joinup Support Team</a>.
+    In case you think this action is not due, please contact the <a href="[site:contact-form]">Portal Support Team</a>.
 
     Kind regards,
 
-    The Joinup Support Team
+    The Portal Support Team
 register_no_approval_required:
   subject: "You're one step away to create your Joinup account. Please confirm your email address before you can sign in to Joinup."
   body: |-
@@ -58,7 +58,7 @@ register_no_approval_required:
 
     Kind regards,
 
-    The Joinup Support Team
+    The Portal Support Team
 register_pending_approval:
   subject: 'Your [site:name] account is pending approval.'
   body: |-
@@ -68,7 +68,7 @@ register_pending_approval:
 
     Kind regards,
 
-    The Joinup Support Team.
+    The Portal Support Team.
 register_pending_approval_admin:
   subject: 'Account details for [user:display-name] at [site:name] (pending admin approval)'
   body: |-
@@ -115,14 +115,14 @@ status_blocked:
 
     Kind regards,
 
-    The Joinup Support Team.
+    The Portal Support Team.
 status_canceled:
   subject: 'Your account has been deleted.'
   body: |-
     Dear Joinup user,
 
-    Your account [user:account-name] has been deleted.@joinup_user:moderation_text If you believe that this action has been performed by mistake, please contact The Joinup Support Team at <a href="[site:contact-form]">[site:contact-form]</a>.
+    Your account [user:account-name] has been deleted.@joinup_user:moderation_text If you believe that this action has been performed by mistake, please contact The Portal Support Team at <a href="[site:contact-form]">[site:contact-form]</a>.
 
     Kind regards,
 
-    The Joinup Support Team
\ No newline at end of file
+    The Portal Support Team
diff --git a/docs/agreement.md b/docs/agreement.md
index 4645f917b7..4f000885f2 100644
--- a/docs/agreement.md
+++ b/docs/agreement.md
@@ -14,7 +14,7 @@ to it. The Agreement may cover more than one software project managed by Us.
 * "**Contribution**" means any work of authorship that is Submitted by You to Us in
   which You own or assert ownership of the Copyright. If You do not own the
   Copyright in the entire work of authorship, please contact Joinup legal
-  support through the form in https://joinup.ec.europa.eu/contact.
+  support through the form in https://interoperable-europe.ec.europa.eu/contact.
 * "**Copyright**" means all rights protecting works of authorship owned or
   controlled by You, including copyright, moral and neighboring rights, as
   appropriate, for the full term of their existence including any extensions by
@@ -118,7 +118,7 @@ You confirm that:
 __(a)__ You have the legal authority to enter into this Agreement.
 __(b)__ You own the Copyright and patent claims covering the Contribution which are required to grant the rights under Section 2.
 __(c)__ The grant of rights under Section 2 does not violate any grant of rights which You have made to third parties, including Your employer. If You are an employee, You have had Your employer approve this Agreement or sign the Entity version of this document. If You are less than eighteen years old, please have Your parents or guardian sign the Agreement.
-__(d)__ You have contacted Joinup legal support https://joinup.ec.europa.eu/contact, if You do not own the Copyright in the entire work of authorship Submitted.
+__(d)__ You have contacted Joinup legal support https://interoperable-europe.ec.europa.eu/contact, if You do not own the Copyright in the entire work of authorship Submitted.
 
 ## 4. Disclaimer
 
diff --git a/docs/code_of_conduct.md b/docs/code_of_conduct.md
index 8edf28b596..05523205f7 100644
--- a/docs/code_of_conduct.md
+++ b/docs/code_of_conduct.md
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
 ## Enforcement
 
 Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting the project team through [the contact form](https://joinup.ec.europa.eu/contact). All
+reported by contacting the project team through [the contact form](https://interoperable-europe.ec.europa.eu/contact). All
 complaints will be reviewed and investigated and will result in a response that
 is deemed necessary and appropriate to the circumstances. The project team is
 obligated to maintain confidentiality with regard to the reporter of an incident.
diff --git a/docs/contributing.md b/docs/contributing.md
index 4765a4ea4d..fd6f093d01 100644
--- a/docs/contributing.md
+++ b/docs/contributing.md
@@ -13,7 +13,7 @@ Use the Github issue queue to get in touch! We'd like to hear about your plans.
 By submitting a pull request to the Joinup repository, you implicitly accept the conditions in the
  [Joinup Individual Contributor Assignment Agreement](agreement.md) as well as the  [code of conduct](code_of_conduct.md).
 
-The Joinup codebase is released under the [European Union Public Licence (EUPL)](https://joinup.ec.europa.eu/community/eupl/og_page/eupl).
+The Joinup codebase is released under the [European Union Public Licence (EUPL)](https://interoperable-europe.ec.europa.eu/community/eupl/og_page/eupl).
 
 ## How to contribute
 Contribution to Joinup is similar to most other projects on GitHub:
diff --git a/resources/runner/drupal.yml b/resources/runner/drupal.yml
index 74bb7f3835..35e647c653 100644
--- a/resources/runner/drupal.yml
+++ b/resources/runner/drupal.yml
@@ -391,6 +391,6 @@ drupal:
         $settings['eu_oss_catalogue']['platform_github']['access_token'] = getenv('JOINUP_GITHUB_TOKEN');
       Stage file proxy: |
         $config['stage_file_proxy.settings']['hotlink'] = TRUE;
-        $config['stage_file_proxy.settings']['origin'] = 'https://joinup.ec.europa.eu';
+        $config['stage_file_proxy.settings']['origin'] = 'https://interoperable-europe.ec.europa.eu';
         $config['stage_file_proxy.settings']['verify'] = FALSE;
         $config['stage_file_proxy.settings']['origin_dir'] = 'sites/default/files';
diff --git a/tests/features/collection/collection.member_administration.feature b/tests/features/collection/collection.member_administration.feature
index f757d8bb8b..79a921b027 100644
--- a/tests/features/collection/collection.member_administration.feature
+++ b/tests/features/collection/collection.member_administration.feature
@@ -46,7 +46,7 @@ Feature: Collection membership administration
     And the email sent to "Lisa Cuddy" with subject "Joinup: A user has requested to join your collection" contains the following lines of text:
       | Donald Duck has requested to join your collection "Medical diagnosis" as a member. |
       | To approve or reject this request, click on                                        |
-      | If you think this action is not clear or not due, please contact Joinup Support at |
+      | If you think this action is not clear or not due, please contact Portal Support at |
       | /collection/medical-diagnosis/members                                              |
     And the following email should have been sent:
       | recipient | Turkey Ham                                                                         |
@@ -93,7 +93,7 @@ Feature: Collection membership administration
     But the email sent to "Kathie Cumbershot" with subject "Joinup: Your request to join the collection Medical diagnosis was approved" should not contain the following lines of text:
       | You will receive weekly notifications for newly created content on this collection. |
       | To manage your notifications go to "My subscriptions" in the user menu.             |
-      | If you think this action is not clear or not due, please contact Joinup Support at  |
+      | If you think this action is not clear or not due, please contact Portal Support at  |
 
     # Check new privileges.
     When I am logged in as "Kathie Cumbershot"
@@ -128,7 +128,7 @@ Feature: Collection membership administration
       | Lisa Cuddy has approved your request to join and subscribe to the "Medical diagnosis" collection |
       | You will receive weekly notifications for newly created content on this collection.              |
       | To manage your notifications go to "My subscriptions" in the user menu.                          |
-      | If you think this action is not clear or not due, please contact Joinup Support at               |
+      | If you think this action is not clear or not due, please contact Portal Support at               |
 
     When I am logged in as "Cam Bridge"
     When I click the "My subscriptions" link from the email sent to "Cam Bridge"
diff --git a/tests/features/collection/notification.collection.feature b/tests/features/collection/notification.collection.feature
index 1e15e40d95..fee2632f19 100644
--- a/tests/features/collection/notification.collection.feature
+++ b/tests/features/collection/notification.collection.feature
@@ -80,7 +80,7 @@ Feature: Notification test for the collection transitions.
     Then the email sent to "NC moderator" with subject "User NC proposed collection NC proposed new" contains the following lines of text:
       | NC User has proposed collection "NC proposed new".                                 |
       | To approve or reject this proposal, please go to                                   |
-      | If you think this action is not clear or not due, please contact Joinup Support at |
+      | If you think this action is not clear or not due, please contact Portal Support at |
 
     # Clean up the manually created entities.
     Then I delete the "NC proposed new" collection
@@ -94,7 +94,7 @@ Feature: Notification test for the collection transitions.
     Then the email sent to "NC moderator" with subject "User NC proposed collection NC to propose" contains the following lines of text:
       | NC Owner has proposed collection "NC to propose".                                  |
       | To approve or reject this proposal, please go to                                   |
-      | If you think this action is not clear or not due, please contact Joinup Support at |
+      | If you think this action is not clear or not due, please contact Portal Support at |
 
     # Test 'request archival' operation.
     And I go to the homepage of the "NC to request archival" collection
@@ -103,7 +103,7 @@ Feature: Notification test for the collection transitions.
     Then the email sent to "NC moderator" with subject "User NC requested to archive collection NC to request archival" contains the following lines of text:
       | NC Owner has requested to archive the collection "NC to request archival".         |
       | To approve or reject this request, please go to                                    |
-      | If you think this action is not clear or not due, please contact Joinup Support at |
+      | If you think this action is not clear or not due, please contact Portal Support at |
 
     # Test deletion of a collection by the owner.
     When I mark all emails as read
diff --git a/tests/features/comments/add_comment.feature b/tests/features/comments/add_comment.feature
index 120f4ff9aa..7f3a83cf63 100644
--- a/tests/features/comments/add_comment.feature
+++ b/tests/features/comments/add_comment.feature
@@ -53,20 +53,20 @@ Feature: Add comments
     And the email sent to "Comment moderator" with subject "Joinup: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Joinup Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     And the email sent to "Layonel Sarok" with subject "Joinup: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Joinup Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     And the email sent to "Korma Salya" with subject "Joinup: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Joinup Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     # Owner receives an email.
     And the email sent to "Salma Coster" with subject "Joinup: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Joinup Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
 
     # Verify the anchored link works properly.
     When I am logged in as "Comment moderator"
@@ -84,7 +84,7 @@ Feature: Add comments
     And the email sent to "Miss tell tales" with subject "Joinup: A new comment has been created." contains the following lines of text:
       | Salma Coster posted a comment in <parent> "<parent title>".                             |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Joinup Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     # The owner of the content does not receive a notification due to being the actor.
     And the following email should not have been sent:
       | recipient | Salma Coster                            |
@@ -141,20 +141,20 @@ Feature: Add comments
     And the email sent to "Comment moderator" with subject "Joinup: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Joinup Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     And the email sent to "Layonel Sarok" with subject "Joinup: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Joinup Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     And the email sent to "Korma Salya" with subject "Joinup: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Joinup Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     # Owner receives an email.
     And the email sent to "Salma Coster" with subject "Joinup: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Joinup Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
 
     # Verify the anchored link works properly.
     When I am logged in as "Comment moderator"
@@ -172,7 +172,7 @@ Feature: Add comments
     And the email sent to "Miss tell tales" with subject "Joinup: A new comment has been created." contains the following lines of text:
       | Salma Coster posted a comment in <parent> "<parent title>".                             |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Joinup Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     # The owner of the content does not receive a notification due to being the actor.
     And the following email should not have been sent:
       | recipient | Salma Coster                            |
diff --git a/tests/features/comments/edit_comment.feature b/tests/features/comments/edit_comment.feature
index 163ac762db..6ae3174548 100644
--- a/tests/features/comments/edit_comment.feature
+++ b/tests/features/comments/edit_comment.feature
@@ -26,4 +26,4 @@ Feature: Edit a comment
     And I press "Post comment"
     Then the email sent to "Comment edit moderator" with subject "Joinup: A comment has been updated." contains the following lines of text:
       | Sons Anarchy updated the comment in "Paying with cash".                            |
-      | If you think this action is not clear or not due, please contact Joinup Support at |
+      | If you think this action is not clear or not due, please contact Portal Support at |
diff --git a/tests/features/community_content/notification.post_moderated.news.feature b/tests/features/community_content/notification.post_moderated.news.feature
index ed260fbd7b..5778913ac6 100644
--- a/tests/features/community_content/notification.post_moderated.news.feature
+++ b/tests/features/community_content/notification.post_moderated.news.feature
@@ -64,7 +64,7 @@ Feature: Notification test for the news transitions on a post moderated parent.
     And I press "Request changes"
     Then the email sent to "CC member" with subject "Joinup: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN post request changes" in the collection: "CC post collection", with the following motivation: "Can you do some changes?". |
-      | If you think this action is not clear or not due, please contact Joinup Support at                                                                                                                    |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                                    |
 
     When I am logged in as "CC facilitator"
     And I go to the "CCN post report" news
@@ -75,7 +75,7 @@ Feature: Notification test for the news transitions on a post moderated parent.
     And I press "Request changes"
     Then the email sent to "CC member" with subject "Joinup: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN post report" in the collection: "CC post collection", with the following motivation: "Your content is reported". |
-      | If you think this action is not clear or not due, please contact Joinup Support at                                                                                                           |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                           |
 
     When I am logged in as "CC facilitator"
     And I go to the "CCN post approve proposed" news
diff --git a/tests/features/community_content/notification.pre_moderated.news.feature b/tests/features/community_content/notification.pre_moderated.news.feature
index c22d4977c0..99e92497b4 100644
--- a/tests/features/community_content/notification.pre_moderated.news.feature
+++ b/tests/features/community_content/notification.pre_moderated.news.feature
@@ -49,7 +49,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Propose"
     Then the email sent to "CC owner" with subject "Joinup: Content has been proposed" contains the following lines of text:
       | CC Member has submitted a new news - "CCN create propose" for publication in the collection: "CC pre collection". |
-      | If you think this action is not clear or not due, please contact Joinup Support at                                |
+      | If you think this action is not clear or not due, please contact Portal Support at                                |
 
     # Regression test for proposing an item with a published version.
     When I am logged in as "CC facilitator"
@@ -68,7 +68,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
       | body      | CC Member has submitted an update of the news - "CCN create propose" for publication in the collection: "CC pre collection". |
     And the email sent to "CC owner" with subject "Joinup: Content has been proposed" contains the following lines of text:
       | CC Member has submitted an update of the news - "CCN create propose" for publication in the collection: "CC pre collection". |
-      | If you think this action is not clear or not due, please contact Joinup Support at                                           |
+      | If you think this action is not clear or not due, please contact Portal Support at                                           |
 
     When I am logged in as "CC facilitator"
     And I go to the "CC pre collection" collection
@@ -93,14 +93,14 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Propose"
     Then the email sent to "CC owner" with subject "Joinup: Content has been proposed" contains the following lines of text:
       | CC Member has submitted a new news - "CCN pre propose" for publication in the collection: "CC pre collection". |
-      | If you think this action is not clear or not due, please contact Joinup Support at                             |
+      | If you think this action is not clear or not due, please contact Portal Support at                             |
 
     When I go to the "CCN pre propose from reported" news
     And I click "Edit" in the "Entity actions" region
     And I press "Propose"
     Then the email sent to "CC owner" with subject "Joinup: Content has been updated" contains the following lines of text:
       | CC Member has updated the content of the news - "CCN pre propose from reported" as advised and requests again its publication in the collection: "CC pre collection". |
-      | If you think this action is not clear or not due, please contact Joinup Support at                                                                                    |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                    |
 
     When I go to the "CCN pre request deletion" news
     And I click "Edit" in the "Entity actions" region
@@ -110,7 +110,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Request deletion"
     Then the email sent to "CC owner" with subject "Joinup: Content has been updated" contains the following lines of text:
       | CC Member has requested to delete the news - "CCN pre request deletion" in the collection: "CC pre collection", with the following motivation: "I just want to delete it.". |
-      | If you think this action is not clear or not due, please contact Joinup Support at                                                                                          |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                          |
 
     When I go to the "CCN published to revise" news
     And I click "Edit" in the "Entity actions" region
@@ -138,7 +138,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Request changes"
     Then the email sent to "CC member" with subject "Joinup: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN pre request changes" in the collection: "CC pre collection", with the following motivation: "Can you do some changes?". |
-      | If you think this action is not clear or not due, please contact Joinup Support at                                                                                                                  |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                                  |
     But the following email should not have been sent:
       | recipient | CC owner                                                                                                                               |
       | subject   | Joinup: Content has been proposed                                                                                                      |
@@ -153,7 +153,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Request changes"
     Then the email sent to "CC member" with subject "Joinup: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN pre report" in the collection: "CC pre collection", with the following motivation: "Your content is reported". |
-      | If you think this action is not clear or not due, please contact Joinup Support at                                                                                                         |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                         |
 
     When I am logged in as "CC facilitator"
     And I go to the "CCN pre approve proposed" news
diff --git a/tests/features/contact_form/submit_contact_form.feature b/tests/features/contact_form/submit_contact_form.feature
index 8bffd1bd2f..dd0e7a5155 100644
--- a/tests/features/contact_form/submit_contact_form.feature
+++ b/tests/features/contact_form/submit_contact_form.feature
@@ -14,7 +14,7 @@ Feature: Submit the contact form
     # There should be a link to the contact form in the footer.
     Given I am not logged in
     When I visit "/?destination=collections"
-    And I click "Contact Joinup Support" in the "Footer" region
+    And I click "Contact Portal Support" in the "Footer" region
     And I should see the heading "Contact"
     And the "Category" select should contain the following options:
       | - Select a value -             |
@@ -40,7 +40,7 @@ Feature: Submit the contact form
     Then I should be on "collections"
 
     And I am on the homepage
-    When I click "Contact Joinup Support" in the "Footer" region
+    When I click "Contact Portal Support" in the "Footer" region
     And I fill in the following:
       | First name     | Oswine                      |
       | Last name      | Wulfric                     |
diff --git a/tests/features/footer.feature b/tests/features/footer.feature
index 6c6638a779..79243eaa0c 100644
--- a/tests/features/footer.feature
+++ b/tests/features/footer.feature
@@ -29,19 +29,19 @@ Feature: Footer
     And I press "Save"
     Then I should see the success message "Menu Help and support has been updated."
 
-    Then I uncheck the "Enable Contact Joinup Support" row
+    Then I uncheck the "Enable Contact Portal Support" row
     And I press "Save"
 
     Given I am an anonymous user
     And I am on the homepage
     Then I should not see the link "Frequently Asked Questions (FAQ)"
-    Then I should not see the link "Contact Joinup Support"
+    Then I should not see the link "Contact Portal Support"
     And I should see the link "Take a tour"
 
     Then I click "advanced search"
     And I should be on the advanced search page
     Then I should not see the link "Frequently Asked Questions (FAQ)"
-    Then I should not see the link "Contact Joinup Support"
+    Then I should not see the link "Contact Portal Support"
     And I should not see the text "Take a tour"
 
     # Re-enable the Frequently Asked Questions (FAQ) menu link.
@@ -49,9 +49,9 @@ Feature: Footer
     When I click "Menus"
     And I click "List links" in the "Help and support" row
     Then I check the "Enable Frequently Asked Questions (FAQ)" row
-    Then I check the "Enable Contact Joinup Support" row
+    Then I check the "Enable Contact Portal Support" row
     And I press "Save"
 
     And I am on the homepage
     Then I should see the link "Frequently Asked Questions (FAQ)"
-    Then I should see the link "Contact Joinup Support"
+    Then I should see the link "Contact Portal Support"
diff --git a/tests/features/joinup_core/page_access.feature b/tests/features/joinup_core/page_access.feature
index 47fd051767..e9e001490a 100644
--- a/tests/features/joinup_core/page_access.feature
+++ b/tests/features/joinup_core/page_access.feature
@@ -20,5 +20,5 @@ Feature:
 
   @api
   Scenario: Accessing the external URL as path should raise a 404.
-    When I go to "/https://joinup.ec.europa.eu/security.txt"
+    When I go to "/https://interoperable-europe.ec.europa.eu/security.txt"
     Then I should see the heading "Not Found"
diff --git a/tests/features/joinup_core/transfer_group_ownership.feature b/tests/features/joinup_core/transfer_group_ownership.feature
index ad7ac7f374..c483a48152 100644
--- a/tests/features/joinup_core/transfer_group_ownership.feature
+++ b/tests/features/joinup_core/transfer_group_ownership.feature
@@ -87,11 +87,11 @@ Feature: As a group (collection or solution) owner or site moderator
 
     Examples:
       | user  | option exists | type       | type capitalized | title                       | full name               | user name            |
-      | happy | contain       | collection | Collection       | Intensive Language Learning | The Joinup Support Team | Saga Þórirsdóttir    |
-      | light | contain       | collection | Collection       | Intensive Language Learning | The Joinup Support Team | Bjartur Jóhannsson   |
+      | happy | contain       | collection | Collection       | Intensive Language Learning | The Portal Support Team | Saga Þórirsdóttir    |
+      | light | contain       | collection | Collection       | Intensive Language Learning | The Portal Support Team | Bjartur Jóhannsson   |
       | cruel | not contain   | collection | Collection       | Intensive Language Learning | Finnur Robertsson       | Finnur Robertsson    |
-      | happy | contain       | solution   | Solution         | Learn German in 1 Month     | The Joinup Support Team | Saga Þórirsdóttir    |
-      | light | contain       | solution   | Solution         | Learn German in 1 Month     | The Joinup Support Team | Bjartur Jóhannsson   |
+      | happy | contain       | solution   | Solution         | Learn German in 1 Month     | The Portal Support Team | Saga Þórirsdóttir    |
+      | light | contain       | solution   | Solution         | Learn German in 1 Month     | The Portal Support Team | Bjartur Jóhannsson   |
       | cruel | not contain   | solution   | Solution         | Learn German in 1 Month     | Finnur Robertsson       | Finnur Robertsson    |
 
   Scenario Outline: Group facilitators do not have access to transfer ownership.
diff --git a/tests/features/joinup_event/add_event.collection.feature b/tests/features/joinup_event/add_event.collection.feature
index 3d244d1198..1cdbac7de7 100644
--- a/tests/features/joinup_event/add_event.collection.feature
+++ b/tests/features/joinup_event/add_event.collection.feature
@@ -83,7 +83,7 @@ Feature: "Add event" visibility options.
     When I fill in "Physical location" with "Rue Belliard 28, Brussels, Belgium"
     And I enter the following for the "Virtual location" link field:
       | URL                          | Title           |
-      | https://joinup.ec.europa.eu/ | Joinup homepage |
+      | https://interoperable-europe.ec.europa.eu/ | Joinup homepage |
       | https://drupal.org/          |                 |
     And I select "EU and European Policies" from "Topic"
     And I press "Save as draft"
diff --git a/tests/features/joinup_release/release.moderation.feature b/tests/features/joinup_release/release.moderation.feature
index f03e005c68..a5796cbb94 100644
--- a/tests/features/joinup_release/release.moderation.feature
+++ b/tests/features/joinup_release/release.moderation.feature
@@ -110,7 +110,7 @@ Feature: Asset release moderation
     Then I should see the text "Release of the dark ship v1" in the "Page title" region
     And the email sent to "Bonnie Holloway" with subject "Joinup: Modification of a release of your solution has been requested" contains the following lines of text:
       | the Joinup moderation team requires editing the release Release, v1 of the solution Dark Ship due to I don't like it. |
-      | If you think this action is not clear or not due, please contact Joinup Support at                                    |
+      | If you think this action is not clear or not due, please contact Portal Support at                                    |
     And the following email should have been sent:
       | recipient | Felix Russell                                                                                                         |
       | subject   | Joinup: Modification of a release of your solution has been requested                                                 |
diff --git a/tests/features/joinup_seo/discussion.feature b/tests/features/joinup_seo/discussion.feature
index 21701fbf38..232d51e7f3 100644
--- a/tests/features/joinup_seo/discussion.feature
+++ b/tests/features/joinup_seo/discussion.feature
@@ -40,7 +40,7 @@ Feature: SEO for discussion forum posts.
       | @type    | http://schema.org/ImageObject                                                                                            |
       # Discussions don't have an image field but an image is required by google. Add the Joinup logo as the image of
       # all discussions.
-      | url      | https://joinup.ec.europa.eu/sites/default/files/styles/logo/public/collection/logo/2019-04/190404-logo-JOINUP-blue-2.png |
+      | url      | https://interoperable-europe.ec.europa.eu/sites/default/files/styles/logo/public/collection/logo/2019-04/190404-logo-JOINUP-blue-2.png |
     # The index is the delta in the field attachment, with 0 meaning the first of the values.
     And the metatag graph of the item with "name" "Discussions are now forum posts" should have the following "sharedContent" properties in index 0:
       | property | value                                                    |
diff --git a/tests/features/joinup_subscription/community.content.subscriptions.feature b/tests/features/joinup_subscription/community.content.subscriptions.feature
index 1e377ee739..c2d3e227fe 100644
--- a/tests/features/joinup_subscription/community.content.subscriptions.feature
+++ b/tests/features/joinup_subscription/community.content.subscriptions.feature
@@ -110,6 +110,6 @@ Feature: Subscribing to community content in collections and solutions
       | Marginally trapped                                                       |
       | Read more                                                                |
       | Kind regards,                                                            |
-      | The Joinup Support Team                                                  |
+      | The Portal Support Team                                                  |
       | You received this email because you opted in for Joinup digest messages. |
       | Manage your subscription notifications or unsubscribe from all.          |
diff --git a/tests/features/machine_translation.feature b/tests/features/machine_translation.feature
index 5e3131c841..9de9a2375e 100644
--- a/tests/features/machine_translation.feature
+++ b/tests/features/machine_translation.feature
@@ -102,5 +102,5 @@ Feature: Machine translation
     Then I should not see any Webtools eTrans elements
 
     # Pages that are not content focused should not be translatable.
-    When I click "Contact Joinup Support" in the "Footer" region
+    When I click "Contact Portal Support" in the "Footer" region
     Then I should not see any Webtools eTrans elements
diff --git a/tests/features/menus/support_menu.feature b/tests/features/menus/support_menu.feature
index 3be92f744e..1852c01531 100644
--- a/tests/features/menus/support_menu.feature
+++ b/tests/features/menus/support_menu.feature
@@ -45,8 +45,8 @@ Feature:
 
     When I am on the homepage
     Then I should <homepage expectation> the link "Take a tour" in the "Footer"
-    And I should see the link "Contact Joinup Support"
-    Then I click "Contact Joinup Support"
+    And I should see the link "Contact Portal Support"
+    Then I click "Contact Portal Support"
     And I fill in the following:
       | First name     | Rufus                       |
       | Last name      | Modric                      |
@@ -60,8 +60,8 @@ Feature:
 
     When I visit the collection overview page
     Then I should not see the link "Take a tour"
-    But I should see the link "Contact Joinup Support"
-    When I click "Contact Joinup Support"
+    But I should see the link "Contact Portal Support"
+    When I click "Contact Portal Support"
     And I fill in the following:
       | First name     | Oswine                      |
       | Last name      | Wulfric                     |
@@ -75,8 +75,8 @@ Feature:
 
     When I visit the content overview page
     Then I should see the link "Take a tour"
-    And I should see the link "Contact Joinup Support"
-    When I click "Contact Joinup Support"
+    And I should see the link "Contact Portal Support"
+    When I click "Contact Portal Support"
     And I fill in the following:
       | First name     | Roscof                      |
       | Last name      | Vulvric                     |
@@ -90,11 +90,11 @@ Feature:
 
     When I go to the homepage of the "Hotel California" collection
     Then I should see the link "Take a tour"
-    And I should see the link "Contact Joinup Support"
+    And I should see the link "Contact Portal Support"
 
     When I go to "/user"
     Then I should <user page expectation> the link "Take a tour"
-    And I should see the link "Contact Joinup Support"
+    And I should see the link "Contact Portal Support"
 
     Examples:
       | role                                 | user page expectation | homepage expectation |
@@ -126,12 +126,12 @@ Feature:
     When I click "Edit" in the "Take a tour" row
     Then I should see the heading "Edit menu link Take a tour"
     When I move backward one page
-    And I click "Edit" in the "Contact Joinup Support" row
-    Then I should see the heading "Edit menu link Contact Joinup Support"
+    And I click "Edit" in the "Contact Portal Support" row
+    Then I should see the heading "Edit menu link Contact Portal Support"
 
     Given I am an anonymous user
     And I am on the homepage
-    Then I should see the link "Contact Joinup Support"
+    Then I should see the link "Contact Portal Support"
     And I should see "Arbitrary support menu link"
     # Tour has been disabled.
     But I should not see the link "Take a tour"
@@ -158,7 +158,7 @@ Feature:
 
     Given I am an anonymous user
     When I am on the homepage
-    Then I should see the link "Contact Joinup Support"
+    Then I should see the link "Contact Portal Support"
     # The custom link has been deleted.
     But I should not see "Arbitrary support menu link"
     # Tour has been re-enabled.
diff --git a/tests/features/moderator/message_overview.feature b/tests/features/moderator/message_overview.feature
index fb55e32ec7..e2b8e100b4 100644
--- a/tests/features/moderator/message_overview.feature
+++ b/tests/features/moderator/message_overview.feature
@@ -7,7 +7,7 @@ Feature: Solutions message overview
   Scenario: Contact form messages are available in the message overview.
     And I am not logged in
     When I am on the homepage
-    And I click "Contact Joinup Support" in the "Footer" region
+    And I click "Contact Portal Support" in the "Footer" region
     Then I should see the heading "Contact"
 
     When I fill in the following:
@@ -67,7 +67,7 @@ Feature: Solutions message overview
       | To approve or reject this proposal, please go to                                   |
       | You'll be able to provide feedback.                                                |
       | The requestor will be notified of your decision and feedback.                      |
-      | If you think this action is not clear or not due, please contact Joinup Support at |
+      | If you think this action is not clear or not due, please contact Portal Support at |
 
     # Clean up the collection that was created.
     And I delete the "Message overview proposal" collection
diff --git a/tests/features/solution/add_solution.feature b/tests/features/solution/add_solution.feature
index 806602fb6c..dd5b0dd311 100644
--- a/tests/features/solution/add_solution.feature
+++ b/tests/features/solution/add_solution.feature
@@ -108,7 +108,7 @@ Feature: "Add solution" visibility options.
     And I press "Propose"
     Then the email sent to "Ruth Lee" with subject "Joinup: A new solution has been proposed" contains the following lines of text:
       | Wendell Silva has proposed a new Interoperability solution: "Espresso is the solution" on Joinup. |
-      | If you think this action is not clear or not due, please contact Joinup Support at                |
+      | If you think this action is not clear or not due, please contact Portal Support at                |
     And I should see "Thank you for proposing a solution. Your request is currently pending approval by the site administrator."
     And Log entry with the message "A new solution entity titled Espresso is the solution has been created by Wendell Silva in Belgian barista's." should exist.
 
diff --git a/tests/features/solution/manage_solutions.archive.feature b/tests/features/solution/manage_solutions.archive.feature
index ce87a501b7..28619e2cf0 100644
--- a/tests/features/solution/manage_solutions.archive.feature
+++ b/tests/features/solution/manage_solutions.archive.feature
@@ -117,7 +117,7 @@ Feature: When a solution is archived then its sub-content also should be archive
       | archived. Even though the Solution has been archived, you can still  |
       | access its pages through the Advanced Search page by selecting 'Show |
       | only Archived items' or through the Collection it belonged to.       |
-      | If you think this action is not clear, please contact Joinup Support |
+      | If you think this action is not clear, please contact Portal Support |
       | at                                                                   |
     # The email sent to Liam (the contact person of the solution) won't contain
     # the "Dear Liam," greeting since Liam does not have a user account on
@@ -127,7 +127,7 @@ Feature: When a solution is archived then its sub-content also should be archive
       | archived. Even though the Solution has been archived, you can still  |
       | access its pages through the Advanced Search page by selecting 'Show |
       | only Archived items' or through the Collection it belonged to.       |
-      | If you think this action is not clear, please contact Joinup Support |
+      | If you think this action is not clear, please contact Portal Support |
       | at                                                                   |
 
     When I go to the homepage of the "Solution" solution
diff --git a/tests/features/solution/solution.notifications.feature b/tests/features/solution/solution.notifications.feature
index edd31a3b7f..c82b6d7176 100644
--- a/tests/features/solution/solution.notifications.feature
+++ b/tests/features/solution/solution.notifications.feature
@@ -44,8 +44,8 @@ Feature: Solution notifications
     When I fill in "Motivation" with "Please, check my updates"
     And I press "Propose"
     Then the email sent to "Ramiro Myers" with subject "Joinup: Changes have been proposed for your solution" contains the following lines of text:
-      | The Joinup Support Team has requested you to modify the interoperability solution "Solution notification to propose changes", with the following motivation: Please, check my updates. |
-      | If you think this action is not clear or not due, please contact Joinup Support at                                                                                                     |
+      | The Portal Support Team has requested you to modify the interoperability solution "Solution notification to propose changes", with the following motivation: Please, check my updates. |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                     |
 
     # Template 13. The moderation team blacklists a solution.
     When I go to the homepage of the "Solution notification to blacklist" solution
@@ -80,7 +80,7 @@ Feature: Solution notifications
       | bcc       | pat.harper@example.com,jack.harper@example.com                                                                                                                            |
     And the email sent to "Ramiro Myers" with subject "Joinup: You are requested to update your solution" contains the following lines of text:
       | the moderator has requested you to modify the interoperability solution - Solution notification to request changes following the following advises: Can you change this?. |
-      | If you think this action is not clear or not due, please contact Joinup Support at                                                                                        |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                        |
 
     # Template 18. The moderation team deletes a solution without prior request.
     When I go to the homepage of the "Solution notification to delete by moderator team" solution
@@ -100,7 +100,7 @@ Feature: Solution notifications
     And I press "Propose"
     Then the email sent to "Pat Harper" with subject "Joinup: An update of a solution has been proposed" contains the following lines of text:
       | Ramiro Myers has proposed an update of the Interoperability solution: "Solution notification to propose from request changes" on Joinup. |
-      | If you think this action is not clear or not due, please contact Joinup Support at                                                       |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                       |
 
     # The owner deletes their own solution. No email should be sent to the owner
     # since we do not send notifications to the actor.
diff --git a/tests/features/update/update-ISAICP-9083.feature b/tests/features/update/update-ISAICP-9083.feature
index df2839c783..2da416ce0b 100644
--- a/tests/features/update/update-ISAICP-9083.feature
+++ b/tests/features/update/update-ISAICP-9083.feature
@@ -301,13 +301,13 @@ Feature: Validate the migration from video_embed_field to media core (oembed).
       #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | demo_iframe.htm                                                                                                                                                                                                                                                                                                                                                                                                                |
       #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/Rk8dCnKIfP4&lang=en                                                                                                                                                                                                                                                                                                                              |
       #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//web.jrc.ec.europa.eu/dashboard/AI_WATCH_LANDSCAPE/index.html&lang=en                                                                                                                                                                                                                                                                                                   |
-      #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//joinup.ec.europa.eu/&lang=en                                                                                                                                                                                                                                                                                                                                           |
+      #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//interoperable-europe.ec.europa.eu/&lang=en                                                                                                                                                                                                                                                                                                                                           |
       #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//app.powerbi.com/view%3Fr%3DeyJrIjoiM2FlOWZjYTMtMzkzMC00NzE3LTlmNTMtZGQ3YTdhYzU1MGI0IiwidCI6ImIyNGM4YjA2LTUyMmMtNDZmZS05MDgwLTcwOTI2ZjhkZGRiMSIsImMiOjh9&lang=en                                                                                                                                                                                                        |
       #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//app.powerbi.com/reportEmbed%3FreportId%3Dd92ff3a1-73db-4f6c-9048-f319cfc28ddb%26autoAuth%3Dtrue%26ctid%3Db24c8b06-522c-46fe-9080-70926f8dddb1%26config%3DeyJjbHVzdGVyVXJsIjoiaHR0cHM6Ly93YWJpLWV1cm9wZS1ub3J0aC1iLXJlZGlyZWN0LmFuYWx5c2lzLndpbmRvd3MubmV0LyJ9&lang=en                                                                                                  |
       #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//flo.uri.sh/visualisation/5015342/embed&lang=en                                                                                                                                                                                                                                                                                                                         |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//joinup.ec.europa.eu/sites/default/files/custom-page/attachment/2020-08/SEMIC%2520Conference%25202019.pdf%20&lang=en                                                       |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//joinup.ec.europa.eu/sites/default/files/inline-files/SEMIC%202018%20Conference%20Highlights%20Report.pdf&lang=en                                                          |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//joinup.ec.europa.eu/sites/default/files/custom-page/attachment/2018-01/semic_highlights_report_final.pdf&lang=en                                                          |
+      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//interoperable-europe.ec.europa.eu/sites/default/files/custom-page/attachment/2020-08/SEMIC%2520Conference%25202019.pdf%20&lang=en                                                       |
+      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//interoperable-europe.ec.europa.eu/sites/default/files/inline-files/SEMIC%202018%20Conference%20Highlights%20Report.pdf&lang=en                                                          |
+      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//interoperable-europe.ec.europa.eu/sites/default/files/custom-page/attachment/2018-01/semic_highlights_report_final.pdf&lang=en                                                          |
       | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/xVWnBWWXIROImv&lang=en                                                                                                                |
       | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/FiS2P6zGZbqBbk&lang=en                                                                                                                |
       | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/4QZYbqSYvKa4FA&lang=en                                                                                                                |
diff --git a/tests/features/user/cancel.feature b/tests/features/user/cancel.feature
index d191b94408..9658a9931d 100644
--- a/tests/features/user/cancel.feature
+++ b/tests/features/user/cancel.feature
@@ -23,7 +23,7 @@ Feature:
     And the following email should have been sent:
       | recipient_mail | AliciaPotter@example.com                                                                                                                                                                                                                                            |
       | subject        | Your account has been deleted.                                                                                                                                                                                                                                      |
-      | body           | Your account alicia__1997 has been deleted. This action has been done in the framework of moderation activities regularly conducted on the Joinup platform. If you believe that this action has been performed by mistake, please contact The Joinup Support Team at |
+      | body           | Your account alicia__1997 has been deleted. This action has been done in the framework of moderation activities regularly conducted on the Joinup platform. If you believe that this action has been performed by mistake, please contact The Portal Support Team at |
     And 1 e-mail should have been sent
     And the "alicia__1997" user account is cancelled
     And the "Alicia Potter" table row doesn't contain a checkbox
@@ -58,7 +58,7 @@ Feature:
     And the following email should have been sent:
       | recipient_mail | AliciaPotter@example.com                                                                                                                                                                                                                                            |
       | subject        | Your account has been deleted.                                                                                                                                                                                                                                      |
-      | body           | Your account alicia__1997 has been deleted. This action has been done in the framework of moderation activities regularly conducted on the Joinup platform. If you believe that this action has been performed by mistake, please contact The Joinup Support Team at |
+      | body           | Your account alicia__1997 has been deleted. This action has been done in the framework of moderation activities regularly conducted on the Joinup platform. If you believe that this action has been performed by mistake, please contact The Portal Support Team at |
     # We cannot assert the number of emails because of created content that
     # sends messages to administrators and moderators. Depending on environment
     # the list of recipients might differ. That's why we're only asserting that
@@ -115,7 +115,7 @@ Feature:
     Then the following email should have been sent:
       | recipient_mail | AliciaPotter@example.com                                                                                 |
       | subject        | Your account has been deleted.                                                                           |
-      | body           | If you believe that this action has been performed by mistake, please contact The Joinup Support Team at |
+      | body           | If you believe that this action has been performed by mistake, please contact The Portal Support Team at |
     # We cannot assert the number of emails because of created content that
     # sends messages to administrators and moderators. Depending on environment
     # the list of recipients might differ. That's why we're only asserting that
diff --git a/tests/features/user/profile.feature b/tests/features/user/profile.feature
index 4b7d2da1dd..8365b326a4 100644
--- a/tests/features/user/profile.feature
+++ b/tests/features/user/profile.feature
@@ -93,7 +93,7 @@ Feature: User profile
     And I should see the success message "The user has been notified that their account has been updated."
     And the following email should have been sent:
       | recipient | Leonardo Da Vinci                                                                                         |
-      | subject   | The Joinup Support Team updated your account for you at Joinup                                            |
+      | subject   | The Portal Support Team updated your account for you at Joinup                                            |
       | body      | A moderator has edited your user profile on Joinup. Please check your profile to verify the changes done. |
 
   Scenario: The user public profile page shows the content he's author of or is member of.
diff --git a/tests/features/user/register.feature b/tests/features/user/register.feature
index 57ae553de8..83c2a0dd1a 100644
--- a/tests/features/user/register.feature
+++ b/tests/features/user/register.feature
@@ -24,7 +24,7 @@ Feature: User registration
     Then the following email should have been sent:
       | recipient | miomio                                                                                                                          |
       | subject   | Your Joinup account was created successfully.                                                                                   |
-      | body      | The Joinup Support Team created your account on Joinup. Please log in through the following link in order to set your password. |
+      | body      | The Portal Support Team created your account on Joinup. Please log in through the following link in order to set your password. |
     # Only the email about the creation of the account should be sent. This
     # check ensures that we do not accidentally trigger any other notifications.
     And 1 e-mail should have been sent
diff --git a/tests/features/user/roles.feature b/tests/features/user/roles.feature
index 57892ebe84..c84e533775 100644
--- a/tests/features/user/roles.feature
+++ b/tests/features/user/roles.feature
@@ -63,7 +63,7 @@ Feature: User role management
     And I should see the success message "The user has been notified that their account has been updated."
     And the following email should have been sent:
       | recipient | Nibby Noob                                                                                                |
-      | subject   | The Joinup Support Team updated your account for you at Joinup                                            |
+      | subject   | The Portal Support Team updated your account for you at Joinup                                            |
       | body      | A moderator has edited your user profile on Joinup. Please check your profile to verify the changes done. |
 
     Given I am on the homepage
@@ -97,7 +97,7 @@ Feature: User role management
     And I should see the success message "The user has been notified that their account has been updated."
     And the following email should have been sent:
       | recipient | Nibby Noob                                                                                                |
-      | subject   | The Joinup Support Team updated your account for you at Joinup                                            |
+      | subject   | The Portal Support Team updated your account for you at Joinup                                            |
       | body      | A moderator has edited your user profile on Joinup. Please check your profile to verify the changes done. |
 
     When I am logged in as "Nibby Noob"
diff --git a/tests/src/Context/JoinupContext.php b/tests/src/Context/JoinupContext.php
index 521d44806c..6d44641a6b 100644
--- a/tests/src/Context/JoinupContext.php
+++ b/tests/src/Context/JoinupContext.php
@@ -2880,7 +2880,7 @@ public function theOutputShouldMatchTheFile($file_path): void {
    *
    * Table format:
    * | URL                          | Title  |
-   * | https://joinup.ec.europa.eu/ | Joinup |
+   * | https://interoperable-europe.ec.europa.eu/ | Joinup |
    * | https://www.drupal.org/      | Drupal |
    *
    * @param \Behat\Gherkin\Node\TableNode $table
diff --git a/tests/src/Context/JoinupNotificationContext.php b/tests/src/Context/JoinupNotificationContext.php
index ecc49d4ce3..889fa9940c 100644
--- a/tests/src/Context/JoinupNotificationContext.php
+++ b/tests/src/Context/JoinupNotificationContext.php
@@ -126,7 +126,7 @@ public function assertEmailSent(TableNode $table): void {
       }
 
       // Check the existence or absence of the signature.
-      $signature_present = preg_match('/Kind regards,\s{0,2}The Joinup Support Team/', $mail_body);
+      $signature_present = preg_match('/Kind regards,\s{0,2}The Portal Support Team/', $mail_body);
       if ($signature_required && !$signature_present) {
         throw new \Exception('The signature of the email was not found or is not correct.');
       }
diff --git a/web/modules/custom/contact_form/contact_form.links.menu.yml b/web/modules/custom/contact_form/contact_form.links.menu.yml
index 73cab725b9..c01faf103a 100644
--- a/web/modules/custom/contact_form/contact_form.links.menu.yml
+++ b/web/modules/custom/contact_form/contact_form.links.menu.yml
@@ -1,5 +1,5 @@
 contact_form.contact:
-  title: 'Contact Joinup Support'
+  title: 'Contact Portal Support'
   weight: 0
   url: 'internal:/contact'
   menu_name: footer
diff --git a/web/modules/custom/contact_form/contact_form.module b/web/modules/custom/contact_form/contact_form.module
index fd69311cc5..628db8363b 100644
--- a/web/modules/custom/contact_form/contact_form.module
+++ b/web/modules/custom/contact_form/contact_form.module
@@ -208,7 +208,7 @@ function contact_form_mail($key, &$message, $params): void {
   $message['subject'] = t('Joinup: Contact form notification');
 
   $message['body'][] = t('Dear @name', ['@name' => $name]);
-  $message['body'][] = t('Thank you for submitting your message to the Joinup Support.');
+  $message['body'][] = t('Thank you for submitting your message to the Portal Support.');
 
   if ($entity->field_contact_copy->value) {
     $message['body'][] = t('This is the message you submitted through the online form:');
@@ -228,7 +228,7 @@ function contact_form_mail($key, &$message, $params): void {
   }
 
   $message['body'][] = t('Kind regards,');
-  $message['body'][] = t('The Joinup Support Team');
+  $message['body'][] = t('The Portal Support Team');
 
   // Send as HTML.
   $message['headers']['Content-Type'] = SymfonyMailer::FORMAT_HTML;
diff --git a/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php b/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
index 2e0ceaf00c..7e892a6fe7 100644
--- a/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
+++ b/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
@@ -217,7 +217,7 @@ public function providerTestEmailSending(): array {
       <td>
         <div style="padding: 0px 0px 0px 0px;">
           <p>Dear Jane Doe</p>
-<p>Thank you for submitting your message to the Joinup Support.</p>
+<p>Thank you for submitting your message to the Portal Support.</p>
 <p>This is the message you submitted through the online form:</p>
 <p>Subject: <em class="placeholder">Question subject</em></p>
 <p>Content:</p>
@@ -225,7 +225,7 @@ public function providerTestEmailSending(): array {
 </blockquote>
 <p>Thank you for your interest, we will reply as soon as possible.</p>
 <p>Kind regards,</p>
-<p>The Joinup Support Team</p>
+<p>The Portal Support Team</p>
 
 
         </div>
@@ -240,7 +240,7 @@ public function providerTestEmailSending(): array {
   const COPY_PLAIN = <<<EOS
 Dear Jane Doe
 
-Thank you for submitting your message to the Joinup Support.
+Thank you for submitting your message to the Portal Support.
 
 This is the message you submitted through the online form:
 
@@ -254,7 +254,7 @@ public function providerTestEmailSending(): array {
 
 Kind regards,
 
-The Joinup Support Team
+The Portal Support Team
 EOS;
 
 
@@ -275,10 +275,10 @@ public function providerTestEmailSending(): array {
       <td>
         <div style="padding: 0px 0px 0px 0px;">
           <p>Dear Jane Doe</p>
-<p>Thank you for submitting your message to the Joinup Support.</p>
+<p>Thank you for submitting your message to the Portal Support.</p>
 <p>We will reply as soon as possible.</p>
 <p>Kind regards,</p>
-<p>The Joinup Support Team</p>
+<p>The Portal Support Team</p>
 
 
         </div>
@@ -293,13 +293,13 @@ public function providerTestEmailSending(): array {
   const WITHOUT_COPY_PLAIN = <<<EOS
 Dear Jane Doe
 
-Thank you for submitting your message to the Joinup Support.
+Thank you for submitting your message to the Portal Support.
 
 We will reply as soon as possible.
 
 Kind regards,
 
-The Joinup Support Team
+The Portal Support Team
 EOS;
 
 }
diff --git a/web/modules/custom/joinup_core/joinup_core.links.menu.yml b/web/modules/custom/joinup_core/joinup_core.links.menu.yml
index 3da8630e62..eeb59b6707 100644
--- a/web/modules/custom/joinup_core/joinup_core.links.menu.yml
+++ b/web/modules/custom/joinup_core/joinup_core.links.menu.yml
@@ -28,7 +28,7 @@ joinup_core.support.contact:
   destination: true
 
 joinup_core.support.homepage_contact:
-  title: 'Contact Joinup Support'
+  title: 'Contact Portal Support'
   menu_name: footer-help-and-support
   url: 'internal:/contact'
   weight: -100
diff --git a/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupUserMailTest.php b/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupUserMailTest.php
index f6e72ee122..abe5f565e4 100644
--- a/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupUserMailTest.php
+++ b/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupUserMailTest.php
@@ -88,7 +88,7 @@ public function testUserResetEmail(): void {
 <p>To confirm the request, please click <a href="http://localhost/user/reset/1/1690449287/poghcpHrsWKpNm05j_gcSjv43VJ7actKegl6F-mz384">http://localhost/user/reset/1/1690449287/poghcpHrsWKpNm05j_gcSjv43VJ7actKegl6F-mz384</a>.</p>
 <p>If you didn't ask for a new password, please disregard this message.</p>
 <p>Kind regards,</p>
-<p>The Joinup Support Team</p>
+<p>The Portal Support Team</p>
 
 
         </div>
@@ -117,7 +117,7 @@ public function testUserResetEmail(): void {
 
 Kind regards,
 
-The Joinup Support Team
+The Portal Support Team
 EOS;
 
 }
diff --git a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php
index 09de3041c1..69e97dca99 100644
--- a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php
+++ b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php
@@ -189,7 +189,7 @@ protected function getArguments(NodeInterface $discussion): array {
     $actor = $this->getCurrentUser();
 
     if ($actor->hasRole('moderator')) {
-      $arguments['@actor:full_name'] = 'The Joinup Support Team';
+      $arguments['@actor:full_name'] = 'The Portal Support Team';
     }
     else {
       $arguments['@actor:full_name'] = $actor->getDisplayName();
diff --git a/web/modules/custom/joinup_notification/joinup_notification.module b/web/modules/custom/joinup_notification/joinup_notification.module
index fc1d2969f8..d3f89e5663 100644
--- a/web/modules/custom/joinup_notification/joinup_notification.module
+++ b/web/modules/custom/joinup_notification/joinup_notification.module
@@ -241,7 +241,7 @@ function joinup_notification_mail_alter(array &$message): void {
       if ($user) {
         $first_name = !empty($user->get('field_user_first_name')->value) ? $user->get('field_user_first_name')->value : 'Joinup user';
         $prefix = t('<p>Dear @first_name,</p>', ['@first_name' => $first_name]);
-        $suffix = t('<p>Kind regards,</p><p>The Joinup Support Team</p>');
+        $suffix = t('<p>Kind regards,</p><p>The Portal Support Team</p>');
         $message['body'] = array_merge([$prefix], $message['body'], [$suffix]);
       }
     }
diff --git a/web/modules/custom/joinup_notification/src/EventSubscriber/NotificationSubscriberBase.php b/web/modules/custom/joinup_notification/src/EventSubscriber/NotificationSubscriberBase.php
index 5e11f3c1f8..394992b274 100644
--- a/web/modules/custom/joinup_notification/src/EventSubscriber/NotificationSubscriberBase.php
+++ b/web/modules/custom/joinup_notification/src/EventSubscriber/NotificationSubscriberBase.php
@@ -283,7 +283,7 @@ protected function getRecipientIdsByOgRole(EntityInterface $entity, OgRoleInterf
    *   - Actor first name
    *   - Actor family name
    *   - Actor role
-   *   - Actor full name (This will be 'The Joinup Support Team' if the user
+   *   - Actor full name (This will be 'The Portal Support Team' if the user
    *   has the moderator role)
    *
    * @throws \Drupal\Core\Entity\EntityMalformedException
diff --git a/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php b/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
index 69ffd699f8..5be22b25ac 100644
--- a/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
+++ b/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
@@ -60,7 +60,7 @@ public static function getActorArguments(?UserInterface $actor = NULL): array {
       /** @var \Drupal\user\RoleInterface $role */
       $role = Role::load('moderator');
       $arguments['@actor:role'] = $role->label();
-      $arguments['@actor:full_name'] = 'The Joinup Support Team';
+      $arguments['@actor:full_name'] = 'The Portal Support Team';
     }
     elseif (!$actor->isAnonymous()) {
       $arguments['@actor:full_name'] = $actor->getDisplayName();
diff --git a/web/modules/custom/joinup_rdf/tests/src/Unit/IDMaxLengthConstraintValidatorTest.php b/web/modules/custom/joinup_rdf/tests/src/Unit/IDMaxLengthConstraintValidatorTest.php
index 0a3984dea1..a9d44138bd 100644
--- a/web/modules/custom/joinup_rdf/tests/src/Unit/IDMaxLengthConstraintValidatorTest.php
+++ b/web/modules/custom/joinup_rdf/tests/src/Unit/IDMaxLengthConstraintValidatorTest.php
@@ -51,7 +51,7 @@ public function providerValidate(): array {
     $entity = $this->createMock(EntityInterface::class);
     $entity->expects($this->any())
       ->method('id')
-      ->willReturn('https://joinup.ec.europa.eu');
+      ->willReturn('https://interoperable-europe.ec.europa.eu');
 
     $data[] = [$entity, TRUE, 100];
     $data[] = [clone $entity, FALSE, 10];
diff --git a/web/modules/custom/joinup_user/config/install/joinup_user.mail.yml b/web/modules/custom/joinup_user/config/install/joinup_user.mail.yml
index 468b3bc9d2..8b7b3c09be 100644
--- a/web/modules/custom/joinup_user/config/install/joinup_user.mail.yml
+++ b/web/modules/custom/joinup_user/config/install/joinup_user.mail.yml
@@ -1,6 +1,6 @@
 email_admin_update:
-  body: "Dear [user:display-name],\n\nA moderator has edited your user profile on Joinup. Please check your profile to verify the changes done.\n\nKind regards,\n\nThe Joinup Support Team"
-  subject: 'The Joinup Support Team updated your account for you at [site:name]'
+  body: "Dear [user:display-name],\n\nA moderator has edited your user profile on Joinup. Please check your profile to verify the changes done.\n\nKind regards,\n\nThe Portal Support Team"
+  subject: 'The Portal Support Team updated your account for you at [site:name]'
 password_reset_confirm:
   subject: 'Your password has been changed'
-  body: "Dear [user:field_user_first_name],\n\nYour Joinup password has been successfully changed.\n\nKind regards,\n\nThe Joinup Support Team"
+  body: "Dear [user:field_user_first_name],\n\nYour Joinup password has been successfully changed.\n\nKind regards,\n\nThe Portal Support Team"
diff --git a/web/profiles/joinup/templates/joinup-eligibility-criteria.html.twig b/web/profiles/joinup/templates/joinup-eligibility-criteria.html.twig
index 3e4b7db27f..d98573582c 100644
--- a/web/profiles/joinup/templates/joinup-eligibility-criteria.html.twig
+++ b/web/profiles/joinup/templates/joinup-eligibility-criteria.html.twig
@@ -55,7 +55,7 @@
         <dd>
             To ensure the basic quality of the interoperability solutions on the
             Joinup catalogue, the solutions MUST be described in conformance to
-            the latest official release of <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup">ADMS-AP</a>.
+            the latest official release of <a href="https://interoperable-europe.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup">ADMS-AP</a>.
             The description SHALL also follow the compliance guidelines defined
             below as closely as possible.
         </dd>
diff --git a/web/publiccode-editor/app.bundle.js b/web/publiccode-editor/app.bundle.js
index 203d984c1d..4dce6f4697 100644
--- a/web/publiccode-editor/app.bundle.js
+++ b/web/publiccode-editor/app.bundle.js
@@ -9,7 +9,7 @@
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";var n={}.hasOwnProperty;function i(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=i.apply(null,r);a&&e.push(a)}else if("object"===o)for(var s in r)n.call(r,s)&&r[s]&&e.push(s)}}return e.join(" ")}e.exports?(i.default=i,e.exports=i):void 0===(r=function(){return i}.apply(t,[]))||(e.exports=r)}()},function(e,t,n){"use strict";e.exports=function(e,t,n,r,i,o,a,s){if(!e){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,i,o,a,s],c=0;(u=new Error(t.replace(/%s/g,function(){return l[c++]}))).name="Invariant Violation"}throw u.framesToPop=1,u}}},function(e,t,n){"use strict";t.__esModule=!0;var r,i=n(94),o=(r=i)&&r.__esModule?r:{default:r};t.default=o.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){"use strict";n.d(t,"c",function(){return r}),n.d(t,"b",function(){return i}),n.d(t,"a",function(){return o}),n.d(t,"e",function(){return a}),n.d(t,"f",function(){return s}),n.d(t,"d",function(){return u});var r=2,i=17,o=3,a="0-90-9٠-٩۰-۹",s="-‐-―−ー-//..  ­​⁠ ()()[]\\[\\]~⁓∼~",u="++"},function(e,t,n){"use strict";n.d(t,"c",function(){return h}),n.d(t,"b",function(){return m}),n.d(t,"d",function(){return g});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a="1.2.0",s=" ext. ",u=function(){function e(t){o(this,e),function(e){if(!e)throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");if(!f(e)||!f(e.countries)||!f(e.country_calling_codes)&&!f(e.country_phone_code_to_countries))throw new Error("[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` and `.country_calling_codes` child object properties. Got "+(f(e)?"an object of shape: { "+Object.keys(e).join(", ")+" }":"a "+p(e)+": "+e)+".")}(t),this.metadata=t,this.v1=!t.version,this.v2=void 0!==t.version&&-1===function(e,t){for(var n=e.split("."),r=t.split("."),i=0;i<3;i++){var o=Number(n[i]),a=Number(r[i]);if(o>a)return 1;if(a>o)return-1;if(!isNaN(o)&&isNaN(a))return 1;if(isNaN(o)&&!isNaN(a))return-1}return 0}(t.version,a),this.v3=void 0!==t.version}return i(e,[{key:"hasCountry",value:function(e){return void 0!==this.metadata.countries[e]}},{key:"country",value:function(e){if(!e)return this._country=void 0,this.country_metadata=void 0,this;if(!this.hasCountry(e))throw new Error("Unknown country: "+e);return this._country=e,this.country_metadata=this.metadata.countries[e],this}},{key:"getDefaultCountryMetadataForRegion",value:function(){return this.metadata.countries[this.countryCallingCodes()[this.countryCallingCode()][0]]}},{key:"countryCallingCode",value:function(){return this.country_metadata[0]}},{key:"IDDPrefix",value:function(){if(!this.v1&&!this.v2)return this.country_metadata[1]}},{key:"defaultIDDPrefix",value:function(){if(!this.v1&&!this.v2)return this.country_metadata[12]}},{key:"nationalNumberPattern",value:function(){return this.v1||this.v2?this.country_metadata[1]:this.country_metadata[2]}},{key:"possibleLengths",value:function(){if(!this.v1)return this.country_metadata[this.v2?2:3]}},{key:"_getFormats",value:function(e){return e[this.v1?2:this.v2?3:4]}},{key:"formats",value:function(){var e=this,t=this._getFormats(this.country_metadata)||this._getFormats(this.getDefaultCountryMetadataForRegion())||[];return t.map(function(t){return new l(t,e)})}},{key:"nationalPrefix",value:function(){return this.country_metadata[this.v1?3:this.v2?4:5]}},{key:"_getNationalPrefixFormattingRule",value:function(e){return e[this.v1?4:this.v2?5:6]}},{key:"nationalPrefixFormattingRule",value:function(){return this._getNationalPrefixFormattingRule(this.country_metadata)||this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion())}},{key:"nationalPrefixForParsing",value:function(){return this.country_metadata[this.v1?5:this.v2?6:7]||this.nationalPrefix()}},{key:"nationalPrefixTransformRule",value:function(){return this.country_metadata[this.v1?6:this.v2?7:8]}},{key:"_getNationalPrefixIsOptionalWhenFormatting",value:function(){return!!this.country_metadata[this.v1?7:this.v2?8:9]}},{key:"nationalPrefixIsOptionalWhenFormatting",value:function(){return this._getNationalPrefixIsOptionalWhenFormatting(this.country_metadata)||this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion())}},{key:"leadingDigits",value:function(){return this.country_metadata[this.v1?8:this.v2?9:10]}},{key:"types",value:function(){return this.country_metadata[this.v1?9:this.v2?10:11]}},{key:"hasTypes",value:function(){return(!this.types()||0!==this.types().length)&&!!this.types()}},{key:"type",value:function(e){if(this.hasTypes()&&d(this.types(),e))return new c(d(this.types(),e),this)}},{key:"ext",value:function(){return this.v1||this.v2?s:this.country_metadata[13]||s}},{key:"countryCallingCodes",value:function(){return this.v1?this.metadata.country_phone_code_to_countries:this.metadata.country_calling_codes}},{key:"chooseCountryByCountryCallingCode",value:function(e){var t=this.countryCallingCodes()[e][0];this.hasCountry(t)&&this.country(t)}},{key:"selectedCountry",value:function(){return this._country}}]),e}(),l=(t.a=u,function(){function e(t,n){o(this,e),this._format=t,this.metadata=n}return i(e,[{key:"pattern",value:function(){return this._format[0]}},{key:"format",value:function(){return this._format[1]}},{key:"leadingDigitsPatterns",value:function(){return this._format[2]||[]}},{key:"nationalPrefixFormattingRule",value:function(){return this._format[3]||this.metadata.nationalPrefixFormattingRule()}},{key:"nationalPrefixIsOptionalWhenFormatting",value:function(){return!!this._format[4]||this.metadata.nationalPrefixIsOptionalWhenFormatting()}},{key:"nationalPrefixIsMandatoryWhenFormatting",value:function(){return this.usesNationalPrefix()&&!this.nationalPrefixIsOptionalWhenFormatting()}},{key:"usesNationalPrefix",value:function(){return this.nationalPrefixFormattingRule()&&"$1"!==this.nationalPrefixFormattingRule()&&/\d/.test(this.nationalPrefixFormattingRule().replace("$1",""))}},{key:"internationalFormat",value:function(){return this._format[5]||this.format()}}]),e}()),c=function(){function e(t,n){o(this,e),this.type=t,this.metadata=n}return i(e,[{key:"pattern",value:function(){return this.metadata.v1?this.type:this.type[0]}},{key:"possibleLengths",value:function(){if(!this.metadata.v1)return this.type[1]||this.metadata.possibleLengths()}}]),e}();function d(e,t){switch(t){case"FIXED_LINE":return e[0];case"MOBILE":return e[1];case"TOLL_FREE":return e[2];case"PREMIUM_RATE":return e[3];case"PERSONAL_NUMBER":return e[4];case"VOICEMAIL":return e[5];case"UAN":return e[6];case"PAGER":return e[7];case"VOIP":return e[8];case"SHARED_COST":return e[9]}}var f=function(e){return"object"===(void 0===e?"undefined":r(e))},p=function(e){return void 0===e?"undefined":r(e)};function h(e,t){return(t=new u(t)).hasCountry(e)?t.country(e).ext():s}function m(e,t){if((t=new u(t)).hasCountry(e))return t.country(e).countryCallingCode();throw new Error("Unknown country: "+e)}function g(e,t){return void 0!==t.countries[e]}},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}},function(e,t,n){"use strict";function r(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function i(e){this.setState(function(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!=n?n:null}.bind(this))}function o(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function a(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof t.getSnapshotBeforeUpdate)return e;var n=null,a=null,s=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?a="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(a="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?s="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(s="UNSAFE_componentWillUpdate"),null!==n||null!==a||null!==s){var u=e.displayName||e.name,l="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+u+" uses "+l+" but also contains the following legacy lifecycles:"+(null!==n?"\n  "+n:"")+(null!==a?"\n  "+a:"")+(null!==s?"\n  "+s:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=r,t.componentWillReceiveProps=i),"function"==typeof t.getSnapshotBeforeUpdate){if("function"!=typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=o;var c=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;c.call(this,e,t,r)}}return e}n.r(t),n.d(t,"polyfill",function(){return a}),r.__suppressDeprecationWarning=!0,i.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0},function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"prefix",function(){return a}),n.d(r,"ARRAY_INSERT",function(){return s}),n.d(r,"ARRAY_MOVE",function(){return u}),n.d(r,"ARRAY_POP",function(){return l}),n.d(r,"ARRAY_PUSH",function(){return c}),n.d(r,"ARRAY_REMOVE",function(){return d}),n.d(r,"ARRAY_REMOVE_ALL",function(){return f}),n.d(r,"ARRAY_SHIFT",function(){return p}),n.d(r,"ARRAY_SPLICE",function(){return h}),n.d(r,"ARRAY_UNSHIFT",function(){return m}),n.d(r,"ARRAY_SWAP",function(){return g}),n.d(r,"AUTOFILL",function(){return y}),n.d(r,"BLUR",function(){return v}),n.d(r,"CHANGE",function(){return b}),n.d(r,"CLEAR_FIELDS",function(){return _}),n.d(r,"CLEAR_SUBMIT",function(){return w}),n.d(r,"CLEAR_SUBMIT_ERRORS",function(){return A}),n.d(r,"CLEAR_ASYNC_ERROR",function(){return x}),n.d(r,"DESTROY",function(){return k}),n.d(r,"FOCUS",function(){return M}),n.d(r,"INITIALIZE",function(){return E}),n.d(r,"REGISTER_FIELD",function(){return L}),n.d(r,"RESET",function(){return S}),n.d(r,"RESET_SECTION",function(){return D}),n.d(r,"SET_SUBMIT_FAILED",function(){return T}),n.d(r,"SET_SUBMIT_SUCCEEDED",function(){return C}),n.d(r,"START_ASYNC_VALIDATION",function(){return O}),n.d(r,"START_SUBMIT",function(){return $}),n.d(r,"STOP_ASYNC_VALIDATION",function(){return j}),n.d(r,"STOP_SUBMIT",function(){return P}),n.d(r,"SUBMIT",function(){return I}),n.d(r,"TOUCH",function(){return N}),n.d(r,"UNREGISTER_FIELD",function(){return F}),n.d(r,"UNTOUCH",function(){return R}),n.d(r,"UPDATE_SYNC_ERRORS",function(){return Y}),n.d(r,"UPDATE_SYNC_WARNINGS",function(){return B});var i=n(5),o=n.n(i),a="@@redux-form/",s=a+"ARRAY_INSERT",u=a+"ARRAY_MOVE",l=a+"ARRAY_POP",c=a+"ARRAY_PUSH",d=a+"ARRAY_REMOVE",f=a+"ARRAY_REMOVE_ALL",p=a+"ARRAY_SHIFT",h=a+"ARRAY_SPLICE",m=a+"ARRAY_UNSHIFT",g=a+"ARRAY_SWAP",y=a+"AUTOFILL",v=a+"BLUR",b=a+"CHANGE",_=a+"CLEAR_FIELDS",w=a+"CLEAR_SUBMIT",A=a+"CLEAR_SUBMIT_ERRORS",x=a+"CLEAR_ASYNC_ERROR",k=a+"DESTROY",M=a+"FOCUS",E=a+"INITIALIZE",L=a+"REGISTER_FIELD",S=a+"RESET",D=a+"RESET_SECTION",T=a+"SET_SUBMIT_FAILED",C=a+"SET_SUBMIT_SUCCEEDED",O=a+"START_ASYNC_VALIDATION",$=a+"START_SUBMIT",j=a+"STOP_ASYNC_VALIDATION",P=a+"STOP_SUBMIT",I=a+"SUBMIT",N=a+"TOUCH",F=a+"UNREGISTER_FIELD",R=a+"UNTOUCH",Y=a+"UPDATE_SYNC_ERRORS",B=a+"UPDATE_SYNC_WARNINGS",z={arrayInsert:function(e,t,n,r){return{type:s,meta:{form:e,field:t,index:n},payload:r}},arrayMove:function(e,t,n,r){return{type:u,meta:{form:e,field:t,from:n,to:r}}},arrayPop:function(e,t){return{type:l,meta:{form:e,field:t}}},arrayPush:function(e,t,n){return{type:c,meta:{form:e,field:t},payload:n}},arrayRemove:function(e,t,n){return{type:d,meta:{form:e,field:t,index:n}}},arrayRemoveAll:function(e,t){return{type:f,meta:{form:e,field:t}}},arrayShift:function(e,t){return{type:p,meta:{form:e,field:t}}},arraySplice:function(e,t,n,r,i){var o={type:h,meta:{form:e,field:t,index:n,removeNum:r}};return void 0!==i&&(o.payload=i),o},arraySwap:function(e,t,n,r){if(n===r)throw new Error("Swap indices cannot be equal");if(n<0||r<0)throw new Error("Swap indices cannot be negative");return{type:g,meta:{form:e,field:t,indexA:n,indexB:r}}},arrayUnshift:function(e,t,n){return{type:m,meta:{form:e,field:t},payload:n}},autofill:function(e,t,n){return{type:y,meta:{form:e,field:t},payload:n}},blur:function(e,t,n,r){return{type:v,meta:{form:e,field:t,touch:r},payload:n}},change:function(e,t,n,r,i){return{type:b,meta:{form:e,field:t,touch:r,persistentSubmitErrors:i},payload:n}},clearFields:function(e,t,n){for(var r=arguments.length,i=new Array(r>3?r-3:0),o=3;o<r;o++)i[o-3]=arguments[o];return{type:_,meta:{form:e,keepTouched:t,persistentSubmitErrors:n,fields:i}}},clearSubmit:function(e){return{type:w,meta:{form:e}}},clearSubmitErrors:function(e){return{type:A,meta:{form:e}}},clearAsyncError:function(e,t){return{type:x,meta:{form:e,field:t}}},destroy:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return{type:k,meta:{form:t}}},focus:function(e,t){return{type:M,meta:{form:e,field:t}}},initialize:function(e,t,n,r){return void 0===r&&(r={}),n instanceof Object&&(r=n,n=!1),{type:E,meta:o()({form:e,keepDirty:n},r),payload:t}},registerField:function(e,t,n){return{type:L,meta:{form:e},payload:{name:t,type:n}}},reset:function(e){return{type:S,meta:{form:e}}},resetSection:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return{type:D,meta:{form:e,sections:n}}},startAsyncValidation:function(e,t){return{type:O,meta:{form:e,field:t}}},startSubmit:function(e){return{type:$,meta:{form:e}}},stopAsyncValidation:function(e,t){return{type:j,meta:{form:e},payload:t,error:!(!t||!Object.keys(t).length)}},stopSubmit:function(e,t){return{type:P,meta:{form:e},payload:t,error:!(!t||!Object.keys(t).length)}},submit:function(e){return{type:I,meta:{form:e}}},setSubmitFailed:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return{type:T,meta:{form:e,fields:n},error:!0}},setSubmitSucceeded:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return{type:C,meta:{form:e,fields:n},error:!1}},touch:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return{type:N,meta:{form:e,fields:n}}},unregisterField:function(e,t,n){return void 0===n&&(n=!0),{type:F,meta:{form:e},payload:{name:t,destroyOnUnmount:n}}},untouch:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return{type:R,meta:{form:e,fields:n}}},updateSyncErrors:function(e,t,n){return void 0===t&&(t={}),{type:Y,meta:{form:e},payload:{syncErrors:t,error:n}}},updateSyncWarnings:function(e,t,n){return void 0===t&&(t={}),{type:B,meta:{form:e},payload:{syncWarnings:t,warning:n}}}},H=function(e){var t=e.initialized,n=e.trigger,r=e.pristine;if(!e.syncValidationPasses)return!1;switch(n){case"blur":case"change":return!0;case"submit":return!r||!t;default:return!1}},U=function(e){var t=e.values,n=e.nextProps,r=e.initialRender,i=e.lastFieldValidatorKeys,o=e.fieldValidatorKeys,a=e.structure;return!!r||!a.deepEqual(t,n&&n.values)||!a.deepEqual(i,o)},Z=function(e){var t=e.values,n=e.nextProps,r=e.initialRender,i=e.lastFieldValidatorKeys,o=e.fieldValidatorKeys,a=e.structure;return!!r||!a.deepEqual(t,n&&n.values)||!a.deepEqual(i,o)},K=function(e){var t=e.values,n=e.nextProps,r=e.initialRender,i=e.lastFieldValidatorKeys,o=e.fieldValidatorKeys,a=e.structure;return!!r||!a.deepEqual(t,n&&n.values)||!a.deepEqual(i,o)},q=n(11),W=n.n(q),G=n(14),V=n.n(G),J=n(0),Q=n.n(J),X=n(12),ee=n(1),te=n.n(ee),ne=n(25),re=function(e){function t(t){var n;if(n=e.call(this,t)||this,!t._reduxForm)throw new Error("Form must be inside a component decorated with reduxForm()");return n}V()(t,e);var n=t.prototype;return n.componentWillMount=function(){this.props._reduxForm.registerInnerOnSubmit(this.props.onSubmit)},n.render=function(){var e=this.props,t=(e._reduxForm,W()(e,["_reduxForm"]));return Q.a.createElement("form",t)},t}(J.Component);re.propTypes={onSubmit:te.a.func.isRequired,_reduxForm:te.a.object},Object(X.polyfill)(re);var ie=Object(ne.b)(re),oe=Object(ne.b)(function(e){var t=e.children,n=e._reduxForm;return t({form:n&&n.form,sectionPrefix:n&&n.sectionPrefix})}),ae=n(26),se=n(35),ue=function(e){function t(t){var n;if(n=e.call(this,t)||this,!t._reduxForm)throw new Error("FormSection must be inside a component decorated with reduxForm()");return n}return V()(t,e),t.prototype.render=function(){var e=this.props,t=(e._reduxForm,e.children),n=e.name,r=e.component,i=W()(e,["_reduxForm","children","name","component"]);return Q.a.isValidElement(t)?Object(J.createElement)(ne.a.Provider,{value:o()({},this.props._reduxForm,{sectionPrefix:Object(ae.a)(this.props,n)}),children:t}):Object(J.createElement)(ne.a.Provider,{value:o()({},this.props._reduxForm,{sectionPrefix:Object(ae.a)(this.props,n)}),children:Object(J.createElement)(r,o()({},i,{children:t}))})},t}(J.Component);ue.propTypes={name:te.a.string.isRequired,component:se.a},ue.defaultProps={component:"div"};var le=Object(ne.b)(ue);function ce(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function de(e){function t(){e.apply(this,arguments)}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}var fe=function(e){function t(t){var n;return(n=e.call(this,"Submit Validation Failed")||this).errors=t,n}return V()(t,e),t}(function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=ce(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return Object.defineProperty(n,"message",{configurable:!0,enumerable:!1,value:e,writable:!0}),Object.defineProperty(n,"name",{configurable:!0,enumerable:!1,value:n.constructor.name,writable:!0}),Error.hasOwnProperty("captureStackTrace")?(Error.captureStackTrace(n,n.constructor),ce(n)):(Object.defineProperty(n,"stack",{configurable:!0,enumerable:!1,value:new Error(e).stack,writable:!0}),n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,de(Error)),t}()),pe=te.a.any,he=te.a.bool,me=te.a.func,ge=te.a.shape,ye=te.a.string,ve=te.a.oneOfType,be=te.a.object,_e=te.a.number,we={anyTouched:he.isRequired,asyncValidating:ve([he,ye]).isRequired,dirty:he.isRequired,error:pe,form:ye.isRequired,invalid:he.isRequired,initialized:he.isRequired,initialValues:be,pristine:he.isRequired,pure:he.isRequired,submitting:he.isRequired,submitAsSideEffect:he.isRequired,submitFailed:he.isRequired,submitSucceeded:he.isRequired,valid:he.isRequired,warning:pe,array:ge({insert:me.isRequired,move:me.isRequired,pop:me.isRequired,push:me.isRequired,remove:me.isRequired,removeAll:me.isRequired,shift:me.isRequired,splice:me.isRequired,swap:me.isRequired,unshift:me.isRequired}),asyncValidate:me.isRequired,autofill:me.isRequired,blur:me.isRequired,change:me.isRequired,clearAsyncError:me.isRequired,clearFields:me.isRequired,clearSubmitErrors:me.isRequired,destroy:me.isRequired,dispatch:me.isRequired,handleSubmit:me.isRequired,initialize:me.isRequired,reset:me.isRequired,resetSection:me.isRequired,touch:me.isRequired,submit:me.isRequired,untouch:me.isRequired,triggerSubmit:he,clearSubmit:me.isRequired},Ae={checked:he,name:ye.isRequired,onBlur:me.isRequired,onChange:me.isRequired,onDragStart:me.isRequired,onDrop:me.isRequired,onFocus:me.isRequired,value:pe},xe={active:he.isRequired,asyncValidating:he.isRequired,autofilled:he.isRequired,dirty:he.isRequired,dispatch:me.isRequired,error:pe,form:ye.isRequired,invalid:he.isRequired,pristine:he.isRequired,submitting:he.isRequired,submitFailed:he.isRequired,touched:he.isRequired,valid:he.isRequired,visited:he.isRequired,warning:ye},ke={dirty:he.isRequired,error:pe,form:ye.isRequired,invalid:he.isRequired,pristine:he.isRequired,submitFailed:he,submitting:he,valid:he.isRequired,warning:ye},Me={name:ye.isRequired,forEach:me.isRequired,get:me.isRequired,getAll:me.isRequired,insert:me.isRequired,length:_e.isRequired,map:me.isRequired,move:me.isRequired,pop:me.isRequired,push:me.isRequired,reduce:me.isRequired,remove:me.isRequired,removeAll:me.isRequired,shift:me.isRequired,swap:me.isRequired,unshift:me.isRequired},Ee={input:ge(Ae).isRequired,meta:ge(xe).isRequired},Le={fields:ge(Me).isRequired,meta:ge(ke).isRequired},Se=we,De=n(533),Te=n(50),Ce=n.n(Te),Oe=n(7),$e=n.n(Oe),je=n(270),Pe=n.n(je),Ie=n(15),Ne=n(189),Fe=n(3),Re=n(118),Ye=["_reduxForm"],Be=function(e){var t=e.deepEqual,n=e.getIn,r=e.size,i=function(n){function i(e){var t;return(t=n.call(this,e)||this).onChangeFns={},t.onFocusFns={},t.onBlurFns={},t.ref=Q.a.createRef(),t.prepareEventHandlers=function(e){return e.names.forEach(function(e){t.onChangeFns[e]=function(n){return t.handleChange(e,n)},t.onFocusFns[e]=function(){return t.handleFocus(e)},t.onBlurFns[e]=function(n){return t.handleBlur(e,n)}})},t.handleChange=function(e,n){var r=t.props,i=r.dispatch,o=r.parse,a=r._reduxForm,s=Object(Re.a)(n,{name:e,parse:o});i(a.change(e,s)),a.asyncValidate&&a.asyncValidate(e,s,"change")},t.handleFocus=function(e){var n=t.props;(0,n.dispatch)(n._reduxForm.focus(e))},t.handleBlur=function(e,n){var r=t.props,i=r.dispatch,o=r.parse,a=r._reduxForm,s=Object(Re.a)(n,{name:e,parse:o});i(a.blur(e,s)),a.asyncValidate&&a.asyncValidate(e,s,"blur")},t.prepareEventHandlers(e),t}V()(i,n);var a=i.prototype;return a.componentWillReceiveProps=function(e){var t=this;this.props.names===e.names||r(this.props.names)===r(e.names)&&!e.names.some(function(e){return!t.props._fields[e]})||this.prepareEventHandlers(e)},a.shouldComponentUpdate=function(e){var n=this,r=Object.keys(e),i=Object.keys(this.props);return!!(this.props.children||e.children||r.length!==i.length||r.some(function(r){return!~Ye.indexOf(r)&&!t(n.props[r],e[r])}))},a.isDirty=function(){var e=this.props._fields;return Object.keys(e).some(function(t){return e[t].dirty})},a.getValues=function(){var e=this.props._fields;return Object.keys(e).reduce(function(t,n){return Fe.a.setIn(t,n,e[n].value)},{})},a.getRenderedComponent=function(){return this.ref.current},a.render=function(){var t=this,n=this.props,r=n.component,i=n.forwardRef,a=n._fields,s=n._reduxForm,u=W()(n,["component","forwardRef","_fields","_reduxForm"]),l=s.sectionPrefix,c=s.form,d=Object.keys(a).reduce(function(n,r){var i=a[r],s=Object(Ne.a)(e,r,o()({},i,u,{form:c,onBlur:t.onBlurFns[r],onChange:t.onChangeFns[r],onFocus:t.onFocusFns[r]})),d=s.custom,f=W()(s,["custom"]);n.custom=d;var p=l?r.replace(l+".",""):r;return Fe.a.setIn(n,p,f)},{}),f=d.custom,p=W()(d,["custom"]);return i&&(p.ref=this.ref),Q.a.createElement(r,o()({},p,f))},i}(Q.a.Component);return i.propTypes={component:se.a,_fields:te.a.object.isRequired,props:te.a.object},Object(Ie.connect)(function(e,t){var r=t.names,i=t._reduxForm,o=i.initialValues,a=(0,i.getFormState)(e);return{_fields:r.reduce(function(e,r){var i=n(a,"initial."+r),s=void 0!==i?i:o&&n(o,r),u=n(a,"values."+r),l=function(e,t){return Fe.a.getIn(e,t+"._error")||Fe.a.getIn(e,t)}(n(a,"syncErrors"),r),c=function(e,t){var r=n(e,t);return r&&r._warning?r._warning:r}(n(a,"syncWarnings"),r),d=n(a,"submitting"),f=u===s;return e[r]={asyncError:n(a,"asyncErrors."+r),asyncValidating:n(a,"asyncValidating")===r,dirty:!f,initial:s,pristine:f,state:n(a,"fields."+r),submitError:n(a,"submitErrors."+r),submitFailed:n(a,"submitFailed"),submitting:d,syncError:l,syncWarning:c,value:u,_value:t.value},e},{})}},void 0,void 0,{forwardRef:!0})(i)},ze=n(190),He=function(e){return e?Array.isArray(e)||e._isFieldArray?void 0:new Error('Invalid prop "names" supplied to <Fields/>. Must be either an array of strings or the fields array generated by FieldArray.'):new Error('No "names" prop was specified <Fields/>')},Ue=te.a.oneOfType([te.a.func,te.a.arrayOf(te.a.func),te.a.objectOf(te.a.oneOfType([te.a.func,te.a.arrayOf(te.a.func)]))]),Ze={component:se.a,format:te.a.func,parse:te.a.func,props:te.a.object,forwardRef:te.a.bool,validate:Ue,warn:Ue},Ke=function(e,t){return Array.isArray(e)||"function"==typeof e?e:Pe()(e,t,void 0)},qe=function(e){var t=Be(e),n=function(e){function n(t){var n;if(n=e.call(this,t)||this,!t._reduxForm)throw new Error("Fields must be inside a component decorated with reduxForm()");var r=He(t.names);if(r)throw r;return n}V()(n,e);var r=n.prototype;return r.shouldComponentUpdate=function(e){return Object(ze.a)(this,e)},r.componentDidMount=function(){this.registerFields(this.props.names)},r.componentWillReceiveProps=function(e){if(!Fe.a.deepEqual(this.props.names,e.names)){var t=this.props,n=t._reduxForm.unregister;this.props.names.forEach(function(e){return n(Object(ae.a)(t,e))}),this.registerFields(e.names)}},r.componentWillUnmount=function(){var e=this.props,t=e._reduxForm.unregister;this.props.names.forEach(function(n){return t(Object(ae.a)(e,n))})},r.registerFields=function(e){var t=this,n=this.props,r=n._reduxForm.register;e.forEach(function(e){return r(Object(ae.a)(n,e),"Field",function(){return Ke(t.props.validate,e)},function(){return Ke(t.props.warn,e)})})},r.getRenderedComponent=function(){return $e()(this.props.forwardRef,"If you want to access getRenderedComponent(), you must specify a forwardRef prop to Fields"),this.refs.connected.getRenderedComponent()},r.render=function(){var e=this.props;return Object(J.createElement)(t,o()({},this.props,{names:this.props.names.map(function(t){return Object(ae.a)(e,t)}),ref:"connected"}))},Ce()(n,[{key:"names",get:function(){var e=this.props;return this.props.names.map(function(t){return Object(ae.a)(e,t)})}},{key:"dirty",get:function(){return this.refs.connected.isDirty()}},{key:"pristine",get:function(){return!this.dirty}},{key:"values",get:function(){return this.refs.connected&&this.refs.connected.getValues()}}]),n}(J.Component);return n.propTypes=o()({names:function(e,t){return He(e[t])}},Ze),Object(X.polyfill)(n),Object(ne.b)(n)}(Fe.a),We=n(85),Ge=n.n(We),Ve=n(20),Je=function(e,t,n,r,i,a){var s=e.getIn,u=a.arrayInsert,l=a.arrayMove,c=a.arrayPop,d=a.arrayPush,f=a.arrayRemove,p=a.arrayRemoveAll,h=a.arrayShift,m=a.arraySplice,g=a.arraySwap,y=a.arrayUnshift,v=a.asyncError,b=a.dirty,_=a.length,w=a.pristine,A=a.submitError,x=(a.state,a.submitFailed),k=a.submitting,M=a.syncError,E=a.syncWarning,L=a.value,S=a.props,D=W()(a,["arrayInsert","arrayMove","arrayPop","arrayPush","arrayRemove","arrayRemoveAll","arrayShift","arraySplice","arraySwap","arrayUnshift","asyncError","dirty","length","pristine","submitError","state","submitFailed","submitting","syncError","syncWarning","value","props"]),T=M||v||A,C=E,O=r?t.replace(r+".",""):t,$=o()({fields:{_isFieldArray:!0,forEach:function(e){return(L||[]).forEach(function(t,n){return e(O+"["+n+"]",n,$.fields)})},get:i,getAll:function(){return L},insert:u,length:_,map:function(e){return(L||[]).map(function(t,n){return e(O+"["+n+"]",n,$.fields)})},move:l,name:t,pop:function(){return c(),s(L,String(_-1))},push:d,reduce:function(e,t){return(L||[]).reduce(function(t,n,r){return e(t,O+"["+r+"]",r,$.fields)},t)},remove:f,removeAll:p,shift:function(){return h(),s(L,"0")},splice:m,swap:g,unshift:y},meta:{dirty:b,error:T,form:n,warning:C,invalid:!!T,pristine:w,submitting:k,submitFailed:x,valid:!T}},S,D);return $},Qe=["_reduxForm","value"],Xe=function(e){var t=e.deepEqual,n=e.getIn,r=e.size,i=e.equals,o=e.orderChanged,a=function(r){function a(){for(var e,t=arguments.length,i=new Array(t),o=0;o<t;o++)i[o]=arguments[o];return(e=r.call.apply(r,[this].concat(i))||this).ref=Q.a.createRef(),e.getValue=function(t){return e.props.value&&n(e.props.value,String(t))},e}V()(a,r);var s=a.prototype;return s.shouldComponentUpdate=function(e){var n=this,r=this.props.value,a=e.value;if(r&&a){var s=i(a,r),u=o(r,a);if((r.length||r.size)!==(a.length||a.size)||s&&u||e.rerenderOnEveryChange&&r.some(function(e,n){return!t(e,a[n])}))return!0}var l=Object.keys(e),c=Object.keys(this.props);return!!(this.props.children||e.children||l.length!==c.length||l.some(function(r){return!~Qe.indexOf(r)&&!t(n.props[r],e[r])}))},s.getRenderedComponent=function(){return this.ref.current},s.render=function(){var t=this.props,n=t.component,r=t.forwardRef,i=t.name,o=t._reduxForm,a=(t.validate,t.warn,t.rerenderOnEveryChange,W()(t,["component","forwardRef","name","_reduxForm","validate","warn","rerenderOnEveryChange"])),s=Je(e,i,o.form,o.sectionPrefix,this.getValue,a);return r&&(s.ref=this.ref),Object(J.createElement)(n,s)},Ce()(a,[{key:"dirty",get:function(){return this.props.dirty}},{key:"pristine",get:function(){return this.props.pristine}},{key:"value",get:function(){return this.props.value}}]),a}(J.Component);return a.propTypes={component:se.a,props:te.a.object,rerenderOnEveryChange:te.a.bool},a.defaultProps={rerenderOnEveryChange:!1},Object(Ie.connect)(function(e,i){var o=i.name,a=i._reduxForm,s=a.initialValues,u=(0,a.getFormState)(e),l=n(u,"initial."+o)||s&&n(s,o),c=n(u,"values."+o),d=n(u,"submitting"),f=function(e,t){return Fe.a.getIn(e,t+"._error")}(n(u,"syncErrors"),o),p=function(e,t){return n(e,t+"._warning")}(n(u,"syncWarnings"),o),h=t(c,l);return{asyncError:n(u,"asyncErrors."+o+"._error"),dirty:!h,pristine:h,state:n(u,"fields."+o),submitError:n(u,"submitErrors."+o+"._error"),submitFailed:n(u,"submitFailed"),submitting:d,syncError:f,syncWarning:p,value:c,length:r(c)}},function(e,t){var n=t.name,r=t._reduxForm,i=r.arrayInsert,o=r.arrayMove,a=r.arrayPop,s=r.arrayPush,u=r.arrayRemove,l=r.arrayRemoveAll,c=r.arrayShift,d=r.arraySplice,f=r.arraySwap,p=r.arrayUnshift;return Ge()({arrayInsert:i,arrayMove:o,arrayPop:a,arrayPush:s,arrayRemove:u,arrayRemoveAll:l,arrayShift:c,arraySplice:d,arraySwap:f,arrayUnshift:p},function(t){return Object(Ve.bindActionCreators)(t.bind(null,n),e)})},void 0,{forwardRef:!0})(a)},et=function(e,t){return e&&function(){for(var n,r=(n=e,Array.isArray(n)?n:[n]),i=0;i<r.length;i++){var o,a=r[i].apply(r,arguments);if(a)return(o={})[t]=a,o}}},tt=function(e){var t=Xe(e),n=function(e){function n(t){var n;if((n=e.call(this,t)||this).ref=Q.a.createRef(),!t._reduxForm)throw new Error("FieldArray must be inside a component decorated with reduxForm()");return n}V()(n,e);var r=n.prototype;return r.componentDidMount=function(){var e=this;this.props._reduxForm.register(this.name,"FieldArray",function(){return et(e.props.validate,"_error")},function(){return et(e.props.warn,"_warning")})},r.componentWillReceiveProps=function(e){var t=Object(ae.a)(this.props,this.props.name),n=Object(ae.a)(e,e.name);t!==n&&(this.props._reduxForm.unregister(t),this.props._reduxForm.register(n,"FieldArray"))},r.componentWillUnmount=function(){this.props._reduxForm.unregister(this.name)},r.getRenderedComponent=function(){return $e()(this.props.forwardRef,"If you want to access getRenderedComponent(), you must specify a forwardRef prop to FieldArray"),this.ref&&this.ref.current.getRenderedComponent()},r.render=function(){return Object(J.createElement)(t,o()({},this.props,{name:this.name,ref:this.ref}))},Ce()(n,[{key:"name",get:function(){return Object(ae.a)(this.props,this.props.name)}},{key:"dirty",get:function(){return!this.ref||this.ref.current.dirty}},{key:"pristine",get:function(){return!(!this.ref||!this.ref.current.pristine)}},{key:"value",get:function(){return this.ref?this.ref.current.value:void 0}}]),n}(J.Component);return n.propTypes={name:te.a.string.isRequired,component:se.a,props:te.a.object,validate:te.a.oneOfType([te.a.func,te.a.arrayOf(te.a.func)]),warn:te.a.oneOfType([te.a.func,te.a.arrayOf(te.a.func)]),forwardRef:te.a.bool,_reduxForm:te.a.object},Object(X.polyfill)(n),Object(ne.b)(n)}(Fe.a),nt=function(e){var t=e.getIn;return function(e,n){$e()(e,"Form value must be specified");var r=n||function(e){return t(e,"form")};return function(n){for(var i=arguments.length,o=new Array(i>1?i-1:0),a=1;a<i;a++)o[a-1]=arguments[a];return $e()(o.length,"No fields specified"),1===o.length?t(r(n),e+".values."+o[0]):o.reduce(function(i,o){var a=t(r(n),e+".values."+o);return void 0===a?i:Fe.a.setIn(i,o,a)},{})}}}(Fe.a),rt=n(538),it=n.n(rt),ot=n(539),at=n.n(ot),st=function(e){var t=e.getIn;return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return function(n){var i=function(i){function a(e){var t;if(t=i.call(this,e)||this,!e._reduxForm)throw new Error("formValues() must be used inside a React tree decorated with reduxForm()");return t.updateComponent(e),t}V()(a,i);var s=a.prototype;return s.componentWillReceiveProps=function(t){"function"==typeof e&&this.updateComponent(t)},s.render=function(){var e=this.Component;return Q.a.createElement(e,o()({sectionPrefix:this.props._reduxForm.sectionPrefix},this.props))},s.updateComponent=function(t){var n,i,o="function"==typeof e?e(t):e;if(n="string"==typeof o?r.reduce(function(e,t){return e[t]=t,e},((i={})[o]=o,i)):o,at()(n))throw new Error("formValues(): You must specify values to get as formValues(name1, name2, ...) or formValues({propName1: propPath1, ...}) or formValues((props) => name) or formValues((props) => ({propName1: propPath1, ...}))");it()(n,this._valuesMap)||(this._valuesMap=n,this.setComponent())},s.setComponent=function(){var e=this;this.Component=Object(Ie.connect)(function(n,r){r.sectionPrefix;var i=(0,e.props._reduxForm.getValues)();return Ge()(e._valuesMap,function(n){return t(i,Object(ae.a)(e.props,n))})},function(){return{}})(function(e){e.sectionPrefix;var t=W()(e,["sectionPrefix"]);return Q.a.createElement(n,t)})},a}(Q.a.Component);return Object(ne.b)(i)}}}(Fe.a),ut=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return t(i(r),e+".error")}}}(Fe.a);var lt,ct=function(e){var t=e.getIn,n=e.keys;return function(e){return function(r){return n((e||function(e){return t(e,"form")})(r))}}}(Fe.a),dt=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return t(i(r),e+".values")}}}(Fe.a),ft=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return t(i(r),e+".initial")}}}(Fe.a),pt=function(e){var t=e.getIn,n=e.empty;return function(e,r){return function(i){var o=r||function(e){return t(e,"form")};return t(o(i),e+".syncErrors")||n}}}(Fe.a),ht=function(e){var t=e.getIn,n=e.empty;return function(e,r){return function(i){var o=r||function(e){return t(e,"form")};return t(o(i),e+".fields")||n}}}(Fe.a),mt=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return t(i(r),e+".asyncErrors")}}}(Fe.a),gt=function(e){var t=e.getIn,n=e.empty;return function(e,r){return function(i){var o=r||function(e){return t(e,"form")};return t(o(i),e+".syncWarnings")||n}}}(Fe.a),yt=function(e){var t=e.getIn,n=e.empty;return function(e,r){return function(i){var o=r||function(e){return t(e,"form")};return t(o(i),e+".submitErrors")||n}}}(Fe.a),vt=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return!!t(i(r),e+".asyncValidating")}}}(Fe.a),bt=function(e){var t=e.deepEqual,n=e.empty,r=e.getIn;return function(e,i){return function(o){for(var a=(i||function(e){return r(e,"form")})(o),s=arguments.length,u=new Array(s>1?s-1:0),l=1;l<s;l++)u[l-1]=arguments[l];if(u&&u.length)return u.every(function(n){var i=r(a,e+".initial."+n),o=r(a,e+".values."+n);return t(i,o)});var c=r(a,e+".initial")||n,d=r(a,e+".values")||c;return t(c,d)}}},_t=function(e){return function(t,n){var r=bt(e)(t,n);return function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return!r.apply(void 0,[e].concat(n))}}}(Fe.a),wt=function(e){var t=e.getIn;return function(e,n,r,i){return!!(n||r||i)&&function(e,t){switch(t){case"Field":return[e,e+"._error"];case"FieldArray":return[e+"._error"];default:throw new Error("Unknown field type")}}(t(e,"name"),t(e,"type")).some(function(e){return t(n,e)||t(r,e)||t(i,e)})}},At=function(e){var t=e.getIn,n=e.keys,r=wt(e);return function(e,i,o){return void 0===o&&(o=!1),function(a){var s=(i||function(e){return t(e,"form")})(a);if(t(s,e+".syncError"))return!1;if(!o&&t(s,e+".error"))return!1;var u=t(s,e+".syncErrors"),l=t(s,e+".asyncErrors"),c=o?void 0:t(s,e+".submitErrors");if(!u&&!l&&!c)return!0;var d=t(s,e+".registeredFields");return!d||!n(d).filter(function(e){return t(d,"['"+e+"'].count")>0}).some(function(e){return r(t(d,"['"+e+"']"),u,l,c)})}}},xt=function(e){return function(t,n){var r=At(e)(t,n);return function(e){return!r(e)}}}(Fe.a),kt=bt(Fe.a),Mt=At(Fe.a),Et=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return!!t(i(r),e+".submitting")}}}(Fe.a),Lt=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return!!t(i(r),e+".submitSucceeded")}}}(Fe.a),St=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return!!t(i(r),e+".submitFailed")}}}(Fe.a),Dt=n(271),Tt=n.n(Dt),Ct=n(114),Ot=n.n(Ct),$t=n(112),jt=n.n($t),Pt=function(e,t,n,r){t(r);var i=e();if(!jt()(i))throw new Error("asyncValidate function passed to reduxForm must return a promise");var o=function(e){return function(t){if(e){if(t&&Object.keys(t).length)return n(t),t;throw n(),new Error("Asynchronous validation promise was rejected without errors.")}return n(),Promise.resolve()}};return i.then(o(!1),o(!0))},It=n(111),Nt=function(e){var t=Object(It.a)(e);return t&&e.preventDefault(),t},Ft=function(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return Nt(t)?e.apply(void 0,r):e.apply(void 0,[t].concat(r))}},Rt=function(e,t,n,r,i){for(var o=function(e){return Array.isArray(e)?e:[e]}(r),a=0;a<o.length;a++){var s=o[a](e,t,n,i);if(s)return s}},Yt=function(e,t){var n=t.getIn;return function(t,r){var i={};return Object.keys(e).forEach(function(o){var a=n(t,o),s=Rt(a,t,r,e[o],o);s&&(i=Fe.a.setIn(i,o,s))}),i}},Bt=function(e){return e&&e.name===fe.name};try{var zt=n(677).List;lt=zt.isList}catch(e){lt=function(e){return!1}}var Ht=function(e){return lt(e)?e.toArray():e},Ut=function(e,t,n){var r,i=n.dispatch,o=n.submitAsSideEffect,a=n.onSubmitFail,s=n.onSubmitSuccess,u=n.startSubmit,l=n.stopSubmit,c=n.setSubmitFailed,d=n.setSubmitSucceeded,f=n.values;t=Ht(t);try{r=e(f,i,n)}catch(e){var p=Bt(e)?e.errors:void 0;if(l(p),c.apply(void 0,t),a&&a(p,i,e,n),p||a)return p;throw e}if(o)r&&i(r);else{if(jt()(r))return u(),r.then(function(e){return l(),d(),s&&s(e,i,n),e},function(e){var r=Bt(e)?e.errors:void 0;if(l(r),c.apply(void 0,t),a&&a(r,i,e,n),r||a)return r;throw e});d(),s&&s(r,i,n)}return r},Zt=function(e,t,n,r,i){var a=t.dispatch,s=t.onSubmitFail,u=t.setSubmitFailed,l=t.syncErrors,c=t.asyncErrors,d=t.touch,f=t.persistentSubmitErrors;if(i=Ht(i),d.apply(void 0,i),n||f){var p=r&&r();return p?p.then(function(n){if(n)throw n;return Ut(e,i,t)}).catch(function(e){return u.apply(void 0,i),s&&s(e,a,null,t),Promise.reject(e)}):Ut(e,i,t)}u.apply(void 0,i);var h=function(e){var t=e.asyncErrors,n=e.syncErrors;return t&&"function"==typeof t.merge?t.merge(n).toJS():o()({},t,n)}({asyncErrors:c,syncErrors:l});return s&&s(h,a,null,t),h},Kt=function(e){return e.displayName||e.name||"Component"},qt=n(195),Wt=z.arrayInsert,Gt=z.arrayMove,Vt=z.arrayPop,Jt=z.arrayPush,Qt=z.arrayRemove,Xt=z.arrayRemoveAll,en=z.arrayShift,tn=z.arraySplice,nn=z.arraySwap,rn=z.arrayUnshift,on=z.blur,an=z.change,sn=z.focus,un=W()(z,["arrayInsert","arrayMove","arrayPop","arrayPush","arrayRemove","arrayRemoveAll","arrayShift","arraySplice","arraySwap","arrayUnshift","blur","change","focus"]),ln={arrayInsert:Wt,arrayMove:Gt,arrayPop:Vt,arrayPush:Jt,arrayRemove:Qt,arrayRemoveAll:Xt,arrayShift:en,arraySplice:tn,arraySwap:nn,arrayUnshift:rn},cn=[].concat(Object.keys(z),["array","asyncErrors","initialValues","syncErrors","syncWarnings","values","registeredFields"]),dn=function(e){if(!e||"function"!=typeof e)throw new Error("You must either pass handleSubmit() an onSubmit function or pass onSubmit as a prop");return e},fn=function(e){var t=e.deepEqual,n=e.empty,r=e.getIn,i=e.setIn,a=e.keys,s=e.fromJS,u=At(e);return function(l){var c=o()({touchOnBlur:!0,touchOnChange:!1,persistentSubmitErrors:!1,destroyOnUnmount:!0,shouldAsyncValidate:H,shouldValidate:U,shouldError:Z,shouldWarn:K,enableReinitialize:!1,keepDirtyOnReinitialize:!1,updateUnregisteredFields:!1,getFormState:function(e){return r(e,"form")},pure:!0,forceUnregisterOnUnmount:!1,submitAsSideEffect:!1},l);return function(l){var d=function(n){function u(){for(var t,u=arguments.length,l=new Array(u),c=0;c<u;c++)l[c]=arguments[c];return(t=n.call.apply(n,[this].concat(l))||this).wrapped=Q.a.createRef(),t.destroyed=!1,t.fieldCounts={},t.fieldValidators={},t.lastFieldValidatorKeys=[],t.fieldWarners={},t.lastFieldWarnerKeys=[],t.innerOnSubmit=void 0,t.submitPromise=void 0,t.getValues=function(){return t.props.values},t.isValid=function(){return t.props.valid},t.isPristine=function(){return t.props.pristine},t.register=function(e,n,r,i){var o=(t.fieldCounts[e]||0)+1;t.fieldCounts[e]=o,t.props.registerField(e,n),r&&(t.fieldValidators[e]=r),i&&(t.fieldWarners[e]=i)},t.unregister=function(e){var n=t.fieldCounts[e];if(1===n?delete t.fieldCounts[e]:null!=n&&(t.fieldCounts[e]=n-1),!t.destroyed){var r=t.props,i=r.destroyOnUnmount,o=r.forceUnregisterOnUnmount,a=r.unregisterField;i||o?(a(e,i),t.fieldCounts[e]||(delete t.fieldValidators[e],delete t.fieldWarners[e],t.lastFieldValidatorKeys=t.lastFieldValidatorKeys.filter(function(t){return t!==e}))):a(e,!1)}},t.getFieldList=function(e){var n=t.props.registeredFields,i=[];if(!n)return i;var o=a(n);return e&&(e.excludeFieldArray&&(o=o.filter(function(e){return"FieldArray"!==r(n,"['"+e+"'].type")})),e.excludeUnregistered&&(o=o.filter(function(e){return 0!==r(n,"['"+e+"'].count")}))),s(o.reduce(function(e,t){return e.push(t),e},i))},t.getValidators=function(){var e={};return Object.keys(t.fieldValidators).forEach(function(n){var r=t.fieldValidators[n]();r&&(e[n]=r)}),e},t.generateValidator=function(){var n=t.getValidators();return Object.keys(n).length?Yt(n,e):void 0},t.getWarners=function(){var e={};return Object.keys(t.fieldWarners).forEach(function(n){var r=t.fieldWarners[n]();r&&(e[n]=r)}),e},t.generateWarner=function(){var n=t.getWarners();return Object.keys(n).length?Yt(n,e):void 0},t.asyncValidate=function(e,n,o){var a,s,u=t.props,l=u.asyncBlurFields,c=u.asyncChangeFields,d=u.asyncErrors,f=u.asyncValidate,p=u.dispatch,h=u.initialized,m=u.pristine,g=u.shouldAsyncValidate,y=u.startAsyncValidation,v=u.stopAsyncValidation,b=u.syncErrors,_=u.values,w=!e;if(f){var A=w?_:i(_,e,n),x=w||!r(b,e);if(a=l&&e&&~l.indexOf(e.replace(/\[[0-9]+\]/g,"[]")),s=c&&e&&~c.indexOf(e.replace(/\[[0-9]+\]/g,"[]")),(w||!l&&!c||("blur"===o?a:s))&&g({asyncErrors:d,initialized:h,trigger:w?"submit":o,blurredField:e,pristine:m,syncValidationPasses:x}))return Pt(function(){return f(A,p,t.props,e)},y,v,e)}},t.submitCompleted=function(e){return delete t.submitPromise,e},t.submitFailed=function(e){throw delete t.submitPromise,e},t.listenToSubmit=function(e){return jt()(e)?(t.submitPromise=e,e.then(t.submitCompleted,t.submitFailed)):e},t.submit=function(e){var n=t.props,r=n.onSubmit,i=n.blur,a=n.change,s=n.dispatch;return e&&!Nt(e)?Ft(function(){return!t.submitPromise&&t.listenToSubmit(Zt(dn(e),o()({},t.props,Object(Ve.bindActionCreators)({blur:i,change:a},s)),t.props.validExceptSubmit,t.asyncValidate,t.getFieldList({excludeFieldArray:!0,excludeUnregistered:!0})))}):t.submitPromise?void 0:t.innerOnSubmit&&t.innerOnSubmit!==t.submit?t.innerOnSubmit():t.listenToSubmit(Zt(dn(r),o()({},t.props,Object(Ve.bindActionCreators)({blur:i,change:a},s)),t.props.validExceptSubmit,t.asyncValidate,t.getFieldList({excludeFieldArray:!0,excludeUnregistered:!0})))},t.reset=function(){return t.props.reset()},t}V()(u,n);var d=u.prototype;return d.initIfNeeded=function(e){var n=this.props.enableReinitialize;if(e){if((n||!e.initialized)&&!t(this.props.initialValues,e.initialValues)){var r=e.initialized&&this.props.keepDirtyOnReinitialize;this.props.initialize(e.initialValues,r,{keepValues:e.keepValues,lastInitialValues:this.props.initialValues,updateUnregisteredFields:e.updateUnregisteredFields})}}else!this.props.initialValues||this.props.initialized&&!n||this.props.initialize(this.props.initialValues,this.props.keepDirtyOnReinitialize,{keepValues:this.props.keepValues,updateUnregisteredFields:this.props.updateUnregisteredFields})},d.updateSyncErrorsIfNeeded=function(e,t,n){var r=this.props,i=r.error,o=r.updateSyncErrors,a=!(n&&Object.keys(n).length||i),s=!(e&&Object.keys(e).length||t);a&&s||Fe.a.deepEqual(n,e)&&Fe.a.deepEqual(i,t)||o(e,t)},d.clearSubmitPromiseIfNeeded=function(e){var t=this.props.submitting;this.submitPromise&&t&&!e.submitting&&delete this.submitPromise},d.submitIfNeeded=function(e){var t=this.props,n=t.clearSubmit;!t.triggerSubmit&&e.triggerSubmit&&(n(),this.submit())},d.shouldErrorFunction=function(){var e=this.props,t=e.shouldValidate,n=e.shouldError;return t!==U&&n===Z?t:n},d.validateIfNeeded=function(t){var n=this.props,r=n.validate,i=n.values,o=this.shouldErrorFunction(),a=this.generateValidator();if(r||a){var s=void 0===t,u=Object.keys(this.getValidators());if(o({values:i,nextProps:t,props:this.props,initialRender:s,lastFieldValidatorKeys:this.lastFieldValidatorKeys,fieldValidatorKeys:u,structure:e})){var l=s||!t?this.props:t,c=Tt()(r&&r(l.values,l)||{},a&&a(l.values,l)||{}),d=c._error,f=W()(c,["_error"]);this.lastFieldValidatorKeys=u,this.updateSyncErrorsIfNeeded(f,d,l.syncErrors)}}else this.lastFieldValidatorKeys=[]},d.updateSyncWarningsIfNeeded=function(e,t,n){var r=this.props,i=r.warning,o=r.syncWarnings,a=r.updateSyncWarnings,s=!(o&&Object.keys(o).length||i),u=!(e&&Object.keys(e).length||t);s&&u||Fe.a.deepEqual(n,e)&&Fe.a.deepEqual(i,t)||a(e,t)},d.shouldWarnFunction=function(){var e=this.props,t=e.shouldValidate,n=e.shouldWarn;return t!==U&&n===K?t:n},d.warnIfNeeded=function(t){var n=this.props,r=n.warn,i=n.values,o=this.shouldWarnFunction(),a=this.generateWarner();if(r||a){var s=void 0===t,u=Object.keys(this.getWarners());if(o({values:i,nextProps:t,props:this.props,initialRender:s,lastFieldValidatorKeys:this.lastFieldWarnerKeys,fieldValidatorKeys:u,structure:e})){var l=s||!t?this.props:t,c=Tt()(r?r(l.values,l):{},a?a(l.values,l):{}),d=c._warning,f=W()(c,["_warning"]);this.lastFieldWarnerKeys=u,this.updateSyncWarningsIfNeeded(f,d,l.syncWarnings)}}},d.componentWillMount=function(){Object(qt.a)()||(this.initIfNeeded(),this.validateIfNeeded(),this.warnIfNeeded()),$e()(this.props.shouldValidate,"shouldValidate() is deprecated and will be removed in v9.0.0. Use shouldWarn() or shouldError() instead.")},d.componentWillReceiveProps=function(e){this.initIfNeeded(e),this.validateIfNeeded(e),this.warnIfNeeded(e),this.clearSubmitPromiseIfNeeded(e),this.submitIfNeeded(e);var n=e.onChange,r=e.values,i=e.dispatch;n&&!t(r,this.props.values)&&n(r,i,e,this.props.values)},d.shouldComponentUpdate=function(e){var n=this;if(!this.props.pure)return!0;var r=c.immutableProps,i=void 0===r?[]:r;return!!(this.props.children||e.children||Object.keys(e).some(function(r){return~i.indexOf(r)?n.props[r]!==e[r]:!~cn.indexOf(r)&&!t(n.props[r],e[r])}))},d.componentDidMount=function(){Object(qt.a)()||(this.initIfNeeded(this.props),this.validateIfNeeded(),this.warnIfNeeded()),$e()(this.props.shouldValidate,"shouldValidate() is deprecated and will be removed in v9.0.0. Use shouldWarn() or shouldError() instead.")},d.componentWillUnmount=function(){var e=this.props,t=e.destroyOnUnmount,n=e.destroy;t&&!Object(qt.a)()&&(this.destroyed=!0,n())},d.render=function(){var e,t,n=this,i=this.props,a=i.anyTouched,s=i.array,u=(i.arrayInsert,i.arrayMove,i.arrayPop,i.arrayPush,i.arrayRemove,i.arrayRemoveAll,i.arrayShift,i.arraySplice,i.arraySwap,i.arrayUnshift,i.asyncErrors,i.asyncValidate,i.asyncValidating),c=i.blur,d=i.change,f=i.clearSubmit,p=i.destroy,h=(i.destroyOnUnmount,i.forceUnregisterOnUnmount,i.dirty),m=i.dispatch,g=(i.enableReinitialize,i.error),y=(i.focus,i.form),v=(i.getFormState,i.immutableProps,i.initialize),b=i.initialized,_=i.initialValues,w=i.invalid,A=(i.keepDirtyOnReinitialize,i.keepValues,i.updateUnregisteredFields,i.pristine),x=i.propNamespace,k=(i.registeredFields,i.registerField,i.reset),M=i.resetSection,E=(i.setSubmitFailed,i.setSubmitSucceeded,i.shouldAsyncValidate,i.shouldValidate,i.shouldError,i.shouldWarn,i.startAsyncValidation,i.startSubmit,i.stopAsyncValidation,i.stopSubmit,i.submitAsSideEffect),L=i.submitting,S=i.submitFailed,D=i.submitSucceeded,T=i.touch,C=(i.touchOnBlur,i.touchOnChange,i.persistentSubmitErrors,i.syncErrors,i.syncWarnings,i.unregisterField,i.untouch),O=(i.updateSyncErrors,i.updateSyncWarnings,i.valid),$=(i.validExceptSubmit,i.values,i.warning),j=W()(i,["anyTouched","array","arrayInsert","arrayMove","arrayPop","arrayPush","arrayRemove","arrayRemoveAll","arrayShift","arraySplice","arraySwap","arrayUnshift","asyncErrors","asyncValidate","asyncValidating","blur","change","clearSubmit","destroy","destroyOnUnmount","forceUnregisterOnUnmount","dirty","dispatch","enableReinitialize","error","focus","form","getFormState","immutableProps","initialize","initialized","initialValues","invalid","keepDirtyOnReinitialize","keepValues","updateUnregisteredFields","pristine","propNamespace","registeredFields","registerField","reset","resetSection","setSubmitFailed","setSubmitSucceeded","shouldAsyncValidate","shouldValidate","shouldError","shouldWarn","startAsyncValidation","startSubmit","stopAsyncValidation","stopSubmit","submitAsSideEffect","submitting","submitFailed","submitSucceeded","touch","touchOnBlur","touchOnChange","persistentSubmitErrors","syncErrors","syncWarnings","unregisterField","untouch","updateSyncErrors","updateSyncWarnings","valid","validExceptSubmit","values","warning"]),P=o()({array:s,anyTouched:a,asyncValidate:this.asyncValidate,asyncValidating:u},Object(Ve.bindActionCreators)({blur:c,change:d},m),{clearSubmit:f,destroy:p,dirty:h,dispatch:m,error:g,form:y,handleSubmit:this.submit,initialize:v,initialized:b,initialValues:_,invalid:w,pristine:A,reset:k,resetSection:M,submitting:L,submitAsSideEffect:E,submitFailed:S,submitSucceeded:D,touch:T,untouch:C,valid:O,warning:$}),I=o()({},x?((e={})[x]=P,e):P,j);t=l,Boolean(t&&t.prototype&&"object"==typeof t.prototype.isReactComponent)&&(I.ref=this.wrapped);var N=o()({},this.props,{getFormState:function(e){return r(n.props.getFormState(e),n.props.form)},asyncValidate:this.asyncValidate,getValues:this.getValues,sectionPrefix:void 0,register:this.register,unregister:this.unregister,registerInnerOnSubmit:function(e){return n.innerOnSubmit=e}});return Object(J.createElement)(ne.a.Provider,{value:N,children:Object(J.createElement)(l,I)})},u}(Q.a.Component);d.displayName="Form("+Kt(l)+")",d.WrappedComponent=l,d.propTypes={destroyOnUnmount:te.a.bool,forceUnregisterOnUnmount:te.a.bool,form:te.a.string.isRequired,immutableProps:te.a.arrayOf(te.a.string),initialValues:te.a.oneOfType([te.a.array,te.a.object]),getFormState:te.a.func,onSubmitFail:te.a.func,onSubmitSuccess:te.a.func,propNamespace:te.a.string,validate:te.a.func,warn:te.a.func,touchOnBlur:te.a.bool,touchOnChange:te.a.bool,triggerSubmit:te.a.bool,persistentSubmitErrors:te.a.bool,registeredFields:te.a.any};var f=Object(Ie.connect)(function(e,i){var o=i.form,a=i.getFormState,s=i.initialValues,l=i.enableReinitialize,c=i.keepDirtyOnReinitialize,d=r(a(e)||n,o)||n,f=r(d,"initial"),p=!!f,h=l&&p&&!t(s,f),m=h&&!c,g=s||f||n;h||(g=f||n);var y=r(d,"values")||g;m&&(y=g);var v=m||t(g,y),b=r(d,"asyncErrors"),_=r(d,"syncErrors")||Fe.a.empty,w=r(d,"syncWarnings")||Fe.a.empty,A=r(d,"registeredFields"),x=u(o,a,!1)(e),k=u(o,a,!0)(e),M=!!r(d,"anyTouched"),E=!!r(d,"submitting"),L=!!r(d,"submitFailed"),S=!!r(d,"submitSucceeded"),D=r(d,"error"),T=r(d,"warning"),C=r(d,"triggerSubmit");return{anyTouched:M,asyncErrors:b,asyncValidating:r(d,"asyncValidating")||!1,dirty:!v,error:D,initialized:p,invalid:!x,pristine:v,registeredFields:A,submitting:E,submitFailed:L,submitSucceeded:S,syncErrors:_,syncWarnings:w,triggerSubmit:C,values:y,valid:x,validExceptSubmit:k,warning:T}},function(e,t){var n=function(e){return e.bind(null,t.form)},r=Ge()(un,n),i=Ge()(ln,n),a=n(sn),s=Object(Ve.bindActionCreators)(r,e),u={insert:Object(Ve.bindActionCreators)(i.arrayInsert,e),move:Object(Ve.bindActionCreators)(i.arrayMove,e),pop:Object(Ve.bindActionCreators)(i.arrayPop,e),push:Object(Ve.bindActionCreators)(i.arrayPush,e),remove:Object(Ve.bindActionCreators)(i.arrayRemove,e),removeAll:Object(Ve.bindActionCreators)(i.arrayRemoveAll,e),shift:Object(Ve.bindActionCreators)(i.arrayShift,e),splice:Object(Ve.bindActionCreators)(i.arraySplice,e),swap:Object(Ve.bindActionCreators)(i.arraySwap,e),unshift:Object(Ve.bindActionCreators)(i.arrayUnshift,e)},l=o()({},s,i,{blur:function(e,n){return on(t.form,e,n,!!t.touchOnBlur)},change:function(e,n){return an(t.form,e,n,!!t.touchOnChange,!!t.persistentSubmitErrors)},array:u,focus:a,dispatch:e});return function(){return l}},void 0,{forwardRef:!0}),p=Ot()(f(d),l);p.defaultProps=c;var h=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).ref=Q.a.createRef(),t}V()(t,e);var r=t.prototype;return r.submit=function(){return this.ref.current&&this.ref.current.submit()},r.reset=function(){this.ref&&this.ref.current.reset()},r.render=function(){var e=this.props,t=e.initialValues,n=W()(e,["initialValues"]);return Object(J.createElement)(p,o()({},n,{ref:this.ref,initialValues:s(t)}))},Ce()(t,[{key:"valid",get:function(){return!(!this.ref.current||!this.ref.current.isValid())}},{key:"invalid",get:function(){return!this.valid}},{key:"pristine",get:function(){return!(!this.ref.current||!this.ref.current.isPristine())}},{key:"dirty",get:function(){return!this.pristine}},{key:"values",get:function(){return this.ref.current?this.ref.current.getValues():n}},{key:"fieldList",get:function(){return this.ref.current?this.ref.current.getFieldList():[]}},{key:"wrappedInstance",get:function(){return this.ref.current&&this.ref.current.wrapped.current}}]),t}(Q.a.Component);Object(X.polyfill)(h);var m=Ot()(Object(ne.b)(h),l);return m.defaultProps=c,m}}}(Fe.a),pn=n(144),hn=n.n(pn),mn=n(70),gn=n.n(mn);var yn=function(e){var t=function(e){return function(t,n){return void 0!==e.getIn(t,n)}},n=e.deepEqual,r=e.empty,i=e.getIn,o=e.deleteIn,a=e.setIn;return function(s){return void 0===s&&(s=t),function t(u,l){if("]"===l[l.length-1]){var c=gn()(l);return c.pop(),i(u,c.join("."))?a(u,l):u}var d=u;s(e)(u,l)&&(d=o(u,l));var f=l.lastIndexOf(".");if(f>0){var p=l.substring(0,f);if("]"!==p[p.length-1]){var h=i(d,p);if(n(h,r))return t(d,p)}}return d}}},vn=function(e){var t=e.getIn;return function(e,n){var r=null;/^values/.test(n)&&(r=n.replace("values","initial"));var i=!r||void 0===t(e,r);return void 0!==t(e,n)&&i}},bn=function(e){return e&&e.type&&e.type.length>a.length&&e.type.substring(0,a.length)===a};var _n=function(e){var t,n=e.deepEqual,r=e.empty,i=e.forEach,o=e.getIn,a=e.setIn,z=e.deleteIn,H=e.fromJS,U=e.keys,Z=e.size,K=e.some,q=e.splice,G=yn(e)(vn),V=yn(Fe.a)(vn),J=function(e,t,n,r,i,s,u){var l=o(e,t+"."+n);return l||u?a(e,t+"."+n,q(l,r,i,s)):e},Q=function(e,t,n,r,i,s,u){var l=o(e,t),c=Fe.a.getIn(l,n);return c||u?a(e,t,Fe.a.setIn(l,n,Fe.a.splice(c,r,i,s))):e},X=["values","fields","submitErrors","asyncErrors"],ee=function(e,t,n,i,o){var a=e,s=null!=o?r:void 0;return a=J(a,"values",t,n,i,o,!0),a=J(a,"fields",t,n,i,s),a=Q(a,"syncErrors",t,n,i,void 0),a=Q(a,"syncWarnings",t,n,i,void 0),a=J(a,"submitErrors",t,n,i,void 0),a=J(a,"asyncErrors",t,n,i,void 0)},te=((t={})[s]=function(e,t){var n=t.meta,r=n.field,i=n.index,o=t.payload;return ee(e,r,i,0,o)},t[u]=function(e,t){var n=t.meta,r=n.field,i=n.from,s=n.to,u=o(e,"values."+r),l=u?Z(u):0,c=e;return l&&X.forEach(function(e){var t=e+"."+r;if(o(c,t)){var n=o(c,t+"["+i+"]");c=a(c,t,q(o(c,t),i,1)),c=a(c,t,q(o(c,t),s,0,n))}}),c},t[l]=function(e,t){var n=t.meta.field,r=o(e,"values."+n),i=r?Z(r):0;return i?ee(e,n,i-1,1):e},t[c]=function(e,t){var n=t.meta.field,r=t.payload,i=o(e,"values."+n),a=i?Z(i):0;return ee(e,n,a,0,r)},t[d]=function(e,t){var n=t.meta,r=n.field,i=n.index;return ee(e,r,i,1)},t[f]=function(e,t){var n=t.meta.field,r=o(e,"values."+n),i=r?Z(r):0;return i?ee(e,n,0,i):e},t[p]=function(e,t){var n=t.meta.field;return ee(e,n,0,1)},t[h]=function(e,t){var n=t.meta,r=n.field,i=n.index,o=n.removeNum,a=t.payload;return ee(e,r,i,o,a)},t[g]=function(e,t){var n=t.meta,r=n.field,i=n.indexA,s=n.indexB,u=e;return X.forEach(function(e){var t=o(u,e+"."+r+"["+i+"]"),n=o(u,e+"."+r+"["+s+"]");void 0===t&&void 0===n||(u=a(u,e+"."+r+"["+i+"]",n),u=a(u,e+"."+r+"["+s+"]",t))}),u},t[m]=function(e,t){var n=t.meta.field,r=t.payload;return ee(e,n,0,0,r)},t[y]=function(e,t){var n=t.meta.field,r=t.payload,i=e;return i=G(i,"asyncErrors."+n),i=G(i,"submitErrors."+n),i=a(i,"fields."+n+".autofilled",!0),i=a(i,"values."+n,r)},t[v]=function(e,t){var n=t.meta,r=n.field,i=n.touch,s=t.payload,u=e;return void 0===o(u,"initial."+r)&&""===s?u=G(u,"values."+r):void 0!==s&&(u=a(u,"values."+r,s)),r===o(u,"active")&&(u=z(u,"active")),u=z(u,"fields."+r+".active"),i&&(u=a(u,"fields."+r+".touched",!0),u=a(u,"anyTouched",!0)),u},t[b]=function(e,t){var n=t.meta,r=n.field,i=n.touch,s=n.persistentSubmitErrors,u=t.payload,l=e;if(void 0===o(l,"initial."+r)&&""===u)l=G(l,"values."+r);else if(hn()(u)){var c=o(e,"values."+r);l=a(l,"values."+r,u(c,e.values))}else void 0!==u&&(l=a(l,"values."+r,u));return l=G(l,"asyncErrors."+r),s||(l=G(l,"submitErrors."+r)),l=G(l,"fields."+r+".autofilled"),i&&(l=a(l,"fields."+r+".touched",!0),l=a(l,"anyTouched",!0)),l},t[w]=function(e){return z(e,"triggerSubmit")},t[A]=function(e){var t=e;return t=G(t,"submitErrors"),t=z(t,"error")},t[x]=function(e,t){var n=t.meta.field;return z(e,"asyncErrors."+n)},t[_]=function(e,t){var n=t.meta,r=n.keepTouched,i=n.persistentSubmitErrors,s=n.fields,u=e;s.forEach(function(e){u=G(u,"values."+e),u=G(u,"asyncErrors."+e),i||(u=G(u,"submitErrors."+e)),u=G(u,"fields."+e+".autofilled"),r||(u=z(u,"fields."+e+".touched"))});var l=K(U(o(u,"registeredFields")),function(e){return o(u,"fields."+e+".touched")});return u=l?a(u,"anyTouched",!0):z(u,"anyTouched")},t[M]=function(e,t){var n=t.meta.field,r=e,i=o(e,"active");return r=z(r,"fields."+i+".active"),r=a(r,"fields."+n+".visited",!0),r=a(r,"fields."+n+".active",!0),r=a(r,"active",n)},t[E]=function(e,t){var s=t.payload,u=t.meta,l=u.keepDirty,c=u.keepSubmitSucceeded,d=u.updateUnregisteredFields,f=u.keepValues,p=H(s),h=r,m=o(e,"warning");m&&(h=a(h,"warning",m));var g=o(e,"syncWarnings");g&&(h=a(h,"syncWarnings",g));var y=o(e,"error");y&&(h=a(h,"error",y));var v=o(e,"syncErrors");v&&(h=a(h,"syncErrors",v));var b=o(e,"registeredFields");b&&(h=a(h,"registeredFields",b));var _=o(e,"values"),w=o(e,"initial"),A=p,x=_;if(l&&b){if(!n(A,w)){var k=function(e){var t=o(w,e),r=o(_,e);if(n(r,t)){var i=o(A,e);o(x,e)!==i&&(x=a(x,e,i))}};d||i(U(b),function(e){return k(e)}),i(U(A),function(e){if(void 0===o(w,e)){var t=o(A,e);x=a(x,e,t)}d&&k(e)})}}else x=A;return f&&(i(U(_),function(e){var t=o(_,e);x=a(x,e,t)}),i(U(w),function(e){var t=o(w,e);A=a(A,e,t)})),c&&o(e,"submitSucceeded")&&(h=a(h,"submitSucceeded",!0)),h=a(h,"values",x),h=a(h,"initial",A)},t[L]=function(e,t){var n=t.payload,r=n.name,i=n.type,s="registeredFields['"+r+"']",u=o(e,s);if(u){var l=o(u,"count")+1;u=a(u,"count",l)}else u=H({name:r,type:i,count:1});return a(e,s,u)},t[S]=function(e){var t=r,n=o(e,"registeredFields");n&&(t=a(t,"registeredFields",n));var i=o(e,"initial");return i&&(t=a(t,"values",i),t=a(t,"initial",i)),t},t[D]=function(e,t){var n=t.meta.sections,r=e;n.forEach(function(t){r=G(r,"asyncErrors."+t),r=G(r,"submitErrors."+t),r=G(r,"fields."+t);var n=o(e,"initial."+t);r=n?a(r,"values."+t,n):G(r,"values."+t)});var i=K(U(o(r,"registeredFields")),function(e){return o(r,"fields."+e+".touched")});return r=i?a(r,"anyTouched",!0):z(r,"anyTouched")},t[I]=function(e){return a(e,"triggerSubmit",!0)},t[O]=function(e,t){var n=t.meta.field;return a(e,"asyncValidating",n||!0)},t[$]=function(e){return a(e,"submitting",!0)},t[j]=function(e,t){var n=t.payload,r=e;if(r=z(r,"asyncValidating"),n&&Object.keys(n).length){var i=n._error,o=W()(n,["_error"]);i&&(r=a(r,"error",i)),Object.keys(o).length&&(r=a(r,"asyncErrors",H(o)))}else r=z(r,"error"),r=z(r,"asyncErrors");return r},t[P]=function(e,t){var n=t.payload,r=e;if(r=z(r,"submitting"),r=z(r,"submitFailed"),r=z(r,"submitSucceeded"),n&&Object.keys(n).length){var i=n._error,o=W()(n,["_error"]);r=i?a(r,"error",i):z(r,"error"),r=Object.keys(o).length?a(r,"submitErrors",H(o)):z(r,"submitErrors"),r=a(r,"submitFailed",!0)}else r=z(r,"error"),r=z(r,"submitErrors");return r},t[T]=function(e,t){var n=t.meta.fields,r=e;return r=a(r,"submitFailed",!0),r=z(r,"submitSucceeded"),r=z(r,"submitting"),n.forEach(function(e){return r=a(r,"fields."+e+".touched",!0)}),n.length&&(r=a(r,"anyTouched",!0)),r},t[C]=function(e){var t=e;return t=z(t,"submitFailed"),t=a(t,"submitSucceeded",!0)},t[N]=function(e,t){var n=t.meta.fields,r=e;return n.forEach(function(e){return r=a(r,"fields."+e+".touched",!0)}),r=a(r,"anyTouched",!0)},t[F]=function(e,t){var i=t.payload,s=i.name,u=i.destroyOnUnmount,l=e,c="registeredFields['"+s+"']",d=o(l,c);if(!d)return l;var f=o(d,"count")-1;if(f<=0&&u){l=z(l,c),n(o(l,"registeredFields"),r)&&(l=z(l,"registeredFields"));var p=o(l,"syncErrors");p&&(p=V(p,s),l=Fe.a.deepEqual(p,Fe.a.empty)?z(l,"syncErrors"):a(l,"syncErrors",p));var h=o(l,"syncWarnings");h&&(h=V(h,s),l=Fe.a.deepEqual(h,Fe.a.empty)?z(l,"syncWarnings"):a(l,"syncWarnings",h)),l=G(l,"submitErrors."+s),l=G(l,"asyncErrors."+s)}else d=a(d,"count",f),l=a(l,c,d);return l},t[R]=function(e,t){var n=t.meta.fields,r=e;n.forEach(function(e){return r=z(r,"fields."+e+".touched")});var i=K(U(o(r,"registeredFields")),function(e){return o(r,"fields."+e+".touched")});return r=i?a(r,"anyTouched",!0):z(r,"anyTouched")},t[Y]=function(e,t){var n=t.payload,r=n.syncErrors,i=n.error,o=e;return i?(o=a(o,"error",i),o=a(o,"syncError",!0)):(o=z(o,"error"),o=z(o,"syncError")),o=Object.keys(r).length?a(o,"syncErrors",r):z(o,"syncErrors")},t[B]=function(e,t){var n=t.payload,r=n.syncWarnings,i=n.warning,o=e;return o=i?a(o,"warning",i):z(o,"warning"),o=Object.keys(r).length?a(o,"syncWarnings",r):z(o,"syncWarnings")},t);return function e(t){return t.plugin=function(t,n){var i=this;return void 0===n&&(n={}),e(function(e,s){void 0===e&&(e=r),void 0===s&&(s={type:"NONE"});var u=function(n,r){var i=o(n,r),u=t[r](i,s,o(e,r));return u!==i?a(n,r,u):n},l=i(e,s),c=s&&s.meta&&s.meta.form;return c&&!n.receiveAllFormActions?t[c]?u(l,c):l:Object.keys(t).reduce(u,l)})},t}(function(e){return function(t,n){void 0===t&&(t=r),void 0===n&&(n={type:"NONE"});var i=n&&n.meta&&n.meta.form;if(!i||!bn(n))return t;if(n.type===k&&n.meta&&n.meta.form)return n.meta.form.reduce(function(e,t){return G(e,t)},t);var s=o(t,i),u=e(s,n);return u===s?t:a(t,i,u)}}(function(e,t){void 0===e&&(e=r);var n=te[t.type];return n?n(e,t):e}))}(Fe.a),wn=function(e){var t=e.getIn;return function(e){var n=o()({prop:"values",getFormState:function(e){return t(e,"form")}},e),r=n.form,i=n.prop,a=n.getFormState;return Object(Ie.connect)(function(e){var n;return(n={})[i]=t(a(e),r+".values"),n})}}(Fe.a);n.d(t,"actionTypes",function(){return An}),n.d(t,"arrayInsert",function(){return xn}),n.d(t,"arrayMove",function(){return kn}),n.d(t,"arrayPop",function(){return Mn}),n.d(t,"arrayPush",function(){return En}),n.d(t,"arrayRemove",function(){return Ln}),n.d(t,"arrayRemoveAll",function(){return Sn}),n.d(t,"arrayShift",function(){return Dn}),n.d(t,"arraySplice",function(){return Tn}),n.d(t,"arraySwap",function(){return Cn}),n.d(t,"arrayUnshift",function(){return On}),n.d(t,"autofill",function(){return $n}),n.d(t,"blur",function(){return jn}),n.d(t,"change",function(){return Pn}),n.d(t,"clearAsyncError",function(){return In}),n.d(t,"clearFields",function(){return Nn}),n.d(t,"clearSubmit",function(){return Fn}),n.d(t,"clearSubmitErrors",function(){return Rn}),n.d(t,"destroy",function(){return Yn}),n.d(t,"focus",function(){return Bn}),n.d(t,"initialize",function(){return zn}),n.d(t,"registerField",function(){return Hn}),n.d(t,"reset",function(){return Un}),n.d(t,"resetSection",function(){return Zn}),n.d(t,"setSubmitFailed",function(){return Kn}),n.d(t,"setSubmitSucceeded",function(){return qn}),n.d(t,"startAsyncValidation",function(){return Wn}),n.d(t,"startSubmit",function(){return Gn}),n.d(t,"stopAsyncValidation",function(){return Vn}),n.d(t,"stopSubmit",function(){return Jn}),n.d(t,"submit",function(){return Qn}),n.d(t,"touch",function(){return Xn}),n.d(t,"unregisterField",function(){return er}),n.d(t,"untouch",function(){return tr}),n.d(t,"updateSyncWarnings",function(){return nr}),n.d(t,"updateSyncErrors",function(){return rr}),n.d(t,"defaultShouldAsyncValidate",function(){return H}),n.d(t,"defaultShouldValidate",function(){return U}),n.d(t,"defaultShouldError",function(){return Z}),n.d(t,"defaultShouldWarn",function(){return K}),n.d(t,"Form",function(){return ie}),n.d(t,"FormName",function(){return oe}),n.d(t,"FormSection",function(){return le}),n.d(t,"SubmissionError",function(){return fe}),n.d(t,"propTypes",function(){return Se}),n.d(t,"fieldInputPropTypes",function(){return Ae}),n.d(t,"fieldMetaPropTypes",function(){return xe}),n.d(t,"fieldPropTypes",function(){return Ee}),n.d(t,"fieldArrayFieldsPropTypes",function(){return Me}),n.d(t,"fieldArrayMetaPropTypes",function(){return ke}),n.d(t,"fieldArrayPropTypes",function(){return Le}),n.d(t,"formPropTypes",function(){return we}),n.d(t,"Field",function(){return De.a}),n.d(t,"Fields",function(){return qe}),n.d(t,"FieldArray",function(){return tt}),n.d(t,"formValueSelector",function(){return nt}),n.d(t,"formValues",function(){return st}),n.d(t,"getFormError",function(){return ut}),n.d(t,"getFormNames",function(){return ct}),n.d(t,"getFormValues",function(){return dt}),n.d(t,"getFormInitialValues",function(){return ft}),n.d(t,"getFormSyncErrors",function(){return pt}),n.d(t,"getFormMeta",function(){return ht}),n.d(t,"getFormAsyncErrors",function(){return mt}),n.d(t,"getFormSyncWarnings",function(){return gt}),n.d(t,"getFormSubmitErrors",function(){return yt}),n.d(t,"isAsyncValidating",function(){return vt}),n.d(t,"isDirty",function(){return _t}),n.d(t,"isInvalid",function(){return xt}),n.d(t,"isPristine",function(){return kt}),n.d(t,"isValid",function(){return Mt}),n.d(t,"isSubmitting",function(){return Et}),n.d(t,"hasSubmitSucceeded",function(){return Lt}),n.d(t,"hasSubmitFailed",function(){return St}),n.d(t,"reduxForm",function(){return fn}),n.d(t,"reducer",function(){return _n}),n.d(t,"values",function(){return wn});var An=r,xn=z.arrayInsert,kn=z.arrayMove,Mn=z.arrayPop,En=z.arrayPush,Ln=z.arrayRemove,Sn=z.arrayRemoveAll,Dn=z.arrayShift,Tn=z.arraySplice,Cn=z.arraySwap,On=z.arrayUnshift,$n=z.autofill,jn=z.blur,Pn=z.change,In=z.clearAsyncError,Nn=z.clearFields,Fn=z.clearSubmit,Rn=z.clearSubmitErrors,Yn=z.destroy,Bn=z.focus,zn=z.initialize,Hn=z.registerField,Un=z.reset,Zn=z.resetSection,Kn=z.setSubmitFailed,qn=z.setSubmitSucceeded,Wn=z.startAsyncValidation,Gn=z.startSubmit,Vn=z.stopAsyncValidation,Jn=z.stopSubmit,Qn=z.submit,Xn=z.touch,er=z.unregisterField,tr=z.untouch,nr=z.updateSyncWarnings,rr=z.updateSyncErrors},function(e,t){e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=i.a.createContext(null);var u=function(e){e()},l=function(){return u},c=null,d={notify:function(){}};var f=function(){function e(e,t){this.store=e,this.parentSub=t,this.unsubscribe=null,this.listeners=d,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var t=e.prototype;return t.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},t.notifyNestedSubs=function(){this.listeners.notify()},t.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},t.isSubscribed=function(){return Boolean(this.unsubscribe)},t.trySubscribe=function(){var e,t,n;this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=(e=l(),t=[],n=[],{clear:function(){n=c,t=c},notify:function(){var r=t=n;e(function(){for(var e=0;e<r.length;e++)r[e]()})},get:function(){return n},subscribe:function(e){var r=!0;return n===t&&(n=t.slice()),n.push(e),function(){r&&t!==c&&(r=!1,n===t&&(n=t.slice()),n.splice(n.indexOf(e),1))}}}))},t.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=d)},e}(),p=function(e){var t,n;function r(t){var n;n=e.call(this,t)||this;var r=t.store;n.notifySubscribers=n.notifySubscribers.bind(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(n));var i=new f(r);return i.onStateChange=n.notifySubscribers,n.state={store:r,subscription:i},n.previousState=r.getState(),n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var o=r.prototype;return o.componentDidMount=function(){this._isMounted=!0,this.state.subscription.trySubscribe(),this.previousState!==this.props.store.getState()&&this.state.subscription.notifyNestedSubs()},o.componentWillUnmount=function(){this.unsubscribe&&this.unsubscribe(),this.state.subscription.tryUnsubscribe(),this._isMounted=!1},o.componentDidUpdate=function(e){if(this.props.store!==e.store){this.state.subscription.tryUnsubscribe();var t=new f(this.props.store);t.onStateChange=this.notifySubscribers,this.setState({store:this.props.store,subscription:t})}},o.notifySubscribers=function(){this.state.subscription.notifyNestedSubs()},o.render=function(){var e=this.props.context||s;return i.a.createElement(e.Provider,{value:this.state},this.props.children)},r}(r.Component);p.propTypes={store:a.a.shape({subscribe:a.a.func.isRequired,dispatch:a.a.func.isRequired,getState:a.a.func.isRequired}),context:a.a.object,children:a.a.any};var h=p;function m(){return(m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function g(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}var y=n(114),v=n.n(y),b=n(7),_=n.n(b),w=n(56),A=[],x=[null,null];function k(e,t){var n=e[1];return[t.payload,n+1]}var M=function(){return[null,0]},E="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?r.useLayoutEffect:r.useEffect;function L(e,t){void 0===t&&(t={});var n=t,o=n.getDisplayName,a=void 0===o?function(e){return"ConnectAdvanced("+e+")"}:o,u=n.methodName,l=void 0===u?"connectAdvanced":u,c=n.renderCountProp,d=void 0===c?void 0:c,p=n.shouldHandleStateChanges,h=void 0===p||p,y=n.storeKey,b=void 0===y?"store":y,L=n.withRef,S=void 0!==L&&L,D=n.forwardRef,T=void 0!==D&&D,C=n.context,O=void 0===C?s:C,$=g(n,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]);_()(void 0===d,"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension"),_()(!S,"withRef is removed. To access the wrapped instance, use a ref on the connected component");_()("store"===b,"storeKey has been removed and does not do anything. To use a custom Redux store for specific components, create a custom React context with React.createContext(), and pass the context object to React Redux's Provider and specific components like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. You may also pass a {context : MyContext} option to connect");var j=O;return function(t){var n=t.displayName||t.name||"Component",o=a(n),s=m({},$,{getDisplayName:a,methodName:l,renderCountProp:d,shouldHandleStateChanges:h,storeKey:b,displayName:o,wrappedComponentName:n,WrappedComponent:t}),u=$.pure;var c=u?r.useMemo:function(e){return e()};function p(n){var a=Object(r.useMemo)(function(){var e=n.forwardedRef,t=g(n,["forwardedRef"]);return[n.context,e,t]},[n]),u=a[0],l=a[1],d=a[2],p=Object(r.useMemo)(function(){return u&&u.Consumer&&Object(w.isContextConsumer)(i.a.createElement(u.Consumer,null))?u:j},[u,j]),y=Object(r.useContext)(p),v=Boolean(n.store),b=Boolean(y)&&Boolean(y.store);_()(v||b,'Could not find "store" in the context of "'+o+'". Either wrap the root component in a <Provider>, or pass a custom React context provider to <Provider> and the corresponding React context consumer to '+o+" in connect options.");var L=n.store||y.store,S=Object(r.useMemo)(function(){return function(t){return e(t.dispatch,s)}(L)},[L]),D=Object(r.useMemo)(function(){if(!h)return x;var e=new f(L,v?null:y.subscription),t=e.notifyNestedSubs.bind(e);return[e,t]},[L,v,y]),T=D[0],C=D[1],O=Object(r.useMemo)(function(){return v?y:m({},y,{subscription:T})},[v,y,T]),$=Object(r.useReducer)(k,A,M),P=$[0][0],I=$[1];if(P&&P.error)throw P.error;var N=Object(r.useRef)(),F=Object(r.useRef)(d),R=Object(r.useRef)(),Y=Object(r.useRef)(!1),B=c(function(){return R.current&&d===F.current?R.current:S(L.getState(),d)},[L,P,d]);E(function(){F.current=d,N.current=B,Y.current=!1,R.current&&(R.current=null,C())}),E(function(){if(h){var e=!1,t=null,n=function(){if(!e){var n,r,i=L.getState();try{n=S(i,F.current)}catch(e){r=e,t=e}r||(t=null),n===N.current?Y.current||C():(N.current=n,R.current=n,Y.current=!0,I({type:"STORE_UPDATED",payload:{latestStoreState:i,error:r}}))}};T.onStateChange=n,T.trySubscribe(),n();return function(){if(e=!0,T.tryUnsubscribe(),t)throw t}}},[L,T,S]);var z=Object(r.useMemo)(function(){return i.a.createElement(t,m({},B,{ref:l}))},[l,t,B]);return Object(r.useMemo)(function(){return h?i.a.createElement(p.Provider,{value:O},z):z},[p,z,O])}var y=u?i.a.memo(p):p;if(y.WrappedComponent=t,y.displayName=o,T){var L=i.a.forwardRef(function(e,t){return i.a.createElement(y,m({},e,{forwardedRef:t}))});return L.displayName=o,L.WrappedComponent=t,v()(L,t)}return v()(y,t)}}var S=Object.prototype.hasOwnProperty;function D(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function T(e,t){if(D(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var i=0;i<n.length;i++)if(!S.call(t,n[i])||!D(e[n[i]],t[n[i]]))return!1;return!0}var C=n(20);function O(e){return function(t,n){var r=e(t,n);function i(){return r}return i.dependsOnOwnProps=!1,i}}function $(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}function j(e,t){return function(t,n){n.displayName;var r=function(e,t){return r.dependsOnOwnProps?r.mapToProps(e,t):r.mapToProps(e)};return r.dependsOnOwnProps=!0,r.mapToProps=function(t,n){r.mapToProps=e,r.dependsOnOwnProps=$(e);var i=r(t,n);return"function"==typeof i&&(r.mapToProps=i,r.dependsOnOwnProps=$(i),i=r(t,n)),i},r}}var P=[function(e){return"function"==typeof e?j(e):void 0},function(e){return e?void 0:O(function(e){return{dispatch:e}})},function(e){return e&&"object"==typeof e?O(function(t){return Object(C.bindActionCreators)(e,t)}):void 0}];var I=[function(e){return"function"==typeof e?j(e):void 0},function(e){return e?void 0:O(function(){return{}})}];function N(e,t,n){return m({},n,e,t)}var F=[function(e){return"function"==typeof e?function(e){return function(t,n){n.displayName;var r,i=n.pure,o=n.areMergedPropsEqual,a=!1;return function(t,n,s){var u=e(t,n,s);return a?i&&o(u,r)||(r=u):(a=!0,r=u),r}}}(e):void 0},function(e){return e?void 0:function(){return N}}];function R(e,t,n,r){return function(i,o){return n(e(i,o),t(r,o),o)}}function Y(e,t,n,r,i){var o,a,s,u,l,c=i.areStatesEqual,d=i.areOwnPropsEqual,f=i.areStatePropsEqual,p=!1;function h(i,p){var h,m,g=!d(p,a),y=!c(i,o);return o=i,a=p,g&&y?(s=e(o,a),t.dependsOnOwnProps&&(u=t(r,a)),l=n(s,u,a)):g?(e.dependsOnOwnProps&&(s=e(o,a)),t.dependsOnOwnProps&&(u=t(r,a)),l=n(s,u,a)):y?(h=e(o,a),m=!f(h,s),s=h,m&&(l=n(s,u,a)),l):l}return function(i,c){return p?h(i,c):(s=e(o=i,a=c),u=t(r,a),l=n(s,u,a),p=!0,l)}}function B(e,t){var n=t.initMapStateToProps,r=t.initMapDispatchToProps,i=t.initMergeProps,o=g(t,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),a=n(e,o),s=r(e,o),u=i(e,o);return(o.pure?Y:R)(a,s,u,e,o)}function z(e,t,n){for(var r=t.length-1;r>=0;r--){var i=t[r](e);if(i)return i}return function(t,r){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function H(e,t){return e===t}var U,Z,K,q,W,G,V,J,Q,X,ee,te,ne=(K=(Z=void 0===U?{}:U).connectHOC,q=void 0===K?L:K,W=Z.mapStateToPropsFactories,G=void 0===W?I:W,V=Z.mapDispatchToPropsFactories,J=void 0===V?P:V,Q=Z.mergePropsFactories,X=void 0===Q?F:Q,ee=Z.selectorFactory,te=void 0===ee?B:ee,function(e,t,n,r){void 0===r&&(r={});var i=r,o=i.pure,a=void 0===o||o,s=i.areStatesEqual,u=void 0===s?H:s,l=i.areOwnPropsEqual,c=void 0===l?T:l,d=i.areStatePropsEqual,f=void 0===d?T:d,p=i.areMergedPropsEqual,h=void 0===p?T:p,y=g(i,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),v=z(e,G,"mapStateToProps"),b=z(t,J,"mapDispatchToProps"),_=z(n,X,"mergeProps");return q(te,m({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:v,initMapDispatchToProps:b,initMergeProps:_,pure:a,areStatesEqual:u,areOwnPropsEqual:c,areStatePropsEqual:f,areMergedPropsEqual:h},y))});function re(){var e=Object(r.useContext)(s);return _()(e,"could not find react-redux context value; please ensure the component is wrapped in a <Provider>"),e}function ie(){return re().store}function oe(){return ie().dispatch}var ae="undefined"!=typeof window?r.useLayoutEffect:r.useEffect,se=function(e,t){return e===t};function ue(e,t){void 0===t&&(t=se),_()(e,"You must pass a selector to useSelectors");var n,i=re(),o=i.store,a=i.subscription,s=Object(r.useReducer)(function(e){return e+1},0)[1],u=Object(r.useMemo)(function(){return new f(o,a)},[o,a]),l=Object(r.useRef)(),c=Object(r.useRef)(),d=Object(r.useRef)();try{n=e!==c.current||l.current?e(o.getState()):d.current}catch(e){var p="An error occured while selecting the store state: "+e.message+".";throw l.current&&(p+="\nThe error may be correlated with this previous error:\n"+l.current.stack+"\n\nOriginal stack trace:"),new Error(p)}return ae(function(){c.current=e,d.current=n,l.current=void 0}),ae(function(){function e(){try{var e=c.current(o.getState());if(t(e,d.current))return;d.current=e}catch(e){l.current=e}s({})}return u.onStateChange=e,u.trySubscribe(),e(),function(){return u.tryUnsubscribe()}},[o,u]),n}var le,ce=n(19);n.d(t,"Provider",function(){return h}),n.d(t,"connectAdvanced",function(){return L}),n.d(t,"ReactReduxContext",function(){return s}),n.d(t,"connect",function(){return ne}),n.d(t,"batch",function(){return ce.unstable_batchedUpdates}),n.d(t,"useDispatch",function(){return oe}),n.d(t,"useSelector",function(){return ue}),n.d(t,"useStore",function(){return ie}),n.d(t,"shallowEqual",function(){return T}),le=ce.unstable_batchedUpdates,u=le},function(e,t){var n=e.exports={version:"2.6.9"};"number"==typeof __e&&(__e=n)},function(e,t,n){"use strict";t.__esModule=!0,t.message=t.accessor=t.disabled=t.dateFormat=t.numberFormat=void 0;var r=s(n(1)),i=s(n(837));t.elementType=i.default;var o=s(n(467)),a=n(34);function s(e){return e&&e.__esModule?e:{default:e}}var u=(0,o.default)(function(){return a.number.propType.apply(a.number,arguments)});t.numberFormat=u;var l=(0,o.default)(function(){return a.date.propType.apply(a.date,arguments)});t.dateFormat=l;var c=(0,o.default)(function(){return r.default.bool.apply(r.default,arguments)});t.disabled=c,c.acceptsArray=r.default.oneOfType([c,r.default.array]);var d=r.default.oneOfType([r.default.string,r.default.func]);t.accessor=d;var f=r.default.oneOfType([r.default.node,r.default.string,r.default.func]);t.message=f},function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(576)},function(e,t,n){"use strict";n.r(t),n.d(t,"createStore",function(){return s}),n.d(t,"combineReducers",function(){return l}),n.d(t,"bindActionCreators",function(){return d}),n.d(t,"applyMiddleware",function(){return h}),n.d(t,"compose",function(){return p}),n.d(t,"__DO_NOT_USE__ActionTypes",function(){return o});var r=n(87),i=function(){return Math.random().toString(36).substring(7).split("").join(".")},o={INIT:"@@redux/INIT"+i(),REPLACE:"@@redux/REPLACE"+i(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+i()}};function a(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function s(e,t,n){var i;if("function"==typeof t&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw new Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function");if("function"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if("function"!=typeof n)throw new Error("Expected the enhancer to be a function.");return n(s)(e,t)}if("function"!=typeof e)throw new Error("Expected the reducer to be a function.");var u=e,l=t,c=[],d=c,f=!1;function p(){d===c&&(d=c.slice())}function h(){if(f)throw new Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return l}function m(e){if("function"!=typeof e)throw new Error("Expected the listener to be a function.");if(f)throw new Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");var t=!0;return p(),d.push(e),function(){if(t){if(f)throw new Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");t=!1,p();var n=d.indexOf(e);d.splice(n,1)}}}function g(e){if(!a(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(f)throw new Error("Reducers may not dispatch actions.");try{f=!0,l=u(l,e)}finally{f=!1}for(var t=c=d,n=0;n<t.length;n++){(0,t[n])()}return e}return g({type:o.INIT}),(i={dispatch:g,subscribe:m,getState:h,replaceReducer:function(e){if("function"!=typeof e)throw new Error("Expected the nextReducer to be a function.");u=e,g({type:o.REPLACE})}})[r.a]=function(){var e,t=m;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new TypeError("Expected the observer to be an object.");function n(){e.next&&e.next(h())}return n(),{unsubscribe:t(n)}}})[r.a]=function(){return this},e},i}function u(e,t){var n=t&&t.type;return"Given "+(n&&'action "'+String(n)+'"'||"an action")+', reducer "'+e+'" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'}function l(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++){var i=t[r];0,"function"==typeof e[i]&&(n[i]=e[i])}var a,s=Object.keys(n);try{!function(e){Object.keys(e).forEach(function(t){var n=e[t];if(void 0===n(void 0,{type:o.INIT}))throw new Error('Reducer "'+t+"\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.");if(void 0===n(void 0,{type:o.PROBE_UNKNOWN_ACTION()}))throw new Error('Reducer "'+t+"\" returned undefined when probed with a random type. Don't try to handle "+o.INIT+' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.')})}(n)}catch(e){a=e}return function(e,t){if(void 0===e&&(e={}),a)throw a;for(var r=!1,i={},o=0;o<s.length;o++){var l=s[o],c=n[l],d=e[l],f=c(d,t);if(void 0===f){var p=u(l,t);throw new Error(p)}i[l]=f,r=r||f!==d}return r?i:e}}function c(e,t){return function(){return t(e.apply(this,arguments))}}function d(e,t){if("function"==typeof e)return c(e,t);if("object"!=typeof e||null===e)throw new Error("bindActionCreators expected an object or a function, instead received "+(null===e?"null":typeof e)+'. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');for(var n=Object.keys(e),r={},i=0;i<n.length;i++){var o=n[i],a=e[o];"function"==typeof a&&(r[o]=c(a,t))}return r}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}})}function h(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),r=function(){throw new Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},i={getState:n.getState,dispatch:function(){return r.apply(void 0,arguments)}},o=t.map(function(e){return e(i)});return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){f(e,t,n[t])})}return e}({},n,{dispatch:r=p.apply(void 0,o)(n.dispatch)})}}}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r,i=n(277),o=(r=i)&&r.__esModule?r:{default:r};t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,o.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){"use strict";t.__esModule=!0;var r,i=n(67),o=(r=i)&&r.__esModule?r:{default:r};t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,o.default)(t))&&"function"!=typeof t?e:t}},function(e,t,n){"use strict";t.__esModule=!0;var r=a(n(568)),i=a(n(572)),o=a(n(67));function a(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,o.default)(t)));e.prototype=(0,i.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(r.default?(0,r.default)(e,t):e.__proto__=t)}},function(e,t,n){"use strict";n.d(t,"a",function(){return c}),n.d(t,"b",function(){return d});var r=n(5),i=n.n(r),o=n(11),a=n.n(o),s=n(14),u=n.n(s),l=n(0),c=l.createContext(null),d=function(e){var t=function(t){function n(){return t.apply(this,arguments)||this}return u()(n,t),n.prototype.render=function(){var t=this.props,n=t.forwardedRef,r=a()(t,["forwardedRef"]);return l.createElement(c.Consumer,{children:function(t){return l.createElement(e,i()({_reduxForm:t,ref:n},r))}})},n}(l.Component),n=l.forwardRef(function(e,n){return l.createElement(t,i()({},e,{forwardedRef:n}))});return n.displayName=e.displayName||e.name||"Component",n}},function(e,t,n){"use strict";t.a=function(e,t){var n=e._reduxForm.sectionPrefix;return n?n+"."+t:t}},function(e,t,n){"use strict";var r=n(131),i=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],o=["scalar","sequence","mapping"];e.exports=function(e,t){var n,a;if(t=t||{},Object.keys(t).forEach(function(t){if(-1===i.indexOf(t))throw new r('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=(n=t.styleAliases||null,a={},null!==n&&Object.keys(n).forEach(function(e){n[e].forEach(function(t){a[String(t)]=e})}),a),-1===o.indexOf(this.kind))throw new r('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=p(n(30)),o=p(n(21)),a=p(n(22)),s=p(n(23)),u=p(n(24)),l=n(0),c=p(l),d=n(15),f=n(217);function p(e){return e&&e.__esModule?e:{default:e}}var h=function(e){var t=e;return e.length>m&&(t=e.substring(0,m-1)+"..."),t},m=100,g=(0,d.connect)(function(e){return{}},function(e){return{show:function(t){return e((0,f.show)(t))}}})(r=function(e){function t(e){return(0,o.default)(this,t),(0,s.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e))}return(0,u.default)(t,e),(0,a.default)(t,[{key:"render",value:function(){var e=this;if(!this.props.title&&!this.props.description)return null;var t=this.props,n=t.title,r=t.description,i=h(r);return c.default.createElement("div",{className:"field_info"},c.default.createElement("small",{className:"form-text text-muted"},c.default.createElement("span",null,i),r.length>m&&c.default.createElement("span",null,c.default.createElement("a",{href:"#",className:"link",onClick:function(){console.log("CLICK",r),e.props.show({title:n,description:r})}},"Read more"))))}}]),t}(l.Component))||r;t.default=g},function(e,t,n){"use strict";t.__esModule=!0,t.pick=function(e,t){var n=Object.keys(t.propTypes),r={};return Object.keys(e).forEach(function(t){-1!==n.indexOf(t)&&(r[t]=e[t])}),r},t.pickElementProps=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];var s=o.apply(void 0,[e].concat(n)),u={};return Object.keys(s).forEach(function(e){(-1!==r.indexOf(e)||i.some(function(t){return!!e.match(t)}))&&(u[e]=s[e])}),u},t.omitOwn=o;var r=["style","className","role","id","autocomplete","size","tabIndex","maxLength","name"],i=[/^aria-/,/^data-/,/^on[A-Z]\w+/];function o(e){for(var t=Object.keys(e.constructor.propTypes),n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];var o=r.reduce(function(e,t){return e.concat(Object.keys(t.propTypes))},t),a={};return Object.keys(e.props).forEach(function(t){-1===o.indexOf(t)&&(a[t]=e.props[t])}),a}},function(e,t,n){e.exports={default:n(545),__esModule:!0}},function(e,t,n){"use strict";function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments[1];return new RegExp("^(?:"+t+")$").test(e)}function i(e,t){var n=e.slice(),r=t,i=Array.isArray(r),o=0;for(r=i?r:r[Symbol.iterator]();;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if((o=r.next()).done)break;a=o.value}var s=a;e.indexOf(s)<0&&n.push(s)}return n.sort(function(e,t){return e-t})}n.d(t,"a",function(){return r}),n.d(t,"b",function(){return i})},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){var r=n(198)("wks"),i=n(147),o=n(32).Symbol,a="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))}).store=r},function(e,t,n){"use strict";t.__esModule=!0,t.setNumber=function(e){var t=e.format,n=e.parse,r=e.formats,i=e.propType,s=void 0===i?o:i,l=e.decimalChar,c=void 0===l?function(){return"."}:l,d=e.precision,h=void 0===d?function(){return null}:d;p(a,r),u={formats:r,precision:h,decimalChar:c,propType:s,format:f(t),parse:function(e,t,r){var i=n.call(this,e,t,r);return null!=i&&"number"!=typeof i&&invariant(!1),i}}},t.setDate=function(e){var t=e.formats,n=e.format,r=e.parse,i=e.firstOfWeek,a=e.propType,u=void 0===a?o:a;p(s,t),c={formats:t,propType:u,firstOfWeek:i,format:f(n),parse:function(e,t,n){var i=r.call(this,e,t,n);return null==i||i instanceof Date&&!isNaN(i.getTime())||invariant(!1),i}}},t.date=t.number=void 0;i(n(7)),n(48);var r=i(n(1));function i(e){return e&&e.__esModule?e:{default:e}}var o=r.default.oneOfType([r.default.string,r.default.func]),a=["default"],s=["default","date","time","header","footer","weekday","dayOfMonth","month","year","decade","century"],u=h(),l={propType:function(){var e;return(e=u).propType.apply(e,arguments)},getFormat:function(e,t){return t||u.formats[e]},parse:function(){var e;return(e=u).parse.apply(e,arguments)},format:function(){var e;return(e=u).format.apply(e,arguments)},decimalChar:function(){var e;return(e=u).decimalChar.apply(e,arguments)},precision:function(){var e;return(e=u).precision.apply(e,arguments)}};t.number=l;var c=h(),d={propType:function(){var e;return(e=c).propType.apply(e,arguments)},getFormat:function(e,t){return t||c.formats[e]},parse:function(){var e;return(e=c).parse.apply(e,arguments)},format:function(){var e;return(e=c).format.apply(e,arguments)},firstOfWeek:function(){var e;return(e=c).firstOfWeek.apply(e,arguments)}};t.date=d;var f=function(e){return function(t,n,r){var i="function"==typeof n?n(t,r,this):e.call(this,t,n,r);return null!=i&&"string"!=typeof i&&invariant(!1),i}};function p(e,t){0}function h(){return{}}},function(e,t,n){"use strict";var r=n(56);t.a=function(e,t,n){return Object(r.isValidElementType)(e[t])?null:new Error("Invalid prop `"+t+"` supplied to `"+n+"`.")}},function(e,t,n){var r=n(32),i=n(16),o=n(89),a=n(73),s=n(72),u=function(e,t,n){var l,c,d,f=e&u.F,p=e&u.G,h=e&u.S,m=e&u.P,g=e&u.B,y=e&u.W,v=p?i:i[t]||(i[t]={}),b=v.prototype,_=p?r:h?r[t]:(r[t]||{}).prototype;for(l in p&&(n=t),n)(c=!f&&_&&void 0!==_[l])&&s(v,l)||(d=c?_[l]:n[l],v[l]=p&&"function"!=typeof _[l]?n[l]:g&&c?o(d,r):y&&_[l]==d?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(d):m&&"function"==typeof d?o(Function.call,d):d,m&&((v.virtual||(v.virtual={}))[l]=d,e&u.R&&b&&!b[l]&&a(b,l,d)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},function(e,t){var n=Array.isArray;e.exports=n},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"a",function(){return u});var r=n(10),i=n(31),o=["MOBILE","PREMIUM_RATE","TOLL_FREE","SHARED_COST","VOIP","PERSONAL_NUMBER","PAGER","UAN","VOICEMAIL"];function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];if(e.country){if(!(n=new r.a(n)).hasCountry(e.country))throw new Error("Unknown country: "+e.country);var a=t.v2?e.nationalNumber:e.phone;if(n.country(e.country),Object(i.a)(a,n.nationalNumberPattern())){if(s(a,"FIXED_LINE",n))return n.type("MOBILE")&&""===n.type("MOBILE").pattern()?"FIXED_LINE_OR_MOBILE":n.type("MOBILE")?s(a,"MOBILE",n)?"FIXED_LINE_OR_MOBILE":"FIXED_LINE":"FIXED_LINE_OR_MOBILE";var u=o,l=Array.isArray(u),c=0;for(u=l?u:u[Symbol.iterator]();;){var d;if(l){if(c>=u.length)break;d=u[c++]}else{if((c=u.next()).done)break;d=c.value}var f=d;if(s(a,f,n))return f}}}}function s(e,t,n){return!(!(t=n.type(t))||!t.pattern())&&(!(t.possibleLengths()&&t.possibleLengths().indexOf(e.length)<0)&&Object(i.a)(e,t.pattern()))}function u(e,t,n){var r=n.type(t),o=r&&r.possibleLengths()||n.possibleLengths();if("FIXED_LINE_OR_MOBILE"===t){if(!n.type("FIXED_LINE"))return u(e,"MOBILE",n);var a=n.type("MOBILE");a&&(o=Object(i.b)(o,a.possibleLengths()))}else if(t&&!r)return"INVALID_LENGTH";var s=e.length,l=o[0];return l===s?"IS_POSSIBLE":l>s?"TOO_SHORT":o[o.length-1]<s?"TOO_LONG":o.indexOf(s,1)>=0?"IS_POSSIBLE":"INVALID_LENGTH"}},function(e,t,n){"use strict";var r=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=this.constructor.name,this.message=t,this.stack=new Error(t).stack};t.a=r,(r.prototype=Object.create(Error.prototype)).constructor=r},function(e,t,n){var r=n(58);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){e.exports=!n(90)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){var r=n(290),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();e.exports=o},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object({REPOSITORY:void 0,ELASTIC_URL:void 0,VALIDATOR_URL:void 0,VALIDATOR_REMOTE_URL:void 0}),i=r.REPOSITORY,o=r.ELASTIC_URL;r.VALIDATOR_URL,r.VALIDATOR_REMOTE_URL,t.privacyPolicyUrl="https://joinup.ec.europa.eu/collection/joinup/specific-privacy-statement",t.repositoryUrl="https://yml.publiccode.tools",t.versionsUrl="https://api.github.com/repos/"+i+"/contents/version",t.sampleUrl="https://raw.githubusercontent.com/italia/pc-web-validator/master/tests/valid.minimal.yml",t.elasticUrl=o||"",t.validatorUrl="https://publiccode-validator.developers.italia.it/pc/validate",t.validatorRemoteUrl="https://publiccode-validator.developers.italia.it/pc/validateURL",t.APP_FORM="appForm"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=h(n(8)),i=h(n(165)),o=n(0),a=h(o),s=h(n(1)),u=h(n(6)),l=n(13),c=h(n(795)),d=h(n(28)),f=n(15),p=n(46);function h(e){return e&&e.__esModule?e:{default:e}}var m=function(e){var t=(0,u.default)(["form-group",{"has-error":e.meta.touched&&e.meta.error}]),n=(0,o.useState)(0),s=(0,i.default)(n,2),c=s[0],h=s[1],m=(0,f.useDispatch)();return(0,f.useDispatch)(function(){e.schema.value&&e.input&&(e.input.value||m((0,l.change)(p.APP_FORM,e.input.name,e.schema.value)))}),a.default.createElement("div",{className:t},e.showLabel&&a.default.createElement("label",{className:"control-label",htmlFor:e.id},e.label," ",e.required?"*":""),a.default.createElement("input",(0,r.default)({},e.input,{type:e.type,required:e.required,className:"form-control",placeholder:e.placeholder,maxLength:e.maxLength,minLength:e.minLength,disabled:e.schema.disabled,onKeyUp:function(e){h(c=e.target.value.length)}})),e.meta.touched&&e.meta.error&&a.default.createElement("span",{className:"help-block"},e.meta.error),e.maxLength&&a.default.createElement(d.default,{description:c+"/"+e.maxLength+" chars used"}),e.description&&a.default.createElement(d.default,{title:e.label?e.label:e.name,description:e.description}))},g=function(e){return a.default.createElement(c.default,(0,r.default)({component:m,label:e.label,name:e.fieldName,required:e.required,id:"field-"+e.fieldName,placeholder:e.schema.default,description:e.schema.description,type:e.type,normalize:e.normalizer},e))};g.propTypes={schema:s.default.object.isRequired,type:s.default.string.isRequired,required:s.default.bool,fieldName:s.default.string,label:s.default.string,normalizer:s.default.func,description:s.default.string},t.default=g},function(e,t,n){"use strict";t.__esModule=!0,t.isShallowEqual=function(e,t){if(e===t)return!0;if(e instanceof Date&&t instanceof Date)return+e==+t;if("object"!=typeof e&&"object"!=typeof t)return e===t;if(typeof e!=typeof t)return!1;if(null==e||null==t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!i(t,n[o])||e[n[o]]!==t[n[o]])return!1;return!0},t.chunk=function(e,t){var n=0,r=e?e.length:0,i=[];t=Math.max(+t||1,1);for(;n<r;)i.push(e.slice(n,n+=t));return i},t.groupBySortedKeys=function(e,t,n){var r="function"==typeof e?e:function(t){return t[e]};return n=n||[],t.reduce(function(e,t){var o=r(t);return i(e,o)?e[o].push(t):(n.push(o),e[o]=[t]),e},{})},t.has=t.makeArray=void 0;var r;(r=n(455))&&r.__esModule;t.makeArray=function(e){return null==e?[]:[].concat(e)};var i=function(e,t){return!!e&&Object.prototype.hasOwnProperty.call(e,t)};t.has=i},function(e,t,n){var r=n(511),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();e.exports=o},function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}},function(e,t,n){var r=n(41),i=n(276),o=n(200),a=Object.defineProperty;t.f=n(42)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){(function(e,r){var i;
+!function(){"use strict";var n={}.hasOwnProperty;function i(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=i.apply(null,r);a&&e.push(a)}else if("object"===o)for(var s in r)n.call(r,s)&&r[s]&&e.push(s)}}return e.join(" ")}e.exports?(i.default=i,e.exports=i):void 0===(r=function(){return i}.apply(t,[]))||(e.exports=r)}()},function(e,t,n){"use strict";e.exports=function(e,t,n,r,i,o,a,s){if(!e){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,i,o,a,s],c=0;(u=new Error(t.replace(/%s/g,function(){return l[c++]}))).name="Invariant Violation"}throw u.framesToPop=1,u}}},function(e,t,n){"use strict";t.__esModule=!0;var r,i=n(94),o=(r=i)&&r.__esModule?r:{default:r};t.default=o.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){"use strict";n.d(t,"c",function(){return r}),n.d(t,"b",function(){return i}),n.d(t,"a",function(){return o}),n.d(t,"e",function(){return a}),n.d(t,"f",function(){return s}),n.d(t,"d",function(){return u});var r=2,i=17,o=3,a="0-90-9٠-٩۰-۹",s="-‐-―−ー-//..  ­​⁠ ()()[]\\[\\]~⁓∼~",u="++"},function(e,t,n){"use strict";n.d(t,"c",function(){return h}),n.d(t,"b",function(){return m}),n.d(t,"d",function(){return g});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a="1.2.0",s=" ext. ",u=function(){function e(t){o(this,e),function(e){if(!e)throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");if(!f(e)||!f(e.countries)||!f(e.country_calling_codes)&&!f(e.country_phone_code_to_countries))throw new Error("[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` and `.country_calling_codes` child object properties. Got "+(f(e)?"an object of shape: { "+Object.keys(e).join(", ")+" }":"a "+p(e)+": "+e)+".")}(t),this.metadata=t,this.v1=!t.version,this.v2=void 0!==t.version&&-1===function(e,t){for(var n=e.split("."),r=t.split("."),i=0;i<3;i++){var o=Number(n[i]),a=Number(r[i]);if(o>a)return 1;if(a>o)return-1;if(!isNaN(o)&&isNaN(a))return 1;if(isNaN(o)&&!isNaN(a))return-1}return 0}(t.version,a),this.v3=void 0!==t.version}return i(e,[{key:"hasCountry",value:function(e){return void 0!==this.metadata.countries[e]}},{key:"country",value:function(e){if(!e)return this._country=void 0,this.country_metadata=void 0,this;if(!this.hasCountry(e))throw new Error("Unknown country: "+e);return this._country=e,this.country_metadata=this.metadata.countries[e],this}},{key:"getDefaultCountryMetadataForRegion",value:function(){return this.metadata.countries[this.countryCallingCodes()[this.countryCallingCode()][0]]}},{key:"countryCallingCode",value:function(){return this.country_metadata[0]}},{key:"IDDPrefix",value:function(){if(!this.v1&&!this.v2)return this.country_metadata[1]}},{key:"defaultIDDPrefix",value:function(){if(!this.v1&&!this.v2)return this.country_metadata[12]}},{key:"nationalNumberPattern",value:function(){return this.v1||this.v2?this.country_metadata[1]:this.country_metadata[2]}},{key:"possibleLengths",value:function(){if(!this.v1)return this.country_metadata[this.v2?2:3]}},{key:"_getFormats",value:function(e){return e[this.v1?2:this.v2?3:4]}},{key:"formats",value:function(){var e=this,t=this._getFormats(this.country_metadata)||this._getFormats(this.getDefaultCountryMetadataForRegion())||[];return t.map(function(t){return new l(t,e)})}},{key:"nationalPrefix",value:function(){return this.country_metadata[this.v1?3:this.v2?4:5]}},{key:"_getNationalPrefixFormattingRule",value:function(e){return e[this.v1?4:this.v2?5:6]}},{key:"nationalPrefixFormattingRule",value:function(){return this._getNationalPrefixFormattingRule(this.country_metadata)||this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion())}},{key:"nationalPrefixForParsing",value:function(){return this.country_metadata[this.v1?5:this.v2?6:7]||this.nationalPrefix()}},{key:"nationalPrefixTransformRule",value:function(){return this.country_metadata[this.v1?6:this.v2?7:8]}},{key:"_getNationalPrefixIsOptionalWhenFormatting",value:function(){return!!this.country_metadata[this.v1?7:this.v2?8:9]}},{key:"nationalPrefixIsOptionalWhenFormatting",value:function(){return this._getNationalPrefixIsOptionalWhenFormatting(this.country_metadata)||this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion())}},{key:"leadingDigits",value:function(){return this.country_metadata[this.v1?8:this.v2?9:10]}},{key:"types",value:function(){return this.country_metadata[this.v1?9:this.v2?10:11]}},{key:"hasTypes",value:function(){return(!this.types()||0!==this.types().length)&&!!this.types()}},{key:"type",value:function(e){if(this.hasTypes()&&d(this.types(),e))return new c(d(this.types(),e),this)}},{key:"ext",value:function(){return this.v1||this.v2?s:this.country_metadata[13]||s}},{key:"countryCallingCodes",value:function(){return this.v1?this.metadata.country_phone_code_to_countries:this.metadata.country_calling_codes}},{key:"chooseCountryByCountryCallingCode",value:function(e){var t=this.countryCallingCodes()[e][0];this.hasCountry(t)&&this.country(t)}},{key:"selectedCountry",value:function(){return this._country}}]),e}(),l=(t.a=u,function(){function e(t,n){o(this,e),this._format=t,this.metadata=n}return i(e,[{key:"pattern",value:function(){return this._format[0]}},{key:"format",value:function(){return this._format[1]}},{key:"leadingDigitsPatterns",value:function(){return this._format[2]||[]}},{key:"nationalPrefixFormattingRule",value:function(){return this._format[3]||this.metadata.nationalPrefixFormattingRule()}},{key:"nationalPrefixIsOptionalWhenFormatting",value:function(){return!!this._format[4]||this.metadata.nationalPrefixIsOptionalWhenFormatting()}},{key:"nationalPrefixIsMandatoryWhenFormatting",value:function(){return this.usesNationalPrefix()&&!this.nationalPrefixIsOptionalWhenFormatting()}},{key:"usesNationalPrefix",value:function(){return this.nationalPrefixFormattingRule()&&"$1"!==this.nationalPrefixFormattingRule()&&/\d/.test(this.nationalPrefixFormattingRule().replace("$1",""))}},{key:"internationalFormat",value:function(){return this._format[5]||this.format()}}]),e}()),c=function(){function e(t,n){o(this,e),this.type=t,this.metadata=n}return i(e,[{key:"pattern",value:function(){return this.metadata.v1?this.type:this.type[0]}},{key:"possibleLengths",value:function(){if(!this.metadata.v1)return this.type[1]||this.metadata.possibleLengths()}}]),e}();function d(e,t){switch(t){case"FIXED_LINE":return e[0];case"MOBILE":return e[1];case"TOLL_FREE":return e[2];case"PREMIUM_RATE":return e[3];case"PERSONAL_NUMBER":return e[4];case"VOICEMAIL":return e[5];case"UAN":return e[6];case"PAGER":return e[7];case"VOIP":return e[8];case"SHARED_COST":return e[9]}}var f=function(e){return"object"===(void 0===e?"undefined":r(e))},p=function(e){return void 0===e?"undefined":r(e)};function h(e,t){return(t=new u(t)).hasCountry(e)?t.country(e).ext():s}function m(e,t){if((t=new u(t)).hasCountry(e))return t.country(e).countryCallingCode();throw new Error("Unknown country: "+e)}function g(e,t){return void 0!==t.countries[e]}},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}},function(e,t,n){"use strict";function r(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function i(e){this.setState(function(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!=n?n:null}.bind(this))}function o(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function a(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof t.getSnapshotBeforeUpdate)return e;var n=null,a=null,s=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?a="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(a="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?s="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(s="UNSAFE_componentWillUpdate"),null!==n||null!==a||null!==s){var u=e.displayName||e.name,l="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+u+" uses "+l+" but also contains the following legacy lifecycles:"+(null!==n?"\n  "+n:"")+(null!==a?"\n  "+a:"")+(null!==s?"\n  "+s:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=r,t.componentWillReceiveProps=i),"function"==typeof t.getSnapshotBeforeUpdate){if("function"!=typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=o;var c=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;c.call(this,e,t,r)}}return e}n.r(t),n.d(t,"polyfill",function(){return a}),r.__suppressDeprecationWarning=!0,i.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0},function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"prefix",function(){return a}),n.d(r,"ARRAY_INSERT",function(){return s}),n.d(r,"ARRAY_MOVE",function(){return u}),n.d(r,"ARRAY_POP",function(){return l}),n.d(r,"ARRAY_PUSH",function(){return c}),n.d(r,"ARRAY_REMOVE",function(){return d}),n.d(r,"ARRAY_REMOVE_ALL",function(){return f}),n.d(r,"ARRAY_SHIFT",function(){return p}),n.d(r,"ARRAY_SPLICE",function(){return h}),n.d(r,"ARRAY_UNSHIFT",function(){return m}),n.d(r,"ARRAY_SWAP",function(){return g}),n.d(r,"AUTOFILL",function(){return y}),n.d(r,"BLUR",function(){return v}),n.d(r,"CHANGE",function(){return b}),n.d(r,"CLEAR_FIELDS",function(){return _}),n.d(r,"CLEAR_SUBMIT",function(){return w}),n.d(r,"CLEAR_SUBMIT_ERRORS",function(){return A}),n.d(r,"CLEAR_ASYNC_ERROR",function(){return x}),n.d(r,"DESTROY",function(){return k}),n.d(r,"FOCUS",function(){return M}),n.d(r,"INITIALIZE",function(){return E}),n.d(r,"REGISTER_FIELD",function(){return L}),n.d(r,"RESET",function(){return S}),n.d(r,"RESET_SECTION",function(){return D}),n.d(r,"SET_SUBMIT_FAILED",function(){return T}),n.d(r,"SET_SUBMIT_SUCCEEDED",function(){return C}),n.d(r,"START_ASYNC_VALIDATION",function(){return O}),n.d(r,"START_SUBMIT",function(){return $}),n.d(r,"STOP_ASYNC_VALIDATION",function(){return j}),n.d(r,"STOP_SUBMIT",function(){return P}),n.d(r,"SUBMIT",function(){return I}),n.d(r,"TOUCH",function(){return N}),n.d(r,"UNREGISTER_FIELD",function(){return F}),n.d(r,"UNTOUCH",function(){return R}),n.d(r,"UPDATE_SYNC_ERRORS",function(){return Y}),n.d(r,"UPDATE_SYNC_WARNINGS",function(){return B});var i=n(5),o=n.n(i),a="@@redux-form/",s=a+"ARRAY_INSERT",u=a+"ARRAY_MOVE",l=a+"ARRAY_POP",c=a+"ARRAY_PUSH",d=a+"ARRAY_REMOVE",f=a+"ARRAY_REMOVE_ALL",p=a+"ARRAY_SHIFT",h=a+"ARRAY_SPLICE",m=a+"ARRAY_UNSHIFT",g=a+"ARRAY_SWAP",y=a+"AUTOFILL",v=a+"BLUR",b=a+"CHANGE",_=a+"CLEAR_FIELDS",w=a+"CLEAR_SUBMIT",A=a+"CLEAR_SUBMIT_ERRORS",x=a+"CLEAR_ASYNC_ERROR",k=a+"DESTROY",M=a+"FOCUS",E=a+"INITIALIZE",L=a+"REGISTER_FIELD",S=a+"RESET",D=a+"RESET_SECTION",T=a+"SET_SUBMIT_FAILED",C=a+"SET_SUBMIT_SUCCEEDED",O=a+"START_ASYNC_VALIDATION",$=a+"START_SUBMIT",j=a+"STOP_ASYNC_VALIDATION",P=a+"STOP_SUBMIT",I=a+"SUBMIT",N=a+"TOUCH",F=a+"UNREGISTER_FIELD",R=a+"UNTOUCH",Y=a+"UPDATE_SYNC_ERRORS",B=a+"UPDATE_SYNC_WARNINGS",z={arrayInsert:function(e,t,n,r){return{type:s,meta:{form:e,field:t,index:n},payload:r}},arrayMove:function(e,t,n,r){return{type:u,meta:{form:e,field:t,from:n,to:r}}},arrayPop:function(e,t){return{type:l,meta:{form:e,field:t}}},arrayPush:function(e,t,n){return{type:c,meta:{form:e,field:t},payload:n}},arrayRemove:function(e,t,n){return{type:d,meta:{form:e,field:t,index:n}}},arrayRemoveAll:function(e,t){return{type:f,meta:{form:e,field:t}}},arrayShift:function(e,t){return{type:p,meta:{form:e,field:t}}},arraySplice:function(e,t,n,r,i){var o={type:h,meta:{form:e,field:t,index:n,removeNum:r}};return void 0!==i&&(o.payload=i),o},arraySwap:function(e,t,n,r){if(n===r)throw new Error("Swap indices cannot be equal");if(n<0||r<0)throw new Error("Swap indices cannot be negative");return{type:g,meta:{form:e,field:t,indexA:n,indexB:r}}},arrayUnshift:function(e,t,n){return{type:m,meta:{form:e,field:t},payload:n}},autofill:function(e,t,n){return{type:y,meta:{form:e,field:t},payload:n}},blur:function(e,t,n,r){return{type:v,meta:{form:e,field:t,touch:r},payload:n}},change:function(e,t,n,r,i){return{type:b,meta:{form:e,field:t,touch:r,persistentSubmitErrors:i},payload:n}},clearFields:function(e,t,n){for(var r=arguments.length,i=new Array(r>3?r-3:0),o=3;o<r;o++)i[o-3]=arguments[o];return{type:_,meta:{form:e,keepTouched:t,persistentSubmitErrors:n,fields:i}}},clearSubmit:function(e){return{type:w,meta:{form:e}}},clearSubmitErrors:function(e){return{type:A,meta:{form:e}}},clearAsyncError:function(e,t){return{type:x,meta:{form:e,field:t}}},destroy:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return{type:k,meta:{form:t}}},focus:function(e,t){return{type:M,meta:{form:e,field:t}}},initialize:function(e,t,n,r){return void 0===r&&(r={}),n instanceof Object&&(r=n,n=!1),{type:E,meta:o()({form:e,keepDirty:n},r),payload:t}},registerField:function(e,t,n){return{type:L,meta:{form:e},payload:{name:t,type:n}}},reset:function(e){return{type:S,meta:{form:e}}},resetSection:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return{type:D,meta:{form:e,sections:n}}},startAsyncValidation:function(e,t){return{type:O,meta:{form:e,field:t}}},startSubmit:function(e){return{type:$,meta:{form:e}}},stopAsyncValidation:function(e,t){return{type:j,meta:{form:e},payload:t,error:!(!t||!Object.keys(t).length)}},stopSubmit:function(e,t){return{type:P,meta:{form:e},payload:t,error:!(!t||!Object.keys(t).length)}},submit:function(e){return{type:I,meta:{form:e}}},setSubmitFailed:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return{type:T,meta:{form:e,fields:n},error:!0}},setSubmitSucceeded:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return{type:C,meta:{form:e,fields:n},error:!1}},touch:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return{type:N,meta:{form:e,fields:n}}},unregisterField:function(e,t,n){return void 0===n&&(n=!0),{type:F,meta:{form:e},payload:{name:t,destroyOnUnmount:n}}},untouch:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return{type:R,meta:{form:e,fields:n}}},updateSyncErrors:function(e,t,n){return void 0===t&&(t={}),{type:Y,meta:{form:e},payload:{syncErrors:t,error:n}}},updateSyncWarnings:function(e,t,n){return void 0===t&&(t={}),{type:B,meta:{form:e},payload:{syncWarnings:t,warning:n}}}},H=function(e){var t=e.initialized,n=e.trigger,r=e.pristine;if(!e.syncValidationPasses)return!1;switch(n){case"blur":case"change":return!0;case"submit":return!r||!t;default:return!1}},U=function(e){var t=e.values,n=e.nextProps,r=e.initialRender,i=e.lastFieldValidatorKeys,o=e.fieldValidatorKeys,a=e.structure;return!!r||!a.deepEqual(t,n&&n.values)||!a.deepEqual(i,o)},Z=function(e){var t=e.values,n=e.nextProps,r=e.initialRender,i=e.lastFieldValidatorKeys,o=e.fieldValidatorKeys,a=e.structure;return!!r||!a.deepEqual(t,n&&n.values)||!a.deepEqual(i,o)},K=function(e){var t=e.values,n=e.nextProps,r=e.initialRender,i=e.lastFieldValidatorKeys,o=e.fieldValidatorKeys,a=e.structure;return!!r||!a.deepEqual(t,n&&n.values)||!a.deepEqual(i,o)},q=n(11),W=n.n(q),G=n(14),V=n.n(G),J=n(0),Q=n.n(J),X=n(12),ee=n(1),te=n.n(ee),ne=n(25),re=function(e){function t(t){var n;if(n=e.call(this,t)||this,!t._reduxForm)throw new Error("Form must be inside a component decorated with reduxForm()");return n}V()(t,e);var n=t.prototype;return n.componentWillMount=function(){this.props._reduxForm.registerInnerOnSubmit(this.props.onSubmit)},n.render=function(){var e=this.props,t=(e._reduxForm,W()(e,["_reduxForm"]));return Q.a.createElement("form",t)},t}(J.Component);re.propTypes={onSubmit:te.a.func.isRequired,_reduxForm:te.a.object},Object(X.polyfill)(re);var ie=Object(ne.b)(re),oe=Object(ne.b)(function(e){var t=e.children,n=e._reduxForm;return t({form:n&&n.form,sectionPrefix:n&&n.sectionPrefix})}),ae=n(26),se=n(35),ue=function(e){function t(t){var n;if(n=e.call(this,t)||this,!t._reduxForm)throw new Error("FormSection must be inside a component decorated with reduxForm()");return n}return V()(t,e),t.prototype.render=function(){var e=this.props,t=(e._reduxForm,e.children),n=e.name,r=e.component,i=W()(e,["_reduxForm","children","name","component"]);return Q.a.isValidElement(t)?Object(J.createElement)(ne.a.Provider,{value:o()({},this.props._reduxForm,{sectionPrefix:Object(ae.a)(this.props,n)}),children:t}):Object(J.createElement)(ne.a.Provider,{value:o()({},this.props._reduxForm,{sectionPrefix:Object(ae.a)(this.props,n)}),children:Object(J.createElement)(r,o()({},i,{children:t}))})},t}(J.Component);ue.propTypes={name:te.a.string.isRequired,component:se.a},ue.defaultProps={component:"div"};var le=Object(ne.b)(ue);function ce(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function de(e){function t(){e.apply(this,arguments)}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}var fe=function(e){function t(t){var n;return(n=e.call(this,"Submit Validation Failed")||this).errors=t,n}return V()(t,e),t}(function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=ce(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return Object.defineProperty(n,"message",{configurable:!0,enumerable:!1,value:e,writable:!0}),Object.defineProperty(n,"name",{configurable:!0,enumerable:!1,value:n.constructor.name,writable:!0}),Error.hasOwnProperty("captureStackTrace")?(Error.captureStackTrace(n,n.constructor),ce(n)):(Object.defineProperty(n,"stack",{configurable:!0,enumerable:!1,value:new Error(e).stack,writable:!0}),n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,de(Error)),t}()),pe=te.a.any,he=te.a.bool,me=te.a.func,ge=te.a.shape,ye=te.a.string,ve=te.a.oneOfType,be=te.a.object,_e=te.a.number,we={anyTouched:he.isRequired,asyncValidating:ve([he,ye]).isRequired,dirty:he.isRequired,error:pe,form:ye.isRequired,invalid:he.isRequired,initialized:he.isRequired,initialValues:be,pristine:he.isRequired,pure:he.isRequired,submitting:he.isRequired,submitAsSideEffect:he.isRequired,submitFailed:he.isRequired,submitSucceeded:he.isRequired,valid:he.isRequired,warning:pe,array:ge({insert:me.isRequired,move:me.isRequired,pop:me.isRequired,push:me.isRequired,remove:me.isRequired,removeAll:me.isRequired,shift:me.isRequired,splice:me.isRequired,swap:me.isRequired,unshift:me.isRequired}),asyncValidate:me.isRequired,autofill:me.isRequired,blur:me.isRequired,change:me.isRequired,clearAsyncError:me.isRequired,clearFields:me.isRequired,clearSubmitErrors:me.isRequired,destroy:me.isRequired,dispatch:me.isRequired,handleSubmit:me.isRequired,initialize:me.isRequired,reset:me.isRequired,resetSection:me.isRequired,touch:me.isRequired,submit:me.isRequired,untouch:me.isRequired,triggerSubmit:he,clearSubmit:me.isRequired},Ae={checked:he,name:ye.isRequired,onBlur:me.isRequired,onChange:me.isRequired,onDragStart:me.isRequired,onDrop:me.isRequired,onFocus:me.isRequired,value:pe},xe={active:he.isRequired,asyncValidating:he.isRequired,autofilled:he.isRequired,dirty:he.isRequired,dispatch:me.isRequired,error:pe,form:ye.isRequired,invalid:he.isRequired,pristine:he.isRequired,submitting:he.isRequired,submitFailed:he.isRequired,touched:he.isRequired,valid:he.isRequired,visited:he.isRequired,warning:ye},ke={dirty:he.isRequired,error:pe,form:ye.isRequired,invalid:he.isRequired,pristine:he.isRequired,submitFailed:he,submitting:he,valid:he.isRequired,warning:ye},Me={name:ye.isRequired,forEach:me.isRequired,get:me.isRequired,getAll:me.isRequired,insert:me.isRequired,length:_e.isRequired,map:me.isRequired,move:me.isRequired,pop:me.isRequired,push:me.isRequired,reduce:me.isRequired,remove:me.isRequired,removeAll:me.isRequired,shift:me.isRequired,swap:me.isRequired,unshift:me.isRequired},Ee={input:ge(Ae).isRequired,meta:ge(xe).isRequired},Le={fields:ge(Me).isRequired,meta:ge(ke).isRequired},Se=we,De=n(533),Te=n(50),Ce=n.n(Te),Oe=n(7),$e=n.n(Oe),je=n(270),Pe=n.n(je),Ie=n(15),Ne=n(189),Fe=n(3),Re=n(118),Ye=["_reduxForm"],Be=function(e){var t=e.deepEqual,n=e.getIn,r=e.size,i=function(n){function i(e){var t;return(t=n.call(this,e)||this).onChangeFns={},t.onFocusFns={},t.onBlurFns={},t.ref=Q.a.createRef(),t.prepareEventHandlers=function(e){return e.names.forEach(function(e){t.onChangeFns[e]=function(n){return t.handleChange(e,n)},t.onFocusFns[e]=function(){return t.handleFocus(e)},t.onBlurFns[e]=function(n){return t.handleBlur(e,n)}})},t.handleChange=function(e,n){var r=t.props,i=r.dispatch,o=r.parse,a=r._reduxForm,s=Object(Re.a)(n,{name:e,parse:o});i(a.change(e,s)),a.asyncValidate&&a.asyncValidate(e,s,"change")},t.handleFocus=function(e){var n=t.props;(0,n.dispatch)(n._reduxForm.focus(e))},t.handleBlur=function(e,n){var r=t.props,i=r.dispatch,o=r.parse,a=r._reduxForm,s=Object(Re.a)(n,{name:e,parse:o});i(a.blur(e,s)),a.asyncValidate&&a.asyncValidate(e,s,"blur")},t.prepareEventHandlers(e),t}V()(i,n);var a=i.prototype;return a.componentWillReceiveProps=function(e){var t=this;this.props.names===e.names||r(this.props.names)===r(e.names)&&!e.names.some(function(e){return!t.props._fields[e]})||this.prepareEventHandlers(e)},a.shouldComponentUpdate=function(e){var n=this,r=Object.keys(e),i=Object.keys(this.props);return!!(this.props.children||e.children||r.length!==i.length||r.some(function(r){return!~Ye.indexOf(r)&&!t(n.props[r],e[r])}))},a.isDirty=function(){var e=this.props._fields;return Object.keys(e).some(function(t){return e[t].dirty})},a.getValues=function(){var e=this.props._fields;return Object.keys(e).reduce(function(t,n){return Fe.a.setIn(t,n,e[n].value)},{})},a.getRenderedComponent=function(){return this.ref.current},a.render=function(){var t=this,n=this.props,r=n.component,i=n.forwardRef,a=n._fields,s=n._reduxForm,u=W()(n,["component","forwardRef","_fields","_reduxForm"]),l=s.sectionPrefix,c=s.form,d=Object.keys(a).reduce(function(n,r){var i=a[r],s=Object(Ne.a)(e,r,o()({},i,u,{form:c,onBlur:t.onBlurFns[r],onChange:t.onChangeFns[r],onFocus:t.onFocusFns[r]})),d=s.custom,f=W()(s,["custom"]);n.custom=d;var p=l?r.replace(l+".",""):r;return Fe.a.setIn(n,p,f)},{}),f=d.custom,p=W()(d,["custom"]);return i&&(p.ref=this.ref),Q.a.createElement(r,o()({},p,f))},i}(Q.a.Component);return i.propTypes={component:se.a,_fields:te.a.object.isRequired,props:te.a.object},Object(Ie.connect)(function(e,t){var r=t.names,i=t._reduxForm,o=i.initialValues,a=(0,i.getFormState)(e);return{_fields:r.reduce(function(e,r){var i=n(a,"initial."+r),s=void 0!==i?i:o&&n(o,r),u=n(a,"values."+r),l=function(e,t){return Fe.a.getIn(e,t+"._error")||Fe.a.getIn(e,t)}(n(a,"syncErrors"),r),c=function(e,t){var r=n(e,t);return r&&r._warning?r._warning:r}(n(a,"syncWarnings"),r),d=n(a,"submitting"),f=u===s;return e[r]={asyncError:n(a,"asyncErrors."+r),asyncValidating:n(a,"asyncValidating")===r,dirty:!f,initial:s,pristine:f,state:n(a,"fields."+r),submitError:n(a,"submitErrors."+r),submitFailed:n(a,"submitFailed"),submitting:d,syncError:l,syncWarning:c,value:u,_value:t.value},e},{})}},void 0,void 0,{forwardRef:!0})(i)},ze=n(190),He=function(e){return e?Array.isArray(e)||e._isFieldArray?void 0:new Error('Invalid prop "names" supplied to <Fields/>. Must be either an array of strings or the fields array generated by FieldArray.'):new Error('No "names" prop was specified <Fields/>')},Ue=te.a.oneOfType([te.a.func,te.a.arrayOf(te.a.func),te.a.objectOf(te.a.oneOfType([te.a.func,te.a.arrayOf(te.a.func)]))]),Ze={component:se.a,format:te.a.func,parse:te.a.func,props:te.a.object,forwardRef:te.a.bool,validate:Ue,warn:Ue},Ke=function(e,t){return Array.isArray(e)||"function"==typeof e?e:Pe()(e,t,void 0)},qe=function(e){var t=Be(e),n=function(e){function n(t){var n;if(n=e.call(this,t)||this,!t._reduxForm)throw new Error("Fields must be inside a component decorated with reduxForm()");var r=He(t.names);if(r)throw r;return n}V()(n,e);var r=n.prototype;return r.shouldComponentUpdate=function(e){return Object(ze.a)(this,e)},r.componentDidMount=function(){this.registerFields(this.props.names)},r.componentWillReceiveProps=function(e){if(!Fe.a.deepEqual(this.props.names,e.names)){var t=this.props,n=t._reduxForm.unregister;this.props.names.forEach(function(e){return n(Object(ae.a)(t,e))}),this.registerFields(e.names)}},r.componentWillUnmount=function(){var e=this.props,t=e._reduxForm.unregister;this.props.names.forEach(function(n){return t(Object(ae.a)(e,n))})},r.registerFields=function(e){var t=this,n=this.props,r=n._reduxForm.register;e.forEach(function(e){return r(Object(ae.a)(n,e),"Field",function(){return Ke(t.props.validate,e)},function(){return Ke(t.props.warn,e)})})},r.getRenderedComponent=function(){return $e()(this.props.forwardRef,"If you want to access getRenderedComponent(), you must specify a forwardRef prop to Fields"),this.refs.connected.getRenderedComponent()},r.render=function(){var e=this.props;return Object(J.createElement)(t,o()({},this.props,{names:this.props.names.map(function(t){return Object(ae.a)(e,t)}),ref:"connected"}))},Ce()(n,[{key:"names",get:function(){var e=this.props;return this.props.names.map(function(t){return Object(ae.a)(e,t)})}},{key:"dirty",get:function(){return this.refs.connected.isDirty()}},{key:"pristine",get:function(){return!this.dirty}},{key:"values",get:function(){return this.refs.connected&&this.refs.connected.getValues()}}]),n}(J.Component);return n.propTypes=o()({names:function(e,t){return He(e[t])}},Ze),Object(X.polyfill)(n),Object(ne.b)(n)}(Fe.a),We=n(85),Ge=n.n(We),Ve=n(20),Je=function(e,t,n,r,i,a){var s=e.getIn,u=a.arrayInsert,l=a.arrayMove,c=a.arrayPop,d=a.arrayPush,f=a.arrayRemove,p=a.arrayRemoveAll,h=a.arrayShift,m=a.arraySplice,g=a.arraySwap,y=a.arrayUnshift,v=a.asyncError,b=a.dirty,_=a.length,w=a.pristine,A=a.submitError,x=(a.state,a.submitFailed),k=a.submitting,M=a.syncError,E=a.syncWarning,L=a.value,S=a.props,D=W()(a,["arrayInsert","arrayMove","arrayPop","arrayPush","arrayRemove","arrayRemoveAll","arrayShift","arraySplice","arraySwap","arrayUnshift","asyncError","dirty","length","pristine","submitError","state","submitFailed","submitting","syncError","syncWarning","value","props"]),T=M||v||A,C=E,O=r?t.replace(r+".",""):t,$=o()({fields:{_isFieldArray:!0,forEach:function(e){return(L||[]).forEach(function(t,n){return e(O+"["+n+"]",n,$.fields)})},get:i,getAll:function(){return L},insert:u,length:_,map:function(e){return(L||[]).map(function(t,n){return e(O+"["+n+"]",n,$.fields)})},move:l,name:t,pop:function(){return c(),s(L,String(_-1))},push:d,reduce:function(e,t){return(L||[]).reduce(function(t,n,r){return e(t,O+"["+r+"]",r,$.fields)},t)},remove:f,removeAll:p,shift:function(){return h(),s(L,"0")},splice:m,swap:g,unshift:y},meta:{dirty:b,error:T,form:n,warning:C,invalid:!!T,pristine:w,submitting:k,submitFailed:x,valid:!T}},S,D);return $},Qe=["_reduxForm","value"],Xe=function(e){var t=e.deepEqual,n=e.getIn,r=e.size,i=e.equals,o=e.orderChanged,a=function(r){function a(){for(var e,t=arguments.length,i=new Array(t),o=0;o<t;o++)i[o]=arguments[o];return(e=r.call.apply(r,[this].concat(i))||this).ref=Q.a.createRef(),e.getValue=function(t){return e.props.value&&n(e.props.value,String(t))},e}V()(a,r);var s=a.prototype;return s.shouldComponentUpdate=function(e){var n=this,r=this.props.value,a=e.value;if(r&&a){var s=i(a,r),u=o(r,a);if((r.length||r.size)!==(a.length||a.size)||s&&u||e.rerenderOnEveryChange&&r.some(function(e,n){return!t(e,a[n])}))return!0}var l=Object.keys(e),c=Object.keys(this.props);return!!(this.props.children||e.children||l.length!==c.length||l.some(function(r){return!~Qe.indexOf(r)&&!t(n.props[r],e[r])}))},s.getRenderedComponent=function(){return this.ref.current},s.render=function(){var t=this.props,n=t.component,r=t.forwardRef,i=t.name,o=t._reduxForm,a=(t.validate,t.warn,t.rerenderOnEveryChange,W()(t,["component","forwardRef","name","_reduxForm","validate","warn","rerenderOnEveryChange"])),s=Je(e,i,o.form,o.sectionPrefix,this.getValue,a);return r&&(s.ref=this.ref),Object(J.createElement)(n,s)},Ce()(a,[{key:"dirty",get:function(){return this.props.dirty}},{key:"pristine",get:function(){return this.props.pristine}},{key:"value",get:function(){return this.props.value}}]),a}(J.Component);return a.propTypes={component:se.a,props:te.a.object,rerenderOnEveryChange:te.a.bool},a.defaultProps={rerenderOnEveryChange:!1},Object(Ie.connect)(function(e,i){var o=i.name,a=i._reduxForm,s=a.initialValues,u=(0,a.getFormState)(e),l=n(u,"initial."+o)||s&&n(s,o),c=n(u,"values."+o),d=n(u,"submitting"),f=function(e,t){return Fe.a.getIn(e,t+"._error")}(n(u,"syncErrors"),o),p=function(e,t){return n(e,t+"._warning")}(n(u,"syncWarnings"),o),h=t(c,l);return{asyncError:n(u,"asyncErrors."+o+"._error"),dirty:!h,pristine:h,state:n(u,"fields."+o),submitError:n(u,"submitErrors."+o+"._error"),submitFailed:n(u,"submitFailed"),submitting:d,syncError:f,syncWarning:p,value:c,length:r(c)}},function(e,t){var n=t.name,r=t._reduxForm,i=r.arrayInsert,o=r.arrayMove,a=r.arrayPop,s=r.arrayPush,u=r.arrayRemove,l=r.arrayRemoveAll,c=r.arrayShift,d=r.arraySplice,f=r.arraySwap,p=r.arrayUnshift;return Ge()({arrayInsert:i,arrayMove:o,arrayPop:a,arrayPush:s,arrayRemove:u,arrayRemoveAll:l,arrayShift:c,arraySplice:d,arraySwap:f,arrayUnshift:p},function(t){return Object(Ve.bindActionCreators)(t.bind(null,n),e)})},void 0,{forwardRef:!0})(a)},et=function(e,t){return e&&function(){for(var n,r=(n=e,Array.isArray(n)?n:[n]),i=0;i<r.length;i++){var o,a=r[i].apply(r,arguments);if(a)return(o={})[t]=a,o}}},tt=function(e){var t=Xe(e),n=function(e){function n(t){var n;if((n=e.call(this,t)||this).ref=Q.a.createRef(),!t._reduxForm)throw new Error("FieldArray must be inside a component decorated with reduxForm()");return n}V()(n,e);var r=n.prototype;return r.componentDidMount=function(){var e=this;this.props._reduxForm.register(this.name,"FieldArray",function(){return et(e.props.validate,"_error")},function(){return et(e.props.warn,"_warning")})},r.componentWillReceiveProps=function(e){var t=Object(ae.a)(this.props,this.props.name),n=Object(ae.a)(e,e.name);t!==n&&(this.props._reduxForm.unregister(t),this.props._reduxForm.register(n,"FieldArray"))},r.componentWillUnmount=function(){this.props._reduxForm.unregister(this.name)},r.getRenderedComponent=function(){return $e()(this.props.forwardRef,"If you want to access getRenderedComponent(), you must specify a forwardRef prop to FieldArray"),this.ref&&this.ref.current.getRenderedComponent()},r.render=function(){return Object(J.createElement)(t,o()({},this.props,{name:this.name,ref:this.ref}))},Ce()(n,[{key:"name",get:function(){return Object(ae.a)(this.props,this.props.name)}},{key:"dirty",get:function(){return!this.ref||this.ref.current.dirty}},{key:"pristine",get:function(){return!(!this.ref||!this.ref.current.pristine)}},{key:"value",get:function(){return this.ref?this.ref.current.value:void 0}}]),n}(J.Component);return n.propTypes={name:te.a.string.isRequired,component:se.a,props:te.a.object,validate:te.a.oneOfType([te.a.func,te.a.arrayOf(te.a.func)]),warn:te.a.oneOfType([te.a.func,te.a.arrayOf(te.a.func)]),forwardRef:te.a.bool,_reduxForm:te.a.object},Object(X.polyfill)(n),Object(ne.b)(n)}(Fe.a),nt=function(e){var t=e.getIn;return function(e,n){$e()(e,"Form value must be specified");var r=n||function(e){return t(e,"form")};return function(n){for(var i=arguments.length,o=new Array(i>1?i-1:0),a=1;a<i;a++)o[a-1]=arguments[a];return $e()(o.length,"No fields specified"),1===o.length?t(r(n),e+".values."+o[0]):o.reduce(function(i,o){var a=t(r(n),e+".values."+o);return void 0===a?i:Fe.a.setIn(i,o,a)},{})}}}(Fe.a),rt=n(538),it=n.n(rt),ot=n(539),at=n.n(ot),st=function(e){var t=e.getIn;return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return function(n){var i=function(i){function a(e){var t;if(t=i.call(this,e)||this,!e._reduxForm)throw new Error("formValues() must be used inside a React tree decorated with reduxForm()");return t.updateComponent(e),t}V()(a,i);var s=a.prototype;return s.componentWillReceiveProps=function(t){"function"==typeof e&&this.updateComponent(t)},s.render=function(){var e=this.Component;return Q.a.createElement(e,o()({sectionPrefix:this.props._reduxForm.sectionPrefix},this.props))},s.updateComponent=function(t){var n,i,o="function"==typeof e?e(t):e;if(n="string"==typeof o?r.reduce(function(e,t){return e[t]=t,e},((i={})[o]=o,i)):o,at()(n))throw new Error("formValues(): You must specify values to get as formValues(name1, name2, ...) or formValues({propName1: propPath1, ...}) or formValues((props) => name) or formValues((props) => ({propName1: propPath1, ...}))");it()(n,this._valuesMap)||(this._valuesMap=n,this.setComponent())},s.setComponent=function(){var e=this;this.Component=Object(Ie.connect)(function(n,r){r.sectionPrefix;var i=(0,e.props._reduxForm.getValues)();return Ge()(e._valuesMap,function(n){return t(i,Object(ae.a)(e.props,n))})},function(){return{}})(function(e){e.sectionPrefix;var t=W()(e,["sectionPrefix"]);return Q.a.createElement(n,t)})},a}(Q.a.Component);return Object(ne.b)(i)}}}(Fe.a),ut=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return t(i(r),e+".error")}}}(Fe.a);var lt,ct=function(e){var t=e.getIn,n=e.keys;return function(e){return function(r){return n((e||function(e){return t(e,"form")})(r))}}}(Fe.a),dt=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return t(i(r),e+".values")}}}(Fe.a),ft=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return t(i(r),e+".initial")}}}(Fe.a),pt=function(e){var t=e.getIn,n=e.empty;return function(e,r){return function(i){var o=r||function(e){return t(e,"form")};return t(o(i),e+".syncErrors")||n}}}(Fe.a),ht=function(e){var t=e.getIn,n=e.empty;return function(e,r){return function(i){var o=r||function(e){return t(e,"form")};return t(o(i),e+".fields")||n}}}(Fe.a),mt=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return t(i(r),e+".asyncErrors")}}}(Fe.a),gt=function(e){var t=e.getIn,n=e.empty;return function(e,r){return function(i){var o=r||function(e){return t(e,"form")};return t(o(i),e+".syncWarnings")||n}}}(Fe.a),yt=function(e){var t=e.getIn,n=e.empty;return function(e,r){return function(i){var o=r||function(e){return t(e,"form")};return t(o(i),e+".submitErrors")||n}}}(Fe.a),vt=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return!!t(i(r),e+".asyncValidating")}}}(Fe.a),bt=function(e){var t=e.deepEqual,n=e.empty,r=e.getIn;return function(e,i){return function(o){for(var a=(i||function(e){return r(e,"form")})(o),s=arguments.length,u=new Array(s>1?s-1:0),l=1;l<s;l++)u[l-1]=arguments[l];if(u&&u.length)return u.every(function(n){var i=r(a,e+".initial."+n),o=r(a,e+".values."+n);return t(i,o)});var c=r(a,e+".initial")||n,d=r(a,e+".values")||c;return t(c,d)}}},_t=function(e){return function(t,n){var r=bt(e)(t,n);return function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return!r.apply(void 0,[e].concat(n))}}}(Fe.a),wt=function(e){var t=e.getIn;return function(e,n,r,i){return!!(n||r||i)&&function(e,t){switch(t){case"Field":return[e,e+"._error"];case"FieldArray":return[e+"._error"];default:throw new Error("Unknown field type")}}(t(e,"name"),t(e,"type")).some(function(e){return t(n,e)||t(r,e)||t(i,e)})}},At=function(e){var t=e.getIn,n=e.keys,r=wt(e);return function(e,i,o){return void 0===o&&(o=!1),function(a){var s=(i||function(e){return t(e,"form")})(a);if(t(s,e+".syncError"))return!1;if(!o&&t(s,e+".error"))return!1;var u=t(s,e+".syncErrors"),l=t(s,e+".asyncErrors"),c=o?void 0:t(s,e+".submitErrors");if(!u&&!l&&!c)return!0;var d=t(s,e+".registeredFields");return!d||!n(d).filter(function(e){return t(d,"['"+e+"'].count")>0}).some(function(e){return r(t(d,"['"+e+"']"),u,l,c)})}}},xt=function(e){return function(t,n){var r=At(e)(t,n);return function(e){return!r(e)}}}(Fe.a),kt=bt(Fe.a),Mt=At(Fe.a),Et=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return!!t(i(r),e+".submitting")}}}(Fe.a),Lt=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return!!t(i(r),e+".submitSucceeded")}}}(Fe.a),St=function(e){var t=e.getIn;return function(e,n){return function(r){var i=n||function(e){return t(e,"form")};return!!t(i(r),e+".submitFailed")}}}(Fe.a),Dt=n(271),Tt=n.n(Dt),Ct=n(114),Ot=n.n(Ct),$t=n(112),jt=n.n($t),Pt=function(e,t,n,r){t(r);var i=e();if(!jt()(i))throw new Error("asyncValidate function passed to reduxForm must return a promise");var o=function(e){return function(t){if(e){if(t&&Object.keys(t).length)return n(t),t;throw n(),new Error("Asynchronous validation promise was rejected without errors.")}return n(),Promise.resolve()}};return i.then(o(!1),o(!0))},It=n(111),Nt=function(e){var t=Object(It.a)(e);return t&&e.preventDefault(),t},Ft=function(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return Nt(t)?e.apply(void 0,r):e.apply(void 0,[t].concat(r))}},Rt=function(e,t,n,r,i){for(var o=function(e){return Array.isArray(e)?e:[e]}(r),a=0;a<o.length;a++){var s=o[a](e,t,n,i);if(s)return s}},Yt=function(e,t){var n=t.getIn;return function(t,r){var i={};return Object.keys(e).forEach(function(o){var a=n(t,o),s=Rt(a,t,r,e[o],o);s&&(i=Fe.a.setIn(i,o,s))}),i}},Bt=function(e){return e&&e.name===fe.name};try{var zt=n(677).List;lt=zt.isList}catch(e){lt=function(e){return!1}}var Ht=function(e){return lt(e)?e.toArray():e},Ut=function(e,t,n){var r,i=n.dispatch,o=n.submitAsSideEffect,a=n.onSubmitFail,s=n.onSubmitSuccess,u=n.startSubmit,l=n.stopSubmit,c=n.setSubmitFailed,d=n.setSubmitSucceeded,f=n.values;t=Ht(t);try{r=e(f,i,n)}catch(e){var p=Bt(e)?e.errors:void 0;if(l(p),c.apply(void 0,t),a&&a(p,i,e,n),p||a)return p;throw e}if(o)r&&i(r);else{if(jt()(r))return u(),r.then(function(e){return l(),d(),s&&s(e,i,n),e},function(e){var r=Bt(e)?e.errors:void 0;if(l(r),c.apply(void 0,t),a&&a(r,i,e,n),r||a)return r;throw e});d(),s&&s(r,i,n)}return r},Zt=function(e,t,n,r,i){var a=t.dispatch,s=t.onSubmitFail,u=t.setSubmitFailed,l=t.syncErrors,c=t.asyncErrors,d=t.touch,f=t.persistentSubmitErrors;if(i=Ht(i),d.apply(void 0,i),n||f){var p=r&&r();return p?p.then(function(n){if(n)throw n;return Ut(e,i,t)}).catch(function(e){return u.apply(void 0,i),s&&s(e,a,null,t),Promise.reject(e)}):Ut(e,i,t)}u.apply(void 0,i);var h=function(e){var t=e.asyncErrors,n=e.syncErrors;return t&&"function"==typeof t.merge?t.merge(n).toJS():o()({},t,n)}({asyncErrors:c,syncErrors:l});return s&&s(h,a,null,t),h},Kt=function(e){return e.displayName||e.name||"Component"},qt=n(195),Wt=z.arrayInsert,Gt=z.arrayMove,Vt=z.arrayPop,Jt=z.arrayPush,Qt=z.arrayRemove,Xt=z.arrayRemoveAll,en=z.arrayShift,tn=z.arraySplice,nn=z.arraySwap,rn=z.arrayUnshift,on=z.blur,an=z.change,sn=z.focus,un=W()(z,["arrayInsert","arrayMove","arrayPop","arrayPush","arrayRemove","arrayRemoveAll","arrayShift","arraySplice","arraySwap","arrayUnshift","blur","change","focus"]),ln={arrayInsert:Wt,arrayMove:Gt,arrayPop:Vt,arrayPush:Jt,arrayRemove:Qt,arrayRemoveAll:Xt,arrayShift:en,arraySplice:tn,arraySwap:nn,arrayUnshift:rn},cn=[].concat(Object.keys(z),["array","asyncErrors","initialValues","syncErrors","syncWarnings","values","registeredFields"]),dn=function(e){if(!e||"function"!=typeof e)throw new Error("You must either pass handleSubmit() an onSubmit function or pass onSubmit as a prop");return e},fn=function(e){var t=e.deepEqual,n=e.empty,r=e.getIn,i=e.setIn,a=e.keys,s=e.fromJS,u=At(e);return function(l){var c=o()({touchOnBlur:!0,touchOnChange:!1,persistentSubmitErrors:!1,destroyOnUnmount:!0,shouldAsyncValidate:H,shouldValidate:U,shouldError:Z,shouldWarn:K,enableReinitialize:!1,keepDirtyOnReinitialize:!1,updateUnregisteredFields:!1,getFormState:function(e){return r(e,"form")},pure:!0,forceUnregisterOnUnmount:!1,submitAsSideEffect:!1},l);return function(l){var d=function(n){function u(){for(var t,u=arguments.length,l=new Array(u),c=0;c<u;c++)l[c]=arguments[c];return(t=n.call.apply(n,[this].concat(l))||this).wrapped=Q.a.createRef(),t.destroyed=!1,t.fieldCounts={},t.fieldValidators={},t.lastFieldValidatorKeys=[],t.fieldWarners={},t.lastFieldWarnerKeys=[],t.innerOnSubmit=void 0,t.submitPromise=void 0,t.getValues=function(){return t.props.values},t.isValid=function(){return t.props.valid},t.isPristine=function(){return t.props.pristine},t.register=function(e,n,r,i){var o=(t.fieldCounts[e]||0)+1;t.fieldCounts[e]=o,t.props.registerField(e,n),r&&(t.fieldValidators[e]=r),i&&(t.fieldWarners[e]=i)},t.unregister=function(e){var n=t.fieldCounts[e];if(1===n?delete t.fieldCounts[e]:null!=n&&(t.fieldCounts[e]=n-1),!t.destroyed){var r=t.props,i=r.destroyOnUnmount,o=r.forceUnregisterOnUnmount,a=r.unregisterField;i||o?(a(e,i),t.fieldCounts[e]||(delete t.fieldValidators[e],delete t.fieldWarners[e],t.lastFieldValidatorKeys=t.lastFieldValidatorKeys.filter(function(t){return t!==e}))):a(e,!1)}},t.getFieldList=function(e){var n=t.props.registeredFields,i=[];if(!n)return i;var o=a(n);return e&&(e.excludeFieldArray&&(o=o.filter(function(e){return"FieldArray"!==r(n,"['"+e+"'].type")})),e.excludeUnregistered&&(o=o.filter(function(e){return 0!==r(n,"['"+e+"'].count")}))),s(o.reduce(function(e,t){return e.push(t),e},i))},t.getValidators=function(){var e={};return Object.keys(t.fieldValidators).forEach(function(n){var r=t.fieldValidators[n]();r&&(e[n]=r)}),e},t.generateValidator=function(){var n=t.getValidators();return Object.keys(n).length?Yt(n,e):void 0},t.getWarners=function(){var e={};return Object.keys(t.fieldWarners).forEach(function(n){var r=t.fieldWarners[n]();r&&(e[n]=r)}),e},t.generateWarner=function(){var n=t.getWarners();return Object.keys(n).length?Yt(n,e):void 0},t.asyncValidate=function(e,n,o){var a,s,u=t.props,l=u.asyncBlurFields,c=u.asyncChangeFields,d=u.asyncErrors,f=u.asyncValidate,p=u.dispatch,h=u.initialized,m=u.pristine,g=u.shouldAsyncValidate,y=u.startAsyncValidation,v=u.stopAsyncValidation,b=u.syncErrors,_=u.values,w=!e;if(f){var A=w?_:i(_,e,n),x=w||!r(b,e);if(a=l&&e&&~l.indexOf(e.replace(/\[[0-9]+\]/g,"[]")),s=c&&e&&~c.indexOf(e.replace(/\[[0-9]+\]/g,"[]")),(w||!l&&!c||("blur"===o?a:s))&&g({asyncErrors:d,initialized:h,trigger:w?"submit":o,blurredField:e,pristine:m,syncValidationPasses:x}))return Pt(function(){return f(A,p,t.props,e)},y,v,e)}},t.submitCompleted=function(e){return delete t.submitPromise,e},t.submitFailed=function(e){throw delete t.submitPromise,e},t.listenToSubmit=function(e){return jt()(e)?(t.submitPromise=e,e.then(t.submitCompleted,t.submitFailed)):e},t.submit=function(e){var n=t.props,r=n.onSubmit,i=n.blur,a=n.change,s=n.dispatch;return e&&!Nt(e)?Ft(function(){return!t.submitPromise&&t.listenToSubmit(Zt(dn(e),o()({},t.props,Object(Ve.bindActionCreators)({blur:i,change:a},s)),t.props.validExceptSubmit,t.asyncValidate,t.getFieldList({excludeFieldArray:!0,excludeUnregistered:!0})))}):t.submitPromise?void 0:t.innerOnSubmit&&t.innerOnSubmit!==t.submit?t.innerOnSubmit():t.listenToSubmit(Zt(dn(r),o()({},t.props,Object(Ve.bindActionCreators)({blur:i,change:a},s)),t.props.validExceptSubmit,t.asyncValidate,t.getFieldList({excludeFieldArray:!0,excludeUnregistered:!0})))},t.reset=function(){return t.props.reset()},t}V()(u,n);var d=u.prototype;return d.initIfNeeded=function(e){var n=this.props.enableReinitialize;if(e){if((n||!e.initialized)&&!t(this.props.initialValues,e.initialValues)){var r=e.initialized&&this.props.keepDirtyOnReinitialize;this.props.initialize(e.initialValues,r,{keepValues:e.keepValues,lastInitialValues:this.props.initialValues,updateUnregisteredFields:e.updateUnregisteredFields})}}else!this.props.initialValues||this.props.initialized&&!n||this.props.initialize(this.props.initialValues,this.props.keepDirtyOnReinitialize,{keepValues:this.props.keepValues,updateUnregisteredFields:this.props.updateUnregisteredFields})},d.updateSyncErrorsIfNeeded=function(e,t,n){var r=this.props,i=r.error,o=r.updateSyncErrors,a=!(n&&Object.keys(n).length||i),s=!(e&&Object.keys(e).length||t);a&&s||Fe.a.deepEqual(n,e)&&Fe.a.deepEqual(i,t)||o(e,t)},d.clearSubmitPromiseIfNeeded=function(e){var t=this.props.submitting;this.submitPromise&&t&&!e.submitting&&delete this.submitPromise},d.submitIfNeeded=function(e){var t=this.props,n=t.clearSubmit;!t.triggerSubmit&&e.triggerSubmit&&(n(),this.submit())},d.shouldErrorFunction=function(){var e=this.props,t=e.shouldValidate,n=e.shouldError;return t!==U&&n===Z?t:n},d.validateIfNeeded=function(t){var n=this.props,r=n.validate,i=n.values,o=this.shouldErrorFunction(),a=this.generateValidator();if(r||a){var s=void 0===t,u=Object.keys(this.getValidators());if(o({values:i,nextProps:t,props:this.props,initialRender:s,lastFieldValidatorKeys:this.lastFieldValidatorKeys,fieldValidatorKeys:u,structure:e})){var l=s||!t?this.props:t,c=Tt()(r&&r(l.values,l)||{},a&&a(l.values,l)||{}),d=c._error,f=W()(c,["_error"]);this.lastFieldValidatorKeys=u,this.updateSyncErrorsIfNeeded(f,d,l.syncErrors)}}else this.lastFieldValidatorKeys=[]},d.updateSyncWarningsIfNeeded=function(e,t,n){var r=this.props,i=r.warning,o=r.syncWarnings,a=r.updateSyncWarnings,s=!(o&&Object.keys(o).length||i),u=!(e&&Object.keys(e).length||t);s&&u||Fe.a.deepEqual(n,e)&&Fe.a.deepEqual(i,t)||a(e,t)},d.shouldWarnFunction=function(){var e=this.props,t=e.shouldValidate,n=e.shouldWarn;return t!==U&&n===K?t:n},d.warnIfNeeded=function(t){var n=this.props,r=n.warn,i=n.values,o=this.shouldWarnFunction(),a=this.generateWarner();if(r||a){var s=void 0===t,u=Object.keys(this.getWarners());if(o({values:i,nextProps:t,props:this.props,initialRender:s,lastFieldValidatorKeys:this.lastFieldWarnerKeys,fieldValidatorKeys:u,structure:e})){var l=s||!t?this.props:t,c=Tt()(r?r(l.values,l):{},a?a(l.values,l):{}),d=c._warning,f=W()(c,["_warning"]);this.lastFieldWarnerKeys=u,this.updateSyncWarningsIfNeeded(f,d,l.syncWarnings)}}},d.componentWillMount=function(){Object(qt.a)()||(this.initIfNeeded(),this.validateIfNeeded(),this.warnIfNeeded()),$e()(this.props.shouldValidate,"shouldValidate() is deprecated and will be removed in v9.0.0. Use shouldWarn() or shouldError() instead.")},d.componentWillReceiveProps=function(e){this.initIfNeeded(e),this.validateIfNeeded(e),this.warnIfNeeded(e),this.clearSubmitPromiseIfNeeded(e),this.submitIfNeeded(e);var n=e.onChange,r=e.values,i=e.dispatch;n&&!t(r,this.props.values)&&n(r,i,e,this.props.values)},d.shouldComponentUpdate=function(e){var n=this;if(!this.props.pure)return!0;var r=c.immutableProps,i=void 0===r?[]:r;return!!(this.props.children||e.children||Object.keys(e).some(function(r){return~i.indexOf(r)?n.props[r]!==e[r]:!~cn.indexOf(r)&&!t(n.props[r],e[r])}))},d.componentDidMount=function(){Object(qt.a)()||(this.initIfNeeded(this.props),this.validateIfNeeded(),this.warnIfNeeded()),$e()(this.props.shouldValidate,"shouldValidate() is deprecated and will be removed in v9.0.0. Use shouldWarn() or shouldError() instead.")},d.componentWillUnmount=function(){var e=this.props,t=e.destroyOnUnmount,n=e.destroy;t&&!Object(qt.a)()&&(this.destroyed=!0,n())},d.render=function(){var e,t,n=this,i=this.props,a=i.anyTouched,s=i.array,u=(i.arrayInsert,i.arrayMove,i.arrayPop,i.arrayPush,i.arrayRemove,i.arrayRemoveAll,i.arrayShift,i.arraySplice,i.arraySwap,i.arrayUnshift,i.asyncErrors,i.asyncValidate,i.asyncValidating),c=i.blur,d=i.change,f=i.clearSubmit,p=i.destroy,h=(i.destroyOnUnmount,i.forceUnregisterOnUnmount,i.dirty),m=i.dispatch,g=(i.enableReinitialize,i.error),y=(i.focus,i.form),v=(i.getFormState,i.immutableProps,i.initialize),b=i.initialized,_=i.initialValues,w=i.invalid,A=(i.keepDirtyOnReinitialize,i.keepValues,i.updateUnregisteredFields,i.pristine),x=i.propNamespace,k=(i.registeredFields,i.registerField,i.reset),M=i.resetSection,E=(i.setSubmitFailed,i.setSubmitSucceeded,i.shouldAsyncValidate,i.shouldValidate,i.shouldError,i.shouldWarn,i.startAsyncValidation,i.startSubmit,i.stopAsyncValidation,i.stopSubmit,i.submitAsSideEffect),L=i.submitting,S=i.submitFailed,D=i.submitSucceeded,T=i.touch,C=(i.touchOnBlur,i.touchOnChange,i.persistentSubmitErrors,i.syncErrors,i.syncWarnings,i.unregisterField,i.untouch),O=(i.updateSyncErrors,i.updateSyncWarnings,i.valid),$=(i.validExceptSubmit,i.values,i.warning),j=W()(i,["anyTouched","array","arrayInsert","arrayMove","arrayPop","arrayPush","arrayRemove","arrayRemoveAll","arrayShift","arraySplice","arraySwap","arrayUnshift","asyncErrors","asyncValidate","asyncValidating","blur","change","clearSubmit","destroy","destroyOnUnmount","forceUnregisterOnUnmount","dirty","dispatch","enableReinitialize","error","focus","form","getFormState","immutableProps","initialize","initialized","initialValues","invalid","keepDirtyOnReinitialize","keepValues","updateUnregisteredFields","pristine","propNamespace","registeredFields","registerField","reset","resetSection","setSubmitFailed","setSubmitSucceeded","shouldAsyncValidate","shouldValidate","shouldError","shouldWarn","startAsyncValidation","startSubmit","stopAsyncValidation","stopSubmit","submitAsSideEffect","submitting","submitFailed","submitSucceeded","touch","touchOnBlur","touchOnChange","persistentSubmitErrors","syncErrors","syncWarnings","unregisterField","untouch","updateSyncErrors","updateSyncWarnings","valid","validExceptSubmit","values","warning"]),P=o()({array:s,anyTouched:a,asyncValidate:this.asyncValidate,asyncValidating:u},Object(Ve.bindActionCreators)({blur:c,change:d},m),{clearSubmit:f,destroy:p,dirty:h,dispatch:m,error:g,form:y,handleSubmit:this.submit,initialize:v,initialized:b,initialValues:_,invalid:w,pristine:A,reset:k,resetSection:M,submitting:L,submitAsSideEffect:E,submitFailed:S,submitSucceeded:D,touch:T,untouch:C,valid:O,warning:$}),I=o()({},x?((e={})[x]=P,e):P,j);t=l,Boolean(t&&t.prototype&&"object"==typeof t.prototype.isReactComponent)&&(I.ref=this.wrapped);var N=o()({},this.props,{getFormState:function(e){return r(n.props.getFormState(e),n.props.form)},asyncValidate:this.asyncValidate,getValues:this.getValues,sectionPrefix:void 0,register:this.register,unregister:this.unregister,registerInnerOnSubmit:function(e){return n.innerOnSubmit=e}});return Object(J.createElement)(ne.a.Provider,{value:N,children:Object(J.createElement)(l,I)})},u}(Q.a.Component);d.displayName="Form("+Kt(l)+")",d.WrappedComponent=l,d.propTypes={destroyOnUnmount:te.a.bool,forceUnregisterOnUnmount:te.a.bool,form:te.a.string.isRequired,immutableProps:te.a.arrayOf(te.a.string),initialValues:te.a.oneOfType([te.a.array,te.a.object]),getFormState:te.a.func,onSubmitFail:te.a.func,onSubmitSuccess:te.a.func,propNamespace:te.a.string,validate:te.a.func,warn:te.a.func,touchOnBlur:te.a.bool,touchOnChange:te.a.bool,triggerSubmit:te.a.bool,persistentSubmitErrors:te.a.bool,registeredFields:te.a.any};var f=Object(Ie.connect)(function(e,i){var o=i.form,a=i.getFormState,s=i.initialValues,l=i.enableReinitialize,c=i.keepDirtyOnReinitialize,d=r(a(e)||n,o)||n,f=r(d,"initial"),p=!!f,h=l&&p&&!t(s,f),m=h&&!c,g=s||f||n;h||(g=f||n);var y=r(d,"values")||g;m&&(y=g);var v=m||t(g,y),b=r(d,"asyncErrors"),_=r(d,"syncErrors")||Fe.a.empty,w=r(d,"syncWarnings")||Fe.a.empty,A=r(d,"registeredFields"),x=u(o,a,!1)(e),k=u(o,a,!0)(e),M=!!r(d,"anyTouched"),E=!!r(d,"submitting"),L=!!r(d,"submitFailed"),S=!!r(d,"submitSucceeded"),D=r(d,"error"),T=r(d,"warning"),C=r(d,"triggerSubmit");return{anyTouched:M,asyncErrors:b,asyncValidating:r(d,"asyncValidating")||!1,dirty:!v,error:D,initialized:p,invalid:!x,pristine:v,registeredFields:A,submitting:E,submitFailed:L,submitSucceeded:S,syncErrors:_,syncWarnings:w,triggerSubmit:C,values:y,valid:x,validExceptSubmit:k,warning:T}},function(e,t){var n=function(e){return e.bind(null,t.form)},r=Ge()(un,n),i=Ge()(ln,n),a=n(sn),s=Object(Ve.bindActionCreators)(r,e),u={insert:Object(Ve.bindActionCreators)(i.arrayInsert,e),move:Object(Ve.bindActionCreators)(i.arrayMove,e),pop:Object(Ve.bindActionCreators)(i.arrayPop,e),push:Object(Ve.bindActionCreators)(i.arrayPush,e),remove:Object(Ve.bindActionCreators)(i.arrayRemove,e),removeAll:Object(Ve.bindActionCreators)(i.arrayRemoveAll,e),shift:Object(Ve.bindActionCreators)(i.arrayShift,e),splice:Object(Ve.bindActionCreators)(i.arraySplice,e),swap:Object(Ve.bindActionCreators)(i.arraySwap,e),unshift:Object(Ve.bindActionCreators)(i.arrayUnshift,e)},l=o()({},s,i,{blur:function(e,n){return on(t.form,e,n,!!t.touchOnBlur)},change:function(e,n){return an(t.form,e,n,!!t.touchOnChange,!!t.persistentSubmitErrors)},array:u,focus:a,dispatch:e});return function(){return l}},void 0,{forwardRef:!0}),p=Ot()(f(d),l);p.defaultProps=c;var h=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).ref=Q.a.createRef(),t}V()(t,e);var r=t.prototype;return r.submit=function(){return this.ref.current&&this.ref.current.submit()},r.reset=function(){this.ref&&this.ref.current.reset()},r.render=function(){var e=this.props,t=e.initialValues,n=W()(e,["initialValues"]);return Object(J.createElement)(p,o()({},n,{ref:this.ref,initialValues:s(t)}))},Ce()(t,[{key:"valid",get:function(){return!(!this.ref.current||!this.ref.current.isValid())}},{key:"invalid",get:function(){return!this.valid}},{key:"pristine",get:function(){return!(!this.ref.current||!this.ref.current.isPristine())}},{key:"dirty",get:function(){return!this.pristine}},{key:"values",get:function(){return this.ref.current?this.ref.current.getValues():n}},{key:"fieldList",get:function(){return this.ref.current?this.ref.current.getFieldList():[]}},{key:"wrappedInstance",get:function(){return this.ref.current&&this.ref.current.wrapped.current}}]),t}(Q.a.Component);Object(X.polyfill)(h);var m=Ot()(Object(ne.b)(h),l);return m.defaultProps=c,m}}}(Fe.a),pn=n(144),hn=n.n(pn),mn=n(70),gn=n.n(mn);var yn=function(e){var t=function(e){return function(t,n){return void 0!==e.getIn(t,n)}},n=e.deepEqual,r=e.empty,i=e.getIn,o=e.deleteIn,a=e.setIn;return function(s){return void 0===s&&(s=t),function t(u,l){if("]"===l[l.length-1]){var c=gn()(l);return c.pop(),i(u,c.join("."))?a(u,l):u}var d=u;s(e)(u,l)&&(d=o(u,l));var f=l.lastIndexOf(".");if(f>0){var p=l.substring(0,f);if("]"!==p[p.length-1]){var h=i(d,p);if(n(h,r))return t(d,p)}}return d}}},vn=function(e){var t=e.getIn;return function(e,n){var r=null;/^values/.test(n)&&(r=n.replace("values","initial"));var i=!r||void 0===t(e,r);return void 0!==t(e,n)&&i}},bn=function(e){return e&&e.type&&e.type.length>a.length&&e.type.substring(0,a.length)===a};var _n=function(e){var t,n=e.deepEqual,r=e.empty,i=e.forEach,o=e.getIn,a=e.setIn,z=e.deleteIn,H=e.fromJS,U=e.keys,Z=e.size,K=e.some,q=e.splice,G=yn(e)(vn),V=yn(Fe.a)(vn),J=function(e,t,n,r,i,s,u){var l=o(e,t+"."+n);return l||u?a(e,t+"."+n,q(l,r,i,s)):e},Q=function(e,t,n,r,i,s,u){var l=o(e,t),c=Fe.a.getIn(l,n);return c||u?a(e,t,Fe.a.setIn(l,n,Fe.a.splice(c,r,i,s))):e},X=["values","fields","submitErrors","asyncErrors"],ee=function(e,t,n,i,o){var a=e,s=null!=o?r:void 0;return a=J(a,"values",t,n,i,o,!0),a=J(a,"fields",t,n,i,s),a=Q(a,"syncErrors",t,n,i,void 0),a=Q(a,"syncWarnings",t,n,i,void 0),a=J(a,"submitErrors",t,n,i,void 0),a=J(a,"asyncErrors",t,n,i,void 0)},te=((t={})[s]=function(e,t){var n=t.meta,r=n.field,i=n.index,o=t.payload;return ee(e,r,i,0,o)},t[u]=function(e,t){var n=t.meta,r=n.field,i=n.from,s=n.to,u=o(e,"values."+r),l=u?Z(u):0,c=e;return l&&X.forEach(function(e){var t=e+"."+r;if(o(c,t)){var n=o(c,t+"["+i+"]");c=a(c,t,q(o(c,t),i,1)),c=a(c,t,q(o(c,t),s,0,n))}}),c},t[l]=function(e,t){var n=t.meta.field,r=o(e,"values."+n),i=r?Z(r):0;return i?ee(e,n,i-1,1):e},t[c]=function(e,t){var n=t.meta.field,r=t.payload,i=o(e,"values."+n),a=i?Z(i):0;return ee(e,n,a,0,r)},t[d]=function(e,t){var n=t.meta,r=n.field,i=n.index;return ee(e,r,i,1)},t[f]=function(e,t){var n=t.meta.field,r=o(e,"values."+n),i=r?Z(r):0;return i?ee(e,n,0,i):e},t[p]=function(e,t){var n=t.meta.field;return ee(e,n,0,1)},t[h]=function(e,t){var n=t.meta,r=n.field,i=n.index,o=n.removeNum,a=t.payload;return ee(e,r,i,o,a)},t[g]=function(e,t){var n=t.meta,r=n.field,i=n.indexA,s=n.indexB,u=e;return X.forEach(function(e){var t=o(u,e+"."+r+"["+i+"]"),n=o(u,e+"."+r+"["+s+"]");void 0===t&&void 0===n||(u=a(u,e+"."+r+"["+i+"]",n),u=a(u,e+"."+r+"["+s+"]",t))}),u},t[m]=function(e,t){var n=t.meta.field,r=t.payload;return ee(e,n,0,0,r)},t[y]=function(e,t){var n=t.meta.field,r=t.payload,i=e;return i=G(i,"asyncErrors."+n),i=G(i,"submitErrors."+n),i=a(i,"fields."+n+".autofilled",!0),i=a(i,"values."+n,r)},t[v]=function(e,t){var n=t.meta,r=n.field,i=n.touch,s=t.payload,u=e;return void 0===o(u,"initial."+r)&&""===s?u=G(u,"values."+r):void 0!==s&&(u=a(u,"values."+r,s)),r===o(u,"active")&&(u=z(u,"active")),u=z(u,"fields."+r+".active"),i&&(u=a(u,"fields."+r+".touched",!0),u=a(u,"anyTouched",!0)),u},t[b]=function(e,t){var n=t.meta,r=n.field,i=n.touch,s=n.persistentSubmitErrors,u=t.payload,l=e;if(void 0===o(l,"initial."+r)&&""===u)l=G(l,"values."+r);else if(hn()(u)){var c=o(e,"values."+r);l=a(l,"values."+r,u(c,e.values))}else void 0!==u&&(l=a(l,"values."+r,u));return l=G(l,"asyncErrors."+r),s||(l=G(l,"submitErrors."+r)),l=G(l,"fields."+r+".autofilled"),i&&(l=a(l,"fields."+r+".touched",!0),l=a(l,"anyTouched",!0)),l},t[w]=function(e){return z(e,"triggerSubmit")},t[A]=function(e){var t=e;return t=G(t,"submitErrors"),t=z(t,"error")},t[x]=function(e,t){var n=t.meta.field;return z(e,"asyncErrors."+n)},t[_]=function(e,t){var n=t.meta,r=n.keepTouched,i=n.persistentSubmitErrors,s=n.fields,u=e;s.forEach(function(e){u=G(u,"values."+e),u=G(u,"asyncErrors."+e),i||(u=G(u,"submitErrors."+e)),u=G(u,"fields."+e+".autofilled"),r||(u=z(u,"fields."+e+".touched"))});var l=K(U(o(u,"registeredFields")),function(e){return o(u,"fields."+e+".touched")});return u=l?a(u,"anyTouched",!0):z(u,"anyTouched")},t[M]=function(e,t){var n=t.meta.field,r=e,i=o(e,"active");return r=z(r,"fields."+i+".active"),r=a(r,"fields."+n+".visited",!0),r=a(r,"fields."+n+".active",!0),r=a(r,"active",n)},t[E]=function(e,t){var s=t.payload,u=t.meta,l=u.keepDirty,c=u.keepSubmitSucceeded,d=u.updateUnregisteredFields,f=u.keepValues,p=H(s),h=r,m=o(e,"warning");m&&(h=a(h,"warning",m));var g=o(e,"syncWarnings");g&&(h=a(h,"syncWarnings",g));var y=o(e,"error");y&&(h=a(h,"error",y));var v=o(e,"syncErrors");v&&(h=a(h,"syncErrors",v));var b=o(e,"registeredFields");b&&(h=a(h,"registeredFields",b));var _=o(e,"values"),w=o(e,"initial"),A=p,x=_;if(l&&b){if(!n(A,w)){var k=function(e){var t=o(w,e),r=o(_,e);if(n(r,t)){var i=o(A,e);o(x,e)!==i&&(x=a(x,e,i))}};d||i(U(b),function(e){return k(e)}),i(U(A),function(e){if(void 0===o(w,e)){var t=o(A,e);x=a(x,e,t)}d&&k(e)})}}else x=A;return f&&(i(U(_),function(e){var t=o(_,e);x=a(x,e,t)}),i(U(w),function(e){var t=o(w,e);A=a(A,e,t)})),c&&o(e,"submitSucceeded")&&(h=a(h,"submitSucceeded",!0)),h=a(h,"values",x),h=a(h,"initial",A)},t[L]=function(e,t){var n=t.payload,r=n.name,i=n.type,s="registeredFields['"+r+"']",u=o(e,s);if(u){var l=o(u,"count")+1;u=a(u,"count",l)}else u=H({name:r,type:i,count:1});return a(e,s,u)},t[S]=function(e){var t=r,n=o(e,"registeredFields");n&&(t=a(t,"registeredFields",n));var i=o(e,"initial");return i&&(t=a(t,"values",i),t=a(t,"initial",i)),t},t[D]=function(e,t){var n=t.meta.sections,r=e;n.forEach(function(t){r=G(r,"asyncErrors."+t),r=G(r,"submitErrors."+t),r=G(r,"fields."+t);var n=o(e,"initial."+t);r=n?a(r,"values."+t,n):G(r,"values."+t)});var i=K(U(o(r,"registeredFields")),function(e){return o(r,"fields."+e+".touched")});return r=i?a(r,"anyTouched",!0):z(r,"anyTouched")},t[I]=function(e){return a(e,"triggerSubmit",!0)},t[O]=function(e,t){var n=t.meta.field;return a(e,"asyncValidating",n||!0)},t[$]=function(e){return a(e,"submitting",!0)},t[j]=function(e,t){var n=t.payload,r=e;if(r=z(r,"asyncValidating"),n&&Object.keys(n).length){var i=n._error,o=W()(n,["_error"]);i&&(r=a(r,"error",i)),Object.keys(o).length&&(r=a(r,"asyncErrors",H(o)))}else r=z(r,"error"),r=z(r,"asyncErrors");return r},t[P]=function(e,t){var n=t.payload,r=e;if(r=z(r,"submitting"),r=z(r,"submitFailed"),r=z(r,"submitSucceeded"),n&&Object.keys(n).length){var i=n._error,o=W()(n,["_error"]);r=i?a(r,"error",i):z(r,"error"),r=Object.keys(o).length?a(r,"submitErrors",H(o)):z(r,"submitErrors"),r=a(r,"submitFailed",!0)}else r=z(r,"error"),r=z(r,"submitErrors");return r},t[T]=function(e,t){var n=t.meta.fields,r=e;return r=a(r,"submitFailed",!0),r=z(r,"submitSucceeded"),r=z(r,"submitting"),n.forEach(function(e){return r=a(r,"fields."+e+".touched",!0)}),n.length&&(r=a(r,"anyTouched",!0)),r},t[C]=function(e){var t=e;return t=z(t,"submitFailed"),t=a(t,"submitSucceeded",!0)},t[N]=function(e,t){var n=t.meta.fields,r=e;return n.forEach(function(e){return r=a(r,"fields."+e+".touched",!0)}),r=a(r,"anyTouched",!0)},t[F]=function(e,t){var i=t.payload,s=i.name,u=i.destroyOnUnmount,l=e,c="registeredFields['"+s+"']",d=o(l,c);if(!d)return l;var f=o(d,"count")-1;if(f<=0&&u){l=z(l,c),n(o(l,"registeredFields"),r)&&(l=z(l,"registeredFields"));var p=o(l,"syncErrors");p&&(p=V(p,s),l=Fe.a.deepEqual(p,Fe.a.empty)?z(l,"syncErrors"):a(l,"syncErrors",p));var h=o(l,"syncWarnings");h&&(h=V(h,s),l=Fe.a.deepEqual(h,Fe.a.empty)?z(l,"syncWarnings"):a(l,"syncWarnings",h)),l=G(l,"submitErrors."+s),l=G(l,"asyncErrors."+s)}else d=a(d,"count",f),l=a(l,c,d);return l},t[R]=function(e,t){var n=t.meta.fields,r=e;n.forEach(function(e){return r=z(r,"fields."+e+".touched")});var i=K(U(o(r,"registeredFields")),function(e){return o(r,"fields."+e+".touched")});return r=i?a(r,"anyTouched",!0):z(r,"anyTouched")},t[Y]=function(e,t){var n=t.payload,r=n.syncErrors,i=n.error,o=e;return i?(o=a(o,"error",i),o=a(o,"syncError",!0)):(o=z(o,"error"),o=z(o,"syncError")),o=Object.keys(r).length?a(o,"syncErrors",r):z(o,"syncErrors")},t[B]=function(e,t){var n=t.payload,r=n.syncWarnings,i=n.warning,o=e;return o=i?a(o,"warning",i):z(o,"warning"),o=Object.keys(r).length?a(o,"syncWarnings",r):z(o,"syncWarnings")},t);return function e(t){return t.plugin=function(t,n){var i=this;return void 0===n&&(n={}),e(function(e,s){void 0===e&&(e=r),void 0===s&&(s={type:"NONE"});var u=function(n,r){var i=o(n,r),u=t[r](i,s,o(e,r));return u!==i?a(n,r,u):n},l=i(e,s),c=s&&s.meta&&s.meta.form;return c&&!n.receiveAllFormActions?t[c]?u(l,c):l:Object.keys(t).reduce(u,l)})},t}(function(e){return function(t,n){void 0===t&&(t=r),void 0===n&&(n={type:"NONE"});var i=n&&n.meta&&n.meta.form;if(!i||!bn(n))return t;if(n.type===k&&n.meta&&n.meta.form)return n.meta.form.reduce(function(e,t){return G(e,t)},t);var s=o(t,i),u=e(s,n);return u===s?t:a(t,i,u)}}(function(e,t){void 0===e&&(e=r);var n=te[t.type];return n?n(e,t):e}))}(Fe.a),wn=function(e){var t=e.getIn;return function(e){var n=o()({prop:"values",getFormState:function(e){return t(e,"form")}},e),r=n.form,i=n.prop,a=n.getFormState;return Object(Ie.connect)(function(e){var n;return(n={})[i]=t(a(e),r+".values"),n})}}(Fe.a);n.d(t,"actionTypes",function(){return An}),n.d(t,"arrayInsert",function(){return xn}),n.d(t,"arrayMove",function(){return kn}),n.d(t,"arrayPop",function(){return Mn}),n.d(t,"arrayPush",function(){return En}),n.d(t,"arrayRemove",function(){return Ln}),n.d(t,"arrayRemoveAll",function(){return Sn}),n.d(t,"arrayShift",function(){return Dn}),n.d(t,"arraySplice",function(){return Tn}),n.d(t,"arraySwap",function(){return Cn}),n.d(t,"arrayUnshift",function(){return On}),n.d(t,"autofill",function(){return $n}),n.d(t,"blur",function(){return jn}),n.d(t,"change",function(){return Pn}),n.d(t,"clearAsyncError",function(){return In}),n.d(t,"clearFields",function(){return Nn}),n.d(t,"clearSubmit",function(){return Fn}),n.d(t,"clearSubmitErrors",function(){return Rn}),n.d(t,"destroy",function(){return Yn}),n.d(t,"focus",function(){return Bn}),n.d(t,"initialize",function(){return zn}),n.d(t,"registerField",function(){return Hn}),n.d(t,"reset",function(){return Un}),n.d(t,"resetSection",function(){return Zn}),n.d(t,"setSubmitFailed",function(){return Kn}),n.d(t,"setSubmitSucceeded",function(){return qn}),n.d(t,"startAsyncValidation",function(){return Wn}),n.d(t,"startSubmit",function(){return Gn}),n.d(t,"stopAsyncValidation",function(){return Vn}),n.d(t,"stopSubmit",function(){return Jn}),n.d(t,"submit",function(){return Qn}),n.d(t,"touch",function(){return Xn}),n.d(t,"unregisterField",function(){return er}),n.d(t,"untouch",function(){return tr}),n.d(t,"updateSyncWarnings",function(){return nr}),n.d(t,"updateSyncErrors",function(){return rr}),n.d(t,"defaultShouldAsyncValidate",function(){return H}),n.d(t,"defaultShouldValidate",function(){return U}),n.d(t,"defaultShouldError",function(){return Z}),n.d(t,"defaultShouldWarn",function(){return K}),n.d(t,"Form",function(){return ie}),n.d(t,"FormName",function(){return oe}),n.d(t,"FormSection",function(){return le}),n.d(t,"SubmissionError",function(){return fe}),n.d(t,"propTypes",function(){return Se}),n.d(t,"fieldInputPropTypes",function(){return Ae}),n.d(t,"fieldMetaPropTypes",function(){return xe}),n.d(t,"fieldPropTypes",function(){return Ee}),n.d(t,"fieldArrayFieldsPropTypes",function(){return Me}),n.d(t,"fieldArrayMetaPropTypes",function(){return ke}),n.d(t,"fieldArrayPropTypes",function(){return Le}),n.d(t,"formPropTypes",function(){return we}),n.d(t,"Field",function(){return De.a}),n.d(t,"Fields",function(){return qe}),n.d(t,"FieldArray",function(){return tt}),n.d(t,"formValueSelector",function(){return nt}),n.d(t,"formValues",function(){return st}),n.d(t,"getFormError",function(){return ut}),n.d(t,"getFormNames",function(){return ct}),n.d(t,"getFormValues",function(){return dt}),n.d(t,"getFormInitialValues",function(){return ft}),n.d(t,"getFormSyncErrors",function(){return pt}),n.d(t,"getFormMeta",function(){return ht}),n.d(t,"getFormAsyncErrors",function(){return mt}),n.d(t,"getFormSyncWarnings",function(){return gt}),n.d(t,"getFormSubmitErrors",function(){return yt}),n.d(t,"isAsyncValidating",function(){return vt}),n.d(t,"isDirty",function(){return _t}),n.d(t,"isInvalid",function(){return xt}),n.d(t,"isPristine",function(){return kt}),n.d(t,"isValid",function(){return Mt}),n.d(t,"isSubmitting",function(){return Et}),n.d(t,"hasSubmitSucceeded",function(){return Lt}),n.d(t,"hasSubmitFailed",function(){return St}),n.d(t,"reduxForm",function(){return fn}),n.d(t,"reducer",function(){return _n}),n.d(t,"values",function(){return wn});var An=r,xn=z.arrayInsert,kn=z.arrayMove,Mn=z.arrayPop,En=z.arrayPush,Ln=z.arrayRemove,Sn=z.arrayRemoveAll,Dn=z.arrayShift,Tn=z.arraySplice,Cn=z.arraySwap,On=z.arrayUnshift,$n=z.autofill,jn=z.blur,Pn=z.change,In=z.clearAsyncError,Nn=z.clearFields,Fn=z.clearSubmit,Rn=z.clearSubmitErrors,Yn=z.destroy,Bn=z.focus,zn=z.initialize,Hn=z.registerField,Un=z.reset,Zn=z.resetSection,Kn=z.setSubmitFailed,qn=z.setSubmitSucceeded,Wn=z.startAsyncValidation,Gn=z.startSubmit,Vn=z.stopAsyncValidation,Jn=z.stopSubmit,Qn=z.submit,Xn=z.touch,er=z.unregisterField,tr=z.untouch,nr=z.updateSyncWarnings,rr=z.updateSyncErrors},function(e,t){e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=i.a.createContext(null);var u=function(e){e()},l=function(){return u},c=null,d={notify:function(){}};var f=function(){function e(e,t){this.store=e,this.parentSub=t,this.unsubscribe=null,this.listeners=d,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var t=e.prototype;return t.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},t.notifyNestedSubs=function(){this.listeners.notify()},t.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},t.isSubscribed=function(){return Boolean(this.unsubscribe)},t.trySubscribe=function(){var e,t,n;this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=(e=l(),t=[],n=[],{clear:function(){n=c,t=c},notify:function(){var r=t=n;e(function(){for(var e=0;e<r.length;e++)r[e]()})},get:function(){return n},subscribe:function(e){var r=!0;return n===t&&(n=t.slice()),n.push(e),function(){r&&t!==c&&(r=!1,n===t&&(n=t.slice()),n.splice(n.indexOf(e),1))}}}))},t.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=d)},e}(),p=function(e){var t,n;function r(t){var n;n=e.call(this,t)||this;var r=t.store;n.notifySubscribers=n.notifySubscribers.bind(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(n));var i=new f(r);return i.onStateChange=n.notifySubscribers,n.state={store:r,subscription:i},n.previousState=r.getState(),n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var o=r.prototype;return o.componentDidMount=function(){this._isMounted=!0,this.state.subscription.trySubscribe(),this.previousState!==this.props.store.getState()&&this.state.subscription.notifyNestedSubs()},o.componentWillUnmount=function(){this.unsubscribe&&this.unsubscribe(),this.state.subscription.tryUnsubscribe(),this._isMounted=!1},o.componentDidUpdate=function(e){if(this.props.store!==e.store){this.state.subscription.tryUnsubscribe();var t=new f(this.props.store);t.onStateChange=this.notifySubscribers,this.setState({store:this.props.store,subscription:t})}},o.notifySubscribers=function(){this.state.subscription.notifyNestedSubs()},o.render=function(){var e=this.props.context||s;return i.a.createElement(e.Provider,{value:this.state},this.props.children)},r}(r.Component);p.propTypes={store:a.a.shape({subscribe:a.a.func.isRequired,dispatch:a.a.func.isRequired,getState:a.a.func.isRequired}),context:a.a.object,children:a.a.any};var h=p;function m(){return(m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function g(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}var y=n(114),v=n.n(y),b=n(7),_=n.n(b),w=n(56),A=[],x=[null,null];function k(e,t){var n=e[1];return[t.payload,n+1]}var M=function(){return[null,0]},E="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?r.useLayoutEffect:r.useEffect;function L(e,t){void 0===t&&(t={});var n=t,o=n.getDisplayName,a=void 0===o?function(e){return"ConnectAdvanced("+e+")"}:o,u=n.methodName,l=void 0===u?"connectAdvanced":u,c=n.renderCountProp,d=void 0===c?void 0:c,p=n.shouldHandleStateChanges,h=void 0===p||p,y=n.storeKey,b=void 0===y?"store":y,L=n.withRef,S=void 0!==L&&L,D=n.forwardRef,T=void 0!==D&&D,C=n.context,O=void 0===C?s:C,$=g(n,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]);_()(void 0===d,"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension"),_()(!S,"withRef is removed. To access the wrapped instance, use a ref on the connected component");_()("store"===b,"storeKey has been removed and does not do anything. To use a custom Redux store for specific components, create a custom React context with React.createContext(), and pass the context object to React Redux's Provider and specific components like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. You may also pass a {context : MyContext} option to connect");var j=O;return function(t){var n=t.displayName||t.name||"Component",o=a(n),s=m({},$,{getDisplayName:a,methodName:l,renderCountProp:d,shouldHandleStateChanges:h,storeKey:b,displayName:o,wrappedComponentName:n,WrappedComponent:t}),u=$.pure;var c=u?r.useMemo:function(e){return e()};function p(n){var a=Object(r.useMemo)(function(){var e=n.forwardedRef,t=g(n,["forwardedRef"]);return[n.context,e,t]},[n]),u=a[0],l=a[1],d=a[2],p=Object(r.useMemo)(function(){return u&&u.Consumer&&Object(w.isContextConsumer)(i.a.createElement(u.Consumer,null))?u:j},[u,j]),y=Object(r.useContext)(p),v=Boolean(n.store),b=Boolean(y)&&Boolean(y.store);_()(v||b,'Could not find "store" in the context of "'+o+'". Either wrap the root component in a <Provider>, or pass a custom React context provider to <Provider> and the corresponding React context consumer to '+o+" in connect options.");var L=n.store||y.store,S=Object(r.useMemo)(function(){return function(t){return e(t.dispatch,s)}(L)},[L]),D=Object(r.useMemo)(function(){if(!h)return x;var e=new f(L,v?null:y.subscription),t=e.notifyNestedSubs.bind(e);return[e,t]},[L,v,y]),T=D[0],C=D[1],O=Object(r.useMemo)(function(){return v?y:m({},y,{subscription:T})},[v,y,T]),$=Object(r.useReducer)(k,A,M),P=$[0][0],I=$[1];if(P&&P.error)throw P.error;var N=Object(r.useRef)(),F=Object(r.useRef)(d),R=Object(r.useRef)(),Y=Object(r.useRef)(!1),B=c(function(){return R.current&&d===F.current?R.current:S(L.getState(),d)},[L,P,d]);E(function(){F.current=d,N.current=B,Y.current=!1,R.current&&(R.current=null,C())}),E(function(){if(h){var e=!1,t=null,n=function(){if(!e){var n,r,i=L.getState();try{n=S(i,F.current)}catch(e){r=e,t=e}r||(t=null),n===N.current?Y.current||C():(N.current=n,R.current=n,Y.current=!0,I({type:"STORE_UPDATED",payload:{latestStoreState:i,error:r}}))}};T.onStateChange=n,T.trySubscribe(),n();return function(){if(e=!0,T.tryUnsubscribe(),t)throw t}}},[L,T,S]);var z=Object(r.useMemo)(function(){return i.a.createElement(t,m({},B,{ref:l}))},[l,t,B]);return Object(r.useMemo)(function(){return h?i.a.createElement(p.Provider,{value:O},z):z},[p,z,O])}var y=u?i.a.memo(p):p;if(y.WrappedComponent=t,y.displayName=o,T){var L=i.a.forwardRef(function(e,t){return i.a.createElement(y,m({},e,{forwardedRef:t}))});return L.displayName=o,L.WrappedComponent=t,v()(L,t)}return v()(y,t)}}var S=Object.prototype.hasOwnProperty;function D(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function T(e,t){if(D(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var i=0;i<n.length;i++)if(!S.call(t,n[i])||!D(e[n[i]],t[n[i]]))return!1;return!0}var C=n(20);function O(e){return function(t,n){var r=e(t,n);function i(){return r}return i.dependsOnOwnProps=!1,i}}function $(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}function j(e,t){return function(t,n){n.displayName;var r=function(e,t){return r.dependsOnOwnProps?r.mapToProps(e,t):r.mapToProps(e)};return r.dependsOnOwnProps=!0,r.mapToProps=function(t,n){r.mapToProps=e,r.dependsOnOwnProps=$(e);var i=r(t,n);return"function"==typeof i&&(r.mapToProps=i,r.dependsOnOwnProps=$(i),i=r(t,n)),i},r}}var P=[function(e){return"function"==typeof e?j(e):void 0},function(e){return e?void 0:O(function(e){return{dispatch:e}})},function(e){return e&&"object"==typeof e?O(function(t){return Object(C.bindActionCreators)(e,t)}):void 0}];var I=[function(e){return"function"==typeof e?j(e):void 0},function(e){return e?void 0:O(function(){return{}})}];function N(e,t,n){return m({},n,e,t)}var F=[function(e){return"function"==typeof e?function(e){return function(t,n){n.displayName;var r,i=n.pure,o=n.areMergedPropsEqual,a=!1;return function(t,n,s){var u=e(t,n,s);return a?i&&o(u,r)||(r=u):(a=!0,r=u),r}}}(e):void 0},function(e){return e?void 0:function(){return N}}];function R(e,t,n,r){return function(i,o){return n(e(i,o),t(r,o),o)}}function Y(e,t,n,r,i){var o,a,s,u,l,c=i.areStatesEqual,d=i.areOwnPropsEqual,f=i.areStatePropsEqual,p=!1;function h(i,p){var h,m,g=!d(p,a),y=!c(i,o);return o=i,a=p,g&&y?(s=e(o,a),t.dependsOnOwnProps&&(u=t(r,a)),l=n(s,u,a)):g?(e.dependsOnOwnProps&&(s=e(o,a)),t.dependsOnOwnProps&&(u=t(r,a)),l=n(s,u,a)):y?(h=e(o,a),m=!f(h,s),s=h,m&&(l=n(s,u,a)),l):l}return function(i,c){return p?h(i,c):(s=e(o=i,a=c),u=t(r,a),l=n(s,u,a),p=!0,l)}}function B(e,t){var n=t.initMapStateToProps,r=t.initMapDispatchToProps,i=t.initMergeProps,o=g(t,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),a=n(e,o),s=r(e,o),u=i(e,o);return(o.pure?Y:R)(a,s,u,e,o)}function z(e,t,n){for(var r=t.length-1;r>=0;r--){var i=t[r](e);if(i)return i}return function(t,r){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function H(e,t){return e===t}var U,Z,K,q,W,G,V,J,Q,X,ee,te,ne=(K=(Z=void 0===U?{}:U).connectHOC,q=void 0===K?L:K,W=Z.mapStateToPropsFactories,G=void 0===W?I:W,V=Z.mapDispatchToPropsFactories,J=void 0===V?P:V,Q=Z.mergePropsFactories,X=void 0===Q?F:Q,ee=Z.selectorFactory,te=void 0===ee?B:ee,function(e,t,n,r){void 0===r&&(r={});var i=r,o=i.pure,a=void 0===o||o,s=i.areStatesEqual,u=void 0===s?H:s,l=i.areOwnPropsEqual,c=void 0===l?T:l,d=i.areStatePropsEqual,f=void 0===d?T:d,p=i.areMergedPropsEqual,h=void 0===p?T:p,y=g(i,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),v=z(e,G,"mapStateToProps"),b=z(t,J,"mapDispatchToProps"),_=z(n,X,"mergeProps");return q(te,m({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:v,initMapDispatchToProps:b,initMergeProps:_,pure:a,areStatesEqual:u,areOwnPropsEqual:c,areStatePropsEqual:f,areMergedPropsEqual:h},y))});function re(){var e=Object(r.useContext)(s);return _()(e,"could not find react-redux context value; please ensure the component is wrapped in a <Provider>"),e}function ie(){return re().store}function oe(){return ie().dispatch}var ae="undefined"!=typeof window?r.useLayoutEffect:r.useEffect,se=function(e,t){return e===t};function ue(e,t){void 0===t&&(t=se),_()(e,"You must pass a selector to useSelectors");var n,i=re(),o=i.store,a=i.subscription,s=Object(r.useReducer)(function(e){return e+1},0)[1],u=Object(r.useMemo)(function(){return new f(o,a)},[o,a]),l=Object(r.useRef)(),c=Object(r.useRef)(),d=Object(r.useRef)();try{n=e!==c.current||l.current?e(o.getState()):d.current}catch(e){var p="An error occured while selecting the store state: "+e.message+".";throw l.current&&(p+="\nThe error may be correlated with this previous error:\n"+l.current.stack+"\n\nOriginal stack trace:"),new Error(p)}return ae(function(){c.current=e,d.current=n,l.current=void 0}),ae(function(){function e(){try{var e=c.current(o.getState());if(t(e,d.current))return;d.current=e}catch(e){l.current=e}s({})}return u.onStateChange=e,u.trySubscribe(),e(),function(){return u.tryUnsubscribe()}},[o,u]),n}var le,ce=n(19);n.d(t,"Provider",function(){return h}),n.d(t,"connectAdvanced",function(){return L}),n.d(t,"ReactReduxContext",function(){return s}),n.d(t,"connect",function(){return ne}),n.d(t,"batch",function(){return ce.unstable_batchedUpdates}),n.d(t,"useDispatch",function(){return oe}),n.d(t,"useSelector",function(){return ue}),n.d(t,"useStore",function(){return ie}),n.d(t,"shallowEqual",function(){return T}),le=ce.unstable_batchedUpdates,u=le},function(e,t){var n=e.exports={version:"2.6.9"};"number"==typeof __e&&(__e=n)},function(e,t,n){"use strict";t.__esModule=!0,t.message=t.accessor=t.disabled=t.dateFormat=t.numberFormat=void 0;var r=s(n(1)),i=s(n(837));t.elementType=i.default;var o=s(n(467)),a=n(34);function s(e){return e&&e.__esModule?e:{default:e}}var u=(0,o.default)(function(){return a.number.propType.apply(a.number,arguments)});t.numberFormat=u;var l=(0,o.default)(function(){return a.date.propType.apply(a.date,arguments)});t.dateFormat=l;var c=(0,o.default)(function(){return r.default.bool.apply(r.default,arguments)});t.disabled=c,c.acceptsArray=r.default.oneOfType([c,r.default.array]);var d=r.default.oneOfType([r.default.string,r.default.func]);t.accessor=d;var f=r.default.oneOfType([r.default.node,r.default.string,r.default.func]);t.message=f},function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(576)},function(e,t,n){"use strict";n.r(t),n.d(t,"createStore",function(){return s}),n.d(t,"combineReducers",function(){return l}),n.d(t,"bindActionCreators",function(){return d}),n.d(t,"applyMiddleware",function(){return h}),n.d(t,"compose",function(){return p}),n.d(t,"__DO_NOT_USE__ActionTypes",function(){return o});var r=n(87),i=function(){return Math.random().toString(36).substring(7).split("").join(".")},o={INIT:"@@redux/INIT"+i(),REPLACE:"@@redux/REPLACE"+i(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+i()}};function a(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function s(e,t,n){var i;if("function"==typeof t&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw new Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function");if("function"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if("function"!=typeof n)throw new Error("Expected the enhancer to be a function.");return n(s)(e,t)}if("function"!=typeof e)throw new Error("Expected the reducer to be a function.");var u=e,l=t,c=[],d=c,f=!1;function p(){d===c&&(d=c.slice())}function h(){if(f)throw new Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return l}function m(e){if("function"!=typeof e)throw new Error("Expected the listener to be a function.");if(f)throw new Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");var t=!0;return p(),d.push(e),function(){if(t){if(f)throw new Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");t=!1,p();var n=d.indexOf(e);d.splice(n,1)}}}function g(e){if(!a(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(f)throw new Error("Reducers may not dispatch actions.");try{f=!0,l=u(l,e)}finally{f=!1}for(var t=c=d,n=0;n<t.length;n++){(0,t[n])()}return e}return g({type:o.INIT}),(i={dispatch:g,subscribe:m,getState:h,replaceReducer:function(e){if("function"!=typeof e)throw new Error("Expected the nextReducer to be a function.");u=e,g({type:o.REPLACE})}})[r.a]=function(){var e,t=m;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new TypeError("Expected the observer to be an object.");function n(){e.next&&e.next(h())}return n(),{unsubscribe:t(n)}}})[r.a]=function(){return this},e},i}function u(e,t){var n=t&&t.type;return"Given "+(n&&'action "'+String(n)+'"'||"an action")+', reducer "'+e+'" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'}function l(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++){var i=t[r];0,"function"==typeof e[i]&&(n[i]=e[i])}var a,s=Object.keys(n);try{!function(e){Object.keys(e).forEach(function(t){var n=e[t];if(void 0===n(void 0,{type:o.INIT}))throw new Error('Reducer "'+t+"\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.");if(void 0===n(void 0,{type:o.PROBE_UNKNOWN_ACTION()}))throw new Error('Reducer "'+t+"\" returned undefined when probed with a random type. Don't try to handle "+o.INIT+' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.')})}(n)}catch(e){a=e}return function(e,t){if(void 0===e&&(e={}),a)throw a;for(var r=!1,i={},o=0;o<s.length;o++){var l=s[o],c=n[l],d=e[l],f=c(d,t);if(void 0===f){var p=u(l,t);throw new Error(p)}i[l]=f,r=r||f!==d}return r?i:e}}function c(e,t){return function(){return t(e.apply(this,arguments))}}function d(e,t){if("function"==typeof e)return c(e,t);if("object"!=typeof e||null===e)throw new Error("bindActionCreators expected an object or a function, instead received "+(null===e?"null":typeof e)+'. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');for(var n=Object.keys(e),r={},i=0;i<n.length;i++){var o=n[i],a=e[o];"function"==typeof a&&(r[o]=c(a,t))}return r}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}})}function h(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),r=function(){throw new Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},i={getState:n.getState,dispatch:function(){return r.apply(void 0,arguments)}},o=t.map(function(e){return e(i)});return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){f(e,t,n[t])})}return e}({},n,{dispatch:r=p.apply(void 0,o)(n.dispatch)})}}}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r,i=n(277),o=(r=i)&&r.__esModule?r:{default:r};t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,o.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){"use strict";t.__esModule=!0;var r,i=n(67),o=(r=i)&&r.__esModule?r:{default:r};t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,o.default)(t))&&"function"!=typeof t?e:t}},function(e,t,n){"use strict";t.__esModule=!0;var r=a(n(568)),i=a(n(572)),o=a(n(67));function a(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,o.default)(t)));e.prototype=(0,i.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(r.default?(0,r.default)(e,t):e.__proto__=t)}},function(e,t,n){"use strict";n.d(t,"a",function(){return c}),n.d(t,"b",function(){return d});var r=n(5),i=n.n(r),o=n(11),a=n.n(o),s=n(14),u=n.n(s),l=n(0),c=l.createContext(null),d=function(e){var t=function(t){function n(){return t.apply(this,arguments)||this}return u()(n,t),n.prototype.render=function(){var t=this.props,n=t.forwardedRef,r=a()(t,["forwardedRef"]);return l.createElement(c.Consumer,{children:function(t){return l.createElement(e,i()({_reduxForm:t,ref:n},r))}})},n}(l.Component),n=l.forwardRef(function(e,n){return l.createElement(t,i()({},e,{forwardedRef:n}))});return n.displayName=e.displayName||e.name||"Component",n}},function(e,t,n){"use strict";t.a=function(e,t){var n=e._reduxForm.sectionPrefix;return n?n+"."+t:t}},function(e,t,n){"use strict";var r=n(131),i=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],o=["scalar","sequence","mapping"];e.exports=function(e,t){var n,a;if(t=t||{},Object.keys(t).forEach(function(t){if(-1===i.indexOf(t))throw new r('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=(n=t.styleAliases||null,a={},null!==n&&Object.keys(n).forEach(function(e){n[e].forEach(function(t){a[String(t)]=e})}),a),-1===o.indexOf(this.kind))throw new r('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=p(n(30)),o=p(n(21)),a=p(n(22)),s=p(n(23)),u=p(n(24)),l=n(0),c=p(l),d=n(15),f=n(217);function p(e){return e&&e.__esModule?e:{default:e}}var h=function(e){var t=e;return e.length>m&&(t=e.substring(0,m-1)+"..."),t},m=100,g=(0,d.connect)(function(e){return{}},function(e){return{show:function(t){return e((0,f.show)(t))}}})(r=function(e){function t(e){return(0,o.default)(this,t),(0,s.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e))}return(0,u.default)(t,e),(0,a.default)(t,[{key:"render",value:function(){var e=this;if(!this.props.title&&!this.props.description)return null;var t=this.props,n=t.title,r=t.description,i=h(r);return c.default.createElement("div",{className:"field_info"},c.default.createElement("small",{className:"form-text text-muted"},c.default.createElement("span",null,i),r.length>m&&c.default.createElement("span",null,c.default.createElement("a",{href:"#",className:"link",onClick:function(){console.log("CLICK",r),e.props.show({title:n,description:r})}},"Read more"))))}}]),t}(l.Component))||r;t.default=g},function(e,t,n){"use strict";t.__esModule=!0,t.pick=function(e,t){var n=Object.keys(t.propTypes),r={};return Object.keys(e).forEach(function(t){-1!==n.indexOf(t)&&(r[t]=e[t])}),r},t.pickElementProps=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];var s=o.apply(void 0,[e].concat(n)),u={};return Object.keys(s).forEach(function(e){(-1!==r.indexOf(e)||i.some(function(t){return!!e.match(t)}))&&(u[e]=s[e])}),u},t.omitOwn=o;var r=["style","className","role","id","autocomplete","size","tabIndex","maxLength","name"],i=[/^aria-/,/^data-/,/^on[A-Z]\w+/];function o(e){for(var t=Object.keys(e.constructor.propTypes),n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];var o=r.reduce(function(e,t){return e.concat(Object.keys(t.propTypes))},t),a={};return Object.keys(e.props).forEach(function(t){-1===o.indexOf(t)&&(a[t]=e.props[t])}),a}},function(e,t,n){e.exports={default:n(545),__esModule:!0}},function(e,t,n){"use strict";function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments[1];return new RegExp("^(?:"+t+")$").test(e)}function i(e,t){var n=e.slice(),r=t,i=Array.isArray(r),o=0;for(r=i?r:r[Symbol.iterator]();;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if((o=r.next()).done)break;a=o.value}var s=a;e.indexOf(s)<0&&n.push(s)}return n.sort(function(e,t){return e-t})}n.d(t,"a",function(){return r}),n.d(t,"b",function(){return i})},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){var r=n(198)("wks"),i=n(147),o=n(32).Symbol,a="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))}).store=r},function(e,t,n){"use strict";t.__esModule=!0,t.setNumber=function(e){var t=e.format,n=e.parse,r=e.formats,i=e.propType,s=void 0===i?o:i,l=e.decimalChar,c=void 0===l?function(){return"."}:l,d=e.precision,h=void 0===d?function(){return null}:d;p(a,r),u={formats:r,precision:h,decimalChar:c,propType:s,format:f(t),parse:function(e,t,r){var i=n.call(this,e,t,r);return null!=i&&"number"!=typeof i&&invariant(!1),i}}},t.setDate=function(e){var t=e.formats,n=e.format,r=e.parse,i=e.firstOfWeek,a=e.propType,u=void 0===a?o:a;p(s,t),c={formats:t,propType:u,firstOfWeek:i,format:f(n),parse:function(e,t,n){var i=r.call(this,e,t,n);return null==i||i instanceof Date&&!isNaN(i.getTime())||invariant(!1),i}}},t.date=t.number=void 0;i(n(7)),n(48);var r=i(n(1));function i(e){return e&&e.__esModule?e:{default:e}}var o=r.default.oneOfType([r.default.string,r.default.func]),a=["default"],s=["default","date","time","header","footer","weekday","dayOfMonth","month","year","decade","century"],u=h(),l={propType:function(){var e;return(e=u).propType.apply(e,arguments)},getFormat:function(e,t){return t||u.formats[e]},parse:function(){var e;return(e=u).parse.apply(e,arguments)},format:function(){var e;return(e=u).format.apply(e,arguments)},decimalChar:function(){var e;return(e=u).decimalChar.apply(e,arguments)},precision:function(){var e;return(e=u).precision.apply(e,arguments)}};t.number=l;var c=h(),d={propType:function(){var e;return(e=c).propType.apply(e,arguments)},getFormat:function(e,t){return t||c.formats[e]},parse:function(){var e;return(e=c).parse.apply(e,arguments)},format:function(){var e;return(e=c).format.apply(e,arguments)},firstOfWeek:function(){var e;return(e=c).firstOfWeek.apply(e,arguments)}};t.date=d;var f=function(e){return function(t,n,r){var i="function"==typeof n?n(t,r,this):e.call(this,t,n,r);return null!=i&&"string"!=typeof i&&invariant(!1),i}};function p(e,t){0}function h(){return{}}},function(e,t,n){"use strict";var r=n(56);t.a=function(e,t,n){return Object(r.isValidElementType)(e[t])?null:new Error("Invalid prop `"+t+"` supplied to `"+n+"`.")}},function(e,t,n){var r=n(32),i=n(16),o=n(89),a=n(73),s=n(72),u=function(e,t,n){var l,c,d,f=e&u.F,p=e&u.G,h=e&u.S,m=e&u.P,g=e&u.B,y=e&u.W,v=p?i:i[t]||(i[t]={}),b=v.prototype,_=p?r:h?r[t]:(r[t]||{}).prototype;for(l in p&&(n=t),n)(c=!f&&_&&void 0!==_[l])&&s(v,l)||(d=c?_[l]:n[l],v[l]=p&&"function"!=typeof _[l]?n[l]:g&&c?o(d,r):y&&_[l]==d?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(d):m&&"function"==typeof d?o(Function.call,d):d,m&&((v.virtual||(v.virtual={}))[l]=d,e&u.R&&b&&!b[l]&&a(b,l,d)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},function(e,t){var n=Array.isArray;e.exports=n},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"a",function(){return u});var r=n(10),i=n(31),o=["MOBILE","PREMIUM_RATE","TOLL_FREE","SHARED_COST","VOIP","PERSONAL_NUMBER","PAGER","UAN","VOICEMAIL"];function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];if(e.country){if(!(n=new r.a(n)).hasCountry(e.country))throw new Error("Unknown country: "+e.country);var a=t.v2?e.nationalNumber:e.phone;if(n.country(e.country),Object(i.a)(a,n.nationalNumberPattern())){if(s(a,"FIXED_LINE",n))return n.type("MOBILE")&&""===n.type("MOBILE").pattern()?"FIXED_LINE_OR_MOBILE":n.type("MOBILE")?s(a,"MOBILE",n)?"FIXED_LINE_OR_MOBILE":"FIXED_LINE":"FIXED_LINE_OR_MOBILE";var u=o,l=Array.isArray(u),c=0;for(u=l?u:u[Symbol.iterator]();;){var d;if(l){if(c>=u.length)break;d=u[c++]}else{if((c=u.next()).done)break;d=c.value}var f=d;if(s(a,f,n))return f}}}}function s(e,t,n){return!(!(t=n.type(t))||!t.pattern())&&(!(t.possibleLengths()&&t.possibleLengths().indexOf(e.length)<0)&&Object(i.a)(e,t.pattern()))}function u(e,t,n){var r=n.type(t),o=r&&r.possibleLengths()||n.possibleLengths();if("FIXED_LINE_OR_MOBILE"===t){if(!n.type("FIXED_LINE"))return u(e,"MOBILE",n);var a=n.type("MOBILE");a&&(o=Object(i.b)(o,a.possibleLengths()))}else if(t&&!r)return"INVALID_LENGTH";var s=e.length,l=o[0];return l===s?"IS_POSSIBLE":l>s?"TOO_SHORT":o[o.length-1]<s?"TOO_LONG":o.indexOf(s,1)>=0?"IS_POSSIBLE":"INVALID_LENGTH"}},function(e,t,n){"use strict";var r=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=this.constructor.name,this.message=t,this.stack=new Error(t).stack};t.a=r,(r.prototype=Object.create(Error.prototype)).constructor=r},function(e,t,n){var r=n(58);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){e.exports=!n(90)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){var r=n(290),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();e.exports=o},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object({REPOSITORY:void 0,ELASTIC_URL:void 0,VALIDATOR_URL:void 0,VALIDATOR_REMOTE_URL:void 0}),i=r.REPOSITORY,o=r.ELASTIC_URL;r.VALIDATOR_URL,r.VALIDATOR_REMOTE_URL,t.privacyPolicyUrl="https://interoperable-europe.ec.europa.eu/collection/joinup/specific-privacy-statement",t.repositoryUrl="https://yml.publiccode.tools",t.versionsUrl="https://api.github.com/repos/"+i+"/contents/version",t.sampleUrl="https://raw.githubusercontent.com/italia/pc-web-validator/master/tests/valid.minimal.yml",t.elasticUrl=o||"",t.validatorUrl="https://publiccode-validator.developers.italia.it/pc/validate",t.validatorRemoteUrl="https://publiccode-validator.developers.italia.it/pc/validateURL",t.APP_FORM="appForm"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=h(n(8)),i=h(n(165)),o=n(0),a=h(o),s=h(n(1)),u=h(n(6)),l=n(13),c=h(n(795)),d=h(n(28)),f=n(15),p=n(46);function h(e){return e&&e.__esModule?e:{default:e}}var m=function(e){var t=(0,u.default)(["form-group",{"has-error":e.meta.touched&&e.meta.error}]),n=(0,o.useState)(0),s=(0,i.default)(n,2),c=s[0],h=s[1],m=(0,f.useDispatch)();return(0,f.useDispatch)(function(){e.schema.value&&e.input&&(e.input.value||m((0,l.change)(p.APP_FORM,e.input.name,e.schema.value)))}),a.default.createElement("div",{className:t},e.showLabel&&a.default.createElement("label",{className:"control-label",htmlFor:e.id},e.label," ",e.required?"*":""),a.default.createElement("input",(0,r.default)({},e.input,{type:e.type,required:e.required,className:"form-control",placeholder:e.placeholder,maxLength:e.maxLength,minLength:e.minLength,disabled:e.schema.disabled,onKeyUp:function(e){h(c=e.target.value.length)}})),e.meta.touched&&e.meta.error&&a.default.createElement("span",{className:"help-block"},e.meta.error),e.maxLength&&a.default.createElement(d.default,{description:c+"/"+e.maxLength+" chars used"}),e.description&&a.default.createElement(d.default,{title:e.label?e.label:e.name,description:e.description}))},g=function(e){return a.default.createElement(c.default,(0,r.default)({component:m,label:e.label,name:e.fieldName,required:e.required,id:"field-"+e.fieldName,placeholder:e.schema.default,description:e.schema.description,type:e.type,normalize:e.normalizer},e))};g.propTypes={schema:s.default.object.isRequired,type:s.default.string.isRequired,required:s.default.bool,fieldName:s.default.string,label:s.default.string,normalizer:s.default.func,description:s.default.string},t.default=g},function(e,t,n){"use strict";t.__esModule=!0,t.isShallowEqual=function(e,t){if(e===t)return!0;if(e instanceof Date&&t instanceof Date)return+e==+t;if("object"!=typeof e&&"object"!=typeof t)return e===t;if(typeof e!=typeof t)return!1;if(null==e||null==t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!i(t,n[o])||e[n[o]]!==t[n[o]])return!1;return!0},t.chunk=function(e,t){var n=0,r=e?e.length:0,i=[];t=Math.max(+t||1,1);for(;n<r;)i.push(e.slice(n,n+=t));return i},t.groupBySortedKeys=function(e,t,n){var r="function"==typeof e?e:function(t){return t[e]};return n=n||[],t.reduce(function(e,t){var o=r(t);return i(e,o)?e[o].push(t):(n.push(o),e[o]=[t]),e},{})},t.has=t.makeArray=void 0;var r;(r=n(455))&&r.__esModule;t.makeArray=function(e){return null==e?[]:[].concat(e)};var i=function(e,t){return!!e&&Object.prototype.hasOwnProperty.call(e,t)};t.has=i},function(e,t,n){var r=n(511),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();e.exports=o},function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}},function(e,t,n){var r=n(41),i=n(276),o=n(200),a=Object.defineProperty;t.f=n(42)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){(function(e,r){var i;
 /**
  * @license
  * Lodash <https://lodash.com/>
@@ -228,4 +228,4 @@ function e(e,t){if(/^[A-Z_$][0-9A-Z_$]*$/i.test(e))return t?t+"."+e:e;var n=JSON
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-var n="undefined"!=typeof window&&"undefined"!=typeof document,r=["Edge","Trident","Firefox"],i=0,o=0;o<r.length;o+=1)if(n&&navigator.userAgent.indexOf(r[o])>=0){i=1;break}var a=n&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},i))}};function s(e){return e&&"[object Function]"==={}.toString.call(e)}function u(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function l(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function c(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=u(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/(auto|scroll|overlay)/.test(n+i+r)?e:c(l(e))}var d=n&&!(!window.MSInputMethodContext||!document.documentMode),f=n&&/MSIE 10/.test(navigator.userAgent);function p(e){return 11===e?d:10===e?f:d||f}function h(e){if(!e)return document.documentElement;for(var t=p(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===u(n,"position")?h(n):n:e?e.ownerDocument.documentElement:document.documentElement}function m(e){return null!==e.parentNode?m(e.parentNode):e}function g(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?e:t,i=n?t:e,o=document.createRange();o.setStart(r,0),o.setEnd(i,0);var a,s,u=o.commonAncestorContainer;if(e!==u&&t!==u||r.contains(i))return"BODY"===(s=(a=u).nodeName)||"HTML"!==s&&h(a.firstElementChild)!==a?h(u):u;var l=m(e);return l.host?g(l.host,t):g(e,m(t).host)}function y(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var r=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||r)[t]}return e[t]}function v(e,t){var n="x"===t?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+r+"Width"],10)}function b(e,t,n,r){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],p(10)?parseInt(n["offset"+e])+parseInt(r["margin"+("Height"===e?"Top":"Left")])+parseInt(r["margin"+("Height"===e?"Bottom":"Right")]):0)}function _(e){var t=e.body,n=e.documentElement,r=p(10)&&getComputedStyle(n);return{height:b("Height",t,n,r),width:b("Width",t,n,r)}}var w=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},A=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),x=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},k=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function M(e){return k({},e,{right:e.left+e.width,bottom:e.top+e.height})}function E(e){var t={};try{if(p(10)){t=e.getBoundingClientRect();var n=y(e,"top"),r=y(e,"left");t.top+=n,t.left+=r,t.bottom+=n,t.right+=r}else t=e.getBoundingClientRect()}catch(e){}var i={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},o="HTML"===e.nodeName?_(e.ownerDocument):{},a=o.width||e.clientWidth||i.right-i.left,s=o.height||e.clientHeight||i.bottom-i.top,l=e.offsetWidth-a,c=e.offsetHeight-s;if(l||c){var d=u(e);l-=v(d,"x"),c-=v(d,"y"),i.width-=l,i.height-=c}return M(i)}function L(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=p(10),i="HTML"===t.nodeName,o=E(e),a=E(t),s=c(e),l=u(t),d=parseFloat(l.borderTopWidth,10),f=parseFloat(l.borderLeftWidth,10);n&&i&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var h=M({top:o.top-a.top-d,left:o.left-a.left-f,width:o.width,height:o.height});if(h.marginTop=0,h.marginLeft=0,!r&&i){var m=parseFloat(l.marginTop,10),g=parseFloat(l.marginLeft,10);h.top-=d-m,h.bottom-=d-m,h.left-=f-g,h.right-=f-g,h.marginTop=m,h.marginLeft=g}return(r&&!n?t.contains(s):t===s&&"BODY"!==s.nodeName)&&(h=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=y(t,"top"),i=y(t,"left"),o=n?-1:1;return e.top+=r*o,e.bottom+=r*o,e.left+=i*o,e.right+=i*o,e}(h,t)),h}function S(e){if(!e||!e.parentElement||p())return document.documentElement;for(var t=e.parentElement;t&&"none"===u(t,"transform");)t=t.parentElement;return t||document.documentElement}function D(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},a=i?S(e):g(e,t);if("viewport"===r)o=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,r=L(e,n),i=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),a=t?0:y(n),s=t?0:y(n,"left");return M({top:a-r.top+r.marginTop,left:s-r.left+r.marginLeft,width:i,height:o})}(a,i);else{var s=void 0;"scrollParent"===r?"BODY"===(s=c(l(t))).nodeName&&(s=e.ownerDocument.documentElement):s="window"===r?e.ownerDocument.documentElement:r;var d=L(s,a,i);if("HTML"!==s.nodeName||function e(t){var n=t.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===u(t,"position"))return!0;var r=l(t);return!!r&&e(r)}(a))o=d;else{var f=_(e.ownerDocument),p=f.height,h=f.width;o.top+=d.top-d.marginTop,o.bottom=p+d.top,o.left+=d.left-d.marginLeft,o.right=h+d.left}}var m="number"==typeof(n=n||0);return o.left+=m?n:n.left||0,o.top+=m?n:n.top||0,o.right-=m?n:n.right||0,o.bottom-=m?n:n.bottom||0,o}function T(e,t,n,r,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var a=D(n,r,o,i),s={top:{width:a.width,height:t.top-a.top},right:{width:a.right-t.right,height:a.height},bottom:{width:a.width,height:a.bottom-t.bottom},left:{width:t.left-a.left,height:a.height}},u=Object.keys(s).map(function(e){return k({key:e},s[e],{area:(t=s[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),l=u.filter(function(e){var t=e.width,r=e.height;return t>=n.clientWidth&&r>=n.clientHeight}),c=l.length>0?l[0].key:u[0].key,d=e.split("-")[1];return c+(d?"-"+d:"")}function C(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return L(n,r?S(t):g(t,n),r)}function O(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),r=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+r,height:e.offsetHeight+n}}function $(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function j(e,t,n){n=n.split("-")[0];var r=O(e),i={width:r.width,height:r.height},o=-1!==["right","left"].indexOf(n),a=o?"top":"left",s=o?"left":"top",u=o?"height":"width",l=o?"width":"height";return i[a]=t[a]+t[u]/2-r[u]/2,i[s]=n===s?t[s]-r[l]:t[$(s)],i}function P(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function I(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var r=P(e,function(e){return e[t]===n});return e.indexOf(r)}(e,"name",n))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&s(n)&&(t.offsets.popper=M(t.offsets.popper),t.offsets.reference=M(t.offsets.reference),t=n(t,e))}),t}function N(e,t){return e.some(function(e){var n=e.name;return e.enabled&&n===t})}function F(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),r=0;r<t.length;r++){var i=t[r],o=i?""+i+n:e;if(void 0!==document.body.style[o])return o}return null}function R(e){var t=e.ownerDocument;return t?t.defaultView:window}function Y(e,t,n,r){n.updateBound=r,R(e).addEventListener("resize",n.updateBound,{passive:!0});var i=c(e);return function e(t,n,r,i){var o="BODY"===t.nodeName,a=o?t.ownerDocument.defaultView:t;a.addEventListener(n,r,{passive:!0}),o||e(c(a.parentNode),n,r,i),i.push(a)}(i,"scroll",n.updateBound,n.scrollParents),n.scrollElement=i,n.eventsEnabled=!0,n}function B(){var e,t;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(e=this.reference,t=this.state,R(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t))}function z(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function H(e,t){Object.keys(t).forEach(function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&z(t[n])&&(r="px"),e.style[n]=t[n]+r})}var U=n&&/Firefox/i.test(navigator.userAgent);function Z(e,t,n){var r=P(e,function(e){return e.name===t}),i=!!r&&e.some(function(e){return e.name===n&&e.enabled&&e.order<r.order});if(!i){var o="`"+t+"`",a="`"+n+"`";console.warn(a+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return i}var K=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],q=K.slice(3);function W(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=q.indexOf(e),r=q.slice(n+1).concat(q.slice(0,n));return t?r.reverse():r}var G={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function V(e,t,n,r){var i=[0,0],o=-1!==["right","left"].indexOf(r),a=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=a.indexOf(P(a,function(e){return-1!==e.search(/,|\s/)}));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var u=/\s*,\s*|\s+/,l=-1!==s?[a.slice(0,s).concat([a[s].split(u)[0]]),[a[s].split(u)[1]].concat(a.slice(s+1))]:[a];return(l=l.map(function(e,r){var i=(1===r?!o:o)?"height":"width",a=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,a=!0,e):a?(e[e.length-1]+=t,a=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,r){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+i[1],a=i[2];if(!o)return e;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=r}return M(s)[t]/100*o}if("vh"===a||"vw"===a)return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(e,i,t,n)})})).forEach(function(e,t){e.forEach(function(n,r){z(n)&&(i[t]+=n*("-"===e[r-1]?-1:1))})}),i}var J={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],r=t.split("-")[1];if(r){var i=e.offsets,o=i.reference,a=i.popper,s=-1!==["bottom","top"].indexOf(n),u=s?"left":"top",l=s?"width":"height",c={start:x({},u,o[u]),end:x({},u,o[u]+o[l]-a[l])};e.offsets.popper=k({},a,c[r])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,r=e.placement,i=e.offsets,o=i.popper,a=i.reference,s=r.split("-")[0],u=void 0;return u=z(+n)?[+n,0]:V(n,o,a,s),"left"===s?(o.top+=u[0],o.left-=u[1]):"right"===s?(o.top+=u[0],o.left+=u[1]):"top"===s?(o.left+=u[0],o.top-=u[1]):"bottom"===s&&(o.left+=u[0],o.top+=u[1]),e.popper=o,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||h(e.instance.popper);e.instance.reference===n&&(n=h(n));var r=F("transform"),i=e.instance.popper.style,o=i.top,a=i.left,s=i[r];i.top="",i.left="",i[r]="";var u=D(e.instance.popper,e.instance.reference,t.padding,n,e.positionFixed);i.top=o,i.left=a,i[r]=s,t.boundaries=u;var l=t.priority,c=e.offsets.popper,d={primary:function(e){var n=c[e];return c[e]<u[e]&&!t.escapeWithReference&&(n=Math.max(c[e],u[e])),x({},e,n)},secondary:function(e){var n="right"===e?"left":"top",r=c[n];return c[e]>u[e]&&!t.escapeWithReference&&(r=Math.min(c[n],u[e]-("right"===e?c.width:c.height))),x({},n,r)}};return l.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";c=k({},c,d[t](e))}),e.offsets.popper=c,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,r=t.reference,i=e.placement.split("-")[0],o=Math.floor,a=-1!==["top","bottom"].indexOf(i),s=a?"right":"bottom",u=a?"left":"top",l=a?"width":"height";return n[s]<o(r[u])&&(e.offsets.popper[u]=o(r[u])-n[l]),n[u]>o(r[s])&&(e.offsets.popper[u]=o(r[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!Z(e.instance.modifiers,"arrow","keepTogether"))return e;var r=t.element;if("string"==typeof r){if(!(r=e.instance.popper.querySelector(r)))return e}else if(!e.instance.popper.contains(r))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var i=e.placement.split("-")[0],o=e.offsets,a=o.popper,s=o.reference,l=-1!==["left","right"].indexOf(i),c=l?"height":"width",d=l?"Top":"Left",f=d.toLowerCase(),p=l?"left":"top",h=l?"bottom":"right",m=O(r)[c];s[h]-m<a[f]&&(e.offsets.popper[f]-=a[f]-(s[h]-m)),s[f]+m>a[h]&&(e.offsets.popper[f]+=s[f]+m-a[h]),e.offsets.popper=M(e.offsets.popper);var g=s[f]+s[c]/2-m/2,y=u(e.instance.popper),v=parseFloat(y["margin"+d],10),b=parseFloat(y["border"+d+"Width"],10),_=g-e.offsets.popper[f]-v-b;return _=Math.max(Math.min(a[c]-m,_),0),e.arrowElement=r,e.offsets.arrow=(x(n={},f,Math.round(_)),x(n,p,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(N(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=D(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),r=e.placement.split("-")[0],i=$(r),o=e.placement.split("-")[1]||"",a=[];switch(t.behavior){case G.FLIP:a=[r,i];break;case G.CLOCKWISE:a=W(r);break;case G.COUNTERCLOCKWISE:a=W(r,!0);break;default:a=t.behavior}return a.forEach(function(s,u){if(r!==s||a.length===u+1)return e;r=e.placement.split("-")[0],i=$(r);var l=e.offsets.popper,c=e.offsets.reference,d=Math.floor,f="left"===r&&d(l.right)>d(c.left)||"right"===r&&d(l.left)<d(c.right)||"top"===r&&d(l.bottom)>d(c.top)||"bottom"===r&&d(l.top)<d(c.bottom),p=d(l.left)<d(n.left),h=d(l.right)>d(n.right),m=d(l.top)<d(n.top),g=d(l.bottom)>d(n.bottom),y="left"===r&&p||"right"===r&&h||"top"===r&&m||"bottom"===r&&g,v=-1!==["top","bottom"].indexOf(r),b=!!t.flipVariations&&(v&&"start"===o&&p||v&&"end"===o&&h||!v&&"start"===o&&m||!v&&"end"===o&&g),_=!!t.flipVariationsByContent&&(v&&"start"===o&&h||v&&"end"===o&&p||!v&&"start"===o&&g||!v&&"end"===o&&m),w=b||_;(f||y||w)&&(e.flipped=!0,(f||y)&&(r=a[u+1]),w&&(o=function(e){return"end"===e?"start":"start"===e?"end":e}(o)),e.placement=r+(o?"-"+o:""),e.offsets.popper=k({},e.offsets.popper,j(e.instance.popper,e.offsets.reference,e.placement)),e=I(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],r=e.offsets,i=r.popper,o=r.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return i[a?"left":"top"]=o[n]-(s?i[a?"width":"height"]:0),e.placement=$(t),e.offsets.popper=M(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!Z(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=P(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottom<n.top||t.left>n.right||t.top>n.bottom||t.right<n.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var n=t.x,r=t.y,i=e.offsets.popper,o=P(e.instance.modifiers,function(e){return"applyStyle"===e.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var a=void 0!==o?o:t.gpuAcceleration,s=h(e.instance.popper),u=E(s),l={position:i.position},c=function(e,t){var n=e.offsets,r=n.popper,i=n.reference,o=Math.round,a=Math.floor,s=function(e){return e},u=o(i.width),l=o(r.width),c=-1!==["left","right"].indexOf(e.placement),d=-1!==e.placement.indexOf("-"),f=t?c||d||u%2==l%2?o:a:s,p=t?o:s;return{left:f(u%2==1&&l%2==1&&!d&&t?r.left-1:r.left),top:p(r.top),bottom:p(r.bottom),right:f(r.right)}}(e,window.devicePixelRatio<2||!U),d="bottom"===n?"top":"bottom",f="right"===r?"left":"right",p=F("transform"),m=void 0,g=void 0;if(g="bottom"===d?"HTML"===s.nodeName?-s.clientHeight+c.bottom:-u.height+c.bottom:c.top,m="right"===f?"HTML"===s.nodeName?-s.clientWidth+c.right:-u.width+c.right:c.left,a&&p)l[p]="translate3d("+m+"px, "+g+"px, 0)",l[d]=0,l[f]=0,l.willChange="transform";else{var y="bottom"===d?-1:1,v="right"===f?-1:1;l[d]=g*y,l[f]=m*v,l.willChange=d+", "+f}var b={"x-placement":e.placement};return e.attributes=k({},b,e.attributes),e.styles=k({},l,e.styles),e.arrowStyles=k({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){var t,n;return H(e.instance.popper,e.styles),t=e.instance.popper,n=e.attributes,Object.keys(n).forEach(function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)}),e.arrowElement&&Object.keys(e.arrowStyles).length&&H(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,r,i){var o=C(i,t,e,n.positionFixed),a=T(n.placement,o,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",a),H(t,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},Q=function(){function e(t,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};w(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=a(this.update.bind(this)),this.options=k({},e.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(k({},e.Defaults.modifiers,i.modifiers)).forEach(function(t){r.options.modifiers[t]=k({},e.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return k({name:e},r.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&s(e.onLoad)&&e.onLoad(r.reference,r.popper,r.options,e,r.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return A(e,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=C(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=T(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=j(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=I(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,N(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[F("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=Y(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return B.call(this)}}]),e}();Q.Utils=("undefined"!=typeof window?window:e).PopperUtils,Q.placements=K,Q.Defaults=J,t.default=Q}.call(this,n(43))},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(6),u=n.n(s),l=n(86),c=n.n(l),d=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var p=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),d(t,[{key:"shouldComponentUpdate",value:function(e){return this.props.forceRender||!c()(this.props,e)}},{key:"render",value:function(){var e;if(this._isActived=this.props.forceRender||this._isActived||this.props.isActive,!this._isActived)return null;var t=this.props,n=t.prefixCls,r=t.isActive,o=t.children,a=t.destroyInactivePanel,s=t.forceRender,l=t.role,c=u()((f(e={},n+"-content",!0),f(e,n+"-content-active",r),f(e,n+"-content-inactive",!r),e)),d=s||r||!a?i.a.createElement("div",{className:n+"-content-box"},o):null;return i.a.createElement("div",{className:c,role:l},d)}}]),t}();p.propTypes={prefixCls:a.a.string,isActive:a.a.bool,children:a.a.any,destroyInactivePanel:a.a.bool,forceRender:a.a.bool,role:a.a.string};var h=p,m=n(8),g=n.n(m),y=n(187),v=n.n(y),b=n(21),_=n.n(b),w=n(22),A=n.n(w),x=n(23),k=n.n(x),M=n(24),E=n.n(M);function L(e){var t=[];return i.a.Children.forEach(e,function(e){t.push(e)}),t}function S(e,t){var n=null;return e&&e.forEach(function(e){n||e&&e.key===t&&(n=e)}),n}function D(e,t,n){var r=null;return e&&e.forEach(function(e){if(e&&e.key===t&&e.props[n]){if(r)throw new Error("two child with same key for <rc-animate> children");r=e}}),r}var T=n(19),C=n.n(T),O=n(67),$=n.n(O),j={transitionstart:{transition:"transitionstart",WebkitTransition:"webkitTransitionStart",MozTransition:"mozTransitionStart",OTransition:"oTransitionStart",msTransition:"MSTransitionStart"},animationstart:{animation:"animationstart",WebkitAnimation:"webkitAnimationStart",MozAnimation:"mozAnimationStart",OAnimation:"oAnimationStart",msAnimation:"MSAnimationStart"}},P={transitionend:{transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"mozTransitionEnd",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd"},animationend:{animation:"animationend",WebkitAnimation:"webkitAnimationEnd",MozAnimation:"mozAnimationEnd",OAnimation:"oAnimationEnd",msAnimation:"MSAnimationEnd"}},I=[],N=[];function F(e,t,n){e.addEventListener(t,n,!1)}function R(e,t,n){e.removeEventListener(t,n,!1)}"undefined"!=typeof window&&"undefined"!=typeof document&&function(){var e=document.createElement("div").style;function t(t,n){for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];for(var o in i)if(o in e){n.push(i[o]);break}}}"AnimationEvent"in window||(delete j.animationstart.animation,delete P.animationend.animation),"TransitionEvent"in window||(delete j.transitionstart.transition,delete P.transitionend.transition),t(j,I),t(P,N)}();var Y={startEvents:I,addStartEventListener:function(e,t){0!==I.length?I.forEach(function(n){F(e,n,t)}):window.setTimeout(t,0)},removeStartEventListener:function(e,t){0!==I.length&&I.forEach(function(n){R(e,n,t)})},endEvents:N,addEndEventListener:function(e,t){0!==N.length?N.forEach(function(n){F(e,n,t)}):window.setTimeout(t,0)},removeEndEventListener:function(e,t){0!==N.length&&N.forEach(function(n){R(e,n,t)})}},B=n(543),z=n.n(B),H=0!==Y.endEvents.length,U=["Webkit","Moz","O","ms"],Z=["-webkit-","-moz-","-o-","ms-",""];function K(e,t){for(var n=window.getComputedStyle(e,null),r="",i=0;i<Z.length&&!(r=n.getPropertyValue(Z[i]+t));i++);return r}function q(e){if(H){var t=parseFloat(K(e,"transition-delay"))||0,n=parseFloat(K(e,"transition-duration"))||0,r=parseFloat(K(e,"animation-delay"))||0,i=parseFloat(K(e,"animation-duration"))||0,o=Math.max(n+t,i+r);e.rcEndAnimTimeout=setTimeout(function(){e.rcEndAnimTimeout=null,e.rcEndListener&&e.rcEndListener()},1e3*o+200)}}function W(e){e.rcEndAnimTimeout&&(clearTimeout(e.rcEndAnimTimeout),e.rcEndAnimTimeout=null)}var G=function(e,t,n){var r="object"===(void 0===t?"undefined":$()(t)),i=r?t.name:t,o=r?t.active:t+"-active",a=n,s=void 0,u=void 0,l=z()(e);return n&&"[object Object]"===Object.prototype.toString.call(n)&&(a=n.end,s=n.start,u=n.active),e.rcEndListener&&e.rcEndListener(),e.rcEndListener=function(t){t&&t.target!==e||(e.rcAnimTimeout&&(clearTimeout(e.rcAnimTimeout),e.rcAnimTimeout=null),W(e),l.remove(i),l.remove(o),Y.removeEndEventListener(e,e.rcEndListener),e.rcEndListener=null,a&&a())},Y.addEndEventListener(e,e.rcEndListener),s&&s(),l.add(i),e.rcAnimTimeout=setTimeout(function(){e.rcAnimTimeout=null,l.add(o),u&&setTimeout(u,0),q(e)},30),{stop:function(){e.rcEndListener&&e.rcEndListener()}}};G.style=function(e,t,n){e.rcEndListener&&e.rcEndListener(),e.rcEndListener=function(t){t&&t.target!==e||(e.rcAnimTimeout&&(clearTimeout(e.rcAnimTimeout),e.rcAnimTimeout=null),W(e),Y.removeEndEventListener(e,e.rcEndListener),e.rcEndListener=null,n&&n())},Y.addEndEventListener(e,e.rcEndListener),e.rcAnimTimeout=setTimeout(function(){for(var n in t)t.hasOwnProperty(n)&&(e.style[n]=t[n]);e.rcAnimTimeout=null,q(e)},0)},G.setTransition=function(e,t,n){var r=t,i=n;void 0===n&&(i=r,r=""),r=r||"",U.forEach(function(t){e.style[t+"Transition"+r]=i})},G.isCssAnimationSupported=H;var V=G,J={isAppearSupported:function(e){return e.transitionName&&e.transitionAppear||e.animation.appear},isEnterSupported:function(e){return e.transitionName&&e.transitionEnter||e.animation.enter},isLeaveSupported:function(e){return e.transitionName&&e.transitionLeave||e.animation.leave},allowAppearCallback:function(e){return e.transitionAppear||e.animation.appear},allowEnterCallback:function(e){return e.transitionEnter||e.animation.enter},allowLeaveCallback:function(e){return e.transitionLeave||e.animation.leave}},Q={enter:"transitionEnter",appear:"transitionAppear",leave:"transitionLeave"},X=function(e){function t(){return _()(this,t),k()(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return E()(t,e),A()(t,[{key:"componentWillUnmount",value:function(){this.stop()}},{key:"componentWillEnter",value:function(e){J.isEnterSupported(this.props)?this.transition("enter",e):e()}},{key:"componentWillAppear",value:function(e){J.isAppearSupported(this.props)?this.transition("appear",e):e()}},{key:"componentWillLeave",value:function(e){J.isLeaveSupported(this.props)?this.transition("leave",e):e()}},{key:"transition",value:function(e,t){var n=this,r=C.a.findDOMNode(this),i=this.props,o=i.transitionName,a="object"==typeof o;this.stop();var s=function(){n.stopper=null,t()};if((H||!i.animation[e])&&o&&i[Q[e]]){var u=a?o[e]:o+"-"+e,l=u+"-active";a&&o[e+"Active"]&&(l=o[e+"Active"]),this.stopper=V(r,{name:u,active:l},s)}else this.stopper=i.animation[e](r,s)}},{key:"stop",value:function(){var e=this.stopper;e&&(this.stopper=null,e.stop())}},{key:"render",value:function(){return this.props.children}}]),t}(i.a.Component);X.propTypes={children:a.a.any};var ee=X,te="rc_animate_"+Date.now();function ne(e){var t=e.children;return i.a.isValidElement(t)&&!t.key?i.a.cloneElement(t,{key:te}):t}function re(){}var ie=function(e){function t(e){_()(this,t);var n=k()(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return oe.call(n),n.currentlyAnimatingKeys={},n.keysToEnter=[],n.keysToLeave=[],n.state={children:L(ne(e))},n.childrenRefs={},n}return E()(t,e),A()(t,[{key:"componentDidMount",value:function(){var e=this,t=this.props.showProp,n=this.state.children;t&&(n=n.filter(function(e){return!!e.props[t]})),n.forEach(function(t){t&&e.performAppear(t.key)})}},{key:"componentWillReceiveProps",value:function(e){var t=this;this.nextProps=e;var n=L(ne(e)),r=this.props;r.exclusive&&Object.keys(this.currentlyAnimatingKeys).forEach(function(e){t.stop(e)});var o,a,s,u,l=r.showProp,c=this.currentlyAnimatingKeys,d=r.exclusive?L(ne(r)):this.state.children,f=[];l?(d.forEach(function(e){var t=e&&S(n,e.key),r=void 0;(r=t&&t.props[l]||!e.props[l]?t:i.a.cloneElement(t||e,v()({},l,!0)))&&f.push(r)}),n.forEach(function(e){e&&S(d,e.key)||f.push(e)})):(o=n,a=[],s={},u=[],d.forEach(function(e){e&&S(o,e.key)?u.length&&(s[e.key]=u,u=[]):u.push(e)}),o.forEach(function(e){e&&Object.prototype.hasOwnProperty.call(s,e.key)&&(a=a.concat(s[e.key])),a.push(e)}),f=a=a.concat(u)),this.setState({children:f}),n.forEach(function(e){var n=e&&e.key;if(!e||!c[n]){var r=e&&S(d,n);if(l){var i=e.props[l];if(r)!D(d,n,l)&&i&&t.keysToEnter.push(n);else i&&t.keysToEnter.push(n)}else r||t.keysToEnter.push(n)}}),d.forEach(function(e){var r=e&&e.key;if(!e||!c[r]){var i=e&&S(n,r);if(l){var o=e.props[l];if(i)!D(n,r,l)&&o&&t.keysToLeave.push(r);else o&&t.keysToLeave.push(r)}else i||t.keysToLeave.push(r)}})}},{key:"componentDidUpdate",value:function(){var e=this.keysToEnter;this.keysToEnter=[],e.forEach(this.performEnter);var t=this.keysToLeave;this.keysToLeave=[],t.forEach(this.performLeave)}},{key:"isValidChildByKey",value:function(e,t){var n=this.props.showProp;return n?D(e,t,n):S(e,t)}},{key:"stop",value:function(e){delete this.currentlyAnimatingKeys[e];var t=this.childrenRefs[e];t&&t.stop()}},{key:"render",value:function(){var e=this,t=this.props;this.nextProps=t;var n=this.state.children,r=null;n&&(r=n.map(function(n){if(null==n)return n;if(!n.key)throw new Error("must set key for <rc-animate> children");return i.a.createElement(ee,{key:n.key,ref:function(t){e.childrenRefs[n.key]=t},animation:t.animation,transitionName:t.transitionName,transitionEnter:t.transitionEnter,transitionAppear:t.transitionAppear,transitionLeave:t.transitionLeave},n)}));var o=t.component;if(o){var a=t;return"string"==typeof o&&(a=g()({className:t.className,style:t.style},t.componentProps)),i.a.createElement(o,a,r)}return r[0]||null}}]),t}(i.a.Component);ie.isAnimate=!0,ie.propTypes={component:a.a.any,componentProps:a.a.object,animation:a.a.object,transitionName:a.a.oneOfType([a.a.string,a.a.object]),transitionEnter:a.a.bool,transitionAppear:a.a.bool,exclusive:a.a.bool,transitionLeave:a.a.bool,onEnd:a.a.func,onEnter:a.a.func,onLeave:a.a.func,onAppear:a.a.func,showProp:a.a.string,children:a.a.node},ie.defaultProps={animation:{},component:"span",componentProps:{},transitionEnter:!0,transitionLeave:!0,transitionAppear:!1,onEnd:re,onEnter:re,onLeave:re,onAppear:re};var oe=function(){var e=this;this.performEnter=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillEnter(e.handleDoneAdding.bind(e,t,"enter")))},this.performAppear=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillAppear(e.handleDoneAdding.bind(e,t,"appear")))},this.handleDoneAdding=function(t,n){var r=e.props;if(delete e.currentlyAnimatingKeys[t],!r.exclusive||r===e.nextProps){var i=L(ne(r));e.isValidChildByKey(i,t)?"appear"===n?J.allowAppearCallback(r)&&(r.onAppear(t),r.onEnd(t,!0)):J.allowEnterCallback(r)&&(r.onEnter(t),r.onEnd(t,!0)):e.performLeave(t)}},this.performLeave=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillLeave(e.handleDoneLeaving.bind(e,t)))},this.handleDoneLeaving=function(t){var n=e.props;if(delete e.currentlyAnimatingKeys[t],!n.exclusive||n===e.nextProps){var r,i,o,a,s=L(ne(n));if(e.isValidChildByKey(s,t))e.performEnter(t);else{var u=function(){J.allowLeaveCallback(n)&&(n.onLeave(t),n.onEnd(t,!1))};r=e.state.children,i=s,o=n.showProp,(a=r.length===i.length)&&r.forEach(function(e,t){var n=i[t];e&&n&&(e&&!n||!e&&n?a=!1:e.key!==n.key?a=!1:o&&e.props[o]!==n.props[o]&&(a=!1))}),a?u():e.setState({children:s},u)}}}},ae=ie,se=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ue(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function le(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var ce=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r=le(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.handleItemClick=function(){var e=r.props,t=e.onItemClick,n=e.panelKey;"function"==typeof t&&t(n)},r.handleKeyPress=function(e){"Enter"!==e.key&&13!==e.keyCode&&13!==e.which||r.handleItemClick()},le(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),se(t,[{key:"shouldComponentUpdate",value:function(e){return!c()(this.props,e)}},{key:"render",value:function(){var e,t=this.props,n=t.className,r=t.id,o=t.style,a=t.prefixCls,s=t.header,l=t.headerClass,c=t.children,d=t.isActive,f=t.showArrow,p=t.destroyInactivePanel,m=t.disabled,g=t.accordion,y=t.forceRender,v=t.expandIcon,b=t.extra,_=u()(a+"-header",ue({},l,l)),w=u()((ue(e={},a+"-item",!0),ue(e,a+"-item-active",d),ue(e,a+"-item-disabled",m),e),n),A=i.a.createElement("i",{className:"arrow"});return f&&"function"==typeof v&&(A=v(this.props)),i.a.createElement("div",{className:w,style:o,id:r},i.a.createElement("div",{className:_,onClick:this.handleItemClick,role:g?"tab":"button",tabIndex:m?-1:0,"aria-expanded":""+d,onKeyPress:this.handleKeyPress},f&&A,s,b&&i.a.createElement("div",{className:a+"-extra"},b)),i.a.createElement(ae,{showProp:"isActive",exclusive:!0,component:"",animation:this.props.openAnimation},i.a.createElement(h,{prefixCls:a,isActive:d,destroyInactivePanel:p,forceRender:y,role:g?"tabpanel":null},c)))}}]),t}();ce.propTypes={className:a.a.oneOfType([a.a.string,a.a.object]),id:a.a.string,children:a.a.any,openAnimation:a.a.object,prefixCls:a.a.string,header:a.a.oneOfType([a.a.string,a.a.number,a.a.node]),headerClass:a.a.string,showArrow:a.a.bool,isActive:a.a.bool,onItemClick:a.a.func,style:a.a.object,destroyInactivePanel:a.a.bool,disabled:a.a.bool,accordion:a.a.bool,forceRender:a.a.bool,expandIcon:a.a.func,extra:a.a.node,panelKey:a.a.any},ce.defaultProps={showArrow:!0,isActive:!1,destroyInactivePanel:!1,onItemClick:function(){},headerClass:"",forceRender:!1};var de=ce;function fe(e,t,n,r){var i=void 0;return V(e,n,{start:function(){t?(i=e.offsetHeight,e.style.height=0):e.style.height=e.offsetHeight+"px"},active:function(){e.style.height=(t?i:0)+"px"},end:function(){e.style.height="",r()}})}var pe=function(e){return{enter:function(t,n){return fe(t,!0,e+"-anim",n)},leave:function(t,n){return fe(t,!1,e+"-anim",n)}}},he=n(56),me=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ge(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ye(e){var t=e;return Array.isArray(t)||(t=t?[t]:[]),t}var ve=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));be.call(n);var r=e.activeKey,i=e.defaultActiveKey;return"activeKey"in e&&(i=r),n.state={openAnimation:e.openAnimation||pe(e.prefixCls),activeKey:ye(i)},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),me(t,[{key:"componentWillReceiveProps",value:function(e){"activeKey"in e&&this.setState({activeKey:ye(e.activeKey)}),"openAnimation"in e&&this.setState({openAnimation:e.openAnimation})}},{key:"shouldComponentUpdate",value:function(e,t){return!c()(this.props,e)||!c()(this.state,t)}},{key:"render",value:function(){var e,t=this.props,n=t.prefixCls,r=t.className,o=t.style,a=t.accordion,s=u()((ge(e={},n,!0),ge(e,r,!!r),e));return i.a.createElement("div",{className:s,style:o,role:a?"tablist":null},this.getItems())}}]),t}(),be=function(){var e=this;this.onClickItem=function(t){var n=e.state.activeKey;if(e.props.accordion)n=n[0]===t?[]:[t];else{var r=(n=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(n))).indexOf(t);r>-1?n.splice(r,1):n.push(t)}e.setActiveKey(n)},this.getNewChild=function(t,n){if(!t)return null;var r=e.state.activeKey,o=e.props,a=o.prefixCls,s=o.accordion,u=o.destroyInactivePanel,l=o.expandIcon,c=t.key||String(n),d=t.props,f=d.header,p=d.headerClass,h=d.disabled,m={key:c,panelKey:c,header:f,headerClass:p,isActive:s?r[0]===c:r.indexOf(c)>-1,prefixCls:a,destroyInactivePanel:u,openAnimation:e.state.openAnimation,accordion:s,children:t.props.children,onItemClick:h?null:e.onClickItem,expandIcon:l};return i.a.cloneElement(t,m)},this.getItems=function(){var t=e.props.children,n=Object(he.isFragment)(t)?t.props.children:t,o=r.Children.map(n,e.getNewChild);return Object(he.isFragment)(t)?i.a.createElement(i.a.Fragment,null,o):o},this.setActiveKey=function(t){"activeKey"in e.props||e.setState({activeKey:t}),e.props.onChange(e.props.accordion?t[0]:t)}};ve.propTypes={children:a.a.any,prefixCls:a.a.string,activeKey:a.a.oneOfType([a.a.string,a.a.arrayOf(a.a.string)]),defaultActiveKey:a.a.oneOfType([a.a.string,a.a.arrayOf(a.a.string)]),openAnimation:a.a.object,onChange:a.a.func,accordion:a.a.bool,className:a.a.string,style:a.a.object,destroyInactivePanel:a.a.bool,expandIcon:a.a.func},ve.defaultProps={prefixCls:"rc-collapse",onChange:function(){},accordion:!1,destroyInactivePanel:!1},ve.Panel=de;var _e=ve;n.d(t,"Panel",function(){return we});t.default=_e;var we=_e.Panel},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r);function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var a=n(146),s=n.n(a);function u(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n(12);n(541);var l=n(273),c=n(87),d=function(e,t){return function(n){return n[e]=t,n}},f=function(e){return d("displayName",e)},p=function(e){return function(t){var n=Object(r.createFactory)(t);return function(t){return n(e(t))}}},h=function(e,t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=t(e[r],r));return n},m=(Object.keys,r.Component,function(e){return function(t){var n=Object(r.createFactory)(t);return function(t){function r(){return t.apply(this,arguments)||this}u(r,t);var i=r.prototype;return i.shouldComponentUpdate=function(t){return e(this.props,t)},i.render=function(){return n(this.props)},r}(r.Component)}}),g=function(e){return m(function(e,t){return!s()(e,t)})(e)};var y,v=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}},function(e){return e})},b={fromESObservable:null,toESObservable:null},_={fromESObservable:function(e){return"function"==typeof b.fromESObservable?b.fromESObservable(e):e},toESObservable:function(e){return"function"==typeof b.toESObservable?b.toESObservable(e):e}},w=(y=_,n(533)),A=n(542),x=n.n(A);function k(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&(n[r[i]]=e[r[i]])}return n}var M,E,L,S,D,T,C=v(f("DebounceInput"),g,(T={wait:250},function(e){var t=Object(r.createFactory)(e),n=function(e){return t(e)};return n.defaultProps=T,n}),(S={debounceFieldValue:"",debouncing:!1},D={setDebounceFieldValue:function(){return function(e){return{debounceFieldValue:e}}},setDebouncing:function(){return function(e){return{debouncing:e}}}},function(e){var t=Object(r.createFactory)(e);return function(e){function n(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).state="function"==typeof S?S(t.props):S,t.stateUpdaters=h(D,function(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];n&&"function"==typeof n.persist&&n.persist(),t.setState(function(t,r){return e(t,r).apply(void 0,[n].concat(i))})}}),t}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.state,this.stateUpdaters))},n}(r.Component)}),(L={componentDidMount:function(){this.props.setDebounceFieldValue(this.props.input.value)},componentWillReceiveProps:function(e){e.debouncing||e.input.value!==this.props.input.value&&this.props.setDebounceFieldValue(e.input.value)}},function(e){var t=Object(r.createFactory)(e),n=function(e){function n(){return e.apply(this,arguments)||this}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.state))},n}(r.Component);return Object.keys(L).forEach(function(e){return n.prototype[e]=L[e]}),n}),(E=function(e){var t=e.wait,n=e.setDebouncing,r=x()(function(e,t){n(!1),e(t)},t);return{onChange:function(e){return function(t){t.persist(),n(!0),r(e.input.onChange,t),e.setDebounceFieldValue(t.target.value)}},onBlur:function(e){return function(t){r.cancel(),n(!1),e.input.onChange(t),e.input.onBlur(t)}},onKeyDown:function(e){return function(t){13===t.keyCode&&(r.cancel(),n(!1),e.input.onChange(t))}}}},function(e){var t=Object(r.createFactory)(e);return function(e){function n(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).handlers=h("function"==typeof E?E(t.props):E,function(e){return function(){return e(t.props).apply(void 0,arguments)}}),t}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.handlers))},n}(r.Component)}),(M=function(e){var t=e.input,n=e.debounceFieldValue,r=e.onChange,i=e.onBlur,o=e.onKeyDown;return{input:Object.assign({},t,{value:n,onChange:r,onBlur:i,onKeyDown:o})}},p(function(e){return o({},e,"function"==typeof M?M(e):M)})))(function(e){var t=e.ownerComponent,n=(e.wait,e.debounceFieldValue,e.setDebounceFieldValue,e.debouncing,e.setDebouncing,e.onChange,e.onBlur,e.onKeyDown,k(e,["ownerComponent","wait","debounceFieldValue","setDebounceFieldValue","debouncing","setDebouncing","onChange","onBlur","onKeyDown"]));return i.a.createElement(t,Object.assign({},n))}),O=v(f("DebounceField"),g)(function(e){var t=e.component,n=k(e,["component"]);return i.a.createElement(w.a,Object.assign({},n,{component:C,ownerComponent:t}))});t.default=O},function(e,t,n){"use strict";n.r(t);var r=n(484),i=n.n(r),o=n(240),a=n(490),s=n.n(a),u=n(241),l=n.n(u),c=n(491),d=n.n(c),f=n(239),p=n.n(f),h={version:"1.7.25",country_calling_codes:{1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],383:["XK"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],800:["001"],808:["001"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],870:["001"],878:["001"],880:["BD"],881:["001"],882:["001"],883:["001"],886:["TW"],888:["001"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],979:["001"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},countries:{AC:["247","00","(?:[01589]\\d|[46])\\d{4}",[5,6]],AD:["376","00","(?:1|6\\d)\\d{7}|[136-9]\\d{5}",[6,8,9],[["(\\d{3})(\\d{3})","$1 $2",["[136-9]"]],["(\\d{4})(\\d{4})","$1 $2",["1"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]]],AE:["971","00","(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}",[5,6,7,8,9,10,11,12],[["(\\d{3})(\\d{2,9})","$1 $2",["60|8"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[236]|[479][2-8]"],"0$1"],["(\\d{3})(\\d)(\\d{5})","$1 $2 $3",["[479]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"]],"0"],AF:["93","00","[2-7]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],"0"],AG:["1","011","(?:268|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([457]\\d{6})$","268$1",0,"268"],AI:["1","011","(?:264|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2457]\\d{6})$","264$1",0,"264"],AL:["355","00","(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}",[6,7,8,9],[["(\\d{3})(\\d{3,4})","$1 $2",["80|9"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["4[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2358][2-5]|4"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["[23578]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["6"],"0$1"]],"0"],AM:["374","00","(?:[1-489]\\d|55|60|77)\\d{6}",[8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0 $1"],["(\\d{3})(\\d{5})","$1 $2",["2|3[12]"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["1|47"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[3-9]"],"0$1"]],"0"],AO:["244","00","[29]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[29]"]]]],AR:["54","00","11\\d{8}|(?:[2368]|9\\d)\\d{9}",[10,11],[["(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])","2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5(?:[24-6]|3[2-5]))|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["[23]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],["(\\d)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))","9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5(?:[24-6]|3[2-5]))|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 15-$3-$4",["91"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9"],"0$1",0,"$1 $2 $3-$4"]],"0",0,"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1"],AS:["1","011","(?:[58]\\d\\d|684|900)\\d{7}",[10],0,"1",0,"1|([267]\\d{6})$","684$1",0,"684"],AT:["43","00","1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",[4,5,6,7,8,9,10,11,12,13],[["(\\d)(\\d{3,12})","$1 $2",["1(?:11|[2-9])"],"0$1"],["(\\d{3})(\\d{2})","$1 $2",["517"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["5[079]"],"0$1"],["(\\d{3})(\\d{3,10})","$1 $2",["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],"0$1"],["(\\d{4})(\\d{3,9})","$1 $2",["[2-467]|5[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["5"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,7})","$1 $2 $3",["5"],"0$1"]],"0"],AU:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{7,8}|8[0-24-9]\\d{7})|(?:[2-478]\\d\\d|550)\\d{6}|1\\d{4,7}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,4})","$1 $2",["16"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["14|[45]"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:30|[89])"]]],"0",0,"0|(183[12])",0,0,0,[["(?:[237]\\d{5}|8(?:51(?:0(?:0[03-9]|[1247]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-6])|1(?:1[69]|[23]\\d|4[0-4]))|(?:[6-8]\\d{3}|9(?:[02-9]\\d\\d|1(?:[0-57-9]\\d|6[0135-9])))\\d))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,["16\\d{3,7}",[5,6,7,8,9]],["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],AW:["297","00","(?:[25-79]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[25-9]"]]]],AX:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|(?:[147]\\d|3[0-46-9]|50)\\d{4,8}",[5,6,7,8,9,10],0,"0",0,0,0,0,"18",0,"00"],AZ:["994","00","(?:365\\d{3}|900200)\\d{3}|(?:[12457]\\d|60|88)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[12]|365","[12]|365","[12]|365(?:[0-46-9]|5[0-35-9])"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[3-8]"],"0$1"]],"0"],BA:["387","00","6\\d{8}|(?:[35689]\\d|49|70)\\d{6}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-356]|[7-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6"],"0$1"]],"0"],BB:["1","011","(?:246|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","246$1",0,"246"],BD:["880","00","[13469]\\d{9}|8[0-79]\\d{7,8}|[2-7]\\d{8}|[2-9]\\d{7}|[3-689]\\d{6}|[57-9]\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{4,6})","$1-$2",["31[5-7]|[459]1"],"0$1"],["(\\d{3})(\\d{3,7})","$1-$2",["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:28|4[14]|5)|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],"0$1"],["(\\d{4})(\\d{3,6})","$1-$2",["[13-9]"],"0$1"],["(\\d)(\\d{7,8})","$1-$2",["2"],"0$1"]],"0"],BE:["32","00","4\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[239]|4[23]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[15-8]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4"],"0$1"]],"0"],BF:["226","00","[025-7]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[025-7]"]]]],BG:["359","00","[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",[6,7,8,9],[["(\\d)(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["43[1-6]|70[1-9]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:70|8)0"],"0$1"],["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[1-7]|7"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[48]|9[08]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"]],"0"],BH:["973","00","[136-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[13679]|8[047]"]]]],BI:["257","00","(?:[267]\\d|31)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2367]"]]]],BJ:["229","00","[2689]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2689]"]]]],BL:["590","00","(?:590|69\\d)\\d{6}",[9],0,"0",0,0,0,0,0,[["590(?:2[7-9]|5[12]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],BM:["1","011","(?:441|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-8]\\d{6})$","441$1",0,"441"],BN:["673","00","[2-578]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-578]"]]]],BO:["591","00(?:1\\d)?","(?:[2-467]\\d{3}|80017)\\d{4}",[8,9],[["(\\d)(\\d{7})","$1 $2",["[23]|4[46]"]],["(\\d{8})","$1",["[67]"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["8"]]],"0",0,"0(1\\d)?"],BQ:["599","00","(?:[34]1|7\\d)\\d{5}",[7],0,0,0,0,0,0,"[347]"],BR:["55","00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)","(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-24679]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}",[8,9,10,11],[["(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37)","4(?:02|37)0|[34]00"]],["(\\d{3})(\\d{2,3})(\\d{4})","$1 $2 $3",["(?:[358]|90)0"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],"($1)"],["(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[16][1-9]|[2-57-9]"],"($1)"]],"0",0,"0(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?","$2"],BS:["1","011","(?:242|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([3-8]\\d{6})$","242$1",0,"242"],BT:["975","00","[17]\\d{7}|[2-8]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[2-68]|7[246]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[67]|7"]]]],BW:["267","00","90\\d{5}|(?:[2-6]|7\\d)\\d{6}",[7,8],[["(\\d{2})(\\d{5})","$1 $2",["90"]],["(\\d{3})(\\d{4})","$1 $2",["[2-6]"]],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["7"]]]],BY:["375","810","(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3})","$1 $2",["800"],"8 $1"],["(\\d{3})(\\d{2})(\\d{2,4})","$1 $2 $3",["800"],"8 $1"],["(\\d{4})(\\d{2})(\\d{3})","$1 $2-$3",["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])","1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],"8 0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["1(?:[56]|7[467])|2[1-3]"],"8 0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-4]"],"8 0$1"],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["[89]"],"8 $1"]],"8",0,"0|80?",0,0,0,0,"8~10"],BZ:["501","00","(?:0800\\d|[2-8])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1-$2",["[2-8]"]],["(\\d)(\\d{3})(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]]]],CA:["1","011","(?:[2-8]\\d|90)\\d{8}",[10],0,"1",0,0,0,0,0,[["(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["(?:5(?:00|2[12]|33|44|66|77|88)|622)[2-9]\\d{6}"],0,0,0,["600[2-9]\\d{6}"]]],CC:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d|8[0-24-9])\\d{7}|(?:[148]\\d\\d|550)\\d{6}|1\\d{5,7}",[6,7,8,9,10],0,"0",0,"0|([59]\\d{7})$","8$1",0,0,[["8(?:51(?:0(?:02|31|60)|118)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],CD:["243","00","[189]\\d{8}|[1-68]\\d{6}",[7,9],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[1-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"],"0$1"]],"0"],CF:["236","00","(?:[27]\\d{3}|8776)\\d{4}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[278]"]]]],CG:["242","00","222\\d{6}|(?:0\\d|80)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["801"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]]]],CH:["41","00","8\\d{11}|[2-9]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]|81"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["8"],"0$1"]],"0"],CI:["225","00","[02-8]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[02-8]"]]]],CK:["682","00","[2-8]\\d{4}",[5],[["(\\d{2})(\\d{3})","$1 $2",["[2-8]"]]]],CL:["56","(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0","12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}",[9,10,11],[["(\\d{5})(\\d{4})","$1 $2",["21"],"($1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["44"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[23]"],"($1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["9[2-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"],"($1)"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{3})(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"]]]],CM:["237","00","(?:[26]\\d\\d|88)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["88"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]"]]]],CN:["86","00|1(?:[12]\\d|79|9[0235-7])\\d\\d00","1[1279]\\d{8,9}|2\\d{9}(?:\\d{2})?|[12]\\d{6,7}|86\\d{6}|(?:1[03-68]\\d|6)\\d{7,9}|(?:[3-579]\\d|8[0-57-9])\\d{6,9}",[7,8,9,10,11,12],[["(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2[0-57-9])[19]","(?:10|2[0-57-9])(?:10|9[56])","(?:10|2[0-57-9])(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{5,6})","$1 $2",["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]","(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]","85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])","85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["(?:4|80)0"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|2(?:[02-57-9]|1[1-9])","10|2(?:[02-57-9]|1[1-9])","10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"],"0$1",1],["(\\d{3})(\\d{7,8})","$1 $2",["9"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[3-578]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-9]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["[12]"],"0$1",1]],"0",0,"0|(1(?:[12]\\d|79|9[0235-7])\\d\\d)",0,0,0,0,"00"],CO:["57","00(?:4(?:[14]4|56)|[579])","(?:1\\d|3)\\d{9}|[124-8]\\d{7}",[8,10,11],[["(\\d)(\\d{7})","$1 $2",["1[2-79]|[25-8]|(?:18|4)[2-9]"],"($1)"],["(\\d{3})(\\d{7})","$1 $2",["3"]],["(\\d)(\\d{3})(\\d{7})","$1-$2-$3",["1(?:80|9)","1(?:800|9)"],"0$1",0,"$1 $2 $3"]],"0",0,"0([3579]|4(?:[14]4|56))?"],CR:["506","00","(?:8\\d|90)\\d{8}|[24-8]\\d{7}",[8,10],[["(\\d{4})(\\d{4})","$1 $2",["[24-7]|8[3-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]"]]],0,0,"(19(?:0[0-2468]|1[09]|20|66|77|99))"],CU:["53","119","[27]\\d{6,7}|[34]\\d{5,7}|5\\d{7}",[6,7,8],[["(\\d{2})(\\d{4,6})","$1 $2",["2[1-4]|[34]"],"(0$1)"],["(\\d)(\\d{6,7})","$1 $2",["7"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["5"],"0$1"]],"0"],CV:["238","0","[2-59]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2-59]"]]]],CW:["599","00","(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[3467]"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["9[4-8]"]]],0,0,0,0,0,"[69]"],CX:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d|8[0-24-9])\\d{7}|(?:[148]\\d\\d|550)\\d{6}|1\\d{5,7}",[6,7,8,9,10],0,"0",0,"0|([59]\\d{7})$","8$1",0,0,[["8(?:51(?:0(?:01|30|59)|117)|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],CY:["357","00","(?:[279]\\d|[58]0)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[257-9]"]]]],CZ:["420","00","(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]|9[015-7]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]]],DE:["49","00","[2579]\\d{5,14}|49(?:[05]\\d{10}|[46][1-8]\\d{4,9})|49(?:[0-25]\\d|3[1-689]|7[1-7])\\d{4,8}|49(?:[0-2579]\\d|[34][1-9]|6[0-8])\\d{3}|49\\d{3,4}|(?:1|[368]\\d|4[0-8])\\d{3,13}",[4,5,6,7,8,9,10,11,12,13,14,15],[["(\\d{2})(\\d{3,13})","$1 $2",["3[02]|40|[68]9"],"0$1"],["(\\d{3})(\\d{3,12})","$1 $2",["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1","2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"],"0$1"],["(\\d{4})(\\d{2,11})","$1 $2",["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]","[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["138"],"0$1"],["(\\d{5})(\\d{2,10})","$1 $2",["3"],"0$1"],["(\\d{3})(\\d{5,11})","$1 $2",["181"],"0$1"],["(\\d{3})(\\d)(\\d{4,10})","$1 $2 $3",["1(?:3|80)|9"],"0$1"],["(\\d{3})(\\d{7,8})","$1 $2",["1[67]"],"0$1"],["(\\d{3})(\\d{7,12})","$1 $2",["8"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["185","1850","18500"],"0$1"],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["18[68]"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["15[0568]"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["15[1279]"],"0$1"],["(\\d{3})(\\d{8})","$1 $2",["18"],"0$1"],["(\\d{3})(\\d{2})(\\d{7,8})","$1 $2 $3",["1(?:6[023]|7)"],"0$1"],["(\\d{4})(\\d{2})(\\d{7})","$1 $2 $3",["15[279]"],"0$1"],["(\\d{3})(\\d{2})(\\d{8})","$1 $2 $3",["15"],"0$1"]],"0"],DJ:["253","00","(?:2\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[27]"]]]],DK:["45","00","[2-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-9]"]]]],DM:["1","011","(?:[58]\\d\\d|767|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","767$1",0,"767"],DO:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,0,0,0,"8[024]9"],DZ:["213","00","(?:[1-4]|[5-79]\\d|80)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-8]"],"0$1"]],"0"],EC:["593","00","1800\\d{6,7}|(?:[2-7]|9\\d)\\d{7}",[8,9,10,11],[["(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[2-7]"],"(0$1)",0,"$1-$2-$3"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]]],"0"],EE:["372","00","8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d\\d|900)\\d{4}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]"]],["(\\d{4})(\\d{3,4})","$1 $2",["[45]|8(?:00|[1-4])","[45]|8(?:00[1-9]|[1-4])"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["80"]]]],EG:["20","00","[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",[8,9,10],[["(\\d)(\\d{7,8})","$1 $2",["[23]"],"0$1"],["(\\d{2})(\\d{6,7})","$1 $2",["1[35]|[4-6]|8[2468]|9[235-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[189]"],"0$1"]],"0"],EH:["212","00","[5-8]\\d{8}",[9],0,"0",0,0,0,0,"528[89]"],ER:["291","00","[178]\\d{6}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[178]"],"0$1"]],"0"],ES:["34","00","(?:51|[6-9]\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-9]"]]]],ET:["251","00","(?:11|[2-59]\\d)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-59]"],"0$1"]],"0"],FI:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}|[1-35689]\\d{4}",[5,6,7,8,9,10],[["(\\d)(\\d{4,9})","$1 $2",["[2568][1-8]|3(?:0[1-9]|[1-9])|9"],"0$1"],["(\\d{3})(\\d{3,7})","$1 $2",["(?:[12]0|7)0|[368]"],"0$1"],["(\\d{2})(\\d{4,8})","$1 $2",["[12457]"],"0$1"]],"0",0,0,0,0,"1[03-79]|[2-9]",0,"00"],FJ:["679","0(?:0|52)","45\\d{5}|(?:0800\\d|[235-9])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1 $2",["[235-9]|45"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]]],0,0,0,0,0,0,0,"00"],FK:["500","00","[2-7]\\d{4}",[5]],FM:["691","00","[39]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[39]"]]]],FO:["298","00","(?:[2-8]\\d|90)\\d{4}",[6],[["(\\d{6})","$1",["[2-9]"]]],0,0,"(10(?:01|[12]0|88))"],FR:["33","00","[1-9]\\d{8}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"]],"0"],GA:["241","00","(?:0\\d|[2-7])\\d{6}",[7,8],[["(\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]]]],GB:["44","00","[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",[7,9,10],[["(\\d{3})(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["845","8454","84546","845464"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["800"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:(?:38|69)7|5(?:24|39)|768|946)","1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["1(?:[2-69][02-9]|[78])"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[25]|7(?:0|6[024-9])","[25]|7(?:0|6(?:[04-9]|2[356]))"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[1389]"],"0$1"]],"0",0,0,0,0,0,[["(?:1(?:(?:1(?:3[0-58]|4[0-5]|5[0-26-9]|6[0-4]|[78][0-49])|3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d\\d|2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d\\d|1(?:[0-7]\\d\\d|80[04589])))|2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d|7(?:(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))\\d|6888[2-46-8]))\\d\\d",[9,10]],["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",[10]],["56\\d{8}",[10]]],0," x"],GD:["1","011","(?:473|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","473$1",0,"473"],GE:["995","00","(?:[3-57]\\d\\d|800)\\d{6}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["32"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[57]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[348]"],"0$1"]],"0"],GF:["594","00","[56]94\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0"],GG:["44","00","(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",[7,9,10],0,"0",0,"0|([25-9]\\d{5})$","1481$1",0,0,[["1481[25-9]\\d{5}",[10]],["7(?:(?:781|839)\\d|911[17])\\d{5}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",[10]],["56\\d{8}",[10]]]],GH:["233","00","(?:[235]\\d{3}|800)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"]],"0"],GI:["350","00","(?:[25]\\d\\d|629)\\d{5}",[8],[["(\\d{3})(\\d{5})","$1 $2",["2"]]]],GL:["299","00","(?:19|[2-689]\\d)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["19|[2-689]"]]]],GM:["220","00","[2-9]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],GN:["224","00","(?:30|6\\d\\d|722)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[67]"]]]],GP:["590","00","(?:590|69\\d)\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0",0,0,0,0,0,[["590(?:0[1-68]|1[0-2]|2[0-68]|3[1289]|4[0-24-9]|5[3-579]|6[0189]|7[08]|8[0-689]|9\\d)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],GQ:["240","00","222\\d{6}|(?:3\\d|55|[89]0)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"]],["(\\d{3})(\\d{6})","$1 $2",["[89]"]]]],GR:["30","00","(?:[268]\\d|[79]0)\\d{8}",[10],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["21|7"]],["(\\d{4})(\\d{6})","$1 $2",["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2689]"]]]],GT:["502","00","(?:1\\d{3}|[2-7])\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1 $2",["[2-7]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],GU:["1","011","(?:[58]\\d\\d|671|900)\\d{7}",[10],0,"1",0,"1|([3-9]\\d{6})$","671$1",0,"671"],GW:["245","00","[49]\\d{8}|4\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["40"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"]]]],GY:["592","001","(?:862\\d|9008)\\d{3}|(?:[2-46]\\d|77)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-46-9]"]]]],HK:["852","00(?:30|5[09]|[126-9]?)","8[0-46-9]\\d{6,7}|9\\d{4}(?:\\d(?:\\d(?:\\d{4})?)?)?|(?:[235-79]\\d|46)\\d{6}",[5,6,7,8,9,11],[["(\\d{3})(\\d{2,5})","$1 $2",["900","9003"]],["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{3})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]],0,0,0,0,0,0,0,"00"],HN:["504","00","[237-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1-$2",["[237-9]"]]]],HR:["385","00","(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}",[6,7,8,9],[["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["6[01]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{4})(\\d{3})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-5]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],"0"],HT:["509","00","[2-489]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[2-489]"]]]],HU:["36","00","[2357]\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-57-9]"],"06 $1"]],"06"],ID:["62","00[189]","(?:(?:007803|8\\d{4})\\d|[1-36])\\d{6}|[1-9]\\d{8,10}|[2-9]\\d{7}",[7,8,9,10,11,12,13],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["15"]],["(\\d{2})(\\d{5,9})","$1 $2",["2[124]|[36]1"],"(0$1)"],["(\\d{3})(\\d{5,7})","$1 $2",["800"],"0$1"],["(\\d{3})(\\d{5,8})","$1 $2",["[2-79]"],"(0$1)"],["(\\d{3})(\\d{3,4})(\\d{3})","$1-$2-$3",["8[1-35-9]"],"0$1"],["(\\d{3})(\\d{6,8})","$1 $2",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],["(\\d{3})(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1-$2-$3",["8"],"0$1"]],"0"],IE:["353","00","(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["2[24-9]|47|58|6[237-9]|9[35-9]"],"(0$1)"],["(\\d{3})(\\d{5})","$1 $2",["[45]0"],"(0$1)"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["1"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2569]|4[1-69]|7[14]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["81"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[78]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]],["(\\d{2})(\\d)(\\d{3})(\\d{4})","$1 $2 $3 $4",["8"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["4"],"(0$1)"]],"0"],IL:["972","0(?:0|1[2-9])","1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}",[7,8,9,10,11,12],[["(\\d{4})(\\d{3})","$1-$2",["125"]],["(\\d{4})(\\d{2})(\\d{2})","$1-$2-$3",["121"]],["(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-489]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1-$2-$3",["12"]],["(\\d{4})(\\d{6})","$1-$2",["159"]],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3-$4",["1[7-9]"]],["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})","$1-$2 $3-$4",["15"]]],"0"],IM:["44","00","1624\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"0|([5-8]\\d{5})$","1624$1",0,"74576|(?:16|7[56])24"],IN:["91","00","(?:00800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}",[8,9,10,11,12,13],[["(\\d{8})","$1",["5(?:0|2[23]|3[03]|[67]1|88)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"],0,1],["(\\d{4})(\\d{4,5})","$1 $2",["180","1800"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["140"],0,1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79[1-7]|80[2-46]","11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])","11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|(?:55|61)2|7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:1(?:29|60|8[06])|261|552|788[01])[2-7]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])"],"0$1",1],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|[4-8])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807","1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]","1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|3179)|807(?:1|9[1-3])|(?:1552|7(?:28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],"0$1",1],["(\\d{5})(\\d{5})","$1 $2",["[6-9]"],"0$1",1],["(\\d{4})(\\d{2,4})(\\d{4})","$1 $2 $3",["1(?:6|8[06])","1(?:6|8[06]0)"],0,1],["(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18"],0,1]],"0"],IO:["246","00","3\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["3"]]]],IQ:["964","00","(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],IR:["98","00","[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}",[4,5,6,7,10],[["(\\d{4,5})","$1",["96"],"0$1"],["(\\d{2})(\\d{4,5})","$1 $2",["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[1-8]"],"0$1"]],"0"],IS:["354","00|1(?:0(?:01|[12]0)|100)","(?:38\\d|[4-9])\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["[4-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["3"]]],0,0,0,0,0,0,0,"00"],IT:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],[["(\\d{2})(\\d{4,6})","$1 $2",["0[26]"]],["(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[245])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[45][0-4]))"]],["(\\d{4})(\\d{2,6})","$1 $2",["0(?:[13-579][2-46-8]|8[236-8])"]],["(\\d{4})(\\d{4})","$1 $2",["894"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|5"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1[4679]|[38]"]],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]"]],["(\\d{2})(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["3"]]],0,0,0,0,0,0,[["0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"],["3[1-9]\\d{8}|3[2-9]\\d{7}",[9,10]],["80(?:0\\d{3}|3)\\d{3}",[6,9]],["(?:0878\\d\\d|89(?:2|4[5-9]\\d))\\d{3}|89[45][0-4]\\d\\d|(?:1(?:44|6[346])|89(?:5[5-9]|9))\\d{6}",[6,8,9,10]],["1(?:78\\d|99)\\d{6}",[9,10]],0,0,0,["55\\d{8}",[10]],["84(?:[08]\\d{3}|[17])\\d{3}",[6,9]]]],JE:["44","00","1534\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"0|([0-24-8]\\d{5})$","1534$1",0,0,[["1534[0-24-8]\\d{5}"],["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97[7-9]))\\d{5}"],["80(?:07(?:35|81)|8901)\\d{4}"],["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"],["701511\\d{4}"],0,["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}"],["56\\d{8}"]]],JM:["1","011","(?:[58]\\d\\d|658|900)\\d{7}",[10],0,"1",0,0,0,0,"658|876"],JO:["962","00","900\\d{5}|(?:(?:[268]|7\\d)\\d|32|53)\\d{6}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]|87"],"(0$1)"],["(\\d{3})(\\d{5,6})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["70"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],JP:["81","010","00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",[8,9,10,11,12,13,14,15,16,17],[["(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],["(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[78]|96)|477|51[24]|636)|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[78]|96[2457-9])|477|51[24]|636[2-57-9])|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])","[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[279]|49|6[0-24-689]|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|5(?:2|3[045]|4[0-369]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|49|6(?:[0-24]|5[0-3589]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:49|55|83)[29]|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:47[59]|59[89]|8(?:6[68]|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:48|829(?:2|66)|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],"0$1"],["(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3[3-8]|5[2-9])","[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3(?:[3-6][2-9]|7|8[2-5])|5[2-9])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[2579]|80"],"0$1"]],"0"],KE:["254","000","(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}",[7,8,9,10],[["(\\d{2})(\\d{5,7})","$1 $2",["[24-6]"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[17]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0"],KG:["996","00","8\\d{9}|(?:[235-8]\\d|99)\\d{7}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["3(?:1[346]|[24-79])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-79]|88"],"0$1"],["(\\d{3})(\\d{3})(\\d)(\\d{2,3})","$1 $2 $3 $4",["8"],"0$1"]],"0"],KH:["855","00[14-9]","1\\d{9}|[1-9]\\d{7,8}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],KI:["686","00","(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",[5,8],0,"0"],KM:["269","00","[3478]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[3478]"]]]],KN:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","869$1",0,"869"],KP:["850","00|99","85\\d{6}|(?:19\\d|2)\\d{7}",[8,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"]],"0"],KR:["82","00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))","00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}",[5,6,8,9,10,11,12,13,14],[["(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1"],["(\\d{4})(\\d{4})","$1-$2",["1"]],["(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60|8"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["[1346]|5[1-5]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{2})(\\d{5})(\\d{4})","$1-$2-$3",["5"],"0$1"]],"0",0,"0(8(?:[1-46-8]|5\\d\\d))?"],KW:["965","00","(?:18|[2569]\\d\\d)\\d{5}",[7,8],[["(\\d{4})(\\d{3,4})","$1 $2",["[169]|2(?:[235]|4[1-35-9])|52"]],["(\\d{3})(\\d{5})","$1 $2",["[25]"]]]],KY:["1","011","(?:345|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","345$1",0,"345"],KZ:["7","810","33622\\d{5}|(?:7\\d|80)\\d{8}",[10],0,"8",0,0,0,0,"33|7",0,"8~10"],LA:["856","00","(?:2\\d|3)\\d{8}|(?:[235-8]\\d|41)\\d{6}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|3[14]|[4-8]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["3"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2"],"0$1"]],"0"],LB:["961","00","[7-9]\\d{7}|[13-9]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"]]],"0"],LC:["1","011","(?:[58]\\d\\d|758|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","758$1",0,"758"],LI:["423","00","90\\d{5}|(?:[2378]|6\\d\\d)\\d{6}",[7,9],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[237-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["69"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]],"0",0,"0|(10(?:01|20|66))"],LK:["94","00","(?:[1-7]\\d|[89]1)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[1-689]"],"0$1"]],"0"],LR:["231","00","(?:2|33|5\\d|77|88)\\d{7}|[45]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[45]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3578]"],"0$1"]],"0"],LS:["266","00","(?:[256]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2568]"]]]],LT:["370","00","(?:[3469]\\d|52|[78]0)\\d{6}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["52[0-79]"],"(8-$1)",1],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[7-9]"],"8 $1",1],["(\\d{2})(\\d{6})","$1 $2",["37|4(?:[15]|6[1-8])"],"(8-$1)",1],["(\\d{3})(\\d{5})","$1 $2",["[3-6]"],"(8-$1)",1]],"8",0,"[08]"],LU:["352","00","35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}",[4,5,6,7,8,9,10,11],[["(\\d{2})(\\d{3})","$1 $2",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20[2-689]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"]],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["80[01]|90[015]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})","$1 $2 $3 $4",["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]]],0,0,"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"],LV:["371","00","(?:[268]\\d|90)\\d{6}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[269]|8[01]"]]]],LY:["218","00","(?:[2569]\\d|71)\\d{7}",[9],[["(\\d{2})(\\d{7})","$1-$2",["[25-79]"],"0$1"]],"0"],MA:["212","00","[5-8]\\d{8}",[9],[["(\\d{5})(\\d{4})","$1-$2",["5(?:29|38)","5(?:29|38)[89]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5[45]"],"0$1"],["(\\d{4})(\\d{5})","$1-$2",["5(?:2[2-489]|3[5-9]|9)|892"],"0$1"],["(\\d{2})(\\d{7})","$1-$2",["8"],"0$1"],["(\\d{3})(\\d{6})","$1-$2",["[5-7]"],"0$1"]],"0",0,0,0,0,0,[["5(?:29|38)[89]0\\d{4}|5(?:2(?:[015-7]\\d|2[2-9]|3[2-57]|4[2-46-8]|8[235-7]|90)|3(?:[0-4]\\d|[57][2-9]|6[2-8]|80|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}"],["692[12]\\d{5}|(?:6(?:[0-7]\\d|8[0-247-9]|9[013-9])|7(?:0[06-8]|6[1267]|7[0-27]))\\d{6}"],["80\\d{7}"],["89\\d{7}"],0,0,0,0,["5924[0-2]\\d{4}"]]],MC:["377","00","870\\d{5}|(?:[349]|6\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[39]"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"],"0$1"]],"0"],MD:["373","00","(?:[235-7]\\d|[89]0)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["22|3"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[25-7]"],"0$1"]],"0"],ME:["382","00","(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"0$1"]],"0"],MF:["590","00","(?:590|69\\d)\\d{6}",[9],0,"0",0,0,0,0,0,[["590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],MG:["261","00","[23]\\d{8}",[9],[["(\\d{2})(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",["[23]"],"0$1"]],"0",0,"0|([24-9]\\d{6})$","20$1"],MH:["692","011","329\\d{4}|(?:[256]\\d|45)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1-$2",["[2-6]"]]],"1"],MK:["389","00","[2-578]\\d{7}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[347]"],"0$1"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"],"0$1"]],"0"],ML:["223","00","(?:[246-9]\\d|50)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]]]],MM:["95","00","1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}",[6,7,8,9,10],[["(\\d)(\\d{2})(\\d{3})","$1 $2 $3",["16|2"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[4-7]|8[1-35]"],"0$1"],["(\\d)(\\d{3})(\\d{4,6})","$1 $2 $3",["9(?:2[0-4]|[35-9]|4[137-9])"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["92"],"0$1"],["(\\d)(\\d{5})(\\d{4})","$1 $2 $3",["9"],"0$1"]],"0"],MN:["976","001","[12]\\d{7,9}|[57-9]\\d{7}",[8,9,10],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[57-9]"]],["(\\d{3})(\\d{5,6})","$1 $2",["[12]2[1-3]"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["[12](?:27|3[2-8]|4[2-68]|5[1-4689])","[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["[12]"],"0$1"]],"0"],MO:["853","00","(?:28|[68]\\d)\\d{6}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[268]"]]]],MP:["1","011","[58]\\d{9}|(?:67|90)0\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","670$1",0,"670"],MQ:["596","00","(?:596|69\\d)\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0"],MR:["222","00","(?:[2-4]\\d\\d|800)\\d{5}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]]]],MS:["1","011","66449\\d{5}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|(4\\d{6})$","664$1",0,"664"],MT:["356","00","3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2357-9]"]]]],MU:["230","0(?:0|[24-7]0|3[03])","(?:[2-468]|5\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-46]|8[013]"]],["(\\d{4})(\\d{4})","$1 $2",["5"]]],0,0,0,0,0,0,0,"020"],MV:["960","0(?:0|19)","(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}",[7,10],[["(\\d{3})(\\d{4})","$1-$2",["[3467]|9[13-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"]]],0,0,0,0,0,0,0,"00"],MW:["265","00","1\\d{6}(?:\\d{2})?|(?:[23]1|77|88|99)\\d{7}",[7,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[17-9]"],"0$1"]],"0"],MX:["52","0[09]","(?:1(?:[01467]\\d|[2359][1-9]|8[1-79])|[2-9]\\d)\\d{8}",[10,11],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|5[56]|81"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2-9]"],0,1],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 $3 $4",["1(?:33|5[56]|81)"],0,1],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 $3 $4",["1"],0,1]],"01",0,"0(?:[12]|4[45])|1",0,0,0,0,"00"],MY:["60","00","1\\d{8,9}|(?:3\\d|[4-9])\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["[4-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1-$2 $3",["1(?:[0249]|[367][2-9]|8[1-9])|8"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2 $3",["3"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3-$4",["1[36-8]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2 $3",["15"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2 $3",["1"],"0$1"]],"0"],MZ:["258","00","(?:2|8\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2|8[2-7]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]]],NA:["264","00","[68]\\d{7,8}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["87"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0"],NC:["687","00","[2-57-9]\\d{5}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[2-57-9]"]]]],NE:["227","00","[0289]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["08"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[089]|2[01]"]]]],NF:["672","00","[13]\\d{5}",[6],[["(\\d{2})(\\d{4})","$1 $2",["1"]],["(\\d)(\\d{5})","$1 $2",["3"]]],0,0,"([0-258]\\d{4})$","3$1"],NG:["234","009","(?:[124-7]|9\\d{3})\\d{6}|[1-9]\\d{7}|[78]\\d{9,13}",[7,8,10,11,12,13,14],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["78"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]|9(?:0[3-9]|[1-9])"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[3-7]|8[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[7-9]"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]"],"0$1"],["(\\d{3})(\\d{5})(\\d{5,6})","$1 $2 $3",["[78]"],"0$1"]],"0"],NI:["505","00","(?:1800|[25-8]\\d{3})\\d{4}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[125-8]"]]]],NL:["31","00","(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|[89]\\d{6,9}|1\\d{4,5}",[5,6,7,8,9,10],[["(\\d{3})(\\d{4,7})","$1 $2",["[89]0"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["66"],"0$1"],["(\\d)(\\d{8})","$1 $2",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-57-9]"],"0$1"]],"0"],NO:["47","00","(?:0|[2-9]\\d{3})\\d{4}",[5,8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[489]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-7]"]]],0,0,0,0,0,"[02-689]|7[0-8]"],NP:["977","00","9\\d{9}|[1-9]\\d{7}",[8,10],[["(\\d)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],["(\\d{2})(\\d{6})","$1-$2",["[1-8]|9(?:[1-579]|6[2-6])"],"0$1"],["(\\d{3})(\\d{7})","$1-$2",["9"]]],"0"],NR:["674","00","(?:444|55\\d|888)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[458]"]]]],NU:["683","00","(?:[47]|888\\d)\\d{3}",[4,7],[["(\\d{3})(\\d{4})","$1 $2",["8"]]]],NZ:["64","0(?:0|161)","[28]\\d{7,9}|[346]\\d{7}|(?:508|[79]\\d)\\d{6,7}",[8,9,10],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["24|[346]|7[2-57-9]|9[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:10|74)|[59]|80"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["2[028]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,5})","$1 $2 $3",["2(?:[169]|7[0-35-9])|7|86"],"0$1"]],"0",0,0,0,0,0,0,"00"],OM:["968","00","(?:[279]\\d{3}|500)\\d{4}|8007\\d{4,5}",[7,8,9],[["(\\d{3})(\\d{4,6})","$1 $2",["[58]"]],["(\\d{2})(\\d{6})","$1 $2",["2"]],["(\\d{4})(\\d{4})","$1 $2",["[79]"]]]],PA:["507","00","(?:[1-57-9]|6\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"]],["(\\d{4})(\\d{4})","$1-$2",["6"]]]],PE:["51","19(?:1[124]|77|90)00","(?:[14-8]|9\\d)\\d{7}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["80"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["1"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[4-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"]]],"0",0,0,0,0,0,0,0," Anexo "],PF:["689","00","[48]\\d{7}|4\\d{5}",[6,8],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["44"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[48]"]]]],PG:["675","00|140[1-3]","(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["18|[2-69]|85"]],["(\\d{4})(\\d{4})","$1 $2",["[78]"]]],0,0,0,0,0,0,0,"00"],PH:["63","00","(?:1800|8)\\d{7,9}|2\\d{5}(?:\\d{2})?|(?:[3-7]|9\\d)\\d{8}",[6,8,9,10,11,12,13],[["(\\d)(\\d{5})","$1 $2",["2"],"(0$1)"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"(0$1)"],["(\\d{4})(\\d{4,6})","$1 $2",["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2","3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],"(0$1)"],["(\\d{5})(\\d{4})","$1 $2",["346|4(?:27|9[35])|883","3469|4(?:279|9(?:30|56))|8834"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|8[2-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]]],"0"],PK:["92","00","122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[025-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["[89]0"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["1"]],["(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],"(0$1)"],["(\\d{3})(\\d{6,7})","$1 $2",["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])","9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],"(0$1)"],["(\\d{5})(\\d{5})","$1 $2",["58"],"(0$1)"],["(\\d{3})(\\d{7})","$1 $2",["3"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[24-9]"],"(0$1)"]],"0"],PL:["48","00","[1-57-9]\\d{6}(?:\\d{2})?|6\\d{5,8}",[6,7,8,9],[["(\\d{5})","$1",["19"]],["(\\d{3})(\\d{3})","$1 $2",["11|64"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1","(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["64"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["39|45|5[0137]|6[0469]|7[02389]|8[08]"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[2-8]|[2-8]|9[145]"]]]],PM:["508","00","[45]\\d{5}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[45]"],"0$1"]],"0"],PR:["1","011","(?:[589]\\d\\d|787)\\d{7}",[10],0,"1",0,0,0,0,"787|939"],PS:["970","00","[2489]2\\d{6}|(?:1\\d|5)\\d{8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2489]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["5"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],PT:["351","00","(?:[26-9]\\d|30)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["2[12]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[236-9]"]]]],PW:["680","01[12]","(?:[25-8]\\d\\d|345|488|900)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],PY:["595","00","59\\d{4,6}|(?:[2-46-9]\\d|5[0-8])\\d{4,7}",[6,7,8,9],[["(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{3})(\\d{4,5})","$1 $2",["2[279]|3[13-5]|4[359]|5|6[347]|7[46-8]|85"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["87"]],["(\\d{3})(\\d{6})","$1 $2",["9"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]"],"0$1"]],"0"],QA:["974","00","800\\d{4}|(?:2|[3-7]\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["2[126]|8"]],["(\\d{4})(\\d{4})","$1 $2",["[3-7]"]]]],RE:["262","00","(?:26|[68]\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[268]"],"0$1"]],"0",0,0,0,0,"262|69|8"],RO:["40","00","(?:[237]\\d|[89]0)\\d{7}|[23]\\d{5}",[6,9],[["(\\d{3})(\\d{3})","$1 $2",["2[3-6]","2[3-6]\\d9"],"0$1"],["(\\d{2})(\\d{4})","$1 $2",["219|31"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23]1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[237-9]"],"0$1"]],"0",0,0,0,0,0,0,0," int "],RS:["381","00","38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}",[6,7,8,9,10,11,12],[["(\\d{3})(\\d{3,9})","$1 $2",["(?:2[389]|39)0|[7-9]"],"0$1"],["(\\d{2})(\\d{5,10})","$1 $2",["[1-36]"],"0$1"]],"0"],RU:["7","810","[347-9]\\d{9}",[10],[["(\\d{4})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-8]|2[1-9])","7(?:1(?:[0-6]2|7|8[27])|2(?:1[23]|[2-9]2))","7(?:1(?:[0-6]2|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"],"8 ($1)",1],["(\\d{5})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-68]|2[1-9])","7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))","7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[3489]"],"8 ($1)",1]],"8",0,0,0,0,"3[04-689]|[489]",0,"8~10"],RW:["250","00","(?:06|[27]\\d\\d|[89]00)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"],"0$1"]],"0"],SA:["966","00","92\\d{7}|(?:[15]|8\\d)\\d{8}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["9"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["81"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]],"0"],SB:["677","0[01]","(?:[1-6]|[7-9]\\d\\d)\\d{4}",[5,7],[["(\\d{2})(\\d{5})","$1 $2",["7|8[4-9]|9(?:[1-8]|9[0-8])"]]]],SC:["248","010|0[0-2]","8000\\d{3}|(?:[249]\\d|64)\\d{5}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[246]"]]],0,0,0,0,0,0,0,"00"],SD:["249","00","[19]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[19]"],"0$1"]],"0"],SE:["46","00","(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{2,3})(\\d{2})","$1-$2 $3",["20"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{4})","$1-$2",["9(?:00|39|44)"],"0$1",0,"$1 $2"],["(\\d{2})(\\d{3})(\\d{2})","$1-$2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3"],["(\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{2,3})(\\d{3})","$1-$2 $3",["9(?:00|39|44)"],"0$1",0,"$1 $2 $3"],["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3 $4"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["7"],"0$1",0,"$1 $2 $3 $4"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4 $5",["[26]"],"0$1",0,"$1 $2 $3 $4 $5"]],"0"],SG:["65","0[0-3]\\d","(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}",[8,10,11],[["(\\d{4})(\\d{4})","$1 $2",["[369]|8[1-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]],["(\\d{4})(\\d{4})(\\d{3})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],SH:["290","00","(?:[256]\\d|8)\\d{3}",[4,5],0,0,0,0,0,0,"[256]"],SI:["386","00|10(?:22|66|88|99)","[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}",[5,6,7,8],[["(\\d{2})(\\d{3,6})","$1 $2",["8[09]|9"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["59|8"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[0139]|51|6"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-57]"],"(0$1)"]],"0",0,0,0,0,0,0,"00"],SJ:["47","00","0\\d{4}|(?:[4589]\\d|79)\\d{6}",[5,8],0,0,0,0,0,0,"79"],SK:["421","00","[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",[6,7,9],[["(\\d)(\\d{2})(\\d{3,4})","$1 $2 $3",["21"],"0$1"],["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["[3-5][1-8]1","[3-5][1-8]1[67]"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"]],"0"],SL:["232","00","(?:[2378]\\d|99)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[237-9]"],"(0$1)"]],"0"],SM:["378","00","(?:0549|[5-7]\\d)\\d{6}",[8,10],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],["(\\d{4})(\\d{6})","$1 $2",["0"]]],0,0,"([89]\\d{5})$","0549$1"],SN:["221","00","(?:[378]\\d{4}|93330)\\d{4}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[379]"]]]],SO:["252","00","[346-9]\\d{8}|[12679]\\d{7}|(?:[1-4]\\d|59)\\d{5}|[1348]\\d{5}",[6,7,8,9],[["(\\d{2})(\\d{4})","$1 $2",["8[125]"]],["(\\d{6})","$1",["[134]"]],["(\\d)(\\d{6})","$1 $2",["1|2[0-79]|3[0-46-8]|4[0-7]|59"]],["(\\d)(\\d{7})","$1 $2",["24|[67]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[348]|64|79[0-8]|90"]],["(\\d{2})(\\d{5,7})","$1 $2",["1|28|6[1-35-9]|799|9[2-9]"]]],"0"],SR:["597","00","(?:[2-5]|68|[78]\\d)\\d{5}",[6,7],[["(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"]],["(\\d{3})(\\d{3})","$1-$2",["[2-5]"]],["(\\d{3})(\\d{4})","$1-$2",["[6-8]"]]]],SS:["211","00","[19]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[19]"],"0$1"]],"0"],ST:["239","00","(?:22|9\\d)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[29]"]]]],SV:["503","00","[267]\\d{7}|[89]00\\d{4}(?:\\d{4})?",[7,8,11],[["(\\d{3})(\\d{4})","$1 $2",["[89]"]],["(\\d{4})(\\d{4})","$1 $2",["[267]"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]]]],SX:["1","011","7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|(5\\d{6})$","721$1",0,"721"],SY:["963","00","[1-39]\\d{8}|[1-5]\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-5]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1",1]],"0"],SZ:["268","00","0800\\d{4}|(?:[237]\\d|900)\\d{6}",[8,9],[["(\\d{4})(\\d{4})","$1 $2",["[0237]"]],["(\\d{5})(\\d{4})","$1 $2",["9"]]]],TA:["290","00","8\\d{3}",[4],0,0,0,0,0,0,"8"],TC:["1","011","(?:[58]\\d\\d|649|900)\\d{7}",[10],0,"1",0,"1|([2-479]\\d{6})$","649$1",0,"649"],TD:["235","00|16","(?:22|[69]\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2679]"]]],0,0,0,0,0,0,0,"00"],TG:["228","00","[279]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[279]"]]]],TH:["66","00[1-9]","1\\d{8,9}|(?:[2-57]|[689]\\d)\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["14|[3-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],TJ:["992","810","(?:[3-59]\\d|77|88)\\d{7}",[9],[["(\\d{6})(\\d)(\\d{2})","$1 $2 $3",["331","3317"],0,1],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[34]7|91[78]"],0,1],["(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3"],0,1],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[457-9]"],0,1]],"8",0,0,0,0,0,0,"8~10"],TK:["690","00","[2-47]\\d{3,6}",[4,5,6,7]],TL:["670","00","7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-489]|70"]],["(\\d{4})(\\d{4})","$1 $2",["7"]]]],TM:["993","810","[1-6]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["12"],"(8 $1)"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-5]"],"(8 $1)"],["(\\d{2})(\\d{6})","$1 $2",["6"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],TN:["216","00","[2-57-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]"]]]],TO:["676","00","(?:0800|[5-8]\\d{3})\\d{3}|[2-8]\\d{4}",[5,7],[["(\\d{2})(\\d{3})","$1-$2",["[2-4]|50|6[09]|7[0-24-69]|8[05]"]],["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{3})(\\d{4})","$1 $2",["[5-8]"]]]],TR:["90","00","(?:[2-58]\\d\\d|900)\\d{7}|4\\d{6}",[7,10],[["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["512|8[0589]|90"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:[0-59]|61)","5(?:[0-59]|616)","5(?:[0-59]|6161)"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24][1-8]|3[1-9]"],"(0$1)",1]],"0"],TT:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-46-8]\\d{6})$","868$1",0,"868"],TV:["688","00","(?:2|7\\d\\d|90)\\d{4}",[5,6,7]],TW:["886","0(?:0[25-79]|19)","(?:[24589]|7\\d)\\d{8}|[2-8]\\d{7}|2\\d{6}",[7,8,9,10],[["(\\d{2})(\\d)(\\d{4})","$1 $2 $3",["202"],"0$1"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["[25][2-8]|[346]|7[1-9]|8[237-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[258]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0",0,0,0,0,0,0,0,"#"],TZ:["255","00[056]","(?:[26-8]\\d|41|90)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[24]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[67]"],"0$1"]],"0"],UA:["380","00","[89]\\d{9}|[3-9]\\d{8}",[9,10],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]","6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["4[45][0-5]|5(?:0|6[37])|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]","4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["[3-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0",0,0,0,0,0,0,"0~0"],UG:["256","00[057]","800\\d{6}|(?:[29]0|[347]\\d)\\d{7}",[9],[["(\\d{4})(\\d{5})","$1 $2",["202","2024"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[27-9]|4(?:6[45]|[7-9])"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[34]"],"0$1"]],"0"],US:["1","011","[2-9]\\d{9}",[10],[["(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",["[2-9]"],0,1,"$1-$2-$3"]],"1",0,0,0,0,0,[["(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[017]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-28]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0179]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}"],0,["710[2-9]\\d{6}"]]],UY:["598","0(?:0|1[3-9]\\d)","(?:[249]\\d\\d|80)\\d{5}|9\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["8|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[24]"]]],"0",0,0,0,0,0,0,"00"," int. "],UZ:["998","810","[679]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[679]"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],VA:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],0,0,0,0,0,0,"06698"],VC:["1","011","(?:[58]\\d\\d|784|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","784$1",0,"784"],VE:["58","00","[89]00\\d{7}|(?:[24]\\d|50)\\d{8}",[10],[["(\\d{3})(\\d{7})","$1-$2",["[24589]"],"0$1"]],"0"],VG:["1","011","(?:284|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-578]\\d{6})$","284$1",0,"284"],VI:["1","011","[58]\\d{9}|(?:34|90)0\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","340$1",0,"340"],VN:["84","00","[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["80"],"0$1",1],["(\\d{4})(\\d{4,6})","$1 $2",["1"],0,1],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[69]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[3578]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2[48]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["2"],"0$1",1]],"0"],VU:["678","00","(?:[23]\\d|[48]8)\\d{3}|(?:[57]\\d|90)\\d{5}",[5,7],[["(\\d{3})(\\d{4})","$1 $2",["[579]"]]]],WF:["681","00","(?:[45]0|68|72|8\\d)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[4-8]"]]]],WS:["685","0","[2-6]\\d{4}|8\\d{5}(?:\\d{4})?|[78]\\d{6}",[5,6,7,10],[["(\\d{5})","$1",["[2-6]"]],["(\\d{3})(\\d{3,7})","$1 $2",["8"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]]],XK:["383","00","[23]\\d{7,8}|(?:4\\d\\d|[89]00)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[23]"],"0$1"]],"0"],YE:["967","00","(?:1|7\\d)\\d{7}|[1-7]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-6]|7[24-68]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"],"0$1"]],"0"],YT:["262","00","80\\d{7}|(?:26|63)9\\d{6}",[9],0,"0",0,0,0,0,"269|63"],ZA:["27","00","[1-9]\\d{8}|8\\d{4,7}",[5,6,7,8,9],[["(\\d{2})(\\d{3,4})","$1 $2",["8[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["8[1-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["860"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-9]"],"0$1"]],"0"],ZM:["260","00","800\\d{6}|(?:21|76|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[28]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[79]"],"0$1"]],"0"],ZW:["263","00","2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",[5,6,7,8,9,10],[["(\\d{3})(\\d{3,5})","$1 $2",["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"],"0$1"],["(\\d)(\\d{3})(\\d{2,4})","$1 $2 $3",["[49]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["80"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2","2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)","2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["29[013-9]|39|54"],"0$1"],["(\\d{4})(\\d{3,5})","$1 $2",["(?:25|54)8","258|5483"],"0$1"]],"0"],"001":["979",0,"\\d{9}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3"]]]}},m=(n(68),n(534),n(535),n(486),n(110)),g=n(188),y=n(10);n(487),n(488);function v(e,t){var n=Array.prototype.slice.call(t);return n.push(h),e.apply(this,n)}function b(e,t){return m.a.call(this,e,t,h)}function _(e){return g.a.call(this,e,h)}function w(){return v(y.b,arguments)}b.prototype=Object.create(m.a.prototype,{}),b.prototype.constructor=b,_.prototype=Object.create(g.a.prototype,{}),_.prototype.constructor=_,n.d(t,"default",function(){return i.a}),n.d(t,"parseRFC3966",function(){return o.parseRFC3966}),n.d(t,"formatRFC3966",function(){return o.formatRFC3966}),n.d(t,"parsePhoneNumber",function(){return s.a}),n.d(t,"formatPhoneNumber",function(){return l.a}),n.d(t,"formatPhoneNumberIntl",function(){return u.formatPhoneNumberIntl}),n.d(t,"isValidPhoneNumber",function(){return d.a}),n.d(t,"PhoneInput",function(){return p.a}),n.d(t,"getCountryCallingCode",function(){return w})}]);
\ No newline at end of file
+var n="undefined"!=typeof window&&"undefined"!=typeof document,r=["Edge","Trident","Firefox"],i=0,o=0;o<r.length;o+=1)if(n&&navigator.userAgent.indexOf(r[o])>=0){i=1;break}var a=n&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},i))}};function s(e){return e&&"[object Function]"==={}.toString.call(e)}function u(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function l(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function c(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=u(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/(auto|scroll|overlay)/.test(n+i+r)?e:c(l(e))}var d=n&&!(!window.MSInputMethodContext||!document.documentMode),f=n&&/MSIE 10/.test(navigator.userAgent);function p(e){return 11===e?d:10===e?f:d||f}function h(e){if(!e)return document.documentElement;for(var t=p(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===u(n,"position")?h(n):n:e?e.ownerDocument.documentElement:document.documentElement}function m(e){return null!==e.parentNode?m(e.parentNode):e}function g(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?e:t,i=n?t:e,o=document.createRange();o.setStart(r,0),o.setEnd(i,0);var a,s,u=o.commonAncestorContainer;if(e!==u&&t!==u||r.contains(i))return"BODY"===(s=(a=u).nodeName)||"HTML"!==s&&h(a.firstElementChild)!==a?h(u):u;var l=m(e);return l.host?g(l.host,t):g(e,m(t).host)}function y(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var r=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||r)[t]}return e[t]}function v(e,t){var n="x"===t?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+r+"Width"],10)}function b(e,t,n,r){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],p(10)?parseInt(n["offset"+e])+parseInt(r["margin"+("Height"===e?"Top":"Left")])+parseInt(r["margin"+("Height"===e?"Bottom":"Right")]):0)}function _(e){var t=e.body,n=e.documentElement,r=p(10)&&getComputedStyle(n);return{height:b("Height",t,n,r),width:b("Width",t,n,r)}}var w=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},A=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),x=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},k=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function M(e){return k({},e,{right:e.left+e.width,bottom:e.top+e.height})}function E(e){var t={};try{if(p(10)){t=e.getBoundingClientRect();var n=y(e,"top"),r=y(e,"left");t.top+=n,t.left+=r,t.bottom+=n,t.right+=r}else t=e.getBoundingClientRect()}catch(e){}var i={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},o="HTML"===e.nodeName?_(e.ownerDocument):{},a=o.width||e.clientWidth||i.right-i.left,s=o.height||e.clientHeight||i.bottom-i.top,l=e.offsetWidth-a,c=e.offsetHeight-s;if(l||c){var d=u(e);l-=v(d,"x"),c-=v(d,"y"),i.width-=l,i.height-=c}return M(i)}function L(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=p(10),i="HTML"===t.nodeName,o=E(e),a=E(t),s=c(e),l=u(t),d=parseFloat(l.borderTopWidth,10),f=parseFloat(l.borderLeftWidth,10);n&&i&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var h=M({top:o.top-a.top-d,left:o.left-a.left-f,width:o.width,height:o.height});if(h.marginTop=0,h.marginLeft=0,!r&&i){var m=parseFloat(l.marginTop,10),g=parseFloat(l.marginLeft,10);h.top-=d-m,h.bottom-=d-m,h.left-=f-g,h.right-=f-g,h.marginTop=m,h.marginLeft=g}return(r&&!n?t.contains(s):t===s&&"BODY"!==s.nodeName)&&(h=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=y(t,"top"),i=y(t,"left"),o=n?-1:1;return e.top+=r*o,e.bottom+=r*o,e.left+=i*o,e.right+=i*o,e}(h,t)),h}function S(e){if(!e||!e.parentElement||p())return document.documentElement;for(var t=e.parentElement;t&&"none"===u(t,"transform");)t=t.parentElement;return t||document.documentElement}function D(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},a=i?S(e):g(e,t);if("viewport"===r)o=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,r=L(e,n),i=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),a=t?0:y(n),s=t?0:y(n,"left");return M({top:a-r.top+r.marginTop,left:s-r.left+r.marginLeft,width:i,height:o})}(a,i);else{var s=void 0;"scrollParent"===r?"BODY"===(s=c(l(t))).nodeName&&(s=e.ownerDocument.documentElement):s="window"===r?e.ownerDocument.documentElement:r;var d=L(s,a,i);if("HTML"!==s.nodeName||function e(t){var n=t.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===u(t,"position"))return!0;var r=l(t);return!!r&&e(r)}(a))o=d;else{var f=_(e.ownerDocument),p=f.height,h=f.width;o.top+=d.top-d.marginTop,o.bottom=p+d.top,o.left+=d.left-d.marginLeft,o.right=h+d.left}}var m="number"==typeof(n=n||0);return o.left+=m?n:n.left||0,o.top+=m?n:n.top||0,o.right-=m?n:n.right||0,o.bottom-=m?n:n.bottom||0,o}function T(e,t,n,r,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var a=D(n,r,o,i),s={top:{width:a.width,height:t.top-a.top},right:{width:a.right-t.right,height:a.height},bottom:{width:a.width,height:a.bottom-t.bottom},left:{width:t.left-a.left,height:a.height}},u=Object.keys(s).map(function(e){return k({key:e},s[e],{area:(t=s[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),l=u.filter(function(e){var t=e.width,r=e.height;return t>=n.clientWidth&&r>=n.clientHeight}),c=l.length>0?l[0].key:u[0].key,d=e.split("-")[1];return c+(d?"-"+d:"")}function C(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return L(n,r?S(t):g(t,n),r)}function O(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),r=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+r,height:e.offsetHeight+n}}function $(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function j(e,t,n){n=n.split("-")[0];var r=O(e),i={width:r.width,height:r.height},o=-1!==["right","left"].indexOf(n),a=o?"top":"left",s=o?"left":"top",u=o?"height":"width",l=o?"width":"height";return i[a]=t[a]+t[u]/2-r[u]/2,i[s]=n===s?t[s]-r[l]:t[$(s)],i}function P(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function I(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var r=P(e,function(e){return e[t]===n});return e.indexOf(r)}(e,"name",n))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&s(n)&&(t.offsets.popper=M(t.offsets.popper),t.offsets.reference=M(t.offsets.reference),t=n(t,e))}),t}function N(e,t){return e.some(function(e){var n=e.name;return e.enabled&&n===t})}function F(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),r=0;r<t.length;r++){var i=t[r],o=i?""+i+n:e;if(void 0!==document.body.style[o])return o}return null}function R(e){var t=e.ownerDocument;return t?t.defaultView:window}function Y(e,t,n,r){n.updateBound=r,R(e).addEventListener("resize",n.updateBound,{passive:!0});var i=c(e);return function e(t,n,r,i){var o="BODY"===t.nodeName,a=o?t.ownerDocument.defaultView:t;a.addEventListener(n,r,{passive:!0}),o||e(c(a.parentNode),n,r,i),i.push(a)}(i,"scroll",n.updateBound,n.scrollParents),n.scrollElement=i,n.eventsEnabled=!0,n}function B(){var e,t;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(e=this.reference,t=this.state,R(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t))}function z(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function H(e,t){Object.keys(t).forEach(function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&z(t[n])&&(r="px"),e.style[n]=t[n]+r})}var U=n&&/Firefox/i.test(navigator.userAgent);function Z(e,t,n){var r=P(e,function(e){return e.name===t}),i=!!r&&e.some(function(e){return e.name===n&&e.enabled&&e.order<r.order});if(!i){var o="`"+t+"`",a="`"+n+"`";console.warn(a+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return i}var K=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],q=K.slice(3);function W(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=q.indexOf(e),r=q.slice(n+1).concat(q.slice(0,n));return t?r.reverse():r}var G={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function V(e,t,n,r){var i=[0,0],o=-1!==["right","left"].indexOf(r),a=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=a.indexOf(P(a,function(e){return-1!==e.search(/,|\s/)}));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var u=/\s*,\s*|\s+/,l=-1!==s?[a.slice(0,s).concat([a[s].split(u)[0]]),[a[s].split(u)[1]].concat(a.slice(s+1))]:[a];return(l=l.map(function(e,r){var i=(1===r?!o:o)?"height":"width",a=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,a=!0,e):a?(e[e.length-1]+=t,a=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,r){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+i[1],a=i[2];if(!o)return e;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=r}return M(s)[t]/100*o}if("vh"===a||"vw"===a)return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(e,i,t,n)})})).forEach(function(e,t){e.forEach(function(n,r){z(n)&&(i[t]+=n*("-"===e[r-1]?-1:1))})}),i}var J={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],r=t.split("-")[1];if(r){var i=e.offsets,o=i.reference,a=i.popper,s=-1!==["bottom","top"].indexOf(n),u=s?"left":"top",l=s?"width":"height",c={start:x({},u,o[u]),end:x({},u,o[u]+o[l]-a[l])};e.offsets.popper=k({},a,c[r])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,r=e.placement,i=e.offsets,o=i.popper,a=i.reference,s=r.split("-")[0],u=void 0;return u=z(+n)?[+n,0]:V(n,o,a,s),"left"===s?(o.top+=u[0],o.left-=u[1]):"right"===s?(o.top+=u[0],o.left+=u[1]):"top"===s?(o.left+=u[0],o.top-=u[1]):"bottom"===s&&(o.left+=u[0],o.top+=u[1]),e.popper=o,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||h(e.instance.popper);e.instance.reference===n&&(n=h(n));var r=F("transform"),i=e.instance.popper.style,o=i.top,a=i.left,s=i[r];i.top="",i.left="",i[r]="";var u=D(e.instance.popper,e.instance.reference,t.padding,n,e.positionFixed);i.top=o,i.left=a,i[r]=s,t.boundaries=u;var l=t.priority,c=e.offsets.popper,d={primary:function(e){var n=c[e];return c[e]<u[e]&&!t.escapeWithReference&&(n=Math.max(c[e],u[e])),x({},e,n)},secondary:function(e){var n="right"===e?"left":"top",r=c[n];return c[e]>u[e]&&!t.escapeWithReference&&(r=Math.min(c[n],u[e]-("right"===e?c.width:c.height))),x({},n,r)}};return l.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";c=k({},c,d[t](e))}),e.offsets.popper=c,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,r=t.reference,i=e.placement.split("-")[0],o=Math.floor,a=-1!==["top","bottom"].indexOf(i),s=a?"right":"bottom",u=a?"left":"top",l=a?"width":"height";return n[s]<o(r[u])&&(e.offsets.popper[u]=o(r[u])-n[l]),n[u]>o(r[s])&&(e.offsets.popper[u]=o(r[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!Z(e.instance.modifiers,"arrow","keepTogether"))return e;var r=t.element;if("string"==typeof r){if(!(r=e.instance.popper.querySelector(r)))return e}else if(!e.instance.popper.contains(r))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var i=e.placement.split("-")[0],o=e.offsets,a=o.popper,s=o.reference,l=-1!==["left","right"].indexOf(i),c=l?"height":"width",d=l?"Top":"Left",f=d.toLowerCase(),p=l?"left":"top",h=l?"bottom":"right",m=O(r)[c];s[h]-m<a[f]&&(e.offsets.popper[f]-=a[f]-(s[h]-m)),s[f]+m>a[h]&&(e.offsets.popper[f]+=s[f]+m-a[h]),e.offsets.popper=M(e.offsets.popper);var g=s[f]+s[c]/2-m/2,y=u(e.instance.popper),v=parseFloat(y["margin"+d],10),b=parseFloat(y["border"+d+"Width"],10),_=g-e.offsets.popper[f]-v-b;return _=Math.max(Math.min(a[c]-m,_),0),e.arrowElement=r,e.offsets.arrow=(x(n={},f,Math.round(_)),x(n,p,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(N(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=D(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),r=e.placement.split("-")[0],i=$(r),o=e.placement.split("-")[1]||"",a=[];switch(t.behavior){case G.FLIP:a=[r,i];break;case G.CLOCKWISE:a=W(r);break;case G.COUNTERCLOCKWISE:a=W(r,!0);break;default:a=t.behavior}return a.forEach(function(s,u){if(r!==s||a.length===u+1)return e;r=e.placement.split("-")[0],i=$(r);var l=e.offsets.popper,c=e.offsets.reference,d=Math.floor,f="left"===r&&d(l.right)>d(c.left)||"right"===r&&d(l.left)<d(c.right)||"top"===r&&d(l.bottom)>d(c.top)||"bottom"===r&&d(l.top)<d(c.bottom),p=d(l.left)<d(n.left),h=d(l.right)>d(n.right),m=d(l.top)<d(n.top),g=d(l.bottom)>d(n.bottom),y="left"===r&&p||"right"===r&&h||"top"===r&&m||"bottom"===r&&g,v=-1!==["top","bottom"].indexOf(r),b=!!t.flipVariations&&(v&&"start"===o&&p||v&&"end"===o&&h||!v&&"start"===o&&m||!v&&"end"===o&&g),_=!!t.flipVariationsByContent&&(v&&"start"===o&&h||v&&"end"===o&&p||!v&&"start"===o&&g||!v&&"end"===o&&m),w=b||_;(f||y||w)&&(e.flipped=!0,(f||y)&&(r=a[u+1]),w&&(o=function(e){return"end"===e?"start":"start"===e?"end":e}(o)),e.placement=r+(o?"-"+o:""),e.offsets.popper=k({},e.offsets.popper,j(e.instance.popper,e.offsets.reference,e.placement)),e=I(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],r=e.offsets,i=r.popper,o=r.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return i[a?"left":"top"]=o[n]-(s?i[a?"width":"height"]:0),e.placement=$(t),e.offsets.popper=M(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!Z(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=P(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottom<n.top||t.left>n.right||t.top>n.bottom||t.right<n.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var n=t.x,r=t.y,i=e.offsets.popper,o=P(e.instance.modifiers,function(e){return"applyStyle"===e.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var a=void 0!==o?o:t.gpuAcceleration,s=h(e.instance.popper),u=E(s),l={position:i.position},c=function(e,t){var n=e.offsets,r=n.popper,i=n.reference,o=Math.round,a=Math.floor,s=function(e){return e},u=o(i.width),l=o(r.width),c=-1!==["left","right"].indexOf(e.placement),d=-1!==e.placement.indexOf("-"),f=t?c||d||u%2==l%2?o:a:s,p=t?o:s;return{left:f(u%2==1&&l%2==1&&!d&&t?r.left-1:r.left),top:p(r.top),bottom:p(r.bottom),right:f(r.right)}}(e,window.devicePixelRatio<2||!U),d="bottom"===n?"top":"bottom",f="right"===r?"left":"right",p=F("transform"),m=void 0,g=void 0;if(g="bottom"===d?"HTML"===s.nodeName?-s.clientHeight+c.bottom:-u.height+c.bottom:c.top,m="right"===f?"HTML"===s.nodeName?-s.clientWidth+c.right:-u.width+c.right:c.left,a&&p)l[p]="translate3d("+m+"px, "+g+"px, 0)",l[d]=0,l[f]=0,l.willChange="transform";else{var y="bottom"===d?-1:1,v="right"===f?-1:1;l[d]=g*y,l[f]=m*v,l.willChange=d+", "+f}var b={"x-placement":e.placement};return e.attributes=k({},b,e.attributes),e.styles=k({},l,e.styles),e.arrowStyles=k({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){var t,n;return H(e.instance.popper,e.styles),t=e.instance.popper,n=e.attributes,Object.keys(n).forEach(function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)}),e.arrowElement&&Object.keys(e.arrowStyles).length&&H(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,r,i){var o=C(i,t,e,n.positionFixed),a=T(n.placement,o,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",a),H(t,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},Q=function(){function e(t,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};w(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=a(this.update.bind(this)),this.options=k({},e.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(k({},e.Defaults.modifiers,i.modifiers)).forEach(function(t){r.options.modifiers[t]=k({},e.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return k({name:e},r.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&s(e.onLoad)&&e.onLoad(r.reference,r.popper,r.options,e,r.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return A(e,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=C(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=T(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=j(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=I(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,N(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[F("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=Y(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return B.call(this)}}]),e}();Q.Utils=("undefined"!=typeof window?window:e).PopperUtils,Q.placements=K,Q.Defaults=J,t.default=Q}.call(this,n(43))},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(6),u=n.n(s),l=n(86),c=n.n(l),d=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var p=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),d(t,[{key:"shouldComponentUpdate",value:function(e){return this.props.forceRender||!c()(this.props,e)}},{key:"render",value:function(){var e;if(this._isActived=this.props.forceRender||this._isActived||this.props.isActive,!this._isActived)return null;var t=this.props,n=t.prefixCls,r=t.isActive,o=t.children,a=t.destroyInactivePanel,s=t.forceRender,l=t.role,c=u()((f(e={},n+"-content",!0),f(e,n+"-content-active",r),f(e,n+"-content-inactive",!r),e)),d=s||r||!a?i.a.createElement("div",{className:n+"-content-box"},o):null;return i.a.createElement("div",{className:c,role:l},d)}}]),t}();p.propTypes={prefixCls:a.a.string,isActive:a.a.bool,children:a.a.any,destroyInactivePanel:a.a.bool,forceRender:a.a.bool,role:a.a.string};var h=p,m=n(8),g=n.n(m),y=n(187),v=n.n(y),b=n(21),_=n.n(b),w=n(22),A=n.n(w),x=n(23),k=n.n(x),M=n(24),E=n.n(M);function L(e){var t=[];return i.a.Children.forEach(e,function(e){t.push(e)}),t}function S(e,t){var n=null;return e&&e.forEach(function(e){n||e&&e.key===t&&(n=e)}),n}function D(e,t,n){var r=null;return e&&e.forEach(function(e){if(e&&e.key===t&&e.props[n]){if(r)throw new Error("two child with same key for <rc-animate> children");r=e}}),r}var T=n(19),C=n.n(T),O=n(67),$=n.n(O),j={transitionstart:{transition:"transitionstart",WebkitTransition:"webkitTransitionStart",MozTransition:"mozTransitionStart",OTransition:"oTransitionStart",msTransition:"MSTransitionStart"},animationstart:{animation:"animationstart",WebkitAnimation:"webkitAnimationStart",MozAnimation:"mozAnimationStart",OAnimation:"oAnimationStart",msAnimation:"MSAnimationStart"}},P={transitionend:{transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"mozTransitionEnd",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd"},animationend:{animation:"animationend",WebkitAnimation:"webkitAnimationEnd",MozAnimation:"mozAnimationEnd",OAnimation:"oAnimationEnd",msAnimation:"MSAnimationEnd"}},I=[],N=[];function F(e,t,n){e.addEventListener(t,n,!1)}function R(e,t,n){e.removeEventListener(t,n,!1)}"undefined"!=typeof window&&"undefined"!=typeof document&&function(){var e=document.createElement("div").style;function t(t,n){for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];for(var o in i)if(o in e){n.push(i[o]);break}}}"AnimationEvent"in window||(delete j.animationstart.animation,delete P.animationend.animation),"TransitionEvent"in window||(delete j.transitionstart.transition,delete P.transitionend.transition),t(j,I),t(P,N)}();var Y={startEvents:I,addStartEventListener:function(e,t){0!==I.length?I.forEach(function(n){F(e,n,t)}):window.setTimeout(t,0)},removeStartEventListener:function(e,t){0!==I.length&&I.forEach(function(n){R(e,n,t)})},endEvents:N,addEndEventListener:function(e,t){0!==N.length?N.forEach(function(n){F(e,n,t)}):window.setTimeout(t,0)},removeEndEventListener:function(e,t){0!==N.length&&N.forEach(function(n){R(e,n,t)})}},B=n(543),z=n.n(B),H=0!==Y.endEvents.length,U=["Webkit","Moz","O","ms"],Z=["-webkit-","-moz-","-o-","ms-",""];function K(e,t){for(var n=window.getComputedStyle(e,null),r="",i=0;i<Z.length&&!(r=n.getPropertyValue(Z[i]+t));i++);return r}function q(e){if(H){var t=parseFloat(K(e,"transition-delay"))||0,n=parseFloat(K(e,"transition-duration"))||0,r=parseFloat(K(e,"animation-delay"))||0,i=parseFloat(K(e,"animation-duration"))||0,o=Math.max(n+t,i+r);e.rcEndAnimTimeout=setTimeout(function(){e.rcEndAnimTimeout=null,e.rcEndListener&&e.rcEndListener()},1e3*o+200)}}function W(e){e.rcEndAnimTimeout&&(clearTimeout(e.rcEndAnimTimeout),e.rcEndAnimTimeout=null)}var G=function(e,t,n){var r="object"===(void 0===t?"undefined":$()(t)),i=r?t.name:t,o=r?t.active:t+"-active",a=n,s=void 0,u=void 0,l=z()(e);return n&&"[object Object]"===Object.prototype.toString.call(n)&&(a=n.end,s=n.start,u=n.active),e.rcEndListener&&e.rcEndListener(),e.rcEndListener=function(t){t&&t.target!==e||(e.rcAnimTimeout&&(clearTimeout(e.rcAnimTimeout),e.rcAnimTimeout=null),W(e),l.remove(i),l.remove(o),Y.removeEndEventListener(e,e.rcEndListener),e.rcEndListener=null,a&&a())},Y.addEndEventListener(e,e.rcEndListener),s&&s(),l.add(i),e.rcAnimTimeout=setTimeout(function(){e.rcAnimTimeout=null,l.add(o),u&&setTimeout(u,0),q(e)},30),{stop:function(){e.rcEndListener&&e.rcEndListener()}}};G.style=function(e,t,n){e.rcEndListener&&e.rcEndListener(),e.rcEndListener=function(t){t&&t.target!==e||(e.rcAnimTimeout&&(clearTimeout(e.rcAnimTimeout),e.rcAnimTimeout=null),W(e),Y.removeEndEventListener(e,e.rcEndListener),e.rcEndListener=null,n&&n())},Y.addEndEventListener(e,e.rcEndListener),e.rcAnimTimeout=setTimeout(function(){for(var n in t)t.hasOwnProperty(n)&&(e.style[n]=t[n]);e.rcAnimTimeout=null,q(e)},0)},G.setTransition=function(e,t,n){var r=t,i=n;void 0===n&&(i=r,r=""),r=r||"",U.forEach(function(t){e.style[t+"Transition"+r]=i})},G.isCssAnimationSupported=H;var V=G,J={isAppearSupported:function(e){return e.transitionName&&e.transitionAppear||e.animation.appear},isEnterSupported:function(e){return e.transitionName&&e.transitionEnter||e.animation.enter},isLeaveSupported:function(e){return e.transitionName&&e.transitionLeave||e.animation.leave},allowAppearCallback:function(e){return e.transitionAppear||e.animation.appear},allowEnterCallback:function(e){return e.transitionEnter||e.animation.enter},allowLeaveCallback:function(e){return e.transitionLeave||e.animation.leave}},Q={enter:"transitionEnter",appear:"transitionAppear",leave:"transitionLeave"},X=function(e){function t(){return _()(this,t),k()(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return E()(t,e),A()(t,[{key:"componentWillUnmount",value:function(){this.stop()}},{key:"componentWillEnter",value:function(e){J.isEnterSupported(this.props)?this.transition("enter",e):e()}},{key:"componentWillAppear",value:function(e){J.isAppearSupported(this.props)?this.transition("appear",e):e()}},{key:"componentWillLeave",value:function(e){J.isLeaveSupported(this.props)?this.transition("leave",e):e()}},{key:"transition",value:function(e,t){var n=this,r=C.a.findDOMNode(this),i=this.props,o=i.transitionName,a="object"==typeof o;this.stop();var s=function(){n.stopper=null,t()};if((H||!i.animation[e])&&o&&i[Q[e]]){var u=a?o[e]:o+"-"+e,l=u+"-active";a&&o[e+"Active"]&&(l=o[e+"Active"]),this.stopper=V(r,{name:u,active:l},s)}else this.stopper=i.animation[e](r,s)}},{key:"stop",value:function(){var e=this.stopper;e&&(this.stopper=null,e.stop())}},{key:"render",value:function(){return this.props.children}}]),t}(i.a.Component);X.propTypes={children:a.a.any};var ee=X,te="rc_animate_"+Date.now();function ne(e){var t=e.children;return i.a.isValidElement(t)&&!t.key?i.a.cloneElement(t,{key:te}):t}function re(){}var ie=function(e){function t(e){_()(this,t);var n=k()(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return oe.call(n),n.currentlyAnimatingKeys={},n.keysToEnter=[],n.keysToLeave=[],n.state={children:L(ne(e))},n.childrenRefs={},n}return E()(t,e),A()(t,[{key:"componentDidMount",value:function(){var e=this,t=this.props.showProp,n=this.state.children;t&&(n=n.filter(function(e){return!!e.props[t]})),n.forEach(function(t){t&&e.performAppear(t.key)})}},{key:"componentWillReceiveProps",value:function(e){var t=this;this.nextProps=e;var n=L(ne(e)),r=this.props;r.exclusive&&Object.keys(this.currentlyAnimatingKeys).forEach(function(e){t.stop(e)});var o,a,s,u,l=r.showProp,c=this.currentlyAnimatingKeys,d=r.exclusive?L(ne(r)):this.state.children,f=[];l?(d.forEach(function(e){var t=e&&S(n,e.key),r=void 0;(r=t&&t.props[l]||!e.props[l]?t:i.a.cloneElement(t||e,v()({},l,!0)))&&f.push(r)}),n.forEach(function(e){e&&S(d,e.key)||f.push(e)})):(o=n,a=[],s={},u=[],d.forEach(function(e){e&&S(o,e.key)?u.length&&(s[e.key]=u,u=[]):u.push(e)}),o.forEach(function(e){e&&Object.prototype.hasOwnProperty.call(s,e.key)&&(a=a.concat(s[e.key])),a.push(e)}),f=a=a.concat(u)),this.setState({children:f}),n.forEach(function(e){var n=e&&e.key;if(!e||!c[n]){var r=e&&S(d,n);if(l){var i=e.props[l];if(r)!D(d,n,l)&&i&&t.keysToEnter.push(n);else i&&t.keysToEnter.push(n)}else r||t.keysToEnter.push(n)}}),d.forEach(function(e){var r=e&&e.key;if(!e||!c[r]){var i=e&&S(n,r);if(l){var o=e.props[l];if(i)!D(n,r,l)&&o&&t.keysToLeave.push(r);else o&&t.keysToLeave.push(r)}else i||t.keysToLeave.push(r)}})}},{key:"componentDidUpdate",value:function(){var e=this.keysToEnter;this.keysToEnter=[],e.forEach(this.performEnter);var t=this.keysToLeave;this.keysToLeave=[],t.forEach(this.performLeave)}},{key:"isValidChildByKey",value:function(e,t){var n=this.props.showProp;return n?D(e,t,n):S(e,t)}},{key:"stop",value:function(e){delete this.currentlyAnimatingKeys[e];var t=this.childrenRefs[e];t&&t.stop()}},{key:"render",value:function(){var e=this,t=this.props;this.nextProps=t;var n=this.state.children,r=null;n&&(r=n.map(function(n){if(null==n)return n;if(!n.key)throw new Error("must set key for <rc-animate> children");return i.a.createElement(ee,{key:n.key,ref:function(t){e.childrenRefs[n.key]=t},animation:t.animation,transitionName:t.transitionName,transitionEnter:t.transitionEnter,transitionAppear:t.transitionAppear,transitionLeave:t.transitionLeave},n)}));var o=t.component;if(o){var a=t;return"string"==typeof o&&(a=g()({className:t.className,style:t.style},t.componentProps)),i.a.createElement(o,a,r)}return r[0]||null}}]),t}(i.a.Component);ie.isAnimate=!0,ie.propTypes={component:a.a.any,componentProps:a.a.object,animation:a.a.object,transitionName:a.a.oneOfType([a.a.string,a.a.object]),transitionEnter:a.a.bool,transitionAppear:a.a.bool,exclusive:a.a.bool,transitionLeave:a.a.bool,onEnd:a.a.func,onEnter:a.a.func,onLeave:a.a.func,onAppear:a.a.func,showProp:a.a.string,children:a.a.node},ie.defaultProps={animation:{},component:"span",componentProps:{},transitionEnter:!0,transitionLeave:!0,transitionAppear:!1,onEnd:re,onEnter:re,onLeave:re,onAppear:re};var oe=function(){var e=this;this.performEnter=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillEnter(e.handleDoneAdding.bind(e,t,"enter")))},this.performAppear=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillAppear(e.handleDoneAdding.bind(e,t,"appear")))},this.handleDoneAdding=function(t,n){var r=e.props;if(delete e.currentlyAnimatingKeys[t],!r.exclusive||r===e.nextProps){var i=L(ne(r));e.isValidChildByKey(i,t)?"appear"===n?J.allowAppearCallback(r)&&(r.onAppear(t),r.onEnd(t,!0)):J.allowEnterCallback(r)&&(r.onEnter(t),r.onEnd(t,!0)):e.performLeave(t)}},this.performLeave=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillLeave(e.handleDoneLeaving.bind(e,t)))},this.handleDoneLeaving=function(t){var n=e.props;if(delete e.currentlyAnimatingKeys[t],!n.exclusive||n===e.nextProps){var r,i,o,a,s=L(ne(n));if(e.isValidChildByKey(s,t))e.performEnter(t);else{var u=function(){J.allowLeaveCallback(n)&&(n.onLeave(t),n.onEnd(t,!1))};r=e.state.children,i=s,o=n.showProp,(a=r.length===i.length)&&r.forEach(function(e,t){var n=i[t];e&&n&&(e&&!n||!e&&n?a=!1:e.key!==n.key?a=!1:o&&e.props[o]!==n.props[o]&&(a=!1))}),a?u():e.setState({children:s},u)}}}},ae=ie,se=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ue(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function le(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var ce=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r=le(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.handleItemClick=function(){var e=r.props,t=e.onItemClick,n=e.panelKey;"function"==typeof t&&t(n)},r.handleKeyPress=function(e){"Enter"!==e.key&&13!==e.keyCode&&13!==e.which||r.handleItemClick()},le(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),se(t,[{key:"shouldComponentUpdate",value:function(e){return!c()(this.props,e)}},{key:"render",value:function(){var e,t=this.props,n=t.className,r=t.id,o=t.style,a=t.prefixCls,s=t.header,l=t.headerClass,c=t.children,d=t.isActive,f=t.showArrow,p=t.destroyInactivePanel,m=t.disabled,g=t.accordion,y=t.forceRender,v=t.expandIcon,b=t.extra,_=u()(a+"-header",ue({},l,l)),w=u()((ue(e={},a+"-item",!0),ue(e,a+"-item-active",d),ue(e,a+"-item-disabled",m),e),n),A=i.a.createElement("i",{className:"arrow"});return f&&"function"==typeof v&&(A=v(this.props)),i.a.createElement("div",{className:w,style:o,id:r},i.a.createElement("div",{className:_,onClick:this.handleItemClick,role:g?"tab":"button",tabIndex:m?-1:0,"aria-expanded":""+d,onKeyPress:this.handleKeyPress},f&&A,s,b&&i.a.createElement("div",{className:a+"-extra"},b)),i.a.createElement(ae,{showProp:"isActive",exclusive:!0,component:"",animation:this.props.openAnimation},i.a.createElement(h,{prefixCls:a,isActive:d,destroyInactivePanel:p,forceRender:y,role:g?"tabpanel":null},c)))}}]),t}();ce.propTypes={className:a.a.oneOfType([a.a.string,a.a.object]),id:a.a.string,children:a.a.any,openAnimation:a.a.object,prefixCls:a.a.string,header:a.a.oneOfType([a.a.string,a.a.number,a.a.node]),headerClass:a.a.string,showArrow:a.a.bool,isActive:a.a.bool,onItemClick:a.a.func,style:a.a.object,destroyInactivePanel:a.a.bool,disabled:a.a.bool,accordion:a.a.bool,forceRender:a.a.bool,expandIcon:a.a.func,extra:a.a.node,panelKey:a.a.any},ce.defaultProps={showArrow:!0,isActive:!1,destroyInactivePanel:!1,onItemClick:function(){},headerClass:"",forceRender:!1};var de=ce;function fe(e,t,n,r){var i=void 0;return V(e,n,{start:function(){t?(i=e.offsetHeight,e.style.height=0):e.style.height=e.offsetHeight+"px"},active:function(){e.style.height=(t?i:0)+"px"},end:function(){e.style.height="",r()}})}var pe=function(e){return{enter:function(t,n){return fe(t,!0,e+"-anim",n)},leave:function(t,n){return fe(t,!1,e+"-anim",n)}}},he=n(56),me=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ge(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ye(e){var t=e;return Array.isArray(t)||(t=t?[t]:[]),t}var ve=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));be.call(n);var r=e.activeKey,i=e.defaultActiveKey;return"activeKey"in e&&(i=r),n.state={openAnimation:e.openAnimation||pe(e.prefixCls),activeKey:ye(i)},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),me(t,[{key:"componentWillReceiveProps",value:function(e){"activeKey"in e&&this.setState({activeKey:ye(e.activeKey)}),"openAnimation"in e&&this.setState({openAnimation:e.openAnimation})}},{key:"shouldComponentUpdate",value:function(e,t){return!c()(this.props,e)||!c()(this.state,t)}},{key:"render",value:function(){var e,t=this.props,n=t.prefixCls,r=t.className,o=t.style,a=t.accordion,s=u()((ge(e={},n,!0),ge(e,r,!!r),e));return i.a.createElement("div",{className:s,style:o,role:a?"tablist":null},this.getItems())}}]),t}(),be=function(){var e=this;this.onClickItem=function(t){var n=e.state.activeKey;if(e.props.accordion)n=n[0]===t?[]:[t];else{var r=(n=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(n))).indexOf(t);r>-1?n.splice(r,1):n.push(t)}e.setActiveKey(n)},this.getNewChild=function(t,n){if(!t)return null;var r=e.state.activeKey,o=e.props,a=o.prefixCls,s=o.accordion,u=o.destroyInactivePanel,l=o.expandIcon,c=t.key||String(n),d=t.props,f=d.header,p=d.headerClass,h=d.disabled,m={key:c,panelKey:c,header:f,headerClass:p,isActive:s?r[0]===c:r.indexOf(c)>-1,prefixCls:a,destroyInactivePanel:u,openAnimation:e.state.openAnimation,accordion:s,children:t.props.children,onItemClick:h?null:e.onClickItem,expandIcon:l};return i.a.cloneElement(t,m)},this.getItems=function(){var t=e.props.children,n=Object(he.isFragment)(t)?t.props.children:t,o=r.Children.map(n,e.getNewChild);return Object(he.isFragment)(t)?i.a.createElement(i.a.Fragment,null,o):o},this.setActiveKey=function(t){"activeKey"in e.props||e.setState({activeKey:t}),e.props.onChange(e.props.accordion?t[0]:t)}};ve.propTypes={children:a.a.any,prefixCls:a.a.string,activeKey:a.a.oneOfType([a.a.string,a.a.arrayOf(a.a.string)]),defaultActiveKey:a.a.oneOfType([a.a.string,a.a.arrayOf(a.a.string)]),openAnimation:a.a.object,onChange:a.a.func,accordion:a.a.bool,className:a.a.string,style:a.a.object,destroyInactivePanel:a.a.bool,expandIcon:a.a.func},ve.defaultProps={prefixCls:"rc-collapse",onChange:function(){},accordion:!1,destroyInactivePanel:!1},ve.Panel=de;var _e=ve;n.d(t,"Panel",function(){return we});t.default=_e;var we=_e.Panel},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r);function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var a=n(146),s=n.n(a);function u(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n(12);n(541);var l=n(273),c=n(87),d=function(e,t){return function(n){return n[e]=t,n}},f=function(e){return d("displayName",e)},p=function(e){return function(t){var n=Object(r.createFactory)(t);return function(t){return n(e(t))}}},h=function(e,t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=t(e[r],r));return n},m=(Object.keys,r.Component,function(e){return function(t){var n=Object(r.createFactory)(t);return function(t){function r(){return t.apply(this,arguments)||this}u(r,t);var i=r.prototype;return i.shouldComponentUpdate=function(t){return e(this.props,t)},i.render=function(){return n(this.props)},r}(r.Component)}}),g=function(e){return m(function(e,t){return!s()(e,t)})(e)};var y,v=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}},function(e){return e})},b={fromESObservable:null,toESObservable:null},_={fromESObservable:function(e){return"function"==typeof b.fromESObservable?b.fromESObservable(e):e},toESObservable:function(e){return"function"==typeof b.toESObservable?b.toESObservable(e):e}},w=(y=_,n(533)),A=n(542),x=n.n(A);function k(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&(n[r[i]]=e[r[i]])}return n}var M,E,L,S,D,T,C=v(f("DebounceInput"),g,(T={wait:250},function(e){var t=Object(r.createFactory)(e),n=function(e){return t(e)};return n.defaultProps=T,n}),(S={debounceFieldValue:"",debouncing:!1},D={setDebounceFieldValue:function(){return function(e){return{debounceFieldValue:e}}},setDebouncing:function(){return function(e){return{debouncing:e}}}},function(e){var t=Object(r.createFactory)(e);return function(e){function n(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).state="function"==typeof S?S(t.props):S,t.stateUpdaters=h(D,function(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];n&&"function"==typeof n.persist&&n.persist(),t.setState(function(t,r){return e(t,r).apply(void 0,[n].concat(i))})}}),t}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.state,this.stateUpdaters))},n}(r.Component)}),(L={componentDidMount:function(){this.props.setDebounceFieldValue(this.props.input.value)},componentWillReceiveProps:function(e){e.debouncing||e.input.value!==this.props.input.value&&this.props.setDebounceFieldValue(e.input.value)}},function(e){var t=Object(r.createFactory)(e),n=function(e){function n(){return e.apply(this,arguments)||this}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.state))},n}(r.Component);return Object.keys(L).forEach(function(e){return n.prototype[e]=L[e]}),n}),(E=function(e){var t=e.wait,n=e.setDebouncing,r=x()(function(e,t){n(!1),e(t)},t);return{onChange:function(e){return function(t){t.persist(),n(!0),r(e.input.onChange,t),e.setDebounceFieldValue(t.target.value)}},onBlur:function(e){return function(t){r.cancel(),n(!1),e.input.onChange(t),e.input.onBlur(t)}},onKeyDown:function(e){return function(t){13===t.keyCode&&(r.cancel(),n(!1),e.input.onChange(t))}}}},function(e){var t=Object(r.createFactory)(e);return function(e){function n(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).handlers=h("function"==typeof E?E(t.props):E,function(e){return function(){return e(t.props).apply(void 0,arguments)}}),t}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.handlers))},n}(r.Component)}),(M=function(e){var t=e.input,n=e.debounceFieldValue,r=e.onChange,i=e.onBlur,o=e.onKeyDown;return{input:Object.assign({},t,{value:n,onChange:r,onBlur:i,onKeyDown:o})}},p(function(e){return o({},e,"function"==typeof M?M(e):M)})))(function(e){var t=e.ownerComponent,n=(e.wait,e.debounceFieldValue,e.setDebounceFieldValue,e.debouncing,e.setDebouncing,e.onChange,e.onBlur,e.onKeyDown,k(e,["ownerComponent","wait","debounceFieldValue","setDebounceFieldValue","debouncing","setDebouncing","onChange","onBlur","onKeyDown"]));return i.a.createElement(t,Object.assign({},n))}),O=v(f("DebounceField"),g)(function(e){var t=e.component,n=k(e,["component"]);return i.a.createElement(w.a,Object.assign({},n,{component:C,ownerComponent:t}))});t.default=O},function(e,t,n){"use strict";n.r(t);var r=n(484),i=n.n(r),o=n(240),a=n(490),s=n.n(a),u=n(241),l=n.n(u),c=n(491),d=n.n(c),f=n(239),p=n.n(f),h={version:"1.7.25",country_calling_codes:{1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],383:["XK"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],800:["001"],808:["001"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],870:["001"],878:["001"],880:["BD"],881:["001"],882:["001"],883:["001"],886:["TW"],888:["001"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],979:["001"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},countries:{AC:["247","00","(?:[01589]\\d|[46])\\d{4}",[5,6]],AD:["376","00","(?:1|6\\d)\\d{7}|[136-9]\\d{5}",[6,8,9],[["(\\d{3})(\\d{3})","$1 $2",["[136-9]"]],["(\\d{4})(\\d{4})","$1 $2",["1"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]]],AE:["971","00","(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}",[5,6,7,8,9,10,11,12],[["(\\d{3})(\\d{2,9})","$1 $2",["60|8"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[236]|[479][2-8]"],"0$1"],["(\\d{3})(\\d)(\\d{5})","$1 $2 $3",["[479]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"]],"0"],AF:["93","00","[2-7]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],"0"],AG:["1","011","(?:268|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([457]\\d{6})$","268$1",0,"268"],AI:["1","011","(?:264|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2457]\\d{6})$","264$1",0,"264"],AL:["355","00","(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}",[6,7,8,9],[["(\\d{3})(\\d{3,4})","$1 $2",["80|9"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["4[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2358][2-5]|4"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["[23578]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["6"],"0$1"]],"0"],AM:["374","00","(?:[1-489]\\d|55|60|77)\\d{6}",[8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0 $1"],["(\\d{3})(\\d{5})","$1 $2",["2|3[12]"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["1|47"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[3-9]"],"0$1"]],"0"],AO:["244","00","[29]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[29]"]]]],AR:["54","00","11\\d{8}|(?:[2368]|9\\d)\\d{9}",[10,11],[["(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])","2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5(?:[24-6]|3[2-5]))|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["[23]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],["(\\d)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))","9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5(?:[24-6]|3[2-5]))|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 15-$3-$4",["91"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9"],"0$1",0,"$1 $2 $3-$4"]],"0",0,"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1"],AS:["1","011","(?:[58]\\d\\d|684|900)\\d{7}",[10],0,"1",0,"1|([267]\\d{6})$","684$1",0,"684"],AT:["43","00","1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",[4,5,6,7,8,9,10,11,12,13],[["(\\d)(\\d{3,12})","$1 $2",["1(?:11|[2-9])"],"0$1"],["(\\d{3})(\\d{2})","$1 $2",["517"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["5[079]"],"0$1"],["(\\d{3})(\\d{3,10})","$1 $2",["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],"0$1"],["(\\d{4})(\\d{3,9})","$1 $2",["[2-467]|5[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["5"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,7})","$1 $2 $3",["5"],"0$1"]],"0"],AU:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{7,8}|8[0-24-9]\\d{7})|(?:[2-478]\\d\\d|550)\\d{6}|1\\d{4,7}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,4})","$1 $2",["16"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["14|[45]"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:30|[89])"]]],"0",0,"0|(183[12])",0,0,0,[["(?:[237]\\d{5}|8(?:51(?:0(?:0[03-9]|[1247]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-6])|1(?:1[69]|[23]\\d|4[0-4]))|(?:[6-8]\\d{3}|9(?:[02-9]\\d\\d|1(?:[0-57-9]\\d|6[0135-9])))\\d))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,["16\\d{3,7}",[5,6,7,8,9]],["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],AW:["297","00","(?:[25-79]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[25-9]"]]]],AX:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|(?:[147]\\d|3[0-46-9]|50)\\d{4,8}",[5,6,7,8,9,10],0,"0",0,0,0,0,"18",0,"00"],AZ:["994","00","(?:365\\d{3}|900200)\\d{3}|(?:[12457]\\d|60|88)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[12]|365","[12]|365","[12]|365(?:[0-46-9]|5[0-35-9])"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[3-8]"],"0$1"]],"0"],BA:["387","00","6\\d{8}|(?:[35689]\\d|49|70)\\d{6}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-356]|[7-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6"],"0$1"]],"0"],BB:["1","011","(?:246|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","246$1",0,"246"],BD:["880","00","[13469]\\d{9}|8[0-79]\\d{7,8}|[2-7]\\d{8}|[2-9]\\d{7}|[3-689]\\d{6}|[57-9]\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{4,6})","$1-$2",["31[5-7]|[459]1"],"0$1"],["(\\d{3})(\\d{3,7})","$1-$2",["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:28|4[14]|5)|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],"0$1"],["(\\d{4})(\\d{3,6})","$1-$2",["[13-9]"],"0$1"],["(\\d)(\\d{7,8})","$1-$2",["2"],"0$1"]],"0"],BE:["32","00","4\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[239]|4[23]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[15-8]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4"],"0$1"]],"0"],BF:["226","00","[025-7]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[025-7]"]]]],BG:["359","00","[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",[6,7,8,9],[["(\\d)(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["43[1-6]|70[1-9]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:70|8)0"],"0$1"],["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[1-7]|7"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[48]|9[08]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"]],"0"],BH:["973","00","[136-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[13679]|8[047]"]]]],BI:["257","00","(?:[267]\\d|31)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2367]"]]]],BJ:["229","00","[2689]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2689]"]]]],BL:["590","00","(?:590|69\\d)\\d{6}",[9],0,"0",0,0,0,0,0,[["590(?:2[7-9]|5[12]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],BM:["1","011","(?:441|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-8]\\d{6})$","441$1",0,"441"],BN:["673","00","[2-578]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-578]"]]]],BO:["591","00(?:1\\d)?","(?:[2-467]\\d{3}|80017)\\d{4}",[8,9],[["(\\d)(\\d{7})","$1 $2",["[23]|4[46]"]],["(\\d{8})","$1",["[67]"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["8"]]],"0",0,"0(1\\d)?"],BQ:["599","00","(?:[34]1|7\\d)\\d{5}",[7],0,0,0,0,0,0,"[347]"],BR:["55","00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)","(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-24679]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}",[8,9,10,11],[["(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37)","4(?:02|37)0|[34]00"]],["(\\d{3})(\\d{2,3})(\\d{4})","$1 $2 $3",["(?:[358]|90)0"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],"($1)"],["(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[16][1-9]|[2-57-9]"],"($1)"]],"0",0,"0(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?","$2"],BS:["1","011","(?:242|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([3-8]\\d{6})$","242$1",0,"242"],BT:["975","00","[17]\\d{7}|[2-8]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[2-68]|7[246]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[67]|7"]]]],BW:["267","00","90\\d{5}|(?:[2-6]|7\\d)\\d{6}",[7,8],[["(\\d{2})(\\d{5})","$1 $2",["90"]],["(\\d{3})(\\d{4})","$1 $2",["[2-6]"]],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["7"]]]],BY:["375","810","(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3})","$1 $2",["800"],"8 $1"],["(\\d{3})(\\d{2})(\\d{2,4})","$1 $2 $3",["800"],"8 $1"],["(\\d{4})(\\d{2})(\\d{3})","$1 $2-$3",["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])","1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],"8 0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["1(?:[56]|7[467])|2[1-3]"],"8 0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-4]"],"8 0$1"],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["[89]"],"8 $1"]],"8",0,"0|80?",0,0,0,0,"8~10"],BZ:["501","00","(?:0800\\d|[2-8])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1-$2",["[2-8]"]],["(\\d)(\\d{3})(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]]]],CA:["1","011","(?:[2-8]\\d|90)\\d{8}",[10],0,"1",0,0,0,0,0,[["(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["(?:5(?:00|2[12]|33|44|66|77|88)|622)[2-9]\\d{6}"],0,0,0,["600[2-9]\\d{6}"]]],CC:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d|8[0-24-9])\\d{7}|(?:[148]\\d\\d|550)\\d{6}|1\\d{5,7}",[6,7,8,9,10],0,"0",0,"0|([59]\\d{7})$","8$1",0,0,[["8(?:51(?:0(?:02|31|60)|118)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],CD:["243","00","[189]\\d{8}|[1-68]\\d{6}",[7,9],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[1-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"],"0$1"]],"0"],CF:["236","00","(?:[27]\\d{3}|8776)\\d{4}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[278]"]]]],CG:["242","00","222\\d{6}|(?:0\\d|80)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["801"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]]]],CH:["41","00","8\\d{11}|[2-9]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]|81"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["8"],"0$1"]],"0"],CI:["225","00","[02-8]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[02-8]"]]]],CK:["682","00","[2-8]\\d{4}",[5],[["(\\d{2})(\\d{3})","$1 $2",["[2-8]"]]]],CL:["56","(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0","12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}",[9,10,11],[["(\\d{5})(\\d{4})","$1 $2",["21"],"($1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["44"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[23]"],"($1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["9[2-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"],"($1)"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{3})(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"]]]],CM:["237","00","(?:[26]\\d\\d|88)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["88"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]"]]]],CN:["86","00|1(?:[12]\\d|79|9[0235-7])\\d\\d00","1[1279]\\d{8,9}|2\\d{9}(?:\\d{2})?|[12]\\d{6,7}|86\\d{6}|(?:1[03-68]\\d|6)\\d{7,9}|(?:[3-579]\\d|8[0-57-9])\\d{6,9}",[7,8,9,10,11,12],[["(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2[0-57-9])[19]","(?:10|2[0-57-9])(?:10|9[56])","(?:10|2[0-57-9])(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{5,6})","$1 $2",["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]","(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]","85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])","85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["(?:4|80)0"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|2(?:[02-57-9]|1[1-9])","10|2(?:[02-57-9]|1[1-9])","10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"],"0$1",1],["(\\d{3})(\\d{7,8})","$1 $2",["9"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[3-578]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-9]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["[12]"],"0$1",1]],"0",0,"0|(1(?:[12]\\d|79|9[0235-7])\\d\\d)",0,0,0,0,"00"],CO:["57","00(?:4(?:[14]4|56)|[579])","(?:1\\d|3)\\d{9}|[124-8]\\d{7}",[8,10,11],[["(\\d)(\\d{7})","$1 $2",["1[2-79]|[25-8]|(?:18|4)[2-9]"],"($1)"],["(\\d{3})(\\d{7})","$1 $2",["3"]],["(\\d)(\\d{3})(\\d{7})","$1-$2-$3",["1(?:80|9)","1(?:800|9)"],"0$1",0,"$1 $2 $3"]],"0",0,"0([3579]|4(?:[14]4|56))?"],CR:["506","00","(?:8\\d|90)\\d{8}|[24-8]\\d{7}",[8,10],[["(\\d{4})(\\d{4})","$1 $2",["[24-7]|8[3-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]"]]],0,0,"(19(?:0[0-2468]|1[09]|20|66|77|99))"],CU:["53","119","[27]\\d{6,7}|[34]\\d{5,7}|5\\d{7}",[6,7,8],[["(\\d{2})(\\d{4,6})","$1 $2",["2[1-4]|[34]"],"(0$1)"],["(\\d)(\\d{6,7})","$1 $2",["7"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["5"],"0$1"]],"0"],CV:["238","0","[2-59]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2-59]"]]]],CW:["599","00","(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[3467]"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["9[4-8]"]]],0,0,0,0,0,"[69]"],CX:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d|8[0-24-9])\\d{7}|(?:[148]\\d\\d|550)\\d{6}|1\\d{5,7}",[6,7,8,9,10],0,"0",0,"0|([59]\\d{7})$","8$1",0,0,[["8(?:51(?:0(?:01|30|59)|117)|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],CY:["357","00","(?:[279]\\d|[58]0)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[257-9]"]]]],CZ:["420","00","(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]|9[015-7]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]]],DE:["49","00","[2579]\\d{5,14}|49(?:[05]\\d{10}|[46][1-8]\\d{4,9})|49(?:[0-25]\\d|3[1-689]|7[1-7])\\d{4,8}|49(?:[0-2579]\\d|[34][1-9]|6[0-8])\\d{3}|49\\d{3,4}|(?:1|[368]\\d|4[0-8])\\d{3,13}",[4,5,6,7,8,9,10,11,12,13,14,15],[["(\\d{2})(\\d{3,13})","$1 $2",["3[02]|40|[68]9"],"0$1"],["(\\d{3})(\\d{3,12})","$1 $2",["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1","2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"],"0$1"],["(\\d{4})(\\d{2,11})","$1 $2",["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]","[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["138"],"0$1"],["(\\d{5})(\\d{2,10})","$1 $2",["3"],"0$1"],["(\\d{3})(\\d{5,11})","$1 $2",["181"],"0$1"],["(\\d{3})(\\d)(\\d{4,10})","$1 $2 $3",["1(?:3|80)|9"],"0$1"],["(\\d{3})(\\d{7,8})","$1 $2",["1[67]"],"0$1"],["(\\d{3})(\\d{7,12})","$1 $2",["8"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["185","1850","18500"],"0$1"],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["18[68]"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["15[0568]"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["15[1279]"],"0$1"],["(\\d{3})(\\d{8})","$1 $2",["18"],"0$1"],["(\\d{3})(\\d{2})(\\d{7,8})","$1 $2 $3",["1(?:6[023]|7)"],"0$1"],["(\\d{4})(\\d{2})(\\d{7})","$1 $2 $3",["15[279]"],"0$1"],["(\\d{3})(\\d{2})(\\d{8})","$1 $2 $3",["15"],"0$1"]],"0"],DJ:["253","00","(?:2\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[27]"]]]],DK:["45","00","[2-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-9]"]]]],DM:["1","011","(?:[58]\\d\\d|767|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","767$1",0,"767"],DO:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,0,0,0,"8[024]9"],DZ:["213","00","(?:[1-4]|[5-79]\\d|80)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-8]"],"0$1"]],"0"],EC:["593","00","1800\\d{6,7}|(?:[2-7]|9\\d)\\d{7}",[8,9,10,11],[["(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[2-7]"],"(0$1)",0,"$1-$2-$3"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]]],"0"],EE:["372","00","8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d\\d|900)\\d{4}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]"]],["(\\d{4})(\\d{3,4})","$1 $2",["[45]|8(?:00|[1-4])","[45]|8(?:00[1-9]|[1-4])"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["80"]]]],EG:["20","00","[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",[8,9,10],[["(\\d)(\\d{7,8})","$1 $2",["[23]"],"0$1"],["(\\d{2})(\\d{6,7})","$1 $2",["1[35]|[4-6]|8[2468]|9[235-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[189]"],"0$1"]],"0"],EH:["212","00","[5-8]\\d{8}",[9],0,"0",0,0,0,0,"528[89]"],ER:["291","00","[178]\\d{6}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[178]"],"0$1"]],"0"],ES:["34","00","(?:51|[6-9]\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-9]"]]]],ET:["251","00","(?:11|[2-59]\\d)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-59]"],"0$1"]],"0"],FI:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}|[1-35689]\\d{4}",[5,6,7,8,9,10],[["(\\d)(\\d{4,9})","$1 $2",["[2568][1-8]|3(?:0[1-9]|[1-9])|9"],"0$1"],["(\\d{3})(\\d{3,7})","$1 $2",["(?:[12]0|7)0|[368]"],"0$1"],["(\\d{2})(\\d{4,8})","$1 $2",["[12457]"],"0$1"]],"0",0,0,0,0,"1[03-79]|[2-9]",0,"00"],FJ:["679","0(?:0|52)","45\\d{5}|(?:0800\\d|[235-9])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1 $2",["[235-9]|45"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]]],0,0,0,0,0,0,0,"00"],FK:["500","00","[2-7]\\d{4}",[5]],FM:["691","00","[39]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[39]"]]]],FO:["298","00","(?:[2-8]\\d|90)\\d{4}",[6],[["(\\d{6})","$1",["[2-9]"]]],0,0,"(10(?:01|[12]0|88))"],FR:["33","00","[1-9]\\d{8}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"]],"0"],GA:["241","00","(?:0\\d|[2-7])\\d{6}",[7,8],[["(\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]]]],GB:["44","00","[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",[7,9,10],[["(\\d{3})(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["845","8454","84546","845464"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["800"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:(?:38|69)7|5(?:24|39)|768|946)","1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["1(?:[2-69][02-9]|[78])"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[25]|7(?:0|6[024-9])","[25]|7(?:0|6(?:[04-9]|2[356]))"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[1389]"],"0$1"]],"0",0,0,0,0,0,[["(?:1(?:(?:1(?:3[0-58]|4[0-5]|5[0-26-9]|6[0-4]|[78][0-49])|3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d\\d|2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d\\d|1(?:[0-7]\\d\\d|80[04589])))|2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d|7(?:(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))\\d|6888[2-46-8]))\\d\\d",[9,10]],["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",[10]],["56\\d{8}",[10]]],0," x"],GD:["1","011","(?:473|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","473$1",0,"473"],GE:["995","00","(?:[3-57]\\d\\d|800)\\d{6}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["32"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[57]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[348]"],"0$1"]],"0"],GF:["594","00","[56]94\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0"],GG:["44","00","(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",[7,9,10],0,"0",0,"0|([25-9]\\d{5})$","1481$1",0,0,[["1481[25-9]\\d{5}",[10]],["7(?:(?:781|839)\\d|911[17])\\d{5}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",[10]],["56\\d{8}",[10]]]],GH:["233","00","(?:[235]\\d{3}|800)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"]],"0"],GI:["350","00","(?:[25]\\d\\d|629)\\d{5}",[8],[["(\\d{3})(\\d{5})","$1 $2",["2"]]]],GL:["299","00","(?:19|[2-689]\\d)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["19|[2-689]"]]]],GM:["220","00","[2-9]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],GN:["224","00","(?:30|6\\d\\d|722)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[67]"]]]],GP:["590","00","(?:590|69\\d)\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0",0,0,0,0,0,[["590(?:0[1-68]|1[0-2]|2[0-68]|3[1289]|4[0-24-9]|5[3-579]|6[0189]|7[08]|8[0-689]|9\\d)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],GQ:["240","00","222\\d{6}|(?:3\\d|55|[89]0)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"]],["(\\d{3})(\\d{6})","$1 $2",["[89]"]]]],GR:["30","00","(?:[268]\\d|[79]0)\\d{8}",[10],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["21|7"]],["(\\d{4})(\\d{6})","$1 $2",["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2689]"]]]],GT:["502","00","(?:1\\d{3}|[2-7])\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1 $2",["[2-7]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],GU:["1","011","(?:[58]\\d\\d|671|900)\\d{7}",[10],0,"1",0,"1|([3-9]\\d{6})$","671$1",0,"671"],GW:["245","00","[49]\\d{8}|4\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["40"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"]]]],GY:["592","001","(?:862\\d|9008)\\d{3}|(?:[2-46]\\d|77)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-46-9]"]]]],HK:["852","00(?:30|5[09]|[126-9]?)","8[0-46-9]\\d{6,7}|9\\d{4}(?:\\d(?:\\d(?:\\d{4})?)?)?|(?:[235-79]\\d|46)\\d{6}",[5,6,7,8,9,11],[["(\\d{3})(\\d{2,5})","$1 $2",["900","9003"]],["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{3})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]],0,0,0,0,0,0,0,"00"],HN:["504","00","[237-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1-$2",["[237-9]"]]]],HR:["385","00","(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}",[6,7,8,9],[["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["6[01]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{4})(\\d{3})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-5]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],"0"],HT:["509","00","[2-489]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[2-489]"]]]],HU:["36","00","[2357]\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-57-9]"],"06 $1"]],"06"],ID:["62","00[189]","(?:(?:007803|8\\d{4})\\d|[1-36])\\d{6}|[1-9]\\d{8,10}|[2-9]\\d{7}",[7,8,9,10,11,12,13],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["15"]],["(\\d{2})(\\d{5,9})","$1 $2",["2[124]|[36]1"],"(0$1)"],["(\\d{3})(\\d{5,7})","$1 $2",["800"],"0$1"],["(\\d{3})(\\d{5,8})","$1 $2",["[2-79]"],"(0$1)"],["(\\d{3})(\\d{3,4})(\\d{3})","$1-$2-$3",["8[1-35-9]"],"0$1"],["(\\d{3})(\\d{6,8})","$1 $2",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],["(\\d{3})(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1-$2-$3",["8"],"0$1"]],"0"],IE:["353","00","(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["2[24-9]|47|58|6[237-9]|9[35-9]"],"(0$1)"],["(\\d{3})(\\d{5})","$1 $2",["[45]0"],"(0$1)"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["1"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2569]|4[1-69]|7[14]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["81"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[78]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]],["(\\d{2})(\\d)(\\d{3})(\\d{4})","$1 $2 $3 $4",["8"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["4"],"(0$1)"]],"0"],IL:["972","0(?:0|1[2-9])","1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}",[7,8,9,10,11,12],[["(\\d{4})(\\d{3})","$1-$2",["125"]],["(\\d{4})(\\d{2})(\\d{2})","$1-$2-$3",["121"]],["(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-489]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1-$2-$3",["12"]],["(\\d{4})(\\d{6})","$1-$2",["159"]],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3-$4",["1[7-9]"]],["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})","$1-$2 $3-$4",["15"]]],"0"],IM:["44","00","1624\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"0|([5-8]\\d{5})$","1624$1",0,"74576|(?:16|7[56])24"],IN:["91","00","(?:00800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}",[8,9,10,11,12,13],[["(\\d{8})","$1",["5(?:0|2[23]|3[03]|[67]1|88)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"],0,1],["(\\d{4})(\\d{4,5})","$1 $2",["180","1800"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["140"],0,1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79[1-7]|80[2-46]","11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])","11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|(?:55|61)2|7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:1(?:29|60|8[06])|261|552|788[01])[2-7]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])"],"0$1",1],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|[4-8])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807","1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]","1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|3179)|807(?:1|9[1-3])|(?:1552|7(?:28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],"0$1",1],["(\\d{5})(\\d{5})","$1 $2",["[6-9]"],"0$1",1],["(\\d{4})(\\d{2,4})(\\d{4})","$1 $2 $3",["1(?:6|8[06])","1(?:6|8[06]0)"],0,1],["(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18"],0,1]],"0"],IO:["246","00","3\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["3"]]]],IQ:["964","00","(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],IR:["98","00","[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}",[4,5,6,7,10],[["(\\d{4,5})","$1",["96"],"0$1"],["(\\d{2})(\\d{4,5})","$1 $2",["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[1-8]"],"0$1"]],"0"],IS:["354","00|1(?:0(?:01|[12]0)|100)","(?:38\\d|[4-9])\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["[4-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["3"]]],0,0,0,0,0,0,0,"00"],IT:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],[["(\\d{2})(\\d{4,6})","$1 $2",["0[26]"]],["(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[245])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[45][0-4]))"]],["(\\d{4})(\\d{2,6})","$1 $2",["0(?:[13-579][2-46-8]|8[236-8])"]],["(\\d{4})(\\d{4})","$1 $2",["894"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|5"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1[4679]|[38]"]],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]"]],["(\\d{2})(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["3"]]],0,0,0,0,0,0,[["0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"],["3[1-9]\\d{8}|3[2-9]\\d{7}",[9,10]],["80(?:0\\d{3}|3)\\d{3}",[6,9]],["(?:0878\\d\\d|89(?:2|4[5-9]\\d))\\d{3}|89[45][0-4]\\d\\d|(?:1(?:44|6[346])|89(?:5[5-9]|9))\\d{6}",[6,8,9,10]],["1(?:78\\d|99)\\d{6}",[9,10]],0,0,0,["55\\d{8}",[10]],["84(?:[08]\\d{3}|[17])\\d{3}",[6,9]]]],JE:["44","00","1534\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"0|([0-24-8]\\d{5})$","1534$1",0,0,[["1534[0-24-8]\\d{5}"],["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97[7-9]))\\d{5}"],["80(?:07(?:35|81)|8901)\\d{4}"],["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"],["701511\\d{4}"],0,["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}"],["56\\d{8}"]]],JM:["1","011","(?:[58]\\d\\d|658|900)\\d{7}",[10],0,"1",0,0,0,0,"658|876"],JO:["962","00","900\\d{5}|(?:(?:[268]|7\\d)\\d|32|53)\\d{6}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]|87"],"(0$1)"],["(\\d{3})(\\d{5,6})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["70"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],JP:["81","010","00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",[8,9,10,11,12,13,14,15,16,17],[["(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],["(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[78]|96)|477|51[24]|636)|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[78]|96[2457-9])|477|51[24]|636[2-57-9])|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])","[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[279]|49|6[0-24-689]|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|5(?:2|3[045]|4[0-369]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|49|6(?:[0-24]|5[0-3589]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:49|55|83)[29]|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:47[59]|59[89]|8(?:6[68]|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:48|829(?:2|66)|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],"0$1"],["(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3[3-8]|5[2-9])","[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3(?:[3-6][2-9]|7|8[2-5])|5[2-9])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[2579]|80"],"0$1"]],"0"],KE:["254","000","(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}",[7,8,9,10],[["(\\d{2})(\\d{5,7})","$1 $2",["[24-6]"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[17]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0"],KG:["996","00","8\\d{9}|(?:[235-8]\\d|99)\\d{7}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["3(?:1[346]|[24-79])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-79]|88"],"0$1"],["(\\d{3})(\\d{3})(\\d)(\\d{2,3})","$1 $2 $3 $4",["8"],"0$1"]],"0"],KH:["855","00[14-9]","1\\d{9}|[1-9]\\d{7,8}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],KI:["686","00","(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",[5,8],0,"0"],KM:["269","00","[3478]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[3478]"]]]],KN:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","869$1",0,"869"],KP:["850","00|99","85\\d{6}|(?:19\\d|2)\\d{7}",[8,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"]],"0"],KR:["82","00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))","00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}",[5,6,8,9,10,11,12,13,14],[["(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1"],["(\\d{4})(\\d{4})","$1-$2",["1"]],["(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60|8"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["[1346]|5[1-5]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{2})(\\d{5})(\\d{4})","$1-$2-$3",["5"],"0$1"]],"0",0,"0(8(?:[1-46-8]|5\\d\\d))?"],KW:["965","00","(?:18|[2569]\\d\\d)\\d{5}",[7,8],[["(\\d{4})(\\d{3,4})","$1 $2",["[169]|2(?:[235]|4[1-35-9])|52"]],["(\\d{3})(\\d{5})","$1 $2",["[25]"]]]],KY:["1","011","(?:345|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","345$1",0,"345"],KZ:["7","810","33622\\d{5}|(?:7\\d|80)\\d{8}",[10],0,"8",0,0,0,0,"33|7",0,"8~10"],LA:["856","00","(?:2\\d|3)\\d{8}|(?:[235-8]\\d|41)\\d{6}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|3[14]|[4-8]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["3"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2"],"0$1"]],"0"],LB:["961","00","[7-9]\\d{7}|[13-9]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"]]],"0"],LC:["1","011","(?:[58]\\d\\d|758|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","758$1",0,"758"],LI:["423","00","90\\d{5}|(?:[2378]|6\\d\\d)\\d{6}",[7,9],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[237-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["69"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]],"0",0,"0|(10(?:01|20|66))"],LK:["94","00","(?:[1-7]\\d|[89]1)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[1-689]"],"0$1"]],"0"],LR:["231","00","(?:2|33|5\\d|77|88)\\d{7}|[45]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[45]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3578]"],"0$1"]],"0"],LS:["266","00","(?:[256]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2568]"]]]],LT:["370","00","(?:[3469]\\d|52|[78]0)\\d{6}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["52[0-79]"],"(8-$1)",1],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[7-9]"],"8 $1",1],["(\\d{2})(\\d{6})","$1 $2",["37|4(?:[15]|6[1-8])"],"(8-$1)",1],["(\\d{3})(\\d{5})","$1 $2",["[3-6]"],"(8-$1)",1]],"8",0,"[08]"],LU:["352","00","35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}",[4,5,6,7,8,9,10,11],[["(\\d{2})(\\d{3})","$1 $2",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20[2-689]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"]],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["80[01]|90[015]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})","$1 $2 $3 $4",["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]]],0,0,"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"],LV:["371","00","(?:[268]\\d|90)\\d{6}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[269]|8[01]"]]]],LY:["218","00","(?:[2569]\\d|71)\\d{7}",[9],[["(\\d{2})(\\d{7})","$1-$2",["[25-79]"],"0$1"]],"0"],MA:["212","00","[5-8]\\d{8}",[9],[["(\\d{5})(\\d{4})","$1-$2",["5(?:29|38)","5(?:29|38)[89]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5[45]"],"0$1"],["(\\d{4})(\\d{5})","$1-$2",["5(?:2[2-489]|3[5-9]|9)|892"],"0$1"],["(\\d{2})(\\d{7})","$1-$2",["8"],"0$1"],["(\\d{3})(\\d{6})","$1-$2",["[5-7]"],"0$1"]],"0",0,0,0,0,0,[["5(?:29|38)[89]0\\d{4}|5(?:2(?:[015-7]\\d|2[2-9]|3[2-57]|4[2-46-8]|8[235-7]|90)|3(?:[0-4]\\d|[57][2-9]|6[2-8]|80|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}"],["692[12]\\d{5}|(?:6(?:[0-7]\\d|8[0-247-9]|9[013-9])|7(?:0[06-8]|6[1267]|7[0-27]))\\d{6}"],["80\\d{7}"],["89\\d{7}"],0,0,0,0,["5924[0-2]\\d{4}"]]],MC:["377","00","870\\d{5}|(?:[349]|6\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[39]"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"],"0$1"]],"0"],MD:["373","00","(?:[235-7]\\d|[89]0)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["22|3"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[25-7]"],"0$1"]],"0"],ME:["382","00","(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"0$1"]],"0"],MF:["590","00","(?:590|69\\d)\\d{6}",[9],0,"0",0,0,0,0,0,[["590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],MG:["261","00","[23]\\d{8}",[9],[["(\\d{2})(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",["[23]"],"0$1"]],"0",0,"0|([24-9]\\d{6})$","20$1"],MH:["692","011","329\\d{4}|(?:[256]\\d|45)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1-$2",["[2-6]"]]],"1"],MK:["389","00","[2-578]\\d{7}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[347]"],"0$1"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"],"0$1"]],"0"],ML:["223","00","(?:[246-9]\\d|50)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]]]],MM:["95","00","1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}",[6,7,8,9,10],[["(\\d)(\\d{2})(\\d{3})","$1 $2 $3",["16|2"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[4-7]|8[1-35]"],"0$1"],["(\\d)(\\d{3})(\\d{4,6})","$1 $2 $3",["9(?:2[0-4]|[35-9]|4[137-9])"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["92"],"0$1"],["(\\d)(\\d{5})(\\d{4})","$1 $2 $3",["9"],"0$1"]],"0"],MN:["976","001","[12]\\d{7,9}|[57-9]\\d{7}",[8,9,10],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[57-9]"]],["(\\d{3})(\\d{5,6})","$1 $2",["[12]2[1-3]"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["[12](?:27|3[2-8]|4[2-68]|5[1-4689])","[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["[12]"],"0$1"]],"0"],MO:["853","00","(?:28|[68]\\d)\\d{6}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[268]"]]]],MP:["1","011","[58]\\d{9}|(?:67|90)0\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","670$1",0,"670"],MQ:["596","00","(?:596|69\\d)\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0"],MR:["222","00","(?:[2-4]\\d\\d|800)\\d{5}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]]]],MS:["1","011","66449\\d{5}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|(4\\d{6})$","664$1",0,"664"],MT:["356","00","3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2357-9]"]]]],MU:["230","0(?:0|[24-7]0|3[03])","(?:[2-468]|5\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-46]|8[013]"]],["(\\d{4})(\\d{4})","$1 $2",["5"]]],0,0,0,0,0,0,0,"020"],MV:["960","0(?:0|19)","(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}",[7,10],[["(\\d{3})(\\d{4})","$1-$2",["[3467]|9[13-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"]]],0,0,0,0,0,0,0,"00"],MW:["265","00","1\\d{6}(?:\\d{2})?|(?:[23]1|77|88|99)\\d{7}",[7,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[17-9]"],"0$1"]],"0"],MX:["52","0[09]","(?:1(?:[01467]\\d|[2359][1-9]|8[1-79])|[2-9]\\d)\\d{8}",[10,11],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|5[56]|81"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2-9]"],0,1],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 $3 $4",["1(?:33|5[56]|81)"],0,1],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 $3 $4",["1"],0,1]],"01",0,"0(?:[12]|4[45])|1",0,0,0,0,"00"],MY:["60","00","1\\d{8,9}|(?:3\\d|[4-9])\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["[4-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1-$2 $3",["1(?:[0249]|[367][2-9]|8[1-9])|8"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2 $3",["3"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3-$4",["1[36-8]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2 $3",["15"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2 $3",["1"],"0$1"]],"0"],MZ:["258","00","(?:2|8\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2|8[2-7]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]]],NA:["264","00","[68]\\d{7,8}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["87"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0"],NC:["687","00","[2-57-9]\\d{5}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[2-57-9]"]]]],NE:["227","00","[0289]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["08"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[089]|2[01]"]]]],NF:["672","00","[13]\\d{5}",[6],[["(\\d{2})(\\d{4})","$1 $2",["1"]],["(\\d)(\\d{5})","$1 $2",["3"]]],0,0,"([0-258]\\d{4})$","3$1"],NG:["234","009","(?:[124-7]|9\\d{3})\\d{6}|[1-9]\\d{7}|[78]\\d{9,13}",[7,8,10,11,12,13,14],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["78"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]|9(?:0[3-9]|[1-9])"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[3-7]|8[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[7-9]"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]"],"0$1"],["(\\d{3})(\\d{5})(\\d{5,6})","$1 $2 $3",["[78]"],"0$1"]],"0"],NI:["505","00","(?:1800|[25-8]\\d{3})\\d{4}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[125-8]"]]]],NL:["31","00","(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|[89]\\d{6,9}|1\\d{4,5}",[5,6,7,8,9,10],[["(\\d{3})(\\d{4,7})","$1 $2",["[89]0"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["66"],"0$1"],["(\\d)(\\d{8})","$1 $2",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-57-9]"],"0$1"]],"0"],NO:["47","00","(?:0|[2-9]\\d{3})\\d{4}",[5,8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[489]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-7]"]]],0,0,0,0,0,"[02-689]|7[0-8]"],NP:["977","00","9\\d{9}|[1-9]\\d{7}",[8,10],[["(\\d)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],["(\\d{2})(\\d{6})","$1-$2",["[1-8]|9(?:[1-579]|6[2-6])"],"0$1"],["(\\d{3})(\\d{7})","$1-$2",["9"]]],"0"],NR:["674","00","(?:444|55\\d|888)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[458]"]]]],NU:["683","00","(?:[47]|888\\d)\\d{3}",[4,7],[["(\\d{3})(\\d{4})","$1 $2",["8"]]]],NZ:["64","0(?:0|161)","[28]\\d{7,9}|[346]\\d{7}|(?:508|[79]\\d)\\d{6,7}",[8,9,10],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["24|[346]|7[2-57-9]|9[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:10|74)|[59]|80"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["2[028]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,5})","$1 $2 $3",["2(?:[169]|7[0-35-9])|7|86"],"0$1"]],"0",0,0,0,0,0,0,"00"],OM:["968","00","(?:[279]\\d{3}|500)\\d{4}|8007\\d{4,5}",[7,8,9],[["(\\d{3})(\\d{4,6})","$1 $2",["[58]"]],["(\\d{2})(\\d{6})","$1 $2",["2"]],["(\\d{4})(\\d{4})","$1 $2",["[79]"]]]],PA:["507","00","(?:[1-57-9]|6\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"]],["(\\d{4})(\\d{4})","$1-$2",["6"]]]],PE:["51","19(?:1[124]|77|90)00","(?:[14-8]|9\\d)\\d{7}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["80"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["1"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[4-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"]]],"0",0,0,0,0,0,0,0," Anexo "],PF:["689","00","[48]\\d{7}|4\\d{5}",[6,8],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["44"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[48]"]]]],PG:["675","00|140[1-3]","(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["18|[2-69]|85"]],["(\\d{4})(\\d{4})","$1 $2",["[78]"]]],0,0,0,0,0,0,0,"00"],PH:["63","00","(?:1800|8)\\d{7,9}|2\\d{5}(?:\\d{2})?|(?:[3-7]|9\\d)\\d{8}",[6,8,9,10,11,12,13],[["(\\d)(\\d{5})","$1 $2",["2"],"(0$1)"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"(0$1)"],["(\\d{4})(\\d{4,6})","$1 $2",["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2","3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],"(0$1)"],["(\\d{5})(\\d{4})","$1 $2",["346|4(?:27|9[35])|883","3469|4(?:279|9(?:30|56))|8834"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|8[2-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]]],"0"],PK:["92","00","122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[025-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["[89]0"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["1"]],["(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],"(0$1)"],["(\\d{3})(\\d{6,7})","$1 $2",["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])","9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],"(0$1)"],["(\\d{5})(\\d{5})","$1 $2",["58"],"(0$1)"],["(\\d{3})(\\d{7})","$1 $2",["3"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[24-9]"],"(0$1)"]],"0"],PL:["48","00","[1-57-9]\\d{6}(?:\\d{2})?|6\\d{5,8}",[6,7,8,9],[["(\\d{5})","$1",["19"]],["(\\d{3})(\\d{3})","$1 $2",["11|64"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1","(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["64"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["39|45|5[0137]|6[0469]|7[02389]|8[08]"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[2-8]|[2-8]|9[145]"]]]],PM:["508","00","[45]\\d{5}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[45]"],"0$1"]],"0"],PR:["1","011","(?:[589]\\d\\d|787)\\d{7}",[10],0,"1",0,0,0,0,"787|939"],PS:["970","00","[2489]2\\d{6}|(?:1\\d|5)\\d{8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2489]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["5"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],PT:["351","00","(?:[26-9]\\d|30)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["2[12]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[236-9]"]]]],PW:["680","01[12]","(?:[25-8]\\d\\d|345|488|900)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],PY:["595","00","59\\d{4,6}|(?:[2-46-9]\\d|5[0-8])\\d{4,7}",[6,7,8,9],[["(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{3})(\\d{4,5})","$1 $2",["2[279]|3[13-5]|4[359]|5|6[347]|7[46-8]|85"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["87"]],["(\\d{3})(\\d{6})","$1 $2",["9"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]"],"0$1"]],"0"],QA:["974","00","800\\d{4}|(?:2|[3-7]\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["2[126]|8"]],["(\\d{4})(\\d{4})","$1 $2",["[3-7]"]]]],RE:["262","00","(?:26|[68]\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[268]"],"0$1"]],"0",0,0,0,0,"262|69|8"],RO:["40","00","(?:[237]\\d|[89]0)\\d{7}|[23]\\d{5}",[6,9],[["(\\d{3})(\\d{3})","$1 $2",["2[3-6]","2[3-6]\\d9"],"0$1"],["(\\d{2})(\\d{4})","$1 $2",["219|31"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23]1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[237-9]"],"0$1"]],"0",0,0,0,0,0,0,0," int "],RS:["381","00","38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}",[6,7,8,9,10,11,12],[["(\\d{3})(\\d{3,9})","$1 $2",["(?:2[389]|39)0|[7-9]"],"0$1"],["(\\d{2})(\\d{5,10})","$1 $2",["[1-36]"],"0$1"]],"0"],RU:["7","810","[347-9]\\d{9}",[10],[["(\\d{4})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-8]|2[1-9])","7(?:1(?:[0-6]2|7|8[27])|2(?:1[23]|[2-9]2))","7(?:1(?:[0-6]2|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"],"8 ($1)",1],["(\\d{5})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-68]|2[1-9])","7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))","7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[3489]"],"8 ($1)",1]],"8",0,0,0,0,"3[04-689]|[489]",0,"8~10"],RW:["250","00","(?:06|[27]\\d\\d|[89]00)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"],"0$1"]],"0"],SA:["966","00","92\\d{7}|(?:[15]|8\\d)\\d{8}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["9"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["81"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]],"0"],SB:["677","0[01]","(?:[1-6]|[7-9]\\d\\d)\\d{4}",[5,7],[["(\\d{2})(\\d{5})","$1 $2",["7|8[4-9]|9(?:[1-8]|9[0-8])"]]]],SC:["248","010|0[0-2]","8000\\d{3}|(?:[249]\\d|64)\\d{5}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[246]"]]],0,0,0,0,0,0,0,"00"],SD:["249","00","[19]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[19]"],"0$1"]],"0"],SE:["46","00","(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{2,3})(\\d{2})","$1-$2 $3",["20"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{4})","$1-$2",["9(?:00|39|44)"],"0$1",0,"$1 $2"],["(\\d{2})(\\d{3})(\\d{2})","$1-$2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3"],["(\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{2,3})(\\d{3})","$1-$2 $3",["9(?:00|39|44)"],"0$1",0,"$1 $2 $3"],["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3 $4"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["7"],"0$1",0,"$1 $2 $3 $4"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4 $5",["[26]"],"0$1",0,"$1 $2 $3 $4 $5"]],"0"],SG:["65","0[0-3]\\d","(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}",[8,10,11],[["(\\d{4})(\\d{4})","$1 $2",["[369]|8[1-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]],["(\\d{4})(\\d{4})(\\d{3})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],SH:["290","00","(?:[256]\\d|8)\\d{3}",[4,5],0,0,0,0,0,0,"[256]"],SI:["386","00|10(?:22|66|88|99)","[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}",[5,6,7,8],[["(\\d{2})(\\d{3,6})","$1 $2",["8[09]|9"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["59|8"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[0139]|51|6"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-57]"],"(0$1)"]],"0",0,0,0,0,0,0,"00"],SJ:["47","00","0\\d{4}|(?:[4589]\\d|79)\\d{6}",[5,8],0,0,0,0,0,0,"79"],SK:["421","00","[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",[6,7,9],[["(\\d)(\\d{2})(\\d{3,4})","$1 $2 $3",["21"],"0$1"],["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["[3-5][1-8]1","[3-5][1-8]1[67]"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"]],"0"],SL:["232","00","(?:[2378]\\d|99)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[237-9]"],"(0$1)"]],"0"],SM:["378","00","(?:0549|[5-7]\\d)\\d{6}",[8,10],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],["(\\d{4})(\\d{6})","$1 $2",["0"]]],0,0,"([89]\\d{5})$","0549$1"],SN:["221","00","(?:[378]\\d{4}|93330)\\d{4}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[379]"]]]],SO:["252","00","[346-9]\\d{8}|[12679]\\d{7}|(?:[1-4]\\d|59)\\d{5}|[1348]\\d{5}",[6,7,8,9],[["(\\d{2})(\\d{4})","$1 $2",["8[125]"]],["(\\d{6})","$1",["[134]"]],["(\\d)(\\d{6})","$1 $2",["1|2[0-79]|3[0-46-8]|4[0-7]|59"]],["(\\d)(\\d{7})","$1 $2",["24|[67]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[348]|64|79[0-8]|90"]],["(\\d{2})(\\d{5,7})","$1 $2",["1|28|6[1-35-9]|799|9[2-9]"]]],"0"],SR:["597","00","(?:[2-5]|68|[78]\\d)\\d{5}",[6,7],[["(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"]],["(\\d{3})(\\d{3})","$1-$2",["[2-5]"]],["(\\d{3})(\\d{4})","$1-$2",["[6-8]"]]]],SS:["211","00","[19]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[19]"],"0$1"]],"0"],ST:["239","00","(?:22|9\\d)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[29]"]]]],SV:["503","00","[267]\\d{7}|[89]00\\d{4}(?:\\d{4})?",[7,8,11],[["(\\d{3})(\\d{4})","$1 $2",["[89]"]],["(\\d{4})(\\d{4})","$1 $2",["[267]"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]]]],SX:["1","011","7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|(5\\d{6})$","721$1",0,"721"],SY:["963","00","[1-39]\\d{8}|[1-5]\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-5]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1",1]],"0"],SZ:["268","00","0800\\d{4}|(?:[237]\\d|900)\\d{6}",[8,9],[["(\\d{4})(\\d{4})","$1 $2",["[0237]"]],["(\\d{5})(\\d{4})","$1 $2",["9"]]]],TA:["290","00","8\\d{3}",[4],0,0,0,0,0,0,"8"],TC:["1","011","(?:[58]\\d\\d|649|900)\\d{7}",[10],0,"1",0,"1|([2-479]\\d{6})$","649$1",0,"649"],TD:["235","00|16","(?:22|[69]\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2679]"]]],0,0,0,0,0,0,0,"00"],TG:["228","00","[279]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[279]"]]]],TH:["66","00[1-9]","1\\d{8,9}|(?:[2-57]|[689]\\d)\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["14|[3-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],TJ:["992","810","(?:[3-59]\\d|77|88)\\d{7}",[9],[["(\\d{6})(\\d)(\\d{2})","$1 $2 $3",["331","3317"],0,1],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[34]7|91[78]"],0,1],["(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3"],0,1],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[457-9]"],0,1]],"8",0,0,0,0,0,0,"8~10"],TK:["690","00","[2-47]\\d{3,6}",[4,5,6,7]],TL:["670","00","7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-489]|70"]],["(\\d{4})(\\d{4})","$1 $2",["7"]]]],TM:["993","810","[1-6]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["12"],"(8 $1)"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-5]"],"(8 $1)"],["(\\d{2})(\\d{6})","$1 $2",["6"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],TN:["216","00","[2-57-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]"]]]],TO:["676","00","(?:0800|[5-8]\\d{3})\\d{3}|[2-8]\\d{4}",[5,7],[["(\\d{2})(\\d{3})","$1-$2",["[2-4]|50|6[09]|7[0-24-69]|8[05]"]],["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{3})(\\d{4})","$1 $2",["[5-8]"]]]],TR:["90","00","(?:[2-58]\\d\\d|900)\\d{7}|4\\d{6}",[7,10],[["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["512|8[0589]|90"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:[0-59]|61)","5(?:[0-59]|616)","5(?:[0-59]|6161)"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24][1-8]|3[1-9]"],"(0$1)",1]],"0"],TT:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-46-8]\\d{6})$","868$1",0,"868"],TV:["688","00","(?:2|7\\d\\d|90)\\d{4}",[5,6,7]],TW:["886","0(?:0[25-79]|19)","(?:[24589]|7\\d)\\d{8}|[2-8]\\d{7}|2\\d{6}",[7,8,9,10],[["(\\d{2})(\\d)(\\d{4})","$1 $2 $3",["202"],"0$1"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["[25][2-8]|[346]|7[1-9]|8[237-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[258]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0",0,0,0,0,0,0,0,"#"],TZ:["255","00[056]","(?:[26-8]\\d|41|90)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[24]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[67]"],"0$1"]],"0"],UA:["380","00","[89]\\d{9}|[3-9]\\d{8}",[9,10],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]","6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["4[45][0-5]|5(?:0|6[37])|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]","4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["[3-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0",0,0,0,0,0,0,"0~0"],UG:["256","00[057]","800\\d{6}|(?:[29]0|[347]\\d)\\d{7}",[9],[["(\\d{4})(\\d{5})","$1 $2",["202","2024"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[27-9]|4(?:6[45]|[7-9])"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[34]"],"0$1"]],"0"],US:["1","011","[2-9]\\d{9}",[10],[["(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",["[2-9]"],0,1,"$1-$2-$3"]],"1",0,0,0,0,0,[["(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[017]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-28]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0179]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}"],0,["710[2-9]\\d{6}"]]],UY:["598","0(?:0|1[3-9]\\d)","(?:[249]\\d\\d|80)\\d{5}|9\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["8|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[24]"]]],"0",0,0,0,0,0,0,"00"," int. "],UZ:["998","810","[679]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[679]"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],VA:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],0,0,0,0,0,0,"06698"],VC:["1","011","(?:[58]\\d\\d|784|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","784$1",0,"784"],VE:["58","00","[89]00\\d{7}|(?:[24]\\d|50)\\d{8}",[10],[["(\\d{3})(\\d{7})","$1-$2",["[24589]"],"0$1"]],"0"],VG:["1","011","(?:284|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-578]\\d{6})$","284$1",0,"284"],VI:["1","011","[58]\\d{9}|(?:34|90)0\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","340$1",0,"340"],VN:["84","00","[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["80"],"0$1",1],["(\\d{4})(\\d{4,6})","$1 $2",["1"],0,1],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[69]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[3578]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2[48]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["2"],"0$1",1]],"0"],VU:["678","00","(?:[23]\\d|[48]8)\\d{3}|(?:[57]\\d|90)\\d{5}",[5,7],[["(\\d{3})(\\d{4})","$1 $2",["[579]"]]]],WF:["681","00","(?:[45]0|68|72|8\\d)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[4-8]"]]]],WS:["685","0","[2-6]\\d{4}|8\\d{5}(?:\\d{4})?|[78]\\d{6}",[5,6,7,10],[["(\\d{5})","$1",["[2-6]"]],["(\\d{3})(\\d{3,7})","$1 $2",["8"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]]],XK:["383","00","[23]\\d{7,8}|(?:4\\d\\d|[89]00)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[23]"],"0$1"]],"0"],YE:["967","00","(?:1|7\\d)\\d{7}|[1-7]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-6]|7[24-68]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"],"0$1"]],"0"],YT:["262","00","80\\d{7}|(?:26|63)9\\d{6}",[9],0,"0",0,0,0,0,"269|63"],ZA:["27","00","[1-9]\\d{8}|8\\d{4,7}",[5,6,7,8,9],[["(\\d{2})(\\d{3,4})","$1 $2",["8[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["8[1-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["860"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-9]"],"0$1"]],"0"],ZM:["260","00","800\\d{6}|(?:21|76|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[28]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[79]"],"0$1"]],"0"],ZW:["263","00","2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",[5,6,7,8,9,10],[["(\\d{3})(\\d{3,5})","$1 $2",["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"],"0$1"],["(\\d)(\\d{3})(\\d{2,4})","$1 $2 $3",["[49]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["80"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2","2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)","2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["29[013-9]|39|54"],"0$1"],["(\\d{4})(\\d{3,5})","$1 $2",["(?:25|54)8","258|5483"],"0$1"]],"0"],"001":["979",0,"\\d{9}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3"]]]}},m=(n(68),n(534),n(535),n(486),n(110)),g=n(188),y=n(10);n(487),n(488);function v(e,t){var n=Array.prototype.slice.call(t);return n.push(h),e.apply(this,n)}function b(e,t){return m.a.call(this,e,t,h)}function _(e){return g.a.call(this,e,h)}function w(){return v(y.b,arguments)}b.prototype=Object.create(m.a.prototype,{}),b.prototype.constructor=b,_.prototype=Object.create(g.a.prototype,{}),_.prototype.constructor=_,n.d(t,"default",function(){return i.a}),n.d(t,"parseRFC3966",function(){return o.parseRFC3966}),n.d(t,"formatRFC3966",function(){return o.formatRFC3966}),n.d(t,"parsePhoneNumber",function(){return s.a}),n.d(t,"formatPhoneNumber",function(){return l.a}),n.d(t,"formatPhoneNumberIntl",function(){return u.formatPhoneNumberIntl}),n.d(t,"isValidPhoneNumber",function(){return d.a}),n.d(t,"PhoneInput",function(){return p.a}),n.d(t,"getCountryCallingCode",function(){return w})}]);
diff --git a/web/themes/ventuno/templates/message-digest/message-digest.html.twig b/web/themes/ventuno/templates/message-digest/message-digest.html.twig
index bc5f3540b6..38eca24132 100644
--- a/web/themes/ventuno/templates/message-digest/message-digest.html.twig
+++ b/web/themes/ventuno/templates/message-digest/message-digest.html.twig
@@ -111,7 +111,7 @@
                 <td>
                   {% trans %}
                     <b>Kind regards,</b><br/>
-                    <small>The Joinup Support Team</small>
+                    <small>The Portal Support Team</small>
                   {% endtrans %}
                 </td>
               </tr>
diff --git a/web/themes/ventuno/templates/patterns/tile/tile.ui_patterns.yml b/web/themes/ventuno/templates/patterns/tile/tile.ui_patterns.yml
index e4e9cedbed..c2e00b37b2 100644
--- a/web/themes/ventuno/templates/patterns/tile/tile.ui_patterns.yml
+++ b/web/themes/ventuno/templates/patterns/tile/tile.ui_patterns.yml
@@ -19,7 +19,7 @@ tile:
       type: text
       label: 'Url'
       description: 'Url leading to the article.'
-      preview: 'https://joinup.ec.europa.eu'
+      preview: 'https://interoperable-europe.ec.europa.eu'
     highlighted:
       type: object
       label: 'Highlighted info'
diff --git a/web/themes/ventuno/templates/swiftmailer/symfony-mailer-lite-email--message-notify--announcement.html.twig b/web/themes/ventuno/templates/swiftmailer/symfony-mailer-lite-email--message-notify--announcement.html.twig
index e0671be4d2..5921e9758e 100644
--- a/web/themes/ventuno/templates/swiftmailer/symfony-mailer-lite-email--message-notify--announcement.html.twig
+++ b/web/themes/ventuno/templates/swiftmailer/symfony-mailer-lite-email--message-notify--announcement.html.twig
@@ -96,7 +96,7 @@
         <tr>
           <td class="px-3 bg-primary">
             <div style="width: 112px" class="m-auto py-3">
-              <a href="https://joinup.ec.europa.eu/" target="_blank">
+              <a href="https://interoperable-europe.ec.europa.eu/" target="_blank">
                 <img src="{{ site_url }}/themes/ventuno/assets/images/logo-interoperable-europe.svg" alt="" height="30"/>
               </a>
             </div>
-- 
GitLab


From d07d74199c37d652592224c4382a474652aacc28 Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Fri, 25 Oct 2024 13:32:13 +0100
Subject: [PATCH 02/33] ISAICP-8857: Update publiccode editor.

---
 web/publiccode-editor/app.bundle.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/web/publiccode-editor/app.bundle.js b/web/publiccode-editor/app.bundle.js
index 4dce6f4697..482ccd862c 100644
--- a/web/publiccode-editor/app.bundle.js
+++ b/web/publiccode-editor/app.bundle.js
@@ -228,4 +228,4 @@ function e(e,t){if(/^[A-Z_$][0-9A-Z_$]*$/i.test(e))return t?t+"."+e:e;var n=JSON
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-var n="undefined"!=typeof window&&"undefined"!=typeof document,r=["Edge","Trident","Firefox"],i=0,o=0;o<r.length;o+=1)if(n&&navigator.userAgent.indexOf(r[o])>=0){i=1;break}var a=n&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},i))}};function s(e){return e&&"[object Function]"==={}.toString.call(e)}function u(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function l(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function c(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=u(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/(auto|scroll|overlay)/.test(n+i+r)?e:c(l(e))}var d=n&&!(!window.MSInputMethodContext||!document.documentMode),f=n&&/MSIE 10/.test(navigator.userAgent);function p(e){return 11===e?d:10===e?f:d||f}function h(e){if(!e)return document.documentElement;for(var t=p(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===u(n,"position")?h(n):n:e?e.ownerDocument.documentElement:document.documentElement}function m(e){return null!==e.parentNode?m(e.parentNode):e}function g(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?e:t,i=n?t:e,o=document.createRange();o.setStart(r,0),o.setEnd(i,0);var a,s,u=o.commonAncestorContainer;if(e!==u&&t!==u||r.contains(i))return"BODY"===(s=(a=u).nodeName)||"HTML"!==s&&h(a.firstElementChild)!==a?h(u):u;var l=m(e);return l.host?g(l.host,t):g(e,m(t).host)}function y(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var r=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||r)[t]}return e[t]}function v(e,t){var n="x"===t?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+r+"Width"],10)}function b(e,t,n,r){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],p(10)?parseInt(n["offset"+e])+parseInt(r["margin"+("Height"===e?"Top":"Left")])+parseInt(r["margin"+("Height"===e?"Bottom":"Right")]):0)}function _(e){var t=e.body,n=e.documentElement,r=p(10)&&getComputedStyle(n);return{height:b("Height",t,n,r),width:b("Width",t,n,r)}}var w=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},A=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),x=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},k=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function M(e){return k({},e,{right:e.left+e.width,bottom:e.top+e.height})}function E(e){var t={};try{if(p(10)){t=e.getBoundingClientRect();var n=y(e,"top"),r=y(e,"left");t.top+=n,t.left+=r,t.bottom+=n,t.right+=r}else t=e.getBoundingClientRect()}catch(e){}var i={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},o="HTML"===e.nodeName?_(e.ownerDocument):{},a=o.width||e.clientWidth||i.right-i.left,s=o.height||e.clientHeight||i.bottom-i.top,l=e.offsetWidth-a,c=e.offsetHeight-s;if(l||c){var d=u(e);l-=v(d,"x"),c-=v(d,"y"),i.width-=l,i.height-=c}return M(i)}function L(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=p(10),i="HTML"===t.nodeName,o=E(e),a=E(t),s=c(e),l=u(t),d=parseFloat(l.borderTopWidth,10),f=parseFloat(l.borderLeftWidth,10);n&&i&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var h=M({top:o.top-a.top-d,left:o.left-a.left-f,width:o.width,height:o.height});if(h.marginTop=0,h.marginLeft=0,!r&&i){var m=parseFloat(l.marginTop,10),g=parseFloat(l.marginLeft,10);h.top-=d-m,h.bottom-=d-m,h.left-=f-g,h.right-=f-g,h.marginTop=m,h.marginLeft=g}return(r&&!n?t.contains(s):t===s&&"BODY"!==s.nodeName)&&(h=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=y(t,"top"),i=y(t,"left"),o=n?-1:1;return e.top+=r*o,e.bottom+=r*o,e.left+=i*o,e.right+=i*o,e}(h,t)),h}function S(e){if(!e||!e.parentElement||p())return document.documentElement;for(var t=e.parentElement;t&&"none"===u(t,"transform");)t=t.parentElement;return t||document.documentElement}function D(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},a=i?S(e):g(e,t);if("viewport"===r)o=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,r=L(e,n),i=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),a=t?0:y(n),s=t?0:y(n,"left");return M({top:a-r.top+r.marginTop,left:s-r.left+r.marginLeft,width:i,height:o})}(a,i);else{var s=void 0;"scrollParent"===r?"BODY"===(s=c(l(t))).nodeName&&(s=e.ownerDocument.documentElement):s="window"===r?e.ownerDocument.documentElement:r;var d=L(s,a,i);if("HTML"!==s.nodeName||function e(t){var n=t.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===u(t,"position"))return!0;var r=l(t);return!!r&&e(r)}(a))o=d;else{var f=_(e.ownerDocument),p=f.height,h=f.width;o.top+=d.top-d.marginTop,o.bottom=p+d.top,o.left+=d.left-d.marginLeft,o.right=h+d.left}}var m="number"==typeof(n=n||0);return o.left+=m?n:n.left||0,o.top+=m?n:n.top||0,o.right-=m?n:n.right||0,o.bottom-=m?n:n.bottom||0,o}function T(e,t,n,r,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var a=D(n,r,o,i),s={top:{width:a.width,height:t.top-a.top},right:{width:a.right-t.right,height:a.height},bottom:{width:a.width,height:a.bottom-t.bottom},left:{width:t.left-a.left,height:a.height}},u=Object.keys(s).map(function(e){return k({key:e},s[e],{area:(t=s[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),l=u.filter(function(e){var t=e.width,r=e.height;return t>=n.clientWidth&&r>=n.clientHeight}),c=l.length>0?l[0].key:u[0].key,d=e.split("-")[1];return c+(d?"-"+d:"")}function C(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return L(n,r?S(t):g(t,n),r)}function O(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),r=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+r,height:e.offsetHeight+n}}function $(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function j(e,t,n){n=n.split("-")[0];var r=O(e),i={width:r.width,height:r.height},o=-1!==["right","left"].indexOf(n),a=o?"top":"left",s=o?"left":"top",u=o?"height":"width",l=o?"width":"height";return i[a]=t[a]+t[u]/2-r[u]/2,i[s]=n===s?t[s]-r[l]:t[$(s)],i}function P(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function I(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var r=P(e,function(e){return e[t]===n});return e.indexOf(r)}(e,"name",n))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&s(n)&&(t.offsets.popper=M(t.offsets.popper),t.offsets.reference=M(t.offsets.reference),t=n(t,e))}),t}function N(e,t){return e.some(function(e){var n=e.name;return e.enabled&&n===t})}function F(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),r=0;r<t.length;r++){var i=t[r],o=i?""+i+n:e;if(void 0!==document.body.style[o])return o}return null}function R(e){var t=e.ownerDocument;return t?t.defaultView:window}function Y(e,t,n,r){n.updateBound=r,R(e).addEventListener("resize",n.updateBound,{passive:!0});var i=c(e);return function e(t,n,r,i){var o="BODY"===t.nodeName,a=o?t.ownerDocument.defaultView:t;a.addEventListener(n,r,{passive:!0}),o||e(c(a.parentNode),n,r,i),i.push(a)}(i,"scroll",n.updateBound,n.scrollParents),n.scrollElement=i,n.eventsEnabled=!0,n}function B(){var e,t;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(e=this.reference,t=this.state,R(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t))}function z(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function H(e,t){Object.keys(t).forEach(function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&z(t[n])&&(r="px"),e.style[n]=t[n]+r})}var U=n&&/Firefox/i.test(navigator.userAgent);function Z(e,t,n){var r=P(e,function(e){return e.name===t}),i=!!r&&e.some(function(e){return e.name===n&&e.enabled&&e.order<r.order});if(!i){var o="`"+t+"`",a="`"+n+"`";console.warn(a+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return i}var K=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],q=K.slice(3);function W(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=q.indexOf(e),r=q.slice(n+1).concat(q.slice(0,n));return t?r.reverse():r}var G={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function V(e,t,n,r){var i=[0,0],o=-1!==["right","left"].indexOf(r),a=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=a.indexOf(P(a,function(e){return-1!==e.search(/,|\s/)}));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var u=/\s*,\s*|\s+/,l=-1!==s?[a.slice(0,s).concat([a[s].split(u)[0]]),[a[s].split(u)[1]].concat(a.slice(s+1))]:[a];return(l=l.map(function(e,r){var i=(1===r?!o:o)?"height":"width",a=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,a=!0,e):a?(e[e.length-1]+=t,a=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,r){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+i[1],a=i[2];if(!o)return e;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=r}return M(s)[t]/100*o}if("vh"===a||"vw"===a)return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(e,i,t,n)})})).forEach(function(e,t){e.forEach(function(n,r){z(n)&&(i[t]+=n*("-"===e[r-1]?-1:1))})}),i}var J={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],r=t.split("-")[1];if(r){var i=e.offsets,o=i.reference,a=i.popper,s=-1!==["bottom","top"].indexOf(n),u=s?"left":"top",l=s?"width":"height",c={start:x({},u,o[u]),end:x({},u,o[u]+o[l]-a[l])};e.offsets.popper=k({},a,c[r])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,r=e.placement,i=e.offsets,o=i.popper,a=i.reference,s=r.split("-")[0],u=void 0;return u=z(+n)?[+n,0]:V(n,o,a,s),"left"===s?(o.top+=u[0],o.left-=u[1]):"right"===s?(o.top+=u[0],o.left+=u[1]):"top"===s?(o.left+=u[0],o.top-=u[1]):"bottom"===s&&(o.left+=u[0],o.top+=u[1]),e.popper=o,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||h(e.instance.popper);e.instance.reference===n&&(n=h(n));var r=F("transform"),i=e.instance.popper.style,o=i.top,a=i.left,s=i[r];i.top="",i.left="",i[r]="";var u=D(e.instance.popper,e.instance.reference,t.padding,n,e.positionFixed);i.top=o,i.left=a,i[r]=s,t.boundaries=u;var l=t.priority,c=e.offsets.popper,d={primary:function(e){var n=c[e];return c[e]<u[e]&&!t.escapeWithReference&&(n=Math.max(c[e],u[e])),x({},e,n)},secondary:function(e){var n="right"===e?"left":"top",r=c[n];return c[e]>u[e]&&!t.escapeWithReference&&(r=Math.min(c[n],u[e]-("right"===e?c.width:c.height))),x({},n,r)}};return l.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";c=k({},c,d[t](e))}),e.offsets.popper=c,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,r=t.reference,i=e.placement.split("-")[0],o=Math.floor,a=-1!==["top","bottom"].indexOf(i),s=a?"right":"bottom",u=a?"left":"top",l=a?"width":"height";return n[s]<o(r[u])&&(e.offsets.popper[u]=o(r[u])-n[l]),n[u]>o(r[s])&&(e.offsets.popper[u]=o(r[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!Z(e.instance.modifiers,"arrow","keepTogether"))return e;var r=t.element;if("string"==typeof r){if(!(r=e.instance.popper.querySelector(r)))return e}else if(!e.instance.popper.contains(r))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var i=e.placement.split("-")[0],o=e.offsets,a=o.popper,s=o.reference,l=-1!==["left","right"].indexOf(i),c=l?"height":"width",d=l?"Top":"Left",f=d.toLowerCase(),p=l?"left":"top",h=l?"bottom":"right",m=O(r)[c];s[h]-m<a[f]&&(e.offsets.popper[f]-=a[f]-(s[h]-m)),s[f]+m>a[h]&&(e.offsets.popper[f]+=s[f]+m-a[h]),e.offsets.popper=M(e.offsets.popper);var g=s[f]+s[c]/2-m/2,y=u(e.instance.popper),v=parseFloat(y["margin"+d],10),b=parseFloat(y["border"+d+"Width"],10),_=g-e.offsets.popper[f]-v-b;return _=Math.max(Math.min(a[c]-m,_),0),e.arrowElement=r,e.offsets.arrow=(x(n={},f,Math.round(_)),x(n,p,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(N(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=D(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),r=e.placement.split("-")[0],i=$(r),o=e.placement.split("-")[1]||"",a=[];switch(t.behavior){case G.FLIP:a=[r,i];break;case G.CLOCKWISE:a=W(r);break;case G.COUNTERCLOCKWISE:a=W(r,!0);break;default:a=t.behavior}return a.forEach(function(s,u){if(r!==s||a.length===u+1)return e;r=e.placement.split("-")[0],i=$(r);var l=e.offsets.popper,c=e.offsets.reference,d=Math.floor,f="left"===r&&d(l.right)>d(c.left)||"right"===r&&d(l.left)<d(c.right)||"top"===r&&d(l.bottom)>d(c.top)||"bottom"===r&&d(l.top)<d(c.bottom),p=d(l.left)<d(n.left),h=d(l.right)>d(n.right),m=d(l.top)<d(n.top),g=d(l.bottom)>d(n.bottom),y="left"===r&&p||"right"===r&&h||"top"===r&&m||"bottom"===r&&g,v=-1!==["top","bottom"].indexOf(r),b=!!t.flipVariations&&(v&&"start"===o&&p||v&&"end"===o&&h||!v&&"start"===o&&m||!v&&"end"===o&&g),_=!!t.flipVariationsByContent&&(v&&"start"===o&&h||v&&"end"===o&&p||!v&&"start"===o&&g||!v&&"end"===o&&m),w=b||_;(f||y||w)&&(e.flipped=!0,(f||y)&&(r=a[u+1]),w&&(o=function(e){return"end"===e?"start":"start"===e?"end":e}(o)),e.placement=r+(o?"-"+o:""),e.offsets.popper=k({},e.offsets.popper,j(e.instance.popper,e.offsets.reference,e.placement)),e=I(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],r=e.offsets,i=r.popper,o=r.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return i[a?"left":"top"]=o[n]-(s?i[a?"width":"height"]:0),e.placement=$(t),e.offsets.popper=M(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!Z(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=P(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottom<n.top||t.left>n.right||t.top>n.bottom||t.right<n.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var n=t.x,r=t.y,i=e.offsets.popper,o=P(e.instance.modifiers,function(e){return"applyStyle"===e.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var a=void 0!==o?o:t.gpuAcceleration,s=h(e.instance.popper),u=E(s),l={position:i.position},c=function(e,t){var n=e.offsets,r=n.popper,i=n.reference,o=Math.round,a=Math.floor,s=function(e){return e},u=o(i.width),l=o(r.width),c=-1!==["left","right"].indexOf(e.placement),d=-1!==e.placement.indexOf("-"),f=t?c||d||u%2==l%2?o:a:s,p=t?o:s;return{left:f(u%2==1&&l%2==1&&!d&&t?r.left-1:r.left),top:p(r.top),bottom:p(r.bottom),right:f(r.right)}}(e,window.devicePixelRatio<2||!U),d="bottom"===n?"top":"bottom",f="right"===r?"left":"right",p=F("transform"),m=void 0,g=void 0;if(g="bottom"===d?"HTML"===s.nodeName?-s.clientHeight+c.bottom:-u.height+c.bottom:c.top,m="right"===f?"HTML"===s.nodeName?-s.clientWidth+c.right:-u.width+c.right:c.left,a&&p)l[p]="translate3d("+m+"px, "+g+"px, 0)",l[d]=0,l[f]=0,l.willChange="transform";else{var y="bottom"===d?-1:1,v="right"===f?-1:1;l[d]=g*y,l[f]=m*v,l.willChange=d+", "+f}var b={"x-placement":e.placement};return e.attributes=k({},b,e.attributes),e.styles=k({},l,e.styles),e.arrowStyles=k({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){var t,n;return H(e.instance.popper,e.styles),t=e.instance.popper,n=e.attributes,Object.keys(n).forEach(function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)}),e.arrowElement&&Object.keys(e.arrowStyles).length&&H(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,r,i){var o=C(i,t,e,n.positionFixed),a=T(n.placement,o,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",a),H(t,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},Q=function(){function e(t,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};w(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=a(this.update.bind(this)),this.options=k({},e.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(k({},e.Defaults.modifiers,i.modifiers)).forEach(function(t){r.options.modifiers[t]=k({},e.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return k({name:e},r.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&s(e.onLoad)&&e.onLoad(r.reference,r.popper,r.options,e,r.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return A(e,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=C(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=T(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=j(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=I(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,N(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[F("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=Y(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return B.call(this)}}]),e}();Q.Utils=("undefined"!=typeof window?window:e).PopperUtils,Q.placements=K,Q.Defaults=J,t.default=Q}.call(this,n(43))},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(6),u=n.n(s),l=n(86),c=n.n(l),d=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var p=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),d(t,[{key:"shouldComponentUpdate",value:function(e){return this.props.forceRender||!c()(this.props,e)}},{key:"render",value:function(){var e;if(this._isActived=this.props.forceRender||this._isActived||this.props.isActive,!this._isActived)return null;var t=this.props,n=t.prefixCls,r=t.isActive,o=t.children,a=t.destroyInactivePanel,s=t.forceRender,l=t.role,c=u()((f(e={},n+"-content",!0),f(e,n+"-content-active",r),f(e,n+"-content-inactive",!r),e)),d=s||r||!a?i.a.createElement("div",{className:n+"-content-box"},o):null;return i.a.createElement("div",{className:c,role:l},d)}}]),t}();p.propTypes={prefixCls:a.a.string,isActive:a.a.bool,children:a.a.any,destroyInactivePanel:a.a.bool,forceRender:a.a.bool,role:a.a.string};var h=p,m=n(8),g=n.n(m),y=n(187),v=n.n(y),b=n(21),_=n.n(b),w=n(22),A=n.n(w),x=n(23),k=n.n(x),M=n(24),E=n.n(M);function L(e){var t=[];return i.a.Children.forEach(e,function(e){t.push(e)}),t}function S(e,t){var n=null;return e&&e.forEach(function(e){n||e&&e.key===t&&(n=e)}),n}function D(e,t,n){var r=null;return e&&e.forEach(function(e){if(e&&e.key===t&&e.props[n]){if(r)throw new Error("two child with same key for <rc-animate> children");r=e}}),r}var T=n(19),C=n.n(T),O=n(67),$=n.n(O),j={transitionstart:{transition:"transitionstart",WebkitTransition:"webkitTransitionStart",MozTransition:"mozTransitionStart",OTransition:"oTransitionStart",msTransition:"MSTransitionStart"},animationstart:{animation:"animationstart",WebkitAnimation:"webkitAnimationStart",MozAnimation:"mozAnimationStart",OAnimation:"oAnimationStart",msAnimation:"MSAnimationStart"}},P={transitionend:{transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"mozTransitionEnd",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd"},animationend:{animation:"animationend",WebkitAnimation:"webkitAnimationEnd",MozAnimation:"mozAnimationEnd",OAnimation:"oAnimationEnd",msAnimation:"MSAnimationEnd"}},I=[],N=[];function F(e,t,n){e.addEventListener(t,n,!1)}function R(e,t,n){e.removeEventListener(t,n,!1)}"undefined"!=typeof window&&"undefined"!=typeof document&&function(){var e=document.createElement("div").style;function t(t,n){for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];for(var o in i)if(o in e){n.push(i[o]);break}}}"AnimationEvent"in window||(delete j.animationstart.animation,delete P.animationend.animation),"TransitionEvent"in window||(delete j.transitionstart.transition,delete P.transitionend.transition),t(j,I),t(P,N)}();var Y={startEvents:I,addStartEventListener:function(e,t){0!==I.length?I.forEach(function(n){F(e,n,t)}):window.setTimeout(t,0)},removeStartEventListener:function(e,t){0!==I.length&&I.forEach(function(n){R(e,n,t)})},endEvents:N,addEndEventListener:function(e,t){0!==N.length?N.forEach(function(n){F(e,n,t)}):window.setTimeout(t,0)},removeEndEventListener:function(e,t){0!==N.length&&N.forEach(function(n){R(e,n,t)})}},B=n(543),z=n.n(B),H=0!==Y.endEvents.length,U=["Webkit","Moz","O","ms"],Z=["-webkit-","-moz-","-o-","ms-",""];function K(e,t){for(var n=window.getComputedStyle(e,null),r="",i=0;i<Z.length&&!(r=n.getPropertyValue(Z[i]+t));i++);return r}function q(e){if(H){var t=parseFloat(K(e,"transition-delay"))||0,n=parseFloat(K(e,"transition-duration"))||0,r=parseFloat(K(e,"animation-delay"))||0,i=parseFloat(K(e,"animation-duration"))||0,o=Math.max(n+t,i+r);e.rcEndAnimTimeout=setTimeout(function(){e.rcEndAnimTimeout=null,e.rcEndListener&&e.rcEndListener()},1e3*o+200)}}function W(e){e.rcEndAnimTimeout&&(clearTimeout(e.rcEndAnimTimeout),e.rcEndAnimTimeout=null)}var G=function(e,t,n){var r="object"===(void 0===t?"undefined":$()(t)),i=r?t.name:t,o=r?t.active:t+"-active",a=n,s=void 0,u=void 0,l=z()(e);return n&&"[object Object]"===Object.prototype.toString.call(n)&&(a=n.end,s=n.start,u=n.active),e.rcEndListener&&e.rcEndListener(),e.rcEndListener=function(t){t&&t.target!==e||(e.rcAnimTimeout&&(clearTimeout(e.rcAnimTimeout),e.rcAnimTimeout=null),W(e),l.remove(i),l.remove(o),Y.removeEndEventListener(e,e.rcEndListener),e.rcEndListener=null,a&&a())},Y.addEndEventListener(e,e.rcEndListener),s&&s(),l.add(i),e.rcAnimTimeout=setTimeout(function(){e.rcAnimTimeout=null,l.add(o),u&&setTimeout(u,0),q(e)},30),{stop:function(){e.rcEndListener&&e.rcEndListener()}}};G.style=function(e,t,n){e.rcEndListener&&e.rcEndListener(),e.rcEndListener=function(t){t&&t.target!==e||(e.rcAnimTimeout&&(clearTimeout(e.rcAnimTimeout),e.rcAnimTimeout=null),W(e),Y.removeEndEventListener(e,e.rcEndListener),e.rcEndListener=null,n&&n())},Y.addEndEventListener(e,e.rcEndListener),e.rcAnimTimeout=setTimeout(function(){for(var n in t)t.hasOwnProperty(n)&&(e.style[n]=t[n]);e.rcAnimTimeout=null,q(e)},0)},G.setTransition=function(e,t,n){var r=t,i=n;void 0===n&&(i=r,r=""),r=r||"",U.forEach(function(t){e.style[t+"Transition"+r]=i})},G.isCssAnimationSupported=H;var V=G,J={isAppearSupported:function(e){return e.transitionName&&e.transitionAppear||e.animation.appear},isEnterSupported:function(e){return e.transitionName&&e.transitionEnter||e.animation.enter},isLeaveSupported:function(e){return e.transitionName&&e.transitionLeave||e.animation.leave},allowAppearCallback:function(e){return e.transitionAppear||e.animation.appear},allowEnterCallback:function(e){return e.transitionEnter||e.animation.enter},allowLeaveCallback:function(e){return e.transitionLeave||e.animation.leave}},Q={enter:"transitionEnter",appear:"transitionAppear",leave:"transitionLeave"},X=function(e){function t(){return _()(this,t),k()(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return E()(t,e),A()(t,[{key:"componentWillUnmount",value:function(){this.stop()}},{key:"componentWillEnter",value:function(e){J.isEnterSupported(this.props)?this.transition("enter",e):e()}},{key:"componentWillAppear",value:function(e){J.isAppearSupported(this.props)?this.transition("appear",e):e()}},{key:"componentWillLeave",value:function(e){J.isLeaveSupported(this.props)?this.transition("leave",e):e()}},{key:"transition",value:function(e,t){var n=this,r=C.a.findDOMNode(this),i=this.props,o=i.transitionName,a="object"==typeof o;this.stop();var s=function(){n.stopper=null,t()};if((H||!i.animation[e])&&o&&i[Q[e]]){var u=a?o[e]:o+"-"+e,l=u+"-active";a&&o[e+"Active"]&&(l=o[e+"Active"]),this.stopper=V(r,{name:u,active:l},s)}else this.stopper=i.animation[e](r,s)}},{key:"stop",value:function(){var e=this.stopper;e&&(this.stopper=null,e.stop())}},{key:"render",value:function(){return this.props.children}}]),t}(i.a.Component);X.propTypes={children:a.a.any};var ee=X,te="rc_animate_"+Date.now();function ne(e){var t=e.children;return i.a.isValidElement(t)&&!t.key?i.a.cloneElement(t,{key:te}):t}function re(){}var ie=function(e){function t(e){_()(this,t);var n=k()(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return oe.call(n),n.currentlyAnimatingKeys={},n.keysToEnter=[],n.keysToLeave=[],n.state={children:L(ne(e))},n.childrenRefs={},n}return E()(t,e),A()(t,[{key:"componentDidMount",value:function(){var e=this,t=this.props.showProp,n=this.state.children;t&&(n=n.filter(function(e){return!!e.props[t]})),n.forEach(function(t){t&&e.performAppear(t.key)})}},{key:"componentWillReceiveProps",value:function(e){var t=this;this.nextProps=e;var n=L(ne(e)),r=this.props;r.exclusive&&Object.keys(this.currentlyAnimatingKeys).forEach(function(e){t.stop(e)});var o,a,s,u,l=r.showProp,c=this.currentlyAnimatingKeys,d=r.exclusive?L(ne(r)):this.state.children,f=[];l?(d.forEach(function(e){var t=e&&S(n,e.key),r=void 0;(r=t&&t.props[l]||!e.props[l]?t:i.a.cloneElement(t||e,v()({},l,!0)))&&f.push(r)}),n.forEach(function(e){e&&S(d,e.key)||f.push(e)})):(o=n,a=[],s={},u=[],d.forEach(function(e){e&&S(o,e.key)?u.length&&(s[e.key]=u,u=[]):u.push(e)}),o.forEach(function(e){e&&Object.prototype.hasOwnProperty.call(s,e.key)&&(a=a.concat(s[e.key])),a.push(e)}),f=a=a.concat(u)),this.setState({children:f}),n.forEach(function(e){var n=e&&e.key;if(!e||!c[n]){var r=e&&S(d,n);if(l){var i=e.props[l];if(r)!D(d,n,l)&&i&&t.keysToEnter.push(n);else i&&t.keysToEnter.push(n)}else r||t.keysToEnter.push(n)}}),d.forEach(function(e){var r=e&&e.key;if(!e||!c[r]){var i=e&&S(n,r);if(l){var o=e.props[l];if(i)!D(n,r,l)&&o&&t.keysToLeave.push(r);else o&&t.keysToLeave.push(r)}else i||t.keysToLeave.push(r)}})}},{key:"componentDidUpdate",value:function(){var e=this.keysToEnter;this.keysToEnter=[],e.forEach(this.performEnter);var t=this.keysToLeave;this.keysToLeave=[],t.forEach(this.performLeave)}},{key:"isValidChildByKey",value:function(e,t){var n=this.props.showProp;return n?D(e,t,n):S(e,t)}},{key:"stop",value:function(e){delete this.currentlyAnimatingKeys[e];var t=this.childrenRefs[e];t&&t.stop()}},{key:"render",value:function(){var e=this,t=this.props;this.nextProps=t;var n=this.state.children,r=null;n&&(r=n.map(function(n){if(null==n)return n;if(!n.key)throw new Error("must set key for <rc-animate> children");return i.a.createElement(ee,{key:n.key,ref:function(t){e.childrenRefs[n.key]=t},animation:t.animation,transitionName:t.transitionName,transitionEnter:t.transitionEnter,transitionAppear:t.transitionAppear,transitionLeave:t.transitionLeave},n)}));var o=t.component;if(o){var a=t;return"string"==typeof o&&(a=g()({className:t.className,style:t.style},t.componentProps)),i.a.createElement(o,a,r)}return r[0]||null}}]),t}(i.a.Component);ie.isAnimate=!0,ie.propTypes={component:a.a.any,componentProps:a.a.object,animation:a.a.object,transitionName:a.a.oneOfType([a.a.string,a.a.object]),transitionEnter:a.a.bool,transitionAppear:a.a.bool,exclusive:a.a.bool,transitionLeave:a.a.bool,onEnd:a.a.func,onEnter:a.a.func,onLeave:a.a.func,onAppear:a.a.func,showProp:a.a.string,children:a.a.node},ie.defaultProps={animation:{},component:"span",componentProps:{},transitionEnter:!0,transitionLeave:!0,transitionAppear:!1,onEnd:re,onEnter:re,onLeave:re,onAppear:re};var oe=function(){var e=this;this.performEnter=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillEnter(e.handleDoneAdding.bind(e,t,"enter")))},this.performAppear=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillAppear(e.handleDoneAdding.bind(e,t,"appear")))},this.handleDoneAdding=function(t,n){var r=e.props;if(delete e.currentlyAnimatingKeys[t],!r.exclusive||r===e.nextProps){var i=L(ne(r));e.isValidChildByKey(i,t)?"appear"===n?J.allowAppearCallback(r)&&(r.onAppear(t),r.onEnd(t,!0)):J.allowEnterCallback(r)&&(r.onEnter(t),r.onEnd(t,!0)):e.performLeave(t)}},this.performLeave=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillLeave(e.handleDoneLeaving.bind(e,t)))},this.handleDoneLeaving=function(t){var n=e.props;if(delete e.currentlyAnimatingKeys[t],!n.exclusive||n===e.nextProps){var r,i,o,a,s=L(ne(n));if(e.isValidChildByKey(s,t))e.performEnter(t);else{var u=function(){J.allowLeaveCallback(n)&&(n.onLeave(t),n.onEnd(t,!1))};r=e.state.children,i=s,o=n.showProp,(a=r.length===i.length)&&r.forEach(function(e,t){var n=i[t];e&&n&&(e&&!n||!e&&n?a=!1:e.key!==n.key?a=!1:o&&e.props[o]!==n.props[o]&&(a=!1))}),a?u():e.setState({children:s},u)}}}},ae=ie,se=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ue(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function le(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var ce=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r=le(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.handleItemClick=function(){var e=r.props,t=e.onItemClick,n=e.panelKey;"function"==typeof t&&t(n)},r.handleKeyPress=function(e){"Enter"!==e.key&&13!==e.keyCode&&13!==e.which||r.handleItemClick()},le(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),se(t,[{key:"shouldComponentUpdate",value:function(e){return!c()(this.props,e)}},{key:"render",value:function(){var e,t=this.props,n=t.className,r=t.id,o=t.style,a=t.prefixCls,s=t.header,l=t.headerClass,c=t.children,d=t.isActive,f=t.showArrow,p=t.destroyInactivePanel,m=t.disabled,g=t.accordion,y=t.forceRender,v=t.expandIcon,b=t.extra,_=u()(a+"-header",ue({},l,l)),w=u()((ue(e={},a+"-item",!0),ue(e,a+"-item-active",d),ue(e,a+"-item-disabled",m),e),n),A=i.a.createElement("i",{className:"arrow"});return f&&"function"==typeof v&&(A=v(this.props)),i.a.createElement("div",{className:w,style:o,id:r},i.a.createElement("div",{className:_,onClick:this.handleItemClick,role:g?"tab":"button",tabIndex:m?-1:0,"aria-expanded":""+d,onKeyPress:this.handleKeyPress},f&&A,s,b&&i.a.createElement("div",{className:a+"-extra"},b)),i.a.createElement(ae,{showProp:"isActive",exclusive:!0,component:"",animation:this.props.openAnimation},i.a.createElement(h,{prefixCls:a,isActive:d,destroyInactivePanel:p,forceRender:y,role:g?"tabpanel":null},c)))}}]),t}();ce.propTypes={className:a.a.oneOfType([a.a.string,a.a.object]),id:a.a.string,children:a.a.any,openAnimation:a.a.object,prefixCls:a.a.string,header:a.a.oneOfType([a.a.string,a.a.number,a.a.node]),headerClass:a.a.string,showArrow:a.a.bool,isActive:a.a.bool,onItemClick:a.a.func,style:a.a.object,destroyInactivePanel:a.a.bool,disabled:a.a.bool,accordion:a.a.bool,forceRender:a.a.bool,expandIcon:a.a.func,extra:a.a.node,panelKey:a.a.any},ce.defaultProps={showArrow:!0,isActive:!1,destroyInactivePanel:!1,onItemClick:function(){},headerClass:"",forceRender:!1};var de=ce;function fe(e,t,n,r){var i=void 0;return V(e,n,{start:function(){t?(i=e.offsetHeight,e.style.height=0):e.style.height=e.offsetHeight+"px"},active:function(){e.style.height=(t?i:0)+"px"},end:function(){e.style.height="",r()}})}var pe=function(e){return{enter:function(t,n){return fe(t,!0,e+"-anim",n)},leave:function(t,n){return fe(t,!1,e+"-anim",n)}}},he=n(56),me=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ge(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ye(e){var t=e;return Array.isArray(t)||(t=t?[t]:[]),t}var ve=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));be.call(n);var r=e.activeKey,i=e.defaultActiveKey;return"activeKey"in e&&(i=r),n.state={openAnimation:e.openAnimation||pe(e.prefixCls),activeKey:ye(i)},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),me(t,[{key:"componentWillReceiveProps",value:function(e){"activeKey"in e&&this.setState({activeKey:ye(e.activeKey)}),"openAnimation"in e&&this.setState({openAnimation:e.openAnimation})}},{key:"shouldComponentUpdate",value:function(e,t){return!c()(this.props,e)||!c()(this.state,t)}},{key:"render",value:function(){var e,t=this.props,n=t.prefixCls,r=t.className,o=t.style,a=t.accordion,s=u()((ge(e={},n,!0),ge(e,r,!!r),e));return i.a.createElement("div",{className:s,style:o,role:a?"tablist":null},this.getItems())}}]),t}(),be=function(){var e=this;this.onClickItem=function(t){var n=e.state.activeKey;if(e.props.accordion)n=n[0]===t?[]:[t];else{var r=(n=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(n))).indexOf(t);r>-1?n.splice(r,1):n.push(t)}e.setActiveKey(n)},this.getNewChild=function(t,n){if(!t)return null;var r=e.state.activeKey,o=e.props,a=o.prefixCls,s=o.accordion,u=o.destroyInactivePanel,l=o.expandIcon,c=t.key||String(n),d=t.props,f=d.header,p=d.headerClass,h=d.disabled,m={key:c,panelKey:c,header:f,headerClass:p,isActive:s?r[0]===c:r.indexOf(c)>-1,prefixCls:a,destroyInactivePanel:u,openAnimation:e.state.openAnimation,accordion:s,children:t.props.children,onItemClick:h?null:e.onClickItem,expandIcon:l};return i.a.cloneElement(t,m)},this.getItems=function(){var t=e.props.children,n=Object(he.isFragment)(t)?t.props.children:t,o=r.Children.map(n,e.getNewChild);return Object(he.isFragment)(t)?i.a.createElement(i.a.Fragment,null,o):o},this.setActiveKey=function(t){"activeKey"in e.props||e.setState({activeKey:t}),e.props.onChange(e.props.accordion?t[0]:t)}};ve.propTypes={children:a.a.any,prefixCls:a.a.string,activeKey:a.a.oneOfType([a.a.string,a.a.arrayOf(a.a.string)]),defaultActiveKey:a.a.oneOfType([a.a.string,a.a.arrayOf(a.a.string)]),openAnimation:a.a.object,onChange:a.a.func,accordion:a.a.bool,className:a.a.string,style:a.a.object,destroyInactivePanel:a.a.bool,expandIcon:a.a.func},ve.defaultProps={prefixCls:"rc-collapse",onChange:function(){},accordion:!1,destroyInactivePanel:!1},ve.Panel=de;var _e=ve;n.d(t,"Panel",function(){return we});t.default=_e;var we=_e.Panel},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r);function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var a=n(146),s=n.n(a);function u(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n(12);n(541);var l=n(273),c=n(87),d=function(e,t){return function(n){return n[e]=t,n}},f=function(e){return d("displayName",e)},p=function(e){return function(t){var n=Object(r.createFactory)(t);return function(t){return n(e(t))}}},h=function(e,t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=t(e[r],r));return n},m=(Object.keys,r.Component,function(e){return function(t){var n=Object(r.createFactory)(t);return function(t){function r(){return t.apply(this,arguments)||this}u(r,t);var i=r.prototype;return i.shouldComponentUpdate=function(t){return e(this.props,t)},i.render=function(){return n(this.props)},r}(r.Component)}}),g=function(e){return m(function(e,t){return!s()(e,t)})(e)};var y,v=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}},function(e){return e})},b={fromESObservable:null,toESObservable:null},_={fromESObservable:function(e){return"function"==typeof b.fromESObservable?b.fromESObservable(e):e},toESObservable:function(e){return"function"==typeof b.toESObservable?b.toESObservable(e):e}},w=(y=_,n(533)),A=n(542),x=n.n(A);function k(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&(n[r[i]]=e[r[i]])}return n}var M,E,L,S,D,T,C=v(f("DebounceInput"),g,(T={wait:250},function(e){var t=Object(r.createFactory)(e),n=function(e){return t(e)};return n.defaultProps=T,n}),(S={debounceFieldValue:"",debouncing:!1},D={setDebounceFieldValue:function(){return function(e){return{debounceFieldValue:e}}},setDebouncing:function(){return function(e){return{debouncing:e}}}},function(e){var t=Object(r.createFactory)(e);return function(e){function n(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).state="function"==typeof S?S(t.props):S,t.stateUpdaters=h(D,function(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];n&&"function"==typeof n.persist&&n.persist(),t.setState(function(t,r){return e(t,r).apply(void 0,[n].concat(i))})}}),t}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.state,this.stateUpdaters))},n}(r.Component)}),(L={componentDidMount:function(){this.props.setDebounceFieldValue(this.props.input.value)},componentWillReceiveProps:function(e){e.debouncing||e.input.value!==this.props.input.value&&this.props.setDebounceFieldValue(e.input.value)}},function(e){var t=Object(r.createFactory)(e),n=function(e){function n(){return e.apply(this,arguments)||this}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.state))},n}(r.Component);return Object.keys(L).forEach(function(e){return n.prototype[e]=L[e]}),n}),(E=function(e){var t=e.wait,n=e.setDebouncing,r=x()(function(e,t){n(!1),e(t)},t);return{onChange:function(e){return function(t){t.persist(),n(!0),r(e.input.onChange,t),e.setDebounceFieldValue(t.target.value)}},onBlur:function(e){return function(t){r.cancel(),n(!1),e.input.onChange(t),e.input.onBlur(t)}},onKeyDown:function(e){return function(t){13===t.keyCode&&(r.cancel(),n(!1),e.input.onChange(t))}}}},function(e){var t=Object(r.createFactory)(e);return function(e){function n(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).handlers=h("function"==typeof E?E(t.props):E,function(e){return function(){return e(t.props).apply(void 0,arguments)}}),t}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.handlers))},n}(r.Component)}),(M=function(e){var t=e.input,n=e.debounceFieldValue,r=e.onChange,i=e.onBlur,o=e.onKeyDown;return{input:Object.assign({},t,{value:n,onChange:r,onBlur:i,onKeyDown:o})}},p(function(e){return o({},e,"function"==typeof M?M(e):M)})))(function(e){var t=e.ownerComponent,n=(e.wait,e.debounceFieldValue,e.setDebounceFieldValue,e.debouncing,e.setDebouncing,e.onChange,e.onBlur,e.onKeyDown,k(e,["ownerComponent","wait","debounceFieldValue","setDebounceFieldValue","debouncing","setDebouncing","onChange","onBlur","onKeyDown"]));return i.a.createElement(t,Object.assign({},n))}),O=v(f("DebounceField"),g)(function(e){var t=e.component,n=k(e,["component"]);return i.a.createElement(w.a,Object.assign({},n,{component:C,ownerComponent:t}))});t.default=O},function(e,t,n){"use strict";n.r(t);var r=n(484),i=n.n(r),o=n(240),a=n(490),s=n.n(a),u=n(241),l=n.n(u),c=n(491),d=n.n(c),f=n(239),p=n.n(f),h={version:"1.7.25",country_calling_codes:{1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],383:["XK"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],800:["001"],808:["001"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],870:["001"],878:["001"],880:["BD"],881:["001"],882:["001"],883:["001"],886:["TW"],888:["001"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],979:["001"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},countries:{AC:["247","00","(?:[01589]\\d|[46])\\d{4}",[5,6]],AD:["376","00","(?:1|6\\d)\\d{7}|[136-9]\\d{5}",[6,8,9],[["(\\d{3})(\\d{3})","$1 $2",["[136-9]"]],["(\\d{4})(\\d{4})","$1 $2",["1"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]]],AE:["971","00","(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}",[5,6,7,8,9,10,11,12],[["(\\d{3})(\\d{2,9})","$1 $2",["60|8"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[236]|[479][2-8]"],"0$1"],["(\\d{3})(\\d)(\\d{5})","$1 $2 $3",["[479]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"]],"0"],AF:["93","00","[2-7]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],"0"],AG:["1","011","(?:268|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([457]\\d{6})$","268$1",0,"268"],AI:["1","011","(?:264|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2457]\\d{6})$","264$1",0,"264"],AL:["355","00","(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}",[6,7,8,9],[["(\\d{3})(\\d{3,4})","$1 $2",["80|9"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["4[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2358][2-5]|4"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["[23578]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["6"],"0$1"]],"0"],AM:["374","00","(?:[1-489]\\d|55|60|77)\\d{6}",[8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0 $1"],["(\\d{3})(\\d{5})","$1 $2",["2|3[12]"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["1|47"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[3-9]"],"0$1"]],"0"],AO:["244","00","[29]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[29]"]]]],AR:["54","00","11\\d{8}|(?:[2368]|9\\d)\\d{9}",[10,11],[["(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])","2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5(?:[24-6]|3[2-5]))|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["[23]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],["(\\d)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))","9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5(?:[24-6]|3[2-5]))|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 15-$3-$4",["91"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9"],"0$1",0,"$1 $2 $3-$4"]],"0",0,"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1"],AS:["1","011","(?:[58]\\d\\d|684|900)\\d{7}",[10],0,"1",0,"1|([267]\\d{6})$","684$1",0,"684"],AT:["43","00","1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",[4,5,6,7,8,9,10,11,12,13],[["(\\d)(\\d{3,12})","$1 $2",["1(?:11|[2-9])"],"0$1"],["(\\d{3})(\\d{2})","$1 $2",["517"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["5[079]"],"0$1"],["(\\d{3})(\\d{3,10})","$1 $2",["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],"0$1"],["(\\d{4})(\\d{3,9})","$1 $2",["[2-467]|5[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["5"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,7})","$1 $2 $3",["5"],"0$1"]],"0"],AU:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{7,8}|8[0-24-9]\\d{7})|(?:[2-478]\\d\\d|550)\\d{6}|1\\d{4,7}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,4})","$1 $2",["16"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["14|[45]"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:30|[89])"]]],"0",0,"0|(183[12])",0,0,0,[["(?:[237]\\d{5}|8(?:51(?:0(?:0[03-9]|[1247]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-6])|1(?:1[69]|[23]\\d|4[0-4]))|(?:[6-8]\\d{3}|9(?:[02-9]\\d\\d|1(?:[0-57-9]\\d|6[0135-9])))\\d))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,["16\\d{3,7}",[5,6,7,8,9]],["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],AW:["297","00","(?:[25-79]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[25-9]"]]]],AX:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|(?:[147]\\d|3[0-46-9]|50)\\d{4,8}",[5,6,7,8,9,10],0,"0",0,0,0,0,"18",0,"00"],AZ:["994","00","(?:365\\d{3}|900200)\\d{3}|(?:[12457]\\d|60|88)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[12]|365","[12]|365","[12]|365(?:[0-46-9]|5[0-35-9])"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[3-8]"],"0$1"]],"0"],BA:["387","00","6\\d{8}|(?:[35689]\\d|49|70)\\d{6}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-356]|[7-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6"],"0$1"]],"0"],BB:["1","011","(?:246|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","246$1",0,"246"],BD:["880","00","[13469]\\d{9}|8[0-79]\\d{7,8}|[2-7]\\d{8}|[2-9]\\d{7}|[3-689]\\d{6}|[57-9]\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{4,6})","$1-$2",["31[5-7]|[459]1"],"0$1"],["(\\d{3})(\\d{3,7})","$1-$2",["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:28|4[14]|5)|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],"0$1"],["(\\d{4})(\\d{3,6})","$1-$2",["[13-9]"],"0$1"],["(\\d)(\\d{7,8})","$1-$2",["2"],"0$1"]],"0"],BE:["32","00","4\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[239]|4[23]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[15-8]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4"],"0$1"]],"0"],BF:["226","00","[025-7]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[025-7]"]]]],BG:["359","00","[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",[6,7,8,9],[["(\\d)(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["43[1-6]|70[1-9]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:70|8)0"],"0$1"],["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[1-7]|7"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[48]|9[08]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"]],"0"],BH:["973","00","[136-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[13679]|8[047]"]]]],BI:["257","00","(?:[267]\\d|31)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2367]"]]]],BJ:["229","00","[2689]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2689]"]]]],BL:["590","00","(?:590|69\\d)\\d{6}",[9],0,"0",0,0,0,0,0,[["590(?:2[7-9]|5[12]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],BM:["1","011","(?:441|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-8]\\d{6})$","441$1",0,"441"],BN:["673","00","[2-578]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-578]"]]]],BO:["591","00(?:1\\d)?","(?:[2-467]\\d{3}|80017)\\d{4}",[8,9],[["(\\d)(\\d{7})","$1 $2",["[23]|4[46]"]],["(\\d{8})","$1",["[67]"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["8"]]],"0",0,"0(1\\d)?"],BQ:["599","00","(?:[34]1|7\\d)\\d{5}",[7],0,0,0,0,0,0,"[347]"],BR:["55","00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)","(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-24679]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}",[8,9,10,11],[["(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37)","4(?:02|37)0|[34]00"]],["(\\d{3})(\\d{2,3})(\\d{4})","$1 $2 $3",["(?:[358]|90)0"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],"($1)"],["(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[16][1-9]|[2-57-9]"],"($1)"]],"0",0,"0(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?","$2"],BS:["1","011","(?:242|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([3-8]\\d{6})$","242$1",0,"242"],BT:["975","00","[17]\\d{7}|[2-8]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[2-68]|7[246]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[67]|7"]]]],BW:["267","00","90\\d{5}|(?:[2-6]|7\\d)\\d{6}",[7,8],[["(\\d{2})(\\d{5})","$1 $2",["90"]],["(\\d{3})(\\d{4})","$1 $2",["[2-6]"]],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["7"]]]],BY:["375","810","(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3})","$1 $2",["800"],"8 $1"],["(\\d{3})(\\d{2})(\\d{2,4})","$1 $2 $3",["800"],"8 $1"],["(\\d{4})(\\d{2})(\\d{3})","$1 $2-$3",["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])","1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],"8 0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["1(?:[56]|7[467])|2[1-3]"],"8 0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-4]"],"8 0$1"],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["[89]"],"8 $1"]],"8",0,"0|80?",0,0,0,0,"8~10"],BZ:["501","00","(?:0800\\d|[2-8])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1-$2",["[2-8]"]],["(\\d)(\\d{3})(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]]]],CA:["1","011","(?:[2-8]\\d|90)\\d{8}",[10],0,"1",0,0,0,0,0,[["(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["(?:5(?:00|2[12]|33|44|66|77|88)|622)[2-9]\\d{6}"],0,0,0,["600[2-9]\\d{6}"]]],CC:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d|8[0-24-9])\\d{7}|(?:[148]\\d\\d|550)\\d{6}|1\\d{5,7}",[6,7,8,9,10],0,"0",0,"0|([59]\\d{7})$","8$1",0,0,[["8(?:51(?:0(?:02|31|60)|118)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],CD:["243","00","[189]\\d{8}|[1-68]\\d{6}",[7,9],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[1-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"],"0$1"]],"0"],CF:["236","00","(?:[27]\\d{3}|8776)\\d{4}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[278]"]]]],CG:["242","00","222\\d{6}|(?:0\\d|80)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["801"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]]]],CH:["41","00","8\\d{11}|[2-9]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]|81"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["8"],"0$1"]],"0"],CI:["225","00","[02-8]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[02-8]"]]]],CK:["682","00","[2-8]\\d{4}",[5],[["(\\d{2})(\\d{3})","$1 $2",["[2-8]"]]]],CL:["56","(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0","12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}",[9,10,11],[["(\\d{5})(\\d{4})","$1 $2",["21"],"($1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["44"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[23]"],"($1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["9[2-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"],"($1)"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{3})(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"]]]],CM:["237","00","(?:[26]\\d\\d|88)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["88"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]"]]]],CN:["86","00|1(?:[12]\\d|79|9[0235-7])\\d\\d00","1[1279]\\d{8,9}|2\\d{9}(?:\\d{2})?|[12]\\d{6,7}|86\\d{6}|(?:1[03-68]\\d|6)\\d{7,9}|(?:[3-579]\\d|8[0-57-9])\\d{6,9}",[7,8,9,10,11,12],[["(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2[0-57-9])[19]","(?:10|2[0-57-9])(?:10|9[56])","(?:10|2[0-57-9])(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{5,6})","$1 $2",["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]","(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]","85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])","85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["(?:4|80)0"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|2(?:[02-57-9]|1[1-9])","10|2(?:[02-57-9]|1[1-9])","10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"],"0$1",1],["(\\d{3})(\\d{7,8})","$1 $2",["9"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[3-578]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-9]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["[12]"],"0$1",1]],"0",0,"0|(1(?:[12]\\d|79|9[0235-7])\\d\\d)",0,0,0,0,"00"],CO:["57","00(?:4(?:[14]4|56)|[579])","(?:1\\d|3)\\d{9}|[124-8]\\d{7}",[8,10,11],[["(\\d)(\\d{7})","$1 $2",["1[2-79]|[25-8]|(?:18|4)[2-9]"],"($1)"],["(\\d{3})(\\d{7})","$1 $2",["3"]],["(\\d)(\\d{3})(\\d{7})","$1-$2-$3",["1(?:80|9)","1(?:800|9)"],"0$1",0,"$1 $2 $3"]],"0",0,"0([3579]|4(?:[14]4|56))?"],CR:["506","00","(?:8\\d|90)\\d{8}|[24-8]\\d{7}",[8,10],[["(\\d{4})(\\d{4})","$1 $2",["[24-7]|8[3-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]"]]],0,0,"(19(?:0[0-2468]|1[09]|20|66|77|99))"],CU:["53","119","[27]\\d{6,7}|[34]\\d{5,7}|5\\d{7}",[6,7,8],[["(\\d{2})(\\d{4,6})","$1 $2",["2[1-4]|[34]"],"(0$1)"],["(\\d)(\\d{6,7})","$1 $2",["7"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["5"],"0$1"]],"0"],CV:["238","0","[2-59]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2-59]"]]]],CW:["599","00","(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[3467]"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["9[4-8]"]]],0,0,0,0,0,"[69]"],CX:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d|8[0-24-9])\\d{7}|(?:[148]\\d\\d|550)\\d{6}|1\\d{5,7}",[6,7,8,9,10],0,"0",0,"0|([59]\\d{7})$","8$1",0,0,[["8(?:51(?:0(?:01|30|59)|117)|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],CY:["357","00","(?:[279]\\d|[58]0)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[257-9]"]]]],CZ:["420","00","(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]|9[015-7]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]]],DE:["49","00","[2579]\\d{5,14}|49(?:[05]\\d{10}|[46][1-8]\\d{4,9})|49(?:[0-25]\\d|3[1-689]|7[1-7])\\d{4,8}|49(?:[0-2579]\\d|[34][1-9]|6[0-8])\\d{3}|49\\d{3,4}|(?:1|[368]\\d|4[0-8])\\d{3,13}",[4,5,6,7,8,9,10,11,12,13,14,15],[["(\\d{2})(\\d{3,13})","$1 $2",["3[02]|40|[68]9"],"0$1"],["(\\d{3})(\\d{3,12})","$1 $2",["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1","2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"],"0$1"],["(\\d{4})(\\d{2,11})","$1 $2",["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]","[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["138"],"0$1"],["(\\d{5})(\\d{2,10})","$1 $2",["3"],"0$1"],["(\\d{3})(\\d{5,11})","$1 $2",["181"],"0$1"],["(\\d{3})(\\d)(\\d{4,10})","$1 $2 $3",["1(?:3|80)|9"],"0$1"],["(\\d{3})(\\d{7,8})","$1 $2",["1[67]"],"0$1"],["(\\d{3})(\\d{7,12})","$1 $2",["8"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["185","1850","18500"],"0$1"],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["18[68]"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["15[0568]"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["15[1279]"],"0$1"],["(\\d{3})(\\d{8})","$1 $2",["18"],"0$1"],["(\\d{3})(\\d{2})(\\d{7,8})","$1 $2 $3",["1(?:6[023]|7)"],"0$1"],["(\\d{4})(\\d{2})(\\d{7})","$1 $2 $3",["15[279]"],"0$1"],["(\\d{3})(\\d{2})(\\d{8})","$1 $2 $3",["15"],"0$1"]],"0"],DJ:["253","00","(?:2\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[27]"]]]],DK:["45","00","[2-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-9]"]]]],DM:["1","011","(?:[58]\\d\\d|767|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","767$1",0,"767"],DO:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,0,0,0,"8[024]9"],DZ:["213","00","(?:[1-4]|[5-79]\\d|80)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-8]"],"0$1"]],"0"],EC:["593","00","1800\\d{6,7}|(?:[2-7]|9\\d)\\d{7}",[8,9,10,11],[["(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[2-7]"],"(0$1)",0,"$1-$2-$3"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]]],"0"],EE:["372","00","8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d\\d|900)\\d{4}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]"]],["(\\d{4})(\\d{3,4})","$1 $2",["[45]|8(?:00|[1-4])","[45]|8(?:00[1-9]|[1-4])"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["80"]]]],EG:["20","00","[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",[8,9,10],[["(\\d)(\\d{7,8})","$1 $2",["[23]"],"0$1"],["(\\d{2})(\\d{6,7})","$1 $2",["1[35]|[4-6]|8[2468]|9[235-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[189]"],"0$1"]],"0"],EH:["212","00","[5-8]\\d{8}",[9],0,"0",0,0,0,0,"528[89]"],ER:["291","00","[178]\\d{6}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[178]"],"0$1"]],"0"],ES:["34","00","(?:51|[6-9]\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-9]"]]]],ET:["251","00","(?:11|[2-59]\\d)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-59]"],"0$1"]],"0"],FI:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}|[1-35689]\\d{4}",[5,6,7,8,9,10],[["(\\d)(\\d{4,9})","$1 $2",["[2568][1-8]|3(?:0[1-9]|[1-9])|9"],"0$1"],["(\\d{3})(\\d{3,7})","$1 $2",["(?:[12]0|7)0|[368]"],"0$1"],["(\\d{2})(\\d{4,8})","$1 $2",["[12457]"],"0$1"]],"0",0,0,0,0,"1[03-79]|[2-9]",0,"00"],FJ:["679","0(?:0|52)","45\\d{5}|(?:0800\\d|[235-9])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1 $2",["[235-9]|45"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]]],0,0,0,0,0,0,0,"00"],FK:["500","00","[2-7]\\d{4}",[5]],FM:["691","00","[39]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[39]"]]]],FO:["298","00","(?:[2-8]\\d|90)\\d{4}",[6],[["(\\d{6})","$1",["[2-9]"]]],0,0,"(10(?:01|[12]0|88))"],FR:["33","00","[1-9]\\d{8}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"]],"0"],GA:["241","00","(?:0\\d|[2-7])\\d{6}",[7,8],[["(\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]]]],GB:["44","00","[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",[7,9,10],[["(\\d{3})(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["845","8454","84546","845464"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["800"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:(?:38|69)7|5(?:24|39)|768|946)","1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["1(?:[2-69][02-9]|[78])"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[25]|7(?:0|6[024-9])","[25]|7(?:0|6(?:[04-9]|2[356]))"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[1389]"],"0$1"]],"0",0,0,0,0,0,[["(?:1(?:(?:1(?:3[0-58]|4[0-5]|5[0-26-9]|6[0-4]|[78][0-49])|3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d\\d|2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d\\d|1(?:[0-7]\\d\\d|80[04589])))|2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d|7(?:(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))\\d|6888[2-46-8]))\\d\\d",[9,10]],["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",[10]],["56\\d{8}",[10]]],0," x"],GD:["1","011","(?:473|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","473$1",0,"473"],GE:["995","00","(?:[3-57]\\d\\d|800)\\d{6}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["32"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[57]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[348]"],"0$1"]],"0"],GF:["594","00","[56]94\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0"],GG:["44","00","(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",[7,9,10],0,"0",0,"0|([25-9]\\d{5})$","1481$1",0,0,[["1481[25-9]\\d{5}",[10]],["7(?:(?:781|839)\\d|911[17])\\d{5}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",[10]],["56\\d{8}",[10]]]],GH:["233","00","(?:[235]\\d{3}|800)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"]],"0"],GI:["350","00","(?:[25]\\d\\d|629)\\d{5}",[8],[["(\\d{3})(\\d{5})","$1 $2",["2"]]]],GL:["299","00","(?:19|[2-689]\\d)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["19|[2-689]"]]]],GM:["220","00","[2-9]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],GN:["224","00","(?:30|6\\d\\d|722)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[67]"]]]],GP:["590","00","(?:590|69\\d)\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0",0,0,0,0,0,[["590(?:0[1-68]|1[0-2]|2[0-68]|3[1289]|4[0-24-9]|5[3-579]|6[0189]|7[08]|8[0-689]|9\\d)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],GQ:["240","00","222\\d{6}|(?:3\\d|55|[89]0)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"]],["(\\d{3})(\\d{6})","$1 $2",["[89]"]]]],GR:["30","00","(?:[268]\\d|[79]0)\\d{8}",[10],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["21|7"]],["(\\d{4})(\\d{6})","$1 $2",["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2689]"]]]],GT:["502","00","(?:1\\d{3}|[2-7])\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1 $2",["[2-7]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],GU:["1","011","(?:[58]\\d\\d|671|900)\\d{7}",[10],0,"1",0,"1|([3-9]\\d{6})$","671$1",0,"671"],GW:["245","00","[49]\\d{8}|4\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["40"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"]]]],GY:["592","001","(?:862\\d|9008)\\d{3}|(?:[2-46]\\d|77)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-46-9]"]]]],HK:["852","00(?:30|5[09]|[126-9]?)","8[0-46-9]\\d{6,7}|9\\d{4}(?:\\d(?:\\d(?:\\d{4})?)?)?|(?:[235-79]\\d|46)\\d{6}",[5,6,7,8,9,11],[["(\\d{3})(\\d{2,5})","$1 $2",["900","9003"]],["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{3})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]],0,0,0,0,0,0,0,"00"],HN:["504","00","[237-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1-$2",["[237-9]"]]]],HR:["385","00","(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}",[6,7,8,9],[["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["6[01]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{4})(\\d{3})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-5]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],"0"],HT:["509","00","[2-489]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[2-489]"]]]],HU:["36","00","[2357]\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-57-9]"],"06 $1"]],"06"],ID:["62","00[189]","(?:(?:007803|8\\d{4})\\d|[1-36])\\d{6}|[1-9]\\d{8,10}|[2-9]\\d{7}",[7,8,9,10,11,12,13],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["15"]],["(\\d{2})(\\d{5,9})","$1 $2",["2[124]|[36]1"],"(0$1)"],["(\\d{3})(\\d{5,7})","$1 $2",["800"],"0$1"],["(\\d{3})(\\d{5,8})","$1 $2",["[2-79]"],"(0$1)"],["(\\d{3})(\\d{3,4})(\\d{3})","$1-$2-$3",["8[1-35-9]"],"0$1"],["(\\d{3})(\\d{6,8})","$1 $2",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],["(\\d{3})(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1-$2-$3",["8"],"0$1"]],"0"],IE:["353","00","(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["2[24-9]|47|58|6[237-9]|9[35-9]"],"(0$1)"],["(\\d{3})(\\d{5})","$1 $2",["[45]0"],"(0$1)"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["1"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2569]|4[1-69]|7[14]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["81"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[78]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]],["(\\d{2})(\\d)(\\d{3})(\\d{4})","$1 $2 $3 $4",["8"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["4"],"(0$1)"]],"0"],IL:["972","0(?:0|1[2-9])","1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}",[7,8,9,10,11,12],[["(\\d{4})(\\d{3})","$1-$2",["125"]],["(\\d{4})(\\d{2})(\\d{2})","$1-$2-$3",["121"]],["(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-489]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1-$2-$3",["12"]],["(\\d{4})(\\d{6})","$1-$2",["159"]],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3-$4",["1[7-9]"]],["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})","$1-$2 $3-$4",["15"]]],"0"],IM:["44","00","1624\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"0|([5-8]\\d{5})$","1624$1",0,"74576|(?:16|7[56])24"],IN:["91","00","(?:00800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}",[8,9,10,11,12,13],[["(\\d{8})","$1",["5(?:0|2[23]|3[03]|[67]1|88)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"],0,1],["(\\d{4})(\\d{4,5})","$1 $2",["180","1800"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["140"],0,1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79[1-7]|80[2-46]","11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])","11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|(?:55|61)2|7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:1(?:29|60|8[06])|261|552|788[01])[2-7]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])"],"0$1",1],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|[4-8])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807","1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]","1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|3179)|807(?:1|9[1-3])|(?:1552|7(?:28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],"0$1",1],["(\\d{5})(\\d{5})","$1 $2",["[6-9]"],"0$1",1],["(\\d{4})(\\d{2,4})(\\d{4})","$1 $2 $3",["1(?:6|8[06])","1(?:6|8[06]0)"],0,1],["(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18"],0,1]],"0"],IO:["246","00","3\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["3"]]]],IQ:["964","00","(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],IR:["98","00","[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}",[4,5,6,7,10],[["(\\d{4,5})","$1",["96"],"0$1"],["(\\d{2})(\\d{4,5})","$1 $2",["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[1-8]"],"0$1"]],"0"],IS:["354","00|1(?:0(?:01|[12]0)|100)","(?:38\\d|[4-9])\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["[4-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["3"]]],0,0,0,0,0,0,0,"00"],IT:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],[["(\\d{2})(\\d{4,6})","$1 $2",["0[26]"]],["(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[245])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[45][0-4]))"]],["(\\d{4})(\\d{2,6})","$1 $2",["0(?:[13-579][2-46-8]|8[236-8])"]],["(\\d{4})(\\d{4})","$1 $2",["894"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|5"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1[4679]|[38]"]],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]"]],["(\\d{2})(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["3"]]],0,0,0,0,0,0,[["0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"],["3[1-9]\\d{8}|3[2-9]\\d{7}",[9,10]],["80(?:0\\d{3}|3)\\d{3}",[6,9]],["(?:0878\\d\\d|89(?:2|4[5-9]\\d))\\d{3}|89[45][0-4]\\d\\d|(?:1(?:44|6[346])|89(?:5[5-9]|9))\\d{6}",[6,8,9,10]],["1(?:78\\d|99)\\d{6}",[9,10]],0,0,0,["55\\d{8}",[10]],["84(?:[08]\\d{3}|[17])\\d{3}",[6,9]]]],JE:["44","00","1534\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"0|([0-24-8]\\d{5})$","1534$1",0,0,[["1534[0-24-8]\\d{5}"],["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97[7-9]))\\d{5}"],["80(?:07(?:35|81)|8901)\\d{4}"],["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"],["701511\\d{4}"],0,["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}"],["56\\d{8}"]]],JM:["1","011","(?:[58]\\d\\d|658|900)\\d{7}",[10],0,"1",0,0,0,0,"658|876"],JO:["962","00","900\\d{5}|(?:(?:[268]|7\\d)\\d|32|53)\\d{6}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]|87"],"(0$1)"],["(\\d{3})(\\d{5,6})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["70"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],JP:["81","010","00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",[8,9,10,11,12,13,14,15,16,17],[["(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],["(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[78]|96)|477|51[24]|636)|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[78]|96[2457-9])|477|51[24]|636[2-57-9])|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])","[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[279]|49|6[0-24-689]|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|5(?:2|3[045]|4[0-369]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|49|6(?:[0-24]|5[0-3589]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:49|55|83)[29]|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:47[59]|59[89]|8(?:6[68]|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:48|829(?:2|66)|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],"0$1"],["(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3[3-8]|5[2-9])","[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3(?:[3-6][2-9]|7|8[2-5])|5[2-9])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[2579]|80"],"0$1"]],"0"],KE:["254","000","(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}",[7,8,9,10],[["(\\d{2})(\\d{5,7})","$1 $2",["[24-6]"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[17]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0"],KG:["996","00","8\\d{9}|(?:[235-8]\\d|99)\\d{7}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["3(?:1[346]|[24-79])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-79]|88"],"0$1"],["(\\d{3})(\\d{3})(\\d)(\\d{2,3})","$1 $2 $3 $4",["8"],"0$1"]],"0"],KH:["855","00[14-9]","1\\d{9}|[1-9]\\d{7,8}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],KI:["686","00","(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",[5,8],0,"0"],KM:["269","00","[3478]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[3478]"]]]],KN:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","869$1",0,"869"],KP:["850","00|99","85\\d{6}|(?:19\\d|2)\\d{7}",[8,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"]],"0"],KR:["82","00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))","00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}",[5,6,8,9,10,11,12,13,14],[["(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1"],["(\\d{4})(\\d{4})","$1-$2",["1"]],["(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60|8"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["[1346]|5[1-5]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{2})(\\d{5})(\\d{4})","$1-$2-$3",["5"],"0$1"]],"0",0,"0(8(?:[1-46-8]|5\\d\\d))?"],KW:["965","00","(?:18|[2569]\\d\\d)\\d{5}",[7,8],[["(\\d{4})(\\d{3,4})","$1 $2",["[169]|2(?:[235]|4[1-35-9])|52"]],["(\\d{3})(\\d{5})","$1 $2",["[25]"]]]],KY:["1","011","(?:345|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","345$1",0,"345"],KZ:["7","810","33622\\d{5}|(?:7\\d|80)\\d{8}",[10],0,"8",0,0,0,0,"33|7",0,"8~10"],LA:["856","00","(?:2\\d|3)\\d{8}|(?:[235-8]\\d|41)\\d{6}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|3[14]|[4-8]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["3"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2"],"0$1"]],"0"],LB:["961","00","[7-9]\\d{7}|[13-9]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"]]],"0"],LC:["1","011","(?:[58]\\d\\d|758|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","758$1",0,"758"],LI:["423","00","90\\d{5}|(?:[2378]|6\\d\\d)\\d{6}",[7,9],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[237-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["69"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]],"0",0,"0|(10(?:01|20|66))"],LK:["94","00","(?:[1-7]\\d|[89]1)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[1-689]"],"0$1"]],"0"],LR:["231","00","(?:2|33|5\\d|77|88)\\d{7}|[45]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[45]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3578]"],"0$1"]],"0"],LS:["266","00","(?:[256]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2568]"]]]],LT:["370","00","(?:[3469]\\d|52|[78]0)\\d{6}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["52[0-79]"],"(8-$1)",1],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[7-9]"],"8 $1",1],["(\\d{2})(\\d{6})","$1 $2",["37|4(?:[15]|6[1-8])"],"(8-$1)",1],["(\\d{3})(\\d{5})","$1 $2",["[3-6]"],"(8-$1)",1]],"8",0,"[08]"],LU:["352","00","35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}",[4,5,6,7,8,9,10,11],[["(\\d{2})(\\d{3})","$1 $2",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20[2-689]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"]],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["80[01]|90[015]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})","$1 $2 $3 $4",["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]]],0,0,"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"],LV:["371","00","(?:[268]\\d|90)\\d{6}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[269]|8[01]"]]]],LY:["218","00","(?:[2569]\\d|71)\\d{7}",[9],[["(\\d{2})(\\d{7})","$1-$2",["[25-79]"],"0$1"]],"0"],MA:["212","00","[5-8]\\d{8}",[9],[["(\\d{5})(\\d{4})","$1-$2",["5(?:29|38)","5(?:29|38)[89]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5[45]"],"0$1"],["(\\d{4})(\\d{5})","$1-$2",["5(?:2[2-489]|3[5-9]|9)|892"],"0$1"],["(\\d{2})(\\d{7})","$1-$2",["8"],"0$1"],["(\\d{3})(\\d{6})","$1-$2",["[5-7]"],"0$1"]],"0",0,0,0,0,0,[["5(?:29|38)[89]0\\d{4}|5(?:2(?:[015-7]\\d|2[2-9]|3[2-57]|4[2-46-8]|8[235-7]|90)|3(?:[0-4]\\d|[57][2-9]|6[2-8]|80|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}"],["692[12]\\d{5}|(?:6(?:[0-7]\\d|8[0-247-9]|9[013-9])|7(?:0[06-8]|6[1267]|7[0-27]))\\d{6}"],["80\\d{7}"],["89\\d{7}"],0,0,0,0,["5924[0-2]\\d{4}"]]],MC:["377","00","870\\d{5}|(?:[349]|6\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[39]"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"],"0$1"]],"0"],MD:["373","00","(?:[235-7]\\d|[89]0)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["22|3"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[25-7]"],"0$1"]],"0"],ME:["382","00","(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"0$1"]],"0"],MF:["590","00","(?:590|69\\d)\\d{6}",[9],0,"0",0,0,0,0,0,[["590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],MG:["261","00","[23]\\d{8}",[9],[["(\\d{2})(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",["[23]"],"0$1"]],"0",0,"0|([24-9]\\d{6})$","20$1"],MH:["692","011","329\\d{4}|(?:[256]\\d|45)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1-$2",["[2-6]"]]],"1"],MK:["389","00","[2-578]\\d{7}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[347]"],"0$1"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"],"0$1"]],"0"],ML:["223","00","(?:[246-9]\\d|50)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]]]],MM:["95","00","1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}",[6,7,8,9,10],[["(\\d)(\\d{2})(\\d{3})","$1 $2 $3",["16|2"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[4-7]|8[1-35]"],"0$1"],["(\\d)(\\d{3})(\\d{4,6})","$1 $2 $3",["9(?:2[0-4]|[35-9]|4[137-9])"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["92"],"0$1"],["(\\d)(\\d{5})(\\d{4})","$1 $2 $3",["9"],"0$1"]],"0"],MN:["976","001","[12]\\d{7,9}|[57-9]\\d{7}",[8,9,10],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[57-9]"]],["(\\d{3})(\\d{5,6})","$1 $2",["[12]2[1-3]"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["[12](?:27|3[2-8]|4[2-68]|5[1-4689])","[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["[12]"],"0$1"]],"0"],MO:["853","00","(?:28|[68]\\d)\\d{6}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[268]"]]]],MP:["1","011","[58]\\d{9}|(?:67|90)0\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","670$1",0,"670"],MQ:["596","00","(?:596|69\\d)\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0"],MR:["222","00","(?:[2-4]\\d\\d|800)\\d{5}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]]]],MS:["1","011","66449\\d{5}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|(4\\d{6})$","664$1",0,"664"],MT:["356","00","3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2357-9]"]]]],MU:["230","0(?:0|[24-7]0|3[03])","(?:[2-468]|5\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-46]|8[013]"]],["(\\d{4})(\\d{4})","$1 $2",["5"]]],0,0,0,0,0,0,0,"020"],MV:["960","0(?:0|19)","(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}",[7,10],[["(\\d{3})(\\d{4})","$1-$2",["[3467]|9[13-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"]]],0,0,0,0,0,0,0,"00"],MW:["265","00","1\\d{6}(?:\\d{2})?|(?:[23]1|77|88|99)\\d{7}",[7,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[17-9]"],"0$1"]],"0"],MX:["52","0[09]","(?:1(?:[01467]\\d|[2359][1-9]|8[1-79])|[2-9]\\d)\\d{8}",[10,11],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|5[56]|81"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2-9]"],0,1],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 $3 $4",["1(?:33|5[56]|81)"],0,1],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 $3 $4",["1"],0,1]],"01",0,"0(?:[12]|4[45])|1",0,0,0,0,"00"],MY:["60","00","1\\d{8,9}|(?:3\\d|[4-9])\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["[4-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1-$2 $3",["1(?:[0249]|[367][2-9]|8[1-9])|8"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2 $3",["3"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3-$4",["1[36-8]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2 $3",["15"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2 $3",["1"],"0$1"]],"0"],MZ:["258","00","(?:2|8\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2|8[2-7]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]]],NA:["264","00","[68]\\d{7,8}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["87"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0"],NC:["687","00","[2-57-9]\\d{5}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[2-57-9]"]]]],NE:["227","00","[0289]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["08"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[089]|2[01]"]]]],NF:["672","00","[13]\\d{5}",[6],[["(\\d{2})(\\d{4})","$1 $2",["1"]],["(\\d)(\\d{5})","$1 $2",["3"]]],0,0,"([0-258]\\d{4})$","3$1"],NG:["234","009","(?:[124-7]|9\\d{3})\\d{6}|[1-9]\\d{7}|[78]\\d{9,13}",[7,8,10,11,12,13,14],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["78"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]|9(?:0[3-9]|[1-9])"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[3-7]|8[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[7-9]"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]"],"0$1"],["(\\d{3})(\\d{5})(\\d{5,6})","$1 $2 $3",["[78]"],"0$1"]],"0"],NI:["505","00","(?:1800|[25-8]\\d{3})\\d{4}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[125-8]"]]]],NL:["31","00","(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|[89]\\d{6,9}|1\\d{4,5}",[5,6,7,8,9,10],[["(\\d{3})(\\d{4,7})","$1 $2",["[89]0"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["66"],"0$1"],["(\\d)(\\d{8})","$1 $2",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-57-9]"],"0$1"]],"0"],NO:["47","00","(?:0|[2-9]\\d{3})\\d{4}",[5,8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[489]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-7]"]]],0,0,0,0,0,"[02-689]|7[0-8]"],NP:["977","00","9\\d{9}|[1-9]\\d{7}",[8,10],[["(\\d)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],["(\\d{2})(\\d{6})","$1-$2",["[1-8]|9(?:[1-579]|6[2-6])"],"0$1"],["(\\d{3})(\\d{7})","$1-$2",["9"]]],"0"],NR:["674","00","(?:444|55\\d|888)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[458]"]]]],NU:["683","00","(?:[47]|888\\d)\\d{3}",[4,7],[["(\\d{3})(\\d{4})","$1 $2",["8"]]]],NZ:["64","0(?:0|161)","[28]\\d{7,9}|[346]\\d{7}|(?:508|[79]\\d)\\d{6,7}",[8,9,10],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["24|[346]|7[2-57-9]|9[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:10|74)|[59]|80"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["2[028]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,5})","$1 $2 $3",["2(?:[169]|7[0-35-9])|7|86"],"0$1"]],"0",0,0,0,0,0,0,"00"],OM:["968","00","(?:[279]\\d{3}|500)\\d{4}|8007\\d{4,5}",[7,8,9],[["(\\d{3})(\\d{4,6})","$1 $2",["[58]"]],["(\\d{2})(\\d{6})","$1 $2",["2"]],["(\\d{4})(\\d{4})","$1 $2",["[79]"]]]],PA:["507","00","(?:[1-57-9]|6\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"]],["(\\d{4})(\\d{4})","$1-$2",["6"]]]],PE:["51","19(?:1[124]|77|90)00","(?:[14-8]|9\\d)\\d{7}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["80"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["1"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[4-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"]]],"0",0,0,0,0,0,0,0," Anexo "],PF:["689","00","[48]\\d{7}|4\\d{5}",[6,8],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["44"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[48]"]]]],PG:["675","00|140[1-3]","(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["18|[2-69]|85"]],["(\\d{4})(\\d{4})","$1 $2",["[78]"]]],0,0,0,0,0,0,0,"00"],PH:["63","00","(?:1800|8)\\d{7,9}|2\\d{5}(?:\\d{2})?|(?:[3-7]|9\\d)\\d{8}",[6,8,9,10,11,12,13],[["(\\d)(\\d{5})","$1 $2",["2"],"(0$1)"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"(0$1)"],["(\\d{4})(\\d{4,6})","$1 $2",["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2","3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],"(0$1)"],["(\\d{5})(\\d{4})","$1 $2",["346|4(?:27|9[35])|883","3469|4(?:279|9(?:30|56))|8834"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|8[2-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]]],"0"],PK:["92","00","122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[025-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["[89]0"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["1"]],["(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],"(0$1)"],["(\\d{3})(\\d{6,7})","$1 $2",["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])","9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],"(0$1)"],["(\\d{5})(\\d{5})","$1 $2",["58"],"(0$1)"],["(\\d{3})(\\d{7})","$1 $2",["3"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[24-9]"],"(0$1)"]],"0"],PL:["48","00","[1-57-9]\\d{6}(?:\\d{2})?|6\\d{5,8}",[6,7,8,9],[["(\\d{5})","$1",["19"]],["(\\d{3})(\\d{3})","$1 $2",["11|64"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1","(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["64"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["39|45|5[0137]|6[0469]|7[02389]|8[08]"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[2-8]|[2-8]|9[145]"]]]],PM:["508","00","[45]\\d{5}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[45]"],"0$1"]],"0"],PR:["1","011","(?:[589]\\d\\d|787)\\d{7}",[10],0,"1",0,0,0,0,"787|939"],PS:["970","00","[2489]2\\d{6}|(?:1\\d|5)\\d{8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2489]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["5"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],PT:["351","00","(?:[26-9]\\d|30)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["2[12]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[236-9]"]]]],PW:["680","01[12]","(?:[25-8]\\d\\d|345|488|900)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],PY:["595","00","59\\d{4,6}|(?:[2-46-9]\\d|5[0-8])\\d{4,7}",[6,7,8,9],[["(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{3})(\\d{4,5})","$1 $2",["2[279]|3[13-5]|4[359]|5|6[347]|7[46-8]|85"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["87"]],["(\\d{3})(\\d{6})","$1 $2",["9"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]"],"0$1"]],"0"],QA:["974","00","800\\d{4}|(?:2|[3-7]\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["2[126]|8"]],["(\\d{4})(\\d{4})","$1 $2",["[3-7]"]]]],RE:["262","00","(?:26|[68]\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[268]"],"0$1"]],"0",0,0,0,0,"262|69|8"],RO:["40","00","(?:[237]\\d|[89]0)\\d{7}|[23]\\d{5}",[6,9],[["(\\d{3})(\\d{3})","$1 $2",["2[3-6]","2[3-6]\\d9"],"0$1"],["(\\d{2})(\\d{4})","$1 $2",["219|31"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23]1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[237-9]"],"0$1"]],"0",0,0,0,0,0,0,0," int "],RS:["381","00","38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}",[6,7,8,9,10,11,12],[["(\\d{3})(\\d{3,9})","$1 $2",["(?:2[389]|39)0|[7-9]"],"0$1"],["(\\d{2})(\\d{5,10})","$1 $2",["[1-36]"],"0$1"]],"0"],RU:["7","810","[347-9]\\d{9}",[10],[["(\\d{4})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-8]|2[1-9])","7(?:1(?:[0-6]2|7|8[27])|2(?:1[23]|[2-9]2))","7(?:1(?:[0-6]2|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"],"8 ($1)",1],["(\\d{5})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-68]|2[1-9])","7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))","7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[3489]"],"8 ($1)",1]],"8",0,0,0,0,"3[04-689]|[489]",0,"8~10"],RW:["250","00","(?:06|[27]\\d\\d|[89]00)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"],"0$1"]],"0"],SA:["966","00","92\\d{7}|(?:[15]|8\\d)\\d{8}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["9"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["81"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]],"0"],SB:["677","0[01]","(?:[1-6]|[7-9]\\d\\d)\\d{4}",[5,7],[["(\\d{2})(\\d{5})","$1 $2",["7|8[4-9]|9(?:[1-8]|9[0-8])"]]]],SC:["248","010|0[0-2]","8000\\d{3}|(?:[249]\\d|64)\\d{5}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[246]"]]],0,0,0,0,0,0,0,"00"],SD:["249","00","[19]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[19]"],"0$1"]],"0"],SE:["46","00","(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{2,3})(\\d{2})","$1-$2 $3",["20"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{4})","$1-$2",["9(?:00|39|44)"],"0$1",0,"$1 $2"],["(\\d{2})(\\d{3})(\\d{2})","$1-$2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3"],["(\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{2,3})(\\d{3})","$1-$2 $3",["9(?:00|39|44)"],"0$1",0,"$1 $2 $3"],["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3 $4"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["7"],"0$1",0,"$1 $2 $3 $4"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4 $5",["[26]"],"0$1",0,"$1 $2 $3 $4 $5"]],"0"],SG:["65","0[0-3]\\d","(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}",[8,10,11],[["(\\d{4})(\\d{4})","$1 $2",["[369]|8[1-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]],["(\\d{4})(\\d{4})(\\d{3})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],SH:["290","00","(?:[256]\\d|8)\\d{3}",[4,5],0,0,0,0,0,0,"[256]"],SI:["386","00|10(?:22|66|88|99)","[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}",[5,6,7,8],[["(\\d{2})(\\d{3,6})","$1 $2",["8[09]|9"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["59|8"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[0139]|51|6"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-57]"],"(0$1)"]],"0",0,0,0,0,0,0,"00"],SJ:["47","00","0\\d{4}|(?:[4589]\\d|79)\\d{6}",[5,8],0,0,0,0,0,0,"79"],SK:["421","00","[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",[6,7,9],[["(\\d)(\\d{2})(\\d{3,4})","$1 $2 $3",["21"],"0$1"],["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["[3-5][1-8]1","[3-5][1-8]1[67]"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"]],"0"],SL:["232","00","(?:[2378]\\d|99)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[237-9]"],"(0$1)"]],"0"],SM:["378","00","(?:0549|[5-7]\\d)\\d{6}",[8,10],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],["(\\d{4})(\\d{6})","$1 $2",["0"]]],0,0,"([89]\\d{5})$","0549$1"],SN:["221","00","(?:[378]\\d{4}|93330)\\d{4}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[379]"]]]],SO:["252","00","[346-9]\\d{8}|[12679]\\d{7}|(?:[1-4]\\d|59)\\d{5}|[1348]\\d{5}",[6,7,8,9],[["(\\d{2})(\\d{4})","$1 $2",["8[125]"]],["(\\d{6})","$1",["[134]"]],["(\\d)(\\d{6})","$1 $2",["1|2[0-79]|3[0-46-8]|4[0-7]|59"]],["(\\d)(\\d{7})","$1 $2",["24|[67]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[348]|64|79[0-8]|90"]],["(\\d{2})(\\d{5,7})","$1 $2",["1|28|6[1-35-9]|799|9[2-9]"]]],"0"],SR:["597","00","(?:[2-5]|68|[78]\\d)\\d{5}",[6,7],[["(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"]],["(\\d{3})(\\d{3})","$1-$2",["[2-5]"]],["(\\d{3})(\\d{4})","$1-$2",["[6-8]"]]]],SS:["211","00","[19]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[19]"],"0$1"]],"0"],ST:["239","00","(?:22|9\\d)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[29]"]]]],SV:["503","00","[267]\\d{7}|[89]00\\d{4}(?:\\d{4})?",[7,8,11],[["(\\d{3})(\\d{4})","$1 $2",["[89]"]],["(\\d{4})(\\d{4})","$1 $2",["[267]"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]]]],SX:["1","011","7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|(5\\d{6})$","721$1",0,"721"],SY:["963","00","[1-39]\\d{8}|[1-5]\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-5]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1",1]],"0"],SZ:["268","00","0800\\d{4}|(?:[237]\\d|900)\\d{6}",[8,9],[["(\\d{4})(\\d{4})","$1 $2",["[0237]"]],["(\\d{5})(\\d{4})","$1 $2",["9"]]]],TA:["290","00","8\\d{3}",[4],0,0,0,0,0,0,"8"],TC:["1","011","(?:[58]\\d\\d|649|900)\\d{7}",[10],0,"1",0,"1|([2-479]\\d{6})$","649$1",0,"649"],TD:["235","00|16","(?:22|[69]\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2679]"]]],0,0,0,0,0,0,0,"00"],TG:["228","00","[279]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[279]"]]]],TH:["66","00[1-9]","1\\d{8,9}|(?:[2-57]|[689]\\d)\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["14|[3-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],TJ:["992","810","(?:[3-59]\\d|77|88)\\d{7}",[9],[["(\\d{6})(\\d)(\\d{2})","$1 $2 $3",["331","3317"],0,1],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[34]7|91[78]"],0,1],["(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3"],0,1],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[457-9]"],0,1]],"8",0,0,0,0,0,0,"8~10"],TK:["690","00","[2-47]\\d{3,6}",[4,5,6,7]],TL:["670","00","7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-489]|70"]],["(\\d{4})(\\d{4})","$1 $2",["7"]]]],TM:["993","810","[1-6]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["12"],"(8 $1)"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-5]"],"(8 $1)"],["(\\d{2})(\\d{6})","$1 $2",["6"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],TN:["216","00","[2-57-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]"]]]],TO:["676","00","(?:0800|[5-8]\\d{3})\\d{3}|[2-8]\\d{4}",[5,7],[["(\\d{2})(\\d{3})","$1-$2",["[2-4]|50|6[09]|7[0-24-69]|8[05]"]],["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{3})(\\d{4})","$1 $2",["[5-8]"]]]],TR:["90","00","(?:[2-58]\\d\\d|900)\\d{7}|4\\d{6}",[7,10],[["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["512|8[0589]|90"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:[0-59]|61)","5(?:[0-59]|616)","5(?:[0-59]|6161)"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24][1-8]|3[1-9]"],"(0$1)",1]],"0"],TT:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-46-8]\\d{6})$","868$1",0,"868"],TV:["688","00","(?:2|7\\d\\d|90)\\d{4}",[5,6,7]],TW:["886","0(?:0[25-79]|19)","(?:[24589]|7\\d)\\d{8}|[2-8]\\d{7}|2\\d{6}",[7,8,9,10],[["(\\d{2})(\\d)(\\d{4})","$1 $2 $3",["202"],"0$1"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["[25][2-8]|[346]|7[1-9]|8[237-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[258]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0",0,0,0,0,0,0,0,"#"],TZ:["255","00[056]","(?:[26-8]\\d|41|90)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[24]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[67]"],"0$1"]],"0"],UA:["380","00","[89]\\d{9}|[3-9]\\d{8}",[9,10],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]","6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["4[45][0-5]|5(?:0|6[37])|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]","4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["[3-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0",0,0,0,0,0,0,"0~0"],UG:["256","00[057]","800\\d{6}|(?:[29]0|[347]\\d)\\d{7}",[9],[["(\\d{4})(\\d{5})","$1 $2",["202","2024"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[27-9]|4(?:6[45]|[7-9])"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[34]"],"0$1"]],"0"],US:["1","011","[2-9]\\d{9}",[10],[["(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",["[2-9]"],0,1,"$1-$2-$3"]],"1",0,0,0,0,0,[["(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[017]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-28]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0179]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}"],0,["710[2-9]\\d{6}"]]],UY:["598","0(?:0|1[3-9]\\d)","(?:[249]\\d\\d|80)\\d{5}|9\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["8|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[24]"]]],"0",0,0,0,0,0,0,"00"," int. "],UZ:["998","810","[679]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[679]"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],VA:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],0,0,0,0,0,0,"06698"],VC:["1","011","(?:[58]\\d\\d|784|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","784$1",0,"784"],VE:["58","00","[89]00\\d{7}|(?:[24]\\d|50)\\d{8}",[10],[["(\\d{3})(\\d{7})","$1-$2",["[24589]"],"0$1"]],"0"],VG:["1","011","(?:284|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-578]\\d{6})$","284$1",0,"284"],VI:["1","011","[58]\\d{9}|(?:34|90)0\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","340$1",0,"340"],VN:["84","00","[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["80"],"0$1",1],["(\\d{4})(\\d{4,6})","$1 $2",["1"],0,1],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[69]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[3578]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2[48]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["2"],"0$1",1]],"0"],VU:["678","00","(?:[23]\\d|[48]8)\\d{3}|(?:[57]\\d|90)\\d{5}",[5,7],[["(\\d{3})(\\d{4})","$1 $2",["[579]"]]]],WF:["681","00","(?:[45]0|68|72|8\\d)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[4-8]"]]]],WS:["685","0","[2-6]\\d{4}|8\\d{5}(?:\\d{4})?|[78]\\d{6}",[5,6,7,10],[["(\\d{5})","$1",["[2-6]"]],["(\\d{3})(\\d{3,7})","$1 $2",["8"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]]],XK:["383","00","[23]\\d{7,8}|(?:4\\d\\d|[89]00)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[23]"],"0$1"]],"0"],YE:["967","00","(?:1|7\\d)\\d{7}|[1-7]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-6]|7[24-68]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"],"0$1"]],"0"],YT:["262","00","80\\d{7}|(?:26|63)9\\d{6}",[9],0,"0",0,0,0,0,"269|63"],ZA:["27","00","[1-9]\\d{8}|8\\d{4,7}",[5,6,7,8,9],[["(\\d{2})(\\d{3,4})","$1 $2",["8[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["8[1-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["860"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-9]"],"0$1"]],"0"],ZM:["260","00","800\\d{6}|(?:21|76|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[28]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[79]"],"0$1"]],"0"],ZW:["263","00","2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",[5,6,7,8,9,10],[["(\\d{3})(\\d{3,5})","$1 $2",["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"],"0$1"],["(\\d)(\\d{3})(\\d{2,4})","$1 $2 $3",["[49]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["80"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2","2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)","2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["29[013-9]|39|54"],"0$1"],["(\\d{4})(\\d{3,5})","$1 $2",["(?:25|54)8","258|5483"],"0$1"]],"0"],"001":["979",0,"\\d{9}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3"]]]}},m=(n(68),n(534),n(535),n(486),n(110)),g=n(188),y=n(10);n(487),n(488);function v(e,t){var n=Array.prototype.slice.call(t);return n.push(h),e.apply(this,n)}function b(e,t){return m.a.call(this,e,t,h)}function _(e){return g.a.call(this,e,h)}function w(){return v(y.b,arguments)}b.prototype=Object.create(m.a.prototype,{}),b.prototype.constructor=b,_.prototype=Object.create(g.a.prototype,{}),_.prototype.constructor=_,n.d(t,"default",function(){return i.a}),n.d(t,"parseRFC3966",function(){return o.parseRFC3966}),n.d(t,"formatRFC3966",function(){return o.formatRFC3966}),n.d(t,"parsePhoneNumber",function(){return s.a}),n.d(t,"formatPhoneNumber",function(){return l.a}),n.d(t,"formatPhoneNumberIntl",function(){return u.formatPhoneNumberIntl}),n.d(t,"isValidPhoneNumber",function(){return d.a}),n.d(t,"PhoneInput",function(){return p.a}),n.d(t,"getCountryCallingCode",function(){return w})}]);
+var n="undefined"!=typeof window&&"undefined"!=typeof document,r=["Edge","Trident","Firefox"],i=0,o=0;o<r.length;o+=1)if(n&&navigator.userAgent.indexOf(r[o])>=0){i=1;break}var a=n&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},i))}};function s(e){return e&&"[object Function]"==={}.toString.call(e)}function u(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function l(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function c(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=u(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/(auto|scroll|overlay)/.test(n+i+r)?e:c(l(e))}var d=n&&!(!window.MSInputMethodContext||!document.documentMode),f=n&&/MSIE 10/.test(navigator.userAgent);function p(e){return 11===e?d:10===e?f:d||f}function h(e){if(!e)return document.documentElement;for(var t=p(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===u(n,"position")?h(n):n:e?e.ownerDocument.documentElement:document.documentElement}function m(e){return null!==e.parentNode?m(e.parentNode):e}function g(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?e:t,i=n?t:e,o=document.createRange();o.setStart(r,0),o.setEnd(i,0);var a,s,u=o.commonAncestorContainer;if(e!==u&&t!==u||r.contains(i))return"BODY"===(s=(a=u).nodeName)||"HTML"!==s&&h(a.firstElementChild)!==a?h(u):u;var l=m(e);return l.host?g(l.host,t):g(e,m(t).host)}function y(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var r=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||r)[t]}return e[t]}function v(e,t){var n="x"===t?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+r+"Width"],10)}function b(e,t,n,r){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],p(10)?parseInt(n["offset"+e])+parseInt(r["margin"+("Height"===e?"Top":"Left")])+parseInt(r["margin"+("Height"===e?"Bottom":"Right")]):0)}function _(e){var t=e.body,n=e.documentElement,r=p(10)&&getComputedStyle(n);return{height:b("Height",t,n,r),width:b("Width",t,n,r)}}var w=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},A=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),x=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},k=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function M(e){return k({},e,{right:e.left+e.width,bottom:e.top+e.height})}function E(e){var t={};try{if(p(10)){t=e.getBoundingClientRect();var n=y(e,"top"),r=y(e,"left");t.top+=n,t.left+=r,t.bottom+=n,t.right+=r}else t=e.getBoundingClientRect()}catch(e){}var i={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},o="HTML"===e.nodeName?_(e.ownerDocument):{},a=o.width||e.clientWidth||i.right-i.left,s=o.height||e.clientHeight||i.bottom-i.top,l=e.offsetWidth-a,c=e.offsetHeight-s;if(l||c){var d=u(e);l-=v(d,"x"),c-=v(d,"y"),i.width-=l,i.height-=c}return M(i)}function L(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=p(10),i="HTML"===t.nodeName,o=E(e),a=E(t),s=c(e),l=u(t),d=parseFloat(l.borderTopWidth,10),f=parseFloat(l.borderLeftWidth,10);n&&i&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var h=M({top:o.top-a.top-d,left:o.left-a.left-f,width:o.width,height:o.height});if(h.marginTop=0,h.marginLeft=0,!r&&i){var m=parseFloat(l.marginTop,10),g=parseFloat(l.marginLeft,10);h.top-=d-m,h.bottom-=d-m,h.left-=f-g,h.right-=f-g,h.marginTop=m,h.marginLeft=g}return(r&&!n?t.contains(s):t===s&&"BODY"!==s.nodeName)&&(h=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=y(t,"top"),i=y(t,"left"),o=n?-1:1;return e.top+=r*o,e.bottom+=r*o,e.left+=i*o,e.right+=i*o,e}(h,t)),h}function S(e){if(!e||!e.parentElement||p())return document.documentElement;for(var t=e.parentElement;t&&"none"===u(t,"transform");)t=t.parentElement;return t||document.documentElement}function D(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},a=i?S(e):g(e,t);if("viewport"===r)o=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,r=L(e,n),i=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),a=t?0:y(n),s=t?0:y(n,"left");return M({top:a-r.top+r.marginTop,left:s-r.left+r.marginLeft,width:i,height:o})}(a,i);else{var s=void 0;"scrollParent"===r?"BODY"===(s=c(l(t))).nodeName&&(s=e.ownerDocument.documentElement):s="window"===r?e.ownerDocument.documentElement:r;var d=L(s,a,i);if("HTML"!==s.nodeName||function e(t){var n=t.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===u(t,"position"))return!0;var r=l(t);return!!r&&e(r)}(a))o=d;else{var f=_(e.ownerDocument),p=f.height,h=f.width;o.top+=d.top-d.marginTop,o.bottom=p+d.top,o.left+=d.left-d.marginLeft,o.right=h+d.left}}var m="number"==typeof(n=n||0);return o.left+=m?n:n.left||0,o.top+=m?n:n.top||0,o.right-=m?n:n.right||0,o.bottom-=m?n:n.bottom||0,o}function T(e,t,n,r,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var a=D(n,r,o,i),s={top:{width:a.width,height:t.top-a.top},right:{width:a.right-t.right,height:a.height},bottom:{width:a.width,height:a.bottom-t.bottom},left:{width:t.left-a.left,height:a.height}},u=Object.keys(s).map(function(e){return k({key:e},s[e],{area:(t=s[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),l=u.filter(function(e){var t=e.width,r=e.height;return t>=n.clientWidth&&r>=n.clientHeight}),c=l.length>0?l[0].key:u[0].key,d=e.split("-")[1];return c+(d?"-"+d:"")}function C(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return L(n,r?S(t):g(t,n),r)}function O(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),r=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+r,height:e.offsetHeight+n}}function $(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function j(e,t,n){n=n.split("-")[0];var r=O(e),i={width:r.width,height:r.height},o=-1!==["right","left"].indexOf(n),a=o?"top":"left",s=o?"left":"top",u=o?"height":"width",l=o?"width":"height";return i[a]=t[a]+t[u]/2-r[u]/2,i[s]=n===s?t[s]-r[l]:t[$(s)],i}function P(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function I(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var r=P(e,function(e){return e[t]===n});return e.indexOf(r)}(e,"name",n))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&s(n)&&(t.offsets.popper=M(t.offsets.popper),t.offsets.reference=M(t.offsets.reference),t=n(t,e))}),t}function N(e,t){return e.some(function(e){var n=e.name;return e.enabled&&n===t})}function F(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),r=0;r<t.length;r++){var i=t[r],o=i?""+i+n:e;if(void 0!==document.body.style[o])return o}return null}function R(e){var t=e.ownerDocument;return t?t.defaultView:window}function Y(e,t,n,r){n.updateBound=r,R(e).addEventListener("resize",n.updateBound,{passive:!0});var i=c(e);return function e(t,n,r,i){var o="BODY"===t.nodeName,a=o?t.ownerDocument.defaultView:t;a.addEventListener(n,r,{passive:!0}),o||e(c(a.parentNode),n,r,i),i.push(a)}(i,"scroll",n.updateBound,n.scrollParents),n.scrollElement=i,n.eventsEnabled=!0,n}function B(){var e,t;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(e=this.reference,t=this.state,R(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t))}function z(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function H(e,t){Object.keys(t).forEach(function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&z(t[n])&&(r="px"),e.style[n]=t[n]+r})}var U=n&&/Firefox/i.test(navigator.userAgent);function Z(e,t,n){var r=P(e,function(e){return e.name===t}),i=!!r&&e.some(function(e){return e.name===n&&e.enabled&&e.order<r.order});if(!i){var o="`"+t+"`",a="`"+n+"`";console.warn(a+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return i}var K=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],q=K.slice(3);function W(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=q.indexOf(e),r=q.slice(n+1).concat(q.slice(0,n));return t?r.reverse():r}var G={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function V(e,t,n,r){var i=[0,0],o=-1!==["right","left"].indexOf(r),a=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=a.indexOf(P(a,function(e){return-1!==e.search(/,|\s/)}));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var u=/\s*,\s*|\s+/,l=-1!==s?[a.slice(0,s).concat([a[s].split(u)[0]]),[a[s].split(u)[1]].concat(a.slice(s+1))]:[a];return(l=l.map(function(e,r){var i=(1===r?!o:o)?"height":"width",a=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,a=!0,e):a?(e[e.length-1]+=t,a=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,r){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+i[1],a=i[2];if(!o)return e;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=r}return M(s)[t]/100*o}if("vh"===a||"vw"===a)return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(e,i,t,n)})})).forEach(function(e,t){e.forEach(function(n,r){z(n)&&(i[t]+=n*("-"===e[r-1]?-1:1))})}),i}var J={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],r=t.split("-")[1];if(r){var i=e.offsets,o=i.reference,a=i.popper,s=-1!==["bottom","top"].indexOf(n),u=s?"left":"top",l=s?"width":"height",c={start:x({},u,o[u]),end:x({},u,o[u]+o[l]-a[l])};e.offsets.popper=k({},a,c[r])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,r=e.placement,i=e.offsets,o=i.popper,a=i.reference,s=r.split("-")[0],u=void 0;return u=z(+n)?[+n,0]:V(n,o,a,s),"left"===s?(o.top+=u[0],o.left-=u[1]):"right"===s?(o.top+=u[0],o.left+=u[1]):"top"===s?(o.left+=u[0],o.top-=u[1]):"bottom"===s&&(o.left+=u[0],o.top+=u[1]),e.popper=o,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||h(e.instance.popper);e.instance.reference===n&&(n=h(n));var r=F("transform"),i=e.instance.popper.style,o=i.top,a=i.left,s=i[r];i.top="",i.left="",i[r]="";var u=D(e.instance.popper,e.instance.reference,t.padding,n,e.positionFixed);i.top=o,i.left=a,i[r]=s,t.boundaries=u;var l=t.priority,c=e.offsets.popper,d={primary:function(e){var n=c[e];return c[e]<u[e]&&!t.escapeWithReference&&(n=Math.max(c[e],u[e])),x({},e,n)},secondary:function(e){var n="right"===e?"left":"top",r=c[n];return c[e]>u[e]&&!t.escapeWithReference&&(r=Math.min(c[n],u[e]-("right"===e?c.width:c.height))),x({},n,r)}};return l.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";c=k({},c,d[t](e))}),e.offsets.popper=c,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,r=t.reference,i=e.placement.split("-")[0],o=Math.floor,a=-1!==["top","bottom"].indexOf(i),s=a?"right":"bottom",u=a?"left":"top",l=a?"width":"height";return n[s]<o(r[u])&&(e.offsets.popper[u]=o(r[u])-n[l]),n[u]>o(r[s])&&(e.offsets.popper[u]=o(r[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!Z(e.instance.modifiers,"arrow","keepTogether"))return e;var r=t.element;if("string"==typeof r){if(!(r=e.instance.popper.querySelector(r)))return e}else if(!e.instance.popper.contains(r))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var i=e.placement.split("-")[0],o=e.offsets,a=o.popper,s=o.reference,l=-1!==["left","right"].indexOf(i),c=l?"height":"width",d=l?"Top":"Left",f=d.toLowerCase(),p=l?"left":"top",h=l?"bottom":"right",m=O(r)[c];s[h]-m<a[f]&&(e.offsets.popper[f]-=a[f]-(s[h]-m)),s[f]+m>a[h]&&(e.offsets.popper[f]+=s[f]+m-a[h]),e.offsets.popper=M(e.offsets.popper);var g=s[f]+s[c]/2-m/2,y=u(e.instance.popper),v=parseFloat(y["margin"+d],10),b=parseFloat(y["border"+d+"Width"],10),_=g-e.offsets.popper[f]-v-b;return _=Math.max(Math.min(a[c]-m,_),0),e.arrowElement=r,e.offsets.arrow=(x(n={},f,Math.round(_)),x(n,p,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(N(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=D(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),r=e.placement.split("-")[0],i=$(r),o=e.placement.split("-")[1]||"",a=[];switch(t.behavior){case G.FLIP:a=[r,i];break;case G.CLOCKWISE:a=W(r);break;case G.COUNTERCLOCKWISE:a=W(r,!0);break;default:a=t.behavior}return a.forEach(function(s,u){if(r!==s||a.length===u+1)return e;r=e.placement.split("-")[0],i=$(r);var l=e.offsets.popper,c=e.offsets.reference,d=Math.floor,f="left"===r&&d(l.right)>d(c.left)||"right"===r&&d(l.left)<d(c.right)||"top"===r&&d(l.bottom)>d(c.top)||"bottom"===r&&d(l.top)<d(c.bottom),p=d(l.left)<d(n.left),h=d(l.right)>d(n.right),m=d(l.top)<d(n.top),g=d(l.bottom)>d(n.bottom),y="left"===r&&p||"right"===r&&h||"top"===r&&m||"bottom"===r&&g,v=-1!==["top","bottom"].indexOf(r),b=!!t.flipVariations&&(v&&"start"===o&&p||v&&"end"===o&&h||!v&&"start"===o&&m||!v&&"end"===o&&g),_=!!t.flipVariationsByContent&&(v&&"start"===o&&h||v&&"end"===o&&p||!v&&"start"===o&&g||!v&&"end"===o&&m),w=b||_;(f||y||w)&&(e.flipped=!0,(f||y)&&(r=a[u+1]),w&&(o=function(e){return"end"===e?"start":"start"===e?"end":e}(o)),e.placement=r+(o?"-"+o:""),e.offsets.popper=k({},e.offsets.popper,j(e.instance.popper,e.offsets.reference,e.placement)),e=I(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],r=e.offsets,i=r.popper,o=r.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return i[a?"left":"top"]=o[n]-(s?i[a?"width":"height"]:0),e.placement=$(t),e.offsets.popper=M(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!Z(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=P(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottom<n.top||t.left>n.right||t.top>n.bottom||t.right<n.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var n=t.x,r=t.y,i=e.offsets.popper,o=P(e.instance.modifiers,function(e){return"applyStyle"===e.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var a=void 0!==o?o:t.gpuAcceleration,s=h(e.instance.popper),u=E(s),l={position:i.position},c=function(e,t){var n=e.offsets,r=n.popper,i=n.reference,o=Math.round,a=Math.floor,s=function(e){return e},u=o(i.width),l=o(r.width),c=-1!==["left","right"].indexOf(e.placement),d=-1!==e.placement.indexOf("-"),f=t?c||d||u%2==l%2?o:a:s,p=t?o:s;return{left:f(u%2==1&&l%2==1&&!d&&t?r.left-1:r.left),top:p(r.top),bottom:p(r.bottom),right:f(r.right)}}(e,window.devicePixelRatio<2||!U),d="bottom"===n?"top":"bottom",f="right"===r?"left":"right",p=F("transform"),m=void 0,g=void 0;if(g="bottom"===d?"HTML"===s.nodeName?-s.clientHeight+c.bottom:-u.height+c.bottom:c.top,m="right"===f?"HTML"===s.nodeName?-s.clientWidth+c.right:-u.width+c.right:c.left,a&&p)l[p]="translate3d("+m+"px, "+g+"px, 0)",l[d]=0,l[f]=0,l.willChange="transform";else{var y="bottom"===d?-1:1,v="right"===f?-1:1;l[d]=g*y,l[f]=m*v,l.willChange=d+", "+f}var b={"x-placement":e.placement};return e.attributes=k({},b,e.attributes),e.styles=k({},l,e.styles),e.arrowStyles=k({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){var t,n;return H(e.instance.popper,e.styles),t=e.instance.popper,n=e.attributes,Object.keys(n).forEach(function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)}),e.arrowElement&&Object.keys(e.arrowStyles).length&&H(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,r,i){var o=C(i,t,e,n.positionFixed),a=T(n.placement,o,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",a),H(t,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},Q=function(){function e(t,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};w(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=a(this.update.bind(this)),this.options=k({},e.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(k({},e.Defaults.modifiers,i.modifiers)).forEach(function(t){r.options.modifiers[t]=k({},e.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return k({name:e},r.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&s(e.onLoad)&&e.onLoad(r.reference,r.popper,r.options,e,r.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return A(e,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=C(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=T(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=j(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=I(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,N(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[F("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=Y(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return B.call(this)}}]),e}();Q.Utils=("undefined"!=typeof window?window:e).PopperUtils,Q.placements=K,Q.Defaults=J,t.default=Q}.call(this,n(43))},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(6),u=n.n(s),l=n(86),c=n.n(l),d=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var p=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),d(t,[{key:"shouldComponentUpdate",value:function(e){return this.props.forceRender||!c()(this.props,e)}},{key:"render",value:function(){var e;if(this._isActived=this.props.forceRender||this._isActived||this.props.isActive,!this._isActived)return null;var t=this.props,n=t.prefixCls,r=t.isActive,o=t.children,a=t.destroyInactivePanel,s=t.forceRender,l=t.role,c=u()((f(e={},n+"-content",!0),f(e,n+"-content-active",r),f(e,n+"-content-inactive",!r),e)),d=s||r||!a?i.a.createElement("div",{className:n+"-content-box"},o):null;return i.a.createElement("div",{className:c,role:l},d)}}]),t}();p.propTypes={prefixCls:a.a.string,isActive:a.a.bool,children:a.a.any,destroyInactivePanel:a.a.bool,forceRender:a.a.bool,role:a.a.string};var h=p,m=n(8),g=n.n(m),y=n(187),v=n.n(y),b=n(21),_=n.n(b),w=n(22),A=n.n(w),x=n(23),k=n.n(x),M=n(24),E=n.n(M);function L(e){var t=[];return i.a.Children.forEach(e,function(e){t.push(e)}),t}function S(e,t){var n=null;return e&&e.forEach(function(e){n||e&&e.key===t&&(n=e)}),n}function D(e,t,n){var r=null;return e&&e.forEach(function(e){if(e&&e.key===t&&e.props[n]){if(r)throw new Error("two child with same key for <rc-animate> children");r=e}}),r}var T=n(19),C=n.n(T),O=n(67),$=n.n(O),j={transitionstart:{transition:"transitionstart",WebkitTransition:"webkitTransitionStart",MozTransition:"mozTransitionStart",OTransition:"oTransitionStart",msTransition:"MSTransitionStart"},animationstart:{animation:"animationstart",WebkitAnimation:"webkitAnimationStart",MozAnimation:"mozAnimationStart",OAnimation:"oAnimationStart",msAnimation:"MSAnimationStart"}},P={transitionend:{transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"mozTransitionEnd",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd"},animationend:{animation:"animationend",WebkitAnimation:"webkitAnimationEnd",MozAnimation:"mozAnimationEnd",OAnimation:"oAnimationEnd",msAnimation:"MSAnimationEnd"}},I=[],N=[];function F(e,t,n){e.addEventListener(t,n,!1)}function R(e,t,n){e.removeEventListener(t,n,!1)}"undefined"!=typeof window&&"undefined"!=typeof document&&function(){var e=document.createElement("div").style;function t(t,n){for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];for(var o in i)if(o in e){n.push(i[o]);break}}}"AnimationEvent"in window||(delete j.animationstart.animation,delete P.animationend.animation),"TransitionEvent"in window||(delete j.transitionstart.transition,delete P.transitionend.transition),t(j,I),t(P,N)}();var Y={startEvents:I,addStartEventListener:function(e,t){0!==I.length?I.forEach(function(n){F(e,n,t)}):window.setTimeout(t,0)},removeStartEventListener:function(e,t){0!==I.length&&I.forEach(function(n){R(e,n,t)})},endEvents:N,addEndEventListener:function(e,t){0!==N.length?N.forEach(function(n){F(e,n,t)}):window.setTimeout(t,0)},removeEndEventListener:function(e,t){0!==N.length&&N.forEach(function(n){R(e,n,t)})}},B=n(543),z=n.n(B),H=0!==Y.endEvents.length,U=["Webkit","Moz","O","ms"],Z=["-webkit-","-moz-","-o-","ms-",""];function K(e,t){for(var n=window.getComputedStyle(e,null),r="",i=0;i<Z.length&&!(r=n.getPropertyValue(Z[i]+t));i++);return r}function q(e){if(H){var t=parseFloat(K(e,"transition-delay"))||0,n=parseFloat(K(e,"transition-duration"))||0,r=parseFloat(K(e,"animation-delay"))||0,i=parseFloat(K(e,"animation-duration"))||0,o=Math.max(n+t,i+r);e.rcEndAnimTimeout=setTimeout(function(){e.rcEndAnimTimeout=null,e.rcEndListener&&e.rcEndListener()},1e3*o+200)}}function W(e){e.rcEndAnimTimeout&&(clearTimeout(e.rcEndAnimTimeout),e.rcEndAnimTimeout=null)}var G=function(e,t,n){var r="object"===(void 0===t?"undefined":$()(t)),i=r?t.name:t,o=r?t.active:t+"-active",a=n,s=void 0,u=void 0,l=z()(e);return n&&"[object Object]"===Object.prototype.toString.call(n)&&(a=n.end,s=n.start,u=n.active),e.rcEndListener&&e.rcEndListener(),e.rcEndListener=function(t){t&&t.target!==e||(e.rcAnimTimeout&&(clearTimeout(e.rcAnimTimeout),e.rcAnimTimeout=null),W(e),l.remove(i),l.remove(o),Y.removeEndEventListener(e,e.rcEndListener),e.rcEndListener=null,a&&a())},Y.addEndEventListener(e,e.rcEndListener),s&&s(),l.add(i),e.rcAnimTimeout=setTimeout(function(){e.rcAnimTimeout=null,l.add(o),u&&setTimeout(u,0),q(e)},30),{stop:function(){e.rcEndListener&&e.rcEndListener()}}};G.style=function(e,t,n){e.rcEndListener&&e.rcEndListener(),e.rcEndListener=function(t){t&&t.target!==e||(e.rcAnimTimeout&&(clearTimeout(e.rcAnimTimeout),e.rcAnimTimeout=null),W(e),Y.removeEndEventListener(e,e.rcEndListener),e.rcEndListener=null,n&&n())},Y.addEndEventListener(e,e.rcEndListener),e.rcAnimTimeout=setTimeout(function(){for(var n in t)t.hasOwnProperty(n)&&(e.style[n]=t[n]);e.rcAnimTimeout=null,q(e)},0)},G.setTransition=function(e,t,n){var r=t,i=n;void 0===n&&(i=r,r=""),r=r||"",U.forEach(function(t){e.style[t+"Transition"+r]=i})},G.isCssAnimationSupported=H;var V=G,J={isAppearSupported:function(e){return e.transitionName&&e.transitionAppear||e.animation.appear},isEnterSupported:function(e){return e.transitionName&&e.transitionEnter||e.animation.enter},isLeaveSupported:function(e){return e.transitionName&&e.transitionLeave||e.animation.leave},allowAppearCallback:function(e){return e.transitionAppear||e.animation.appear},allowEnterCallback:function(e){return e.transitionEnter||e.animation.enter},allowLeaveCallback:function(e){return e.transitionLeave||e.animation.leave}},Q={enter:"transitionEnter",appear:"transitionAppear",leave:"transitionLeave"},X=function(e){function t(){return _()(this,t),k()(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return E()(t,e),A()(t,[{key:"componentWillUnmount",value:function(){this.stop()}},{key:"componentWillEnter",value:function(e){J.isEnterSupported(this.props)?this.transition("enter",e):e()}},{key:"componentWillAppear",value:function(e){J.isAppearSupported(this.props)?this.transition("appear",e):e()}},{key:"componentWillLeave",value:function(e){J.isLeaveSupported(this.props)?this.transition("leave",e):e()}},{key:"transition",value:function(e,t){var n=this,r=C.a.findDOMNode(this),i=this.props,o=i.transitionName,a="object"==typeof o;this.stop();var s=function(){n.stopper=null,t()};if((H||!i.animation[e])&&o&&i[Q[e]]){var u=a?o[e]:o+"-"+e,l=u+"-active";a&&o[e+"Active"]&&(l=o[e+"Active"]),this.stopper=V(r,{name:u,active:l},s)}else this.stopper=i.animation[e](r,s)}},{key:"stop",value:function(){var e=this.stopper;e&&(this.stopper=null,e.stop())}},{key:"render",value:function(){return this.props.children}}]),t}(i.a.Component);X.propTypes={children:a.a.any};var ee=X,te="rc_animate_"+Date.now();function ne(e){var t=e.children;return i.a.isValidElement(t)&&!t.key?i.a.cloneElement(t,{key:te}):t}function re(){}var ie=function(e){function t(e){_()(this,t);var n=k()(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return oe.call(n),n.currentlyAnimatingKeys={},n.keysToEnter=[],n.keysToLeave=[],n.state={children:L(ne(e))},n.childrenRefs={},n}return E()(t,e),A()(t,[{key:"componentDidMount",value:function(){var e=this,t=this.props.showProp,n=this.state.children;t&&(n=n.filter(function(e){return!!e.props[t]})),n.forEach(function(t){t&&e.performAppear(t.key)})}},{key:"componentWillReceiveProps",value:function(e){var t=this;this.nextProps=e;var n=L(ne(e)),r=this.props;r.exclusive&&Object.keys(this.currentlyAnimatingKeys).forEach(function(e){t.stop(e)});var o,a,s,u,l=r.showProp,c=this.currentlyAnimatingKeys,d=r.exclusive?L(ne(r)):this.state.children,f=[];l?(d.forEach(function(e){var t=e&&S(n,e.key),r=void 0;(r=t&&t.props[l]||!e.props[l]?t:i.a.cloneElement(t||e,v()({},l,!0)))&&f.push(r)}),n.forEach(function(e){e&&S(d,e.key)||f.push(e)})):(o=n,a=[],s={},u=[],d.forEach(function(e){e&&S(o,e.key)?u.length&&(s[e.key]=u,u=[]):u.push(e)}),o.forEach(function(e){e&&Object.prototype.hasOwnProperty.call(s,e.key)&&(a=a.concat(s[e.key])),a.push(e)}),f=a=a.concat(u)),this.setState({children:f}),n.forEach(function(e){var n=e&&e.key;if(!e||!c[n]){var r=e&&S(d,n);if(l){var i=e.props[l];if(r)!D(d,n,l)&&i&&t.keysToEnter.push(n);else i&&t.keysToEnter.push(n)}else r||t.keysToEnter.push(n)}}),d.forEach(function(e){var r=e&&e.key;if(!e||!c[r]){var i=e&&S(n,r);if(l){var o=e.props[l];if(i)!D(n,r,l)&&o&&t.keysToLeave.push(r);else o&&t.keysToLeave.push(r)}else i||t.keysToLeave.push(r)}})}},{key:"componentDidUpdate",value:function(){var e=this.keysToEnter;this.keysToEnter=[],e.forEach(this.performEnter);var t=this.keysToLeave;this.keysToLeave=[],t.forEach(this.performLeave)}},{key:"isValidChildByKey",value:function(e,t){var n=this.props.showProp;return n?D(e,t,n):S(e,t)}},{key:"stop",value:function(e){delete this.currentlyAnimatingKeys[e];var t=this.childrenRefs[e];t&&t.stop()}},{key:"render",value:function(){var e=this,t=this.props;this.nextProps=t;var n=this.state.children,r=null;n&&(r=n.map(function(n){if(null==n)return n;if(!n.key)throw new Error("must set key for <rc-animate> children");return i.a.createElement(ee,{key:n.key,ref:function(t){e.childrenRefs[n.key]=t},animation:t.animation,transitionName:t.transitionName,transitionEnter:t.transitionEnter,transitionAppear:t.transitionAppear,transitionLeave:t.transitionLeave},n)}));var o=t.component;if(o){var a=t;return"string"==typeof o&&(a=g()({className:t.className,style:t.style},t.componentProps)),i.a.createElement(o,a,r)}return r[0]||null}}]),t}(i.a.Component);ie.isAnimate=!0,ie.propTypes={component:a.a.any,componentProps:a.a.object,animation:a.a.object,transitionName:a.a.oneOfType([a.a.string,a.a.object]),transitionEnter:a.a.bool,transitionAppear:a.a.bool,exclusive:a.a.bool,transitionLeave:a.a.bool,onEnd:a.a.func,onEnter:a.a.func,onLeave:a.a.func,onAppear:a.a.func,showProp:a.a.string,children:a.a.node},ie.defaultProps={animation:{},component:"span",componentProps:{},transitionEnter:!0,transitionLeave:!0,transitionAppear:!1,onEnd:re,onEnter:re,onLeave:re,onAppear:re};var oe=function(){var e=this;this.performEnter=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillEnter(e.handleDoneAdding.bind(e,t,"enter")))},this.performAppear=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillAppear(e.handleDoneAdding.bind(e,t,"appear")))},this.handleDoneAdding=function(t,n){var r=e.props;if(delete e.currentlyAnimatingKeys[t],!r.exclusive||r===e.nextProps){var i=L(ne(r));e.isValidChildByKey(i,t)?"appear"===n?J.allowAppearCallback(r)&&(r.onAppear(t),r.onEnd(t,!0)):J.allowEnterCallback(r)&&(r.onEnter(t),r.onEnd(t,!0)):e.performLeave(t)}},this.performLeave=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillLeave(e.handleDoneLeaving.bind(e,t)))},this.handleDoneLeaving=function(t){var n=e.props;if(delete e.currentlyAnimatingKeys[t],!n.exclusive||n===e.nextProps){var r,i,o,a,s=L(ne(n));if(e.isValidChildByKey(s,t))e.performEnter(t);else{var u=function(){J.allowLeaveCallback(n)&&(n.onLeave(t),n.onEnd(t,!1))};r=e.state.children,i=s,o=n.showProp,(a=r.length===i.length)&&r.forEach(function(e,t){var n=i[t];e&&n&&(e&&!n||!e&&n?a=!1:e.key!==n.key?a=!1:o&&e.props[o]!==n.props[o]&&(a=!1))}),a?u():e.setState({children:s},u)}}}},ae=ie,se=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ue(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function le(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var ce=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r=le(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.handleItemClick=function(){var e=r.props,t=e.onItemClick,n=e.panelKey;"function"==typeof t&&t(n)},r.handleKeyPress=function(e){"Enter"!==e.key&&13!==e.keyCode&&13!==e.which||r.handleItemClick()},le(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),se(t,[{key:"shouldComponentUpdate",value:function(e){return!c()(this.props,e)}},{key:"render",value:function(){var e,t=this.props,n=t.className,r=t.id,o=t.style,a=t.prefixCls,s=t.header,l=t.headerClass,c=t.children,d=t.isActive,f=t.showArrow,p=t.destroyInactivePanel,m=t.disabled,g=t.accordion,y=t.forceRender,v=t.expandIcon,b=t.extra,_=u()(a+"-header",ue({},l,l)),w=u()((ue(e={},a+"-item",!0),ue(e,a+"-item-active",d),ue(e,a+"-item-disabled",m),e),n),A=i.a.createElement("i",{className:"arrow"});return f&&"function"==typeof v&&(A=v(this.props)),i.a.createElement("div",{className:w,style:o,id:r},i.a.createElement("div",{className:_,onClick:this.handleItemClick,role:g?"tab":"button",tabIndex:m?-1:0,"aria-expanded":""+d,onKeyPress:this.handleKeyPress},f&&A,s,b&&i.a.createElement("div",{className:a+"-extra"},b)),i.a.createElement(ae,{showProp:"isActive",exclusive:!0,component:"",animation:this.props.openAnimation},i.a.createElement(h,{prefixCls:a,isActive:d,destroyInactivePanel:p,forceRender:y,role:g?"tabpanel":null},c)))}}]),t}();ce.propTypes={className:a.a.oneOfType([a.a.string,a.a.object]),id:a.a.string,children:a.a.any,openAnimation:a.a.object,prefixCls:a.a.string,header:a.a.oneOfType([a.a.string,a.a.number,a.a.node]),headerClass:a.a.string,showArrow:a.a.bool,isActive:a.a.bool,onItemClick:a.a.func,style:a.a.object,destroyInactivePanel:a.a.bool,disabled:a.a.bool,accordion:a.a.bool,forceRender:a.a.bool,expandIcon:a.a.func,extra:a.a.node,panelKey:a.a.any},ce.defaultProps={showArrow:!0,isActive:!1,destroyInactivePanel:!1,onItemClick:function(){},headerClass:"",forceRender:!1};var de=ce;function fe(e,t,n,r){var i=void 0;return V(e,n,{start:function(){t?(i=e.offsetHeight,e.style.height=0):e.style.height=e.offsetHeight+"px"},active:function(){e.style.height=(t?i:0)+"px"},end:function(){e.style.height="",r()}})}var pe=function(e){return{enter:function(t,n){return fe(t,!0,e+"-anim",n)},leave:function(t,n){return fe(t,!1,e+"-anim",n)}}},he=n(56),me=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ge(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ye(e){var t=e;return Array.isArray(t)||(t=t?[t]:[]),t}var ve=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));be.call(n);var r=e.activeKey,i=e.defaultActiveKey;return"activeKey"in e&&(i=r),n.state={openAnimation:e.openAnimation||pe(e.prefixCls),activeKey:ye(i)},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),me(t,[{key:"componentWillReceiveProps",value:function(e){"activeKey"in e&&this.setState({activeKey:ye(e.activeKey)}),"openAnimation"in e&&this.setState({openAnimation:e.openAnimation})}},{key:"shouldComponentUpdate",value:function(e,t){return!c()(this.props,e)||!c()(this.state,t)}},{key:"render",value:function(){var e,t=this.props,n=t.prefixCls,r=t.className,o=t.style,a=t.accordion,s=u()((ge(e={},n,!0),ge(e,r,!!r),e));return i.a.createElement("div",{className:s,style:o,role:a?"tablist":null},this.getItems())}}]),t}(),be=function(){var e=this;this.onClickItem=function(t){var n=e.state.activeKey;if(e.props.accordion)n=n[0]===t?[]:[t];else{var r=(n=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(n))).indexOf(t);r>-1?n.splice(r,1):n.push(t)}e.setActiveKey(n)},this.getNewChild=function(t,n){if(!t)return null;var r=e.state.activeKey,o=e.props,a=o.prefixCls,s=o.accordion,u=o.destroyInactivePanel,l=o.expandIcon,c=t.key||String(n),d=t.props,f=d.header,p=d.headerClass,h=d.disabled,m={key:c,panelKey:c,header:f,headerClass:p,isActive:s?r[0]===c:r.indexOf(c)>-1,prefixCls:a,destroyInactivePanel:u,openAnimation:e.state.openAnimation,accordion:s,children:t.props.children,onItemClick:h?null:e.onClickItem,expandIcon:l};return i.a.cloneElement(t,m)},this.getItems=function(){var t=e.props.children,n=Object(he.isFragment)(t)?t.props.children:t,o=r.Children.map(n,e.getNewChild);return Object(he.isFragment)(t)?i.a.createElement(i.a.Fragment,null,o):o},this.setActiveKey=function(t){"activeKey"in e.props||e.setState({activeKey:t}),e.props.onChange(e.props.accordion?t[0]:t)}};ve.propTypes={children:a.a.any,prefixCls:a.a.string,activeKey:a.a.oneOfType([a.a.string,a.a.arrayOf(a.a.string)]),defaultActiveKey:a.a.oneOfType([a.a.string,a.a.arrayOf(a.a.string)]),openAnimation:a.a.object,onChange:a.a.func,accordion:a.a.bool,className:a.a.string,style:a.a.object,destroyInactivePanel:a.a.bool,expandIcon:a.a.func},ve.defaultProps={prefixCls:"rc-collapse",onChange:function(){},accordion:!1,destroyInactivePanel:!1},ve.Panel=de;var _e=ve;n.d(t,"Panel",function(){return we});t.default=_e;var we=_e.Panel},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r);function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var a=n(146),s=n.n(a);function u(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n(12);n(541);var l=n(273),c=n(87),d=function(e,t){return function(n){return n[e]=t,n}},f=function(e){return d("displayName",e)},p=function(e){return function(t){var n=Object(r.createFactory)(t);return function(t){return n(e(t))}}},h=function(e,t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=t(e[r],r));return n},m=(Object.keys,r.Component,function(e){return function(t){var n=Object(r.createFactory)(t);return function(t){function r(){return t.apply(this,arguments)||this}u(r,t);var i=r.prototype;return i.shouldComponentUpdate=function(t){return e(this.props,t)},i.render=function(){return n(this.props)},r}(r.Component)}}),g=function(e){return m(function(e,t){return!s()(e,t)})(e)};var y,v=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}},function(e){return e})},b={fromESObservable:null,toESObservable:null},_={fromESObservable:function(e){return"function"==typeof b.fromESObservable?b.fromESObservable(e):e},toESObservable:function(e){return"function"==typeof b.toESObservable?b.toESObservable(e):e}},w=(y=_,n(533)),A=n(542),x=n.n(A);function k(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&(n[r[i]]=e[r[i]])}return n}var M,E,L,S,D,T,C=v(f("DebounceInput"),g,(T={wait:250},function(e){var t=Object(r.createFactory)(e),n=function(e){return t(e)};return n.defaultProps=T,n}),(S={debounceFieldValue:"",debouncing:!1},D={setDebounceFieldValue:function(){return function(e){return{debounceFieldValue:e}}},setDebouncing:function(){return function(e){return{debouncing:e}}}},function(e){var t=Object(r.createFactory)(e);return function(e){function n(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).state="function"==typeof S?S(t.props):S,t.stateUpdaters=h(D,function(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];n&&"function"==typeof n.persist&&n.persist(),t.setState(function(t,r){return e(t,r).apply(void 0,[n].concat(i))})}}),t}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.state,this.stateUpdaters))},n}(r.Component)}),(L={componentDidMount:function(){this.props.setDebounceFieldValue(this.props.input.value)},componentWillReceiveProps:function(e){e.debouncing||e.input.value!==this.props.input.value&&this.props.setDebounceFieldValue(e.input.value)}},function(e){var t=Object(r.createFactory)(e),n=function(e){function n(){return e.apply(this,arguments)||this}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.state))},n}(r.Component);return Object.keys(L).forEach(function(e){return n.prototype[e]=L[e]}),n}),(E=function(e){var t=e.wait,n=e.setDebouncing,r=x()(function(e,t){n(!1),e(t)},t);return{onChange:function(e){return function(t){t.persist(),n(!0),r(e.input.onChange,t),e.setDebounceFieldValue(t.target.value)}},onBlur:function(e){return function(t){r.cancel(),n(!1),e.input.onChange(t),e.input.onBlur(t)}},onKeyDown:function(e){return function(t){13===t.keyCode&&(r.cancel(),n(!1),e.input.onChange(t))}}}},function(e){var t=Object(r.createFactory)(e);return function(e){function n(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).handlers=h("function"==typeof E?E(t.props):E,function(e){return function(){return e(t.props).apply(void 0,arguments)}}),t}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.handlers))},n}(r.Component)}),(M=function(e){var t=e.input,n=e.debounceFieldValue,r=e.onChange,i=e.onBlur,o=e.onKeyDown;return{input:Object.assign({},t,{value:n,onChange:r,onBlur:i,onKeyDown:o})}},p(function(e){return o({},e,"function"==typeof M?M(e):M)})))(function(e){var t=e.ownerComponent,n=(e.wait,e.debounceFieldValue,e.setDebounceFieldValue,e.debouncing,e.setDebouncing,e.onChange,e.onBlur,e.onKeyDown,k(e,["ownerComponent","wait","debounceFieldValue","setDebounceFieldValue","debouncing","setDebouncing","onChange","onBlur","onKeyDown"]));return i.a.createElement(t,Object.assign({},n))}),O=v(f("DebounceField"),g)(function(e){var t=e.component,n=k(e,["component"]);return i.a.createElement(w.a,Object.assign({},n,{component:C,ownerComponent:t}))});t.default=O},function(e,t,n){"use strict";n.r(t);var r=n(484),i=n.n(r),o=n(240),a=n(490),s=n.n(a),u=n(241),l=n.n(u),c=n(491),d=n.n(c),f=n(239),p=n.n(f),h={version:"1.7.25",country_calling_codes:{1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],383:["XK"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],800:["001"],808:["001"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],870:["001"],878:["001"],880:["BD"],881:["001"],882:["001"],883:["001"],886:["TW"],888:["001"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],979:["001"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},countries:{AC:["247","00","(?:[01589]\\d|[46])\\d{4}",[5,6]],AD:["376","00","(?:1|6\\d)\\d{7}|[136-9]\\d{5}",[6,8,9],[["(\\d{3})(\\d{3})","$1 $2",["[136-9]"]],["(\\d{4})(\\d{4})","$1 $2",["1"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]]],AE:["971","00","(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}",[5,6,7,8,9,10,11,12],[["(\\d{3})(\\d{2,9})","$1 $2",["60|8"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[236]|[479][2-8]"],"0$1"],["(\\d{3})(\\d)(\\d{5})","$1 $2 $3",["[479]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"]],"0"],AF:["93","00","[2-7]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],"0"],AG:["1","011","(?:268|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([457]\\d{6})$","268$1",0,"268"],AI:["1","011","(?:264|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2457]\\d{6})$","264$1",0,"264"],AL:["355","00","(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}",[6,7,8,9],[["(\\d{3})(\\d{3,4})","$1 $2",["80|9"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["4[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2358][2-5]|4"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["[23578]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["6"],"0$1"]],"0"],AM:["374","00","(?:[1-489]\\d|55|60|77)\\d{6}",[8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0 $1"],["(\\d{3})(\\d{5})","$1 $2",["2|3[12]"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["1|47"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[3-9]"],"0$1"]],"0"],AO:["244","00","[29]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[29]"]]]],AR:["54","00","11\\d{8}|(?:[2368]|9\\d)\\d{9}",[10,11],[["(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])","2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5(?:[24-6]|3[2-5]))|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["[23]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],["(\\d)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))","9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5(?:[24-6]|3[2-5]))|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 15-$3-$4",["91"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9"],"0$1",0,"$1 $2 $3-$4"]],"0",0,"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1"],AS:["1","011","(?:[58]\\d\\d|684|900)\\d{7}",[10],0,"1",0,"1|([267]\\d{6})$","684$1",0,"684"],AT:["43","00","1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",[4,5,6,7,8,9,10,11,12,13],[["(\\d)(\\d{3,12})","$1 $2",["1(?:11|[2-9])"],"0$1"],["(\\d{3})(\\d{2})","$1 $2",["517"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["5[079]"],"0$1"],["(\\d{3})(\\d{3,10})","$1 $2",["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],"0$1"],["(\\d{4})(\\d{3,9})","$1 $2",["[2-467]|5[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["5"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,7})","$1 $2 $3",["5"],"0$1"]],"0"],AU:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{7,8}|8[0-24-9]\\d{7})|(?:[2-478]\\d\\d|550)\\d{6}|1\\d{4,7}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,4})","$1 $2",["16"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["14|[45]"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:30|[89])"]]],"0",0,"0|(183[12])",0,0,0,[["(?:[237]\\d{5}|8(?:51(?:0(?:0[03-9]|[1247]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-6])|1(?:1[69]|[23]\\d|4[0-4]))|(?:[6-8]\\d{3}|9(?:[02-9]\\d\\d|1(?:[0-57-9]\\d|6[0135-9])))\\d))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,["16\\d{3,7}",[5,6,7,8,9]],["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],AW:["297","00","(?:[25-79]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[25-9]"]]]],AX:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|(?:[147]\\d|3[0-46-9]|50)\\d{4,8}",[5,6,7,8,9,10],0,"0",0,0,0,0,"18",0,"00"],AZ:["994","00","(?:365\\d{3}|900200)\\d{3}|(?:[12457]\\d|60|88)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[12]|365","[12]|365","[12]|365(?:[0-46-9]|5[0-35-9])"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[3-8]"],"0$1"]],"0"],BA:["387","00","6\\d{8}|(?:[35689]\\d|49|70)\\d{6}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-356]|[7-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6"],"0$1"]],"0"],BB:["1","011","(?:246|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","246$1",0,"246"],BD:["880","00","[13469]\\d{9}|8[0-79]\\d{7,8}|[2-7]\\d{8}|[2-9]\\d{7}|[3-689]\\d{6}|[57-9]\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{4,6})","$1-$2",["31[5-7]|[459]1"],"0$1"],["(\\d{3})(\\d{3,7})","$1-$2",["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:28|4[14]|5)|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],"0$1"],["(\\d{4})(\\d{3,6})","$1-$2",["[13-9]"],"0$1"],["(\\d)(\\d{7,8})","$1-$2",["2"],"0$1"]],"0"],BE:["32","00","4\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[239]|4[23]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[15-8]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4"],"0$1"]],"0"],BF:["226","00","[025-7]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[025-7]"]]]],BG:["359","00","[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",[6,7,8,9],[["(\\d)(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["43[1-6]|70[1-9]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:70|8)0"],"0$1"],["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[1-7]|7"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[48]|9[08]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"]],"0"],BH:["973","00","[136-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[13679]|8[047]"]]]],BI:["257","00","(?:[267]\\d|31)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2367]"]]]],BJ:["229","00","[2689]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2689]"]]]],BL:["590","00","(?:590|69\\d)\\d{6}",[9],0,"0",0,0,0,0,0,[["590(?:2[7-9]|5[12]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],BM:["1","011","(?:441|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-8]\\d{6})$","441$1",0,"441"],BN:["673","00","[2-578]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-578]"]]]],BO:["591","00(?:1\\d)?","(?:[2-467]\\d{3}|80017)\\d{4}",[8,9],[["(\\d)(\\d{7})","$1 $2",["[23]|4[46]"]],["(\\d{8})","$1",["[67]"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["8"]]],"0",0,"0(1\\d)?"],BQ:["599","00","(?:[34]1|7\\d)\\d{5}",[7],0,0,0,0,0,0,"[347]"],BR:["55","00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)","(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-24679]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}",[8,9,10,11],[["(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37)","4(?:02|37)0|[34]00"]],["(\\d{3})(\\d{2,3})(\\d{4})","$1 $2 $3",["(?:[358]|90)0"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],"($1)"],["(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[16][1-9]|[2-57-9]"],"($1)"]],"0",0,"0(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?","$2"],BS:["1","011","(?:242|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([3-8]\\d{6})$","242$1",0,"242"],BT:["975","00","[17]\\d{7}|[2-8]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[2-68]|7[246]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[67]|7"]]]],BW:["267","00","90\\d{5}|(?:[2-6]|7\\d)\\d{6}",[7,8],[["(\\d{2})(\\d{5})","$1 $2",["90"]],["(\\d{3})(\\d{4})","$1 $2",["[2-6]"]],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["7"]]]],BY:["375","810","(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3})","$1 $2",["800"],"8 $1"],["(\\d{3})(\\d{2})(\\d{2,4})","$1 $2 $3",["800"],"8 $1"],["(\\d{4})(\\d{2})(\\d{3})","$1 $2-$3",["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])","1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],"8 0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["1(?:[56]|7[467])|2[1-3]"],"8 0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-4]"],"8 0$1"],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["[89]"],"8 $1"]],"8",0,"0|80?",0,0,0,0,"8~10"],BZ:["501","00","(?:0800\\d|[2-8])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1-$2",["[2-8]"]],["(\\d)(\\d{3})(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]]]],CA:["1","011","(?:[2-8]\\d|90)\\d{8}",[10],0,"1",0,0,0,0,0,[["(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["(?:5(?:00|2[12]|33|44|66|77|88)|622)[2-9]\\d{6}"],0,0,0,["600[2-9]\\d{6}"]]],CC:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d|8[0-24-9])\\d{7}|(?:[148]\\d\\d|550)\\d{6}|1\\d{5,7}",[6,7,8,9,10],0,"0",0,"0|([59]\\d{7})$","8$1",0,0,[["8(?:51(?:0(?:02|31|60)|118)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],CD:["243","00","[189]\\d{8}|[1-68]\\d{6}",[7,9],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[1-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"],"0$1"]],"0"],CF:["236","00","(?:[27]\\d{3}|8776)\\d{4}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[278]"]]]],CG:["242","00","222\\d{6}|(?:0\\d|80)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["801"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]]]],CH:["41","00","8\\d{11}|[2-9]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]|81"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["8"],"0$1"]],"0"],CI:["225","00","[02-8]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[02-8]"]]]],CK:["682","00","[2-8]\\d{4}",[5],[["(\\d{2})(\\d{3})","$1 $2",["[2-8]"]]]],CL:["56","(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0","12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}",[9,10,11],[["(\\d{5})(\\d{4})","$1 $2",["21"],"($1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["44"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[23]"],"($1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["9[2-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"],"($1)"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{3})(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"]]]],CM:["237","00","(?:[26]\\d\\d|88)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["88"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]"]]]],CN:["86","00|1(?:[12]\\d|79|9[0235-7])\\d\\d00","1[1279]\\d{8,9}|2\\d{9}(?:\\d{2})?|[12]\\d{6,7}|86\\d{6}|(?:1[03-68]\\d|6)\\d{7,9}|(?:[3-579]\\d|8[0-57-9])\\d{6,9}",[7,8,9,10,11,12],[["(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2[0-57-9])[19]","(?:10|2[0-57-9])(?:10|9[56])","(?:10|2[0-57-9])(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{5,6})","$1 $2",["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]","(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]","85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])","85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["(?:4|80)0"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|2(?:[02-57-9]|1[1-9])","10|2(?:[02-57-9]|1[1-9])","10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"],"0$1",1],["(\\d{3})(\\d{7,8})","$1 $2",["9"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[3-578]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-9]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["[12]"],"0$1",1]],"0",0,"0|(1(?:[12]\\d|79|9[0235-7])\\d\\d)",0,0,0,0,"00"],CO:["57","00(?:4(?:[14]4|56)|[579])","(?:1\\d|3)\\d{9}|[124-8]\\d{7}",[8,10,11],[["(\\d)(\\d{7})","$1 $2",["1[2-79]|[25-8]|(?:18|4)[2-9]"],"($1)"],["(\\d{3})(\\d{7})","$1 $2",["3"]],["(\\d)(\\d{3})(\\d{7})","$1-$2-$3",["1(?:80|9)","1(?:800|9)"],"0$1",0,"$1 $2 $3"]],"0",0,"0([3579]|4(?:[14]4|56))?"],CR:["506","00","(?:8\\d|90)\\d{8}|[24-8]\\d{7}",[8,10],[["(\\d{4})(\\d{4})","$1 $2",["[24-7]|8[3-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]"]]],0,0,"(19(?:0[0-2468]|1[09]|20|66|77|99))"],CU:["53","119","[27]\\d{6,7}|[34]\\d{5,7}|5\\d{7}",[6,7,8],[["(\\d{2})(\\d{4,6})","$1 $2",["2[1-4]|[34]"],"(0$1)"],["(\\d)(\\d{6,7})","$1 $2",["7"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["5"],"0$1"]],"0"],CV:["238","0","[2-59]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2-59]"]]]],CW:["599","00","(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[3467]"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["9[4-8]"]]],0,0,0,0,0,"[69]"],CX:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d|8[0-24-9])\\d{7}|(?:[148]\\d\\d|550)\\d{6}|1\\d{5,7}",[6,7,8,9,10],0,"0",0,"0|([59]\\d{7})$","8$1",0,0,[["8(?:51(?:0(?:01|30|59)|117)|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],CY:["357","00","(?:[279]\\d|[58]0)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[257-9]"]]]],CZ:["420","00","(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]|9[015-7]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]]],DE:["49","00","[2579]\\d{5,14}|49(?:[05]\\d{10}|[46][1-8]\\d{4,9})|49(?:[0-25]\\d|3[1-689]|7[1-7])\\d{4,8}|49(?:[0-2579]\\d|[34][1-9]|6[0-8])\\d{3}|49\\d{3,4}|(?:1|[368]\\d|4[0-8])\\d{3,13}",[4,5,6,7,8,9,10,11,12,13,14,15],[["(\\d{2})(\\d{3,13})","$1 $2",["3[02]|40|[68]9"],"0$1"],["(\\d{3})(\\d{3,12})","$1 $2",["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1","2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"],"0$1"],["(\\d{4})(\\d{2,11})","$1 $2",["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]","[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["138"],"0$1"],["(\\d{5})(\\d{2,10})","$1 $2",["3"],"0$1"],["(\\d{3})(\\d{5,11})","$1 $2",["181"],"0$1"],["(\\d{3})(\\d)(\\d{4,10})","$1 $2 $3",["1(?:3|80)|9"],"0$1"],["(\\d{3})(\\d{7,8})","$1 $2",["1[67]"],"0$1"],["(\\d{3})(\\d{7,12})","$1 $2",["8"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["185","1850","18500"],"0$1"],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["18[68]"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["15[0568]"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["15[1279]"],"0$1"],["(\\d{3})(\\d{8})","$1 $2",["18"],"0$1"],["(\\d{3})(\\d{2})(\\d{7,8})","$1 $2 $3",["1(?:6[023]|7)"],"0$1"],["(\\d{4})(\\d{2})(\\d{7})","$1 $2 $3",["15[279]"],"0$1"],["(\\d{3})(\\d{2})(\\d{8})","$1 $2 $3",["15"],"0$1"]],"0"],DJ:["253","00","(?:2\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[27]"]]]],DK:["45","00","[2-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-9]"]]]],DM:["1","011","(?:[58]\\d\\d|767|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","767$1",0,"767"],DO:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,0,0,0,"8[024]9"],DZ:["213","00","(?:[1-4]|[5-79]\\d|80)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-8]"],"0$1"]],"0"],EC:["593","00","1800\\d{6,7}|(?:[2-7]|9\\d)\\d{7}",[8,9,10,11],[["(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[2-7]"],"(0$1)",0,"$1-$2-$3"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]]],"0"],EE:["372","00","8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d\\d|900)\\d{4}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]"]],["(\\d{4})(\\d{3,4})","$1 $2",["[45]|8(?:00|[1-4])","[45]|8(?:00[1-9]|[1-4])"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["80"]]]],EG:["20","00","[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",[8,9,10],[["(\\d)(\\d{7,8})","$1 $2",["[23]"],"0$1"],["(\\d{2})(\\d{6,7})","$1 $2",["1[35]|[4-6]|8[2468]|9[235-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[189]"],"0$1"]],"0"],EH:["212","00","[5-8]\\d{8}",[9],0,"0",0,0,0,0,"528[89]"],ER:["291","00","[178]\\d{6}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[178]"],"0$1"]],"0"],ES:["34","00","(?:51|[6-9]\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-9]"]]]],ET:["251","00","(?:11|[2-59]\\d)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-59]"],"0$1"]],"0"],FI:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}|[1-35689]\\d{4}",[5,6,7,8,9,10],[["(\\d)(\\d{4,9})","$1 $2",["[2568][1-8]|3(?:0[1-9]|[1-9])|9"],"0$1"],["(\\d{3})(\\d{3,7})","$1 $2",["(?:[12]0|7)0|[368]"],"0$1"],["(\\d{2})(\\d{4,8})","$1 $2",["[12457]"],"0$1"]],"0",0,0,0,0,"1[03-79]|[2-9]",0,"00"],FJ:["679","0(?:0|52)","45\\d{5}|(?:0800\\d|[235-9])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1 $2",["[235-9]|45"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]]],0,0,0,0,0,0,0,"00"],FK:["500","00","[2-7]\\d{4}",[5]],FM:["691","00","[39]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[39]"]]]],FO:["298","00","(?:[2-8]\\d|90)\\d{4}",[6],[["(\\d{6})","$1",["[2-9]"]]],0,0,"(10(?:01|[12]0|88))"],FR:["33","00","[1-9]\\d{8}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"]],"0"],GA:["241","00","(?:0\\d|[2-7])\\d{6}",[7,8],[["(\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]]]],GB:["44","00","[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",[7,9,10],[["(\\d{3})(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["845","8454","84546","845464"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["800"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:(?:38|69)7|5(?:24|39)|768|946)","1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["1(?:[2-69][02-9]|[78])"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[25]|7(?:0|6[024-9])","[25]|7(?:0|6(?:[04-9]|2[356]))"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[1389]"],"0$1"]],"0",0,0,0,0,0,[["(?:1(?:(?:1(?:3[0-58]|4[0-5]|5[0-26-9]|6[0-4]|[78][0-49])|3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d\\d|2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d\\d|1(?:[0-7]\\d\\d|80[04589])))|2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d|7(?:(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))\\d|6888[2-46-8]))\\d\\d",[9,10]],["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",[10]],["56\\d{8}",[10]]],0," x"],GD:["1","011","(?:473|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","473$1",0,"473"],GE:["995","00","(?:[3-57]\\d\\d|800)\\d{6}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["32"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[57]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[348]"],"0$1"]],"0"],GF:["594","00","[56]94\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0"],GG:["44","00","(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",[7,9,10],0,"0",0,"0|([25-9]\\d{5})$","1481$1",0,0,[["1481[25-9]\\d{5}",[10]],["7(?:(?:781|839)\\d|911[17])\\d{5}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",[10]],["56\\d{8}",[10]]]],GH:["233","00","(?:[235]\\d{3}|800)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"]],"0"],GI:["350","00","(?:[25]\\d\\d|629)\\d{5}",[8],[["(\\d{3})(\\d{5})","$1 $2",["2"]]]],GL:["299","00","(?:19|[2-689]\\d)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["19|[2-689]"]]]],GM:["220","00","[2-9]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],GN:["224","00","(?:30|6\\d\\d|722)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[67]"]]]],GP:["590","00","(?:590|69\\d)\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0",0,0,0,0,0,[["590(?:0[1-68]|1[0-2]|2[0-68]|3[1289]|4[0-24-9]|5[3-579]|6[0189]|7[08]|8[0-689]|9\\d)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],GQ:["240","00","222\\d{6}|(?:3\\d|55|[89]0)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"]],["(\\d{3})(\\d{6})","$1 $2",["[89]"]]]],GR:["30","00","(?:[268]\\d|[79]0)\\d{8}",[10],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["21|7"]],["(\\d{4})(\\d{6})","$1 $2",["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2689]"]]]],GT:["502","00","(?:1\\d{3}|[2-7])\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1 $2",["[2-7]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],GU:["1","011","(?:[58]\\d\\d|671|900)\\d{7}",[10],0,"1",0,"1|([3-9]\\d{6})$","671$1",0,"671"],GW:["245","00","[49]\\d{8}|4\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["40"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"]]]],GY:["592","001","(?:862\\d|9008)\\d{3}|(?:[2-46]\\d|77)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-46-9]"]]]],HK:["852","00(?:30|5[09]|[126-9]?)","8[0-46-9]\\d{6,7}|9\\d{4}(?:\\d(?:\\d(?:\\d{4})?)?)?|(?:[235-79]\\d|46)\\d{6}",[5,6,7,8,9,11],[["(\\d{3})(\\d{2,5})","$1 $2",["900","9003"]],["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{3})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]],0,0,0,0,0,0,0,"00"],HN:["504","00","[237-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1-$2",["[237-9]"]]]],HR:["385","00","(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}",[6,7,8,9],[["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["6[01]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{4})(\\d{3})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-5]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],"0"],HT:["509","00","[2-489]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[2-489]"]]]],HU:["36","00","[2357]\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-57-9]"],"06 $1"]],"06"],ID:["62","00[189]","(?:(?:007803|8\\d{4})\\d|[1-36])\\d{6}|[1-9]\\d{8,10}|[2-9]\\d{7}",[7,8,9,10,11,12,13],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["15"]],["(\\d{2})(\\d{5,9})","$1 $2",["2[124]|[36]1"],"(0$1)"],["(\\d{3})(\\d{5,7})","$1 $2",["800"],"0$1"],["(\\d{3})(\\d{5,8})","$1 $2",["[2-79]"],"(0$1)"],["(\\d{3})(\\d{3,4})(\\d{3})","$1-$2-$3",["8[1-35-9]"],"0$1"],["(\\d{3})(\\d{6,8})","$1 $2",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],["(\\d{3})(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1-$2-$3",["8"],"0$1"]],"0"],IE:["353","00","(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["2[24-9]|47|58|6[237-9]|9[35-9]"],"(0$1)"],["(\\d{3})(\\d{5})","$1 $2",["[45]0"],"(0$1)"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["1"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2569]|4[1-69]|7[14]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["81"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[78]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]],["(\\d{2})(\\d)(\\d{3})(\\d{4})","$1 $2 $3 $4",["8"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["4"],"(0$1)"]],"0"],IL:["972","0(?:0|1[2-9])","1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}",[7,8,9,10,11,12],[["(\\d{4})(\\d{3})","$1-$2",["125"]],["(\\d{4})(\\d{2})(\\d{2})","$1-$2-$3",["121"]],["(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-489]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1-$2-$3",["12"]],["(\\d{4})(\\d{6})","$1-$2",["159"]],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3-$4",["1[7-9]"]],["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})","$1-$2 $3-$4",["15"]]],"0"],IM:["44","00","1624\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"0|([5-8]\\d{5})$","1624$1",0,"74576|(?:16|7[56])24"],IN:["91","00","(?:00800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}",[8,9,10,11,12,13],[["(\\d{8})","$1",["5(?:0|2[23]|3[03]|[67]1|88)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"],0,1],["(\\d{4})(\\d{4,5})","$1 $2",["180","1800"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["140"],0,1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79[1-7]|80[2-46]","11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])","11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|(?:55|61)2|7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:1(?:29|60|8[06])|261|552|788[01])[2-7]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])"],"0$1",1],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|[4-8])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807","1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]","1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|3179)|807(?:1|9[1-3])|(?:1552|7(?:28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],"0$1",1],["(\\d{5})(\\d{5})","$1 $2",["[6-9]"],"0$1",1],["(\\d{4})(\\d{2,4})(\\d{4})","$1 $2 $3",["1(?:6|8[06])","1(?:6|8[06]0)"],0,1],["(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18"],0,1]],"0"],IO:["246","00","3\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["3"]]]],IQ:["964","00","(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],IR:["98","00","[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}",[4,5,6,7,10],[["(\\d{4,5})","$1",["96"],"0$1"],["(\\d{2})(\\d{4,5})","$1 $2",["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[1-8]"],"0$1"]],"0"],IS:["354","00|1(?:0(?:01|[12]0)|100)","(?:38\\d|[4-9])\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["[4-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["3"]]],0,0,0,0,0,0,0,"00"],IT:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],[["(\\d{2})(\\d{4,6})","$1 $2",["0[26]"]],["(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[245])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[45][0-4]))"]],["(\\d{4})(\\d{2,6})","$1 $2",["0(?:[13-579][2-46-8]|8[236-8])"]],["(\\d{4})(\\d{4})","$1 $2",["894"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|5"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1[4679]|[38]"]],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]"]],["(\\d{2})(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["3"]]],0,0,0,0,0,0,[["0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"],["3[1-9]\\d{8}|3[2-9]\\d{7}",[9,10]],["80(?:0\\d{3}|3)\\d{3}",[6,9]],["(?:0878\\d\\d|89(?:2|4[5-9]\\d))\\d{3}|89[45][0-4]\\d\\d|(?:1(?:44|6[346])|89(?:5[5-9]|9))\\d{6}",[6,8,9,10]],["1(?:78\\d|99)\\d{6}",[9,10]],0,0,0,["55\\d{8}",[10]],["84(?:[08]\\d{3}|[17])\\d{3}",[6,9]]]],JE:["44","00","1534\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"0|([0-24-8]\\d{5})$","1534$1",0,0,[["1534[0-24-8]\\d{5}"],["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97[7-9]))\\d{5}"],["80(?:07(?:35|81)|8901)\\d{4}"],["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"],["701511\\d{4}"],0,["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}"],["56\\d{8}"]]],JM:["1","011","(?:[58]\\d\\d|658|900)\\d{7}",[10],0,"1",0,0,0,0,"658|876"],JO:["962","00","900\\d{5}|(?:(?:[268]|7\\d)\\d|32|53)\\d{6}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]|87"],"(0$1)"],["(\\d{3})(\\d{5,6})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["70"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],JP:["81","010","00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",[8,9,10,11,12,13,14,15,16,17],[["(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],["(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[78]|96)|477|51[24]|636)|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[78]|96[2457-9])|477|51[24]|636[2-57-9])|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])","[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[279]|49|6[0-24-689]|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|5(?:2|3[045]|4[0-369]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|49|6(?:[0-24]|5[0-3589]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:49|55|83)[29]|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:47[59]|59[89]|8(?:6[68]|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:48|829(?:2|66)|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],"0$1"],["(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3[3-8]|5[2-9])","[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3(?:[3-6][2-9]|7|8[2-5])|5[2-9])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[2579]|80"],"0$1"]],"0"],KE:["254","000","(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}",[7,8,9,10],[["(\\d{2})(\\d{5,7})","$1 $2",["[24-6]"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[17]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0"],KG:["996","00","8\\d{9}|(?:[235-8]\\d|99)\\d{7}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["3(?:1[346]|[24-79])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-79]|88"],"0$1"],["(\\d{3})(\\d{3})(\\d)(\\d{2,3})","$1 $2 $3 $4",["8"],"0$1"]],"0"],KH:["855","00[14-9]","1\\d{9}|[1-9]\\d{7,8}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],KI:["686","00","(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",[5,8],0,"0"],KM:["269","00","[3478]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[3478]"]]]],KN:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","869$1",0,"869"],KP:["850","00|99","85\\d{6}|(?:19\\d|2)\\d{7}",[8,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"]],"0"],KR:["82","00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))","00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}",[5,6,8,9,10,11,12,13,14],[["(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1"],["(\\d{4})(\\d{4})","$1-$2",["1"]],["(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60|8"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["[1346]|5[1-5]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{2})(\\d{5})(\\d{4})","$1-$2-$3",["5"],"0$1"]],"0",0,"0(8(?:[1-46-8]|5\\d\\d))?"],KW:["965","00","(?:18|[2569]\\d\\d)\\d{5}",[7,8],[["(\\d{4})(\\d{3,4})","$1 $2",["[169]|2(?:[235]|4[1-35-9])|52"]],["(\\d{3})(\\d{5})","$1 $2",["[25]"]]]],KY:["1","011","(?:345|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","345$1",0,"345"],KZ:["7","810","33622\\d{5}|(?:7\\d|80)\\d{8}",[10],0,"8",0,0,0,0,"33|7",0,"8~10"],LA:["856","00","(?:2\\d|3)\\d{8}|(?:[235-8]\\d|41)\\d{6}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|3[14]|[4-8]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["3"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2"],"0$1"]],"0"],LB:["961","00","[7-9]\\d{7}|[13-9]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"]]],"0"],LC:["1","011","(?:[58]\\d\\d|758|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","758$1",0,"758"],LI:["423","00","90\\d{5}|(?:[2378]|6\\d\\d)\\d{6}",[7,9],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[237-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["69"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]],"0",0,"0|(10(?:01|20|66))"],LK:["94","00","(?:[1-7]\\d|[89]1)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[1-689]"],"0$1"]],"0"],LR:["231","00","(?:2|33|5\\d|77|88)\\d{7}|[45]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[45]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3578]"],"0$1"]],"0"],LS:["266","00","(?:[256]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2568]"]]]],LT:["370","00","(?:[3469]\\d|52|[78]0)\\d{6}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["52[0-79]"],"(8-$1)",1],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[7-9]"],"8 $1",1],["(\\d{2})(\\d{6})","$1 $2",["37|4(?:[15]|6[1-8])"],"(8-$1)",1],["(\\d{3})(\\d{5})","$1 $2",["[3-6]"],"(8-$1)",1]],"8",0,"[08]"],LU:["352","00","35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}",[4,5,6,7,8,9,10,11],[["(\\d{2})(\\d{3})","$1 $2",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20[2-689]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"]],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["80[01]|90[015]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})","$1 $2 $3 $4",["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]]],0,0,"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"],LV:["371","00","(?:[268]\\d|90)\\d{6}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[269]|8[01]"]]]],LY:["218","00","(?:[2569]\\d|71)\\d{7}",[9],[["(\\d{2})(\\d{7})","$1-$2",["[25-79]"],"0$1"]],"0"],MA:["212","00","[5-8]\\d{8}",[9],[["(\\d{5})(\\d{4})","$1-$2",["5(?:29|38)","5(?:29|38)[89]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5[45]"],"0$1"],["(\\d{4})(\\d{5})","$1-$2",["5(?:2[2-489]|3[5-9]|9)|892"],"0$1"],["(\\d{2})(\\d{7})","$1-$2",["8"],"0$1"],["(\\d{3})(\\d{6})","$1-$2",["[5-7]"],"0$1"]],"0",0,0,0,0,0,[["5(?:29|38)[89]0\\d{4}|5(?:2(?:[015-7]\\d|2[2-9]|3[2-57]|4[2-46-8]|8[235-7]|90)|3(?:[0-4]\\d|[57][2-9]|6[2-8]|80|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}"],["692[12]\\d{5}|(?:6(?:[0-7]\\d|8[0-247-9]|9[013-9])|7(?:0[06-8]|6[1267]|7[0-27]))\\d{6}"],["80\\d{7}"],["89\\d{7}"],0,0,0,0,["5924[0-2]\\d{4}"]]],MC:["377","00","870\\d{5}|(?:[349]|6\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[39]"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"],"0$1"]],"0"],MD:["373","00","(?:[235-7]\\d|[89]0)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["22|3"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[25-7]"],"0$1"]],"0"],ME:["382","00","(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"0$1"]],"0"],MF:["590","00","(?:590|69\\d)\\d{6}",[9],0,"0",0,0,0,0,0,[["590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],MG:["261","00","[23]\\d{8}",[9],[["(\\d{2})(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",["[23]"],"0$1"]],"0",0,"0|([24-9]\\d{6})$","20$1"],MH:["692","011","329\\d{4}|(?:[256]\\d|45)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1-$2",["[2-6]"]]],"1"],MK:["389","00","[2-578]\\d{7}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[347]"],"0$1"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"],"0$1"]],"0"],ML:["223","00","(?:[246-9]\\d|50)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]]]],MM:["95","00","1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}",[6,7,8,9,10],[["(\\d)(\\d{2})(\\d{3})","$1 $2 $3",["16|2"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[4-7]|8[1-35]"],"0$1"],["(\\d)(\\d{3})(\\d{4,6})","$1 $2 $3",["9(?:2[0-4]|[35-9]|4[137-9])"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["92"],"0$1"],["(\\d)(\\d{5})(\\d{4})","$1 $2 $3",["9"],"0$1"]],"0"],MN:["976","001","[12]\\d{7,9}|[57-9]\\d{7}",[8,9,10],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[57-9]"]],["(\\d{3})(\\d{5,6})","$1 $2",["[12]2[1-3]"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["[12](?:27|3[2-8]|4[2-68]|5[1-4689])","[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["[12]"],"0$1"]],"0"],MO:["853","00","(?:28|[68]\\d)\\d{6}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[268]"]]]],MP:["1","011","[58]\\d{9}|(?:67|90)0\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","670$1",0,"670"],MQ:["596","00","(?:596|69\\d)\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0"],MR:["222","00","(?:[2-4]\\d\\d|800)\\d{5}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]]]],MS:["1","011","66449\\d{5}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|(4\\d{6})$","664$1",0,"664"],MT:["356","00","3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2357-9]"]]]],MU:["230","0(?:0|[24-7]0|3[03])","(?:[2-468]|5\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-46]|8[013]"]],["(\\d{4})(\\d{4})","$1 $2",["5"]]],0,0,0,0,0,0,0,"020"],MV:["960","0(?:0|19)","(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}",[7,10],[["(\\d{3})(\\d{4})","$1-$2",["[3467]|9[13-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"]]],0,0,0,0,0,0,0,"00"],MW:["265","00","1\\d{6}(?:\\d{2})?|(?:[23]1|77|88|99)\\d{7}",[7,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[17-9]"],"0$1"]],"0"],MX:["52","0[09]","(?:1(?:[01467]\\d|[2359][1-9]|8[1-79])|[2-9]\\d)\\d{8}",[10,11],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|5[56]|81"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2-9]"],0,1],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 $3 $4",["1(?:33|5[56]|81)"],0,1],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 $3 $4",["1"],0,1]],"01",0,"0(?:[12]|4[45])|1",0,0,0,0,"00"],MY:["60","00","1\\d{8,9}|(?:3\\d|[4-9])\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["[4-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1-$2 $3",["1(?:[0249]|[367][2-9]|8[1-9])|8"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2 $3",["3"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3-$4",["1[36-8]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2 $3",["15"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2 $3",["1"],"0$1"]],"0"],MZ:["258","00","(?:2|8\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2|8[2-7]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]]],NA:["264","00","[68]\\d{7,8}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["87"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0"],NC:["687","00","[2-57-9]\\d{5}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[2-57-9]"]]]],NE:["227","00","[0289]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["08"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[089]|2[01]"]]]],NF:["672","00","[13]\\d{5}",[6],[["(\\d{2})(\\d{4})","$1 $2",["1"]],["(\\d)(\\d{5})","$1 $2",["3"]]],0,0,"([0-258]\\d{4})$","3$1"],NG:["234","009","(?:[124-7]|9\\d{3})\\d{6}|[1-9]\\d{7}|[78]\\d{9,13}",[7,8,10,11,12,13,14],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["78"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]|9(?:0[3-9]|[1-9])"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[3-7]|8[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[7-9]"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]"],"0$1"],["(\\d{3})(\\d{5})(\\d{5,6})","$1 $2 $3",["[78]"],"0$1"]],"0"],NI:["505","00","(?:1800|[25-8]\\d{3})\\d{4}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[125-8]"]]]],NL:["31","00","(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|[89]\\d{6,9}|1\\d{4,5}",[5,6,7,8,9,10],[["(\\d{3})(\\d{4,7})","$1 $2",["[89]0"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["66"],"0$1"],["(\\d)(\\d{8})","$1 $2",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-57-9]"],"0$1"]],"0"],NO:["47","00","(?:0|[2-9]\\d{3})\\d{4}",[5,8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[489]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-7]"]]],0,0,0,0,0,"[02-689]|7[0-8]"],NP:["977","00","9\\d{9}|[1-9]\\d{7}",[8,10],[["(\\d)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],["(\\d{2})(\\d{6})","$1-$2",["[1-8]|9(?:[1-579]|6[2-6])"],"0$1"],["(\\d{3})(\\d{7})","$1-$2",["9"]]],"0"],NR:["674","00","(?:444|55\\d|888)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[458]"]]]],NU:["683","00","(?:[47]|888\\d)\\d{3}",[4,7],[["(\\d{3})(\\d{4})","$1 $2",["8"]]]],NZ:["64","0(?:0|161)","[28]\\d{7,9}|[346]\\d{7}|(?:508|[79]\\d)\\d{6,7}",[8,9,10],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["24|[346]|7[2-57-9]|9[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:10|74)|[59]|80"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["2[028]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,5})","$1 $2 $3",["2(?:[169]|7[0-35-9])|7|86"],"0$1"]],"0",0,0,0,0,0,0,"00"],OM:["968","00","(?:[279]\\d{3}|500)\\d{4}|8007\\d{4,5}",[7,8,9],[["(\\d{3})(\\d{4,6})","$1 $2",["[58]"]],["(\\d{2})(\\d{6})","$1 $2",["2"]],["(\\d{4})(\\d{4})","$1 $2",["[79]"]]]],PA:["507","00","(?:[1-57-9]|6\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"]],["(\\d{4})(\\d{4})","$1-$2",["6"]]]],PE:["51","19(?:1[124]|77|90)00","(?:[14-8]|9\\d)\\d{7}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["80"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["1"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[4-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"]]],"0",0,0,0,0,0,0,0," Anexo "],PF:["689","00","[48]\\d{7}|4\\d{5}",[6,8],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["44"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[48]"]]]],PG:["675","00|140[1-3]","(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["18|[2-69]|85"]],["(\\d{4})(\\d{4})","$1 $2",["[78]"]]],0,0,0,0,0,0,0,"00"],PH:["63","00","(?:1800|8)\\d{7,9}|2\\d{5}(?:\\d{2})?|(?:[3-7]|9\\d)\\d{8}",[6,8,9,10,11,12,13],[["(\\d)(\\d{5})","$1 $2",["2"],"(0$1)"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"(0$1)"],["(\\d{4})(\\d{4,6})","$1 $2",["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2","3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],"(0$1)"],["(\\d{5})(\\d{4})","$1 $2",["346|4(?:27|9[35])|883","3469|4(?:279|9(?:30|56))|8834"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|8[2-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]]],"0"],PK:["92","00","122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[025-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["[89]0"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["1"]],["(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],"(0$1)"],["(\\d{3})(\\d{6,7})","$1 $2",["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])","9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],"(0$1)"],["(\\d{5})(\\d{5})","$1 $2",["58"],"(0$1)"],["(\\d{3})(\\d{7})","$1 $2",["3"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[24-9]"],"(0$1)"]],"0"],PL:["48","00","[1-57-9]\\d{6}(?:\\d{2})?|6\\d{5,8}",[6,7,8,9],[["(\\d{5})","$1",["19"]],["(\\d{3})(\\d{3})","$1 $2",["11|64"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1","(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["64"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["39|45|5[0137]|6[0469]|7[02389]|8[08]"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[2-8]|[2-8]|9[145]"]]]],PM:["508","00","[45]\\d{5}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[45]"],"0$1"]],"0"],PR:["1","011","(?:[589]\\d\\d|787)\\d{7}",[10],0,"1",0,0,0,0,"787|939"],PS:["970","00","[2489]2\\d{6}|(?:1\\d|5)\\d{8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2489]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["5"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],PT:["351","00","(?:[26-9]\\d|30)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["2[12]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[236-9]"]]]],PW:["680","01[12]","(?:[25-8]\\d\\d|345|488|900)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],PY:["595","00","59\\d{4,6}|(?:[2-46-9]\\d|5[0-8])\\d{4,7}",[6,7,8,9],[["(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{3})(\\d{4,5})","$1 $2",["2[279]|3[13-5]|4[359]|5|6[347]|7[46-8]|85"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["87"]],["(\\d{3})(\\d{6})","$1 $2",["9"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]"],"0$1"]],"0"],QA:["974","00","800\\d{4}|(?:2|[3-7]\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["2[126]|8"]],["(\\d{4})(\\d{4})","$1 $2",["[3-7]"]]]],RE:["262","00","(?:26|[68]\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[268]"],"0$1"]],"0",0,0,0,0,"262|69|8"],RO:["40","00","(?:[237]\\d|[89]0)\\d{7}|[23]\\d{5}",[6,9],[["(\\d{3})(\\d{3})","$1 $2",["2[3-6]","2[3-6]\\d9"],"0$1"],["(\\d{2})(\\d{4})","$1 $2",["219|31"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23]1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[237-9]"],"0$1"]],"0",0,0,0,0,0,0,0," int "],RS:["381","00","38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}",[6,7,8,9,10,11,12],[["(\\d{3})(\\d{3,9})","$1 $2",["(?:2[389]|39)0|[7-9]"],"0$1"],["(\\d{2})(\\d{5,10})","$1 $2",["[1-36]"],"0$1"]],"0"],RU:["7","810","[347-9]\\d{9}",[10],[["(\\d{4})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-8]|2[1-9])","7(?:1(?:[0-6]2|7|8[27])|2(?:1[23]|[2-9]2))","7(?:1(?:[0-6]2|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"],"8 ($1)",1],["(\\d{5})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-68]|2[1-9])","7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))","7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[3489]"],"8 ($1)",1]],"8",0,0,0,0,"3[04-689]|[489]",0,"8~10"],RW:["250","00","(?:06|[27]\\d\\d|[89]00)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"],"0$1"]],"0"],SA:["966","00","92\\d{7}|(?:[15]|8\\d)\\d{8}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["9"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["81"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]],"0"],SB:["677","0[01]","(?:[1-6]|[7-9]\\d\\d)\\d{4}",[5,7],[["(\\d{2})(\\d{5})","$1 $2",["7|8[4-9]|9(?:[1-8]|9[0-8])"]]]],SC:["248","010|0[0-2]","8000\\d{3}|(?:[249]\\d|64)\\d{5}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[246]"]]],0,0,0,0,0,0,0,"00"],SD:["249","00","[19]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[19]"],"0$1"]],"0"],SE:["46","00","(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{2,3})(\\d{2})","$1-$2 $3",["20"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{4})","$1-$2",["9(?:00|39|44)"],"0$1",0,"$1 $2"],["(\\d{2})(\\d{3})(\\d{2})","$1-$2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3"],["(\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{2,3})(\\d{3})","$1-$2 $3",["9(?:00|39|44)"],"0$1",0,"$1 $2 $3"],["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3 $4"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["7"],"0$1",0,"$1 $2 $3 $4"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4 $5",["[26]"],"0$1",0,"$1 $2 $3 $4 $5"]],"0"],SG:["65","0[0-3]\\d","(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}",[8,10,11],[["(\\d{4})(\\d{4})","$1 $2",["[369]|8[1-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]],["(\\d{4})(\\d{4})(\\d{3})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],SH:["290","00","(?:[256]\\d|8)\\d{3}",[4,5],0,0,0,0,0,0,"[256]"],SI:["386","00|10(?:22|66|88|99)","[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}",[5,6,7,8],[["(\\d{2})(\\d{3,6})","$1 $2",["8[09]|9"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["59|8"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[0139]|51|6"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-57]"],"(0$1)"]],"0",0,0,0,0,0,0,"00"],SJ:["47","00","0\\d{4}|(?:[4589]\\d|79)\\d{6}",[5,8],0,0,0,0,0,0,"79"],SK:["421","00","[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",[6,7,9],[["(\\d)(\\d{2})(\\d{3,4})","$1 $2 $3",["21"],"0$1"],["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["[3-5][1-8]1","[3-5][1-8]1[67]"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"]],"0"],SL:["232","00","(?:[2378]\\d|99)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[237-9]"],"(0$1)"]],"0"],SM:["378","00","(?:0549|[5-7]\\d)\\d{6}",[8,10],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],["(\\d{4})(\\d{6})","$1 $2",["0"]]],0,0,"([89]\\d{5})$","0549$1"],SN:["221","00","(?:[378]\\d{4}|93330)\\d{4}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[379]"]]]],SO:["252","00","[346-9]\\d{8}|[12679]\\d{7}|(?:[1-4]\\d|59)\\d{5}|[1348]\\d{5}",[6,7,8,9],[["(\\d{2})(\\d{4})","$1 $2",["8[125]"]],["(\\d{6})","$1",["[134]"]],["(\\d)(\\d{6})","$1 $2",["1|2[0-79]|3[0-46-8]|4[0-7]|59"]],["(\\d)(\\d{7})","$1 $2",["24|[67]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[348]|64|79[0-8]|90"]],["(\\d{2})(\\d{5,7})","$1 $2",["1|28|6[1-35-9]|799|9[2-9]"]]],"0"],SR:["597","00","(?:[2-5]|68|[78]\\d)\\d{5}",[6,7],[["(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"]],["(\\d{3})(\\d{3})","$1-$2",["[2-5]"]],["(\\d{3})(\\d{4})","$1-$2",["[6-8]"]]]],SS:["211","00","[19]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[19]"],"0$1"]],"0"],ST:["239","00","(?:22|9\\d)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[29]"]]]],SV:["503","00","[267]\\d{7}|[89]00\\d{4}(?:\\d{4})?",[7,8,11],[["(\\d{3})(\\d{4})","$1 $2",["[89]"]],["(\\d{4})(\\d{4})","$1 $2",["[267]"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]]]],SX:["1","011","7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|(5\\d{6})$","721$1",0,"721"],SY:["963","00","[1-39]\\d{8}|[1-5]\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-5]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1",1]],"0"],SZ:["268","00","0800\\d{4}|(?:[237]\\d|900)\\d{6}",[8,9],[["(\\d{4})(\\d{4})","$1 $2",["[0237]"]],["(\\d{5})(\\d{4})","$1 $2",["9"]]]],TA:["290","00","8\\d{3}",[4],0,0,0,0,0,0,"8"],TC:["1","011","(?:[58]\\d\\d|649|900)\\d{7}",[10],0,"1",0,"1|([2-479]\\d{6})$","649$1",0,"649"],TD:["235","00|16","(?:22|[69]\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2679]"]]],0,0,0,0,0,0,0,"00"],TG:["228","00","[279]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[279]"]]]],TH:["66","00[1-9]","1\\d{8,9}|(?:[2-57]|[689]\\d)\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["14|[3-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],TJ:["992","810","(?:[3-59]\\d|77|88)\\d{7}",[9],[["(\\d{6})(\\d)(\\d{2})","$1 $2 $3",["331","3317"],0,1],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[34]7|91[78]"],0,1],["(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3"],0,1],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[457-9]"],0,1]],"8",0,0,0,0,0,0,"8~10"],TK:["690","00","[2-47]\\d{3,6}",[4,5,6,7]],TL:["670","00","7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-489]|70"]],["(\\d{4})(\\d{4})","$1 $2",["7"]]]],TM:["993","810","[1-6]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["12"],"(8 $1)"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-5]"],"(8 $1)"],["(\\d{2})(\\d{6})","$1 $2",["6"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],TN:["216","00","[2-57-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]"]]]],TO:["676","00","(?:0800|[5-8]\\d{3})\\d{3}|[2-8]\\d{4}",[5,7],[["(\\d{2})(\\d{3})","$1-$2",["[2-4]|50|6[09]|7[0-24-69]|8[05]"]],["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{3})(\\d{4})","$1 $2",["[5-8]"]]]],TR:["90","00","(?:[2-58]\\d\\d|900)\\d{7}|4\\d{6}",[7,10],[["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["512|8[0589]|90"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:[0-59]|61)","5(?:[0-59]|616)","5(?:[0-59]|6161)"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24][1-8]|3[1-9]"],"(0$1)",1]],"0"],TT:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-46-8]\\d{6})$","868$1",0,"868"],TV:["688","00","(?:2|7\\d\\d|90)\\d{4}",[5,6,7]],TW:["886","0(?:0[25-79]|19)","(?:[24589]|7\\d)\\d{8}|[2-8]\\d{7}|2\\d{6}",[7,8,9,10],[["(\\d{2})(\\d)(\\d{4})","$1 $2 $3",["202"],"0$1"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["[25][2-8]|[346]|7[1-9]|8[237-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[258]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0",0,0,0,0,0,0,0,"#"],TZ:["255","00[056]","(?:[26-8]\\d|41|90)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[24]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[67]"],"0$1"]],"0"],UA:["380","00","[89]\\d{9}|[3-9]\\d{8}",[9,10],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]","6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["4[45][0-5]|5(?:0|6[37])|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]","4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["[3-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0",0,0,0,0,0,0,"0~0"],UG:["256","00[057]","800\\d{6}|(?:[29]0|[347]\\d)\\d{7}",[9],[["(\\d{4})(\\d{5})","$1 $2",["202","2024"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[27-9]|4(?:6[45]|[7-9])"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[34]"],"0$1"]],"0"],US:["1","011","[2-9]\\d{9}",[10],[["(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",["[2-9]"],0,1,"$1-$2-$3"]],"1",0,0,0,0,0,[["(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[017]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-28]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0179]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}"],0,["710[2-9]\\d{6}"]]],UY:["598","0(?:0|1[3-9]\\d)","(?:[249]\\d\\d|80)\\d{5}|9\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["8|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[24]"]]],"0",0,0,0,0,0,0,"00"," int. "],UZ:["998","810","[679]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[679]"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],VA:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],0,0,0,0,0,0,"06698"],VC:["1","011","(?:[58]\\d\\d|784|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","784$1",0,"784"],VE:["58","00","[89]00\\d{7}|(?:[24]\\d|50)\\d{8}",[10],[["(\\d{3})(\\d{7})","$1-$2",["[24589]"],"0$1"]],"0"],VG:["1","011","(?:284|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-578]\\d{6})$","284$1",0,"284"],VI:["1","011","[58]\\d{9}|(?:34|90)0\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","340$1",0,"340"],VN:["84","00","[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["80"],"0$1",1],["(\\d{4})(\\d{4,6})","$1 $2",["1"],0,1],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[69]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[3578]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2[48]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["2"],"0$1",1]],"0"],VU:["678","00","(?:[23]\\d|[48]8)\\d{3}|(?:[57]\\d|90)\\d{5}",[5,7],[["(\\d{3})(\\d{4})","$1 $2",["[579]"]]]],WF:["681","00","(?:[45]0|68|72|8\\d)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[4-8]"]]]],WS:["685","0","[2-6]\\d{4}|8\\d{5}(?:\\d{4})?|[78]\\d{6}",[5,6,7,10],[["(\\d{5})","$1",["[2-6]"]],["(\\d{3})(\\d{3,7})","$1 $2",["8"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]]],XK:["383","00","[23]\\d{7,8}|(?:4\\d\\d|[89]00)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[23]"],"0$1"]],"0"],YE:["967","00","(?:1|7\\d)\\d{7}|[1-7]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-6]|7[24-68]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"],"0$1"]],"0"],YT:["262","00","80\\d{7}|(?:26|63)9\\d{6}",[9],0,"0",0,0,0,0,"269|63"],ZA:["27","00","[1-9]\\d{8}|8\\d{4,7}",[5,6,7,8,9],[["(\\d{2})(\\d{3,4})","$1 $2",["8[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["8[1-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["860"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-9]"],"0$1"]],"0"],ZM:["260","00","800\\d{6}|(?:21|76|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[28]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[79]"],"0$1"]],"0"],ZW:["263","00","2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",[5,6,7,8,9,10],[["(\\d{3})(\\d{3,5})","$1 $2",["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"],"0$1"],["(\\d)(\\d{3})(\\d{2,4})","$1 $2 $3",["[49]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["80"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2","2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)","2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["29[013-9]|39|54"],"0$1"],["(\\d{4})(\\d{3,5})","$1 $2",["(?:25|54)8","258|5483"],"0$1"]],"0"],"001":["979",0,"\\d{9}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3"]]]}},m=(n(68),n(534),n(535),n(486),n(110)),g=n(188),y=n(10);n(487),n(488);function v(e,t){var n=Array.prototype.slice.call(t);return n.push(h),e.apply(this,n)}function b(e,t){return m.a.call(this,e,t,h)}function _(e){return g.a.call(this,e,h)}function w(){return v(y.b,arguments)}b.prototype=Object.create(m.a.prototype,{}),b.prototype.constructor=b,_.prototype=Object.create(g.a.prototype,{}),_.prototype.constructor=_,n.d(t,"default",function(){return i.a}),n.d(t,"parseRFC3966",function(){return o.parseRFC3966}),n.d(t,"formatRFC3966",function(){return o.formatRFC3966}),n.d(t,"parsePhoneNumber",function(){return s.a}),n.d(t,"formatPhoneNumber",function(){return l.a}),n.d(t,"formatPhoneNumberIntl",function(){return u.formatPhoneNumberIntl}),n.d(t,"isValidPhoneNumber",function(){return d.a}),n.d(t,"PhoneInput",function(){return p.a}),n.d(t,"getCountryCallingCode",function(){return w})}]);
\ No newline at end of file
-- 
GitLab


From e4eb0fa1fc3f376d4e844a81e528a16f6719e0d0 Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Fri, 25 Oct 2024 14:13:48 +0100
Subject: [PATCH 03/33] ISAICP-8857: Update geocoding cache.

---
 ...sI4CVJpspbGNNAu2rSHOS6Xxc-5-INiL_vAxxv3DM} | Bin 6242 -> 6242 bytes
 ...2bE9aZRaPcHVL_n9nhvvaBOzECOVtVEx6A2gkHxWdo | Bin 9442 -> 0 bytes
 ...aUSNs6Bzf4yXv5Tz8c1u8T54EanMA2Hlifkoph1Zg} | Bin 9825 -> 9825 bytes
 ...jezRFGh5MTXf-lM_21_orBN4-hQSutNCHKVYib5JI} | Bin 9358 -> 9358 bytes
 ...lk-kZat-OJ-JlMJAVrJ1GEosqevkiaUj4AJLIPgLW4 | Bin 6242 -> 0 bytes
 ...ZYTi7sCpaxqXRAa3U819q99-ZbgVeQpE1dz_lw0biM | Bin 4353 -> 0 bytes
 ...rYje3JlphXgJX24zReTWTHlG3u1czM1XKbwNOV900} | Bin 6242 -> 6242 bytes
 ...9-MtgMMmFKsh3y4PG6jyXsGk0KRCf9-Y5jMbK0xZU} | Bin 6242 -> 6242 bytes
 ...ZJ_4pKjvML7zkVgD5A_eZa2p1W9Xm3_uUQjlTmDtw} | Bin 8073 -> 8073 bytes
 ...al0WURvJ0dCnUK-64fi008TDRH6VI1FbpDGYGw3OA} | Bin 7701 -> 7702 bytes
 ...tI3Fl9VqE2fOrYGZRjq8b5tnq7K4D6X8M2rIoJrpI} | Bin 7659 -> 7659 bytes
 ...b-oIhsYO2cr0aI01Qj000aUCytz1qFy56LF4zcQCY} | Bin 8551 -> 8550 bytes
 ...B_agk8cs2B6kyRROiarsfFgg3kxEsEiiZhfDuP3Bw} | Bin 8756 -> 8756 bytes
 ...Xq4CpRBPUYpfj3dw1j8B5hmcqRppUkCmXzL5euRto} | Bin 4179 -> 4179 bytes
 ...TkAiZTrrkZYF86B7gE4l9B3QaFGlQKFVCYNyNACo4} | Bin 8756 -> 8755 bytes
 ...3wyyAWuxzKZ5zGANTaR7d-tVm9f6Nyb3Y5UbTbU6w} | Bin 9262 -> 9262 bytes
 ...Zv4h-DN_j-E0SPFtL_9iGvH1tUo87Ma9o9h4zknLs} | Bin 10080 -> 10080 bytes
 ...B0gynyKIkPbdiS82T4DfRcRyKRTVVhTsstsA6WEFM} | Bin 6816 -> 6816 bytes
 ...yiPf0DeCw2l3qe492_8TuuMbt_XL8S3uEX8QSwtcc} | Bin 6937 -> 6937 bytes
 ...UQOjVZcPDjTCwN5nYlReMqxW8yxeNVzoXYy8VJM0s} | Bin 7215 -> 7215 bytes
 ...gCoktL9u-y7lYq-c8syOfgzgYyQJ58rhaUL5xr0YU} | Bin 9214 -> 9215 bytes
 ...WjwxqeJX5l7a_3pXH9vVlUOOL29gak7PecGXE1RpI} | Bin 4287 -> 4287 bytes
 ...eeweK2fBck7V03Z_M8NxlQtDQ0rpN986cZek0ih9A} | Bin 7694 -> 7694 bytes
 ...3iczPPvjk4Mr9QWOPPv3W6E1qIHx1ONpl4XUxv80c} | Bin 7501 -> 7501 bytes
 ...xVgLNe3IM31Ral0rCWXY8GXAnxNIfQow8MmeSB4Qw} | Bin 7355 -> 7355 bytes
 ...w9ffbMN9CiJc8L0JBRWYAWTzGvUGVSGMVu07hm9b8} | Bin 7665 -> 7665 bytes
 ...19cGNfk7d7DW35D1sT4gNAwYWh1dGoZyQXc-6HnUo} | Bin 10014 -> 10014 bytes
 ...jqQEqGINwTHjG1gGu7Hgkc9ADzCJiz7ft9Iku9eQA} | Bin 7454 -> 7454 bytes
 ...5OQyqS2eEdA1Cpf-fUPBvTjpl4UTUZknW01NvweatY | Bin 8902 -> 0 bytes
 ...CiwpT7JAoFMYl_utjf6tcuHZTG_WQniwcE_-N6TOM} | Bin 7195 -> 7195 bytes
 ...GVY-Q_cB04-KB40pIp_KyeBTKX2Ebp9A3G1QL2sVg} | Bin 1825 -> 1825 bytes
 ...hS7odYgUxud-5R18uPnmMQSnMhnBIqRyxmoSCmkxI} | Bin 1829 -> 1829 bytes
 ...bs13x_PIgHw6Il0p0JwZ9mEk_ytloLG9QJJQ6KxlY} | Bin 8586 -> 8586 bytes
 ...Xv8rhgukDMiBIr6lLwkpK4-8mj-BkhxKpyzdOJa7Oo | Bin 8340 -> 0 bytes
 ...jt3q8-gv2gU-qjzLmTH-Zcr_YCwu_iX2wauf9HL2Q} | Bin 6614 -> 6614 bytes
 ...OvEmbPTabQORt2q9-x240NGPVsiyapWWfzvQgKzQQ} | Bin 8873 -> 8873 bytes
 36 files changed, 0 insertions(+), 0 deletions(-)
 rename tests/fixtures/geocoding/cache/{hVtUp17-PK43BG_fdo8B3hK_1tGgg_a37TsDapaUFRI => -3sI4CVJpspbGNNAu2rSHOS6Xxc-5-INiL_vAxxv3DM} (97%)
 delete mode 100644 tests/fixtures/geocoding/cache/02bE9aZRaPcHVL_n9nhvvaBOzECOVtVEx6A2gkHxWdo
 rename tests/fixtures/geocoding/cache/{ewNoHWA9MKMZg6hUDRVG4EsZOTbBQ2Ln20Z4LfCkmdo => 1VaUSNs6Bzf4yXv5Tz8c1u8T54EanMA2Hlifkoph1Zg} (98%)
 rename tests/fixtures/geocoding/cache/{Vlkmu5Mh0AsjYFIabtRnF27WT-ulSGU0xSgwTJdPSKo => 2ajezRFGh5MTXf-lM_21_orBN4-hQSutNCHKVYib5JI} (97%)
 delete mode 100644 tests/fixtures/geocoding/cache/2lk-kZat-OJ-JlMJAVrJ1GEosqevkiaUj4AJLIPgLW4
 delete mode 100644 tests/fixtures/geocoding/cache/3ZYTi7sCpaxqXRAa3U819q99-ZbgVeQpE1dz_lw0biM
 rename tests/fixtures/geocoding/cache/{VsXR4zWyzinP13tOVNckhsE58DQK2WOMHXSMFBOEeQA => 45rYje3JlphXgJX24zReTWTHlG3u1czM1XKbwNOV900} (97%)
 rename tests/fixtures/geocoding/cache/{ndSc7tJtoB6UBMZ-qD-XBYsqNwa2QfBeKi_Qp3BqE8k => 499-MtgMMmFKsh3y4PG6jyXsGk0KRCf9-Y5jMbK0xZU} (97%)
 rename tests/fixtures/geocoding/cache/{WECrcZdaZLsz8eijmsrmGSkT9VUbnjlrY6oBqfCYEq8 => 51ZJ_4pKjvML7zkVgD5A_eZa2p1W9Xm3_uUQjlTmDtw} (97%)
 rename tests/fixtures/geocoding/cache/{qiNCc1Wq-yctJn-Zn3nUjeJ_lALb_6PpeIzlpwVDwos => 7wal0WURvJ0dCnUK-64fi008TDRH6VI1FbpDGYGw3OA} (97%)
 rename tests/fixtures/geocoding/cache/{R9g5tX9mrEogLxDDbCssKIBgvyiphyCER3yewB6zEeQ => B5tI3Fl9VqE2fOrYGZRjq8b5tnq7K4D6X8M2rIoJrpI} (97%)
 rename tests/fixtures/geocoding/cache/{ESsetKs6Ex3GBD3RAWYp19bCwbgml18oDVi-waqkc40 => D3b-oIhsYO2cr0aI01Qj000aUCytz1qFy56LF4zcQCY} (98%)
 rename tests/fixtures/geocoding/cache/{Sv0EaNf9lyKlrAxGB_3EXNWeVPtFGpyIFELvQ2nwO1Q => D8B_agk8cs2B6kyRROiarsfFgg3kxEsEiiZhfDuP3Bw} (97%)
 rename tests/fixtures/geocoding/cache/{PfkwFWrqOmI_fo6-osssOrVyGuSUdToilOZv3avCA-A => DnXq4CpRBPUYpfj3dw1j8B5hmcqRppUkCmXzL5euRto} (95%)
 rename tests/fixtures/geocoding/cache/{jkGa-avnJtjRz7s_9OFK_Y3XHCNu5ZMwSZDQksEWics => DqTkAiZTrrkZYF86B7gE4l9B3QaFGlQKFVCYNyNACo4} (97%)
 rename tests/fixtures/geocoding/cache/{S36GvxB-EtvK0h39_cVGN9IsufD-v17U71NyyNfZH8M => FM3wyyAWuxzKZ5zGANTaR7d-tVm9f6Nyb3Y5UbTbU6w} (98%)
 rename tests/fixtures/geocoding/cache/{7FqE_knv8p8Ok8od86OByxvuZ7uEutawrxstR8_NMek => HEZv4h-DN_j-E0SPFtL_9iGvH1tUo87Ma9o9h4zknLs} (97%)
 rename tests/fixtures/geocoding/cache/{-uydTUZOTZtMC_8MbCl8F7BHqX_R5q18LZ6yPThvI9Q => M0B0gynyKIkPbdiS82T4DfRcRyKRTVVhTsstsA6WEFM} (96%)
 rename tests/fixtures/geocoding/cache/{qMOyvjvXavO47kRGrtyG9SAC0ZKQIEA79gC1K4R1Lqw => NKyiPf0DeCw2l3qe492_8TuuMbt_XL8S3uEX8QSwtcc} (96%)
 rename tests/fixtures/geocoding/cache/{amzh0m7uNcbxsGUTrrdaKpNemcnb2Ur3s9AgqkQsb1I => SGUQOjVZcPDjTCwN5nYlReMqxW8yxeNVzoXYy8VJM0s} (97%)
 rename tests/fixtures/geocoding/cache/{MlZSTuLvq3_uXicanVvhQ-arlFUJKQtMm3Ln0HBAQfY => TqgCoktL9u-y7lYq-c8syOfgzgYyQJ58rhaUL5xr0YU} (97%)
 rename tests/fixtures/geocoding/cache/{CXzZ0ZytPeoqM27W8_o84x7LJl8bJubwHKWkdHjaZ2U => WOWjwxqeJX5l7a_3pXH9vVlUOOL29gak7PecGXE1RpI} (95%)
 rename tests/fixtures/geocoding/cache/{VdeCA41p5SlJt8oBnyo4-BpE7JM03Q_oPPy29miPbQY => YqeeweK2fBck7V03Z_M8NxlQtDQ0rpN986cZek0ih9A} (97%)
 rename tests/fixtures/geocoding/cache/{sVVD23x5PvwVSnv9i5DvARYVFsw6s9TnaZ3zi1Bvnys => ZO3iczPPvjk4Mr9QWOPPv3W6E1qIHx1ONpl4XUxv80c} (97%)
 rename tests/fixtures/geocoding/cache/{8b0Selp7g6fH-lVd7CT7ZdGLRQby9RwVgN98Hp7Eecg => _FxVgLNe3IM31Ral0rCWXY8GXAnxNIfQow8MmeSB4Qw} (97%)
 rename tests/fixtures/geocoding/cache/{Dn2KTb78QhDrGxEVH8zu7QOVjWdNRnD1K_3jH2b-Ce0 => dJw9ffbMN9CiJc8L0JBRWYAWTzGvUGVSGMVu07hm9b8} (97%)
 rename tests/fixtures/geocoding/cache/{-rxopOkGaaHQ8N3dFZjmwRBMckfPAtUvFRIlVQWXLok => e219cGNfk7d7DW35D1sT4gNAwYWh1dGoZyQXc-6HnUo} (97%)
 rename tests/fixtures/geocoding/cache/{HBPDfd3miD6LGEdp5C2hhryK4FY4lSBY7KVtE2fr2jk => fhjqQEqGINwTHjG1gGu7Hgkc9ADzCJiz7ft9Iku9eQA} (97%)
 delete mode 100644 tests/fixtures/geocoding/cache/h5OQyqS2eEdA1Cpf-fUPBvTjpl4UTUZknW01NvweatY
 rename tests/fixtures/geocoding/cache/{iWH50j0OdqL4qMuh9098xqBurJJAI3LHXJ3VO9nE5Tg => kPCiwpT7JAoFMYl_utjf6tcuHZTG_WQniwcE_-N6TOM} (96%)
 rename tests/fixtures/geocoding/cache/{RJiOh08U3vV1U2LTowRogEH9DYLx2pof4tEnVmqIgT8 => l2GVY-Q_cB04-KB40pIp_KyeBTKX2Ebp9A3G1QL2sVg} (91%)
 rename tests/fixtures/geocoding/cache/{DWgufNhPBdT6iV-pkMYxk6MaKfSv6_IS9w-X-1dnWrY => mrhS7odYgUxud-5R18uPnmMQSnMhnBIqRyxmoSCmkxI} (90%)
 rename tests/fixtures/geocoding/cache/{eygC3gePTfMqVg7Pgl4Uz-iAKJPd5wxeu5bFFu-Sc3A => oCbs13x_PIgHw6Il0p0JwZ9mEk_ytloLG9QJJQ6KxlY} (97%)
 delete mode 100644 tests/fixtures/geocoding/cache/pXv8rhgukDMiBIr6lLwkpK4-8mj-BkhxKpyzdOJa7Oo
 rename tests/fixtures/geocoding/cache/{eBjNcFLemQ-eaeEqpjd5WhBM-gsyVHOpIsd3mB6Ucm0 => z_jt3q8-gv2gU-qjzLmTH-Zcr_YCwu_iX2wauf9HL2Q} (96%)
 rename tests/fixtures/geocoding/cache/{4hbdus6J9QDeConFZDf60hTKH7k8GC24gpCIZsAuvNM => zbOvEmbPTabQORt2q9-x240NGPVsiyapWWfzvQgKzQQ} (98%)

diff --git a/tests/fixtures/geocoding/cache/hVtUp17-PK43BG_fdo8B3hK_1tGgg_a37TsDapaUFRI b/tests/fixtures/geocoding/cache/-3sI4CVJpspbGNNAu2rSHOS6Xxc-5-INiL_vAxxv3DM
similarity index 97%
rename from tests/fixtures/geocoding/cache/hVtUp17-PK43BG_fdo8B3hK_1tGgg_a37TsDapaUFRI
rename to tests/fixtures/geocoding/cache/-3sI4CVJpspbGNNAu2rSHOS6Xxc-5-INiL_vAxxv3DM
index 2a8a77d8c67f61ad7ff38ae50c971fe3a2c95282..907722a36cd7b3a8f8218fc348d49ffedddaa94d 100644
GIT binary patch
delta 85
zcmaE4@W^0-m4>Cck+FrLVX8?=l2Kw(lDVOQr9o<%S(2G~O0t=WVOpxGS)zrZdD_OL
o`{Ig5mKJ6PW`;(3hGyp0#a0$pO34|i$=SuFxk}cVRtDC!09JSzTL1t6

delta 85
zcmaE4@W^0-m4-#CiJ7^vMOs>lVX8^0nWd$Xg@L(&nQ2Ozd9s-i5SgW!ni?jWY)rZ@
nu4rInYH4O+XsKszU}0TsWnrb1oRONGU0j;0WSwbcU|kCUL>L(C

diff --git a/tests/fixtures/geocoding/cache/02bE9aZRaPcHVL_n9nhvvaBOzECOVtVEx6A2gkHxWdo b/tests/fixtures/geocoding/cache/02bE9aZRaPcHVL_n9nhvvaBOzECOVtVEx6A2gkHxWdo
deleted file mode 100644
index 7ea19cc21d54bd83e240a9517463362c8e7fa069..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9442
zcmeI2-ENyo5P<zC7WYZ_mu1&ijaBtr^t4j1D;=$2<I-YCS?FJs2Rb^B(HA?j3%0Q#
zIEgC7QppvOhuLA6nQv#7cPdhWt&(M?tqoMDZmps!h|?rkSQRoAtW6OYiBap+#>GF)
ze`&r}dZmexMn<b^CN$?dj7_5Pijv3}saNJY7IDI3rw7y|y3)boouWhquN#%+hrdB_
z_Tgocl*Za+k!2>X(jpHOc6Kl@WOhn+mKCvfH`!pJ6<4>ZLa+?EcNtLbwNrkt_E}sM
zWs>H)GN2Wdg*}^>9SKFe*Ffml+K$vL11qaKF~K5H99>2%q%;&9yhFu_JBxh1yOmv1
zi7ATY;tuXa{X1K4&Q?X8Cyn{IXZ}_5BfJ>!Gl38|w!9IT*`lsKb}S|Y>?H&Cw({SM
zt(>^Gl0;NG@%z>1MR}l}W9N?%{YH26QwsW>7Y01P^@6QRW2(3HW@XA?@fNgG2*%^5
zJ(AWNcuQV(Bt~q#dIO=CrPYsC7((to#V$x2Nvp6_!Bts*HxTZ2eldq@Yfa|zWX!gk
z!d5z4LdLWig%LvjrV%4`vPttd=BvqkB)FLGCDc};pML`{?&VJ5UVL`2iiY|DNr+wE
zj4c;9Ie6qjuWfCbWzP0s;q-wl1ajZQJK5a7H>g^m^8K%W*H9GZiE;jIe0{OhH!1kg
z?454se-*`bVk-lMDE;(#{@OGld~z{Y6Wx2iOBMaik4hi@sAI7-?yQde>^Ixbo@)P#
zgIsu^{dcYc49a?{KrOHHs)QUJgu=4@wW;AlrK**fZKKP{T$ya0{`$|wk-Pd*`;c;%
zCU+@0rl)Z{$bgzxfv;bKDbQG7r5p3J$hY-qq;}nu#n&`3$rU^*6d6dpBVxl^ZCb*5
zy(-|BI~z8Vhzlm0KOas5$T@)PF(Nq+5fTIw#6tWGs3Z}>9)1Ic53rK6P&|s2B$D(5
zi@U7kp`;Tk)!3fz0AjFD9b?y?ecP?-gvwq;*>SmpnhBL|KeOM}OsG6xRFdHxL)$By
z4Jv7f8Esh^x}DbmamG<8uwVdOhM0T~R8k&BZp%B;_I2Az0DD8$fs)&j^{}m^A(xM6
zD|tjGR6-a5|N6aFvnicWIdzrL{_f{@L#Us+${)d>(pCCx-T8NwjD(CmY2wO+pom38
zQX$AQw3Cb=89khlOkm{2AIeBZv3x{3$s!nCPyOTs$#%HB8;(t*S3i*-97j%&JUsUM
z(?+j;Lv;R-<dSm!6i5n&Il>WxStHQu86XLr+lfA}(?<#_A2o0d5hY@rz@34sU=%gI
z^mH~kb&)Xf+nydxfSdri`{HFfoAf&Z_?igLCfzwM6if5{CN1H(GgTMv$R7?oE4}vL
t_8@f&A~4;IO9Nl#zz0f+!U7R41?B8gB3JyO;fX(*__M7yP6t}t{SVJ%R5}0v

diff --git a/tests/fixtures/geocoding/cache/ewNoHWA9MKMZg6hUDRVG4EsZOTbBQ2Ln20Z4LfCkmdo b/tests/fixtures/geocoding/cache/1VaUSNs6Bzf4yXv5Tz8c1u8T54EanMA2Hlifkoph1Zg
similarity index 98%
rename from tests/fixtures/geocoding/cache/ewNoHWA9MKMZg6hUDRVG4EsZOTbBQ2Ln20Z4LfCkmdo
rename to tests/fixtures/geocoding/cache/1VaUSNs6Bzf4yXv5Tz8c1u8T54EanMA2Hlifkoph1Zg
index 9939181e8cbe500d00d610b10ebbeee60e281a7f..4a1403d2a971c6f727b5fe7258e99f490cef268f 100644
GIT binary patch
delta 85
zcmaFp^U!C4m4<OrqNRmJl39vrQj(#GNs5WNsj;!8p^=H9nXy?~VxmcEih-qpf%(Ry
od#Z{?mKJ6PMkdC3rpBh$#a0$pO34|i$=SuFxk}cVRtDC!08vUA1ONa4

delta 85
zcmaFp^U!C4l}4g*l7+c}ak8aFlBt1#d2*7OfuVV#iBXbeT2hLonVCtVkx@!YqUpw@
od#Z{CMy8f#mL}$U=0?WW#a0$pO34|i$=SuFxk}cVRtDC!0B2?ymH+?%

diff --git a/tests/fixtures/geocoding/cache/Vlkmu5Mh0AsjYFIabtRnF27WT-ulSGU0xSgwTJdPSKo b/tests/fixtures/geocoding/cache/2ajezRFGh5MTXf-lM_21_orBN4-hQSutNCHKVYib5JI
similarity index 97%
rename from tests/fixtures/geocoding/cache/Vlkmu5Mh0AsjYFIabtRnF27WT-ulSGU0xSgwTJdPSKo
rename to tests/fixtures/geocoding/cache/2ajezRFGh5MTXf-lM_21_orBN4-hQSutNCHKVYib5JI
index cb7ea52fe176bc4a83c8137681d68eac3ae422d0..9cac50b59d74bed689187e7de44d43675d1c4e3b 100644
GIT binary patch
delta 83
zcmeD4?DL#pt(KBvnUZK~Zjoe^W?+$$W()-8Abv_>ibYzonXy@NYGO*##zY<!MI%cK
iGXq0oQ#~^yBkN)-3oE7MjMU`p;?i6t>r5*H>skOA1Q>b%

delta 83
zcmeD4?DL#pt(IzNk(!vAYMy9hZf=>9Vs2@XnqrWeXklStoM>pAmX?}iYHF6cF_A|_
m(ZI;m(#*opT+hP5(z@8n!b&MQBQ-g@xHMPEI@8L)x)uN#q8McW

diff --git a/tests/fixtures/geocoding/cache/2lk-kZat-OJ-JlMJAVrJ1GEosqevkiaUj4AJLIPgLW4 b/tests/fixtures/geocoding/cache/2lk-kZat-OJ-JlMJAVrJ1GEosqevkiaUj4AJLIPgLW4
deleted file mode 100644
index 12ca72ff3b08c389c080f20451bd3f5de97a7708..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6242
zcmeHMOK#gR5Y<r(?UPb}i(b`6(JuNyTcF((C}?q_u$4tur1}eTprXgf#X6)U$FXHa
zDY9r#XQd#+naAPqy&2{eol;k6z9^VdE{*Ahq5*X?!QGjnaY)@9WF|S#T&PTbY<?4E
zPU9d00&&3OjK|;uN&K^Tc^0NgoF!2NunbucrC|J^8_qOyXRm1BQ}=1(vik4>9Ty)S
zb6$Z`3t1G9X(3COdIm>`K%CobokC{JEK=@_A@mDD35M|xhC%1ndk`J;?qpI{T$D@$
zdPQgP9_GcC1@&##&}bL!mX%W=N?miz2d5D^orb=jk`$8@B)2S-WxiP%o(2gClX!NC
z3(5Y%HkZy))+I;qFHL|RWSyPT6@Y$Oua;1mlftz5Q}YqvneA?8XAxW3!}U|@zNuj{
zhoTUy;**ojCwga0TXzH5R`v2Z9%3Q%k1q1-npIjrHG#U4>#JW-qSq(p8x&05i%*}e
zC89lq(Ue8!(L;pus{W1uK^b^etrQeputP4^QfXE!uttp~=EEa|*hK@IVSFXZ=kOH@
zTRNu7_DZ<3*splJjQeQz&7B)j7-GY+_e`Y@g>%jIz?1FGS{KAA40d;B{GqKk1js4d
z5{S{|o2y?rUc(8;O6YQZvS4e0IfUz^tI0Dd&$!ZnS0B%D@)W*-YHDOSm|-DP(3gS+
z_q^3${8oo*X*B-up7Do&i~rG$yD%DmbkF#s@%Rldjbw+B+qpDU+G}fN3B{l;b%oT_
zt1653uZ;-!Jr}sO*jyH4gIt-5tKSV(=Hd&|r)AAtKxr6e$WL<*ELG2+xK;>yZ*+rR
zixvEorM)@BtiG<~SHXeLEem_dBs-Fiv09eFczdK~!~H|zns~mcs=JG87$-+{HK`k@
zs%>=*uuXd>P+D(LKi2bG&G-#|8E7evT6=(lHoE*DYVG*S>ZR{Z>b5$Eqw<>e?z+i4
zD({0)UcbKqX@|0ZM|lG;oQA3Wv3=>?6*wRyBGJ?j<LOu>#@-A$V5cdWH$$))kNR7x
z#=uds*5}uAxfdDSeh==}z8P3JwZk~^BGYK}b!@G9DXVSwVVowz{(+f+sP&(Qk!Q0o
zdWyF*|A5xEGyj7b-^a_qz^0E4#<9WJGz48QHNLWr4Mvx|JH8?v8;l3iV3=nRlo<HF
z78Sl02zp{30FhBO%kA4bp%-X^s+d)PFXQ+R0#3bz_)(hpX>=NUMm6zmBRhxev#M9d
I2bo>|0gQDtKmY&$

diff --git a/tests/fixtures/geocoding/cache/3ZYTi7sCpaxqXRAa3U819q99-ZbgVeQpE1dz_lw0biM b/tests/fixtures/geocoding/cache/3ZYTi7sCpaxqXRAa3U819q99-ZbgVeQpE1dz_lw0biM
deleted file mode 100644
index ffef83027d0be265619cc29dce717b84d3b806e0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4353
zcmeHLTW^~%6y~QyysrWqFgQ<bCQVvz(jN9yX)@SJtr1*d(_Nze_Z^#%CV`N4inLDZ
zTcVuH=W{-v?>M(KrM@<NRx+)9n$VS|nEHj}{#4T>qW(gtLUBPCQWxr5`%P90n&l#!
zlVG0bImr=9!w3mBkFzuoA|N~n@`TUvT-Z1ehBL$b=`F>G`k&g6_1!fDF7M7cuZ7k#
zRhFVKQdK?;Esh9)c*ktLQWeZPX@ANnqAN)QNP`Zhf#5DWjt@rn3Z-f;D`o^lg<we!
z^K8q)W`(MO(LUNOE3X8Urr}TzPNVD$B@v2(1d4;n5l2-mHl80sgwH}kaF8X_CvXn>
z&g*)5xoRrj9w6);;G+EzS_9Y-kYFEsYv5_snEPkUK}sUPj0P~T9exOHtbL0#jnkMA
z>v1?mrRwbzIEm8n6oPH1NKzEKQVcYpD}^?-5ay;?=A!neHxM2JC-;xMXU&$-EN44H
z72V`lz`#<PUu$Dv-l4#jtF5J`8TG%is!+|Ng)|Q6L21Lv8Qd0U37*NN`!oWK@ujS;
z#G@!31uWfrcd4`JU%i2Doo@m@n|nK1m}Qfsp}jI=>3kS5D>(6Br8-PrX|elL8xL%O
z!TqXkY%A9*O+(<oMJ<ig_Y*(~{gyCwj=I|cXS??#DLOHDbUb?p9>cu57N%B{4KXHP
z!~$j;D<>Z%a99>_wO(@?eB#sK<Jr5@^!PpA!L1fVCkAZ?)(iOqpf9D-vSgKdO{Jgg
zC>}hZlQs~PrZP25h(TqVt$%HWWN1>ZExfL{K=T=^7<c3zb7;#7;};yxeK#ftZ(R%1
z$ffwLs&4F!jL3&tJxVV41)K@49o+W4{Qz>UCjsQ^4IY>7%_uP@u~nSE5aKA#!VLcd
zAqL1%2AE$g#8HwZ$gUehY*|b9t`K8F(s(?@t`J8tiP0NTVyCaWS9yf@C)DN7Zfv|Y
zU5?*%*{wp)OU1h`cYEicY;88H|67+OjZeHx*oio-^qZ1(BK^KhoN$@28y0Lm;^%{`
zVLy@ZzJyM|hGN*lJ^cf^0uy+b7PWwfJN$paX-EPTXP|uHSwgH_!n3Bh7sYqoENzTn
G`t%3EsjDgg

diff --git a/tests/fixtures/geocoding/cache/VsXR4zWyzinP13tOVNckhsE58DQK2WOMHXSMFBOEeQA b/tests/fixtures/geocoding/cache/45rYje3JlphXgJX24zReTWTHlG3u1czM1XKbwNOV900
similarity index 97%
rename from tests/fixtures/geocoding/cache/VsXR4zWyzinP13tOVNckhsE58DQK2WOMHXSMFBOEeQA
rename to tests/fixtures/geocoding/cache/45rYje3JlphXgJX24zReTWTHlG3u1czM1XKbwNOV900
index e7892ae7858136b3b31f8338d9f4056a4221b740..109c2a33602865456247db031b1282d80d9643e9 100644
GIT binary patch
delta 85
zcmV~$xeb6Y3;@6}sG*`lcAU@2G&qkyh$^CF2UcMsq)ftHhYnAeWksUwNf*zR5kMD5
nU~?8WN~j8EM#uQdH;jtC1xIc%Y-0;POld3WXxBN#JwUvFNR1f>

delta 85
zcmV~$!3lsc3<c0JJnPAmq&22L?KTMoMLZRc?%*m;Bshuhee}_tM~F}~H?44}8G>_S
lV-Lg$!N5*}*&chlp5mgCAd@Oe%gBST)%SKDL)kKw>jzA(84~~i

diff --git a/tests/fixtures/geocoding/cache/ndSc7tJtoB6UBMZ-qD-XBYsqNwa2QfBeKi_Qp3BqE8k b/tests/fixtures/geocoding/cache/499-MtgMMmFKsh3y4PG6jyXsGk0KRCf9-Y5jMbK0xZU
similarity index 97%
rename from tests/fixtures/geocoding/cache/ndSc7tJtoB6UBMZ-qD-XBYsqNwa2QfBeKi_Qp3BqE8k
rename to tests/fixtures/geocoding/cache/499-MtgMMmFKsh3y4PG6jyXsGk0KRCf9-Y5jMbK0xZU
index b7ea1af5ad2cbb24b519b73021acd6c4008ec78b..d1885ff0a73b54a8dbe1f606df32cf04e24ff6df 100644
GIT binary patch
delta 85
zcmV~$%ME}a3;@tEJj=<GDV1Mg8e1S5<B5252Ul?-6DIM!4jrC2h02(%6t<G3QUwq)
no}jK?BXNOD$livRzhOiQ4zzKzSunL2qLQu1(XLaaJwm#Firg9U

delta 85
zcmaE4@W^0-m4>0Ysd1`-L86Jdg=L~~Vp6JMiix2?ifOWGN}7RbN|KSOxuvnCS<=R&
o`{IfQMy8hL#-=8E#)cNw#a0$pO34|i$=SuFxk}cVRtDC!07~W=9smFU

diff --git a/tests/fixtures/geocoding/cache/WECrcZdaZLsz8eijmsrmGSkT9VUbnjlrY6oBqfCYEq8 b/tests/fixtures/geocoding/cache/51ZJ_4pKjvML7zkVgD5A_eZa2p1W9Xm3_uUQjlTmDtw
similarity index 97%
rename from tests/fixtures/geocoding/cache/WECrcZdaZLsz8eijmsrmGSkT9VUbnjlrY6oBqfCYEq8
rename to tests/fixtures/geocoding/cache/51ZJ_4pKjvML7zkVgD5A_eZa2p1W9Xm3_uUQjlTmDtw
index 70d79608bac46fac4e938205478e291fd24b9f44..e9c498f2695395b5a676936b375b039dc173d50b 100644
GIT binary patch
delta 85
zcmeCQ@3fy_rIBQ2U}$P!Vqs#DY@BLgX<}$@l$ergXl`JXn3|kwkY-?Dnqpy?WVSJh
oO<vK+(!$KZ$iz_3*xb;%*vi66DLErGIlH(tSIIil%D}o70PA)aegFUf

delta 85
zcmeCQ@3fy_rD2|wn3QUqW|@{^X=-X{X<?p{XklV(lAMxiZfc%rZe(g?YME?gnY1y9
nO<vIe$T71pwbU~=HL)(XvanK0&PYwpE-uYgvd*+Ju&xCF9wZnX

diff --git a/tests/fixtures/geocoding/cache/qiNCc1Wq-yctJn-Zn3nUjeJ_lALb_6PpeIzlpwVDwos b/tests/fixtures/geocoding/cache/7wal0WURvJ0dCnUK-64fi008TDRH6VI1FbpDGYGw3OA
similarity index 97%
rename from tests/fixtures/geocoding/cache/qiNCc1Wq-yctJn-Zn3nUjeJ_lALb_6PpeIzlpwVDwos
rename to tests/fixtures/geocoding/cache/7wal0WURvJ0dCnUK-64fi008TDRH6VI1FbpDGYGw3OA
index 47bf19e462d96445290c09eb09fbb154ef25f8e4..4ac80d04382463060ec06abaf8f56dc215323365 100644
GIT binary patch
delta 67
zcmbPgGtFj#m4=C#p{1drk)=VJkwJ2bWm=M@k+ET-L85_)sgbdnp@nHmN@8-7rP;=$
W$+A2~mKJ6P#^z>v#%3my<U|2_y%FyK

delta 67
zcmbPcGu38-l}4IjT9Ub?Ns6U`v1OW3Vw#Dik%_rca;lMmg`q)Ol5uLXQIe^NfyKt8
W$+FxAMy8f#78VA2rbd$)<wOCQz!E3`

diff --git a/tests/fixtures/geocoding/cache/R9g5tX9mrEogLxDDbCssKIBgvyiphyCER3yewB6zEeQ b/tests/fixtures/geocoding/cache/B5tI3Fl9VqE2fOrYGZRjq8b5tnq7K4D6X8M2rIoJrpI
similarity index 97%
rename from tests/fixtures/geocoding/cache/R9g5tX9mrEogLxDDbCssKIBgvyiphyCER3yewB6zEeQ
rename to tests/fixtures/geocoding/cache/B5tI3Fl9VqE2fOrYGZRjq8b5tnq7K4D6X8M2rIoJrpI
index 59179c72a6c873666dfba1fd3578bcad551b3c85..2f4734791ede2d963b0afd8e1f6b2293af287cd6 100644
GIT binary patch
delta 85
zcmV~$!3}^Q3;@7MeCW%Up{3SBx1mBX#uxGF4zA){Ea6?(u5X-IZ^@O6yah54FUhD-
l$vd!QAQu3F3G$cfFk%pPNPa;SZBgQ6HQU+lYtkb+eSS-Z7`Olc

delta 85
zcmWN^xeb6Y3;@7MD4?Q3`RqL2#<5WlqC%AHz$(m@CE&X2)afa+O@KkzN<_&ysz(U$
mM;)`QR*kD1#p%m!7>$FB31Laz(^*oPYSX%(*D=vn4Ba1F!5LBj

diff --git a/tests/fixtures/geocoding/cache/ESsetKs6Ex3GBD3RAWYp19bCwbgml18oDVi-waqkc40 b/tests/fixtures/geocoding/cache/D3b-oIhsYO2cr0aI01Qj000aUCytz1qFy56LF4zcQCY
similarity index 98%
rename from tests/fixtures/geocoding/cache/ESsetKs6Ex3GBD3RAWYp19bCwbgml18oDVi-waqkc40
rename to tests/fixtures/geocoding/cache/D3b-oIhsYO2cr0aI01Qj000aUCytz1qFy56LF4zcQCY
index 9554749dce34c12002e33853e9ff621f1caba680..3fc4637b080f55a3f4546d06000754ae2ef51321 100644
GIT binary patch
delta 84
zcmaFv^vr33m4<PenR%*FvXPOYu}P{)qJ?FOp@CsiqJ@P~qG@WXNvfrhv1L+{x%tMV
nCkhHimKJ6PMkXeD#)j6#Ru)!D$r-81*~O)~O4gZH2G+FzM<W?4

delta 68
zcmaFn^xSEJm4-=TYEp8ld6JpAxnYu#fuVUyibax<g`r_ms)dPBl9`2xnPqB9is8nj
XCki|UMy8f#mZrvfMrOv70~JL9@tYJA

diff --git a/tests/fixtures/geocoding/cache/Sv0EaNf9lyKlrAxGB_3EXNWeVPtFGpyIFELvQ2nwO1Q b/tests/fixtures/geocoding/cache/D8B_agk8cs2B6kyRROiarsfFgg3kxEsEiiZhfDuP3Bw
similarity index 97%
rename from tests/fixtures/geocoding/cache/Sv0EaNf9lyKlrAxGB_3EXNWeVPtFGpyIFELvQ2nwO1Q
rename to tests/fixtures/geocoding/cache/D8B_agk8cs2B6kyRROiarsfFgg3kxEsEiiZhfDuP3Bw
index ad8feeea163dd757d10184cb839b0a7e614d13f7..8736bc5bb012143675ad04df2ef4f8a6ddf9dd3a 100644
GIT binary patch
delta 67
zcmdnuvc+YBm4;c0k%gsYl7TUhPBFDGGfPP}v`93yFa}~nOG}F+gG57flO)59NgEZp
UjVvw93`|Un^-Rns%PENg0GVA9I{*Lx

delta 67
zcmdnuvc+YBl}2i^d8)BVs)@02Vv4C@Vw#zGqJe2@qCuKPig}`?nVGqvL1JQ>QS!#5
Wjf&g`My8hL21XWoh6a=6l*9na6BA_s

diff --git a/tests/fixtures/geocoding/cache/PfkwFWrqOmI_fo6-osssOrVyGuSUdToilOZv3avCA-A b/tests/fixtures/geocoding/cache/DnXq4CpRBPUYpfj3dw1j8B5hmcqRppUkCmXzL5euRto
similarity index 95%
rename from tests/fixtures/geocoding/cache/PfkwFWrqOmI_fo6-osssOrVyGuSUdToilOZv3avCA-A
rename to tests/fixtures/geocoding/cache/DnXq4CpRBPUYpfj3dw1j8B5hmcqRppUkCmXzL5euRto
index 48a4b2ecfd3f75063b06c5d474167fe4d536d292..3412fef722972d221ba272ca38789f47593fd58e 100644
GIT binary patch
delta 85
zcmcbta9Lr3l}1{kL9(TRg_(t!xrv3Psd1XQsX=0rxtXDXp;2n8Wok-la+0y3LCVIY
o3;c>kmKJ6PX2u43Mi%DQ#a0$pO34|i$=SuFxk}cVRtDC!05W43+W-In

delta 85
zcmcbta9Lr3m4>lFqJgQAMY55hg^`hET9SdONuq_NSxTyfnSq5_Vv?DKiIG97aq7mT
o3;c=(My8f#7Dg6&29_q)#a0$pO34|i$=SuFxk}cVRtDC!01^opMgRZ+

diff --git a/tests/fixtures/geocoding/cache/jkGa-avnJtjRz7s_9OFK_Y3XHCNu5ZMwSZDQksEWics b/tests/fixtures/geocoding/cache/DqTkAiZTrrkZYF86B7gE4l9B3QaFGlQKFVCYNyNACo4
similarity index 97%
rename from tests/fixtures/geocoding/cache/jkGa-avnJtjRz7s_9OFK_Y3XHCNu5ZMwSZDQksEWics
rename to tests/fixtures/geocoding/cache/DqTkAiZTrrkZYF86B7gE4l9B3QaFGlQKFVCYNyNACo4
index b0e945d0c206d55b28c35af0a1745e371db355d5..fc13ff652d7333c898bc836d90b99190d6a2fc96 100644
GIT binary patch
delta 67
zcmdnuve{*Vm4=~Fs=0Bpv4yFTv9Yn4agt%0S&ETmVv@PJWlCDAxq-P!vWdBgx$(xN
Wjf&hxmKJ6PMkZ!@CWe#cl|%uQ`4TYz

delta 85
zcmWN;u?>JA5CFhgpt3SN@W4aMB7hK$u_Bi4;3`B1)Vn9X@%EF@4x2y?m{I>!N{d8g
mAthI3X&R(OLoo7SOh_a{NV6pyx_6$JwU)h~2M?PU;rajx$ru&@

diff --git a/tests/fixtures/geocoding/cache/S36GvxB-EtvK0h39_cVGN9IsufD-v17U71NyyNfZH8M b/tests/fixtures/geocoding/cache/FM3wyyAWuxzKZ5zGANTaR7d-tVm9f6Nyb3Y5UbTbU6w
similarity index 98%
rename from tests/fixtures/geocoding/cache/S36GvxB-EtvK0h39_cVGN9IsufD-v17U71NyyNfZH8M
rename to tests/fixtures/geocoding/cache/FM3wyyAWuxzKZ5zGANTaR7d-tVm9f6Nyb3Y5UbTbU6w
index fabc8044c2d6be4e2abb164edf02cb56dac65b5a..99e0256899ab8f653b5ddcbfecccdad599da9c2b 100644
GIT binary patch
delta 85
zcmZ4IvCd<Hm4=16ajLPQiMgd&Qc6-{nn|)*Vv@0`aiXbZiiLTSnWaUdWuk?piNVIC
o)yj%SmKJ6PMka=OhDMgw#a0$pO34|i$=SuFxk}cVRtDC!06x(e+yDRo

delta 85
zcmV~$!3lsc5Cp(lj2~ZeCT_AO4cLY`0*d$&pY~uMLck84sdJs5*vTj;7_guO>w*ti
nIZO~;9H>H7&zuXs{I-o)OrBux$aF?VqifOqybhDLDCzzIBE=Y`

diff --git a/tests/fixtures/geocoding/cache/7FqE_knv8p8Ok8od86OByxvuZ7uEutawrxstR8_NMek b/tests/fixtures/geocoding/cache/HEZv4h-DN_j-E0SPFtL_9iGvH1tUo87Ma9o9h4zknLs
similarity index 97%
rename from tests/fixtures/geocoding/cache/7FqE_knv8p8Ok8od86OByxvuZ7uEutawrxstR8_NMek
rename to tests/fixtures/geocoding/cache/HEZv4h-DN_j-E0SPFtL_9iGvH1tUo87Ma9o9h4zknLs
index e9a1f2a24c9fcde7d3946a1b21e1700934892027..107462774d63be6a3a15ff29eeb8da1848361b9e 100644
GIT binary patch
delta 85
zcmaFh_rPz0l}4J8iKV%jrCE}xv5Aq1MN*Qfk+DT;N}@$lYMP<3Wuk$lg{ft-k;TTO
oyK0I?mKJ6PMkWS&Mh3>##a0$pO34|i$=SuFxk}cVRtDC!08jxL8vp<R

delta 85
zcmaFh_rPz0l}1vsMN(Q~N@|jcX^N?Vaf)%0rJ<pvxtV2Ra+-xnqD7LqfoYO?qUpw@
oyK0ICMy8f#7N(|pmL{gw#a0$pO34|i$=SuFxk}cVRtDC!0Gx&zIsgCw

diff --git a/tests/fixtures/geocoding/cache/-uydTUZOTZtMC_8MbCl8F7BHqX_R5q18LZ6yPThvI9Q b/tests/fixtures/geocoding/cache/M0B0gynyKIkPbdiS82T4DfRcRyKRTVVhTsstsA6WEFM
similarity index 96%
rename from tests/fixtures/geocoding/cache/-uydTUZOTZtMC_8MbCl8F7BHqX_R5q18LZ6yPThvI9Q
rename to tests/fixtures/geocoding/cache/M0B0gynyKIkPbdiS82T4DfRcRyKRTVVhTsstsA6WEFM
index 0f14bfee0a37a1a969eb179041f23308bf267610..0168e1d1fe362f35947f4b5739f67e071f821aeb 100644
GIT binary patch
delta 85
zcmV~$!3}^Q3;@7AOnk`8m#LM~7N!w|XpAr7(;Xav72MFfMvY!SO4-n+5;LwUf{>MS
nVXKa4E{iAvr&$QT*mnb}I6#Y&AcyM3o3!V2*84Ky@DQFK4FMOf

delta 85
zcmZ2ry1;aTm4<1OxtY0XqDi7zTAGQeiCI!giivTOp`oEkilw=+xw&CdieYl1g~i4s
oSt&&WBU4K=3o~OqBNJomVk-+PrR0p%<m}?oTqWyFD+B9V01izT^8f$<

diff --git a/tests/fixtures/geocoding/cache/qMOyvjvXavO47kRGrtyG9SAC0ZKQIEA79gC1K4R1Lqw b/tests/fixtures/geocoding/cache/NKyiPf0DeCw2l3qe492_8TuuMbt_XL8S3uEX8QSwtcc
similarity index 96%
rename from tests/fixtures/geocoding/cache/qMOyvjvXavO47kRGrtyG9SAC0ZKQIEA79gC1K4R1Lqw
rename to tests/fixtures/geocoding/cache/NKyiPf0DeCw2l3qe492_8TuuMbt_XL8S3uEX8QSwtcc
index ca37dda521bc950ab085c9b21494b222f435b0fc..dee8419d9951a47af10855407a5e7cd86b69b3fc 100644
GIT binary patch
delta 85
zcmV~$xeb6Y3;@7A=%AuPP7Jn_OhX<Egs37)cA!Ga7;MO0qehP(HL<v|awH)Oq*$z~
ni3R~oR&^;Wqrv5iZ`WHV1dKe1n?v>DhqRS+)ax9=?jhViHtiVF

delta 85
zcmV~$OAbIl3;@u3*s-#bR;Q&ir<qSDM6ATp9jqjd;fCIO<(1p_28Ke_fUQOn!N{bX
nbOtR*oNB=mwZtzyO$#IIL@a|77Y;xBE-#k1<J`NjdI;AKHUSvz

diff --git a/tests/fixtures/geocoding/cache/amzh0m7uNcbxsGUTrrdaKpNemcnb2Ur3s9AgqkQsb1I b/tests/fixtures/geocoding/cache/SGUQOjVZcPDjTCwN5nYlReMqxW8yxeNVzoXYy8VJM0s
similarity index 97%
rename from tests/fixtures/geocoding/cache/amzh0m7uNcbxsGUTrrdaKpNemcnb2Ur3s9AgqkQsb1I
rename to tests/fixtures/geocoding/cache/SGUQOjVZcPDjTCwN5nYlReMqxW8yxeNVzoXYy8VJM0s
index e91c5f8d536de3522be4ef1cd05bdc03b0701b41..c579809c4a589926a39f54fa3a24b0ce5338f677 100644
GIT binary patch
delta 85
zcmV~$%ME}a3;@tUJn6}kX-k0u)9^DI<B5252L~}BZs>bmx;%a^g#e2~HWg#Fic2JI
nK}S}kBoVr_TC(~}?=X@R1H^g($Dw)gQ{HMm+I3E0_Ym$M8fq9f

delta 85
zcmV~$%ME}a3;@tUJjuzEq2*U#8rncK#uM@A4h~{M+|c(14SLc7fPss1H8f%^u?b1E
m1wqiTW=6J#eQ6)R)2z`&A6-~IK<<f>lC8?ouT$kc>3siAuNhGQ

diff --git a/tests/fixtures/geocoding/cache/MlZSTuLvq3_uXicanVvhQ-arlFUJKQtMm3Ln0HBAQfY b/tests/fixtures/geocoding/cache/TqgCoktL9u-y7lYq-c8syOfgzgYyQJ58rhaUL5xr0YU
similarity index 97%
rename from tests/fixtures/geocoding/cache/MlZSTuLvq3_uXicanVvhQ-arlFUJKQtMm3Ln0HBAQfY
rename to tests/fixtures/geocoding/cache/TqgCoktL9u-y7lYq-c8syOfgzgYyQJ58rhaUL5xr0YU
index d0f45412007775920e151fd4a12cb03b471c4707..7db594760889c44489c915dc942fa44f80b439db 100644
GIT binary patch
delta 85
zcmez8{@;Cqm4<~$T3VWck)=h7iMesIaZ;kGk(s5bS+a>ms%5gNp;>C0saax@QR2p=
n8f8VGGBX1s6C*uSb4%-DD+?>7<c!qh?Bdc~CF@Kp1M6A<aqJm^

delta 84
zcmezG{?C1al}1vMfpL<hfkmQ`fk~2)nVC_tscB-8c?uAi8XB9KTBfC%nItD0Y)q<A
mRxmI!wKTIZGt{%Nur9W;uu@9SNKMWzF3nZ4&a^VHt_1*ITp3&d

diff --git a/tests/fixtures/geocoding/cache/CXzZ0ZytPeoqM27W8_o84x7LJl8bJubwHKWkdHjaZ2U b/tests/fixtures/geocoding/cache/WOWjwxqeJX5l7a_3pXH9vVlUOOL29gak7PecGXE1RpI
similarity index 95%
rename from tests/fixtures/geocoding/cache/CXzZ0ZytPeoqM27W8_o84x7LJl8bJubwHKWkdHjaZ2U
rename to tests/fixtures/geocoding/cache/WOWjwxqeJX5l7a_3pXH9vVlUOOL29gak7PecGXE1RpI
index 084311b43dbee9d119c1eb0fe81047a7f747d76f..ac09b2fd3d44a97f168c32e217169d45eb9a065b 100644
GIT binary patch
delta 85
zcmV~$!3}^Q3;@6tTmfFb3>0WuaG6p`G{zV4=?<>q1gz%WFvGlgCaK~HkZTZeeq#WM
mm>>y~M%6}8g<AOPIvHR>2Qe(<xb#ff>fZG1_hrkGU3q>dYZz|;

delta 85
zcmdn5xL<LCm4->0nYnSYMXI?)Qj&?WWpb)%YNENhxn+_?YNBbXNg7bfFxA*7ZDW#+
nfTDqssim2vsezuEnVEI5m4%g3az<)$c5!L0l69t)fpskaM!gvU

diff --git a/tests/fixtures/geocoding/cache/VdeCA41p5SlJt8oBnyo4-BpE7JM03Q_oPPy29miPbQY b/tests/fixtures/geocoding/cache/YqeeweK2fBck7V03Z_M8NxlQtDQ0rpN986cZek0ih9A
similarity index 97%
rename from tests/fixtures/geocoding/cache/VdeCA41p5SlJt8oBnyo4-BpE7JM03Q_oPPy29miPbQY
rename to tests/fixtures/geocoding/cache/YqeeweK2fBck7V03Z_M8NxlQtDQ0rpN986cZek0ih9A
index a011c64144bba37978607760af8c471dbb109346..7b7295a1edf895fec7524ebc1764fbf1177df590 100644
GIT binary patch
delta 85
zcmV~$OAbIV5CG7VSm?@1W;(6u?=m$^h**iG6G+5W+|YYZdCHqQtc(ywhwRl4o>c|Z
nkvJl2VPe9n6+M09-Ly7_0j#4wa>z#t$;dLxcAUG(Yl3|J`m-0|

delta 85
zcmeCP>9d(&rD1NIY-(v~U}%<NW@2t^Y-C|%WMXD!Xpv%RYGh=PW|^97YHDtjXs|J<
nTUOD)$kfsdD4}OyVQyV)Wnrb1oRONGU0j;0WSwbcU|kCU#}O9`

diff --git a/tests/fixtures/geocoding/cache/sVVD23x5PvwVSnv9i5DvARYVFsw6s9TnaZ3zi1Bvnys b/tests/fixtures/geocoding/cache/ZO3iczPPvjk4Mr9QWOPPv3W6E1qIHx1ONpl4XUxv80c
similarity index 97%
rename from tests/fixtures/geocoding/cache/sVVD23x5PvwVSnv9i5DvARYVFsw6s9TnaZ3zi1Bvnys
rename to tests/fixtures/geocoding/cache/ZO3iczPPvjk4Mr9QWOPPv3W6E1qIHx1ONpl4XUxv80c
index 9bf68513d9c8f9c54b1cb021ecfc621dea66b9c7..9b8de33d0cf28e1bd0cdc9272b435209aa59a5f3 100644
GIT binary patch
delta 85
zcmV~$!3}^Q3;@7I{K(6fAtkg>rh!7EF}{dTcW@QgFkvU}1`mFC5d|fU)j5=cm_20;
m2nCg-5P*QowW)v0H_Z?OT5_~fgw#2(k*&$muhXQRZMuJg0U8Pb

delta 85
zcmV~$xeb6Y3;@7IXrQ7(c78k4;NS>^s1PMPunKD+Whd?$H-31;YEe+YTUrXBB$|WQ
n1=OOZib)K)pl*KU>v}MrqM<NFjQQlmLs_-#=XDHuW61XpO{Ezw

diff --git a/tests/fixtures/geocoding/cache/8b0Selp7g6fH-lVd7CT7ZdGLRQby9RwVgN98Hp7Eecg b/tests/fixtures/geocoding/cache/_FxVgLNe3IM31Ral0rCWXY8GXAnxNIfQow8MmeSB4Qw
similarity index 97%
rename from tests/fixtures/geocoding/cache/8b0Selp7g6fH-lVd7CT7ZdGLRQby9RwVgN98Hp7Eecg
rename to tests/fixtures/geocoding/cache/_FxVgLNe3IM31Ral0rCWXY8GXAnxNIfQow8MmeSB4Qw
index 1b33d1c00bcc3fbc1479a5d3a51a309fc0bc090a..fdab76e4f58be0eb85ec610789461b2b41cbe84e 100644
GIT binary patch
delta 85
zcmV~$yA6OK5CG6cY_zg67dY<&({KpU7%O7w4z6O&a=zEK>l<cITGiv07|k1jGI$Wf
loGNG`=8DeQT0fIvbSeZ6VIh>*f`lpWC7<oSrg#L1&kq?x7$yJ!

delta 85
zcmWN{yA6OK6a~;lY^1U>Jjmrc4UbPW#)??FgR5AxoSym&Kl~FGI09P`6uf3?HKACO
mYfFjH3R70Bsj8RVG|N932fKo7?7;<*x0;WBog(f*#`^;}Wf;={

diff --git a/tests/fixtures/geocoding/cache/Dn2KTb78QhDrGxEVH8zu7QOVjWdNRnD1K_3jH2b-Ce0 b/tests/fixtures/geocoding/cache/dJw9ffbMN9CiJc8L0JBRWYAWTzGvUGVSGMVu07hm9b8
similarity index 97%
rename from tests/fixtures/geocoding/cache/Dn2KTb78QhDrGxEVH8zu7QOVjWdNRnD1K_3jH2b-Ce0
rename to tests/fixtures/geocoding/cache/dJw9ffbMN9CiJc8L0JBRWYAWTzGvUGVSGMVu07hm9b8
index c77eee59840f92ee58c6efb1f3dad8c96ca8d95e..03a663179789ebe435efaa1452384826fde94101 100644
GIT binary patch
delta 84
zcmexp{n2`YwR&<=N{Xq8Wtu^nnWdRoYNDx8s-cl-VoF+avY~N`k)?&Dk-4d%#m1yO
lSw$ev%)rRRL=PxpU2J7xrIehJnw(u+nyX};X=Pwt3jkOq82bPK

delta 84
zcmV~$!3}^Q3;@7MeCWrYfkG>#)7VO)G5R4s-N98HjSakO(&UwK4Fr%hmD!UyLPT#2
mQGL+3aEV4GvgxN+*E>KaMw}=FsX67rwqi%U&q4O=<oN+BC>WFg

diff --git a/tests/fixtures/geocoding/cache/-rxopOkGaaHQ8N3dFZjmwRBMckfPAtUvFRIlVQWXLok b/tests/fixtures/geocoding/cache/e219cGNfk7d7DW35D1sT4gNAwYWh1dGoZyQXc-6HnUo
similarity index 97%
rename from tests/fixtures/geocoding/cache/-rxopOkGaaHQ8N3dFZjmwRBMckfPAtUvFRIlVQWXLok
rename to tests/fixtures/geocoding/cache/e219cGNfk7d7DW35D1sT4gNAwYWh1dGoZyQXc-6HnUo
index 118604d99668b9c5847d7cefa3169423a0e4a0c6..30839fe7ea4ad14a7b4fce3d1346c59ecaf88a78 100644
GIT binary patch
delta 84
zcmbQ|H_vZ^m3mrgqG^(avAMaWsexs(g{i5TajI#Gp?R96rHMhZrLjd~nqi7*%ErVw
nYKlgd7G?%UCWd<EMrPK<Ru)!D$r-81*~O)~O4gZH2G+Fz7WEin

delta 84
zcmbQ|H_vZ^mAYX{vaw-`kx`O`S*oQWkZopYX_=amWNDs~Vw!AhU}0gJVxDHcF>#KX
mqJfdArJ049fu5O#k#(_^g_TlrMrv|)acQoSb*7bpbu9oMwHSr~

diff --git a/tests/fixtures/geocoding/cache/HBPDfd3miD6LGEdp5C2hhryK4FY4lSBY7KVtE2fr2jk b/tests/fixtures/geocoding/cache/fhjqQEqGINwTHjG1gGu7Hgkc9ADzCJiz7ft9Iku9eQA
similarity index 97%
rename from tests/fixtures/geocoding/cache/HBPDfd3miD6LGEdp5C2hhryK4FY4lSBY7KVtE2fr2jk
rename to tests/fixtures/geocoding/cache/fhjqQEqGINwTHjG1gGu7Hgkc9ADzCJiz7ft9Iku9eQA
index 6e8bed4db1026ff7f29c0e1237b87a620f338bd1..21247e67f982af30f6df2768bcb741a6cea2ca7b 100644
GIT binary patch
delta 85
zcmV~$F%Ezr3;@87xaj0$O07uCYf8~*j1zJ65AG)X!5?~8rOG4yJW(cdIVb>_ccwZz
mRK^vuvH~S`iV42-HZ5}SfJ6fk$09*G+ZH>@b#`$Vi1!aF{1~eM

delta 85
zcmV~$yA6OK5CG6cY^1U>$NxB{fjbh7u_Bi4U~j?>Zs>c120gSSgUqfqDU1=TKm#LE
m3Tm%8rf5M5glNC|PBR#vLh^nE<8mh?#arW}U#H4DLB4-XJsAK1

diff --git a/tests/fixtures/geocoding/cache/h5OQyqS2eEdA1Cpf-fUPBvTjpl4UTUZknW01NvweatY b/tests/fixtures/geocoding/cache/h5OQyqS2eEdA1Cpf-fUPBvTjpl4UTUZknW01NvweatY
deleted file mode 100644
index 332b0456d098fa0bbe45cb987f8f687da74d1f53..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8902
zcmeHNOK;ma5Y|sIbWcE$6kk3yPO)2{n?5e>p+F%^j4P}x1)|*DY>@xnA!Rw1r6_V6
zB*9ik!^7dn;mmxT8NE|N`KC%1S!9f_n7T2FC_hdUe{K|`%3tXsE)uO)sfmlP^{+Hv
zDH=&}i8RwfEIB6$y$tk{<B;n>V9DeqSyE0Vv3fvF5>=5uf2Rmm{vWl<^2=YKIQ#M{
zNlI<ZqR28GS80*^DzG>x0P!A@^|B(4>>}gOBNeKfR3X>~-@6ScciKsKuXZmkiZV&_
zsM4Snl(7!x#h!%1&T1fZh;~oP%K&AyNwhytR7g%qh@@a(8^Rx0SLCbR!V`9inUoZZ
z`7JC(-KAS&ddp&yCpG$@gZ`}k6Yd4fjKKpAf!6|_DK^!&J-~<pVB7<EEB}u+l@+%z
zIYOM;0}klVi*iqYfS7z>10CIMz@!K{b9U%4ePahxm0DL9oApwc{`|rk9K7-Hya&?J
z8m`I74mgR~EZ>6fWodQ26$YQXPqFpVS`wm4`RAKumgY7zhR|FUri!u!1c{Y|YdS}K
z_Won|*)1G^7A5O6f2+Ui%z1!y^-df$65X)t@rPGCg?Hj!YnKSp2E-n=;WD(HZ{^_F
zy|!vFd6~uT&#gX?1qbfhbtjv<+cGMEbg=-(uC8Z$<{e&ZGn>7<+f<Q9Moz{fZ#%?j
z#PpF7+t?dxYlxvYd2VJOHqrHLF?)UPTyiAzTbsLjWgQVf`h{C8A*y=wxVvNcw@$l#
z*<~x?HJ$+p>rJV%D0iebw4(M0$XT%BweNCEucOvDt8}gZEAl2+4CIxoviP1RIyr+w
zfu}-%9MCE3m8zisz}w{XQizL6MliR&(nAC-#_KW{#=$c%7nM|Si+Ch;G3juQr>>nz
z1~zC@R{-oaQ5R(2gGXSSRN%Qd#3grJ)Vvrc>S~#^;m9LN_y0{@kkCIC6}*n4+1W%~
zHjn=@ak*C?*tPS>bUgWDh)d9rxkt{?#3i_p{OL<BDuTe3P(6TqN-icHtsKK!4-;dH
zw*=$A8*K%%_n#4(Dz3W{aQCjBDz2u1^^-(<OvN?PmiO58mMi&RK5a27h<lRtu)uJ=
zB~ZxmGtd@8j2=^O2||hM{Pn!ww>;Ns6;h6gv?du_Z*jo{`R(ehKR<<hBCd(JQuUmz
zLTJlg*gpSk0iE)x;ChsT%iZUTXRZ(hBn<3<k7h1O$u?m>>5OYkBX57m1p_PKI!i<&
znJYw?26m`1mbvOyq-~f_L$2nvU3cGG<EN=p*y+7AH3^JUrXkmEpg5IW&Kn>BJ;R90
z4*npG>3^@%5~gOUI<f2k?Z+xwx$ifSx&aYji@4PA^##o95*2WSL&>1^bQ-$36QtVs
Pn~wiBo3+(}=C?lp$Fq+q

diff --git a/tests/fixtures/geocoding/cache/iWH50j0OdqL4qMuh9098xqBurJJAI3LHXJ3VO9nE5Tg b/tests/fixtures/geocoding/cache/kPCiwpT7JAoFMYl_utjf6tcuHZTG_WQniwcE_-N6TOM
similarity index 96%
rename from tests/fixtures/geocoding/cache/iWH50j0OdqL4qMuh9098xqBurJJAI3LHXJ3VO9nE5Tg
rename to tests/fixtures/geocoding/cache/kPCiwpT7JAoFMYl_utjf6tcuHZTG_WQniwcE_-N6TOM
index 8a5df021c4ad18badee90905c6d11beb98c836f0..6ed4759b06508dbf7c1ccbdd29bd50f7dfc47fb3 100644
GIT binary patch
delta 84
zcmV~$yA6OK6a~;hYz&o^dHgRh4c};t6|r;&Tf-D?=s5!ek6*}Y<#;Q(MrW#{s+C66
l%`~!7q#ThrO2L=jX%-HKgp#X4=pLTst>&X&Ckwl$aQ_?x7^eUL

delta 84
zcmbPjG23E-m4=CBqM?CBa;mvyqOq~Dk%^&cl3}t%l6kUuT8gDfqG6i3u`!6ZF=?i>
lf`O5#rJ1FPrJkvob+MI&l~Qs>YI1gQX|9rWrj>zpEdT@!7(oC4

diff --git a/tests/fixtures/geocoding/cache/RJiOh08U3vV1U2LTowRogEH9DYLx2pof4tEnVmqIgT8 b/tests/fixtures/geocoding/cache/l2GVY-Q_cB04-KB40pIp_KyeBTKX2Ebp9A3G1QL2sVg
similarity index 91%
rename from tests/fixtures/geocoding/cache/RJiOh08U3vV1U2LTowRogEH9DYLx2pof4tEnVmqIgT8
rename to tests/fixtures/geocoding/cache/l2GVY-Q_cB04-KB40pIp_KyeBTKX2Ebp9A3G1QL2sVg
index 2ece0b3d4aa63351e2ced6ed9c90554ac61092c8..5629e25ab3c165c0ee3c26ec483d09a7dfa29d55 100644
GIT binary patch
delta 85
zcmZ3;w~%jwl}4h8MWRWnMOvzbfq{vEk$GBTa-y-Jd5XDFQmUy%ikYRcnQ3C8srkmF
od2EVCmKJ6PX68nEmL|s5#a0$pO34|i$=SuFxk}cVRtDC!02BfkO8@`>

delta 85
zcmZ3;w~%jwl}4&zvT2%WT2h*cg@u`+u}PY#nMGovajIo%nx(N}ieZ|8g@I{OQtHN}
od2EUXMy8hLhNh-^riMn=#a0$pO34|i$=SuFxk}cVRtDC!04G=&rT_o{

diff --git a/tests/fixtures/geocoding/cache/DWgufNhPBdT6iV-pkMYxk6MaKfSv6_IS9w-X-1dnWrY b/tests/fixtures/geocoding/cache/mrhS7odYgUxud-5R18uPnmMQSnMhnBIqRyxmoSCmkxI
similarity index 90%
rename from tests/fixtures/geocoding/cache/DWgufNhPBdT6iV-pkMYxk6MaKfSv6_IS9w-X-1dnWrY
rename to tests/fixtures/geocoding/cache/mrhS7odYgUxud-5R18uPnmMQSnMhnBIqRyxmoSCmkxI
index f4c39d1fcb617a3b3cbbd84330371cef29bfb957..c5c4d0b8d790b177024a9561dda301ee44f44728 100644
GIT binary patch
delta 66
zcmZ3=x0G*!m4-#4p`l@_Wm2M9l9^?qMUr7+Vq$7is;N<`xoL_)TC#<4qH$tMn$gCj
VMQmI~mKJ6PMkXeDhLic&#Q~re65jv-

delta 66
zcmZ3=x0G*!l}1`xl5uikYKn!qL6T{biMer7YO;BXnYp2<MUsh;p|P>Kp;>ZrlEKEL
VMQmIKMy8f#mZnB}CX@Nt#Q~OQ5-tD$

diff --git a/tests/fixtures/geocoding/cache/eygC3gePTfMqVg7Pgl4Uz-iAKJPd5wxeu5bFFu-Sc3A b/tests/fixtures/geocoding/cache/oCbs13x_PIgHw6Il0p0JwZ9mEk_ytloLG9QJJQ6KxlY
similarity index 97%
rename from tests/fixtures/geocoding/cache/eygC3gePTfMqVg7Pgl4Uz-iAKJPd5wxeu5bFFu-Sc3A
rename to tests/fixtures/geocoding/cache/oCbs13x_PIgHw6Il0p0JwZ9mEk_ytloLG9QJJQ6KxlY
index 01788e2d8a11786d6627c6229173e04909d211d1..e6ba90f068054841b36a244ecc0c382040ef1411 100644
GIT binary patch
delta 84
zcmeBj?sA@Bt!`pslx%2jnrv=plwy>eW@K)VlxCT1nw(~lXklPrX<?C;Y?5Ybu`!8V
mQPIfK!py+P#7GY)Y+Y<+VWpIuk(!)cT$-z7ooQuYT?+v5lNYl9

delta 84
zcmeBj?sA@Bt)6C_m~5Vwl4@a^l4g)*lx%2hmY9-~XqcR0VU}uao|cqim}HQcv@wZY
nQPIH2)Y8nt%tX(`+{C)r%EC%1IU_YWySOx0$vV@@z`7OyQhOOi

diff --git a/tests/fixtures/geocoding/cache/pXv8rhgukDMiBIr6lLwkpK4-8mj-BkhxKpyzdOJa7Oo b/tests/fixtures/geocoding/cache/pXv8rhgukDMiBIr6lLwkpK4-8mj-BkhxKpyzdOJa7Oo
deleted file mode 100644
index b0ede268d17b41b84f8b3e361067289be71ec013..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8340
zcmeHM+iv4F5Y?v`dXFKJy3$Ws7wF4wQZy)vE*2<giE)U?QXtBkwu^jGzoY-vLrQWS
zTaoP|u(PNi0}p3TM#FPBGuJ%kuCB9bF0^)e$iHdMxSOiXooF8V+?~rZEi=jIN~h)T
z&0ngRbHZerGMQzPu{g-2FGD|(GZqPdCdF+qyOlEXXP)r`H<_q~JGthJa`(r^W%cC~
z9Oqvyv#gR@Ps==)X|2k_<;39d0mRv5>*QrB%pvVg1P}N(#XW?fuZDqh>zxI!dUw*Y
ztTI)ITEZ)wg<F`XYZjc^tifm#?V6R717*F;q&vwtOU6;0kkChNShV9@S<F`lF9`L<
zflrgzpFH8Lw|%zFrZX#-Mb^M4Tkt<LKjOn6&lDxFiM%mzbh)hWR)}Ll2?J!>1Gzo$
zD0OY@TcC`wz#MozLQz(05t4+OoD2kz;za=J1vId!=t+N<3SC!H)>q5LOjhpX3IP}@
za`Ru_uoeq^Dr-AXD0(^ji2BP_{by^8x_iyBsnj*g0SFJJu0=k@?br=LWD8Y%lwW0T
zKej3Btvl0MY+tdS4|BP4_-yXHh$27{xM##%jiGR^u|u+ZbJAgQa)aHS7=N%ut#0RU
zWn0*<qB%j~Pm#>qvMLmKW#>UdVJ4SPiqkiSO?O9M!3LxKlrI-TkEXbRrf3d9?!Pf|
zOF#Q19H04<m?`9Nf51<Mp?ck0z6Z-91r>78OV>6*__blzJ_czmoG!Z*H|m!{)iN91
z)P}o9<?ZNlAuE;I5*hN*)CZUcE^b^)D7{tNAg|Rz{#6#;?HszvRrytAGW%dZH9;CT
zbQH1Ln}m2<7uSY+4~pdnV@iXF#^(F?(Ekgi+fXbz_TwN)*l`uBK^(*e@qnJJ36{Yb
z1zutmsD~I^iCZaF6Coy6;d*k?+OH{=iQq?+oCWLHf`upANd*h9lj};(@wPpHKovhB
z<D;O_6jb--3H%z5uXK4OuV>EJ&cj}uZ=WIWn)6vOCIKS>jSeRLgpHX`BRv0)OZpZv
zNkZSeCHG<d7HI5Qnb?E$ZG^z{!X1s!iuKzFXVU-wbtx#P%j#YfS{%for)^R2VE;|#
z`S;eKKwy6s#oRRbXSLGKTX!g|ze#InChws`xxi43vLx{gF(1^TkjNj$UPKw@aYr4h
zS;)TU#ca<er9m2^nKDC%zJ7MIM|qKz0YU8KYBLw-soD{zYNu{eNMfcug?JS8KYw5R
zdIvrg#Zn!@sHfE~2<}Z?i5g?UZ1jV|+*hR-N55Y|z$(JMl8>X$QsknrJD0v&-A%gI
zrc_s-k3OZc&FH)CSTK?C8KD6l+Xrd@_7!v-k|f4*<+vhXF=Ob2xcjv%7Af_767H!1
zT~>la22~-6!>G;0_ap+E8xm9bqgdXz<LaUD?AoG5V|(Z(5v9~J2L9MyL^R{y7t0W=
zG-0|mx$Q<H&pVWEtJ%|J?z3_^wK)9836_004khToC6RsI^)3~<jIZ_qTZJ%u>^#GI
z-o@`V!!olzRE7NGK~-3VC@g)!NVsjanB&zXxW~W21cSu1lGw*U-ZD-ij|NGIsrlIV
U&7>XIA-$97y<RSi4{!4HFJraeq5uE@

diff --git a/tests/fixtures/geocoding/cache/eBjNcFLemQ-eaeEqpjd5WhBM-gsyVHOpIsd3mB6Ucm0 b/tests/fixtures/geocoding/cache/z_jt3q8-gv2gU-qjzLmTH-Zcr_YCwu_iX2wauf9HL2Q
similarity index 96%
rename from tests/fixtures/geocoding/cache/eBjNcFLemQ-eaeEqpjd5WhBM-gsyVHOpIsd3mB6Ucm0
rename to tests/fixtures/geocoding/cache/z_jt3q8-gv2gU-qjzLmTH-Zcr_YCwu_iX2wauf9HL2Q
index 0c012d43459e6dc9845f2f833c87dd396296adf9..b31a40e26f81c1b19294d87902c240da15cc859e 100644
GIT binary patch
delta 68
zcmca+e9d@*m4-=*u}NBDQlepssbx}<Wm2MXvT<UHscBM@MWVThiMhFvg}F(hY2wDD
XU`ZY$OA9jtBNHP%V@tEi2PH)T>1z}H

delta 68
zcmca+e9d@*l}56Kxsj2jX_9%0X-Z0(QCg~niLs?YvZ+C;p{0RwlCh<kNurr?V)DkM
XU`ZYWBU4K=3o}DKV>8Ri2PH)T#NiWA

diff --git a/tests/fixtures/geocoding/cache/4hbdus6J9QDeConFZDf60hTKH7k8GC24gpCIZsAuvNM b/tests/fixtures/geocoding/cache/zbOvEmbPTabQORt2q9-x240NGPVsiyapWWfzvQgKzQQ
similarity index 98%
rename from tests/fixtures/geocoding/cache/4hbdus6J9QDeConFZDf60hTKH7k8GC24gpCIZsAuvNM
rename to tests/fixtures/geocoding/cache/zbOvEmbPTabQORt2q9-x240NGPVsiyapWWfzvQgKzQQ
index 74d8a2358ff0312db2e98487e68b94b6c8bff896..16b48614b405fa10bd8bd0ee949a231d1b43d258 100644
GIT binary patch
delta 85
zcmV~$F%Ezr3;@8l$Y7jI3kU^f9zwB3W1NVifAAZO{?NOgdw%0&+*SjVhgF;eM8{sd
n6mPMZQh>#31YYRlQ4Knf18wz;M5#rJs_s(Hc3&zT5z_MmH@z5*

delta 85
zcmV~$F%Ezr3;@8l$Y7jIrG>OG`w%G*jd3E5{=siB`a|#f+SfNss+^frp<tmZR=m1|
mw&o29H`J7bp;G<QXa=xOJbRdhme>LZqkGY_-Is|+fcX4b!Wkz3

-- 
GitLab


From b81c5868c4a3268b13b97eecc51949c2eab5261a Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Fri, 25 Oct 2024 14:14:02 +0100
Subject: [PATCH 04/33] ISAICP-8857: Update Joinup into Portal.

---
 .ddev/commands/host/install                   |  2 +-
 .ddev/config.yaml                             |  2 +-
 .ddev/mysql/joinup.cnf                        |  2 +-
 .env.dist                                     |  4 +-
 README.md                                     | 36 +++++-----
 composer.json                                 |  2 +-
 config/sync/autologout.settings.yml           |  2 +-
 config/sync/cas.settings.yml                  |  2 +-
 ...re.base_field_override.node.news.title.yml |  2 +-
 config/sync/email_confirmer.settings.yml      |  2 +-
 ...highlighted_event.link_to_external_url.yml |  2 +-
 ...eld.field.node.distribution.access_url.yml |  2 +-
 ...ield.field.node.distribution.file_size.yml |  2 +-
 ...d.field.user.user.field_user_frequency.yml |  2 +-
 config/sync/joinup_user.mail.yml              |  4 +-
 config/sync/message.template.cc_delete.yml    |  2 +-
 ...emplate.cc_transition_approve_proposed.yml |  2 +-
 ...message.template.cc_transition_propose.yml |  2 +-
 ...emplate.cc_transition_propose_reported.yml |  2 +-
 ...message.template.cc_transition_publish.yml |  2 +-
 ...template.cc_transition_reject_deletion.yml |  2 +-
 .../message.template.cc_transition_report.yml |  2 +-
 ...template.cc_transition_request_changes.yml |  2 +-
 ...emplate.cc_transition_request_deletion.yml |  2 +-
 ...age.template.col_deletion_by_moderator.yml |  4 +-
 ...plate.collection_membership_invitation.yml |  2 +-
 .../sync/message.template.comment_create.yml  |  2 +-
 .../sync/message.template.comment_delete.yml  |  2 +-
 .../sync/message.template.comment_update.yml  |  2 +-
 ...ssage.template.contact_form_submission.yml |  2 +-
 ...essage.template.discussion_comment_new.yml |  2 +-
 .../message.template.discussion_delete.yml    |  2 +-
 .../message.template.discussion_invite.yml    |  4 +-
 .../message.template.discussion_updated.yml   |  2 +-
 .../message.template.distribution_delete.yml  |  2 +-
 .../message.template.distribution_update.yml  |  2 +-
 ...message.template.og_membership_approve.yml |  2 +-
 .../message.template.og_membership_reject.yml |  2 +-
 ...message.template.og_membership_request.yml |  2 +-
 ...plate.og_membership_subscribed_approve.yml |  2 +-
 ...sage.template.release_approve_proposed.yml |  2 +-
 .../sync/message.template.release_delete.yml  |  2 +-
 ...ssage.template.release_request_changes.yml |  4 +-
 .../sync/message.template.release_update.yml  |  2 +-
 .../message.template.report_contact_form.yml  |  2 +-
 .../message.template.sol_approve_proposed.yml |  2 +-
 .../sync/message.template.sol_blacklist.yml   |  2 +-
 ...age.template.sol_deletion_by_moderator.yml |  4 +-
 .../message.template.sol_propose_changes.yml  |  2 +-
 .../sync/message.template.sol_propose_new.yml |  4 +-
 ...template.sol_propose_requested_changes.yml |  4 +-
 ...essage.template.sol_publish_backlisted.yml |  2 +-
 .../message.template.sol_request_changes.yml  |  2 +-
 .../sync/metatag.metatag_defaults.front.yml   |  4 +-
 config/sync/node.type.solution.yml            |  2 +-
 config/sync/page_manager.page.homepage.yml    |  2 +-
 ...page_variant.homepage-layout_builder-0.yml |  6 +-
 config/sync/rdf_entity.rdfentity.solution.yml |  2 +-
 config/sync/search_api.server.joinup.yml      |  2 +-
 ...mple_block.simple_block.collection_tca.yml |  2 +-
 ...simple_block.simple_block.solution_tca.yml |  2 +-
 config/sync/system.site.yml                   |  2 +-
 config/sync/tour.tour.account.yml             |  2 +-
 config/sync/tour.tour.content_overview.yml    |  4 +-
 config/sync/tour.tour.joinup_homepage.yml     |  8 +--
 .../sync/tour.tour.rdf_entity_canonical.yml   |  2 +-
 config/sync/user.mail.yml                     | 14 ++--
 config/sync/views.view.actions_log.yml        |  4 +-
 config/sync/views.view.search.yml             |  2 +-
 config/sync/views.view.solutions.yml          |  2 +-
 docs/agreement.md                             |  8 +--
 docs/code_of_conduct.md                       |  2 +-
 docs/contributing.md                          | 28 ++++----
 docs/federation.md                            | 18 ++---
 docs/release_workflow.md                      |  6 +-
 docs/sparql.md                                | 10 +--
 phpcs.xml                                     |  6 +-
 phpmd.xml                                     |  2 +-
 rector.php                                    |  2 +-
 resources/runner/joinup.yml                   |  2 +-
 resources/runner/toolkit.yml                  |  2 +-
 resources/vocab/EIRA_SKOS.rdf                 | 70 +++++++++----------
 scripts/composer/post_install                 |  2 +-
 .../ValidUpdateNameSniff.php                  | 18 ++---
 src/Composer/load.environment.php             |  4 +-
 src/Drush/Commands/JoinupDrushCommands.php    |  2 +-
 .../Commands/JoinupEnvironmentCommands.php    | 12 ++--
 src/TaskRunner/Commands/VirtuosoCommands.php  |  2 +-
 tests/features/adms_ap_compliance.feature     |  4 +-
 .../collection.member_administration.feature  | 12 ++--
 .../collection.membership_management.feature  | 18 ++---
 .../collection/content_negotiation.feature    |  2 +-
 .../collection/export_metadata.feature        |  2 +-
 .../notification.collection.feature           |  4 +-
 tests/features/collection/propose.feature     | 12 ++--
 tests/features/comments/add_comment.feature   | 24 +++----
 .../features/comments/delete_comment.feature  |  2 +-
 tests/features/comments/edit_comment.feature  |  2 +-
 tests/features/communities/eupl/jla.feature   | 20 +++---
 tests/features/communities/eupl/jlc.feature   |  4 +-
 .../community_content/content_sharing.feature |  2 +-
 ...fication.post_moderated.discussion.feature | 18 ++---
 ...tification.post_moderated.document.feature | 12 ++--
 .../notification.post_moderated.event.feature | 12 ++--
 .../notification.post_moderated.news.feature  | 12 ++--
 ...ification.pre_moderated.discussion.feature | 30 ++++----
 ...otification.pre_moderated.document.feature | 30 ++++----
 .../notification.pre_moderated.event.feature  | 30 ++++----
 .../notification.pre_moderated.news.feature   | 34 ++++-----
 tests/features/contact_form/report.feature    |  8 +--
 .../contact_form/submit_contact_form.feature  |  2 +-
 tests/features/eulogin/eulogin.feature        | 20 +++---
 tests/features/featured_entities.feature      |  2 +-
 tests/features/footer.feature                 |  4 +-
 tests/features/header.feature                 |  4 +-
 tests/features/homepage.feature               | 16 ++---
 .../features/joinup_core/input_filter.feature |  8 +--
 .../joinup_core/persistent_uris.feature       |  2 +-
 tests/features/joinup_core/reporting.feature  |  2 +-
 .../transfer_group_ownership.feature          |  2 +-
 .../discussion.invite.feature                 | 12 ++--
 .../discussion.subscribe.feature              | 32 ++++-----
 .../asset_distribution.delete.feature         |  2 +-
 .../asset_distribution.edit.feature           |  4 +-
 .../track_download.feature                    |  4 +-
 .../joinup_event/add_event.collection.feature |  4 +-
 .../joinup_group/announcements.feature        | 20 +++---
 .../joinup_licence/spdx.canonical.feature     |  2 +-
 .../joinup_release/release.moderation.feature | 22 +++---
 .../joinup_rss/collection_feed.feature        |  2 +-
 .../features/joinup_rss/solution_feed.feature |  2 +-
 .../joinup_search/group_search.feature        |  2 +-
 tests/features/joinup_search/search.feature   |  4 +-
 .../joinup_seo/basic_metatags.feature         | 12 ++--
 tests/features/joinup_seo/discussion.feature  | 10 +--
 tests/features/joinup_seo/document.feature    | 10 +--
 tests/features/joinup_seo/event.feature       |  2 +-
 tests/features/joinup_seo/news.feature        | 24 +++----
 tests/features/joinup_seo/rdf_entity.feature  |  2 +-
 .../collection.content.subscription.feature   |  6 +-
 .../community.content.subscriptions.feature   |  6 +-
 .../solution.content.subscription.feature     |  6 +-
 tests/features/legal/legal_notice.feature     |  4 +-
 tests/features/menus/whats_new.feature        |  2 +-
 tests/features/smoke_test.feature             |  2 +-
 tests/features/solution/add_solution.feature  |  6 +-
 .../solution/manage_solutions.archive.feature |  8 +--
 .../solution/solution.notifications.feature   | 18 ++---
 .../solution/solution_overview.feature        | 10 +--
 tests/features/solution/tca.feature           |  2 +-
 tests/features/user/block.feature             |  4 +-
 tests/features/user/cancel.feature            |  6 +-
 tests/features/user/profile.feature           |  4 +-
 tests/features/user/register.feature          |  4 +-
 tests/features/user/roles.feature             |  8 +--
 tests/features/video/embed.feature            |  2 +-
 .../files/single_solution_valid_adms.rdf      |  2 +-
 tests/fixtures/files/valid_adms.rdf           |  2 +-
 tests/src/Context/AdmsValidatorContext.php    |  2 +-
 tests/src/Context/CollectionContext.php       | 12 ++--
 tests/src/Context/EuplContext.php             |  6 +-
 tests/src/Context/FeatureContext.php          | 14 ++--
 tests/src/Context/FooterContext.php           |  2 +-
 tests/src/Context/HeaderContext.php           |  2 +-
 tests/src/Context/HomepageContext.php         |  2 +-
 tests/src/Context/JoinupCollectionContext.php | 10 +--
 tests/src/Context/JoinupContext.php           |  4 +-
 tests/src/Context/JoinupCoreContext.php       |  2 +-
 tests/src/Context/JoinupDiscussionContext.php |  2 +-
 tests/src/Context/JoinupLegalContext.php      |  2 +-
 .../src/Context/JoinupSubscriptionContext.php |  4 +-
 tests/src/Context/RssContext.php              |  4 +-
 tests/src/Context/SolutionContext.php         |  2 +-
 .../Listener/FeatureTimeLoggerListener.php    |  2 +-
 tests/src/Traits/OgTrait.php                  |  6 +-
 .../acceptance/joinup_acceptance.info.yml     |  4 +-
 .../acceptance/joinup_acceptance.install      |  2 +-
 .../adms_validator/adms_validator.info.yml    |  2 +-
 .../custom/collection/collection.info.yml     |  4 +-
 .../src/Controller/GlossaryController.php     |  2 +-
 .../src/Entity/CollectionInterface.php        |  2 +-
 .../src/Entity/GlossaryTermInterface.php      |  2 +-
 .../CollectionGroupSubscriber.php             |  2 +-
 .../custom/contact_form/contact_form.info.yml |  4 +-
 .../custom/contact_form/contact_form.module   |  4 +-
 .../src/Functional/ContactFormMailTest.php    | 18 ++---
 .../contact_information.info.yml              |  4 +-
 .../Entity/ContactInformationInterface.php    |  4 +-
 .../src/Plugin/CKEditor5Plugin/ContactUs.php  |  2 +-
 .../custom/curated_content_listing/README.md  |  2 +-
 .../curated_content_listing.info.yml          |  2 +-
 .../custom/custom_page/custom_page.info.yml   |  2 +-
 .../CustomPageGroupSubscriber.php             |  2 +-
 .../custom/dashboard/dashboard.info.yml       |  4 +-
 .../entityqueue_block.info.yml                |  2 +-
 .../isa2_analytics/isa2_analytics.info.yml    |  2 +-
 .../joinup_bookmark/joinup_bookmark.info.yml  |  2 +-
 .../joinup_bookmark/joinup_bookmark.module    |  2 +-
 .../joinup_bundle_class.info.yml              |  6 +-
 .../joinup_cas_mock_server.info.yml           |  6 +-
 .../JoinupCasMockServerConfigOverrider.php    |  2 +-
 .../joinup_communities/eif/eif.info.yml       |  2 +-
 .../joinup_communities/eira/eira.info.yml     |  2 +-
 .../joinup_communities/eupl/eupl.info.yml     |  2 +-
 .../joinup_communities/eupl/src/Eupl.php      |  2 +-
 .../interoperable_europe.info.yml             |  4 +-
 .../joinup_collection.info.yml                |  6 +-
 .../joinup_collection.module                  |  8 +--
 .../JoinupCollectionLeaveController.php       |  2 +-
 .../src/JoinupCollectionHelper.php            |  6 +-
 .../joinup_oss_catalogue.info.yml             |  4 +-
 .../joinup_oss_catalogue.module               |  2 +-
 .../src/Entity/JoinupOssSolution.php          |  2 +-
 ...oinupOssCatalogueImagecacheWarmerQueue.php |  2 +-
 .../osor/static_pages/implementation.html     |  4 +-
 .../joinup_communities/semic/adopters.xml     | 10 +--
 .../joinup_communities/semic/semic.info.yml   |  2 +-
 .../joinup_community_content.info.yml         |  6 +-
 ...ityContentWorkflowAccessControlHandler.php |  2 +-
 .../CommunityContentGroupSubscriber.php       |  2 +-
 .../src/EventSubscriber/EventSubscriber.php   |  2 +-
 .../views/filter/JoinupContentState.php       |  2 +-
 .../CommunityContentWorkflowTestBase.php      |  2 +-
 .../config/schema/joinup_core.schema.yml      |  6 +-
 .../custom/joinup_core/joinup_core.deploy.php |  2 +-
 .../custom/joinup_core/joinup_core.info.yml   |  6 +-
 .../custom/joinup_core/joinup_core.install    |  2 +-
 .../custom/joinup_core/joinup_core.module     |  4 +-
 .../joinup_core/joinup_core.post_update.php   |  2 +-
 .../custom/joinup_core/joinup_core.tokens.inc |  2 +-
 .../custom/joinup_core/src/JoinupVersion.php  |  4 +-
 .../src/JoinupVersionInterface.php            | 10 +--
 .../Plugin/Block/JoinupLocalTasksBlock.php    |  2 +-
 .../src/Plugin/Condition/JoinupContent.php    |  4 +-
 ...ltipleCardinalitySupportingEmailWidget.php |  2 +-
 ...ultipleCardinalitySupportingLinkWidget.php |  2 +-
 ...leCardinalitySupportingTextFieldWidget.php |  2 +-
 .../src/Plugin/Filter/FilterIframe.php        |  2 +-
 .../SocialMediaLinks/Iconset/JoinupIcons.php  |  8 +--
 .../Id/JoinupEntityIdGenerator.php            |  2 +-
 .../joinup_test_etrans.info.yml               |  2 +-
 .../joinup_test_etrans.module                 |  2 +-
 .../joinup_test_time.info.yml                 |  2 +-
 .../BlockContextSatisfactionTest.php          |  6 +-
 .../tests/src/ExistingSite/ConfigTest.php     |  2 +-
 .../tests/src/Kernel/JoinupConfigSyncTest.php |  2 +-
 .../Kernel/Mail/JoinupMailKernelTestBase.php  |  2 +-
 .../src/Kernel/Mail/JoinupUserMailTest.php    |  2 +-
 .../custom/joinup_debug/joinup_debug.info.yml |  4 +-
 .../custom/joinup_debug/joinup_debug.module   |  2 +-
 .../src/Form/SparqlConsoleForm.php            |  2 +-
 .../src/Form/VocabularyIndexForm.php          |  2 +-
 .../joinup_discussion.info.yml                |  4 +-
 .../joinup_discussion.module                  |  2 +-
 .../src/Entity/DiscussionInterface.php        |  2 +-
 .../src/Event/DiscussionEvents.php            |  2 +-
 .../SubscribedDiscussionCommentSubscriber.php | 10 +--
 .../SubscribedDiscussionSubscriber.php        |  8 +--
 .../views/access/DiscussionOverviewAccess.php |  2 +-
 .../joinup_distribution.info.yml              |  2 +-
 .../DistributionGroupSubscriber.php           |  2 +-
 .../src/Form/AnonymousDownloadForm.php        |  2 +-
 .../joinup_document/joinup_document.info.yml  |  6 +-
 .../joinup_document/joinup_document.module    |  2 +-
 .../src/Entity/DocumentInterface.php          |  2 +-
 .../config/schema/joinup_eulogin.schema.yml   |  2 +-
 .../joinup_eulogin/joinup_eulogin.info.yml    |  4 +-
 .../joinup_eulogin/joinup_eulogin.module      |  6 +-
 .../JoinupEuLoginCasEventsSubscriber.php      | 14 ++--
 .../custom/joinup_event/joinup_event.info.yml |  4 +-
 .../custom/joinup_event/joinup_event.module   |  6 +-
 .../src/Entity/EventInterface.php             |  2 +-
 .../joinup_featured/joinup_featured.info.yml  |  4 +-
 .../joinup_featured/joinup_featured.module    |  4 +-
 .../src/FeaturedContentInterface.php          |  2 +-
 .../config/schema/joinup_flag.schema.yml      |  4 +-
 .../custom/joinup_flag/joinup_flag.info.yml   |  4 +-
 .../custom/joinup_flag/joinup_flag.module     |  2 +-
 .../custom/joinup_flag/joinup_flag.views.inc  |  2 +-
 .../processor/JoinupEntityBundle.php          |  2 +-
 .../joinup_front_page.info.yml                |  6 +-
 .../joinup_front_page.module                  |  2 +-
 .../src/Plugin/Block/ExploreBlock.php         |  2 +-
 .../config/schema/joinup_group.schema.yml     |  2 +-
 .../schema/joinup_group.views.schema.yml      |  4 +-
 .../custom/joinup_group/joinup_group.info.yml |  6 +-
 .../custom/joinup_group/joinup_group.install  |  2 +-
 .../custom/joinup_group/joinup_group.module   |  6 +-
 .../joinup_group/joinup_group.views.inc       |  2 +-
 .../src/AnnouncementsAccessTrait.php          |  6 +-
 .../UnpublishedContentPageController.php      |  2 +-
 .../src/Entity/GroupInterface.php             |  6 +-
 .../joinup_group/src/Entity/GroupTrait.php    |  2 +-
 .../Entity/PinnableGroupContentInterface.php  |  2 +-
 .../AnnouncementTransitionSubscriber.php      |  4 +-
 ...oinupGroupPageDisplayVariantSubscriber.php |  2 +-
 .../src/Form/AnnouncementForm.php             |  2 +-
 .../TransferGroupOwnershipConfirmForm.php     |  2 +-
 .../joinup_group/src/Form/UserCancelForm.php  |  2 +-
 .../src/Form/UserMultipleCancelConfirm.php    |  2 +-
 .../joinup_group/src/JoinupGroupHelper.php    |  4 +-
 .../joinup_group/src/JoinupGroupManager.php   |  2 +-
 .../Plugin/Action/DeleteGroupMembership.php   |  2 +-
 .../Action/TransferGroupOwnershipAction.php   |  2 +-
 .../views/access/GroupAnnouncementsAccess.php |  2 +-
 .../JoinupGroupEntityIdValidator.php          |  4 +-
 .../JoinupGroupValidator.php                  |  2 +-
 .../src/Routing/RouteSubscriber.php           |  2 +-
 .../joinup_group_content_management/README.md |  2 +-
 .../joinup_group_content_management.info.yml  |  4 +-
 .../schema/joinup_html_stripper.schema.yml    |  2 +-
 .../joinup_html_stripper.info.yml             |  6 +-
 .../FieldFormatter/StrippedHTMLFormatter.php  |  4 +-
 .../joinup_invite/joinup_invite.info.yml      |  4 +-
 .../custom/joinup_invite/joinup_invite.module |  2 +-
 .../src/Event/InvitationEvents.php            |  2 +-
 .../joinup_invite/src/Form/InviteFormBase.php |  2 +-
 .../joinup_layout/joinup_layout.info.yml      |  6 +-
 .../joinup_layout/joinup_layout.layouts.yml   | 10 +--
 web/modules/custom/joinup_licence/README.md   |  4 +-
 .../joinup_licence/joinup_licence.info.yml    |  4 +-
 .../joinup_licence/joinup_licence.routing.yml |  2 +-
 .../Controller/LicenceComparerController.php  |  6 +-
 .../src/Entity/LicenceLegalTypeInterface.php  |  2 +-
 .../LicenceGroupSubscriber.php                |  2 +-
 .../ParamConverter/SpdxIdsParamConverter.php  |  6 +-
 .../src/Plugin/Block/LicenceFilterBlock.php   |  2 +-
 .../custom/joinup_like/joinup_like.info.yml   |  2 +-
 .../src/Plugin/ActionLink/NodeCountLink.php   |  2 +-
 .../src/Plugin/ActionLink/RdfCountLink.php    |  2 +-
 .../custom/joinup_log/joinup_log.info.yml     |  4 +-
 .../custom/joinup_log/joinup_log.module       |  2 +-
 .../joinup_log/src/Entity/JoinupLog.php       |  4 +-
 .../joinup_log/src/JoinupLogStorage.php       |  4 +-
 .../joinup_log/src/JoinupLogStorageSchema.php |  2 +-
 .../joinup_log/src/JoinupLogViewsData.php     |  2 +-
 .../tests/src/Kernel/JoinupLogEntityTest.php  | 10 +--
 .../config/schema/joinup_media.schema.yml     |  2 +-
 .../custom/joinup_media/joinup_media.info.yml |  4 +-
 .../custom/joinup_media/joinup_media.module   |  2 +-
 .../joinup_media/joinup_media.post_update.php |  2 +-
 .../joinup_media/joinup_media.views.inc       |  2 +-
 .../joinup_media/src/JoinupMediaLibrary.php   |  2 +-
 .../Field/FieldWidget/MediaVideoUrlWidget.php |  2 +-
 .../custom/joinup_menu/joinup_menu.info.yml   |  6 +-
 .../custom/joinup_menu/src/MenuHelper.php     | 12 ++--
 .../joinup_menu/src/MenuHelperInterface.php   |  2 +-
 .../custom/joinup_modal/joinup_modal.info.yml |  6 +-
 .../custom/joinup_news/joinup_news.info.yml   |  4 +-
 .../joinup_news/src/Entity/NewsInterface.php  |  2 +-
 .../joinup_newsletter.info.yml                |  6 +-
 .../joinup_newsletter.module                  |  2 +-
 .../custom/joinup_notification/README.md      |  2 +-
 .../joinup_notification.info.yml              |  4 +-
 .../joinup_notification.module                |  2 +-
 .../src/EntityMessageHelper.php               |  2 +-
 .../src/EventSubscriber/CommentSubscriber.php |  2 +-
 .../OgMembershipSubscriber.php                |  2 +-
 .../src/JoinupMessageDelivery.php             |  2 +-
 .../src/MessageArgumentGenerator.php          |  6 +-
 .../joinup_paragraphs.info.yml                |  6 +-
 .../joinup_paragraphs.module                  |  2 +-
 .../custom/joinup_poll/joinup_poll.info.yml   |  4 +-
 .../custom/joinup_poll/joinup_poll.module     |  2 +-
 .../joinup_publication_date.info.yml          |  4 +-
 .../joinup_publication_date.module            |  2 +-
 .../custom/joinup_rdf/joinup_rdf.deploy.php   |  2 +-
 .../custom/joinup_rdf/joinup_rdf.info.yml     |  6 +-
 .../custom/joinup_rdf/joinup_rdf.install      |  2 +-
 .../custom/joinup_rdf/joinup_rdf.module       |  2 +-
 .../RdfUriGenerator/JoinupRdfUriGenerator.php |  2 +-
 .../joinup_release/joinup_release.info.yml    |  2 +-
 .../joinup_release/joinup_release.module      |  2 +-
 .../src/Entity/ReleaseInterface.php           |  2 +-
 .../ReleaseGroupSubscriber.php                |  2 +-
 ...joinup-release-releases-download.html.twig |  2 +-
 .../joinup_replicate.info.yml                 |  6 +-
 .../joinup_replicate/joinup_replicate.module  |  2 +-
 .../src/RouteSubscriber/RouteSubscriber.php   |  2 +-
 .../custom/joinup_rss/joinup_rss.info.yml     |  6 +-
 .../custom/joinup_rss/joinup_rss.module       |  2 +-
 .../config/schema/joinup_search.schema.yml    |  2 +-
 .../joinup_search/joinup_search.info.yml      |  6 +-
 .../joinup_search/joinup_search.install       |  2 +-
 .../custom/joinup_search/joinup_search.module |  2 +-
 .../joinup_search/joinup_search.views.inc     |  2 +-
 .../search_api_arbitrary_facet.info.yml       |  4 +-
 .../search_api_arbitrary_facet.module         |  2 +-
 .../JoinupGlobalSearchApiAlter.php            |  2 +-
 .../processor/JoinupEntityLatestRevision.php  |  2 +-
 .../JoinupEntityPublishedRevision.php         |  2 +-
 .../processor/JoinupEntityStatus.php          |  2 +-
 .../custom/joinup_seo/joinup_seo.info.yml     |  4 +-
 .../custom/joinup_seo/joinup_seo.module       |  2 +-
 .../UrlGenerator/JoinupEntityUrlGenerator.php |  4 +-
 .../UrlGenerator/JoinupUrlGeneratorBase.php   |  2 +-
 .../joinup_sitewide_alert.info.yml            |  4 +-
 .../joinup_sitewide_alert.module              |  2 +-
 .../custom/joinup_slick/joinup_slick.info.yml |  4 +-
 .../custom/joinup_slick/joinup_slick.module   |  4 +-
 .../joinup_solution/joinup_solution.info.yml  |  2 +-
 .../joinup_solution/joinup_solution.module    |  2 +-
 .../joinup_sparql/joinup_sparql.info.yml      |  6 +-
 .../Database/joinup_sparql/Connection.php     |  2 +-
 .../joinup_content_negotiation_test.info.yml  |  2 +-
 web/modules/custom/joinup_stats/README.md     |  2 +-
 .../config/schema/joinup_stats.schema.yml     |  2 +-
 .../custom/joinup_stats/joinup_stats.info.yml |  4 +-
 .../custom/joinup_stats/joinup_stats.module   |  4 +-
 ...eld.field.node.distribution.access_url.yml |  2 +-
 .../stats_test/joinup_stats_test.info.yml     |  2 +-
 .../stats_test/joinup_stats_test.module       |  2 +-
 .../custom/joinup_subscription/README.md      |  4 +-
 .../schema/joinup_subscription.schema.yml     |  2 +-
 .../joinup_subscription.info.yml              |  4 +-
 .../joinup_subscription.module                |  2 +-
 .../GroupContentSubscriptionSubscriber.php    |  4 +-
 .../src/Form/SubscriptionsForm.php            |  6 +-
 .../src/JoinupDiscussionSubscription.php      |  2 +-
 .../src/JoinupSubscriptionsHelper.php         |  2 +-
 .../Field/FieldType/EntityBundlePairItem.php  |  2 +-
 .../config/schema/joinup_taxonomy.schema.yml  |  2 +-
 .../joinup_taxonomy/joinup_taxonomy.info.yml  |  4 +-
 .../joinup_taxonomy/joinup_taxonomy.module    |  2 +-
 .../custom/joinup_test/joinup_test.info.yml   |  6 +-
 .../custom/joinup_test/joinup_test.install    |  2 +-
 .../custom/joinup_test/joinup_test.module     |  2 +-
 .../JoinupExistingSiteTestBase.php            |  2 +-
 .../tests/src/Kernel/JoinupKernelTestBase.php |  2 +-
 .../custom/joinup_tiles/joinup_tiles.info.yml |  6 +-
 .../custom/joinup_tiles/joinup_tiles.module   |  2 +-
 .../src/Plugin/views/style/Tiles.php          |  2 +-
 .../custom/joinup_tour/joinup_tour.info.yml   |  6 +-
 .../custom/joinup_tour/joinup_tour.module     |  2 +-
 .../custom/joinup_tour/src/TourHelper.php     |  2 +-
 .../joinup_tour/src/TourHelperInterface.php   |  2 +-
 .../config/install/joinup_user.mail.yml       |  4 +-
 .../config/schema/joinup_user.schema.yml      |  4 +-
 .../custom/joinup_user/joinup_user.info.yml   |  4 +-
 .../custom/joinup_user/joinup_user.install    |  2 +-
 .../custom/joinup_user/joinup_user.module     |  4 +-
 .../joinup_user/src/JoinupUserViewsData.php   |  2 +-
 .../src/Plugin/Block/WarningMessageBlock.php  |  2 +-
 .../Plugin/views/field/JoinupUserBulkForm.php |  2 +-
 .../joinup_validation.info.yml                |  6 +-
 .../custom/joinup_video/joinup_video.info.yml |  4 +-
 .../custom/joinup_video/joinup_video.install  |  2 +-
 web/modules/custom/joinup_workflow/README.md  |  2 +-
 .../joinup_workflow/joinup_workflow.info.yml  |  6 +-
 .../joinup_workflow/joinup_workflow.module    |  2 +-
 .../custom/legal/joinup_legal.info.yml        |  4 +-
 web/modules/custom/legal/joinup_legal.install |  2 +-
 web/modules/custom/legal/joinup_legal.module  |  2 +-
 .../custom/moderation/moderation.info.yml     |  2 +-
 .../custom/oe_gisco_geocoding/README.md       |  2 +-
 web/modules/custom/owner/owner.info.yml       |  4 +-
 .../owner/src/Entity/OwnerInterface.php       |  2 +-
 web/modules/custom/solution/solution.info.yml |  2 +-
 .../solution/src/Entity/SolutionInterface.php |  2 +-
 .../SolutionGroupSubscriber.php               |  2 +-
 .../src/Form/ChangeCollectionForm.php         |  2 +-
 .../src/Form/ChangeSolutionStateForm.php      |  2 +-
 .../template_suggestion.info.yml              |  2 +-
 .../topic/src/Entity/TopicInterface.php       |  2 +-
 .../src/Entity/TopicMetaEntityInterface.php   |  2 +-
 .../EventSubscriber/QueryPresetSubscriber.php |  2 +-
 web/modules/custom/topic/topic.info.yml       |  4 +-
 web/modules/custom/topic/topic.views.inc      |  2 +-
 .../custom/whats_new/whats_new.info.yml       |  2 +-
 web/modules/custom/whats_new/whats_new.module |  2 +-
 web/profiles/joinup/joinup.info.yml           |  6 +-
 web/profiles/joinup/joinup.links.menu.yml     |  2 +-
 web/profiles/joinup/joinup.permissions.yml    |  4 +-
 web/profiles/joinup/joinup.profile            |  2 +-
 web/profiles/joinup/joinup.routing.yml        |  4 +-
 .../src/Controller/JoinupController.php       |  2 +-
 web/profiles/joinup/src/JoinupPermissions.php |  4 +-
 .../joinup/src/Routing/RouteSubscriber.php    |  4 +-
 .../joinup-eligibility-criteria.html.twig     | 12 ++--
 .../joinup-modal-close-button.html.twig       |  2 +-
 web/themes/ventuno/README.md                  | 10 +--
 web/themes/ventuno/includes/layout.inc        |  4 +-
 .../ventuno/includes/licence_assistant.inc    |  6 +-
 web/themes/ventuno/includes/rdf_entity.inc    |  2 +-
 .../src/scss/partials/overrides/_colors.scss  |  2 +-
 .../block/block--exposed-search.html.twig     |  2 +-
 .../form/share-content-form.html.twig         |  2 +-
 .../templates/layout/page--home.html.twig     |  2 +-
 .../templates/layout/page--search.html.twig   |  2 +-
 .../message-digest/message-digest.html.twig   |  2 +-
 .../ventuno/templates/parts/footer.html.twig  |  2 +-
 .../patterns/tile/tile.ui_patterns.yml        |  2 +-
 ...il--message-notify--announcement.html.twig |  2 +-
 web/themes/ventuno/ventuno.info.yml           |  2 +-
 494 files changed, 1076 insertions(+), 1076 deletions(-)

diff --git a/.ddev/commands/host/install b/.ddev/commands/host/install
index afad80183b..5b260dbafa 100755
--- a/.ddev/commands/host/install
+++ b/.ddev/commands/host/install
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-## Description: Installs an empty Joinup site
+## Description: Installs an empty Portal site
 ## Usage: install
 ## Example: ddev install
 
diff --git a/.ddev/config.yaml b/.ddev/config.yaml
index bde52af844..e9e88715e2 100644
--- a/.ddev/config.yaml
+++ b/.ddev/config.yaml
@@ -16,7 +16,7 @@ webimage_extra_packages:
     - mime-support
 
 # It's not possible to use fpfis/httpd-php because DDEV is strongly advising
-# against using a non-DDEV image. But this has no impact on the Joinup code runs
+# against using a non-DDEV image. But this has no impact on the Portal code runs
 # in CI/CD or on production.
 # See:
 # - https://ddev.readthedocs.io/en/latest/users/configuration/config/#webimage
diff --git a/.ddev/mysql/joinup.cnf b/.ddev/mysql/joinup.cnf
index e821cade78..7bd1732b87 100644
--- a/.ddev/mysql/joinup.cnf
+++ b/.ddev/mysql/joinup.cnf
@@ -1,4 +1,4 @@
-# Additional tuning for Joinup.
+# Additional tuning for Portal.
 # DDEV setup: https://github.com/ddev/ddev/blob/master/containers/ddev-dbserver/files/etc/my.cnf
 [mysqld]
 innodb_flush_log_at_trx_commit  = 2
diff --git a/.env.dist b/.env.dist
index 16edb79e6a..a49ab562f2 100644
--- a/.env.dist
+++ b/.env.dist
@@ -1,4 +1,4 @@
-# Default environment variables for Joinup.
+# Default environment variables for Portal.
 #
 # Declaring sensitive data in environment variables is an industry standard, as
 # it's a very friendly mechanism for configuring the applications on different
@@ -25,7 +25,7 @@ DRUPAL_PRIVATE_FILE_SYSTEM=../private
 DRUPAL_FILE_TEMP_PATH=../tmp
 DRUPAL_SYSTEM_LOG_ERROR_LEVEL=verbose
 DRUPAL_SITE_PROFILE=joinup
-DRUPAL_SITE_NAME=Joinup
+DRUPAL_SITE_NAME=Portal
 DRUPAL_SITE_MAIL=joinup@example.com
 DRUPAL_ACCOUNT_NAME=admin
 DRUPAL_ACCOUNT_PASSWORD=admin
diff --git a/README.md b/README.md
index 803e7f3c95..18c108cdeb 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
-# Joinup website
+# Portal website
 
 This is the source code for https://interoperable-europe.ec.europa.eu.
 
-Joinup is a collaborative platform created by the European Commission and funded
+Portal is a collaborative platform created by the European Commission and funded
 by the European Union via the [Interoperable Europe](https://interoperable-europe.ec.europa.eu/interoperable-europe)
 Programme.
 
@@ -10,18 +10,18 @@ It offers several services that aim to help e-Government professionals share
 their experience with each other. We also hope to support them to find, choose,
 re-use, develop and implement interoperability solutions.
 
-The Joinup platform is developed as a [Drupal](https://www.drupal.org)
+The Portal platform is developed as a [Drupal](https://www.drupal.org)
 web application, and therefore tries to follow the "open-source way" as much as
 possible.
 
 You are free to fork this project to host your own collaborative platform.
-However, Joinup is not a full reusable solution because it doesn't guarantee
+However, Portal is not a full reusable solution because it doesn't guarantee
 backwards compatibility, nor a full upgrade path between two versions.
 
 If you download and install your own instance, you're responsible for update and
-adapt the code when new Joinup versions are available.
+adapt the code when new Portal versions are available.
 
-Joinup is licensed under the [EUPL](https://interoperable-europe.ec.europa.eu/community/eupl/og_page/eupl),
+Portal is licensed under the [EUPL](https://interoperable-europe.ec.europa.eu/community/eupl/og_page/eupl),
 which is compatible with the GPL.
 
 ## Development
@@ -33,7 +33,7 @@ streamlined and unified development process.
 
 * Make sure you use a good PHP [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment)
   such as [PhpStorm](https://www.jetbrains.com/phpstorm/), [VS Code](https://code.visualstudio.com)
-  or [Eclipse](https://eclipseide.org). Joinup code is complex and needs good
+  or [Eclipse](https://eclipseide.org). Portal code is complex and needs good
   tools.
 * Get familiarised with [DDEV](https://ddev.com). Check the DDEV [documentation](https://ddev.readthedocs.io).
 
@@ -46,7 +46,7 @@ streamlined and unified development process.
 * DDEV is used mostly via CLI commands. [Configure shell completion & autocomplete](https://ddev.readthedocs.io/en/stable/users/install/shell-completion/)
   according to your environment.
 * Configure your IDE to take advantage of the DDEV features. This is a critical
-  step to be able to test and debug your Joinup. Remember, the website
+  step to be able to test and debug your Portal. Remember, the website
   runs inside Docker, so pay attention to these configurations:
   - [PhpStorm Setup](https://ddev.readthedocs.io/en/stable/users/install/phpstorm/)
   - [Configure](https://ddev.readthedocs.io/en/stable/users/debugging-profiling/step-debugging/)
@@ -91,9 +91,9 @@ This will install the PHP and Node dependencies. The codebase is deployed.
 * You should fill the `.env` file environment variables with values. Each
   variable is documented in `.env.example`.
 
-### Install Joinup
+### Install Portal
 
-There are two ways to install Joinup:
+There are two ways to install Portal:
 
 ### Empty site
 
@@ -129,12 +129,12 @@ names, emails, etc. is already sanitized.
 Make sure that you followed the [Configure sensitive data (secrets)](#configure-sensitive-data-secrets)
 section, and you set the `NEXTCLOUD_*` environment variables in `.env` file. The
 values should be provided according to these [instructions](https://webgate.ec.europa.eu/fpfis/qa/how-to?nid=22351).
-These credentials are needed to be able to download the Joinup databases dumps
+These credentials are needed to be able to download the Portal databases dumps
 and snapshots.
 
 #### Download database dump/snapshots
 
-Joinup needs to restore dump/snapshots from three sources: MySQL, Virtuoso and
+Portal needs to restore dump/snapshots from three sources: MySQL, Virtuoso and
 Solr; to be able to rebuild the website with production data:
 
 ```shell
@@ -211,7 +211,7 @@ ddev ssh -s <service>
 
 #### Task runners
 
-Joinup is using two task runners:
+Portal is using two task runners:
 
 * [Drush](https://github.com/drush-ops/drush): This is the official Drupal shell tool.
 * [Toolkit](https://github.com/ec-europa/toolkit): The European Commission PHP runner.
@@ -232,7 +232,7 @@ ddev run <command>
 
 Note that Toolkit uses its own configuration. Few aspects:
 
-* Apart from configuration provided by Toolkit, Joinup exposes its own
+* Apart from configuration provided by Toolkit, Portal exposes its own
   configuration under `resources/runner`.
 * You can override any configuration by creating a `runner.yml` file in the
   project's root directory. Note that this file is not under VCS control.
@@ -279,7 +279,7 @@ Find out more on how to write custom commands [here](https://ddev.readthedocs.io
 
 ### Testing & code quality checks
 
-Testing frameworks used by Joinup:
+Testing frameworks used by Portal:
 
 #### Behat testing
 
@@ -319,7 +319,7 @@ Relies on [nicwortel/behat-unused-step-definitions-extension](https://github.com
 
 #### Static code analysis
 
-Joinup uses GrumPHP, which runs all tasks defined in [grumphp.yml.dist](grumphp.yml.dist).
+Portal uses GrumPHP, which runs all tasks defined in [grumphp.yml.dist](grumphp.yml.dist).
 See [GrumPHP documentation](https://github.com/phpro/grumphp/blob/v2.x/doc/commands.md#run).
 
 * Run all tasks:
@@ -349,7 +349,7 @@ dev:
 
 ### Upgrade process
 
-Joinup offers only _contiguous upgrades_. For details and naming conventions,
+Portal offers only _contiguous upgrades_. For details and naming conventions,
 please read documentation of [ValidUpdateNameSniff](src/CodingStandards/Sniffs/NamingConventions/ValidUpdateNameSniff.php)
 coding standards rule.
 
@@ -361,7 +361,7 @@ For some additional details in our SPARQL related functionality, see our
 ### Mailpit
 
 Mailpit is a tool that allows you to catch all emails sent by the application
-during development. Mailpit is optional, as the default setup of Joinup, is to
+during development. Mailpit is optional, as the default setup of Portal, is to
 use the devel mail server which stores the emails as text messages in the tmp
 directory. However, Mailpit is more convenient to use, as it provides a web UI
 to view the emails.
diff --git a/composer.json b/composer.json
index 9b94c8589c..096fbff028 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,6 @@
 {
     "name": "ec-europa/joinup",
-    "description": "Joinup is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other.",
+    "description": "Portal is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other.",
     "type": "project",
     "license": "EUPL-1.2",
     "require": {
diff --git a/config/sync/autologout.settings.yml b/config/sync/autologout.settings.yml
index f30a876325..6a8beca85a 100644
--- a/config/sync/autologout.settings.yml
+++ b/config/sync/autologout.settings.yml
@@ -21,7 +21,7 @@ jstimer_format: '%hours%:%mins%:%secs%'
 jstimer_js_load_option: false
 use_alt_logout_method: false
 use_watchdog: false
-dialog_title: 'Joinup Alert'
+dialog_title: 'Portal Alert'
 disable_buttons: false
 yes_button: ''
 no_button: ''
diff --git a/config/sync/cas.settings.yml b/config/sync/cas.settings.yml
index 81bd9d0ba6..f122db384d 100644
--- a/config/sync/cas.settings.yml
+++ b/config/sync/cas.settings.yml
@@ -39,7 +39,7 @@ user_accounts:
 error_handling:
   login_failure_page: /
   message_validation_failure: 'There was a problem validating your login, please contact a site administrator.'
-  message_no_local_account: 'Registering new accounts to Joinup is temporarily disabled. Please come back later.'
+  message_no_local_account: 'Registering new accounts to Portal is temporarily disabled. Please come back later.'
   message_subscriber_denied_reg: 'You do not have access to log in to this website. Please contact a site administrator if you believe you should have access.'
   message_subscriber_denied_login: 'You do not have access to log in to this website. Please contact a site administrator if you believe you should have access.'
   message_account_blocked: 'Your account is blocked or has not been activated. Please contact a site administrator.'
diff --git a/config/sync/core.base_field_override.node.news.title.yml b/config/sync/core.base_field_override.node.news.title.yml
index 2f55bf1086..777c8315d7 100644
--- a/config/sync/core.base_field_override.node.news.title.yml
+++ b/config/sync/core.base_field_override.node.news.title.yml
@@ -11,7 +11,7 @@ field_name: title
 entity_type: node
 bundle: news
 label: 'Short title'
-description: 'Add a short title for the news tile, which will be shown on other Joinup pages.'
+description: 'Add a short title for the news tile, which will be shown on other Portal pages.'
 required: true
 translatable: true
 default_value: {  }
diff --git a/config/sync/email_confirmer.settings.yml b/config/sync/email_confirmer.settings.yml
index 91c5fc1477..a0eb082ba3 100644
--- a/config/sync/email_confirmer.settings.yml
+++ b/config/sync/email_confirmer.settings.yml
@@ -7,7 +7,7 @@ resendrequest_delay: 3600
 confirmation_lifetime: 0
 confirmation_request:
   subject: '[site:name] - Please validate your contact details'
-  body: '<p>Dear Joinup user,</p><p>As owner/facilitator, we’re improving your privacy by replacing the publicly visible contact email information with a contact form that users/members can use to reach you.</p><p>Please confirm your email address <strong>[email-confirmer:confirmation-mail]</strong>, which is set in your contact information for the following:</p>[email-confirmer:confirmation-entities]<p><strong><a href="[email-confirmer:confirmation-url]">Confirm your e-mail address</a></strong><p><p>If the link doesn''t work, just copy this URL to your browser:</p><p>[email-confirmer:confirmation-url]</p><p>If you do not validate your email within the next 5 days, you will not be able to receive any messages from users/members.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="https://interoperable-europe.ec.europa.eu/contact" taget="_blank">https://interoperable-europe.ec.europa.eu/contact</a>.</p><p>Best regards,<br />The Joinup Team</p>'
+  body: '<p>Dear Portal user,</p><p>As owner/facilitator, we’re improving your privacy by replacing the publicly visible contact email information with a contact form that users/members can use to reach you.</p><p>Please confirm your email address <strong>[email-confirmer:confirmation-mail]</strong>, which is set in your contact information for the following:</p>[email-confirmer:confirmation-entities]<p><strong><a href="[email-confirmer:confirmation-url]">Confirm your e-mail address</a></strong><p><p>If the link doesn''t work, just copy this URL to your browser:</p><p>[email-confirmer:confirmation-url]</p><p>If you do not validate your email within the next 5 days, you will not be able to receive any messages from users/members.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="https://interoperable-europe.ec.europa.eu/contact" taget="_blank">https://interoperable-europe.ec.europa.eu/contact</a>.</p><p>Best regards,<br />The Portal Team</p>'
 confirmation_response:
   skip_confirmation_form: false
   questions:
diff --git a/config/sync/field.field.entity_subqueue.highlighted_event.link_to_external_url.yml b/config/sync/field.field.entity_subqueue.highlighted_event.link_to_external_url.yml
index b395f92ed3..fdb041e792 100644
--- a/config/sync/field.field.entity_subqueue.highlighted_event.link_to_external_url.yml
+++ b/config/sync/field.field.entity_subqueue.highlighted_event.link_to_external_url.yml
@@ -10,7 +10,7 @@ field_name: link_to_external_url
 entity_type: entity_subqueue
 bundle: highlighted_event
 label: 'Link to external page'
-description: 'Check this to link directly to an external page, such as a registration form. Will link to the event page on Joinup when left unchecked.'
+description: 'Check this to link directly to an external page, such as a registration form. Will link to the event page on Portal when left unchecked.'
 required: false
 translatable: false
 default_value:
diff --git a/config/sync/field.field.node.distribution.access_url.yml b/config/sync/field.field.node.distribution.access_url.yml
index eb792da9d4..3a6e996ebf 100644
--- a/config/sync/field.field.node.distribution.access_url.yml
+++ b/config/sync/field.field.node.distribution.access_url.yml
@@ -17,7 +17,7 @@ field_name: access_url
 entity_type: node
 bundle: distribution
 label: 'Access URL'
-description: 'If the file(s) exist in an external server, you can provide the URL here directly. You can alternatively host your distribution in Joinup by using the Distribution file field above.'
+description: 'If the file(s) exist in an external server, you can provide the URL here directly. You can alternatively host your distribution in Portal by using the Distribution file field above.'
 required: false
 translatable: false
 default_value: {  }
diff --git a/config/sync/field.field.node.distribution.file_size.yml b/config/sync/field.field.node.distribution.file_size.yml
index 15f0a28e73..71f4e73caf 100644
--- a/config/sync/field.field.node.distribution.file_size.yml
+++ b/config/sync/field.field.node.distribution.file_size.yml
@@ -15,7 +15,7 @@ field_name: file_size
 entity_type: node
 bundle: distribution
 label: 'File size'
-description: "Size of the distribution payload file (in KB).\r\nIf the distribution is hosted in Joinup, you can omit this field."
+description: "Size of the distribution payload file (in KB).\r\nIf the distribution is hosted in Portal, you can omit this field."
 required: false
 translatable: false
 default_value: {  }
diff --git a/config/sync/field.field.user.user.field_user_frequency.yml b/config/sync/field.field.user.user.field_user_frequency.yml
index f882afeee4..59c61e516d 100644
--- a/config/sync/field.field.user.user.field_user_frequency.yml
+++ b/config/sync/field.field.user.user.field_user_frequency.yml
@@ -14,7 +14,7 @@ field_name: field_user_frequency
 entity_type: user
 bundle: user
 label: 'Notification frequency'
-description: 'How often do you prefer to receive status updates on new and/or updated content on Joinup?'
+description: 'How often do you prefer to receive status updates on new and/or updated content on Portal?'
 required: true
 translatable: false
 default_value:
diff --git a/config/sync/joinup_user.mail.yml b/config/sync/joinup_user.mail.yml
index b696cbd669..0eac8eba2b 100644
--- a/config/sync/joinup_user.mail.yml
+++ b/config/sync/joinup_user.mail.yml
@@ -4,7 +4,7 @@ email_admin_update:
   body: |-
     Dear [user:display-name],
 
-    A moderator has edited your user profile on Joinup. Please check your profile to verify the changes done.
+    A moderator has edited your user profile on Portal. Please check your profile to verify the changes done.
 
     Kind regards,
 
@@ -14,7 +14,7 @@ password_reset_confirm:
   body: |-
     Dear [user:field_user_first_name],
 
-    Your Joinup password has been successfully changed.
+    Your Portal password has been successfully changed.
 
     Kind regards,
 
diff --git a/config/sync/message.template.cc_delete.yml b/config/sync/message.template.cc_delete.yml
index bb645e0355..40772672f9 100644
--- a/config/sync/message.template.cc_delete.yml
+++ b/config/sync/message.template.cc_delete.yml
@@ -11,7 +11,7 @@ label: 'Community content on Delete'
 description: 'Template id 9'
 text:
   -
-    value: '<p>Joinup: Content has been deleted</p>'
+    value: '<p>Portal: Content has been deleted</p>'
     format: full_html
   -
     value: '<p>@actor:role @actor:field_user_first_name @actor:field_user_family_name has @transition:request_action:past the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title".</p>'
diff --git a/config/sync/message.template.cc_transition_approve_proposed.yml b/config/sync/message.template.cc_transition_approve_proposed.yml
index d0c16ba45f..13ca613e18 100644
--- a/config/sync/message.template.cc_transition_approve_proposed.yml
+++ b/config/sync/message.template.cc_transition_approve_proposed.yml
@@ -11,7 +11,7 @@ label: 'Community content on Approve proposed'
 description: 'Template id 6'
 text:
   -
-    value: '<p>Joinup: Content has been updated</p>'
+    value: '<p>Portal: Content has been updated</p>'
     format: full_html
   -
     value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has approved your request of publication of the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title".</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p>'
diff --git a/config/sync/message.template.cc_transition_propose.yml b/config/sync/message.template.cc_transition_propose.yml
index 2ffd68f991..98e9331794 100644
--- a/config/sync/message.template.cc_transition_propose.yml
+++ b/config/sync/message.template.cc_transition_propose.yml
@@ -11,7 +11,7 @@ label: 'Community content on Propose'
 description: 'Template id 3'
 text:
   -
-    value: '<p>Joinup: Content has been proposed</p>'
+    value: '<p>Portal: Content has been proposed</p>'
     format: full_html
   -
     value: '<p>@actor:full_name has submitted @entity:hasPublished:status @entity:bundle - "@entity:title" for publication in the @group:bundle: "@group:title".</p><p>You can access the proposed new content at the following link: <a href="@entity:url">@entity:url</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
diff --git a/config/sync/message.template.cc_transition_propose_reported.yml b/config/sync/message.template.cc_transition_propose_reported.yml
index a0f7847059..f3b02054da 100644
--- a/config/sync/message.template.cc_transition_propose_reported.yml
+++ b/config/sync/message.template.cc_transition_propose_reported.yml
@@ -11,7 +11,7 @@ label: 'Community content on Propose reported'
 description: 'Template id 10'
 text:
   -
-    value: '<p>Joinup: Content has been updated</p>'
+    value: '<p>Portal: Content has been updated</p>'
     format: full_html
   -
     value: '<p>@actor:field_user_first_name @actor:field_user_family_name has updated the content of the @entity:bundle - "@entity:title" as advised and requests again its publication in the @group:bundle: "@group:title".</p><p>You can access the proposed new content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
diff --git a/config/sync/message.template.cc_transition_publish.yml b/config/sync/message.template.cc_transition_publish.yml
index 77e5c36957..8653b842e1 100644
--- a/config/sync/message.template.cc_transition_publish.yml
+++ b/config/sync/message.template.cc_transition_publish.yml
@@ -11,7 +11,7 @@ label: 'Community content on Publish'
 description: 'Template id 1, 2'
 text:
   -
-    value: '<p>Joinup: Content has been published</p>'
+    value: '<p>Portal: Content has been published</p>'
     format: full_html
   -
     value: '<p>@actor:full_name has published the new @entity:bundle - "@entity:title" in the @group:bundle: "@group:title".</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a></p>'
diff --git a/config/sync/message.template.cc_transition_reject_deletion.yml b/config/sync/message.template.cc_transition_reject_deletion.yml
index 0d78dddd8c..67ec069ad9 100644
--- a/config/sync/message.template.cc_transition_reject_deletion.yml
+++ b/config/sync/message.template.cc_transition_reject_deletion.yml
@@ -11,7 +11,7 @@ label: 'Community content on Reject deletion'
 description: 'Template id 8'
 text:
   -
-    value: '<p>Joinup: Content has been updated</p>'
+    value: '<p>Portal: Content has been updated</p>'
     format: full_html
   -
     value: 'the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has not approved your request to delete the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".'
diff --git a/config/sync/message.template.cc_transition_report.yml b/config/sync/message.template.cc_transition_report.yml
index 3601ea3c1b..443dafd0a5 100644
--- a/config/sync/message.template.cc_transition_report.yml
+++ b/config/sync/message.template.cc_transition_report.yml
@@ -11,7 +11,7 @@ label: 'Community content on Report'
 description: 'Template id 5'
 text:
   -
-    value: '<p>Joinup: Content has been updated</p>'
+    value: '<p>Portal: Content has been updated</p>'
     format: full_html
   -
     value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has requested you to modify the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", following the following advises: "@transition:motivation".</p><p>Your content has been moved back to "Needs update" state; you may modify it and request it to be published again.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
diff --git a/config/sync/message.template.cc_transition_request_changes.yml b/config/sync/message.template.cc_transition_request_changes.yml
index 9d7477603f..f38a7b5f87 100644
--- a/config/sync/message.template.cc_transition_request_changes.yml
+++ b/config/sync/message.template.cc_transition_request_changes.yml
@@ -11,7 +11,7 @@ label: 'Community content on Request changes'
 description: 'Template id 4'
 text:
   -
-    value: '<p>Joinup: Content has been updated</p>'
+    value: '<p>Portal: Content has been updated</p>'
     format: full_html
   -
     value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has requested you to modify the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".</p><p>Your content has been moved back to "Proposed" state; you may modify it and request it to be published again.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
diff --git a/config/sync/message.template.cc_transition_request_deletion.yml b/config/sync/message.template.cc_transition_request_deletion.yml
index 26e17f0479..025c0ef962 100644
--- a/config/sync/message.template.cc_transition_request_deletion.yml
+++ b/config/sync/message.template.cc_transition_request_deletion.yml
@@ -11,7 +11,7 @@ label: 'Community content on Request deletion'
 description: 'Template id 7'
 text:
   -
-    value: '<p>Joinup: Content has been updated</p>'
+    value: '<p>Portal: Content has been updated</p>'
     format: full_html
   -
     value: '<p>@actor:full_name has requested to delete the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
diff --git a/config/sync/message.template.col_deletion_by_moderator.yml b/config/sync/message.template.col_deletion_by_moderator.yml
index 125c4c95f4..a2f86537f4 100644
--- a/config/sync/message.template.col_deletion_by_moderator.yml
+++ b/config/sync/message.template.col_deletion_by_moderator.yml
@@ -9,10 +9,10 @@ label: 'Collection deleted by moderator'
 description: 'Moderator deletes a collection'
 text:
   -
-    value: 'Joinup: Your collection has been deleted by the moderation team'
+    value: 'Portal: Your collection has been deleted by the moderation team'
     format: full_html
   -
-    value: '<p>The Joinup moderation team deleted the collection @entity:title.</p>'
+    value: '<p>The Portal moderation team deleted the collection @entity:title.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.collection_membership_invitation.yml b/config/sync/message.template.collection_membership_invitation.yml
index aba520d12c..f222ede0fc 100644
--- a/config/sync/message.template.collection_membership_invitation.yml
+++ b/config/sync/message.template.collection_membership_invitation.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>Invitation from @actor:full_name to join @entity:bundle @entity:title.<p>'
     format: full_html
   -
-    value: "You have been invited by @actor:full_name to join <a href=\"@entity:url\">@entity:title</a> as a @invitation:role.\r\nIf you wish to do so, you can click <a href=\"@invitation:accept_url\">@invitation:accept_url</a>, or follow the abovementioned link to enter the collection’s space and then click on the JOIN button, which is located in the banner area.\r\nLast, don’t forget that as a member you can take advantage of Joinup's subscription notifications, and receive updates when new content is published."
+    value: "You have been invited by @actor:full_name to join <a href=\"@entity:url\">@entity:title</a> as a @invitation:role.\r\nIf you wish to do so, you can click <a href=\"@invitation:accept_url\">@invitation:accept_url</a>, or follow the abovementioned link to enter the collection’s space and then click on the JOIN button, which is located in the banner area.\r\nLast, don’t forget that as a member you can take advantage of Portal's subscription notifications, and receive updates when new content is published."
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.comment_create.yml b/config/sync/message.template.comment_create.yml
index 2d9bfe36de..3d6bc72dff 100644
--- a/config/sync/message.template.comment_create.yml
+++ b/config/sync/message.template.comment_create.yml
@@ -11,7 +11,7 @@ label: 'Comment create'
 description: 'Sent when a comment is created.'
 text:
   -
-    value: '<p>Joinup: A new comment has been created.</p>'
+    value: '<p>Portal: A new comment has been created.</p>'
     format: full_html
   -
     value: '<p>@actor:full_name posted a comment in @group:bundle "@group:title".</p><p>To view the comment click <a href="@entity:url">here</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
diff --git a/config/sync/message.template.comment_delete.yml b/config/sync/message.template.comment_delete.yml
index ed856505a7..1b378c1870 100644
--- a/config/sync/message.template.comment_delete.yml
+++ b/config/sync/message.template.comment_delete.yml
@@ -11,7 +11,7 @@ label: 'Comment delete'
 description: 'Sent when a comment is deleted.'
 text:
   -
-    value: '<p>Joinup: Your comment has been deleted.</p>'
+    value: '<p>Portal: Your comment has been deleted.</p>'
     format: full_html
   -
     value: '<p>@actor:full_name deleted your comment in "@parent:title".</p><p>To avoid comment moderation in the future, please read our community guidelines at <a href="@site:legal_notice_url">@site:legal_notice_url</a>.</p>'
diff --git a/config/sync/message.template.comment_update.yml b/config/sync/message.template.comment_update.yml
index bb26288099..d521102b02 100644
--- a/config/sync/message.template.comment_update.yml
+++ b/config/sync/message.template.comment_update.yml
@@ -11,7 +11,7 @@ label: 'Comment update'
 description: 'Sent when a comment is updated.'
 text:
   -
-    value: '<p>Joinup: A comment has been updated.</p>'
+    value: '<p>Portal: A comment has been updated.</p>'
     format: full_html
   -
     value: '<p>@actor:full_name updated the comment in "<a href="@entity:url">@parent:title</a>".</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
diff --git a/config/sync/message.template.contact_form_submission.yml b/config/sync/message.template.contact_form_submission.yml
index 5bd920a917..d7ae0a6a3a 100644
--- a/config/sync/message.template.contact_form_submission.yml
+++ b/config/sync/message.template.contact_form_submission.yml
@@ -9,7 +9,7 @@ label: 'Contact form submission'
 description: 'Message to the moderators when the contact form is submitted.'
 text:
   -
-    value: '<p>Joinup - Contact form submission</p>'
+    value: '<p>Portal - Contact form submission</p>'
     format: content_editor
 settings:
   'token options':
diff --git a/config/sync/message.template.discussion_comment_new.yml b/config/sync/message.template.discussion_comment_new.yml
index d561be56fb..79288f7f8e 100644
--- a/config/sync/message.template.discussion_comment_new.yml
+++ b/config/sync/message.template.discussion_comment_new.yml
@@ -9,7 +9,7 @@ label: 'Notify discussion subscribers on new comment'
 description: 'Message sent to subscribers of a discussion when a new comment is posted'
 text:
   -
-    value: 'Joinup: User @comment:author:username posted a comment in discussion "@entity:title"'
+    value: 'Portal: User @comment:author:username posted a comment in discussion "@entity:title"'
     format: full_html
   -
     value: '<p>@comment:author:username has posted a comment on discussion "@entity:title" in "@group:title" @group:bundle.</p><p>To view the comment, click <a href="@entity:url">@entity:url</a>.</p>'
diff --git a/config/sync/message.template.discussion_delete.yml b/config/sync/message.template.discussion_delete.yml
index 52f1f9e189..f6a74a0f6a 100644
--- a/config/sync/message.template.discussion_delete.yml
+++ b/config/sync/message.template.discussion_delete.yml
@@ -9,7 +9,7 @@ label: 'Discussion deletion'
 description: 'Sent when a discussion has been deleted.'
 text:
   -
-    value: 'Joinup: The discussion "@entity:title" was deleted in the space of "@group:title"'
+    value: 'Portal: The discussion "@entity:title" was deleted in the space of "@group:title"'
     format: full_html
   -
     value: 'for your information, the discussion "@entity:title" was deleted from the "@group:title" @group:bundle.'
diff --git a/config/sync/message.template.discussion_invite.yml b/config/sync/message.template.discussion_invite.yml
index 6afa6e332f..16ff0de224 100644
--- a/config/sync/message.template.discussion_invite.yml
+++ b/config/sync/message.template.discussion_invite.yml
@@ -9,10 +9,10 @@ label: 'Discussion invitation'
 description: 'Sent when a user is invited to subscribe to a discussion.'
 text:
   -
-    value: '<p>@actor:full_name invited you to follow a discussion on Joinup.</p>'
+    value: '<p>@actor:full_name invited you to follow a discussion on Portal.</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name invited you to participate in the discussion <a href="@entity:url"><em>@entity:title</em></a> on Joinup.</p><p>If you are interested please <a href="@invitation:accept_url">accept the invitation</a>.</p><p>By accepting the invitation you will be following the discussion and you will be notified when other users post comments. You can unfollow at any time by clicking the "Unfollow" button on the discussion page.</p>'
+    value: '<p>@actor:full_name invited you to participate in the discussion <a href="@entity:url"><em>@entity:title</em></a> on Portal.</p><p>If you are interested please <a href="@invitation:accept_url">accept the invitation</a>.</p><p>By accepting the invitation you will be following the discussion and you will be notified when other users post comments. You can unfollow at any time by clicking the "Unfollow" button on the discussion page.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.discussion_updated.yml b/config/sync/message.template.discussion_updated.yml
index be5486d567..f2cffa7864 100644
--- a/config/sync/message.template.discussion_updated.yml
+++ b/config/sync/message.template.discussion_updated.yml
@@ -9,7 +9,7 @@ label: 'Notify discussion subscribers on discussion update'
 description: 'Message sent to subscribers of a discussion when a discussion is updated'
 text:
   -
-    value: 'Joinup: The discussion "@entity:title" was updated in the space of "@group:title"'
+    value: 'Portal: The discussion "@entity:title" was updated in the space of "@group:title"'
     format: full_html
   -
     value: '<p>The discussion "@entity:title" was updated in the "@group:title" @group:bundle.</p><p>To view the discussion, click @entity:url.</p>'
diff --git a/config/sync/message.template.distribution_delete.yml b/config/sync/message.template.distribution_delete.yml
index 7adb76fce1..ded23c7852 100644
--- a/config/sync/message.template.distribution_delete.yml
+++ b/config/sync/message.template.distribution_delete.yml
@@ -11,7 +11,7 @@ label: 'Solution distribution delete'
 description: 'Template 22: Distribution delete'
 text:
   -
-    value: 'Joinup: A distribution has been deleted'
+    value: 'Portal: A distribution has been deleted'
     format: full_html
   -
     value: 'The distribution @entity:title @release:info:with_version of the solution @group:title was successfully deleted.'
diff --git a/config/sync/message.template.distribution_update.yml b/config/sync/message.template.distribution_update.yml
index c5f0fd5663..5231817071 100644
--- a/config/sync/message.template.distribution_update.yml
+++ b/config/sync/message.template.distribution_update.yml
@@ -11,7 +11,7 @@ label: 'Solution distribution update'
 description: 'Template 21: Distribution update'
 text:
   -
-    value: 'Joinup: A distribution has been updated'
+    value: 'Portal: A distribution has been updated'
     format: full_html
   -
     value: 'The distribution @entity:title @release:info:with_version of the solution @group:title was successfully updated.'
diff --git a/config/sync/message.template.og_membership_approve.yml b/config/sync/message.template.og_membership_approve.yml
index ee5ec4a28b..045da0da48 100644
--- a/config/sync/message.template.og_membership_approve.yml
+++ b/config/sync/message.template.og_membership_approve.yml
@@ -9,7 +9,7 @@ label: 'Group membership approval'
 description: 'Group privileged user approves a membership request.'
 text:
   -
-    value: '<p>Joinup: Your request to join the @entity:bundle @entity:title was approved</p>'
+    value: '<p>Portal: Your request to join the @entity:bundle @entity:title was approved</p>'
     format: full_html
   -
     value: '<p>@actor:full_name has approved your request to join the "@entity:title" @entity:bundle.</p>'
diff --git a/config/sync/message.template.og_membership_reject.yml b/config/sync/message.template.og_membership_reject.yml
index ff5ae4a1f6..b3b3f842fc 100644
--- a/config/sync/message.template.og_membership_reject.yml
+++ b/config/sync/message.template.og_membership_reject.yml
@@ -9,7 +9,7 @@ label: 'Group membership rejection'
 description: 'Group privileged user rejects a membership request.'
 text:
   -
-    value: '<p>Joinup: Your request to join the @entity:bundle @entity:title was rejected</p>'
+    value: '<p>Portal: Your request to join the @entity:bundle @entity:title was rejected</p>'
     format: full_html
   -
     value: '<p>@actor:full_name has rejected your request to join the "@entity:title" @entity:bundle.</p>'
diff --git a/config/sync/message.template.og_membership_request.yml b/config/sync/message.template.og_membership_request.yml
index fd5c96cba8..ac835af143 100644
--- a/config/sync/message.template.og_membership_request.yml
+++ b/config/sync/message.template.og_membership_request.yml
@@ -9,7 +9,7 @@ label: 'Group membership request'
 description: 'A user requests to join a closed collection.'
 text:
   -
-    value: '<p>Joinup: A user has requested to join your collection</p>'
+    value: '<p>Portal: A user has requested to join your collection</p>'
     format: full_html
   -
     value: '<p>@actor:full_name has requested to join your @entity:bundle "@entity:title" as a member.</p><p>To approve or reject this request, click on <a href="@group:members_page:url">@group:members_page:url</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
diff --git a/config/sync/message.template.og_membership_subscribed_approve.yml b/config/sync/message.template.og_membership_subscribed_approve.yml
index ce891d744c..9f99ca6ae4 100644
--- a/config/sync/message.template.og_membership_subscribed_approve.yml
+++ b/config/sync/message.template.og_membership_subscribed_approve.yml
@@ -9,7 +9,7 @@ label: 'Group membership approval with subscription'
 description: 'Group privileged user accepts a membership request that is also subscribed.'
 text:
   -
-    value: '<p>Joinup: Your request to join the @entity:bundle @entity:title was approved</p>'
+    value: '<p>Portal: Your request to join the @entity:bundle @entity:title was approved</p>'
     format: full_html
   -
     value: '<p>@actor:full_name has approved your request to join and subscribe to the "@entity:title" @entity:bundle.</p><p>You will receive weekly notifications for newly created content on this collection.<br /> To manage your notifications go to "<a href="@user:my_subscriptions">My subscriptions</a>" in the user menu.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
diff --git a/config/sync/message.template.release_approve_proposed.yml b/config/sync/message.template.release_approve_proposed.yml
index 37090b475f..abb7dd59b0 100644
--- a/config/sync/message.template.release_approve_proposed.yml
+++ b/config/sync/message.template.release_approve_proposed.yml
@@ -11,7 +11,7 @@ label: 'Solution release approve proposed'
 description: 'Template 20: The solution release'
 text:
   -
-    value: 'Joinup: Your release was accepted'
+    value: 'Portal: Your release was accepted'
     format: full_html
   -
     value: '<p>Your proposed @entity:title, @entity:release_number for the solution "@group:title" has been validated as per your request.</p>'
diff --git a/config/sync/message.template.release_delete.yml b/config/sync/message.template.release_delete.yml
index 90851b81f7..39fc36fa0e 100644
--- a/config/sync/message.template.release_delete.yml
+++ b/config/sync/message.template.release_delete.yml
@@ -11,7 +11,7 @@ label: 'Solution release delete'
 description: 'Template 19: Deletion of release'
 text:
   -
-    value: 'Joinup: A release has been deleted'
+    value: 'Portal: A release has been deleted'
     format: full_html
   -
     value: '<p>release @entity:title, @entity:release_number of @group:title solution was deleted.</p>'
diff --git a/config/sync/message.template.release_request_changes.yml b/config/sync/message.template.release_request_changes.yml
index 7e67bf0d1b..55e9738b74 100644
--- a/config/sync/message.template.release_request_changes.yml
+++ b/config/sync/message.template.release_request_changes.yml
@@ -11,10 +11,10 @@ label: 'Solution release request changes'
 description: 'Template 23: Solution release request changes'
 text:
   -
-    value: 'Joinup: Modification of a release of your solution has been requested'
+    value: 'Portal: Modification of a release of your solution has been requested'
     format: full_html
   -
-    value: '<p>the Joinup moderation team requires editing the release @entity:title, @entity:release_number of the solution @group:title due to @transition:motivation.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>the Portal moderation team requires editing the release @entity:title, @entity:release_number of the solution @group:title due to @transition:motivation.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.release_update.yml b/config/sync/message.template.release_update.yml
index f930e5c2d3..5b2c073a70 100644
--- a/config/sync/message.template.release_update.yml
+++ b/config/sync/message.template.release_update.yml
@@ -11,7 +11,7 @@ label: 'Solution release update'
 description: 'Template 18: Solution release update'
 text:
   -
-    value: 'Joinup: A release has been updated'
+    value: 'Portal: A release has been updated'
     format: full_html
   -
     value: '<p>The release @entity:title, @entity:release_number of the solution @group:title was updated.</p>'
diff --git a/config/sync/message.template.report_contact_form.yml b/config/sync/message.template.report_contact_form.yml
index e8f7f88f56..42d834c4de 100644
--- a/config/sync/message.template.report_contact_form.yml
+++ b/config/sync/message.template.report_contact_form.yml
@@ -9,7 +9,7 @@ label: 'Report contact form'
 description: 'The message template for reporting content'
 text:
   -
-    value: '<p>Joinup: @message:subject</p>'
+    value: '<p>Portal: @message:subject</p>'
     format: content_editor
   -
     value: |-
diff --git a/config/sync/message.template.sol_approve_proposed.yml b/config/sync/message.template.sol_approve_proposed.yml
index 2df17b32cc..1751fa9d4a 100644
--- a/config/sync/message.template.sol_approve_proposed.yml
+++ b/config/sync/message.template.sol_approve_proposed.yml
@@ -9,7 +9,7 @@ label: 'Solution approved proposed'
 description: 'Template 2: Moderator accept proposed solution'
 text:
   -
-    value: 'Joinup: Your solution has been accepted'
+    value: 'Portal: Your solution has been accepted'
     format: full_html
   -
     value: '<p>Your proposed interoperability solution: "@entity:title" has been validated as per your request.</p>'
diff --git a/config/sync/message.template.sol_blacklist.yml b/config/sync/message.template.sol_blacklist.yml
index e67bff0a25..bed28a8c0e 100644
--- a/config/sync/message.template.sol_blacklist.yml
+++ b/config/sync/message.template.sol_blacklist.yml
@@ -9,7 +9,7 @@ label: 'Solution blacklist'
 description: 'Template 13: Blacklist a solution'
 text:
   -
-    value: 'Joinup: Your interoperability solution is blacklisted'
+    value: 'Portal: Your interoperability solution is blacklisted'
     format: full_html
   -
     value: |-
diff --git a/config/sync/message.template.sol_deletion_by_moderator.yml b/config/sync/message.template.sol_deletion_by_moderator.yml
index b8e68be31a..a202ed5c53 100644
--- a/config/sync/message.template.sol_deletion_by_moderator.yml
+++ b/config/sync/message.template.sol_deletion_by_moderator.yml
@@ -9,10 +9,10 @@ label: 'Solution deleted by moderator'
 description: 'Template 17: Moderator deletes a solution'
 text:
   -
-    value: 'Joinup: Your solution has been deleted by the moderation team'
+    value: 'Portal: Your solution has been deleted by the moderation team'
     format: full_html
   -
-    value: '<p>The Joinup moderation team deleted the interoperability solution @entity:title.</p>'
+    value: '<p>The Portal moderation team deleted the interoperability solution @entity:title.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_propose_changes.yml b/config/sync/message.template.sol_propose_changes.yml
index 42f0152365..8b82d65237 100644
--- a/config/sync/message.template.sol_propose_changes.yml
+++ b/config/sync/message.template.sol_propose_changes.yml
@@ -11,7 +11,7 @@ label: 'Solution propose changes'
 description: 'Template 7: A moderator proposed changes to a solution'
 text:
   -
-    value: 'Joinup: Changes have been proposed for your solution'
+    value: 'Portal: Changes have been proposed for your solution'
     format: full_html
   -
     value: '<p>@actor:full_name has requested you to modify the interoperability solution "@entity:title", with the following motivation: @transition:motivation.</p><p>Your content has been moved back in proposed state and you can update it and request a new publication.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
diff --git a/config/sync/message.template.sol_propose_new.yml b/config/sync/message.template.sol_propose_new.yml
index 5079682ac7..01fdfc3df9 100644
--- a/config/sync/message.template.sol_propose_new.yml
+++ b/config/sync/message.template.sol_propose_new.yml
@@ -11,10 +11,10 @@ label: 'Solution propose new'
 description: 'Template 1: Propose new solution'
 text:
   -
-    value: 'Joinup: A new solution has been proposed'
+    value: 'Portal: A new solution has been proposed'
     format: full_html
   -
-    value: '<p>@actor:full_name has proposed a new Interoperability solution: "@entity:title" on Joinup.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has proposed a new Interoperability solution: "@entity:title" on Portal.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_propose_requested_changes.yml b/config/sync/message.template.sol_propose_requested_changes.yml
index e3a904dd74..092a7c877e 100644
--- a/config/sync/message.template.sol_propose_requested_changes.yml
+++ b/config/sync/message.template.sol_propose_requested_changes.yml
@@ -11,10 +11,10 @@ label: 'Solution propose cahnges - Owner'
 description: "Template 16: Propose changes from 'request changes' state"
 text:
   -
-    value: 'Joinup: An update of a solution has been proposed'
+    value: 'Portal: An update of a solution has been proposed'
     format: full_html
   -
-    value: '<p>@actor:full_name has proposed an update of the Interoperability solution: "@entity:title" on Joinup.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has proposed an update of the Interoperability solution: "@entity:title" on Portal.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_publish_backlisted.yml b/config/sync/message.template.sol_publish_backlisted.yml
index 2c979a7243..bf3bb5d8bf 100644
--- a/config/sync/message.template.sol_publish_backlisted.yml
+++ b/config/sync/message.template.sol_publish_backlisted.yml
@@ -11,7 +11,7 @@ label: 'Solution published from blacklisted state'
 description: 'Template 14: Publish a blacklisted solution'
 text:
   -
-    value: 'Joinup: Your interoperability solution is published again'
+    value: 'Portal: Your interoperability solution is published again'
     format: full_html
   -
     value: '<p>the moderator has published back your interoperability solution - @entity:title that was blacklisted.</p>'
diff --git a/config/sync/message.template.sol_request_changes.yml b/config/sync/message.template.sol_request_changes.yml
index 3792ac2409..a05ea3b6fc 100644
--- a/config/sync/message.template.sol_request_changes.yml
+++ b/config/sync/message.template.sol_request_changes.yml
@@ -11,7 +11,7 @@ label: 'Solution request changes'
 description: 'Template 15: Moderator requests changes'
 text:
   -
-    value: 'Joinup: You are requested to update your solution'
+    value: 'Portal: You are requested to update your solution'
     format: full_html
   -
     value: '<p>the moderator has requested you to modify the interoperability solution - @entity:title following the following advises: @transition:motivation.</p><p>Your content has been moved back in needs updates state and you can update it and request a new publication.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
diff --git a/config/sync/metatag.metatag_defaults.front.yml b/config/sync/metatag.metatag_defaults.front.yml
index 092238de47..639dfe8c6b 100644
--- a/config/sync/metatag.metatag_defaults.front.yml
+++ b/config/sync/metatag.metatag_defaults.front.yml
@@ -10,7 +10,7 @@ tags:
   shortlink: '[site:url]'
   title: '[site:name]'
   canonical_url: '[site:url]'
-  description: 'Joinup is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability solutions for public administrations, businesses and citizens (ISA2) Programme.'
-  abstract: 'Joinup offers several services that aim to help e-Government professionals share their experience with each other. We also hope to support them to find, choose, re-use, develop and implement interoperability solutions.'
+  description: 'Portal is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability solutions for public administrations, businesses and citizens (ISA2) Programme.'
+  abstract: 'Portal offers several services that aim to help e-Government professionals share their experience with each other. We also hope to support them to find, choose, re-use, develop and implement interoperability solutions.'
   og_url: '[site:url]'
   og_title: '[site:name]'
diff --git a/config/sync/node.type.solution.yml b/config/sync/node.type.solution.yml
index 38245a6997..29638a74ac 100644
--- a/config/sync/node.type.solution.yml
+++ b/config/sync/node.type.solution.yml
@@ -22,7 +22,7 @@ label_plural: null
 label_count: null
 name: Solution
 type: solution
-description: 'A solution on Joinup is a framework, tool, or service either hosted directly on Joinup or federated from third-party repositories.'
+description: 'A solution on Portal is a framework, tool, or service either hosted directly on Portal or federated from third-party repositories.'
 help: null
 new_revision: true
 preview_mode: 1
diff --git a/config/sync/page_manager.page.homepage.yml b/config/sync/page_manager.page.homepage.yml
index 49947b34c4..7259c35760 100644
--- a/config/sync/page_manager.page.homepage.yml
+++ b/config/sync/page_manager.page.homepage.yml
@@ -4,7 +4,7 @@ status: true
 dependencies: {  }
 id: homepage
 label: Homepage
-description: 'The Joinup homepage. This consists of two variants: the Layout Builder variant contains the content that is constructed with the Layout Builder module and is shown in the main content region. The second variant is used to render the About section which appears in a dedicated region on the homepage. This is never invoked by the Page Manager but is injected in the homepage template `page--home.html.twig`. See `ventuno_preprocess_page__home()`.'
+description: 'The Portal homepage. This consists of two variants: the Layout Builder variant contains the content that is constructed with the Layout Builder module and is shown in the main content region. The second variant is used to render the About section which appears in a dedicated region on the homepage. This is never invoked by the Page Manager but is injected in the homepage template `page--home.html.twig`. See `ventuno_preprocess_page__home()`.'
 use_admin_theme: false
 path: /home
 access_logic: and
diff --git a/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml b/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml
index f3ec6a1bd9..bfd0078af5 100644
--- a/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml
+++ b/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml
@@ -136,11 +136,11 @@ variant_settings:
           region: first
           configuration:
             id: custom_markup
-            label: "What's Joinup about?"
+            label: "What's Portal about?"
             label_display: '0'
             provider: custom_markup_block
             markup:
-              value: "<h2>What's Joinup</h2>\r\n<p>The Joinup platform is the European Commission's one-stop shop for interoperable, open, and free digital government ICT solutions and an online space for e-Government professionals and enthusiasts to share and learn about digital public services and initiatives.</p>\r\n<p><strong>Joinup covers the hands-on aspects of interoperability.</strong></p>\r\n"
+              value: "<h2>What's Portal</h2>\r\n<p>The Portal platform is the European Commission's one-stop shop for interoperable, open, and free digital government ICT solutions and an online space for e-Government professionals and enthusiasts to share and learn about digital public services and initiatives.</p>\r\n<p><strong>Portal covers the hands-on aspects of interoperability.</strong></p>\r\n"
               format: full_html
           weight: 0
           additional:
@@ -225,7 +225,7 @@ variant_settings:
           region: third
           configuration:
             id: custom_markup
-            label: 'New Joinup video'
+            label: 'New Portal video'
             label_display: '0'
             provider: custom_markup_block
             context_mapping: {  }
diff --git a/config/sync/rdf_entity.rdfentity.solution.yml b/config/sync/rdf_entity.rdfentity.solution.yml
index 0859f01a6a..91c64962b0 100644
--- a/config/sync/rdf_entity.rdfentity.solution.yml
+++ b/config/sync/rdf_entity.rdfentity.solution.yml
@@ -10,4 +10,4 @@ label_count:
   no_count_capitalize: !!binary U29sdXRpb24DU29sdXRpb25z
 name: Solution
 rid: solution
-description: 'A Solution on Joinup is a framework, tool, or service either hosted directly on Joinup or federated from third-party repositories.'
+description: 'A Solution on Portal is a framework, tool, or service either hosted directly on Portal or federated from third-party repositories.'
diff --git a/config/sync/search_api.server.joinup.yml b/config/sync/search_api.server.joinup.yml
index 5a0533daa6..69b669cd9a 100644
--- a/config/sync/search_api.server.joinup.yml
+++ b/config/sync/search_api.server.joinup.yml
@@ -41,7 +41,7 @@ dependencies:
   module:
     - search_api_solr
 id: joinup
-name: 'Joinup Search API Server'
+name: 'Portal Search API Server'
 description: ''
 backend: search_api_solr
 backend_config:
diff --git a/config/sync/simple_block.simple_block.collection_tca.yml b/config/sync/simple_block.simple_block.collection_tca.yml
index 61483f3c67..f675a82eb1 100644
--- a/config/sync/simple_block.simple_block.collection_tca.yml
+++ b/config/sync/simple_block.simple_block.collection_tca.yml
@@ -7,5 +7,5 @@ dependencies:
 id: collection_tca
 title: 'Collection Terms of Agreement'
 content:
-  value: "<p>Joinup Collections are spaces where you can collaborate with others sharing your same interests around a certain domain, and contain all the contents of any kind related to that domain (solutions, news, newsletters and announcements of events and documents of various kinds).</p>\r\n\r\n<h2>How Collections work</h2>\r\n\r\n<p>Actions you can take as a collection owner:</p>\r\n\r\n<ul>\r\n\t<li>Choose who can see and join your Collection, if you create it with restricted membership conditions;</li>\r\n\t<li>Add other people as moderators and owners of the Collection;</li>\r\n\t<li>Accept or reject users' proposal to add their solution your collection, based on relevance and <a href=\"[site:url]joinup/eligibility-criteria\">eligibility criteria</a>;</li>\r\n\t<li>Remove members from your Collection;</li>\r\n\t<li>Moderate posts and comments in your Collection;</li>\r\n\t<li>Delete your Collection</li>\r\n</ul>\r\n\r\n<p>What others can do when they join your Collection:</p>\r\n\r\n<ul>\r\n\t<li>See what other people have posted to that Collection</li>\r\n\t<li>Comment on posts in that Collection</li>\r\n\t<li>Leave that Collection at any time</li>\r\n</ul>\r\n\r\n<p>Please note that the creation of Collections is subject to moderation by the Joinup team, and the following criteria will be checked:</p>\r\n\r\n<ul>\r\n\t<li>If there are existing collections pertaining to the same domains as yours;</li>\r\n\t<li>If there is already a collection with content similar to that which you intend to include;</li>\r\n</ul>\r\n\r\n<h2>Do you want to create your own Collection?</h2>\r\n"
+  value: "<p>Portal Collections are spaces where you can collaborate with others sharing your same interests around a certain domain, and contain all the contents of any kind related to that domain (solutions, news, newsletters and announcements of events and documents of various kinds).</p>\r\n\r\n<h2>How Collections work</h2>\r\n\r\n<p>Actions you can take as a collection owner:</p>\r\n\r\n<ul>\r\n\t<li>Choose who can see and join your Collection, if you create it with restricted membership conditions;</li>\r\n\t<li>Add other people as moderators and owners of the Collection;</li>\r\n\t<li>Accept or reject users' proposal to add their solution your collection, based on relevance and <a href=\"[site:url]joinup/eligibility-criteria\">eligibility criteria</a>;</li>\r\n\t<li>Remove members from your Collection;</li>\r\n\t<li>Moderate posts and comments in your Collection;</li>\r\n\t<li>Delete your Collection</li>\r\n</ul>\r\n\r\n<p>What others can do when they join your Collection:</p>\r\n\r\n<ul>\r\n\t<li>See what other people have posted to that Collection</li>\r\n\t<li>Comment on posts in that Collection</li>\r\n\t<li>Leave that Collection at any time</li>\r\n</ul>\r\n\r\n<p>Please note that the creation of Collections is subject to moderation by the Portal team, and the following criteria will be checked:</p>\r\n\r\n<ul>\r\n\t<li>If there are existing collections pertaining to the same domains as yours;</li>\r\n\t<li>If there is already a collection with content similar to that which you intend to include;</li>\r\n</ul>\r\n\r\n<h2>Do you want to create your own Collection?</h2>\r\n"
   format: content_editor
diff --git a/config/sync/simple_block.simple_block.solution_tca.yml b/config/sync/simple_block.simple_block.solution_tca.yml
index 8cd0c89dd5..bc38cae33d 100644
--- a/config/sync/simple_block.simple_block.solution_tca.yml
+++ b/config/sync/simple_block.simple_block.solution_tca.yml
@@ -7,5 +7,5 @@ dependencies:
 id: solution_tca
 title: 'Solution Terms of Agreement'
 content:
-  value: "<p>The eligibility criteria of Joinup's interoperability solutions have been redefined. The litmus test considers language, licence, relevance, quality, interface &amp; Location (Services) and Unicity of interoperability solutions submitted for inclusion in the Joinup catalogue. By overhauling the Joinup catalogue qualification process we aim to ensure that the list only relevant and reusable solutions in the Catalogue. In addition to the criteria, you will also find some guidelines below to help you describe the solutions in a way which maximises their potential of re-use.</p>\r\n\r\n<h2>The criteria</h2>\r\n\r\n<p>We use the term solution to refer to services,specifications, and software. The Joinup catalogue will only accept solutions that meet these criteria:</p>\r\n\r\n<h4>Language</h4>\r\n\r\n<p>The solution MUST at least have the description in English. This ensures the accessibility of the catalogue in a common language.</p>\r\n\r\n<h4>Licence of agreement</h4>\r\n\r\n<p>Standards, specifications and software MUST be published under a licence, in general, this MUST be an open licence, making the solution available free of charge. Some exceptions can be considered for endorsed solutions. Endorsements means that the solution is funded or recognised by the European Commission or a national public administration. It can also be defined as making the use of the interoperability solution mandatory or recommended. Services SHOULD have some type of agreement (terms of use, SLA).</p>\r\n\r\n<h4>Relevance</h4>\r\n\r\n<p>The Joinup catalogue lists solutions that are relevant for public administrations. The solution MUST be, or be planned to be used by at least one public administration. The solution provider SHOULD explain the link between the solution and a public administration. Specifications and standards MUST be endorsed by an EU institution or a Member State. Services SHOULD be basic or shared services that can be used by a public administration to build a European public service.</p>\r\n\r\n<h4>Quality</h4>\r\n\r\n<p>To ensure the basic quality of the interoperability solution on the Joinup catalogue, the solutions MUST be described in conformance to the latest official release of <a href=\"\">ADMS-AP</a>. The description SHALL also follow the compliance guidelines defined below as closely as possible.</p>\r\n\r\n<h4>Interface</h4>\r\n\r\n<p>Services MUST be provided through digital channels such as web-interface, machine-to-machine or other type of digital (stable) interfaces.</p>\r\n\r\n<h4>Unicity</h4>\r\n\r\n<p>In as far as possible solutions SHOULD be unique. In specific cases for software, duplication can be accepted if it clearly demonstrated that the usage is different. Services are duplicates if they are provided to the same target group, by the same provider, under the same agreement, to the same location, and using the same interface.</p>\r\n\r\n<h4>Location</h4>\r\n\r\n<p>Services MUST at least be applicable at European level. They may be provided by National or European administrations.</p>\r\n\r\n<h2>Compliance guidelines</h2>\r\n\r\n<p>The description of the solution should be as precise and complete as possible and explain how the proposed solution can be reused by end-users. Here is a list of aspects that must be explained:</p>\r\n\r\n<ul>\r\n\t<li><strong>General description:</strong> overview of your solution (brief description).</li>\r\n\t<li><strong>Needs that the solution addresses:</strong> which needs are addressed.</li>\r\n\t<li><strong>Features that the solution implements:</strong> what are the main features.</li>\r\n\t<li><strong>Typical intended audience:</strong> what is the target audience(s) of your solutions? Who are the end users?.</li>\r\n\t<li><strong>How to reuse the solution:</strong> how can the intended audience re-use your solutions? Which steps should be followed? How to begin? Are there any other solutions strongly related and that can be used together?.</li>\r\n\t<li><strong>Standards used in the solution:</strong> what international, national standard or specification are used within your solution?</li>\r\n\t<li><strong>Contribution of the solution to a policy:</strong> does your solution contribute to a public policy? Was your solution developed in the context of a public policy? Is your solution endorsed by an EU institution?</li>\r\n</ul>\r\n"
+  value: "<p>The eligibility criteria of Portal's interoperability solutions have been redefined. The litmus test considers language, licence, relevance, quality, interface &amp; Location (Services) and Unicity of interoperability solutions submitted for inclusion in the Portal catalogue. By overhauling the Portal catalogue qualification process we aim to ensure that the list only relevant and reusable solutions in the Catalogue. In addition to the criteria, you will also find some guidelines below to help you describe the solutions in a way which maximises their potential of re-use.</p>\r\n\r\n<h2>The criteria</h2>\r\n\r\n<p>We use the term solution to refer to services,specifications, and software. The Portal catalogue will only accept solutions that meet these criteria:</p>\r\n\r\n<h4>Language</h4>\r\n\r\n<p>The solution MUST at least have the description in English. This ensures the accessibility of the catalogue in a common language.</p>\r\n\r\n<h4>Licence of agreement</h4>\r\n\r\n<p>Standards, specifications and software MUST be published under a licence, in general, this MUST be an open licence, making the solution available free of charge. Some exceptions can be considered for endorsed solutions. Endorsements means that the solution is funded or recognised by the European Commission or a national public administration. It can also be defined as making the use of the interoperability solution mandatory or recommended. Services SHOULD have some type of agreement (terms of use, SLA).</p>\r\n\r\n<h4>Relevance</h4>\r\n\r\n<p>The Portal catalogue lists solutions that are relevant for public administrations. The solution MUST be, or be planned to be used by at least one public administration. The solution provider SHOULD explain the link between the solution and a public administration. Specifications and standards MUST be endorsed by an EU institution or a Member State. Services SHOULD be basic or shared services that can be used by a public administration to build a European public service.</p>\r\n\r\n<h4>Quality</h4>\r\n\r\n<p>To ensure the basic quality of the interoperability solution on the Portal catalogue, the solutions MUST be described in conformance to the latest official release of <a href=\"\">ADMS-AP</a>. The description SHALL also follow the compliance guidelines defined below as closely as possible.</p>\r\n\r\n<h4>Interface</h4>\r\n\r\n<p>Services MUST be provided through digital channels such as web-interface, machine-to-machine or other type of digital (stable) interfaces.</p>\r\n\r\n<h4>Unicity</h4>\r\n\r\n<p>In as far as possible solutions SHOULD be unique. In specific cases for software, duplication can be accepted if it clearly demonstrated that the usage is different. Services are duplicates if they are provided to the same target group, by the same provider, under the same agreement, to the same location, and using the same interface.</p>\r\n\r\n<h4>Location</h4>\r\n\r\n<p>Services MUST at least be applicable at European level. They may be provided by National or European administrations.</p>\r\n\r\n<h2>Compliance guidelines</h2>\r\n\r\n<p>The description of the solution should be as precise and complete as possible and explain how the proposed solution can be reused by end-users. Here is a list of aspects that must be explained:</p>\r\n\r\n<ul>\r\n\t<li><strong>General description:</strong> overview of your solution (brief description).</li>\r\n\t<li><strong>Needs that the solution addresses:</strong> which needs are addressed.</li>\r\n\t<li><strong>Features that the solution implements:</strong> what are the main features.</li>\r\n\t<li><strong>Typical intended audience:</strong> what is the target audience(s) of your solutions? Who are the end users?.</li>\r\n\t<li><strong>How to reuse the solution:</strong> how can the intended audience re-use your solutions? Which steps should be followed? How to begin? Are there any other solutions strongly related and that can be used together?.</li>\r\n\t<li><strong>Standards used in the solution:</strong> what international, national standard or specification are used within your solution?</li>\r\n\t<li><strong>Contribution of the solution to a policy:</strong> does your solution contribute to a public policy? Was your solution developed in the context of a public policy? Is your solution endorsed by an EU institution?</li>\r\n</ul>\r\n"
   format: content_editor
diff --git a/config/sync/system.site.yml b/config/sync/system.site.yml
index 5815058377..6689692d9d 100644
--- a/config/sync/system.site.yml
+++ b/config/sync/system.site.yml
@@ -2,7 +2,7 @@ _core:
   default_config_hash: SKcRZ92wOLqxmvjxKFB1GRz1A33514Ew1EoCDsel4As
 langcode: en
 uuid: 8cc66be5-4630-4d15-af31-269ecbfae7cd
-name: Joinup
+name: Portal
 mail: admin@example.com
 slogan: ''
 page:
diff --git a/config/sync/tour.tour.account.yml b/config/sync/tour.tour.account.yml
index 98c2fdafeb..b97fb3eb0c 100644
--- a/config/sync/tour.tour.account.yml
+++ b/config/sync/tour.tour.account.yml
@@ -34,7 +34,7 @@ tips:
     weight: 3
     position: left-start
     selector: .search-bar
-    body: 'Search through the entire Joinup platform and its supported content items.'
+    body: 'Search through the entire Portal platform and its supported content items.'
   local_tasks:
     id: local_tasks
     plugin: text
diff --git a/config/sync/tour.tour.content_overview.yml b/config/sync/tour.tour.content_overview.yml
index d6e4017714..765627b54c 100644
--- a/config/sync/tour.tour.content_overview.yml
+++ b/config/sync/tour.tour.content_overview.yml
@@ -18,7 +18,7 @@ tips:
     weight: 1
     position: left-start
     selector: '.listing .listing__item:first-of-type'
-    body: 'The content area displays Joinup events, documents, news, and discussions that have been created or updated recently.'
+    body: 'The content area displays Portal events, documents, news, and discussions that have been created or updated recently.'
   filters:
     id: filters
     plugin: text
@@ -34,4 +34,4 @@ tips:
     weight: 3
     position: left-start
     selector: .search-bar
-    body: 'Search through the entire Joinup platform and its supported content items.'
+    body: 'Search through the entire Portal platform and its supported content items.'
diff --git a/config/sync/tour.tour.joinup_homepage.yml b/config/sync/tour.tour.joinup_homepage.yml
index 8420794cf6..da94c77cd4 100644
--- a/config/sync/tour.tour.joinup_homepage.yml
+++ b/config/sync/tour.tour.joinup_homepage.yml
@@ -3,7 +3,7 @@ langcode: en
 status: true
 dependencies: {  }
 id: joinup_homepage
-label: 'Joinup homepage tour.'
+label: 'Portal homepage tour.'
 module: null
 routes:
   -
@@ -24,7 +24,7 @@ tips:
     weight: 2
     position: left-start
     selector: '#block-exposed-search .input-group.js-form-type-search-api-autocomplete'
-    body: 'Search through the entire Joinup platform and its supported content items.'
+    body: 'Search through the entire Portal platform and its supported content items.'
   spotlight:
     id: spotlight
     plugin: text
@@ -52,7 +52,7 @@ tips:
   about:
     id: about
     plugin: text
-    label: 'About Joinup'
+    label: 'About Portal'
     weight: 7
     position: left-start
     selector: .about-what
@@ -64,4 +64,4 @@ tips:
     weight: 8
     position: bottom-start
     selector: 'li a[data-drupal-link-system-path="contact"]'
-    body: 'If you have any questions or suggestions regarding the Joinup platform, you can contact us through this link.'
+    body: 'If you have any questions or suggestions regarding the Portal platform, you can contact us through this link.'
diff --git a/config/sync/tour.tour.rdf_entity_canonical.yml b/config/sync/tour.tour.rdf_entity_canonical.yml
index 86e10a4c41..bf7b4152b1 100644
--- a/config/sync/tour.tour.rdf_entity_canonical.yml
+++ b/config/sync/tour.tour.rdf_entity_canonical.yml
@@ -74,4 +74,4 @@ tips:
     weight: 8
     position: left-start
     selector: .search-bar
-    body: 'Search through the entire Joinup platform and its supported content items.'
+    body: 'Search through the entire Portal platform and its supported content items.'
diff --git a/config/sync/user.mail.yml b/config/sync/user.mail.yml
index 3a8e5c134a..276ad88a65 100644
--- a/config/sync/user.mail.yml
+++ b/config/sync/user.mail.yml
@@ -32,11 +32,11 @@ password_reset:
 
     The Portal Support Team
 register_admin_created:
-  subject: 'Your Joinup account was created successfully.'
+  subject: 'Your Portal account was created successfully.'
   body: |-
     Dear [user:field_user_first_name],
 
-    The Portal Support Team created your account on Joinup.
+    The Portal Support Team created your account on Portal.
     Please log in through the following link in order to set your password.
     <a href="[user:one-time-login-url]">[user:one-time-login-url]</a>
 
@@ -46,13 +46,13 @@ register_admin_created:
 
     The Portal Support Team
 register_no_approval_required:
-  subject: "You're one step away to create your Joinup account. Please confirm your email address before you can sign in to Joinup."
+  subject: "You're one step away to create your Portal account. Please confirm your email address before you can sign in to Portal."
   body: |-
     Dear [user:field_user_first_name],
 
-    You are one step away from creating your account in Joinup, the European Commission collaborative platform for Interoperability solutions for public administrations, businesses and citizens.
+    You are one step away from creating your account in Portal, the European Commission collaborative platform for Interoperability solutions for public administrations, businesses and citizens.
 
-    Please confirm your email address by clicking <a href="[user:one-time-login-url]">[user:one-time-login-url]</a> to complete the creation of your new Joinup account.
+    Please confirm your email address by clicking <a href="[user:one-time-login-url]">[user:one-time-login-url]</a> to complete the creation of your new Portal account.
 
     If you think that this email was erroneously sent to you, please disregard this message.
 
@@ -110,7 +110,7 @@ status_blocked:
   body: |-
     Dear [user:field_user_first_name],
 
-    Your Joinup account was recently blocked by our moderators.
+    Your Portal account was recently blocked by our moderators.
     For more information about blocked accounts, please visit our FAQ section.
 
     Kind regards,
@@ -119,7 +119,7 @@ status_blocked:
 status_canceled:
   subject: 'Your account has been deleted.'
   body: |-
-    Dear Joinup user,
+    Dear Portal user,
 
     Your account [user:account-name] has been deleted.@joinup_user:moderation_text If you believe that this action has been performed by mistake, please contact The Portal Support Team at <a href="[site:contact-form]">[site:contact-form]</a>.
 
diff --git a/config/sync/views.view.actions_log.yml b/config/sync/views.view.actions_log.yml
index f0d46cf005..32227ebcb2 100644
--- a/config/sync/views.view.actions_log.yml
+++ b/config/sync/views.view.actions_log.yml
@@ -644,7 +644,7 @@ display:
           expose:
             operator_id: uid_op
             label: User
-            description: "Enter a Joinup user's name to search for a user and select it with the mouse or the keyboard."
+            description: "Enter a Portal user's name to search for a user and select it with the mouse or the keyboard."
             use_operator: false
             operator: uid_op
             operator_limit_selection: false
@@ -689,7 +689,7 @@ display:
           expose:
             operator_id: uid_1_op
             label: Actor
-            description: "Enter a Joinup user's name to search for a user and select it with the mouse or the keyboard."
+            description: "Enter a Portal user's name to search for a user and select it with the mouse or the keyboard."
             use_operator: false
             operator: uid_1_op
             operator_limit_selection: false
diff --git a/config/sync/views.view.search.yml b/config/sync/views.view.search.yml
index de2a139f9f..692871feca 100644
--- a/config/sync/views.view.search.yml
+++ b/config/sync/views.view.search.yml
@@ -484,7 +484,7 @@ display:
       display_extenders:
         metatag_display_extender:
           metatags:
-            description: 'Search the Joinup platform for digital government information and interoperability solutions with the help of advanced filters.'
+            description: 'Search the Portal platform for digital government information and interoperability solutions with the help of advanced filters.'
           tokenize: false
       path: search
     cache_metadata:
diff --git a/config/sync/views.view.solutions.yml b/config/sync/views.view.solutions.yml
index 97a2ae5b41..3fc9ef47e8 100644
--- a/config/sync/views.view.solutions.yml
+++ b/config/sync/views.view.solutions.yml
@@ -516,7 +516,7 @@ display:
       menu:
         type: normal
         title: Solutions
-        description: 'A Solution on Joinup is a framework, tool, or service either hosted directly on Joinup or federated from third-party repositories.'
+        description: 'A Solution on Portal is a framework, tool, or service either hosted directly on Portal or federated from third-party repositories.'
         weight: -48
         expanded: false
         menu_name: main
diff --git a/docs/agreement.md b/docs/agreement.md
index 4f000885f2..ad508bec7a 100644
--- a/docs/agreement.md
+++ b/docs/agreement.md
@@ -1,6 +1,6 @@
-# Joinup Individual Contributor Assignment Agreement
+# Portal Individual Contributor Assignment Agreement
 
-Thank you for your interest in contributing to Joinup, owned by the European
+Thank you for your interest in contributing to Portal, owned by the European
 Union ("We" or "Us"). This contributor agreement ("Agreement") documents the
 rights granted by contributors to Us. By creating a pull request you implicitly
 agree with the contents of this document.
@@ -13,7 +13,7 @@ to it. The Agreement may cover more than one software project managed by Us.
 * "**You**" means the individual who Submits a Contribution to Us.
 * "**Contribution**" means any work of authorship that is Submitted by You to Us in
   which You own or assert ownership of the Copyright. If You do not own the
-  Copyright in the entire work of authorship, please contact Joinup legal
+  Copyright in the entire work of authorship, please contact Portal legal
   support through the form in https://interoperable-europe.ec.europa.eu/contact.
 * "**Copyright**" means all rights protecting works of authorship owned or
   controlled by You, including copyright, moral and neighboring rights, as
@@ -118,7 +118,7 @@ You confirm that:
 __(a)__ You have the legal authority to enter into this Agreement.
 __(b)__ You own the Copyright and patent claims covering the Contribution which are required to grant the rights under Section 2.
 __(c)__ The grant of rights under Section 2 does not violate any grant of rights which You have made to third parties, including Your employer. If You are an employee, You have had Your employer approve this Agreement or sign the Entity version of this document. If You are less than eighteen years old, please have Your parents or guardian sign the Agreement.
-__(d)__ You have contacted Joinup legal support https://interoperable-europe.ec.europa.eu/contact, if You do not own the Copyright in the entire work of authorship Submitted.
+__(d)__ You have contacted Portal legal support https://interoperable-europe.ec.europa.eu/contact, if You do not own the Copyright in the entire work of authorship Submitted.
 
 ## 4. Disclaimer
 
diff --git a/docs/code_of_conduct.md b/docs/code_of_conduct.md
index 05523205f7..7595e74ad6 100644
--- a/docs/code_of_conduct.md
+++ b/docs/code_of_conduct.md
@@ -1,4 +1,4 @@
-# Joinup Contributor Covenant Code of Conduct
+# Portal Contributor Covenant Code of Conduct
 
 ## Our Pledge
 
diff --git a/docs/contributing.md b/docs/contributing.md
index fd6f093d01..384b607e76 100644
--- a/docs/contributing.md
+++ b/docs/contributing.md
@@ -1,7 +1,7 @@
-# Contributing to Joinup
+# Contributing to Portal
 
 ## Before you start
-* You're thinking of setting up your own code repository using the Joinup
+* You're thinking of setting up your own code repository using the Portal
   codebase?
 * You are about to develop a big feature on top of this codebase?
 * You're having trouble installing this project?
@@ -10,33 +10,33 @@
 Use the Github issue queue to get in touch! We'd like to hear about your plans.
 
 ## Legal
-By submitting a pull request to the Joinup repository, you implicitly accept the conditions in the
- [Joinup Individual Contributor Assignment Agreement](agreement.md) as well as the  [code of conduct](code_of_conduct.md).
+By submitting a pull request to the Portal repository, you implicitly accept the conditions in the
+ [Portal Individual Contributor Assignment Agreement](agreement.md) as well as the  [code of conduct](code_of_conduct.md).
 
-The Joinup codebase is released under the [European Union Public Licence (EUPL)](https://interoperable-europe.ec.europa.eu/community/eupl/og_page/eupl).
+The Portal codebase is released under the [European Union Public Licence (EUPL)](https://interoperable-europe.ec.europa.eu/community/eupl/og_page/eupl).
 
 ## How to contribute
-Contribution to Joinup is similar to most other projects on GitHub:
-We use the [fork and pull](https://help.github.com/articles/types-of-collaborative-development-models/) model, which means that everyone whom wants to contribute, can do so through a pull request from a fork of Joinup towards the Joinup repository.
+Contribution to Portal is similar to most other projects on GitHub:
+We use the [fork and pull](https://help.github.com/articles/types-of-collaborative-development-models/) model, which means that everyone whom wants to contribute, can do so through a pull request from a fork of Portal towards the Portal repository.
 More information on pull requests is available on the '[using pull request](https://help.github.com/articles/using-pull-requests/)' page.
 
-We are however not obligated to use your contribution as part of Joinup and may decide to include any contribution we consider appropriate.
+We are however not obligated to use your contribution as part of Portal and may decide to include any contribution we consider appropriate.
 
 ## Code quality
-We try to keep the quality of Joinup as high as possible, and therefore a few measures are put in place:
+We try to keep the quality of Portal as high as possible, and therefore a few measures are put in place:
 * Adherence of the drupal coding standards is verified on each commit.
   (Please note that the coding standards can change in the future).
 * Functional tests ([Behat](http://behat.org)) are ran on each commit to avoid the introduction of regression.
 
 You can [check our current test scenarios here](/tests/features/).
 
-If you plan to make contributions to the Joinup codebase, we kindly ask you to
+If you plan to make contributions to the Portal codebase, we kindly ask you to
 run the coding standards checks, as well as the Behat test suite before making
 a pull request. Also make sure you add test coverage for the functionality
 covered in the pull request.
 
 ## Workflow
-In order to get a contribution accepted in Joinup, follow this procedure:
+In order to get a contribution accepted in Portal, follow this procedure:
 
 1. _fork_: Most contributions are forked from the _develop_ branch where the
    main development takes place. However if an issue is highly critical and
@@ -51,7 +51,7 @@ In order to get a contribution accepted in Joinup, follow this procedure:
    the right to reject any of these small fixes though if they are not
    immediately clear.
 1. _qa_: When development on the pull request is ready the code needs to be
-   reviewed by the Joinup development team. The functionality offered in the PR
+   reviewed by the Portal development team. The functionality offered in the PR
    should be covered by tests, and obviously all existing tests should pass. The
    development team regularly checks the open pull requests and will pick up
    tickets to be reviewed. Note that this might take some time since the work is
@@ -59,8 +59,8 @@ In order to get a contribution accepted in Joinup, follow this procedure:
    feel free to post a comment mentioning that the PR is ready to be reviewed.
 1. _uat_: Once a PR has been approved by the development team it will be merged
    into the `UAT-ready` branch. A user acceptance test will be performed by the
-   Joinup functional team which has the final decision whether the functionality
-   will be accepted in Joinup.
+   Portal functional team which has the final decision whether the functionality
+   will be accepted in Portal.
 1. _merge_: Only after the functional team approves the PR it will be merged
    into the main branch by one of the developers.
 1. _deploy_: At the end of every 2-weekly sprint the _develop_ branch will be
diff --git a/docs/federation.md b/docs/federation.md
index 0b4f4a6ae2..4c832a89b9 100644
--- a/docs/federation.md
+++ b/docs/federation.md
@@ -1,10 +1,10 @@
-#  Joinup federation of Linked Data
+#  Portal federation of Linked Data
 ## Background
 TODO
 ## Stakeholders
 - Member state portals
-- Joinup community
-- Joinup platform
+- Portal community
+- Portal platform
 - Other ISA projects
 
 ## Architecture
@@ -40,7 +40,7 @@ Sharing SBBs as broad as possible will in the long run lower costs.
 
 * _Joinup portal_
 Globalization urges for more agile Europe. In order to stay relevant, the EC has a responsibility as it is in the coordinating role to facilitate the exchange of information between European public services.
-By sharing SBBs developed both in the commission and in member states as broad as possible, Joinup helps building the digital single market.
+By sharing SBBs developed both in the commission and in member states as broad as possible, Portal helps building the digital single market.
 
 * _Joinup community_
 
@@ -49,17 +49,17 @@ By sharing SBBs developed both in the commission and in member states as broad a
 ### Information system architecture
 #### Data architecture
 The data architecture is centered around ADMS-AP.
-The Joinup portal implements the model in a 'conformist' way, so that friction between Joinup and the data standard is minimized.
+The Portal portal implements the model in a 'conformist' way, so that friction between Portal and the data standard is minimized.
 This was one of the main changes in the architecture while migrating from D6 to D8.
 
 _Joinup extensions (optional):_
-Internally Joinup adds properties that are not included in the ADMS-AP data model. For example, the banner image that is shown inside collections.
+Internally Portal adds properties that are not included in the ADMS-AP data model. For example, the banner image that is shown inside collections.
 These properties should be imported when present, but not managed by the federation process.
 
 _Backwards compatibility:_
 At the moment, none of the member state data portals support ADMS-APv2, while some support ADMS-APv1.
 As not everyone will upgrade straight away, an intermediate upgrade path component will take care of supporting legacy systems.
-ADMS-APv1  ----> Transformation ----> Joinup (ADMS-APv2)
+ADMS-APv1  ----> Transformation ----> Portal (ADMS-APv2)
 It is of uttermost importance that a good relation is established with the repository owners, as they stay responsible for their data.
 
 
@@ -84,11 +84,11 @@ It is of uttermost importance that a good relation is established with the repos
       (If no existing entity, it might be needed to apply some defaults)
     2. Remove any unmapped properties
     3. Remove all properties defined by ADMS-APv2
-        (This leaves all Joinup specific properties)
+        (This leaves all Portal specific properties)
     4. Remove all triples from the STAGING graph whose predicates are present in the SINK graph
     5. Copy all triples from the SINK graph to the STAGING graph
 
-* Joinup compatibility checks
+* Portal compatibility checks
     For __each entity__ defined in the STAGING graph:
     1. Load the object
     2. Call the `->validate()` method
diff --git a/docs/release_workflow.md b/docs/release_workflow.md
index 5d2ccb83c7..0e658fe101 100644
--- a/docs/release_workflow.md
+++ b/docs/release_workflow.md
@@ -1,6 +1,6 @@
 # Deployment workflow
 
-We have 3 repositories that Joinup uses: the
+We have 3 repositories that Portal uses: the
 [development repository](https://git.fpfis.tech.ec.europa.eu/digit/digit-joinup-dev),
 which is where the development takes place, the
 [reference repository](https://git.fpfis.tech.ec.europa.eu/ec-europa/digit-joinup-reference),
@@ -71,10 +71,10 @@ The release procedure is as follows:
    issues and move them in QA should be followed.
 5. Check all resolved tickets from the previous sprint(s) and verify that they
    have a version set in the "Fix Version" field. Some tickets might be resolved
-   but are not part of any Joinup release (for example: analysis/investigations,
+   but are not part of any Portal release (for example: analysis/investigations,
    work done upstream, infrastructure work etc.). These should get "NOVERSION".
    The tickets can be listed by browsing all tickets in Jira and using the query
-   `project = ISAICP AND Sprint = "Joinup sprint N" AND status = Resolved`.
+   `project = ISAICP AND Sprint = "Portal sprint N" AND status = Resolved`.
 6. List all tickets in Jira that have the "Fix Version" field set to the
    upcoming release, using the query `project = ISAICP AND fixVersion = x.y.z`.
    These tickets will be used to create the changelog in the next step.
diff --git a/docs/sparql.md b/docs/sparql.md
index 61eeb66a69..3efef6bfcc 100644
--- a/docs/sparql.md
+++ b/docs/sparql.md
@@ -59,7 +59,7 @@ Below are some sample queries that can be run against the triplestore.
       <http://example.com/subject> ?p ?o .
     }
 
-You can find the URI ID of the entities in Joinup by visitin the menu
+You can find the URI ID of the entities in Portal by visitin the menu
 "Metadata > Export".
 
 ### Get all predicates
@@ -128,7 +128,7 @@ You can find the URI ID of the entities in Joinup by visitin the menu
 SPARQL Mappings
 ---------------
 
-In Joinup, we use `sparql_entity_storage` to map the RDF data to Drupal
+In Portal, we use `sparql_entity_storage` to map the RDF data to Drupal
 entities. The way this is done is through the SPARQL mapping config entities and
 the field third party settings.
 
@@ -174,7 +174,7 @@ is stored.
 
 The graphs are mainly groupings of triples. A good way to understand this is to
 think of the graphs as the tables in a relational database. The triples are the
-rows in the tables. The graphs are used to separate the data. In Joinup, we use
+rows in the tables. The graphs are used to separate the data. In Portal, we use
 graphs to distinguish between bundles and between published and draft data.
 
 For example, in order to retrieve all collection URI IDs that are published, the
@@ -253,7 +253,7 @@ base_fields_mapping:
 These are the base fields of the entity. The base fields are the fields that
 are defined in the `RdfEntity` class. As you can see, the `rid` field is mapped
 to the `http://www.w3.org/1999/02/22-rdf-syntax-ns#type` predicate and all the
-other fields are mapped to the predicates that are defined in the Joinup.
+other fields are mapped to the predicates that are defined in the Portal.
 
 Properties without a mapping value will not be stored in the database. For
 example, the uuid field will not be stored to the database according to the
@@ -278,4 +278,4 @@ entity_id_plugin: joinup_po_namespace
 ```
 The plugin that is used to generate the entity ID. The entity ID is the URI of
 the entity. `joinup_po_namespace` is the plugin that is used to generate the
-entity ID in Joinup.
+entity ID in Portal.
diff --git a/phpcs.xml b/phpcs.xml
index d17a2cfa90..ba1156e3d3 100644
--- a/phpcs.xml
+++ b/phpcs.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0"?>
-<!-- PHP_CodeSniffer standard for Joinup. -->
+<!-- PHP_CodeSniffer standard for Portal. -->
 <!-- See http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.php -->
-<ruleset name="Joinup">
-  <description>Joinup coding standard</description>
+<ruleset name="Portal">
+  <description>Portal coding standard</description>
 
   <!-- Include the Slevomat sniffs. -->
   <config name="installed_paths" value="../../slevomat/coding-standard"/>
diff --git a/phpmd.xml b/phpmd.xml
index 975bd79619..2f4007058a 100644
--- a/phpmd.xml
+++ b/phpmd.xml
@@ -4,5 +4,5 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
          xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
-  <!-- Joinup in not doing PHPMD checks as this tool is messy. -->
+  <!-- Portal in not doing PHPMD checks as this tool is messy. -->
 </ruleset>
diff --git a/rector.php b/rector.php
index ccf6bf97bd..959c3875f4 100644
--- a/rector.php
+++ b/rector.php
@@ -37,7 +37,7 @@
   $rectorConfig->importNames(TRUE, FALSE);
   $rectorConfig->importShortClasses(FALSE);
 
-  // Custom Joinup config.
+  // Custom Portal config.
   $rectorConfig->paths([
     __DIR__ . '/src',
     __DIR__ . '/tests/src',
diff --git a/resources/runner/joinup.yml b/resources/runner/joinup.yml
index 5d5c08ab6a..73f24abe0d 100644
--- a/resources/runner/joinup.yml
+++ b/resources/runner/joinup.yml
@@ -1,4 +1,4 @@
-# Configuration and commands specific for Joinup.
+# Configuration and commands specific for Portal.
 joinup:
   dir: ${drupal.root_absolute}/..
   site_dir: ${joinup.dir}/web
diff --git a/resources/runner/toolkit.yml b/resources/runner/toolkit.yml
index 82654f513f..75ee314d8e 100644
--- a/resources/runner/toolkit.yml
+++ b/resources/runner/toolkit.yml
@@ -11,7 +11,7 @@ toolkit:
         - solr
         - virtuoso
   components:
-    # Disable 'toolkit-components' job check for outdated packages. The Joinup
+    # Disable 'toolkit-components' job check for outdated packages. The Portal
     # dependencies policy is to update all dependencies after each release.
     outdated:
       check: false
diff --git a/resources/vocab/EIRA_SKOS.rdf b/resources/vocab/EIRA_SKOS.rdf
index 16a53ad2f8..74b02fdf85 100644
--- a/resources/vocab/EIRA_SKOS.rdf
+++ b/resources/vocab/EIRA_SKOS.rdf
@@ -1377,7 +1377,7 @@ Source:
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Public Service Agent ABB is a Business Actor consuming or delivering a public service on behalf of a principal.
 
-Source: Joinup
+Source: Portal
 (https://joinup.ec.europa.eu/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f7661a4a0_bbdf9_b4e98_bb04a_b967c6a1053f9)
 
 INTEROPERABILITY SALIENCY:
@@ -3456,7 +3456,7 @@ Source:
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Public Service Consumer Agent ABB is a Business Role consuming a public service on behalf of a principal.
 
-Source: Joinup
+Source: Portal
 (https://joinup.ec.europa.eu/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f7661a4a0_bbdf9_b4e98_bb04a_b967c6a1053f9")
 
 INTEROPERABILITY SALIENCY:
@@ -5211,7 +5211,7 @@ eira:dimension: Behavioral IoP
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Digital-ready Policymaking ABB is a Business Process consisting in formulating digital-ready policies and legislation by considering digital aspects from the start of the policy cycle to ensure that they are ready for the digital age, future-proof and interoperable.
 
-Source: Joinup (Digital Ready Policies)
+Source: Portal (Digital Ready Policies)
 
 Source reference: https://joinup.ec.europa.eu/collection/better-legislation-smoother-implementation/digital-ready-policymaking
 
@@ -5252,7 +5252,7 @@ Last modification: 2023-10-01
     <dcterms:modified>2023-10-1</dcterms:modified>
     <eira:synonym>Policy Cycle</eira:synonym>
     <skos:definition><![CDATA[Digital-ready Policymaking ABB is a Business Process consisting in formulating digital-ready policies and legislation by considering digital aspects from the start of the policy cycle to ensure that they are ready for the digital age, future-proof and interoperable.]]></skos:definition>
-    <eira:definitionSource>Joinup (Digital Ready Policies)</eira:definitionSource>
+    <eira:definitionSource>Portal (Digital Ready Policies)</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/collection/better-legislation-smoother-implementation/digital-ready-policymaking]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example of how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Performance-based Full Policy Cycle for the Digital Single Market (http://www.europarl.europa.eu/RegData/etudes/etudes/join/2013/507457/IPOL-IMCO_ET(2013)507457_EN.pdf). The key features of a performance-based full policy cycle are a clear articulation of policy objectives, the identification and use of quantitative indicators of expected short-term and longer-term policy impacts, the identification of synergies between policies, a much greater use of quantitative data in ex-ante impact assessments, the implementation of robust, data-based, independent ex post assessments of the performance of policies relative to their expected impacts and a wide dissemination of lessons learned in such ex-post performance assessments]]></skos:example>
     <eira:iopSaliency><![CDATA[The Public Policy Cycle ABB is salient for the governance  interoperability because it impacts on the design and formulation of public policies, which are implemented through legal acts. Also, the ABB also is salient for the legal interoperability due to it establis the legal actions and directives for public administration services as the case of interoperability principles need to be taken into account during the whole public policy cycle.]]></eira:iopSaliency>
@@ -5568,7 +5568,7 @@ Last modification: 2023-11-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Semantic interoperability agreement ABB is a Contract formalizing governance rules enabling collaboration between digital public services with ontological value.
 
-Source: Joinup
+Source: Portal
 
 Source reference: https://joinup.ec.europa.eu/sites/default/files/document/2015-03/Process
 
@@ -5605,7 +5605,7 @@ Last modification: 2023-16-01
     <dcterms:modified>2023-01-16</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Semantic interoperability agreement ABB is a Contract formalizing governance rules enabling collaboration between digital public services with ontological value.]]></skos:definition>
-    <eira:definitionSource>Joinup</eira:definitionSource>
+    <eira:definitionSource>Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/sites/default/files/document/2015-03/Process]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): e-Invoicing Semantic Data Model - The semantic data model includes only the essential information elements that an electronic invoice needs to ensure legal (including fiscal) compliance and to enable interoperability for cross-border, cross-sector and for domestic trade. The semantic data model may be used by public and private sector organisations for public procurement invoicing and took into account the physical and financial supply chain perspective, reflecting both private and public sector requirements, with a view to allowing the full straight-through processing of an electronic invoice. https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/2017/06/28/CEN+Publishes+eInvoicing+Semantic+Data+Model]]></skos:example>
     <eira:iopSaliency><![CDATA[The Semantic Interoperability Agreement ABB is a key interoperability enabler (*) for governance interoperability by enabling the understanding of information and collaboration between digital public services.]]></eira:iopSaliency>
@@ -5904,7 +5904,7 @@ Last modification: 2023-10-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Semantic Agreement ABB is a Contract formalising an agreement from a peer to the common ontology that is the result of a matching or mapping process that is used to resolve their semantic discrepancies. The combination matching process consists of a linguistic base, internal and external structure comparison. The result of the matching combination will be used to develop an agreement unit as a component of the agreement. There are some assumptions for the agreement, such as using the same language to represent the schema/ontology, labels and the meaning of a concept, and there is no individual at the common ontology.
 
-Source: Joinup
+Source: Portal
 
 Source reference: https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fSemanticAgreement
 
@@ -5943,7 +5943,7 @@ Last modification: 2023-16-01
     <dcterms:modified>2023-01-16</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Semantic Agreement ABB is a Contract formalising an agreement from a peer to the common ontology that is the result of a matching or mapping process that is used to resolve their semantic discrepancies. The combination matching process consists of a linguistic base, internal and external structure comparison. The result of the matching combination will be used to develop an agreement unit as a component of the agreement. There are some assumptions for the agreement, such as using the same language to represent the schema/ontology, labels and the meaning of a concept, and there is no individual at the common ontology.]]></skos:definition>
-    <eira:definitionSource>Joinup</eira:definitionSource>
+    <eira:definitionSource>Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fSemanticAgreement]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): SEMIC - "Supporting alignments and agreements on common definitions and specifications at the semantic layer for the Member States and the EU institutions". https://joinup.ec.europa.eu/collection/semantic-interoperability-community-semic/about]]></skos:example>
     <eira:iopSaliency><![CDATA[The Semantic Agreement ABB is a key interoperability enabler because it supports semantic governance by enabling collaboration between digital public services.]]></eira:iopSaliency>
@@ -6460,7 +6460,7 @@ Last modification: 2022-17-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: National Legal Interoperability Agreement ABB is a Contract formalizing governance rules enabling collaboration amongst different levels of administrations in a State.
 
-Source: Based on the definition in the EIF about Legal Interoperability Agreement, the National Interoperability Framework Observatory (see Joinup NIFO) and existing national legal interoperability agreements.
+Source: Based on the definition in the EIF about Legal Interoperability Agreement, the National Interoperability Framework Observatory (see Portal NIFO) and existing national legal interoperability agreements.
 
 Source reference: https://ec.europa.eu/isa2/sites/isa/files/eif_brochure_final.pdf#page=27
 
@@ -6498,7 +6498,7 @@ Last modification: 2022-18-01
     <dcterms:type>eira:NationalLegalInteroperabilityAgreementContract</dcterms:type>
     <dcterms:modified>2022-01-18</dcterms:modified>
     <skos:definition><![CDATA[National Legal Interoperability Agreement ABB is a Contract formalizing governance rules enabling collaboration amongst different levels of administrations in a State.]]></skos:definition>
-    <eira:definitionSource>Based on the definition in the EIF about Legal Interoperability Agreement, the National Interoperability Framework Observatory (see Joinup NIFO) and existing national legal interoperability agreements.</eira:definitionSource>
+    <eira:definitionSource>Based on the definition in the EIF about Legal Interoperability Agreement, the National Interoperability Framework Observatory (see Portal NIFO) and existing national legal interoperability agreements.</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://ec.europa.eu/isa2/sites/isa/files/eif_brochure_final.pdf#page=27]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example of how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Agreement to pass the policy of e-Signture and Certificates for the interoperability between the digital public services of the Spanish Central Administration (https://www.boe.es/diario_boe/txt.php?id=BOE-A-2012-15066)]]></skos:example>
     <eira:iopSaliency><![CDATA[The European Legal Interoperability Agreement ABB is salient for the governance of interoperability because it lays the European framework between public administration to enable the interoperability between public services. The European Legal Interoperability Agreement ABB is also salient for the legal interoperability due to the legal foundations and requirements that enable the seamless exchange of data, information, and knowledge between European and EEA Member State digital public services. The European Legal Interoperability Agreement ABB is also salient for the organizational interoperability since, as a consequence of the agreement, digital business capabilities can be mapped and subsequently, the process can be aligned between the Member State and EEA Public Administrations and digital public services.]]></eira:iopSaliency>
@@ -9537,7 +9537,7 @@ EIRA concept: eira:ArchitectureBuildingBlock
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Data Virtualization ABB is an Application Component that implements the functionality of retrieving and manipulating data without requiring technical details about the data format or location.
 
-Source: Joinup
+Source: Portal
 
 Source reference: https://joinup.ec.europa.eu/sites/default/files/inline-files/Data%20visualisation%20service%20definition.pdf
 
@@ -9574,7 +9574,7 @@ Last modification: 2022-23-01
     <dcterms:modified>2022-01-23</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Data Virtualization ABB is an Application Component that implements the functionality of retrieving and manipulating data without requiring technical details about the data format or location.]]></skos:definition>
-    <eira:definitionSource>Joinup</eira:definitionSource>
+    <eira:definitionSource>Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/sites/default/files/inline-files/Data%20visualisation%20service%20definition.pdf]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Virtuoso. Virtuoso Universal Server is modern platform built on existing open standards that harnesses the power of Hyperlinks (functioning as Super Keys) for breaking down data silos that impede both user and enterprise ability. For example, Virtuoso's core SQL & SPARQL powers many Enterprise Knowledge Graph initiatives just as it does DBpedia and a majority of nodes in the Linked Open Data Cloud -- the world's largest publicly accessible Knowledge Graph. https://big-data-test-infrastructure.ec.europa.eu/service-offering/virtuoso_en]]></skos:example>
     <eira:iopSaliency><![CDATA[The Data Virtualization Component ABB is salient for technical interoperability because it realises the services established and defined by the Data Virtualization Service ABB, collaborating with enabling interoperability between public services that generate, process or consume data.]]></eira:iopSaliency>
@@ -11181,7 +11181,7 @@ Last modification: 2022-23-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Data Virtualization ABB is an Application Service that enables the access and manipulation of data from various sources without the need for physical data integration.
 
-Source: Joinup
+Source: Portal
 
 Source reference: https://joinup.ec.europa.eu/sites/default/files/inline-files/Data%20visualisation%20service%20definition.pdf
 
@@ -11215,7 +11215,7 @@ EIRA concept: eira:ArchitectureBuildingBlock
     <dcterms:modified>2023-05-25</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Data Virtualization ABB is an Application Service that enables the access and manipulation of data from various sources without the need for physical data integration.]]></skos:definition>
-    <eira:definitionSource>Joinup</eira:definitionSource>
+    <eira:definitionSource>Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/sites/default/files/inline-files/Data%20visualisation%20service%20definition.pdf]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Virtuoso. Virtuoso Universal Server is modern platform built on existing open standards that harnesses the power of Hyperlinks (functioning as Super Keys) for breaking down data silos that impede both user and enterprise ability. For example, Virtuoso's core SQL & SPARQL powers many Enterprise Knowledge Graph initiatives just as it does DBpedia and a majority of nodes in the Linked Open Data Cloud -- the world's largest publicly accessible Knowledge Graph. https://big-data-test-infrastructure.ec.europa.eu/service-offering/virtuoso_en]]></skos:example>
     <eira:iopSaliency><![CDATA[The Data Virtualization Application Service ABB is salient for technical interoperability because provides the tools for visualising datasets in a graphical way. These services can enable to visualise data and information from different sources, and public services, in a manner that can be better processed, understood, and therefore, interoperability can be achieved.]]></eira:iopSaliency>
@@ -11394,7 +11394,7 @@ EIRA concept: eira:ArchitectureBuildingBlock
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Authorisation ABB is an Application Service that enables processes to formalise the electronic identification of a natural or legal person, or the origin and integrity of data in the electronic form to be confirmed
 
-Source: Joinup
+Source: Portal
 
 Source reference: https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fIdentityManagementService
 
@@ -11431,7 +11431,7 @@ Last modification: 2022-18-01
     <dcterms:modified>2022-01-18</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Authorisation ABB is an Application Service that enables processes to formalise the electronic identification of a natural or legal person, or the origin and integrity of data in the electronic form to be confirmed]]></skos:definition>
-    <eira:definitionSource>Joinup</eira:definitionSource>
+    <eira:definitionSource>Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fIdentityManagementService]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example of how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Users roles are managed and linked to EU Login accounts (https://ec.europa.eu/research/participants/docs/h2020-funding-guide/user-account-and-roles/roles-and-access-rights_en.htm). EU Login is the entry gate to sign in to different European Commission services and/or other systems. EU Login verifies your identity and allows recovering your personal settings, history and access rights in a secure way. You can sign in using social media accounts or the EU Login account.]]></skos:example>
     <eira:iopSaliency><![CDATA[The Authorisation Application Service ABB is salient for interoperability because it represents the identifications of actors (natural or legal persons) involved in system interactions, ensuring that the service and the data contained are accessed by actors with granted permissions. Additionally, this can be used as part of the data integrity process to identify the origin of certain data. In general, authorisation services allow for the maintenance of control and integrity of the available data, ensuring its quality when exchanged.]]></eira:iopSaliency>
@@ -13590,7 +13590,7 @@ ABB name: eira:SolutionSpecificationDataObject
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Controlled Vocabulary ABB is a Data Object that enables a carefully curated set of terms used to describe concepts or objects in a specific field or domain. It is a standardized list of terms that are used to ensure consistency and accuracy in the indexing, searching, and retrieval of information
 
-Source: Joinup
+Source: Portal
 
 Source reference: https://joinup.ec.europa.eu/collection/catalogue-services/document/controlled-vocabularies
 
@@ -13627,7 +13627,7 @@ Last modification: 2022-17-01
     <dcterms:modified>2022-01-17</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Controlled Vocabulary ABB is a Data Object that enables a carefully curated set of terms used to describe concepts or objects in a specific field or domain. It is a standardized list of terms that are used to ensure consistency and accuracy in the indexing, searching, and retrieval of information]]></skos:definition>
-    <eira:definitionSource>Joinup</eira:definitionSource>
+    <eira:definitionSource>Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/collection/catalogue-services/document/controlled-vocabularies]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): EuroVoc - EuroVoc is a multilingual, multidisciplinary thesaurus covering the activities of the EU, the European Parliament in particular. It contains terms in 23 EU languages (Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hungarian, Italian, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Slovak, Slovenian, Spanish and Swedish), plus in three languages of countries which are candidates for EU accession: македонски (mk), shqip (sq) and cрпски (sr). (https://op.europa.eu/en/web/eu-vocabularies/th-dataset/-/resource/dataset/eurovoc)]]></skos:example>
     <eira:iopSaliency><![CDATA[The Controlled Vocabulary ABB is salient for semantic interoperability because it ensures compatible interpretations of words and phrases used to index content and/or to retrieve content through browsing or searching.]]></eira:iopSaliency>
@@ -13699,7 +13699,7 @@ Last modification: 2022-17-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Ontologies Catalogue ABB is a Data Object aiming at indexing the collection of ontologies with comprehensiveness and trustiness value
 
-Source: Joinup
+Source: Portal
 
 Source reference: https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fOntologiesCatalogue
 
@@ -13736,7 +13736,7 @@ Last modification: 2023-16-01
     <dcterms:modified>2023-01-16</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Ontologies Catalogue ABB is a Data Object aiming at indexing the collection of ontologies with comprehensiveness and trustiness value]]></skos:definition>
-    <eira:definitionSource>Joinup</eira:definitionSource>
+    <eira:definitionSource>Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fOntologiesCatalogue]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): BioPortal - BioPortal is a repository of over 300 biomedical ontologies and includes tools for working with these ontologies. Holds most widely used Biomedical ontologies. Allows ontologies to be browsed, searched, and reviewed. Allows uses to create notes on ontologies terms. Allows arbitrary text to be annotated with ontology terms. Also supports search of biomedical resources (e.g. PubMed) for combinations of terms from ontologies. Allows programmatic access to ontologies through a REST interface.(http://bioportal.bioontology.org/)]]></skos:example>
     <eira:iopSaliency><![CDATA[The Ontologies catalogue ABB is a key interoperability enabler (*) for structural interoperability because it ensures the provision/consumption of ontologies by digital public services.]]></eira:iopSaliency>
@@ -14705,7 +14705,7 @@ Last modification: 2022-16-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Software Components Catalogue ABB is a Data Object aiming to index information about collaborative spaces that offfers eGoverment solutions and best practices.
 
-Source: Joinup
+Source: Portal
 
 Source reference: https://joinup.ec.europa.eu/topic/ict/reusable-software-components
 
@@ -14740,7 +14740,7 @@ Last modification: 2022-20-01
     <dcterms:modified>2022-01-20</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Software Components Catalogue ABB is a Data Object aiming to index information about collaborative spaces that offfers eGoverment solutions and best practices.]]></skos:definition>
-    <eira:definitionSource>Joinup</eira:definitionSource>
+    <eira:definitionSource>Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/topic/ict/reusable-software-components]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example of how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Software ReUse Catalogue (Belgium) https://joinup.ec.europa.eu/collection/belgian-interoperability-catalogue/solution/ict-reuse/about]]></skos:example>
     <eira:iopSaliency><![CDATA[The Software Components Catalogue Data Object ABB is salient for semantic interoperability because it can act as a repository with descriptive data about digital solutions and interoperable solutions and best practices. This can contribute to expanding and enabling the reuse of artefacts, solutions, and services to implement new digital public services without starting from scratch. The reuse of such elements can infer knowledge and best practices from the collaboration between parties.]]></eira:iopSaliency>
@@ -19012,7 +19012,7 @@ EIRA concept: eira:ArchitectureBuildingBlock
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: API Gateway ABB is a Technology Service that implements the behaviour of acting as a single entry point for multiple APIs (Application Programming Interfaces)
 
-Source: Inspired in Joinup
+Source: Inspired in Portal
 
 Source reference: https://joinup.ec.europa.eu/collection/api4dt/about
 
@@ -19046,7 +19046,7 @@ Last modification: 2022-31-01
     <dcterms:modified>2022-01-31</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[API Gateway ABB is a Technology Service that implements the behaviour of acting as a single entry point for multiple APIs (Application Programming Interfaces)]]></skos:definition>
-    <eira:definitionSource>Inspired in Joinup</eira:definitionSource>
+    <eira:definitionSource>Inspired in Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/collection/api4dt/about]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): API Gateway Authentication Bundle. It authenticates requests from European Commission service API Gateway. https://joinup.ec.europa.eu/collection/ecphp/solution/api-gw-authentication-php/about]]></skos:example>
     <eira:iopSaliency><![CDATA[API Gateway ABB is salient for semantic interoperability due to its setting up the rules to share multiple public administration digital services to facilitate their accessibility, discovery and sharing across platforms (catalogue of APIs). These rules follow up existing standards and common practices in the API documentation and accessibility (Open APIs description).]]></eira:iopSaliency>
@@ -19236,7 +19236,7 @@ The new European Interoperability Framework (EIF) is part of the Communication (
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 EULF compliance ABB is a Principle consisting of a package of case studies, specifications, guidelines, training materials, recommendations and actions required by public administrations and stakeholder communities to facilitate the implementation, use and expansion of INSPIRE in an e-government context.
 
-Source: Joinup
+Source: Portal
 (https://joinup.ec.europa.eu/sites/default/files/news/attachment/jrc103110_1-dc246-d3.2_eulf_guideline_on_location_privacy_v1.00_final_-_pubsy.pdf)
 
 EXAMPLES:
@@ -19494,7 +19494,7 @@ The following implementation is an example on how this specific Architecture Bui
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 User-centricity ABB is a Principle refering to putting users’ needs at the centre when determining which public services should be provided and how they should be delivered. Therefore, as far as possible, user needs and requirements should guide the design and development of public services, in accordance with the following expectations: i A multi-channel service delivery approach; ii A single point of contact should be made available to users; iii Users’ feedback should be systematically collected, assessed and used to design new public services and to further improve existing ones.
 
-Source: Joinup
+Source: Portal
 (https://joinup.ec.europa.eu/collection/nifo-national-interoperability-framework-observatory/glossary/term/user-centricity)
 
 EXAMPLES:
@@ -19593,7 +19593,7 @@ Administrative Simplification ABB is a Principle refering to streamlined deliver
 - Proportional approach to control
 - Simplification of solutions
 
-Source: Joinup
+Source: Portal
 (https://joinup.ec.europa.eu/collection/nifo-national-interoperability-framework-observatory/glossary/term/administrative-simplification)
 
 EXAMPLES:
@@ -20282,7 +20282,7 @@ Source:(https://www.brainkart.com/article/Functional-Requirements---Software-Arc
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Legal Interoperability Requirement ABB is a Requirement that must be met to help achieve legal interoperability.
 
-Source: Joinup
+Source: Portal
 (https://joinup.ec.europa.eu/sites/default/files/document/2019-06/High-level%20Interoperability%20Requirements%20Solution%20Architecture%20Template%20%28HL%20SAT%29%20Design%20Guidelines_0.pdf)
 
 EXAMPLES:
@@ -20315,7 +20315,7 @@ Source: (https://ec.europa.eu/eusurvey/runner/SIQAT_v200?startQuiz=true&surveyla
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Organisational Interoperability Requirement ABB is a Requirement that must be met to help achieve organisational interoperability.
 
-Source: Joinup
+Source: Portal
 (https://joinup.ec.europa.eu/sites/default/files/document/2019-06/High-level%20Interoperability%20Requirements%20Solution%20Architecture%20Template%20%28HL%20SAT%29%20Design%20Guidelines_0.pdf)
 
 EXAMPLES:
@@ -20348,7 +20348,7 @@ Source: (https://ec.europa.eu/eusurvey/runner/SIQAT_v200?startQuiz=true&surveyla
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Technical Interoperability Requirement ABB is a Requirement that must be met to help achieve technical interoperability.
 
-Source: Joinup
+Source: Portal
 (https://joinup.ec.europa.eu/sites/default/files/document/2019-06/High-level%20Interoperability%20Requirements%20Solution%20Architecture%20Template%20%28HL%20SAT%29%20Design%20Guidelines_0.pdf)
 
 EXAMPLES:
@@ -20381,7 +20381,7 @@ Source: (https://ec.europa.eu/eusurvey/runner/SIQAT_v200?startQuiz=true&surveyla
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Semantic Interoperability Requirement ABB is a Requirement that must be met to help achieve semantic interoperability.
 
-Source: Joinup
+Source: Portal
 (https://joinup.ec.europa.eu/sites/default/files/document/2019-06/High-level%20Interoperability%20Requirements%20Solution%20Architecture%20Template%20%28HL%20SAT%29%20Design%20Guidelines_0.pdf)
 
 EXAMPLES:
@@ -20657,7 +20657,7 @@ Source reference: http://eur-lex.europa.eu/resource.html?uri=cellar:2c2f2554-0fa
 
 Additional information: Studying the implementation orientation facilitate Member States in understanding the implementation impacts on the interoperability and the functioning of the digital public services from different perspectives.
 
-Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The four implementation orientations identified in IDPSIO, integration, technology, governance, and legal (see the Joinup IDPSIO solution home page: https://joinup.ec.europa.eu/collection/european-interoperability-reference-architecture-eira/solution/egovera/release/v210).
+Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The four implementation orientations identified in IDPSIO, integration, technology, governance, and legal (see the Portal IDPSIO solution home page: https://joinup.ec.europa.eu/collection/european-interoperability-reference-architecture-eira/solution/egovera/release/v210).
 
 IoP Dimension: Governance IoP
 
@@ -20690,7 +20690,7 @@ Last modification: 2022-12-01
     <skos:definition><![CDATA[Interoperable Digital Public Service Implementation Orientation ABB is a Constraint that implements the approach that a digital public service owner has to follow to implement their digital public services.]]></skos:definition>
     <eira:definitionSource>European Interoperability Framework (EIF)</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[http://eur-lex.europa.eu/resource.html?uri=cellar:2c2f2554-0faf-11e7-8a35-01aa75ed71a1.0017.02/DOC_3&format=PDF]]></eira:definitionSourceReference>
-    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The four implementation orientations identified in IDPSIO, integration, technology, governance, and legal (see the Joinup IDPSIO solution home page: https://joinup.ec.europa.eu/collection/european-interoperability-reference-architecture-eira/solution/egovera/release/v210).]]></skos:example>
+    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The four implementation orientations identified in IDPSIO, integration, technology, governance, and legal (see the Portal IDPSIO solution home page: https://joinup.ec.europa.eu/collection/european-interoperability-reference-architecture-eira/solution/egovera/release/v210).]]></skos:example>
     <eira:iopSaliency><![CDATA[Interoperable Digital Public Service Implementation Orientation ABB is salient for governance interoperability because it supports digital public service owners in deciding the approach to follow to implement their digital public services.]]></eira:iopSaliency>
     <skos:note><![CDATA[Studying the implementation orientation facilitate Member States in understanding the implementation impacts on the interoperability and the functioning of the digital public services from different perspectives.]]></skos:note>
     <eira:concept>eira:ArchitectureBuildingBlock</eira:concept>
@@ -25053,7 +25053,7 @@ Last modification: 2023-10-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Shared Infrastructure Content ABB is a Grouping that refers to the set of tools and services that pools IT infrastructure provided by the service provider (e.g. hardware, operating system software, associated operating processes and tools) that can be physically used by several users at the time, thus being "shared". In particular, the service provider ensures compliance with all security standards and the logical separation of data and applications
 
-Source: Joinup
+Source: Portal
 
 Source reference: https://joinup.ec.europa.eu/collection/nifo-national-interoperability-framework-observatory/glossary/term/shared-infrastructure
 
@@ -25091,7 +25091,7 @@ Last modification: 2022-31-01
     <dcterms:modified>2022-01-31</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Shared Infrastructure Content ABB is a Grouping that refers to the set of tools and services that pools IT infrastructure provided by the service provider (e.g. hardware, operating system software, associated operating processes and tools) that can be physically used by several users at the time, thus being "shared". In particular, the service provider ensures compliance with all security standards and the logical separation of data and applications]]></skos:definition>
-    <eira:definitionSource>Joinup</eira:definitionSource>
+    <eira:definitionSource>Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/collection/nifo-national-interoperability-framework-observatory/glossary/term/shared-infrastructure]]></eira:definitionSourceReference>
     <skos:example><![CDATA[]]></skos:example>
     <eira:iopSaliency><![CDATA[Shared Infrastructure Content ABB is a key interoperability enabler (*) for structural, behavioural and governance interoperability. It is salient for technical interoperability because it determines the tools and services that can be used by stakeholders or other digital services to interconnect services and data. This ABB also technically establish security standards compliance to deliver such public services.]]></eira:iopSaliency>
diff --git a/scripts/composer/post_install b/scripts/composer/post_install
index 6de8731c84..381a73ec8e 100755
--- a/scripts/composer/post_install
+++ b/scripts/composer/post_install
@@ -16,7 +16,7 @@ then
   exit 0;
 fi
 
-# Parse and save the Joinup version.
+# Parse and save the Portal version.
 test \"`git rev-parse --is-shallow-repository`\" = \"false\" || git fetch --unshallow
 git describe --tags 2>/dev/null | tr -d '\\n' > web/VERSION.txt
 
diff --git a/src/CodingStandards/Sniffs/NamingConventions/ValidUpdateNameSniff.php b/src/CodingStandards/Sniffs/NamingConventions/ValidUpdateNameSniff.php
index 67bddcea48..f87a1130f0 100644
--- a/src/CodingStandards/Sniffs/NamingConventions/ValidUpdateNameSniff.php
+++ b/src/CodingStandards/Sniffs/NamingConventions/ValidUpdateNameSniff.php
@@ -14,13 +14,13 @@
 /**
  * Checks the naming of (post)update/deploy functions.
  *
- * Joinup offers only _contiguous upgrades_. For instance, if your project is
- * currently on Joinup `v1.39.2`, and the latest stable version is `v1.42.0`,
+ * Portal offers only _contiguous upgrades_. For instance, if your project is
+ * currently on Portal `v1.39.2`, and the latest stable version is `v1.42.0`,
  * then you cannot upgrade directly to the latest version. Instead, you should
  * upgrade first to `v1.40.0`, second to `v1.40.1` (if exists) and, finally, to
  * `v1.42.0`.
  *
- * The Joinup update, post-update and deploy scripts namings are following this
+ * The Portal update, post-update and deploy scripts namings are following this
  * pattern:
  * @code
  * function mymodule_update_106100() {...}
@@ -38,19 +38,19 @@
  * - The last two digits are an integer that sets the weight within updates or
  *   post updates from the same extension (module or profile). `00` is the first
  *   (post)update/deploy that applies.
- * - The middle three digits are the Joinup minor version.
- * - The first one or two digits are the Joinup major version. It cannot start
+ * - The middle three digits are the Portal minor version.
+ * - The first one or two digits are the Portal major version. It cannot start
  *   with '0'.
  *
  * Given the above example:
  *
- * - `function mymodule_update_106100() {...}`: Was applied in Joinup `v1.61.x`
+ * - `function mymodule_update_106100() {...}`: Was applied in Portal `v1.61.x`
  *   as the first update of the `mymodule` module (`1` major version, `061`
  *   minor version, `00` update weight within the module).
- * - `function mymodule_post_update_207503() {...}`: Was applied in Joinup
+ * - `function mymodule_post_update_207503() {...}`: Was applied in Portal
  *   `v2.75.x` as the fourth post update of the `mymodule` module (`2` major
  *   version, `075` minor version, `03` post-update weight within the module).
- * - `function mymodule_deploy_1008101() {...}`: Was applied in Joinup
+ * - `function mymodule_deploy_1008101() {...}`: Was applied in Portal
  *   `v10.81.x` as the second deploy of the `mymodule` module (`10` major
  *   version, `081` minor version, `01` deploy weight within the module).
  *
@@ -117,7 +117,7 @@ protected function processTokenOutsideScope(File $phpcsFile, $stackPtr): void {
 
     $error = NULL;
     if (!ctype_digit($name) || !in_array(strlen($name), [6, 7])) {
-      $error = "Invalid '%s' identifier. Expected 6 or 7 digits:\n- 1-2 digits: Joinup major version\n- 3 digits: Joinup minor version\n- 2 digits: The %s weight";
+      $error = "Invalid '%s' identifier. Expected 6 or 7 digits:\n- 1-2 digits: Portal major version\n- 3 digits: Portal minor version\n- 2 digits: The %s weight";
       $data = [$name, $updateType];
     }
     elseif ($name[0] === '0') {
diff --git a/src/Composer/load.environment.php b/src/Composer/load.environment.php
index c7730a6b38..b77a84a4ea 100644
--- a/src/Composer/load.environment.php
+++ b/src/Composer/load.environment.php
@@ -21,9 +21,9 @@ function (string $file) use ($path): bool {
     return file_exists("{$path}/{$file}");
   }
 );
-// Joinup has been instructed by the devops team to use getenv() to import
+// Portal has been instructed by the devops team to use getenv() to import
 // environment variables in settings.php, so we need to use the unsafe method.
-// This means Joinup is not intended to be used in environments that use
+// This means Portal is not intended to be used in environments that use
 // php-fpm. Also, this file should not be included on any production environment
 // for performance reasons.
 // @see https://github.com/vlucas/phpdotenv/issues/446
diff --git a/src/Drush/Commands/JoinupDrushCommands.php b/src/Drush/Commands/JoinupDrushCommands.php
index 647b5ad411..7219a09634 100644
--- a/src/Drush/Commands/JoinupDrushCommands.php
+++ b/src/Drush/Commands/JoinupDrushCommands.php
@@ -12,7 +12,7 @@
 use Drush\Commands\DrushCommands;
 
 /**
- * Specific commands to run on Joinup code deployment.
+ * Specific commands to run on Portal code deployment.
  */
 class JoinupDrushCommands extends DrushCommands {
 
diff --git a/src/TaskRunner/Commands/JoinupEnvironmentCommands.php b/src/TaskRunner/Commands/JoinupEnvironmentCommands.php
index 035186593b..0b2042c9f3 100644
--- a/src/TaskRunner/Commands/JoinupEnvironmentCommands.php
+++ b/src/TaskRunner/Commands/JoinupEnvironmentCommands.php
@@ -15,17 +15,17 @@
 use Robo\Robo;
 
 /**
- * Joinup Environment Commands.
+ * Portal Environment Commands.
  */
 class JoinupEnvironmentCommands extends AbstractCommands {
 
   /**
-   * Displays information about Joinup environment.
+   * Displays information about Portal environment.
    *
    * @command joinup:environment
    *
    * @return string
-   *   A table with Joinup environment info.
+   *   A table with Portal environment info.
    */
   public function joinupEnvironment(): string {
     $php_version = phpversion();
@@ -40,7 +40,7 @@ public function joinupEnvironment(): string {
       " Selenium {$this->seleniumVersion()}\n" .
       " Node     {$this->nodeVersion()}\n" .
       " NPM      {$this->npmVersion()}\n" .
-      " Joinup   {$this->joinupVersion()}";
+      " Portal   {$this->joinupVersion()}";
   }
 
   /**
@@ -109,10 +109,10 @@ protected function solrVersion(): string {
   }
 
   /**
-   * Returns the Joinup version.
+   * Returns the Portal version.
    *
    * @return string
-   *   The Joinup version.
+   *   The Portal version.
    */
   protected function joinupVersion(): string {
     $config = $this->getConfig();
diff --git a/src/TaskRunner/Commands/VirtuosoCommands.php b/src/TaskRunner/Commands/VirtuosoCommands.php
index 3932e2fa72..9938c8cccd 100644
--- a/src/TaskRunner/Commands/VirtuosoCommands.php
+++ b/src/TaskRunner/Commands/VirtuosoCommands.php
@@ -9,7 +9,7 @@
 use Robo\Sparql\Tasks\Sparql\loadTasks;
 
 /**
- * Provides Joinup specific commands for Virtuoso backend.
+ * Provides Portal specific commands for Virtuoso backend.
  */
 class VirtuosoCommands extends AbstractCommands {
 
diff --git a/tests/features/adms_ap_compliance.feature b/tests/features/adms_ap_compliance.feature
index 4ff62516dc..d770ae64e3 100644
--- a/tests/features/adms_ap_compliance.feature
+++ b/tests/features/adms_ap_compliance.feature
@@ -1,5 +1,5 @@
 @api
-Feature: Joinup should be ADMS-AP compliant.
+Feature: Portal should be ADMS-AP compliant.
 
   Scenario: Validate the entities in the published graph.
     Given users:
@@ -47,4 +47,4 @@ Feature: Joinup should be ADMS-AP compliant.
       | title      | description                    | creation date    | access url                        | release | downloads | licence     | format | status    | representation technique | state     |
       | Omega3.zip | The zipped version of Omega 3. | 2017-11-11T11:20 | http://www.example.org/omega3.zip | Omega3  | 232       | Foo licence | ZIP    | Completed | Datalog                  | published |
       | Omega3.rdf | The RDF version of Omega 3.    | 2017-11-11T11:20 | empty.rdf                         | Omega3  | 232       | Foo licence | ZIP    | Completed | Datalog                  | published |
-    Then the ADMS-AP data of the published entities in Joinup is valid
+    Then the ADMS-AP data of the published entities in Portal is valid
diff --git a/tests/features/collection/collection.member_administration.feature b/tests/features/collection/collection.member_administration.feature
index 79a921b027..5d4ac69eb0 100644
--- a/tests/features/collection/collection.member_administration.feature
+++ b/tests/features/collection/collection.member_administration.feature
@@ -43,14 +43,14 @@ Feature: Collection membership administration
     And I go to the "Medical diagnosis" collection
     And I press "Join this collection"
     Then I should see the success message "Your membership to the Medical diagnosis collection is under approval."
-    And the email sent to "Lisa Cuddy" with subject "Joinup: A user has requested to join your collection" contains the following lines of text:
+    And the email sent to "Lisa Cuddy" with subject "Portal: A user has requested to join your collection" contains the following lines of text:
       | Donald Duck has requested to join your collection "Medical diagnosis" as a member. |
       | To approve or reject this request, click on                                        |
       | If you think this action is not clear or not due, please contact Portal Support at |
       | /collection/medical-diagnosis/members                                              |
     And the following email should have been sent:
       | recipient | Turkey Ham                                                                         |
-      | subject   | Joinup: A user has requested to join your collection                               |
+      | subject   | Portal: A user has requested to join your collection                               |
       | body      | Donald Duck has requested to join your collection "Medical diagnosis" as a member. |
 
   Scenario: Approve a membership
@@ -88,9 +88,9 @@ Feature: Collection membership administration
     Then I should see the following success messages:
       | success messages                                         |
       | Approve the pending membership(s) was applied to 1 item. |
-    And the email sent to "Kathie Cumbershot" with subject "Joinup: Your request to join the collection Medical diagnosis was approved" contains the following lines of text:
+    And the email sent to "Kathie Cumbershot" with subject "Portal: Your request to join the collection Medical diagnosis was approved" contains the following lines of text:
       | Lisa Cuddy has approved your request to join the "Medical diagnosis" collection |
-    But the email sent to "Kathie Cumbershot" with subject "Joinup: Your request to join the collection Medical diagnosis was approved" should not contain the following lines of text:
+    But the email sent to "Kathie Cumbershot" with subject "Portal: Your request to join the collection Medical diagnosis was approved" should not contain the following lines of text:
       | You will receive weekly notifications for newly created content on this collection. |
       | To manage your notifications go to "My subscriptions" in the user menu.             |
       | If you think this action is not clear or not due, please contact Portal Support at  |
@@ -124,7 +124,7 @@ Feature: Collection membership administration
     Then I should see the following success messages:
       | success messages                                         |
       | Approve the pending membership(s) was applied to 1 item. |
-    And the email sent to "Cam Bridge" with subject "Joinup: Your request to join the collection Medical diagnosis was approved" contains the following lines of text:
+    And the email sent to "Cam Bridge" with subject "Portal: Your request to join the collection Medical diagnosis was approved" contains the following lines of text:
       | Lisa Cuddy has approved your request to join and subscribe to the "Medical diagnosis" collection |
       | You will receive weekly notifications for newly created content on this collection.              |
       | To manage your notifications go to "My subscriptions" in the user menu.                          |
@@ -160,7 +160,7 @@ Feature: Collection membership administration
       | The member Kathie Cumbershot has been deleted from the 'Medical diagnosis' collection. |
     And the following email should have been sent:
       | recipient | Kathie Cumbershot                                                               |
-      | subject   | Joinup: Your request to join the collection Medical diagnosis was rejected      |
+      | subject   | Portal: Your request to join the collection Medical diagnosis was rejected      |
       | body      | Lisa Cuddy has rejected your request to join the "Medical diagnosis" collection |
 
     # Delete multiple members from collection.
diff --git a/tests/features/collection/collection.membership_management.feature b/tests/features/collection/collection.membership_management.feature
index 6bf6eeaf4a..f21da7ac04 100644
--- a/tests/features/collection/collection.membership_management.feature
+++ b/tests/features/collection/collection.membership_management.feature
@@ -1,28 +1,28 @@
 @api @joinup_collection @group-a
-Feature: Tests membership to Joinup collection.
+Feature: Tests membership to Portal collection.
 
   Background:
     Given the following collections:
       | title                   | state     |
       | An arbitrary collection | published |
 
-  Scenario: As a newly registered user, I'm automatically member of the 'Joinup'
+  Scenario: As a newly registered user, I'm automatically member of the 'Portal'
     collection and I cannot leave.
 
     Given I am logged in as a user with the member role of the "An arbitrary collection" collection
-    Then I am member of "Joinup" collection
+    Then I am member of "Portal" collection
 
     And I go to the homepage of the "An arbitrary collection" collection
     Then I should see the link "Leave this collection"
 
-    When I go to the homepage of the "Joinup" collection
+    When I go to the homepage of the "Portal" collection
     Then I should not see the link "Leave this collection"
 
-    When I am about to leave the "Joinup" collection
+    When I am about to leave the "Portal" collection
     Then I should get an access denied error
 
   Scenario: As a moderator I am able to revoke the membership of a user to any
-    arbitrary collection except 'Joinup'.
+    arbitrary collection except 'Portal'.
 
     Given users:
       | Username | E-mail           |
@@ -31,8 +31,8 @@ Feature: Tests membership to Joinup collection.
     And the following collection user membership:
       | collection              | user |
       | An arbitrary collection | joe  |
-    Then user "joe" is member of "Joinup" collection
-    And user "jane" is member of "Joinup" collection
+    Then user "joe" is member of "Portal" collection
+    And user "jane" is member of "Portal" collection
 
     Given I am logged in as a user with the moderator role
     And I am on the members page of "An arbitrary collection"
@@ -47,5 +47,5 @@ Feature: Tests membership to Joinup collection.
     When I press "Confirm"
     Then I should see the success message "The member joe has been deleted from the 'An arbitrary collection' collection."
 
-    Given I am on the members page of "Joinup"
+    Given I am on the members page of "Portal"
     Then the available options in the "Action" select should not include the "Delete the selected membership(s)" options
diff --git a/tests/features/collection/content_negotiation.feature b/tests/features/collection/content_negotiation.feature
index 6f41ce174b..456a8a9633 100644
--- a/tests/features/collection/content_negotiation.feature
+++ b/tests/features/collection/content_negotiation.feature
@@ -1,6 +1,6 @@
 @api @group-clone
 Feature: Export collection metadata
-  As a user of Joinup I am able to retrieve the content of entities in a machine readable format.
+  As a user of Portal I am able to retrieve the content of entities in a machine readable format.
 
   Scenario Outline: Export node data
     Given licence content:
diff --git a/tests/features/collection/export_metadata.feature b/tests/features/collection/export_metadata.feature
index e7ad02cc41..94abe85a53 100644
--- a/tests/features/collection/export_metadata.feature
+++ b/tests/features/collection/export_metadata.feature
@@ -1,6 +1,6 @@
 @api @group-a
 Feature: Export collection metadata
-  As a user of Joinup I should be able to download the ADMS properties of the collections.
+  As a user of Portal I should be able to download the ADMS properties of the collections.
 
   Scenario: Export RDF data
     Given a "licence_type" term with the name "Sample Licence type"
diff --git a/tests/features/collection/notification.collection.feature b/tests/features/collection/notification.collection.feature
index fee2632f19..ba1f1f8507 100644
--- a/tests/features/collection/notification.collection.feature
+++ b/tests/features/collection/notification.collection.feature
@@ -210,5 +210,5 @@ Feature: Notification test for the collection transitions.
       | body      | The collection "NC to delete by mod", of which you are a member, has been deleted. |
     And the following email should have been sent:
       | recipient | NC owner                                                              |
-      | subject   | Joinup: Your collection has been deleted by the moderation team       |
-      | body      | The Joinup moderation team deleted the collection NC to delete by mod |
+      | subject   | Portal: Your collection has been deleted by the moderation team       |
+      | body      | The Portal moderation team deleted the collection NC to delete by mod |
diff --git a/tests/features/collection/propose.feature b/tests/features/collection/propose.feature
index ecb653c499..81659a4425 100644
--- a/tests/features/collection/propose.feature
+++ b/tests/features/collection/propose.feature
@@ -1,8 +1,8 @@
 @api @group-a
 Feature: Proposing a collection
-  In order to create a new collection on Joinup
+  In order to create a new collection on Portal
   As the product owner of a collection of software solutions
-  I need to be able to propose a collection for inclusion on Joinup
+  I need to be able to propose a collection for inclusion on Portal
 
   # An anonymous user should be shown the option to add a collection, so that
   # the user will be aware that collections can be added by the public, even
@@ -236,7 +236,7 @@ Feature: Proposing a collection
     # Email confirmation occurs only for published groups.
     And the following email should not have been sent:
       | recipient_mail     | some_unique_contact_person@example.com                                                                                                |
-      | subject            | Joinup - Please validate your contact details                                                                                         |
+      | subject            | Portal - Please validate your contact details                                                                                         |
       | body               | Please confirm your email address some_unique_contact_person@example.com, which is set in your contact information for the following: |
       | signature_required | no                                                                                                                                    |
       | html               | yes                                                                                                                                   |
@@ -261,7 +261,7 @@ Feature: Proposing a collection
     # Email confirmation occurs only for published groups.
     And the following email should not have been sent:
       | recipient_mail     | contact_Rapazoglou@example.com                                                                                                |
-      | subject            | Joinup - Please validate your contact details                                                                                 |
+      | subject            | Portal - Please validate your contact details                                                                                 |
       | body               | Please confirm your email address contact_Rapazoglou@example.com, which is set in your contact information for the following: |
       | signature_required | no                                                                                                                            |
       | html               | yes                                                                                                                           |
@@ -272,7 +272,7 @@ Feature: Proposing a collection
     And I press "Publish"
     Then the following email should have been sent:
       | recipient_mail     | some_unique_contact_person@example.com                                                                                                |
-      | subject            | Joinup - Please validate your contact details                                                                                         |
+      | subject            | Portal - Please validate your contact details                                                                                         |
       | body               | Please confirm your email address some_unique_contact_person@example.com, which is set in your contact information for the following: |
       | signature_required | no                                                                                                                                    |
       | html               | yes                                                                                                                                   |
@@ -280,7 +280,7 @@ Feature: Proposing a collection
     And I press "Publish"
     And the following email should have been sent:
       | recipient_mail     | contact_Rapazoglou@example.com                                                                                                |
-      | subject            | Joinup - Please validate your contact details                                                                                 |
+      | subject            | Portal - Please validate your contact details                                                                                 |
       | body               | Please confirm your email address contact_Rapazoglou@example.com, which is set in your contact information for the following: |
       | signature_required | no                                                                                                                            |
       | html               | yes                                                                                                                           |
diff --git a/tests/features/comments/add_comment.feature b/tests/features/comments/add_comment.feature
index 7f3a83cf63..bfab9096de 100644
--- a/tests/features/comments/add_comment.feature
+++ b/tests/features/comments/add_comment.feature
@@ -50,20 +50,20 @@ Feature: Add comments
     # The author's full name should be shown, not the username.
     And I should see the link "Miss Tales"
     But I should not see the link "Miss tell tales"
-    And the email sent to "Comment moderator" with subject "Joinup: A new comment has been created." contains the following lines of text:
+    And the email sent to "Comment moderator" with subject "Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
       | If you think this action is not clear or not due, please contact Portal Support at http |
-    And the email sent to "Layonel Sarok" with subject "Joinup: A new comment has been created." contains the following lines of text:
+    And the email sent to "Layonel Sarok" with subject "Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
       | If you think this action is not clear or not due, please contact Portal Support at http |
-    And the email sent to "Korma Salya" with subject "Joinup: A new comment has been created." contains the following lines of text:
+    And the email sent to "Korma Salya" with subject "Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
       | If you think this action is not clear or not due, please contact Portal Support at http |
     # Owner receives an email.
-    And the email sent to "Salma Coster" with subject "Joinup: A new comment has been created." contains the following lines of text:
+    And the email sent to "Salma Coster" with subject "Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
       | If you think this action is not clear or not due, please contact Portal Support at http |
@@ -81,14 +81,14 @@ Feature: Add comments
     When I enter "I am replying in user's comment." in the "Create comment" wysiwyg editor
     And I press "Post comment"
     # Parent comment owner receives an email.
-    And the email sent to "Miss tell tales" with subject "Joinup: A new comment has been created." contains the following lines of text:
+    And the email sent to "Miss tell tales" with subject "Portal: A new comment has been created." contains the following lines of text:
       | Salma Coster posted a comment in <parent> "<parent title>".                             |
       | To view the comment click                                                               |
       | If you think this action is not clear or not due, please contact Portal Support at http |
     # The owner of the content does not receive a notification due to being the actor.
     And the following email should not have been sent:
       | recipient | Salma Coster                            |
-      | subject   | Joinup: A new comment has been created. |
+      | subject   | Portal: A new comment has been created. |
       | body      | Salma Coster posted a comment in        |
 
     Examples:
@@ -138,20 +138,20 @@ Feature: Add comments
     # The author's full name should be shown, not the username.
     And I should see the link "Miss Tales"
     But I should not see the link "Miss tell tales"
-    And the email sent to "Comment moderator" with subject "Joinup: A new comment has been created." contains the following lines of text:
+    And the email sent to "Comment moderator" with subject "Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
       | If you think this action is not clear or not due, please contact Portal Support at http |
-    And the email sent to "Layonel Sarok" with subject "Joinup: A new comment has been created." contains the following lines of text:
+    And the email sent to "Layonel Sarok" with subject "Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
       | If you think this action is not clear or not due, please contact Portal Support at http |
-    And the email sent to "Korma Salya" with subject "Joinup: A new comment has been created." contains the following lines of text:
+    And the email sent to "Korma Salya" with subject "Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
       | If you think this action is not clear or not due, please contact Portal Support at http |
     # Owner receives an email.
-    And the email sent to "Salma Coster" with subject "Joinup: A new comment has been created." contains the following lines of text:
+    And the email sent to "Salma Coster" with subject "Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
       | If you think this action is not clear or not due, please contact Portal Support at http |
@@ -169,14 +169,14 @@ Feature: Add comments
     When I enter "I am replying in user's comment." in the "Create comment" wysiwyg editor
     And I press "Post comment"
     # Parent comment owner receives an email.
-    And the email sent to "Miss tell tales" with subject "Joinup: A new comment has been created." contains the following lines of text:
+    And the email sent to "Miss tell tales" with subject "Portal: A new comment has been created." contains the following lines of text:
       | Salma Coster posted a comment in <parent> "<parent title>".                             |
       | To view the comment click                                                               |
       | If you think this action is not clear or not due, please contact Portal Support at http |
     # The owner of the content does not receive a notification due to being the actor.
     And the following email should not have been sent:
       | recipient | Salma Coster                            |
-      | subject   | Joinup: A new comment has been created. |
+      | subject   | Portal: A new comment has been created. |
       | body      | Salma Coster posted a comment in        |
 
     Examples:
diff --git a/tests/features/comments/delete_comment.feature b/tests/features/comments/delete_comment.feature
index 4865b4ddef..3a3f158616 100644
--- a/tests/features/comments/delete_comment.feature
+++ b/tests/features/comments/delete_comment.feature
@@ -48,5 +48,5 @@ Feature: Delete comments
     Then I press "Delete"
     Then the following email should have been sent:
       | recipient | Tim Berners Lee                                                                                                                                                  |
-      | subject   | Joinup: Your comment has been deleted.                                                                                                                            |
+      | subject   | Portal: Your comment has been deleted.                                                                                                                            |
       | body      | Do Re Mi Facilitator deleted your comment in "RDF Schemas for government use". To avoid comment moderation in the future, please read our community guidelines at |
diff --git a/tests/features/comments/edit_comment.feature b/tests/features/comments/edit_comment.feature
index 6ae3174548..b9f5bd7d5d 100644
--- a/tests/features/comments/edit_comment.feature
+++ b/tests/features/comments/edit_comment.feature
@@ -24,6 +24,6 @@ Feature: Edit a comment
     And I click "Edit" in comment #1
     And I fill in "Create comment" with "Cracking the web."
     And I press "Post comment"
-    Then the email sent to "Comment edit moderator" with subject "Joinup: A comment has been updated." contains the following lines of text:
+    Then the email sent to "Comment edit moderator" with subject "Portal: A comment has been updated." contains the following lines of text:
       | Sons Anarchy updated the comment in "Paying with cash".                            |
       | If you think this action is not clear or not due, please contact Portal Support at |
diff --git a/tests/features/communities/eupl/jla.feature b/tests/features/communities/eupl/jla.feature
index 9be6727674..ce30585696 100644
--- a/tests/features/communities/eupl/jla.feature
+++ b/tests/features/communities/eupl/jla.feature
@@ -125,12 +125,12 @@ Feature:
       | http://joinup.eu/spdx/LGPL-2.1   | LGPL-2.1   | LGPL-2.1   |
     And licence content:
       | uri                               | title             | spdx licence | legal type                                                            |
-      | http://joinup.eu/licence/apache20 | Joinup Apache-2.0 | Apache-2.0   | Strong Community, Royalty free, Modify, Governments/EU, Use/reproduce |
-      | http://joinup.eu/licence/gpl2plus | Joinup GPL-2.0+   | GPL-2.0+     | Distribute                                                            |
-      | http://joinup.eu/licence/bsl1     | Joinup BSL-1.0    | BSL-1.0      | Distribute, Modify                                                    |
-      | http://joinup.eu/licence/0bsd     | Joinup 0BSD       | 0BSD         | Distribute, Royalty free                                              |
-      | http://joinup.eu/licence/upl1     | Joinup UPL-1.0    | UPL-1.0      | Distribute, Royalty free, Governments/EU                              |
-      | http://joinup.eu/licence/lgpl21   | Joinup LGPL-2.1   | LGPL-2.1     | Distribute, Royalty free, Governments/EU, Place warranty              |
+      | http://joinup.eu/licence/apache20 | Portal Apache-2.0 | Apache-2.0   | Strong Community, Royalty free, Modify, Governments/EU, Use/reproduce |
+      | http://joinup.eu/licence/gpl2plus | Portal GPL-2.0+   | GPL-2.0+     | Distribute                                                            |
+      | http://joinup.eu/licence/bsl1     | Portal BSL-1.0    | BSL-1.0      | Distribute, Modify                                                    |
+      | http://joinup.eu/licence/0bsd     | Portal 0BSD       | 0BSD         | Distribute, Royalty free                                              |
+      | http://joinup.eu/licence/upl1     | Portal UPL-1.0    | UPL-1.0      | Distribute, Royalty free, Governments/EU                              |
+      | http://joinup.eu/licence/lgpl21   | Portal LGPL-2.1   | LGPL-2.1     | Distribute, Royalty free, Governments/EU, Place warranty              |
 
     Given I am an anonymous user
     When I visit the "JLA" custom page
@@ -205,7 +205,7 @@ Feature:
     When I am on "/licence/compare/Apache-2.0;GPL-2.0+;NOT-EXIST"
     Then I should get a 404 HTTP response
 
-    # Test the page with SPDX IDs without a corresponding Joinup licence.
+    # Test the page with SPDX IDs without a corresponding Portal licence.
     When I am on "/licence/compare/Apache-2.0;GPL-2.0+;BSL-1.0"
     Then I should get a 404 HTTP response
 
@@ -411,9 +411,9 @@ Feature:
       | http://joinup.eu/spdx/BSL-1.0    | BSL-1.0    | BSL-1.0    |
     And licence content:
       | uri                               | title             | spdx licence | legal type                                                            |
-      | http://joinup.eu/licence/apache20 | Joinup Apache-2.0 | Apache-2.0   | Strong Community, Royalty free, Modify, Governments/EU, Use/reproduce |
-      | http://joinup.eu/licence/gpl2plus | Joinup GPL-2.0+   | GPL-2.0+     | Distribute                                                            |
-      | http://joinup.eu/licence/bsl1     | Joinup BSL-1.0    | BSL-1.0      | Distribute, Modify                                                    |
+      | http://joinup.eu/licence/apache20 | Portal Apache-2.0 | Apache-2.0   | Strong Community, Royalty free, Modify, Governments/EU, Use/reproduce |
+      | http://joinup.eu/licence/gpl2plus | Portal GPL-2.0+   | GPL-2.0+     | Distribute                                                            |
+      | http://joinup.eu/licence/bsl1     | Portal BSL-1.0    | BSL-1.0      | Distribute, Modify                                                    |
 
     Given I am an anonymous user
     When I visit the "JLA" custom page
diff --git a/tests/features/communities/eupl/jlc.feature b/tests/features/communities/eupl/jlc.feature
index 877d456f70..c7782b36b6 100644
--- a/tests/features/communities/eupl/jlc.feature
+++ b/tests/features/communities/eupl/jlc.feature
@@ -32,7 +32,7 @@ Feature:
       | http://joinup.eu/spdx/OFL-1.1          | OFL-1.1          | OFL-1.1          |
       | http://joinup.eu/spdx/OSL-3.0          | OSL-3.0          | OSL-3.0          |
       # The following two are non-existing licences tailored to test cases T17 and T18
-      # since none of the licences that are included in Joinup at this time match them.
+      # since none of the licences that are included in Portal at this time match them.
       | http://joinup.eu/spdx/DATA             | DATA             | DATA             |
       | http://joinup.eu/spdx/SOFT             | SOFT             | SOFT             |
 
@@ -468,7 +468,7 @@ Feature:
     # Regression test for ISAICP-9014
     Given collection:
       | uri   | http://data.europa.eu/w21/df34e3a2-207b-4910-a804-344931654e20 |
-      | title | Joinup                                                         |
+      | title | Portal                                                         |
       | state | published                                                      |
     And SPDX licences:
       | uri                             | title     | ID        |
diff --git a/tests/features/community_content/content_sharing.feature b/tests/features/community_content/content_sharing.feature
index 506d842a24..969949dc5f 100644
--- a/tests/features/community_content/content_sharing.feature
+++ b/tests/features/community_content/content_sharing.feature
@@ -359,7 +359,7 @@ Feature: Sharing content between collections
       | Facebook               |
       | Twitter                |
       | Linkedin               |
-      | Other groups on Joinup |
+      | Other groups on Portal |
     When I check "Gossip"
     And I press "Share" in the "Modal buttons" region
     Then I should see the success message "Item was shared on the following groups: Gossip."
diff --git a/tests/features/community_content/notification.post_moderated.discussion.feature b/tests/features/community_content/notification.post_moderated.discussion.feature
index 499c988083..679fd3de71 100644
--- a/tests/features/community_content/notification.post_moderated.discussion.feature
+++ b/tests/features/community_content/notification.post_moderated.discussion.feature
@@ -38,7 +38,7 @@ Feature: Notification test for the discussion transitions on a post moderated pa
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                   |
-      | subject   | Joinup: Content has been published                                                                                                                                         |
+      | subject   | Portal: Content has been published                                                                                                                                         |
       | body      | CC Member has published the new discussion - "CC notify create publish" in the collection: "CC post collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -48,7 +48,7 @@ Feature: Notification test for the discussion transitions on a post moderated pa
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                       |
-      | subject   | Joinup: Content has been published                                                                             |
+      | subject   | Portal: Content has been published                                                                             |
       | body      | CC Member has published the new discussion - "CC notify post publish" in the collection: "CC post collection". |
 
     When I am logged in as "CC facilitator"
@@ -60,7 +60,7 @@ Feature: Notification test for the discussion transitions on a post moderated pa
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                         |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                                  |
+      | subject   | Portal: Content has been updated                                                                                                                                                                                  |
       | body      | the Facilitator, CC Facilitator has requested you to modify the discussion - "CC notify post request changes" in the collection: "CC post collection", with the following motivation: "Can you do some changes?". |
 
     When I am logged in as "CC facilitator"
@@ -72,7 +72,7 @@ Feature: Notification test for the discussion transitions on a post moderated pa
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                         |
+      | subject   | Portal: Content has been updated                                                                                                                                                                         |
       | body      | the Facilitator, CC Facilitator has requested you to modify the discussion - "CC notify post report" in the collection: "CC post collection", with the following motivation: "Your content is reported". |
 
     When I mark all emails as read
@@ -83,7 +83,7 @@ Feature: Notification test for the discussion transitions on a post moderated pa
     Then 1 e-mail should have been sent
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                               |
-      | subject   | Joinup: Content has been updated                                                                                                                                        |
+      | subject   | Portal: Content has been updated                                                                                                                                        |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the discussion - "CC notify post approve proposed" in the collection: "CC post collection". |
 
     # Test 'delete' operation.
@@ -96,11 +96,11 @@ Feature: Notification test for the discussion transitions on a post moderated pa
     Then 1 e-mail should have been sent
     Then the following email should not have been sent:
       | recipient | CC member                                                                                                                |
-      | subject   | Joinup: Content has been deleted                                                                                         |
+      | subject   | Portal: Content has been deleted                                                                                         |
       | body      | Facilitator CC Facilitator has deleted the discussion - "CC notify post delete" in the collection: "CC post collection". |
     But the following email should have been sent:
       | recipient | CC member                                                                                                          |
-      | subject   | Joinup: The discussion "CC notify post delete" was deleted in the space of "CC post collection"                    |
+      | subject   | Portal: The discussion "CC notify post delete" was deleted in the space of "CC post collection"                    |
       | body      | for your information, the discussion "CC notify post delete" was deleted from the "CC post collection" collection. |
 
     Examples:
@@ -138,6 +138,6 @@ Feature: Notification test for the discussion transitions on a post moderated pa
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | Lindsey McCray                                                            |
-      | subject   | Joinup: Your collection has been deleted by the moderation team           |
-      | body      | The Joinup moderation team deleted the collection Event Horizon Telescope |
+      | subject   | Portal: Your collection has been deleted by the moderation team           |
+      | body      | The Portal moderation team deleted the collection Event Horizon Telescope |
     And 1 e-mail should have been sent
diff --git a/tests/features/community_content/notification.post_moderated.document.feature b/tests/features/community_content/notification.post_moderated.document.feature
index 2f8b504822..b312ee0c83 100644
--- a/tests/features/community_content/notification.post_moderated.document.feature
+++ b/tests/features/community_content/notification.post_moderated.document.feature
@@ -42,7 +42,7 @@ Feature: Notification test for the document transitions on a post moderated pare
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                            |
-      | subject   | Joinup: Content has been published                                                                                                                                  |
+      | subject   | Portal: Content has been published                                                                                                                                  |
       | body      | CC Member has published the new document - "CC notify create publish" in the collection: "CC collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -52,7 +52,7 @@ Feature: Notification test for the document transitions on a post moderated pare
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                |
-      | subject   | Joinup: Content has been published                                                                      |
+      | subject   | Portal: Content has been published                                                                      |
       | body      | CC Member has published the new document - "CC notify post publish" in the collection: "CC collection". |
 
     When I am logged in as "CC facilitator"
@@ -64,7 +64,7 @@ Feature: Notification test for the document transitions on a post moderated pare
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                  |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                           |
+      | subject   | Portal: Content has been updated                                                                                                                                                                           |
       | body      | the Facilitator, CC Facilitator has requested you to modify the document - "CC notify post request changes" in the collection: "CC collection", with the following motivation: "Can you do some changes?". |
 
     When I am logged in as "CC facilitator"
@@ -76,7 +76,7 @@ Feature: Notification test for the document transitions on a post moderated pare
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                         |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                  |
+      | subject   | Portal: Content has been updated                                                                                                                                                                  |
       | body      | the Facilitator, CC Facilitator has requested you to modify the document - "CC notify post report" in the collection: "CC collection", with the following motivation: "Your content is reported". |
 
     When I am logged in as "CC facilitator"
@@ -85,7 +85,7 @@ Feature: Notification test for the document transitions on a post moderated pare
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                        |
-      | subject   | Joinup: Content has been updated                                                                                                                                 |
+      | subject   | Portal: Content has been updated                                                                                                                                 |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the document - "CC notify post approve proposed" in the collection: "CC collection". |
 
     # Test 'delete' operation.
@@ -96,7 +96,7 @@ Feature: Notification test for the document transitions on a post moderated pare
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                         |
-      | subject   | Joinup: Content has been deleted                                                                                  |
+      | subject   | Portal: Content has been deleted                                                                                  |
       | body      | Facilitator CC Facilitator has deleted the document - "CC notify post delete" in the collection: "CC collection". |
 
     Examples:
diff --git a/tests/features/community_content/notification.post_moderated.event.feature b/tests/features/community_content/notification.post_moderated.event.feature
index af68977faf..ad5d625dfe 100644
--- a/tests/features/community_content/notification.post_moderated.event.feature
+++ b/tests/features/community_content/notification.post_moderated.event.feature
@@ -42,7 +42,7 @@ Feature: Notification test for the event transitions on a post moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                               |
-      | subject   | Joinup: Content has been published                                                                                                                                     |
+      | subject   | Portal: Content has been published                                                                                                                                     |
       | body      | CC Member has published the new event - "CC notify create publish" in the collection: "CC post collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -52,7 +52,7 @@ Feature: Notification test for the event transitions on a post moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                  |
-      | subject   | Joinup: Content has been published                                                                        |
+      | subject   | Portal: Content has been published                                                                        |
       | body      | CC Member has published the new event - "CC notify post publish" in the collection: "CC post collection". |
 
     When I am logged in as "CC facilitator"
@@ -64,7 +64,7 @@ Feature: Notification test for the event transitions on a post moderated parent.
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                    |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                             |
+      | subject   | Portal: Content has been updated                                                                                                                                                                             |
       | body      | the Facilitator, CC Facilitator has requested you to modify the event - "CC notify post request changes" in the collection: "CC post collection", with the following motivation: "Can you do some changes?". |
 
     When I am logged in as "CC facilitator"
@@ -76,7 +76,7 @@ Feature: Notification test for the event transitions on a post moderated parent.
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                           |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                    |
+      | subject   | Portal: Content has been updated                                                                                                                                                                    |
       | body      | the Facilitator, CC Facilitator has requested you to modify the event - "CC notify post report" in the collection: "CC post collection", with the following motivation: "Your content is reported". |
 
     When I am logged in as "CC facilitator"
@@ -85,7 +85,7 @@ Feature: Notification test for the event transitions on a post moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                          |
-      | subject   | Joinup: Content has been updated                                                                                                                                   |
+      | subject   | Portal: Content has been updated                                                                                                                                   |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the event - "CC notify post approve proposed" in the collection: "CC post collection". |
 
     # Test 'delete' operation.
@@ -96,7 +96,7 @@ Feature: Notification test for the event transitions on a post moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                           |
-      | subject   | Joinup: Content has been deleted                                                                                    |
+      | subject   | Portal: Content has been deleted                                                                                    |
       | body      | Facilitator CC Facilitator has deleted the event - "CC notify post delete" in the collection: "CC post collection". |
 
     Examples:
diff --git a/tests/features/community_content/notification.post_moderated.news.feature b/tests/features/community_content/notification.post_moderated.news.feature
index 5778913ac6..9ac0326987 100644
--- a/tests/features/community_content/notification.post_moderated.news.feature
+++ b/tests/features/community_content/notification.post_moderated.news.feature
@@ -42,7 +42,7 @@ Feature: Notification test for the news transitions on a post moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                       |
-      | subject   | Joinup: Content has been published                                                                                                                             |
+      | subject   | Portal: Content has been published                                                                                                                             |
       | body      | CC Member has published the new news - "CCN create publish" in the collection: "CC post collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -52,7 +52,7 @@ Feature: Notification test for the news transitions on a post moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                           |
-      | subject   | Joinup: Content has been published                                                                 |
+      | subject   | Portal: Content has been published                                                                 |
       | body      | CC Member has published the new news - "CCN post publish" in the collection: "CC post collection". |
 
     When I am logged in as "CC facilitator"
@@ -62,7 +62,7 @@ Feature: Notification test for the news transitions on a post moderated parent.
     Then I should see the error message "This action requires you to fill in the motivation field"
     When I fill in "Motivation" with "Can you do some changes?"
     And I press "Request changes"
-    Then the email sent to "CC member" with subject "Joinup: Content has been updated" contains the following lines of text:
+    Then the email sent to "CC member" with subject "Portal: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN post request changes" in the collection: "CC post collection", with the following motivation: "Can you do some changes?". |
       | If you think this action is not clear or not due, please contact Portal Support at                                                                                                                    |
 
@@ -73,7 +73,7 @@ Feature: Notification test for the news transitions on a post moderated parent.
     Then I should see the error message "This action requires you to fill in the motivation field"
     When I fill in "Motivation" with "Your content is reported"
     And I press "Request changes"
-    Then the email sent to "CC member" with subject "Joinup: Content has been updated" contains the following lines of text:
+    Then the email sent to "CC member" with subject "Portal: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN post report" in the collection: "CC post collection", with the following motivation: "Your content is reported". |
       | If you think this action is not clear or not due, please contact Portal Support at                                                                                                           |
 
@@ -83,7 +83,7 @@ Feature: Notification test for the news transitions on a post moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                   |
-      | subject   | Joinup: Content has been updated                                                                                                                            |
+      | subject   | Portal: Content has been updated                                                                                                                            |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the news - "CCN post approve proposed" in the collection: "CC post collection". |
 
     # Test 'delete' operation.
@@ -94,7 +94,7 @@ Feature: Notification test for the news transitions on a post moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                    |
-      | subject   | Joinup: Content has been deleted                                                                             |
+      | subject   | Portal: Content has been deleted                                                                             |
       | body      | Facilitator CC Facilitator has deleted the news - "CCN post delete" in the collection: "CC post collection". |
 
     Examples:
diff --git a/tests/features/community_content/notification.pre_moderated.discussion.feature b/tests/features/community_content/notification.pre_moderated.discussion.feature
index a1e8d9480f..c9faf41991 100644
--- a/tests/features/community_content/notification.pre_moderated.discussion.feature
+++ b/tests/features/community_content/notification.pre_moderated.discussion.feature
@@ -45,7 +45,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                      |
-      | subject   | Joinup: Content has been proposed                                                                                             |
+      | subject   | Portal: Content has been proposed                                                                                             |
       | body      | CC Member has submitted a new discussion - "CC notify create propose" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -57,7 +57,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                       |
-      | subject   | Joinup: Content has been published                                                                                                                                             |
+      | subject   | Portal: Content has been published                                                                                                                                             |
       | body      | CC Facilitator has published the new discussion - "CC notify create publish" in the collection: "CC pre collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -67,7 +67,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                   |
-      | subject   | Joinup: Content has been proposed                                                                                          |
+      | subject   | Portal: Content has been proposed                                                                                          |
       | body      | CC Member has submitted a new discussion - "CC notify pre propose" for publication in the collection: "CC pre collection". |
 
     When I go to the "CC notify pre propose from reported" discussion
@@ -75,7 +75,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                          |
-      | subject   | Joinup: Content has been updated                                                                                                                                                  |
+      | subject   | Portal: Content has been updated                                                                                                                                                  |
       | body      | CC Member has updated the content of the discussion - "CC notify pre propose from reported" as advised and requests again its publication in the collection: "CC pre collection". |
 
     When I go to the "CC notify pre request deletion" discussion
@@ -86,7 +86,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Request deletion"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                                |
-      | subject   | Joinup: Content has been updated                                                                                                                                                        |
+      | subject   | Portal: Content has been updated                                                                                                                                                        |
       | body      | CC Member has requested to delete the discussion - "CC notify pre request deletion" in the collection: "CC pre collection", with the following motivation: "I just want to delete it.". |
 
     When I go to the "CC notify published to revise" discussion
@@ -94,7 +94,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Propose changes"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                      |
-      | subject   | Joinup: Content has been proposed                                                                                                             |
+      | subject   | Portal: Content has been proposed                                                                                                             |
       | body      | CC Member has submitted an update of the discussion - "CC notify published to revise" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -103,7 +103,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                          |
-      | subject   | Joinup: Content has been published                                                                                |
+      | subject   | Portal: Content has been published                                                                                |
       | body      | CC Facilitator has published the new discussion - "CC notify pre publish" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -115,11 +115,11 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                       |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                                |
+      | subject   | Portal: Content has been updated                                                                                                                                                                                |
       | body      | the Facilitator, CC Facilitator has requested you to modify the discussion - "CC notify pre request changes" in the collection: "CC pre collection", with the following motivation: "Can you do some changes?". |
     But the following email should not have been sent:
       | recipient | CC owner                                                                                                                                           |
-      | subject   | Joinup: Content has been proposed                                                                                                                  |
+      | subject   | Portal: Content has been proposed                                                                                                                  |
       | body      | CC Facilitator has submitted an update of the discussion - "CC notify pre request changes" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -131,7 +131,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                              |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                       |
+      | subject   | Portal: Content has been updated                                                                                                                                                                       |
       | body      | the Facilitator, CC Facilitator has requested you to modify the discussion - "CC notify pre report" in the collection: "CC pre collection", with the following motivation: "Your content is reported". |
 
     When I am logged in as "CC facilitator"
@@ -140,7 +140,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                             |
-      | subject   | Joinup: Content has been updated                                                                                                                                      |
+      | subject   | Portal: Content has been updated                                                                                                                                      |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the discussion - "CC notify pre approve proposed" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -152,7 +152,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Reject deletion"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                          |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                                   |
+      | subject   | Portal: Content has been updated                                                                                                                                                                                   |
       | body      | the Facilitator, CC Facilitator has not approved your request to delete the discussion - "CC notify pre reject deletion" in the collection: "CC pre collection", with the following motivation: "I still like it". |
 
     # Test 'delete' operation on an entity in 'deletion_request' state.
@@ -163,7 +163,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                            |
-      | subject   | Joinup: The discussion "CC notify pre delete" was deleted in the space of "CC pre collection"                    |
+      | subject   | Portal: The discussion "CC notify pre delete" was deleted in the space of "CC pre collection"                    |
       | body      | for your information, the discussion "CC notify pre delete" was deleted from the "CC pre collection" collection. |
 
     When I am logged in as "CC facilitator"
@@ -173,7 +173,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                      |
-      | subject   | Joinup: The discussion "CC notify pre request deletion" was deleted in the space of "CC pre collection"                    |
+      | subject   | Portal: The discussion "CC notify pre request deletion" was deleted in the space of "CC pre collection"                    |
       | body      | for your information, the discussion "CC notify pre request deletion" was deleted from the "CC pre collection" collection. |
 
     # Test 'delete' operation on an entity in 'published' state.
@@ -184,5 +184,5 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                       |
-      | subject   | Joinup: The discussion "CC notify published to delete" was deleted in the space of "CC pre collection"                    |
+      | subject   | Portal: The discussion "CC notify published to delete" was deleted in the space of "CC pre collection"                    |
       | body      | for your information, the discussion "CC notify published to delete" was deleted from the "CC pre collection" collection. |
diff --git a/tests/features/community_content/notification.pre_moderated.document.feature b/tests/features/community_content/notification.pre_moderated.document.feature
index 4ae607f21d..465692c819 100644
--- a/tests/features/community_content/notification.pre_moderated.document.feature
+++ b/tests/features/community_content/notification.pre_moderated.document.feature
@@ -49,7 +49,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                    |
-      | subject   | Joinup: Content has been proposed                                                                                           |
+      | subject   | Portal: Content has been proposed                                                                                           |
       | body      | CC Member has submitted a new document - "CC notify create propose" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -65,7 +65,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                     |
-      | subject   | Joinup: Content has been published                                                                                                                                           |
+      | subject   | Portal: Content has been published                                                                                                                                           |
       | body      | CC Facilitator has published the new document - "CC notify create publish" in the collection: "CC pre collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -75,7 +75,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                 |
-      | subject   | Joinup: Content has been proposed                                                                                        |
+      | subject   | Portal: Content has been proposed                                                                                        |
       | body      | CC Member has submitted a new document - "CC notify pre propose" for publication in the collection: "CC pre collection". |
 
     When I go to the "CC notify pre propose from reported" document
@@ -83,7 +83,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                        |
-      | subject   | Joinup: Content has been updated                                                                                                                                                |
+      | subject   | Portal: Content has been updated                                                                                                                                                |
       | body      | CC Member has updated the content of the document - "CC notify pre propose from reported" as advised and requests again its publication in the collection: "CC pre collection". |
 
     When I go to the "CC notify pre request deletion" document
@@ -94,7 +94,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Request deletion"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                              |
-      | subject   | Joinup: Content has been updated                                                                                                                                                      |
+      | subject   | Portal: Content has been updated                                                                                                                                                      |
       | body      | CC Member has requested to delete the document - "CC notify pre request deletion" in the collection: "CC pre collection", with the following motivation: "I just want to delete it.". |
 
     When I go to the "CC notify published to revise" document
@@ -102,7 +102,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Propose changes"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                    |
-      | subject   | Joinup: Content has been proposed                                                                                                           |
+      | subject   | Portal: Content has been proposed                                                                                                           |
       | body      | CC Member has submitted an update of the document - "CC notify published to revise" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -111,7 +111,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                        |
-      | subject   | Joinup: Content has been published                                                                              |
+      | subject   | Portal: Content has been published                                                                              |
       | body      | CC Facilitator has published the new document - "CC notify pre publish" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -123,11 +123,11 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                     |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                              |
+      | subject   | Portal: Content has been updated                                                                                                                                                                              |
       | body      | the Facilitator, CC Facilitator has requested you to modify the document - "CC notify pre request changes" in the collection: "CC pre collection", with the following motivation: "Can you do some changes?". |
     But the following email should not have been sent:
       | recipient | CC owner                                                                                                                                         |
-      | subject   | Joinup: Content has been proposed                                                                                                                |
+      | subject   | Portal: Content has been proposed                                                                                                                |
       | body      | CC Facilitator has submitted an update of the document - "CC notify pre request changes" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -139,7 +139,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                            |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                     |
+      | subject   | Portal: Content has been updated                                                                                                                                                                     |
       | body      | the Facilitator, CC Facilitator has requested you to modify the document - "CC notify pre report" in the collection: "CC pre collection", with the following motivation: "Your content is reported". |
 
     When I am logged in as "CC facilitator"
@@ -148,7 +148,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                           |
-      | subject   | Joinup: Content has been updated                                                                                                                                    |
+      | subject   | Portal: Content has been updated                                                                                                                                    |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the document - "CC notify pre approve proposed" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -160,7 +160,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Reject deletion"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                        |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                                 |
+      | subject   | Portal: Content has been updated                                                                                                                                                                                 |
       | body      | the Facilitator, CC Facilitator has not approved your request to delete the document - "CC notify pre reject deletion" in the collection: "CC pre collection", with the following motivation: "I still like it". |
 
     # Test 'delete' operation on an entity in 'deletion_request' state.
@@ -171,7 +171,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                          |
-      | subject   | Joinup: Content has been deleted                                                                                                                   |
+      | subject   | Portal: Content has been deleted                                                                                                                   |
       | body      | Facilitator CC Facilitator has approved your request of deletion for the document - "CC notify pre delete" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -181,7 +181,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                    |
-      | subject   | Joinup: Content has been deleted                                                                                                                             |
+      | subject   | Portal: Content has been deleted                                                                                                                             |
       | body      | Facilitator CC Facilitator has approved your request of deletion for the document - "CC notify pre request deletion" in the collection: "CC pre collection". |
 
     # Test 'delete' operation on an entity in 'published' state.
@@ -192,5 +192,5 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                     |
-      | subject   | Joinup: Content has been deleted                                                                                              |
+      | subject   | Portal: Content has been deleted                                                                                              |
       | body      | Facilitator CC Facilitator has deleted the document - "CC notify published to delete" in the collection: "CC pre collection". |
diff --git a/tests/features/community_content/notification.pre_moderated.event.feature b/tests/features/community_content/notification.pre_moderated.event.feature
index c03f0929ae..08e2b8820e 100644
--- a/tests/features/community_content/notification.pre_moderated.event.feature
+++ b/tests/features/community_content/notification.pre_moderated.event.feature
@@ -49,7 +49,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                 |
-      | subject   | Joinup: Content has been proposed                                                                                        |
+      | subject   | Portal: Content has been proposed                                                                                        |
       | body      | CC Member has submitted a new event - "CC notify create propose" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -65,7 +65,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                   |
-      | subject   | Joinup: Content has been published                                                                                                                                         |
+      | subject   | Portal: Content has been published                                                                                                                                         |
       | body      | CC Facilitator has published the new event - "CC notify create publish" in the collection: "CC pre collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -75,7 +75,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                              |
-      | subject   | Joinup: Content has been proposed                                                                                     |
+      | subject   | Portal: Content has been proposed                                                                                     |
       | body      | CC Member has submitted a new event - "CC notify pre propose" for publication in the collection: "CC pre collection". |
 
     When I go to the "CC notify pre propose from reported" event
@@ -83,7 +83,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                     |
-      | subject   | Joinup: Content has been updated                                                                                                                                             |
+      | subject   | Portal: Content has been updated                                                                                                                                             |
       | body      | CC Member has updated the content of the event - "CC notify pre propose from reported" as advised and requests again its publication in the collection: "CC pre collection". |
 
     When I go to the "CC notify pre request deletion" event
@@ -94,7 +94,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Request deletion"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                           |
-      | subject   | Joinup: Content has been updated                                                                                                                                                   |
+      | subject   | Portal: Content has been updated                                                                                                                                                   |
       | body      | CC Member has requested to delete the event - "CC notify pre request deletion" in the collection: "CC pre collection", with the following motivation: "I just want to delete it.". |
 
     When I go to the "CC notify published to revise" event
@@ -102,7 +102,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Propose changes"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                 |
-      | subject   | Joinup: Content has been proposed                                                                                                        |
+      | subject   | Portal: Content has been proposed                                                                                                        |
       | body      | CC Member has submitted an update of the event - "CC notify published to revise" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -111,7 +111,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                     |
-      | subject   | Joinup: Content has been published                                                                           |
+      | subject   | Portal: Content has been published                                                                           |
       | body      | CC Facilitator has published the new event - "CC notify pre publish" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -123,11 +123,11 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                  |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                           |
+      | subject   | Portal: Content has been updated                                                                                                                                                                           |
       | body      | the Facilitator, CC Facilitator has requested you to modify the event - "CC notify pre request changes" in the collection: "CC pre collection", with the following motivation: "Can you do some changes?". |
     But the following email should not have been sent:
       | recipient | CC owner                                                                                                                                      |
-      | subject   | Joinup: Content has been proposed                                                                                                             |
+      | subject   | Portal: Content has been proposed                                                                                                             |
       | body      | CC Facilitator has submitted an update of the event - "CC notify pre request changes" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -139,7 +139,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                         |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                  |
+      | subject   | Portal: Content has been updated                                                                                                                                                                  |
       | body      | the Facilitator, CC Facilitator has requested you to modify the event - "CC notify pre report" in the collection: "CC pre collection", with the following motivation: "Your content is reported". |
 
     When I am logged in as "CC facilitator"
@@ -148,7 +148,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                        |
-      | subject   | Joinup: Content has been updated                                                                                                                                 |
+      | subject   | Portal: Content has been updated                                                                                                                                 |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the event - "CC notify pre approve proposed" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -160,7 +160,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Reject deletion"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                     |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                              |
+      | subject   | Portal: Content has been updated                                                                                                                                                                              |
       | body      | the Facilitator, CC Facilitator has not approved your request to delete the event - "CC notify pre reject deletion" in the collection: "CC pre collection", with the following motivation: "I still like it". |
 
     # Test 'delete' operation on an entity in 'deletion_request' state.
@@ -171,7 +171,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                       |
-      | subject   | Joinup: Content has been deleted                                                                                                                |
+      | subject   | Portal: Content has been deleted                                                                                                                |
       | body      | Facilitator CC Facilitator has approved your request of deletion for the event - "CC notify pre delete" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -181,7 +181,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                 |
-      | subject   | Joinup: Content has been deleted                                                                                                                          |
+      | subject   | Portal: Content has been deleted                                                                                                                          |
       | body      | Facilitator CC Facilitator has approved your request of deletion for the event - "CC notify pre request deletion" in the collection: "CC pre collection". |
 
     # Test 'delete' operation on an entity in 'published' state.
@@ -192,5 +192,5 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                  |
-      | subject   | Joinup: Content has been deleted                                                                                           |
+      | subject   | Portal: Content has been deleted                                                                                           |
       | body      | Facilitator CC Facilitator has deleted the event - "CC notify published to delete" in the collection: "CC pre collection". |
diff --git a/tests/features/community_content/notification.pre_moderated.news.feature b/tests/features/community_content/notification.pre_moderated.news.feature
index 99e92497b4..d703967ddb 100644
--- a/tests/features/community_content/notification.pre_moderated.news.feature
+++ b/tests/features/community_content/notification.pre_moderated.news.feature
@@ -47,7 +47,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
       | field_body:format | content_editor     |
     And I select "Statistics and Analysis" from "Topic"
     And I press "Propose"
-    Then the email sent to "CC owner" with subject "Joinup: Content has been proposed" contains the following lines of text:
+    Then the email sent to "CC owner" with subject "Portal: Content has been proposed" contains the following lines of text:
       | CC Member has submitted a new news - "CCN create propose" for publication in the collection: "CC pre collection". |
       | If you think this action is not clear or not due, please contact Portal Support at                                |
 
@@ -64,9 +64,9 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | Notify moderator                                                                                                             |
-      | subject   | Joinup: Content has been proposed                                                                                            |
+      | subject   | Portal: Content has been proposed                                                                                            |
       | body      | CC Member has submitted an update of the news - "CCN create propose" for publication in the collection: "CC pre collection". |
-    And the email sent to "CC owner" with subject "Joinup: Content has been proposed" contains the following lines of text:
+    And the email sent to "CC owner" with subject "Portal: Content has been proposed" contains the following lines of text:
       | CC Member has submitted an update of the news - "CCN create propose" for publication in the collection: "CC pre collection". |
       | If you think this action is not clear or not due, please contact Portal Support at                                           |
 
@@ -83,7 +83,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                           |
-      | subject   | Joinup: Content has been published                                                                                                                                 |
+      | subject   | Portal: Content has been published                                                                                                                                 |
       | body      | CC Facilitator has published the new news - "CCN create publish" in the collection: "CC pre collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -91,14 +91,14 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I go to the "CCN pre propose" news
     And I click "Edit" in the "Entity actions" region
     And I press "Propose"
-    Then the email sent to "CC owner" with subject "Joinup: Content has been proposed" contains the following lines of text:
+    Then the email sent to "CC owner" with subject "Portal: Content has been proposed" contains the following lines of text:
       | CC Member has submitted a new news - "CCN pre propose" for publication in the collection: "CC pre collection". |
       | If you think this action is not clear or not due, please contact Portal Support at                             |
 
     When I go to the "CCN pre propose from reported" news
     And I click "Edit" in the "Entity actions" region
     And I press "Propose"
-    Then the email sent to "CC owner" with subject "Joinup: Content has been updated" contains the following lines of text:
+    Then the email sent to "CC owner" with subject "Portal: Content has been updated" contains the following lines of text:
       | CC Member has updated the content of the news - "CCN pre propose from reported" as advised and requests again its publication in the collection: "CC pre collection". |
       | If you think this action is not clear or not due, please contact Portal Support at                                                                                    |
 
@@ -108,7 +108,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     Then I should see the error message "This action requires you to fill in the motivation field"
     When I fill in "Motivation" with "I just want to delete it."
     And I press "Request deletion"
-    Then the email sent to "CC owner" with subject "Joinup: Content has been updated" contains the following lines of text:
+    Then the email sent to "CC owner" with subject "Portal: Content has been updated" contains the following lines of text:
       | CC Member has requested to delete the news - "CCN pre request deletion" in the collection: "CC pre collection", with the following motivation: "I just want to delete it.". |
       | If you think this action is not clear or not due, please contact Portal Support at                                                                                          |
 
@@ -117,7 +117,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Propose changes"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                          |
-      | subject   | Joinup: Content has been proposed                                                                                                 |
+      | subject   | Portal: Content has been proposed                                                                                                 |
       | body      | CC Member has submitted an update of the news - "CCN published to revise" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -126,7 +126,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                              |
-      | subject   | Joinup: Content has been published                                                                    |
+      | subject   | Portal: Content has been published                                                                    |
       | body      | CC Facilitator has published the new news - "CCN pre publish" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -136,12 +136,12 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     Then I should see the error message "This action requires you to fill in the motivation field"
     When I fill in "Motivation" with "Can you do some changes?"
     And I press "Request changes"
-    Then the email sent to "CC member" with subject "Joinup: Content has been updated" contains the following lines of text:
+    Then the email sent to "CC member" with subject "Portal: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN pre request changes" in the collection: "CC pre collection", with the following motivation: "Can you do some changes?". |
       | If you think this action is not clear or not due, please contact Portal Support at                                                                                                                  |
     But the following email should not have been sent:
       | recipient | CC owner                                                                                                                               |
-      | subject   | Joinup: Content has been proposed                                                                                                      |
+      | subject   | Portal: Content has been proposed                                                                                                      |
       | body      | CC Facilitator has submitted an update of the news - "CCN pre request changes" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -151,7 +151,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     Then I should see the error message "This action requires you to fill in the motivation field"
     When I fill in "Motivation" with "Your content is reported"
     And I press "Request changes"
-    Then the email sent to "CC member" with subject "Joinup: Content has been updated" contains the following lines of text:
+    Then the email sent to "CC member" with subject "Portal: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN pre report" in the collection: "CC pre collection", with the following motivation: "Your content is reported". |
       | If you think this action is not clear or not due, please contact Portal Support at                                                                                                         |
 
@@ -161,7 +161,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                 |
-      | subject   | Joinup: Content has been updated                                                                                                                          |
+      | subject   | Portal: Content has been updated                                                                                                                          |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the news - "CCN pre approve proposed" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -173,7 +173,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Reject deletion"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                              |
-      | subject   | Joinup: Content has been updated                                                                                                                                                                       |
+      | subject   | Portal: Content has been updated                                                                                                                                                                       |
       | body      | the Facilitator, CC Facilitator has not approved your request to delete the news - "CCN pre reject deletion" in the collection: "CC pre collection", with the following motivation: "I still like it". |
 
     # Test 'delete' operation.
@@ -184,7 +184,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                |
-      | subject   | Joinup: Content has been deleted                                                                                                         |
+      | subject   | Portal: Content has been deleted                                                                                                         |
       | body      | Facilitator CC Facilitator has approved your request of deletion for the news - "CCN pre delete" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -194,7 +194,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                          |
-      | subject   | Joinup: Content has been deleted                                                                                                                   |
+      | subject   | Portal: Content has been deleted                                                                                                                   |
       | body      | Facilitator CC Facilitator has approved your request of deletion for the news - "CCN pre request deletion" in the collection: "CC pre collection". |
 
     # Test 'delete' operation for a published entity.
@@ -205,5 +205,5 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                           |
-      | subject   | Joinup: Content has been deleted                                                                                    |
+      | subject   | Portal: Content has been deleted                                                                                    |
       | body      | Facilitator CC Facilitator has deleted the news - "CCN published to delete" in the collection: "CC pre collection". |
diff --git a/tests/features/contact_form/report.feature b/tests/features/contact_form/report.feature
index 5f236390d4..d20e062f62 100644
--- a/tests/features/contact_form/report.feature
+++ b/tests/features/contact_form/report.feature
@@ -37,16 +37,16 @@ Feature: Submit the contact form
     Then the following email should have been sent:
       | template  | Report contact form                                                                                                                                                                             |
       | recipient | Report moderator                                                                                                                                                                                |
-      | subject   | Joinup: This content has invalid location                                                                                                                                                       |
+      | subject   | Portal: This content has invalid location                                                                                                                                                       |
       | body      | Balourdos Tsolias has reported the item "Event to report" as abusive due to The location described as "Somewhere" could not be found by my map application. You can access the reported content |
     And the following email should have been sent:
       | template  | Report contact form                                                                                                                                                                             |
       | recipient | Report owner                                                                                                                                                                                    |
-      | subject   | Joinup: This content has invalid location                                                                                                                                                       |
+      | subject   | Portal: This content has invalid location                                                                                                                                                       |
       | body      | Balourdos Tsolias has reported the item "Event to report" as abusive due to The location described as "Somewhere" could not be found by my map application. You can access the reported content |
     And the following email should have been sent:
       | recipient_mail | balourdos@example.rg               |
-      | subject        | Joinup: Contact form notification  |
+      | subject        | Portal: Contact form notification  |
       | body           | We will reply as soon as possible. |
     And I should see the heading "Event to report"
 
@@ -64,5 +64,5 @@ Feature: Submit the contact form
     Given I press "Submit"
     Then the following email should have been sent:
       | recipient_mail | gbelson@hooli.com                                                                                         |
-      | subject        | Joinup: Contact form notification                                                                         |
+      | subject        | Portal: Contact form notification                                                                         |
       | body           | I don't want to live in a world where someone else is making the world a better place better than we are. |
diff --git a/tests/features/contact_form/submit_contact_form.feature b/tests/features/contact_form/submit_contact_form.feature
index dd0e7a5155..fb8ab2c6ff 100644
--- a/tests/features/contact_form/submit_contact_form.feature
+++ b/tests/features/contact_form/submit_contact_form.feature
@@ -57,7 +57,7 @@ Feature: Submit the contact form
       | template           | Contact form submission                       |
       | from               | digit-joinup@ec.europa.eu                     |
       | recipient_mail     | DIGIT-JOINUP-SUPPORT-EXT-FORWARD@ec.europa.eu |
-      | subject            | Joinup - Contact form submission              |
+      | subject            | Portal - Contact form submission              |
       | body               | Dear sir, madam, ...                          |
       | signature_required | no                                            |
     And I should see the following success messages:
diff --git a/tests/features/eulogin/eulogin.feature b/tests/features/eulogin/eulogin.feature
index cc5342b769..090394ce84 100644
--- a/tests/features/eulogin/eulogin.feature
+++ b/tests/features/eulogin/eulogin.feature
@@ -2,7 +2,7 @@
 Feature: Log in through EU Login
   In order to access all website of the European Commission with the same credentials
   As a user with an existing EU Login account
-  I need to be able to register and log in to Joinup using EU Login
+  I need to be able to register and log in to Portal using EU Login
 
   Scenario: A local account is auto-registered on user choice.
     Given CAS users:
@@ -23,7 +23,7 @@ Feature: Log in through EU Login
     And I press "Log in"
 
     # The user gets redirected back to Drupal.
-    Then I should see the success message "Fill in the fields below to let the Joinup community learn more about you!"
+    Then I should see the success message "Fill in the fields below to let the Portal community learn more about you!"
 
     # The user has been redirected to its user account edit form.
     Then the following fields should be present "Email, First name, Family name, Photo, Country of origin, Professional domain, Business title"
@@ -80,7 +80,7 @@ Feature: Log in through EU Login
     When I fill in "E-mail address" with "007.changed@mi6.eu"
     And I fill in "Password" with "shaken_not_stirred"
     When I press "Log in"
-    Then I should see the error message "You've recently changed your EU Login account email but that email is already used in Joinup by another user. You cannot login until, either you change your EU Login email or you contact support to fix the issue."
+    Then I should see the error message "You've recently changed your EU Login account email but that email is already used in Portal by another user. You cannot login until, either you change your EU Login email or you contact support to fix the issue."
     And I should see the link "contact support"
 
     # Change the EU Login account email to a unique value.
@@ -131,7 +131,7 @@ Feature: Log in through EU Login
     And I should not see "full_cas_profile"
     And I should see the following lines of text:
       | Account information                                                                                                                                                                                                       |
-      | Your name and E-mail are inherited from EU Login. To update this information, you can visit your EU Login account page. Synchronisation will take a few minutes and it will be visible the next time you login on Joinup. |
+      | Your name and E-mail are inherited from EU Login. To update this information, you can visit your EU Login account page. Synchronisation will take a few minutes and it will be visible the next time you login on Portal. |
       | Your e-mail address is not made public. We will only send you necessary system notifications and you can opt in later if you wish to receive additional notifications about content you are subscribed to.                |
       | Your first name is publicly visible.                                                                                                                                                                                      |
       | Your last name is publicly visible.                                                                                                                                                                                       |
@@ -155,7 +155,7 @@ Feature: Log in through EU Login
     And the following fields should be disabled "Family name"
     But I should not see "Username"
     And I should not see "partial_cas_profile"
-    And I should see "Your name and E-mail are inherited from EU Login. To update this information, you can visit your EU Login account page. Synchronisation will take a few minutes and it will be visible the next time you login on Joinup."
+    And I should see "Your name and E-mail are inherited from EU Login. To update this information, you can visit your EU Login account page. Synchronisation will take a few minutes and it will be visible the next time you login on Portal."
     But I should not see "Fail - Password length must be at least 8 characters."
     And I should not see "Password character length of at least 8"
     And I should not see "Fail - Password must contain at least 3 types of characters from the following character types: lowercase letters, uppercase letters, digits, special characters."
@@ -181,7 +181,7 @@ Feature: Log in through EU Login
     But I should not see "Username"
     # The username appears in the page header because this use has no first and
     # last name. But we check the absence of "Username" and this is enough.
-    And I should see "Your name and E-mail are inherited from EU Login. To update this information, you can visit your EU Login account page. Synchronisation will take a few minutes and it will be visible the next time you login on Joinup."
+    And I should see "Your name and E-mail are inherited from EU Login. To update this information, you can visit your EU Login account page. Synchronisation will take a few minutes and it will be visible the next time you login on Portal."
     But I should not see "Fail - Password length must be at least 8 characters."
     And I should not see "Password character length of at least 8"
     And I should not see "Fail - Password must contain at least 3 types of characters from the following character types: lowercase letters, uppercase letters, digits, special characters."
@@ -224,7 +224,7 @@ Feature: Log in through EU Login
 
     Then I should see the following error message:
       | error messages                                                                                                                                                                                                                                           |
-      | While trying to register your account with Joinup, we found that your EU Login email address joe@example.com is already in use on our site. Either change your EU Login email address or contact the Joinup support if you feel that something is wrong. |
+      | While trying to register your account with Portal, we found that your EU Login email address joe@example.com is already in use on our site. Either change your EU Login email address or contact the Portal support if you feel that something is wrong. |
 
   Scenario: A new user tries to register with an existing username.
     Given users:
@@ -240,7 +240,7 @@ Feature: Log in through EU Login
     When I fill in "E-mail address" with "joe.cas@example.com"
     When I fill in "Password" with "123"
     And I press "Log in"
-    Then I should see the success message "Fill in the fields below to let the Joinup community learn more about you!"
+    Then I should see the success message "Fill in the fields below to let the Portal community learn more about you!"
 
   Scenario: The Drupal registration tab has been removed and the /user/register
   route redirects to EU Login registration form.
@@ -349,7 +349,7 @@ Feature: Log in through EU Login
     When I fill in "E-mail address" with "joe@example.com"
     When I fill in "Password" with "123"
     And I press "Log in"
-    Then I should see the error message "Registering new accounts to Joinup is temporarily disabled. Please come back later."
+    Then I should see the error message "Registering new accounts to Portal is temporarily disabled. Please come back later."
     # Check that the user is not logged in.
     And I should see the link "Sign in"
 
@@ -365,4 +365,4 @@ Feature: Log in through EU Login
     When I fill in "E-mail address" with "joe@example.com"
     When I fill in "Password" with "123"
     And I press "Log in"
-    Then I should see the success message "Fill in the fields below to let the Joinup community learn more about you!"
+    Then I should see the success message "Fill in the fields below to let the Portal community learn more about you!"
diff --git a/tests/features/featured_entities.feature b/tests/features/featured_entities.feature
index fb72dd4058..3f28a79be5 100644
--- a/tests/features/featured_entities.feature
+++ b/tests/features/featured_entities.feature
@@ -1,6 +1,6 @@
 @api @javascript
 Feature: Featuring content site-wide
-  As a moderator of Joinup
+  As a moderator of Portal
   I want to feature content in the website
   So that important content has more visibility
 
diff --git a/tests/features/footer.feature b/tests/features/footer.feature
index 79243eaa0c..b707385a33 100644
--- a/tests/features/footer.feature
+++ b/tests/features/footer.feature
@@ -8,7 +8,7 @@ Feature: Footer
     Given I am not logged in
     And I visit "<page>"
     Then I should see the Interoperable Europe logo in the footer
-    And I should see the Joinup version in the footer
+    And I should see the Portal version in the footer
 
     Examples:
       | page                             |
@@ -17,7 +17,7 @@ Feature: Footer
       | /search                          |
       # Page rendered with Interoperable Europe theme.
       | /interoperable-europe            |
-      # Page rendered with the legacy Joinup Theme theme.
+      # Page rendered with the legacy Portal Theme theme.
       | /collection/joinup               |
 
   Scenario: Regression test to show/hide menu item.
diff --git a/tests/features/header.feature b/tests/features/header.feature
index 9cdcabf0cd..8433f4ba00 100644
--- a/tests/features/header.feature
+++ b/tests/features/header.feature
@@ -35,7 +35,7 @@ Feature: Header
       | page         |
       # A page with the new Ventuno theme.
       | search page |
-      # A page with the old Joinup Theme theme.
+      # A page with the old Portal Theme theme.
       | collection overview |
 
   @joinup @javascript
@@ -64,5 +64,5 @@ Feature: Header
       | page         |
       # A page with the new Ventuno theme.
       | search page |
-      # A page with the old Joinup Theme theme.
+      # A page with the old Portal Theme theme.
       | collection overview |
diff --git a/tests/features/homepage.feature b/tests/features/homepage.feature
index 793ecc3cfb..cb6cadc67e 100644
--- a/tests/features/homepage.feature
+++ b/tests/features/homepage.feature
@@ -10,8 +10,8 @@ Feature: Homepage
     When I reload the page
     Then the page should be cached
     And I should see the following lines of text:
-      | The Joinup platform is the European Commission's one-stop shop for interoperable, open, and free digital government ICT solutions and an online space for e-Government professionals and enthusiasts to share and learn about digital public services and initiatives. |
-      | Joinup covers the hands-on aspects of interoperability.                                                                                                                                                                                                                |
+      | The Portal platform is the European Commission's one-stop shop for interoperable, open, and free digital government ICT solutions and an online space for e-Government professionals and enthusiasts to share and learn about digital public services and initiatives. |
+      | Portal covers the hands-on aspects of interoperability.                                                                                                                                                                                                                |
       | It’s the European Commission’s initiative for a reinforced interoperability policy showcasing news and events about government-related interoperability, along with initiatives and best practices that support the digitalisation of EU public administrations.       |
       | Interoperable Europe covers the policy angle of interoperability.                                                                                                                                                                                                      |
     And I should see the following links:
@@ -23,16 +23,16 @@ Feature: Homepage
     Given I am not logged in
     # Visit once to cache the page.
     And I am on the homepage
-    Then I should see the text "The Joinup platform is the European Commission's one-stop shop for interoperable"
+    Then I should see the text "The Portal platform is the European Commission's one-stop shop for interoperable"
 
     Given I am logged in as a user with the "authenticated" role
     And I am on the homepage
-    Then I should not see the text "The Joinup platform is the European Commission's one-stop shop for interoperable"
+    Then I should not see the text "The Portal platform is the European Commission's one-stop shop for interoperable"
 
     # Re check for anonymous users.
     Given I am not logged in
     And I am on the homepage
-    Then I should see the text "The Joinup platform is the European Commission's one-stop shop for interoperable"
+    Then I should see the text "The Portal platform is the European Commission's one-stop shop for interoperable"
 
   Scenario: Latest news is shown on the homepage
     Given collection:
@@ -56,7 +56,7 @@ Feature: Homepage
 
     # There is a "More news" link that for the moment leads to the search page
     # pre-filtered on news articles. In the future this will become a dedicated
-    # page showing all the news on Joinup.
+    # page showing all the news on Portal.
     Given I am on the homepage
     When I click "More news"
     Then I should be on the advanced search page
@@ -196,8 +196,8 @@ Feature: Homepage
     And I should see the "Florentine steak festival" tile
 
   @joinupVersion
-  Scenario Outline: The current version of the Joinup platform is shown in the footer.
-    Given the Joinup version is set to "<version>"
+  Scenario Outline: The current version of the Portal platform is shown in the footer.
+    Given the Portal version is set to "<version>"
     When I am on the homepage
     Then I should see the link "<version>" in the Footer region
     And the "<version>" link should point to "<url>"
diff --git a/tests/features/joinup_core/input_filter.feature b/tests/features/joinup_core/input_filter.feature
index f17ad04947..a3be9c61bf 100644
--- a/tests/features/joinup_core/input_filter.feature
+++ b/tests/features/joinup_core/input_filter.feature
@@ -20,8 +20,8 @@ Feature: Input filter
       | Luke cage               | <iframe width="50" height="50" src="https://www.example.com" ></iframe>                                                                                                                                                                                                                                                                                                                                                                        | Netflix group | published |
       | Slideshare presentation | <iframe src="//www.slideshare.net/slideshow/embed_code/key/hJ3x3pTrtGaatQ" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>                                                                                                                                                            | Netflix group | published |
       | Google docs             | <iframe frameborder="0" height="800" marginheight="0" marginwidth="0" src="https://docs.google.com/forms/d/1dBGzMp9whY2Ibxf4pUQNadpE2C3ywxdDefSSM3BdwJ4/viewform?embedded=true" width="100%">Loading...</iframe>                                                                                                                                                                                                                               | Netflix group | published |
-      | Joinup iframe           | <iframe frameborder="0" height="800" marginheight="0" marginwidth="0" src="/homepage" width="100%"></iframe>                                                                                                                                                                                                                                                                                                                                   | Netflix group | published |
-      | Quoted texts            | <q>This is a famous quote.</q> ~ Joinup developer.                                                                                                                                                                                                                                                                                                                                                                                             | Netflix group | published |
+      | Portal iframe           | <iframe frameborder="0" height="800" marginheight="0" marginwidth="0" src="/homepage" width="100%"></iframe>                                                                                                                                                                                                                                                                                                                                   | Netflix group | published |
+      | Quoted texts            | <q>This is a famous quote.</q> ~ Portal developer.                                                                                                                                                                                                                                                                                                                                                                                             | Netflix group | published |
       # Since area coordinates contains commas and we don't want this to be interpreted as multiple values we need to enclose the value with double quotes and escape the quotes in the HTML.
       | Image map               | "<map name=""imagemap""><area shape=""circle"" coords=""50,50,25"" href=""/"" alt=""Homepage""/></map><img usemap=""imagemap"" src=""/images/my-image.png"" alt=""Imagemap example"" />"                                                                                                                                                                                                                                                       | Netflix group | published |
       | Accessibility planning  | Accessibility planning is framed in the context of social exclusion within transport planning <img src="/web/sites/default/files/logo.png" />                                                                                                                                                                                                                                                                                                  | Netflix group | published |
@@ -34,13 +34,13 @@ Feature: Input filter
     Then I see the "iframe" element with the "src" attribute set to "https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/hJ3x3pTrtGaatQ&lang=en" in the "Content" region
     When I go to the "Google docs" discussion
     Then I see the "iframe" element with the "src" attribute set to "https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//docs.google.com/forms/d/1dBGzMp9whY2Ibxf4pUQNadpE2C3ywxdDefSSM3BdwJ4/viewform%3Fembedded%3Dtrue&lang=en" in the "Content" region
-    When I go to the "Joinup iframe" discussion
+    When I go to the "Portal iframe" discussion
     # Local urls are not prone to the external cookie consent check.
     Then I see the "iframe" element with the "src" attribute set to "/homepage" in the "Content" region
     When I go to the "Luke cage" discussion
     Then I should not see the "iframe" element with the "src" attribute set to "https://www.example.com" in the "Content" region
     When I go to the "Quoted texts" discussion
-    Then the response should contain "<q>This is a famous quote.</q> ~ Joinup developer."
+    Then the response should contain "<q>This is a famous quote.</q> ~ Portal developer."
     When I go to the "Image map" discussion
     Then I see the "map" element with the "name" attribute set to "imagemap" in the "Content" region
     And I see the "img" element with the "usemap" attribute set to "imagemap" in the "Content" region
diff --git a/tests/features/joinup_core/persistent_uris.feature b/tests/features/joinup_core/persistent_uris.feature
index abee9c48ba..fda1176f9b 100644
--- a/tests/features/joinup_core/persistent_uris.feature
+++ b/tests/features/joinup_core/persistent_uris.feature
@@ -87,7 +87,7 @@ Feature:
 
     # Our semantic content has a persistent canonical path at Europe's
     # official data portal: "http://data.europa.eu/w21/{uuid}". The data portal
-    # links back to the Joinup servers.
+    # links back to the Portal servers.
     Given I am on "data/w21/ffb0ffc9-7704-45d3-95b3-42706b6320e5"
     Then I should see the heading "Persistent solution"
     And I should see "Persistent solution description"
diff --git a/tests/features/joinup_core/reporting.feature b/tests/features/joinup_core/reporting.feature
index fa2816cab4..f8373953f1 100644
--- a/tests/features/joinup_core/reporting.feature
+++ b/tests/features/joinup_core/reporting.feature
@@ -2,7 +2,7 @@
 Feature:
   As a site moderator/administrator
   When I'm logged in
-  I want to be able to access the Joinup reporting section.
+  I want to be able to access the Portal reporting section.
 
   Scenario Outline: Test the general access to Reporting section.
     Given I am logged in as a user with the <role> role
diff --git a/tests/features/joinup_core/transfer_group_ownership.feature b/tests/features/joinup_core/transfer_group_ownership.feature
index c483a48152..7db6f52a52 100644
--- a/tests/features/joinup_core/transfer_group_ownership.feature
+++ b/tests/features/joinup_core/transfer_group_ownership.feature
@@ -129,7 +129,7 @@ Feature: As a group (collection or solution) owner or site moderator
     And I am on the members page of "Babylon"
     Then the available options in the "Action" select should not include the "Transfer the ownership of the solution to the selected member" options
 
-  # In Joinup every owner is also a facilitator, so if a normal member is
+  # In Portal every owner is also a facilitator, so if a normal member is
   # promoted to owner, they should also become a facilitator.
   Scenario Outline: If ownership is transferred to a normal member, it should also include the facilitator role
     Given I am logged in as "light"
diff --git a/tests/features/joinup_discussion/discussion.invite.feature b/tests/features/joinup_discussion/discussion.invite.feature
index b45fc8e4ff..b9c8e0d06c 100644
--- a/tests/features/joinup_discussion/discussion.invite.feature
+++ b/tests/features/joinup_discussion/discussion.invite.feature
@@ -161,12 +161,12 @@ Feature: Invite members to subscribe to discussions
     Then I should see the success message "2 user(s) have been invited to this discussion."
     And the following email should have been sent:
       | recipient | Glory Ruskin                                                                                              |
-      | subject   | Lynwood Crawford invited you to follow a discussion on Joinup.                                            |
-      | body      | Lynwood Crawford invited you to participate in the discussion Concerned about dissolved gases? on Joinup. |
+      | subject   | Lynwood Crawford invited you to follow a discussion on Portal.                                            |
+      | body      | Lynwood Crawford invited you to participate in the discussion Concerned about dissolved gases? on Portal. |
     And the following email should have been sent:
       | recipient | paternoster                                                                                               |
-      | subject   | Lynwood Crawford invited you to follow a discussion on Joinup.                                            |
-      | body      | Lynwood Crawford invited you to participate in the discussion Concerned about dissolved gases? on Joinup. |
+      | subject   | Lynwood Crawford invited you to follow a discussion on Portal.                                            |
+      | body      | Lynwood Crawford invited you to participate in the discussion Concerned about dissolved gases? on Portal. |
     And 2 e-mails should have been sent
 
     # Try if it is possible to resend an invitation.
@@ -178,8 +178,8 @@ Feature: Invite members to subscribe to discussions
     Then I should see the success message "The invitation was resent to 1 user(s) that were already invited previously but haven't yet accepted the invitation."
     And the following email should have been sent:
       | recipient | Glory Ruskin                                                                                              |
-      | subject   | Lynwood Crawford invited you to follow a discussion on Joinup.                                            |
-      | body      | Lynwood Crawford invited you to participate in the discussion Concerned about dissolved gases? on Joinup. |
+      | subject   | Lynwood Crawford invited you to follow a discussion on Portal.                                            |
+      | body      | Lynwood Crawford invited you to participate in the discussion Concerned about dissolved gases? on Portal. |
 
     # Accept an invitation by clicking on the link in the e-mail.
     # Initially there should not be any subscriptions.
diff --git a/tests/features/joinup_discussion/discussion.subscribe.feature b/tests/features/joinup_discussion/discussion.subscribe.feature
index 601afeec08..7916e2141d 100644
--- a/tests/features/joinup_discussion/discussion.subscribe.feature
+++ b/tests/features/joinup_discussion/discussion.subscribe.feature
@@ -1,6 +1,6 @@
 @api @group-e
 Feature: Following discussions
-  As a member of Joinup
+  As a member of Portal
   I want to follow interesting discussions
   So that I can stay up to date with its evolvement
 
@@ -79,18 +79,18 @@ Feature: Following discussions
     # Subscribers are receiving the notifications.
     And the following email should have been sent:
       | recipient_mail | dale@example.com                                                                              |
-      | subject        | Joinup: User Flash Gordon posted a comment in discussion "Rare Butter"                        |
+      | subject        | Portal: User Flash Gordon posted a comment in discussion "Rare Butter"                        |
       | body           | Flash Gordon has posted a comment on discussion "Rare Butter" in "Dairy products" collection. |
     # The user 'debater' is also a discussion subscriber but because he's the
     # author of the comment, he will not receive the notification.
     And the following email should not have been sent:
       | recipient_mail | flash@example.com                                                                             |
-      | subject        | Joinup: User Flash Gordon posted a comment in discussion "Rare Butter"                        |
+      | subject        | Portal: User Flash Gordon posted a comment in discussion "Rare Butter"                        |
       | body           | Flash Gordon has posted a comment on discussion "Rare Butter" in "Dairy products" collection. |
     # Discussion author is receiving the notifications too.
     And the following email should have been sent:
       | recipient_mail | hans@example.com                                                                              |
-      | subject        | Joinup: User Flash Gordon posted a comment in discussion "Rare Butter"                        |
+      | subject        | Portal: User Flash Gordon posted a comment in discussion "Rare Butter"                        |
       | body           | Flash Gordon has posted a comment on discussion "Rare Butter" in "Dairy products" collection. |
 
     # No E-mail notification is sent when the discussion is updated but no
@@ -108,16 +108,16 @@ Feature: Following discussions
     And I press "Update"
     Then the following email should have been sent:
       | recipient_mail | dale@example.com                                                                  |
-      | subject        | Joinup: The discussion "Rare Butter" was updated in the space of "Dairy products" |
+      | subject        | Portal: The discussion "Rare Butter" was updated in the space of "Dairy products" |
       | body           | The discussion "Rare Butter" was updated in the "Dairy products" collection.      |
     And the following email should have been sent:
       | recipient_mail | flash@example.com                                                                 |
-      | subject        | Joinup: The discussion "Rare Butter" was updated in the space of "Dairy products" |
+      | subject        | Portal: The discussion "Rare Butter" was updated in the space of "Dairy products" |
       | body           | The discussion "Rare Butter" was updated in the "Dairy products" collection.      |
     # The author of the discussion update doesn't receive any notification.
     But the following email should not have been sent:
       | recipient_mail | hans@example.com                                                                  |
-      | subject        | Joinup: The discussion "Rare Butter" was updated in the space of "Dairy products" |
+      | subject        | Portal: The discussion "Rare Butter" was updated in the space of "Dairy products" |
       | body           | The discussion "Rare Butter" was updated in the "Dairy products" collection.      |
     # Check that no other mails have been unexpectedly sent.
     Then 2 e-mails should have been sent
@@ -145,7 +145,7 @@ Feature: Following discussions
     # sent to the content author.
     But the following email should have been sent:
       | recipient_mail | hans@example.com                                                          |
-      | subject        | Joinup: Content has been updated                                          |
+      | subject        | Portal: Content has been updated                                          |
       | body           | the Moderator, has requested you to modify the discussion - "Rare Butter" |
     And 1 e-mail should have been sent
 
@@ -155,19 +155,19 @@ Feature: Following discussions
 
     Then the following email should have been sent:
       | recipient_mail | dale@example.com                                                                                     |
-      | subject        | Joinup: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
+      | subject        | Portal: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare Butter" was deleted from the "Dairy products" collection. |
     And the following email should have been sent:
       | recipient_mail | flash@example.com                                                                                    |
-      | subject        | Joinup: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
+      | subject        | Portal: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare Butter" was deleted from the "Dairy products" collection. |
     And the following email should have been sent:
       | recipient_mail | hans@example.com                                                                                     |
-      | subject        | Joinup: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
+      | subject        | Portal: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare Butter" was deleted from the "Dairy products" collection. |
     And the following email should not have been sent:
       | recipient_mail | ming@example.com                                                                                     |
-      | subject        | Joinup: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
+      | subject        | Portal: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare Butter" was deleted from the "Dairy products" collection. |
 
     # Now check the notifications sent for a published discussion.
@@ -186,22 +186,22 @@ Feature: Following discussions
 
     Then the following email should have been sent:
       | recipient_mail | dale@example.com                                                                                   |
-      | subject        | Joinup: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
+      | subject        | Portal: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare feta" was deleted from the "Dairy products" collection. |
     # Discussion author is receiving the notifications too.
     And the following email should have been sent:
       | recipient_mail | hans@example.com                                                                                   |
-      | subject        | Joinup: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
+      | subject        | Portal: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare feta" was deleted from the "Dairy products" collection. |
     # The user 'facilitator' is also a discussion subscriber but because she's
     # the person who has deleted the comment, she will not receive the
     # notification.
     But the following email should not have been sent:
       | recipient_mail | ming@example.com                                                                                   |
-      | subject        | Joinup: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
+      | subject        | Portal: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare feta" was deleted from the "Dairy products" collection. |
     # Flash Gordon is not subscribed. He should not retrieve the message.
     And the following email should not have been sent:
       | recipient_mail | flash@example.com                                                                                  |
-      | subject        | Joinup: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
+      | subject        | Portal: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare feta" was deleted from the "Dairy products" collection. |
diff --git a/tests/features/joinup_distribution/asset_distribution.delete.feature b/tests/features/joinup_distribution/asset_distribution.delete.feature
index 4a776b9d13..59958ef213 100644
--- a/tests/features/joinup_distribution/asset_distribution.delete.feature
+++ b/tests/features/joinup_distribution/asset_distribution.delete.feature
@@ -26,5 +26,5 @@ Feature: Asset distribution deleting.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | Papa Roach                                                                                        |
-      | subject   | Joinup: A distribution has been deleted                                                           |
+      | subject   | Portal: A distribution has been deleted                                                           |
       | body      | The distribution Francesco's cats of the solution Rough valentine's day was successfully deleted. |
diff --git a/tests/features/joinup_distribution/asset_distribution.edit.feature b/tests/features/joinup_distribution/asset_distribution.edit.feature
index 8f346beacb..d29a9ed46c 100644
--- a/tests/features/joinup_distribution/asset_distribution.edit.feature
+++ b/tests/features/joinup_distribution/asset_distribution.edit.feature
@@ -73,9 +73,9 @@ Feature: Asset distribution editing.
     Then I should see the heading "Asset distribution example revised"
     And the following email should have been sent:
       | recipient | Gregg Hill                                                                                                                                          |
-      | subject   | Joinup: A distribution has been updated                                                                                                             |
+      | subject   | Portal: A distribution has been updated                                                                                                             |
       | body      | The distribution Asset distribution example revised of the release Asset release example, C3PO of the solution Solution A was successfully updated. |
     And the following email should have been sent:
       | recipient | Pedro Torres                                                                                                                                        |
-      | subject   | Joinup: A distribution has been updated                                                                                                             |
+      | subject   | Portal: A distribution has been updated                                                                                                             |
       | body      | The distribution Asset distribution example revised of the release Asset release example, C3PO of the solution Solution A was successfully updated. |
diff --git a/tests/features/joinup_distribution/track_download.feature b/tests/features/joinup_distribution/track_download.feature
index 660f84eb97..9929fc9fe9 100644
--- a/tests/features/joinup_distribution/track_download.feature
+++ b/tests/features/joinup_distribution/track_download.feature
@@ -56,8 +56,8 @@ Feature: Asset distribution editing.
     When I click "Download" in the "OpenBSD images" distribution
     Then a modal should open
     And I should see the text "Download in progress"
-    And I should see the text "If you do not have a Joinup account, please take some time to create one, at this page. It will allow you to fully exploit the functionalities of Joinup to create new content, contribute to existing one and collaborate with other users."
-    And I should see the text "If you do not want to create a Joinup account, please select any of the following options and provide your email address if you want to be kept updated on the status of the solution. Your personal data will be treated in compliance with the legal notice"
+    And I should see the text "If you do not have a Portal account, please take some time to create one, at this page. It will allow you to fully exploit the functionalities of Portal to create new content, contribute to existing one and collaborate with other users."
+    And I should see the text "If you do not want to create a Portal account, please select any of the following options and provide your email address if you want to be kept updated on the status of the solution. Your personal data will be treated in compliance with the legal notice"
     When I fill in "E-mail address" with "trackme@example.com" in the "Modal content" region
     Then I press "Submit" in the "Modal buttons" region
     Then the modal should be closed
diff --git a/tests/features/joinup_event/add_event.collection.feature b/tests/features/joinup_event/add_event.collection.feature
index 1cdbac7de7..ff2b7cb2e4 100644
--- a/tests/features/joinup_event/add_event.collection.feature
+++ b/tests/features/joinup_event/add_event.collection.feature
@@ -83,7 +83,7 @@ Feature: "Add event" visibility options.
     When I fill in "Physical location" with "Rue Belliard 28, Brussels, Belgium"
     And I enter the following for the "Virtual location" link field:
       | URL                          | Title           |
-      | https://interoperable-europe.ec.europa.eu/ | Joinup homepage |
+      | https://interoperable-europe.ec.europa.eu/ | Portal homepage |
       | https://drupal.org/          |                 |
     And I select "EU and European Policies" from "Topic"
     And I press "Save as draft"
@@ -100,7 +100,7 @@ Feature: "Add event" visibility options.
       | description | Rue Belliard 28, Brussels, Belgium |
       | latitude    | 50.842291                          |
       | longitude   | 4.370476                           |
-    And I should see the link "Joinup homepage"
+    And I should see the link "Portal homepage"
     And I should see the link "https://drupal.org"
     And the "Stream of Dreams" collection has a event titled "An amazing event"
     And I should not see the text "France"
diff --git a/tests/features/joinup_group/announcements.feature b/tests/features/joinup_group/announcements.feature
index 7675da786e..56ec168602 100644
--- a/tests/features/joinup_group/announcements.feature
+++ b/tests/features/joinup_group/announcements.feature
@@ -145,12 +145,12 @@ Feature: Messaging group announcements
       | The recipient's subscriptions page URL                                                                                                                                                                                                                     |
       | Kind regards,                                                                                                                                                                                                                                              |
       | The Fail pension <group> team                                                                                                                                                                                                                              |
-      | You received this e-mail because, as a registered user of Joinup and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
+      | You received this e-mail because, as a registered user of Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
       | In case you do not want to receive such e-mails, you can unsubscribe from group announcement notifications or manage all your subscription notifications from the user subscriptions page.                                                                 |
       | This is an unmonitored email address, please do not reply. You can contact directly Fail pension <group> via the Overview page.                                                                                                                               |
 
     When I press "Send for approval"
-    Then I should see the success message "Your announcement has been sent for validation by Joinup moderators. Once approved, will reach the Fail pension <group> members."
+    Then I should see the success message "Your announcement has been sent for validation by Portal moderators. Once approved, will reach the Fail pension <group> members."
     And I should see the link "Add announcement"
     # The facilitator has exhausted all operations they can perform, so they
     # cannot edit the announcement anymore.
@@ -166,8 +166,8 @@ Feature: Messaging group announcements
     And I should not see the button "Reject"
     And I should not see the button "Undo reject"
     And I should not see the button "Preview"
-    And the email sent to "check.edit.moderator@example.com" with subject "Joinup: A new announcement 'The Big Opening is postponed' has been created" contains header "Content-Type" with value "text/html"
-    And the email sent to "check.edit.moderator@example.com" with subject "Joinup: A new announcement 'The Big Opening is postponed' has been created" contains the following lines of text:
+    And the email sent to "check.edit.moderator@example.com" with subject "Portal: A new announcement 'The Big Opening is postponed' has been created" contains header "Content-Type" with value "text/html"
+    And the email sent to "check.edit.moderator@example.com" with subject "Portal: A new announcement 'The Big Opening is postponed' has been created" contains the following lines of text:
       | A new announcement 'The Big Opening is postponed' has been created by Sons of tweets for the Fail pension <group>. |
       | You can approve or reject the announcement at                                                                      |
 
@@ -175,7 +175,7 @@ Feature: Messaging group announcements
 
     When I go to the announcements page of "Hidden gems" <group>
     Then the response status code should be 403
-    And I click the link from email sent to "Check edit moderator" with subject "Joinup: A new announcement 'The Big Opening is postponed' has been created"
+    And I click the link from email sent to "Check edit moderator" with subject "Portal: A new announcement 'The Big Opening is postponed' has been created"
     Then I should see "Announcement state: Pending approval"
     And I should see the button "Update"
     And I should see the button "Approve"
@@ -209,7 +209,7 @@ Feature: Messaging group announcements
       | The recipient's subscriptions page URL                                                                                                                                                                                                                     |
       | Kind regards,                                                                                                                                                                                                                                              |
       | The Fail pension <group> team                                                                                                                                                                                                                              |
-      | You received this e-mail because, as a registered user of Joinup and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
+      | You received this e-mail because, as a registered user of Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
       | In case you do not want to receive such e-mails, you can unsubscribe from group announcement notifications or manage all your subscription notifications from the user subscriptions page.                                                                 |
       | This is an unmonitored email address, please do not reply. You can contact directly Fail pension <group> via the Overview page.                                                                                                                               |
 
@@ -270,7 +270,7 @@ Feature: Messaging group announcements
       | The recipient's subscriptions page URL                                                                                                                                                                                                                     |
       | Kind regards,                                                                                                                                                                                                                                              |
       | The Fail pension <group> team                                                                                                                                                                                                                              |
-      | You received this e-mail because, as a registered user of Joinup and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
+      | You received this e-mail because, as a registered user of Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
       | In case you do not want to receive such e-mails, you can unsubscribe from group announcement notifications or manage all your subscription notifications from the user subscriptions page.                                                                 |
       | This is an unmonitored email address, please do not reply. You can contact directly Fail pension <group> via the Overview page.                                                                                                                               |
     And the email sent to "Greedy" with subject "The Big Opening is postponed" contains the following lines of text:
@@ -286,7 +286,7 @@ Feature: Messaging group announcements
       | The recipient's subscriptions page URL                                                                                                                                                                                                                     |
       | Kind regards,                                                                                                                                                                                                                                              |
       | The Fail pension <group> team                                                                                                                                                                                                                              |
-      | You received this e-mail because, as a registered user of Joinup and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
+      | You received this e-mail because, as a registered user of Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
       | In case you do not want to receive such e-mails, you can unsubscribe from group announcement notifications or manage all your subscription notifications from the user subscriptions page.                                                                 |
       | This is an unmonitored email address, please do not reply. You can contact directly Fail pension <group> via the Overview page.                                                                                                                               |
     And the email sent to "Sons of tweets" with subject "The Big Opening is postponed" contains the following lines of text:
@@ -302,7 +302,7 @@ Feature: Messaging group announcements
       | The recipient's subscriptions page URL                                                                                                                                                                                                                     |
       | Kind regards,                                                                                                                                                                                                                                              |
       | The Fail pension <group> team                                                                                                                                                                                                                              |
-      | You received this e-mail because, as a registered user of Joinup and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
+      | You received this e-mail because, as a registered user of Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
       | In case you do not want to receive such e-mails, you can unsubscribe from group announcement notifications or manage all your subscription notifications from the user subscriptions page.                                                                 |
       | This is an unmonitored email address, please do not reply. You can contact directly Fail pension <group> via the Overview page.                                                                                                                               |
     # Accepted 'Legal notice' but it's not subscribed to group announcements.
@@ -507,7 +507,7 @@ Feature: Messaging group announcements
     Then I should see the success message "The announcement has been created as Draft. Review the announcement and, when is ready to be sent, use the 'Send' button."
 
     When I press "Send for approval"
-    Then I should see the success message "Your announcement has been sent for validation by Joinup moderators. Once approved, will reach the Open Source Observatory (OSOR) collection members."
+    Then I should see the success message "Your announcement has been sent for validation by Portal moderators. Once approved, will reach the Open Source Observatory (OSOR) collection members."
     When I click "edit" in the "TEST: Mass-mailing announcement" row
     And I press "Approve"
     Then I should see the success message "The announcement has been scheduled to be delivered to the Open Source Observatory (OSOR) collection members. Because the collection has a large amount of members the emails will be sent in several batches."
diff --git a/tests/features/joinup_licence/spdx.canonical.feature b/tests/features/joinup_licence/spdx.canonical.feature
index 9152ffb9fc..6c41135b18 100644
--- a/tests/features/joinup_licence/spdx.canonical.feature
+++ b/tests/features/joinup_licence/spdx.canonical.feature
@@ -1,7 +1,7 @@
 @api @group-f
 Feature: SPDX Permissions
   As a moderator of the website
-  In order to better present the Joinup licences
+  In order to better present the Portal licences
   I need to control over the way the SPDX licences are shown.
 
   Scenario: Do not allow access to the canonical route of the SPDX licences.
diff --git a/tests/features/joinup_release/release.moderation.feature b/tests/features/joinup_release/release.moderation.feature
index a5796cbb94..09e9c3bdb6 100644
--- a/tests/features/joinup_release/release.moderation.feature
+++ b/tests/features/joinup_release/release.moderation.feature
@@ -54,15 +54,15 @@ Feature: Asset release moderation
     Then I should see the text "Release of the dark ship v1" in the "Page title" region
     And the following email should have been sent:
       | recipient | Felix Russell                                                                   |
-      | subject   | Joinup: A release has been updated                                              |
+      | subject   | Portal: A release has been updated                                              |
       | body      | The release Release of the dark ship, v1 of the solution Dark Ship was updated. |
     And the following email should have been sent:
       | recipient | Wilson Mendoza                                                                  |
-      | subject   | Joinup: A release has been updated                                              |
+      | subject   | Portal: A release has been updated                                              |
       | body      | The release Release of the dark ship, v1 of the solution Dark Ship was updated. |
     And the following email should have been sent:
       | recipient | Patric Sereira                                                                  |
-      | subject   | Joinup: A release has been updated                                              |
+      | subject   | Portal: A release has been updated                                              |
       | body      | The release Release of the dark ship, v1 of the solution Dark Ship was updated. |
 
     # Archive and unarchive as moderator.
@@ -108,13 +108,13 @@ Feature: Asset release moderation
     And I press "Request changes"
     # The published version does not change.
     Then I should see the text "Release of the dark ship v1" in the "Page title" region
-    And the email sent to "Bonnie Holloway" with subject "Joinup: Modification of a release of your solution has been requested" contains the following lines of text:
-      | the Joinup moderation team requires editing the release Release, v1 of the solution Dark Ship due to I don't like it. |
+    And the email sent to "Bonnie Holloway" with subject "Portal: Modification of a release of your solution has been requested" contains the following lines of text:
+      | the Portal moderation team requires editing the release Release, v1 of the solution Dark Ship due to I don't like it. |
       | If you think this action is not clear or not due, please contact Portal Support at                                    |
     And the following email should have been sent:
       | recipient | Felix Russell                                                                                                         |
-      | subject   | Joinup: Modification of a release of your solution has been requested                                                 |
-      | body      | the Joinup moderation team requires editing the release Release, v1 of the solution Dark Ship due to I don't like it. |
+      | subject   | Portal: Modification of a release of your solution has been requested                                                 |
+      | body      | the Portal moderation team requires editing the release Release, v1 of the solution Dark Ship due to I don't like it. |
 
     # We do not show the created time in the UI so another visit to the edit screen is required.
     When I go to the "Release of the dark ship" release
@@ -144,7 +144,7 @@ Feature: Asset release moderation
     Then I should see the text "Release fix v1" in the "Page title" region
     And the following email should have been sent:
       | recipient | Bonnie Holloway                                                                                    |
-      | subject   | Joinup: Your release was accepted                                                                  |
+      | subject   | Portal: Your release was accepted                                                                  |
       | body      | Your proposed Release fix, v1 for the solution "Dark Ship" has been validated as per your request. |
 
     # Check archive permissions author and facilitator.
@@ -174,13 +174,13 @@ Feature: Asset release moderation
     And I press "Delete"
     And the following email should have been sent:
       | recipient | Bonnie Holloway                                            |
-      | subject   | Joinup: A release has been deleted                         |
+      | subject   | Portal: A release has been deleted                         |
       | body      | release Release fix, v1 of Dark Ship solution was deleted. |
     And the following email should have been sent:
       | recipient | Felix Russell                                              |
-      | subject   | Joinup: A release has been deleted                         |
+      | subject   | Portal: A release has been deleted                         |
       | body      | release Release fix, v1 of Dark Ship solution was deleted. |
     And the following email should have been sent:
       | recipient | Patric Sereira                                             |
-      | subject   | Joinup: A release has been deleted                         |
+      | subject   | Portal: A release has been deleted                         |
       | body      | release Release fix, v1 of Dark Ship solution was deleted. |
diff --git a/tests/features/joinup_rss/collection_feed.feature b/tests/features/joinup_rss/collection_feed.feature
index e9d3ce0cfb..5e6d06d4cc 100644
--- a/tests/features/joinup_rss/collection_feed.feature
+++ b/tests/features/joinup_rss/collection_feed.feature
@@ -1,7 +1,7 @@
 @api @group-g
 Feature: Collection RSS feed.
   In order to stay up to date with collection updates
-  As a user of Joinup
+  As a user of Portal
   I want to subscribe to RSS feeds for each collection
 
   Scenario: Collection RSS feed.
diff --git a/tests/features/joinup_rss/solution_feed.feature b/tests/features/joinup_rss/solution_feed.feature
index 9fff6d02f4..a86d8ce8b6 100644
--- a/tests/features/joinup_rss/solution_feed.feature
+++ b/tests/features/joinup_rss/solution_feed.feature
@@ -1,7 +1,7 @@
 @api @group-g
 Feature: Solution RSS feed.
   In order to stay up to date with solution updates
-  As a user of Joinup
+  As a user of Portal
   I want to subscribe to RSS feeds for each solution
 
   Scenario: Solution RSS feed.
diff --git a/tests/features/joinup_search/group_search.feature b/tests/features/joinup_search/group_search.feature
index bc7e5fe191..2760096a8a 100644
--- a/tests/features/joinup_search/group_search.feature
+++ b/tests/features/joinup_search/group_search.feature
@@ -1,7 +1,7 @@
 @api @group-g
 Feature: Search inside groups
   In order to quickly find content inside the group I am currently perusing
-  As a user of Joinup
+  As a user of Portal
   I want to be able to launch a search limited to my current collection or solution
 
   Background:
diff --git a/tests/features/joinup_search/search.feature b/tests/features/joinup_search/search.feature
index 9df750d363..b1907661bb 100644
--- a/tests/features/joinup_search/search.feature
+++ b/tests/features/joinup_search/search.feature
@@ -80,7 +80,7 @@ Feature: Global search
     And the "spatial coverage" checkbox facet should allow selecting the following values "Belgium (1), European Union (1), Luxembourg (5)"
 
     # Check that only one search field is available. In an earlier version of
-    # Joinup there were two search fields, but this was confusing users.
+    # Portal there were two search fields, but this was confusing users.
     And there should be exactly 1 "search field" on the page
 
     When I check the "Social and Political (6)" checkbox from the "topic" facet
@@ -798,7 +798,7 @@ Feature: Global search
 
     Given collection:
       | uri   | http://data.europa.eu/w21/df34e3a2-207b-4910-a804-344931654e20 |
-      | title | Joinup                                                         |
+      | title | Portal                                                         |
       | state | published                                                      |
 
     # Check if suggestion does not generate any warnings.
diff --git a/tests/features/joinup_seo/basic_metatags.feature b/tests/features/joinup_seo/basic_metatags.feature
index 9275139b1f..532e202d9e 100644
--- a/tests/features/joinup_seo/basic_metatags.feature
+++ b/tests/features/joinup_seo/basic_metatags.feature
@@ -9,20 +9,20 @@ Feature:
     When I am on the homepage
     Then the following meta tags should available in the html:
       | identifier    | value                                                                                                                                                                                                                      |
-      | description   | Joinup is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability solutions for public administrations, businesses and citizens (ISA2) Programme.            |
-      | abstract      | Joinup offers several services that aim to help e-Government professionals share their experience with each other. We also hope to support them to find, choose, re-use, develop and implement interoperability solutions. |
+      | description   | Portal is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability solutions for public administrations, businesses and citizens (ISA2) Programme.            |
+      | abstract      | Portal offers several services that aim to help e-Government professionals share their experience with each other. We also hope to support them to find, choose, re-use, develop and implement interoperability solutions. |
       | og:url        | __base_url__/                                                                                                                                                                                                              |
-      | og:site_name  | Joinup                                                                                                                                                                                                                     |
-      | og:title      | Joinup                                                                                                                                                                                                                     |
+      | og:site_name  | Portal                                                                                                                                                                                                                     |
+      | og:title      | Portal                                                                                                                                                                                                                     |
       | og:image      | __base_url__/themes/ventuno/assets/images/og-image.png                                                                                                                                                                     |
       | og:image:type | image/svg+xml                                                                                                                                                                                                              |
-    And the HTML title of the page should be "Joinup"
+    And the HTML title of the page should be "Portal"
 
     When I visit the collection overview
     Then the following meta tags should available in the html:
       | identifier    | value                                                  |
       | og:url        | __base_url__/collections                               |
-      | og:site_name  | Joinup                                                 |
+      | og:site_name  | Portal                                                 |
       | og:title      | Collections                                            |
       | og:image      | __base_url__/themes/ventuno/assets/images/og-image.png |
       | og:image:type | image/svg+xml                                          |
diff --git a/tests/features/joinup_seo/discussion.feature b/tests/features/joinup_seo/discussion.feature
index 232d51e7f3..f9104d918e 100644
--- a/tests/features/joinup_seo/discussion.feature
+++ b/tests/features/joinup_seo/discussion.feature
@@ -7,13 +7,13 @@ Feature: SEO for discussion forum posts.
   Scenario: Basic metatags are attached as JSON schema on the page.
     Given collections:
       | title                            | state     |
-      | Joinup SEO discussion collection | published |
+      | Portal SEO discussion collection | published |
     And users:
       | Username          | E-mail                 | First name | Family name |
-      | Joinup SEO author | joinup.seo@example.com | Kindle     | eReader     |
+      | Portal SEO author | joinup.seo@example.com | Kindle     | eReader     |
     And "discussion" content:
       | title                           | publication date          | changed                   | content                                                      | author            | attachments         | keywords                       | state     | collection                       |
-      | Discussions are now forum posts | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | This discussion is to ensure that SEO tags are set properly. | Joinup SEO author | test.zip, test1.zip | seo, tags, metatag, schema.org | published | Joinup SEO discussion collection |
+      | Discussions are now forum posts | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | This discussion is to ensure that SEO tags are set properly. | Portal SEO author | test.zip, test1.zip | seo, tags, metatag, schema.org | published | Portal SEO discussion collection |
 
     When I visit the "Discussions are now forum posts" discussion
     Then the metatag JSON should be attached in the page
@@ -38,7 +38,7 @@ Feature: SEO for discussion forum posts.
     And the metatag graph of the item with "name" "Discussions are now forum posts" should have the following "image" properties:
       | property | value                                                                                                                    |
       | @type    | http://schema.org/ImageObject                                                                                            |
-      # Discussions don't have an image field but an image is required by google. Add the Joinup logo as the image of
+      # Discussions don't have an image field but an image is required by google. Add the Portal logo as the image of
       # all discussions.
       | url      | https://interoperable-europe.ec.europa.eu/sites/default/files/styles/logo/public/collection/logo/2019-04/190404-logo-JOINUP-blue-2.png |
     # The index is the delta in the field attachment, with 0 meaning the first of the values.
@@ -78,7 +78,7 @@ Feature: SEO for discussion forum posts.
       | identifier     | value                                                                                               |
       | description    | This discussion is to ensure that SEO tags are set properly.                                        |
       | og:url         | __base_url__/collection/joinup-seo-discussion-collection/discussion/discussions-are-now-forum-posts |
-      | og:site_name   | Joinup                                                                                              |
+      | og:site_name   | Portal                                                                                              |
       | og:title       | Discussions are now forum posts                                                                     |
       | og:description | This discussion is to ensure that SEO tags are set properly.                                        |
 
diff --git a/tests/features/joinup_seo/document.feature b/tests/features/joinup_seo/document.feature
index 6410f96725..0d22cd29bd 100644
--- a/tests/features/joinup_seo/document.feature
+++ b/tests/features/joinup_seo/document.feature
@@ -7,18 +7,18 @@ Feature: SEO for document content.
   Background:
     Given collections:
       | title                          | state     |
-      | Joinup SEO document collection | published |
+      | Portal SEO document collection | published |
     And licence content:
       | uri                          | title        | licence type  |
       | https://example.com/license1 | Some license | Public domain |
     And users:
       | Username          | E-mail                 | First name | Family name |
-      | Joinup SEO author | joinup.seo@example.com | Scrapper   | Jedi        |
+      | Portal SEO author | joinup.seo@example.com | Scrapper   | Jedi        |
 
   Scenario: Basic metatags are attached as JSON schema on the page.
     Given document content:
       | title        | author            | document type | document publication date | changed                   | keywords         | short title | file type | file     | field_paragraphs_body | licence      | state     | collection                     |
-      | SEO document | Joinup SEO author | document      | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | key1, key2, key3 | SEO         | upload    | test.zip | Document test1.zip    | Some license | published | Joinup SEO document collection |
+      | SEO document | Portal SEO author | document      | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | key1, key2, key3 | SEO         | upload    | test.zip | Document test1.zip    | Some license | published | Portal SEO document collection |
 
     When I visit the "SEO document" document
     Then the metatag JSON should be attached in the page
@@ -62,7 +62,7 @@ Feature: SEO for document content.
       | identifier     | value                                                                        |
       | description    | Document test1.zip                                                           |
       | og:url         | __base_url__/collection/joinup-seo-document-collection/document/seo-document |
-      | og:site_name   | Joinup                                                                       |
+      | og:site_name   | Portal                                                                       |
       | og:title       | SEO document                                                                 |
       | og:description | Document test1.zip                                                           |
 
@@ -76,7 +76,7 @@ Feature: SEO for document content.
   Scenario: Metatags for remote URL in documents.
     Given document content:
       | title        | author            | document publication date | changed                   | file type | file                                       | abstract                    | field_paragraphs_body   | state     | collection                     |
-      | SEO document | Joinup SEO author | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | remote    | http://example.com/some-file-url.extension | Remote url example abstract | Remote url example body | published | Joinup SEO document collection |
+      | SEO document | Portal SEO author | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | remote    | http://example.com/some-file-url.extension | Remote url example abstract | Remote url example body | published | Portal SEO document collection |
 
     When I visit the "SEO document" document
     Then the metatag JSON should be attached in the page
diff --git a/tests/features/joinup_seo/event.feature b/tests/features/joinup_seo/event.feature
index cc97f9f5d5..90d447bd07 100644
--- a/tests/features/joinup_seo/event.feature
+++ b/tests/features/joinup_seo/event.feature
@@ -65,7 +65,7 @@ Feature: SEO for news articles.
       | identifier      | value                                                                      |
       | description     | Body of event.                                                             |
       | og:url          | __base_url__/collection/joinup-seo-event-collection/event/joinup-seo-event |
-      | og:site_name    | Joinup                                                                     |
+      | og:site_name    | Portal                                                                     |
       | og:title        | Joinup SEO event                                                           |
       | og:description  | Body of event.                                                             |
       | og:image        | __base_url__/sites/default/files/__random_text__.jpg                       |
diff --git a/tests/features/joinup_seo/news.feature b/tests/features/joinup_seo/news.feature
index a4411dc9df..4da5ce2857 100644
--- a/tests/features/joinup_seo/news.feature
+++ b/tests/features/joinup_seo/news.feature
@@ -7,28 +7,28 @@ Feature: SEO for news articles.
   Scenario: Basic metatags are attached as JSON schema on the page.
     Given collections:
       | title                      | state     |
-      | Joinup SEO news collection | published |
+      | Portal SEO news collection | published |
     And users:
       | Username          | E-mail                 | First name | Family name |
-      | Joinup SEO author | joinup.seo@example.com | Kurk       | Smith       |
+      | Portal SEO author | joinup.seo@example.com | Kurk       | Smith       |
     And "news" content:
       | title           | headline                    | logo     | field_paragraphs_body | created                   | publication date          | changed                   | state     | author            | collection                 |
-      | Joinup SEO news | Headline of Joinup SEO news | logo.png | Body of news.         | Sun, 01 Dec 2019 13:00:00 | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | published | Joinup SEO author | Joinup SEO news collection |
+      | Portal SEO news | Headline of Portal SEO news | logo.png | Body of news.         | Sun, 01 Dec 2019 13:00:00 | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | published | Portal SEO author | Portal SEO news collection |
 
-    When I visit the "Joinup SEO news" news
+    When I visit the "Portal SEO news" news
     Then the metatag JSON should be attached in the page
     And 1 metatag graph of type "http://schema.org/NewsArticle" should exist in the page
-    And the metatag graph of the item with "name" "Joinup SEO news" should have the following properties:
+    And the metatag graph of the item with "name" "Portal SEO news" should have the following properties:
       | property            | value                                                                   |
       | @type               | http://schema.org/NewsArticle                                           |
-      | headline            | Headline of Joinup SEO news                                             |
+      | headline            | Headline of Portal SEO news                                             |
       | description         | Body of news.                                                           |
       | isAccessibleForFree | True                                                                    |
       | datePublished       | 2019-12-25T13:00:00+0000                                                |
       | dateModified        | 2020-01-01T13:00:00+0000                                                |
       # __base_url__ will be replaced with the base url of the website.
       | mainEntityOfPage    | __base_url__/collection/joinup-seo-news-collection/news/joinup-seo-news |
-    And the metatag graph of the item with "name" "Joinup SEO news" should have the following "image" properties:
+    And the metatag graph of the item with "name" "Portal SEO news" should have the following "image" properties:
       | property             | value                         |
       | @type                | http://schema.org/ImageObject |
       | representativeOfPage | True                          |
@@ -37,13 +37,13 @@ Feature: SEO for news articles.
       # a way.
       | width                | 377         |
       | height               | 139         |
-    And the metatag graph of the item with "name" "Joinup SEO news" should have the following "author" properties:
+    And the metatag graph of the item with "name" "Portal SEO news" should have the following "author" properties:
       | property | value                             |
       | @type    | http://schema.org/Person          |
       | @id      | __base_url__/user/__random_text__ |
       | name     | Kurk Smith                        |
       | url      | __base_url__/user/__random_text__ |
-    And the metatag graph of the item with "name" "Joinup SEO news" should have the following "publisher" properties:
+    And the metatag graph of the item with "name" "Portal SEO news" should have the following "publisher" properties:
       | property | value                             |
       | @type    | http://schema.org/Person          |
       | @id      | __base_url__/user/__random_text__ |
@@ -53,8 +53,8 @@ Feature: SEO for news articles.
       | identifier             | value                                                                   |
       | description            | Body of news.                                                           |
       | og:url                 | __base_url__/collection/joinup-seo-news-collection/news/joinup-seo-news |
-      | og:site_name           | Joinup                                                                  |
-      | og:title               | Joinup SEO news                                                         |
+      | og:site_name           | Portal                                                                  |
+      | og:title               | Portal SEO news                                                         |
       | og:description         | Body of news.                                                           |
       | og:image               | __base_url__/sites/default/files/__random_text__.jpg                    |
       | og:image:type          | image/jpeg                                                              |
@@ -65,7 +65,7 @@ Feature: SEO for news articles.
       | article:modified_time  | 2020-01-01T13:00:00+0000                                                |
 
     When I visit the content overview
-    Then I should see the "Joinup SEO news" tile
+    Then I should see the "Portal SEO news" tile
     # No metatags are defined for the keep up to date page.
     # No metatags JSON in general means also that the entity metatags of the news item
     # is also not attached when the tile is present.
diff --git a/tests/features/joinup_seo/rdf_entity.feature b/tests/features/joinup_seo/rdf_entity.feature
index 7f6d44723b..14edf7432d 100644
--- a/tests/features/joinup_seo/rdf_entity.feature
+++ b/tests/features/joinup_seo/rdf_entity.feature
@@ -50,7 +50,7 @@ Feature: SEO for RDF entities.
     Then the following meta tags should available in the html:
       | identifier   | value                            |
       | og:url       | __base_url__/licence/seo-licence |
-      | og:site_name | Joinup                           |
+      | og:site_name | Portal                           |
       | og:title     | SEO licence                      |
     And the metatag JSON should be attached in the page without context
     And 1 metatag graph of type "http://purl.org/dc/terms/LicenseDocument" should exist in the page
diff --git a/tests/features/joinup_subscription/collection.content.subscription.feature b/tests/features/joinup_subscription/collection.content.subscription.feature
index f41c21a764..c552f790da 100644
--- a/tests/features/joinup_subscription/collection.content.subscription.feature
+++ b/tests/features/joinup_subscription/collection.content.subscription.feature
@@ -127,7 +127,7 @@ Feature: Subscribing to community content in collections
       | Duck liver           |
       | Rose oil             |
       | Sunflower seeds      |
-    And the content subscription digest sent to hristo should have the subject "Joinup: Daily digest message"
+    And the content subscription digest sent to hristo should have the subject "Portal: Daily digest message"
 
     And the group content subscription digest sent to bisera contains the following sections:
       | title                |
@@ -138,7 +138,7 @@ Feature: Subscribing to community content in collections
       | Products of Bulgaria |
       | Canned cherries      |
       | Rose oil             |
-    And the content subscription digest sent to bisera should have the subject "Joinup: Weekly digest message"
+    And the content subscription digest sent to bisera should have the subject "Portal: Weekly digest message"
 
     And the group content subscription digest sent to kalin contains the following sections:
       | title                |
@@ -150,7 +150,7 @@ Feature: Subscribing to community content in collections
       | Products of Bulgaria |
       | Canned cherries      |
       | Sunflower seeds      |
-    And the content subscription digest sent to kalin should have the subject "Joinup: Monthly digest message"
+    And the content subscription digest sent to kalin should have the subject "Portal: Monthly digest message"
 
     # No message for aleks@primer.bg (blocked) and penka@primer.bg (cancelled).
     And 4 e-mails should have been sent to recipients "kalin@primer.bg, hristo@example.bg, bisera@example.bg"
diff --git a/tests/features/joinup_subscription/community.content.subscriptions.feature b/tests/features/joinup_subscription/community.content.subscriptions.feature
index c2d3e227fe..025b6063bd 100644
--- a/tests/features/joinup_subscription/community.content.subscriptions.feature
+++ b/tests/features/joinup_subscription/community.content.subscriptions.feature
@@ -1,6 +1,6 @@
 @api @group-g
 Feature: Subscribing to community content in collections and solutions
-  As an avid fan of Joinup
+  As an avid fan of Portal
   I want to receive a periodic digest listing newly published content
   So that I can stay informed about everything
 
@@ -80,7 +80,7 @@ Feature: Subscribing to community content in collections and solutions
       | Null geodesics         |
       | Deflected rays         |
 
-    And the email sent to jpluminet with subject "Joinup: Daily digest message" contains the following lines of text:
+    And the email sent to jpluminet with subject "Portal: Daily digest message" contains the following lines of text:
       | Daily digest message                                                     |
       | Dear Jean-Pierre,                                                        |
       | New content published in Black hole imaging                              |
@@ -111,5 +111,5 @@ Feature: Subscribing to community content in collections and solutions
       | Read more                                                                |
       | Kind regards,                                                            |
       | The Portal Support Team                                                  |
-      | You received this email because you opted in for Joinup digest messages. |
+      | You received this email because you opted in for Portal digest messages. |
       | Manage your subscription notifications or unsubscribe from all.          |
diff --git a/tests/features/joinup_subscription/solution.content.subscription.feature b/tests/features/joinup_subscription/solution.content.subscription.feature
index 864563abcb..37bd8e5668 100644
--- a/tests/features/joinup_subscription/solution.content.subscription.feature
+++ b/tests/features/joinup_subscription/solution.content.subscription.feature
@@ -139,7 +139,7 @@ Feature: Subscribing to community content in solutions
       | Rose oil              |
       | Spring discounts      |
       | Sunflower seeds       |
-    And the content subscription digest sent to hristo should have the subject "Joinup: Daily digest message"
+    And the content subscription digest sent to hristo should have the subject "Portal: Daily digest message"
 
     And the group content subscription digest sent to bisera contains the following sections:
       | title                |
@@ -153,7 +153,7 @@ Feature: Subscribing to community content in solutions
       # @todo Re-enable this in ISAICP-8943.
       # | 21/03/2021           |
       | Spring 2021          |
-    And the content subscription digest sent to bisera should have the subject "Joinup: Weekly digest message"
+    And the content subscription digest sent to bisera should have the subject "Portal: Weekly digest message"
 
     And the group content subscription digest sent to kalin contains the following sections:
       | title                 |
@@ -167,7 +167,7 @@ Feature: Subscribing to community content in solutions
       | Spring 2021           |
       | Spring discounts      |
       | Sunflower seeds       |
-    And the content subscription digest sent to kalin should have the subject "Joinup: Monthly digest message"
+    And the content subscription digest sent to kalin should have the subject "Portal: Monthly digest message"
 
     # No message for aleks@primer.bg (blocked) and penka@primer.bg (cancelled).
     And 4 e-mails should have been sent to recipients "kalin@primer.bg, hristo@example.bg, bisera@example.bg"
diff --git a/tests/features/legal/legal_notice.feature b/tests/features/legal/legal_notice.feature
index 99016b2a17..2ddb93cbfc 100644
--- a/tests/features/legal/legal_notice.feature
+++ b/tests/features/legal/legal_notice.feature
@@ -1,6 +1,6 @@
 @api @group-h
 Feature:
-  - As a visitor, in order to register to Joinup, I have to accept the site's
+  - As a visitor, in order to register to Portal, I have to accept the site's
     'Legal notice', otherwise I cannot register.
   - As registered user, in order to login when a new version of 'Legal notice'
     has been released, I have to accept the new version, otherwise I cannot
@@ -36,7 +36,7 @@ Feature:
     # After accepting the agreement the user can continue.
     Given I check "I have read and accept the Legal notice"
     And I press "Submit"
-    Then I should see the success message "Fill in the fields below to let the Joinup community learn more about you!"
+    Then I should see the success message "Fill in the fields below to let the Portal community learn more about you!"
 
     # The user has been redirected to its user account edit form.
     And the following fields should be present "Email, First name, Family name, Photo, Country of origin, Professional domain, Business title"
diff --git a/tests/features/menus/whats_new.feature b/tests/features/menus/whats_new.feature
index 5a7a692172..d3a286ab66 100644
--- a/tests/features/menus/whats_new.feature
+++ b/tests/features/menus/whats_new.feature
@@ -3,7 +3,7 @@
 # but this functionality will probably be restored in the future.
 Feature:
   As a moderator of the website
-  In order to draw the attention of the users for the changes in Joinup
+  In order to draw the attention of the users for the changes in Portal
   I need to be able to mark the new menu item with special styling.
 
   Background:
diff --git a/tests/features/smoke_test.feature b/tests/features/smoke_test.feature
index 015e27a08f..21b83c284b 100644
--- a/tests/features/smoke_test.feature
+++ b/tests/features/smoke_test.feature
@@ -1,7 +1,7 @@
 @group-clone @api
 Feature: Minimal install clone testing.
 
-  Scenario: Visit Joinup collection.
+  Scenario: Visit Portal collection.
 
     Given I am an anonymous user
     When I visit "/search?keys=joinup&f[0]=type:collection"
diff --git a/tests/features/solution/add_solution.feature b/tests/features/solution/add_solution.feature
index dd5b0dd311..6ed11d614e 100644
--- a/tests/features/solution/add_solution.feature
+++ b/tests/features/solution/add_solution.feature
@@ -106,8 +106,8 @@ Feature: "Add solution" visibility options.
     And the option with text "Completed" from select "Status" is selected
     And the "Show solutions related by EIRA terms" checkbox should not be checked
     And I press "Propose"
-    Then the email sent to "Ruth Lee" with subject "Joinup: A new solution has been proposed" contains the following lines of text:
-      | Wendell Silva has proposed a new Interoperability solution: "Espresso is the solution" on Joinup. |
+    Then the email sent to "Ruth Lee" with subject "Portal: A new solution has been proposed" contains the following lines of text:
+      | Wendell Silva has proposed a new Interoperability solution: "Espresso is the solution" on Portal. |
       | If you think this action is not clear or not due, please contact Portal Support at                |
     And I should see "Thank you for proposing a solution. Your request is currently pending approval by the site administrator."
     And Log entry with the message "A new solution entity titled Espresso is the solution has been created by Wendell Silva in Belgian barista's." should exist.
@@ -133,7 +133,7 @@ Feature: "Add solution" visibility options.
     But I should see the link "Demography"
     And the following email should have been sent:
       | recipient | Wendell Silva                                                                                               |
-      | subject   | Joinup: Your solution has been accepted                                                                     |
+      | subject   | Portal: Your solution has been accepted                                                                     |
       | body      | Your proposed interoperability solution: "Espresso is the solution" has been validated as per your request. |
 
     When I am logged in as a facilitator of the "Belgian barista's" collection
diff --git a/tests/features/solution/manage_solutions.archive.feature b/tests/features/solution/manage_solutions.archive.feature
index 28619e2cf0..360cbb117b 100644
--- a/tests/features/solution/manage_solutions.archive.feature
+++ b/tests/features/solution/manage_solutions.archive.feature
@@ -110,8 +110,8 @@ Feature: When a solution is archived then its sub-content also should be archive
     And 2 e-mails should have been sent
     And the following email should have been sent:
       | recipient | John Moderator                     |
-      | subject   | Joinup: Solution has been archived |
-    And the email sent to "John Moderator" with subject "Joinup: Solution has been archived" contains the following lines of text:
+      | subject   | Portal: Solution has been archived |
+    And the email sent to "John Moderator" with subject "Portal: Solution has been archived" contains the following lines of text:
       | Dear John,                                                           |
       | The Solution, along with its associated content items, has been      |
       | archived. Even though the Solution has been archived, you can still  |
@@ -121,8 +121,8 @@ Feature: When a solution is archived then its sub-content also should be archive
       | at                                                                   |
     # The email sent to Liam (the contact person of the solution) won't contain
     # the "Dear Liam," greeting since Liam does not have a user account on
-    # Joinup.
-    And the email sent to "liam.smith@example.com" with subject "Joinup: Solution has been archived" contains the following lines of text:
+    # Portal.
+    And the email sent to "liam.smith@example.com" with subject "Portal: Solution has been archived" contains the following lines of text:
       | The Solution, along with its associated content items, has been      |
       | archived. Even though the Solution has been archived, you can still  |
       | access its pages through the Advanced Search page by selecting 'Show |
diff --git a/tests/features/solution/solution.notifications.feature b/tests/features/solution/solution.notifications.feature
index c82b6d7176..810d7179d5 100644
--- a/tests/features/solution/solution.notifications.feature
+++ b/tests/features/solution/solution.notifications.feature
@@ -43,7 +43,7 @@ Feature: Solution notifications
     Then I should see the error message "This action requires you to fill in the motivation field"
     When I fill in "Motivation" with "Please, check my updates"
     And I press "Propose"
-    Then the email sent to "Ramiro Myers" with subject "Joinup: Changes have been proposed for your solution" contains the following lines of text:
+    Then the email sent to "Ramiro Myers" with subject "Portal: Changes have been proposed for your solution" contains the following lines of text:
       | The Portal Support Team has requested you to modify the interoperability solution "Solution notification to propose changes", with the following motivation: Please, check my updates. |
       | If you think this action is not clear or not due, please contact Portal Support at                                                                                                     |
 
@@ -53,7 +53,7 @@ Feature: Solution notifications
     And I press "Blacklist"
     Then the following email should have been sent:
       | recipient | Ramiro Myers                                                                                                                                                 |
-      | subject   | Joinup: Your interoperability solution is blacklisted                                                                                                        |
+      | subject   | Portal: Your interoperability solution is blacklisted                                                                                                        |
       | body      | the moderator has blacklisted your interoperability solution - Solution notification to blacklist, you can contact the moderation team to resolve the issue. |
 
     # Template 14. The moderation team restores a solution from blacklisted.
@@ -62,7 +62,7 @@ Feature: Solution notifications
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | Ramiro Myers                                                                                                                              |
-      | subject   | Joinup: Your interoperability solution is published again                                                                                 |
+      | subject   | Portal: Your interoperability solution is published again                                                                                 |
       | body      | the moderator has published back your interoperability solution - Solution notification to publish from blacklisted that was blacklisted. |
 
     # Template 15. The moderation team requests changes.
@@ -75,10 +75,10 @@ Feature: Solution notifications
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | Ramiro Myers                                                                                                                                                              |
-      | subject   | Joinup: You are requested to update your solution                                                                                                                         |
+      | subject   | Portal: You are requested to update your solution                                                                                                                         |
       | body      | the moderator has requested you to modify the interoperability solution - Solution notification to request changes following the following advises: Can you change this?. |
       | bcc       | pat.harper@example.com,jack.harper@example.com                                                                                                                            |
-    And the email sent to "Ramiro Myers" with subject "Joinup: You are requested to update your solution" contains the following lines of text:
+    And the email sent to "Ramiro Myers" with subject "Portal: You are requested to update your solution" contains the following lines of text:
       | the moderator has requested you to modify the interoperability solution - Solution notification to request changes following the following advises: Can you change this?. |
       | If you think this action is not clear or not due, please contact Portal Support at                                                                                        |
 
@@ -89,8 +89,8 @@ Feature: Solution notifications
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | Ramiro Myers                                                                                                        |
-      | subject   | Joinup: Your solution has been deleted by the moderation team                                                       |
-      | body      | The Joinup moderation team deleted the interoperability solution Solution notification to delete by moderator team. |
+      | subject   | Portal: Your solution has been deleted by the moderation team                                                       |
+      | body      | The Portal moderation team deleted the interoperability solution Solution notification to delete by moderator team. |
 
     When I am logged in as "Ramiro Myers"
 
@@ -98,8 +98,8 @@ Feature: Solution notifications
     When I go to the homepage of the "Solution notification to propose from request changes" solution
     And I click "Edit" in the "Entity actions" region
     And I press "Propose"
-    Then the email sent to "Pat Harper" with subject "Joinup: An update of a solution has been proposed" contains the following lines of text:
-      | Ramiro Myers has proposed an update of the Interoperability solution: "Solution notification to propose from request changes" on Joinup. |
+    Then the email sent to "Pat Harper" with subject "Portal: An update of a solution has been proposed" contains the following lines of text:
+      | Ramiro Myers has proposed an update of the Interoperability solution: "Solution notification to propose from request changes" on Portal. |
       | If you think this action is not clear or not due, please contact Portal Support at                                                       |
 
     # The owner deletes their own solution. No email should be sent to the owner
diff --git a/tests/features/solution/solution_overview.feature b/tests/features/solution/solution_overview.feature
index e071fd2350..de276c4a29 100644
--- a/tests/features/solution/solution_overview.feature
+++ b/tests/features/solution/solution_overview.feature
@@ -1,6 +1,6 @@
 @api @group-i
 Feature: Solutions Overview
-  As a new visitor of the Joinup website
+  As a new visitor of the Portal website
   To get an idea of the various solutions that are available
   I should see a list of all solutions
 
@@ -77,14 +77,14 @@ Feature: Solutions Overview
     Given I am an anonymous user
     When I visit the solution overview
     Then I should see the heading "Solutions"
-    And I should see the text "A solution on Joinup is a framework, tool, or service either hosted directly on Joinup or federated from third-party repositories."
+    And I should see the text "A solution on Portal is a framework, tool, or service either hosted directly on Portal or federated from third-party repositories."
     And the page should be cacheable
 
     # Access the page as a moderator to ensure proper caching.
     Given I am logged in as a "moderator"
     When I visit the solution overview
     Then I should see the heading "Solutions"
-    And I should see the text "A solution on Joinup is a framework, tool, or service either hosted directly on Joinup or federated from third-party repositories."
+    And I should see the text "A solution on Portal is a framework, tool, or service either hosted directly on Portal or federated from third-party repositories."
     And I should see the "Non electronic health" tile
     And I should see the "Closed data" tile
     And I should see the "Isolating Europe" tile
@@ -95,7 +95,7 @@ Feature: Solutions Overview
     Given I am logged in as "Madam Shirley"
     When I visit the solution overview
     Then I should see the heading "Solutions"
-    And I should see the text "A solution on Joinup is a framework, tool, or service either hosted directly on Joinup or federated from third-party repositories."
+    And I should see the text "A solution on Portal is a framework, tool, or service either hosted directly on Portal or federated from third-party repositories."
     Then I should see the "Non electronic health" tile
     And I should see the "Closed data" tile
     And I should see the "Isolating Europe" tile
@@ -106,7 +106,7 @@ Feature: Solutions Overview
     Given I am an anonymous user
     When I visit the solution overview
     Then I should see the heading "Solutions"
-    And I should see the text "A solution on Joinup is a framework, tool, or service either hosted directly on Joinup or federated from third-party repositories."
+    And I should see the text "A solution on Portal is a framework, tool, or service either hosted directly on Portal or federated from third-party repositories."
     And I should see the link "Non electronic health"
     And I should not see the text "Supports health-related fields"
     And I should see the link "Closed data"
diff --git a/tests/features/solution/tca.feature b/tests/features/solution/tca.feature
index 89135b5a4a..9f4ee6e975 100644
--- a/tests/features/solution/tca.feature
+++ b/tests/features/solution/tca.feature
@@ -15,6 +15,6 @@ Feature: Solution TCA agreement
 
     Then I should see the heading "Terms of agreement"
     And I should see the following lines of text:
-      | The eligibility criteria of Joinup's interoperability solutions have been redefined.                           |
+      | The eligibility criteria of Portal's interoperability solutions have been redefined.                           |
       | In order to create the Solution you need first check the field below and then press the Yes button to proceed. |
       | I have read and accept the legal notice and I commit to manage my solution on a regular basis.                 |
diff --git a/tests/features/user/block.feature b/tests/features/user/block.feature
index 41ac76b7dc..961855ccf0 100644
--- a/tests/features/user/block.feature
+++ b/tests/features/user/block.feature
@@ -24,7 +24,7 @@ Feature: Block users
     And the following email should have been sent:
       | recipient | Liam Lego                                                                                                                 |
       | subject   | Your account was just blocked.                                                                                            |
-      | body      | Your Joinup account was recently blocked by our moderators. For more information about blocked accounts, please visit our |
+      | body      | Your Portal account was recently blocked by our moderators. For more information about blocked accounts, please visit our |
 
     # Empty the inbox.
     Given I mark all emails as read
@@ -51,7 +51,7 @@ Feature: Block users
     And the following email should have been sent:
       | recipient | Liam Lego                                                                                                                 |
       | subject   | Your account was just blocked.                                                                                            |
-      | body      | Your Joinup account was recently blocked by our moderators. For more information about blocked accounts, please visit our |
+      | body      | Your Portal account was recently blocked by our moderators. For more information about blocked accounts, please visit our |
 
     # Empty the inbox.
     Given I mark all emails as read
diff --git a/tests/features/user/cancel.feature b/tests/features/user/cancel.feature
index 9658a9931d..d9aa58eeb8 100644
--- a/tests/features/user/cancel.feature
+++ b/tests/features/user/cancel.feature
@@ -23,7 +23,7 @@ Feature:
     And the following email should have been sent:
       | recipient_mail | AliciaPotter@example.com                                                                                                                                                                                                                                            |
       | subject        | Your account has been deleted.                                                                                                                                                                                                                                      |
-      | body           | Your account alicia__1997 has been deleted. This action has been done in the framework of moderation activities regularly conducted on the Joinup platform. If you believe that this action has been performed by mistake, please contact The Portal Support Team at |
+      | body           | Your account alicia__1997 has been deleted. This action has been done in the framework of moderation activities regularly conducted on the Portal platform. If you believe that this action has been performed by mistake, please contact The Portal Support Team at |
     And 1 e-mail should have been sent
     And the "alicia__1997" user account is cancelled
     And the "Alicia Potter" table row doesn't contain a checkbox
@@ -58,7 +58,7 @@ Feature:
     And the following email should have been sent:
       | recipient_mail | AliciaPotter@example.com                                                                                                                                                                                                                                            |
       | subject        | Your account has been deleted.                                                                                                                                                                                                                                      |
-      | body           | Your account alicia__1997 has been deleted. This action has been done in the framework of moderation activities regularly conducted on the Joinup platform. If you believe that this action has been performed by mistake, please contact The Portal Support Team at |
+      | body           | Your account alicia__1997 has been deleted. This action has been done in the framework of moderation activities regularly conducted on the Portal platform. If you believe that this action has been performed by mistake, please contact The Portal Support Team at |
     # We cannot assert the number of emails because of created content that
     # sends messages to administrators and moderators. Depending on environment
     # the list of recipients might differ. That's why we're only asserting that
@@ -107,7 +107,7 @@ Feature:
     And I press "Confirm"
     Then the following email should have been sent:
       | recipient_mail | AliciaPotter@example.com                                           |
-      | subject        | Account cancellation request for alicia__1997 at Joinup            |
+      | subject        | Account cancellation request for alicia__1997 at Portal            |
       | body           | by clicking this link or copying and pasting it into your browser: |
     # Click the confirmation link in the email.
     When I click the delete confirmation link for the user "alicia__1997" from the last email
diff --git a/tests/features/user/profile.feature b/tests/features/user/profile.feature
index 8365b326a4..e1a1d52e79 100644
--- a/tests/features/user/profile.feature
+++ b/tests/features/user/profile.feature
@@ -93,8 +93,8 @@ Feature: User profile
     And I should see the success message "The user has been notified that their account has been updated."
     And the following email should have been sent:
       | recipient | Leonardo Da Vinci                                                                                         |
-      | subject   | The Portal Support Team updated your account for you at Joinup                                            |
-      | body      | A moderator has edited your user profile on Joinup. Please check your profile to verify the changes done. |
+      | subject   | The Portal Support Team updated your account for you at Portal                                            |
+      | body      | A moderator has edited your user profile on Portal. Please check your profile to verify the changes done. |
 
   Scenario: The user public profile page shows the content he's author of or is member of.
     Given users:
diff --git a/tests/features/user/register.feature b/tests/features/user/register.feature
index 83c2a0dd1a..8381dd4756 100644
--- a/tests/features/user/register.feature
+++ b/tests/features/user/register.feature
@@ -23,8 +23,8 @@ Feature: User registration
       | Active                     | 1                  |
     Then the following email should have been sent:
       | recipient | miomio                                                                                                                          |
-      | subject   | Your Joinup account was created successfully.                                                                                   |
-      | body      | The Portal Support Team created your account on Joinup. Please log in through the following link in order to set your password. |
+      | subject   | Your Portal account was created successfully.                                                                                   |
+      | body      | The Portal Support Team created your account on Portal. Please log in through the following link in order to set your password. |
     # Only the email about the creation of the account should be sent. This
     # check ensures that we do not accidentally trigger any other notifications.
     And 1 e-mail should have been sent
diff --git a/tests/features/user/roles.feature b/tests/features/user/roles.feature
index c84e533775..90a83304af 100644
--- a/tests/features/user/roles.feature
+++ b/tests/features/user/roles.feature
@@ -63,8 +63,8 @@ Feature: User role management
     And I should see the success message "The user has been notified that their account has been updated."
     And the following email should have been sent:
       | recipient | Nibby Noob                                                                                                |
-      | subject   | The Portal Support Team updated your account for you at Joinup                                            |
-      | body      | A moderator has edited your user profile on Joinup. Please check your profile to verify the changes done. |
+      | subject   | The Portal Support Team updated your account for you at Portal                                            |
+      | body      | A moderator has edited your user profile on Portal. Please check your profile to verify the changes done. |
 
     Given I am on the homepage
     When I mark all emails as read
@@ -97,8 +97,8 @@ Feature: User role management
     And I should see the success message "The user has been notified that their account has been updated."
     And the following email should have been sent:
       | recipient | Nibby Noob                                                                                                |
-      | subject   | The Portal Support Team updated your account for you at Joinup                                            |
-      | body      | A moderator has edited your user profile on Joinup. Please check your profile to verify the changes done. |
+      | subject   | The Portal Support Team updated your account for you at Portal                                            |
+      | body      | A moderator has edited your user profile on Portal. Please check your profile to verify the changes done. |
 
     When I am logged in as "Nibby Noob"
     And I go to the "Open licence" licence
diff --git a/tests/features/video/embed.feature b/tests/features/video/embed.feature
index e36ac7c2c8..53283d2990 100644
--- a/tests/features/video/embed.feature
+++ b/tests/features/video/embed.feature
@@ -71,5 +71,5 @@ Feature: Embed of videos into the page.
 
     Examples:
       | url                                                                                                                                                   | embed url                                                                                                                                         | title attribute  |
-      | https://www.youtube.com/watch?v=YTaLmMsaLOg                                                                                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DYTaLmMsaLOg | New Joinup (1/7)                |
+      | https://www.youtube.com/watch?v=YTaLmMsaLOg                                                                                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DYTaLmMsaLOg | New Portal (1/7)                |
       | https://vimeo.com/7073899                                                                                                                             | /media/oembed?url=https%3A//vimeo.com/7073899                       | Drupal Rap Video - Schipulcon09 |
diff --git a/tests/fixtures/files/single_solution_valid_adms.rdf b/tests/fixtures/files/single_solution_valid_adms.rdf
index 6c81e15759..bce472c705 100644
--- a/tests/fixtures/files/single_solution_valid_adms.rdf
+++ b/tests/fixtures/files/single_solution_valid_adms.rdf
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- Demo file including entities to be imported.
-     This file represents a remote repository file so no Drupal/Joinup properties are included.
+     This file represents a remote repository file so no Drupal/Portal properties are included.
      After import, the following properties need to be taken care of:
      Solution:
        - Title. This is a federated property but there have been cases that it is missing.
diff --git a/tests/fixtures/files/valid_adms.rdf b/tests/fixtures/files/valid_adms.rdf
index 76385877a7..766eab5e3f 100644
--- a/tests/fixtures/files/valid_adms.rdf
+++ b/tests/fixtures/files/valid_adms.rdf
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- Demo file including entities to be imported.
-     This file represents a remote repository file so no Drupal/Joinup properties are included.
+     This file represents a remote repository file so no Drupal/Portal properties are included.
      After import, the following properties need to be taken care of:
      Solution:
        - Title. This is a federated property but there have been cases that it is missing.
diff --git a/tests/src/Context/AdmsValidatorContext.php b/tests/src/Context/AdmsValidatorContext.php
index 504e967510..16fabf68e3 100644
--- a/tests/src/Context/AdmsValidatorContext.php
+++ b/tests/src/Context/AdmsValidatorContext.php
@@ -15,7 +15,7 @@ class AdmsValidatorContext extends RawDrupalContext {
   /**
    * Asserts that entities in the published graph are ADMS-AP compliant.
    *
-   * @Then the ADMS-AP data of the published entities in Joinup is valid
+   * @Then the ADMS-AP data of the published entities in Portal is valid
    */
   public function assertValidPublishedGraph(): void {
     /** @var \Drupal\sparql_entity_storage\SparqlEntityStorageGraphHandlerInterface $sparql_graph */
diff --git a/tests/src/Context/CollectionContext.php b/tests/src/Context/CollectionContext.php
index 55fea66916..ca389c5ad1 100644
--- a/tests/src/Context/CollectionContext.php
+++ b/tests/src/Context/CollectionContext.php
@@ -125,7 +125,7 @@ public function assertCollectionPath(string $collection): void {
   /**
    * Navigates to the collections overview page.
    *
-   * @todo This is currently dependent on the Joinup profile being installed,
+   * @todo This is currently dependent on the Portal profile being installed,
    *   since the view providing this overview page is exported in the profile.
    *   Remove this todo when ISAICP-5176 is fixed.
    *
@@ -665,10 +665,10 @@ public function updateCollectionName(string $collection, string $name): void {
   }
 
   /**
-   * Creates the standard 'Joinup' collection.
+   * Creates the standard 'Portal' collection.
    *
    * @return \Drupal\collection\Entity\CollectionInterface
-   *   The 'Joinup' collection.
+   *   The 'Portal' collection.
    *
    * @BeforeScenario @joinup_collection&&@api
    *
@@ -677,7 +677,7 @@ public function updateCollectionName(string $collection, string $name): void {
   public function createJoinupCollection(): CollectionInterface {
     return $this->createCollection([
       'id' => JoinupCollectionHelper::getCollectionId(),
-      'label' => 'Joinup',
+      'label' => 'Portal',
       'field_ar_state' => 'published',
     ]);
   }
@@ -722,7 +722,7 @@ public function assertGlossaryNavigator(?string $expected_navigator = NULL): voi
    * collection the content belongs to. It is tedious to manually define a
    * collection and link it to the content for every single test. If it is
    * omitted in the definition of the test we assign an existing collection, or
-   * if none exist we assign the "Joinup" collection. This ensures data
+   * if none exist we assign the "Portal" collection. This ensures data
    * integrity and prevents form validation errors.
    *
    * @param \Drupal\DrupalExtension\Hook\Scope\BeforeNodeCreateScope $scope
@@ -753,7 +753,7 @@ public function provideCollection(BeforeNodeCreateScope $scope): void {
       }
     }
 
-    // If no suitable candidate is found, use the default "Joinup" collection.
+    // If no suitable candidate is found, use the default "Portal" collection.
     if (empty($collection)) {
       $collection = $this->createJoinupCollection();
     }
diff --git a/tests/src/Context/EuplContext.php b/tests/src/Context/EuplContext.php
index 1428febbdf..91a2479442 100644
--- a/tests/src/Context/EuplContext.php
+++ b/tests/src/Context/EuplContext.php
@@ -57,13 +57,13 @@ public function setupEuplData(): void {
       'rid' => 'solution',
       'collection' => Eupl::EUPL_COMMUNITY_ID,
       'id' => Eupl::JLA_SOLUTION,
-      'label' => 'Joinup Licensing Assistant',
+      'label' => 'Portal Licensing Assistant',
       'field_is_state' => 'published',
     ]);
     $solution->save();
     $this->entities['rdf_entity'][$solution->id()] = $solution;
 
-    // The 'Joinup Licensing Assistant' standard custom page.
+    // The 'Portal Licensing Assistant' standard custom page.
     $this->nodeCreate((object) [
       'nid' => 701805,
       'type' => 'custom_page',
@@ -73,7 +73,7 @@ public function setupEuplData(): void {
       'field_state' => 'published',
     ]);
 
-    // The 'Joinup Licensing Compatibility Check' standard custom page.
+    // The 'Portal Licensing Compatibility Check' standard custom page.
     $this->nodeCreate((object) [
       'nid' => 703242,
       'type' => 'custom_page',
diff --git a/tests/src/Context/FeatureContext.php b/tests/src/Context/FeatureContext.php
index 9ab05b765a..efe6398450 100644
--- a/tests/src/Context/FeatureContext.php
+++ b/tests/src/Context/FeatureContext.php
@@ -66,7 +66,7 @@ class FeatureContext extends RawDrupalContext {
   use UtilityTrait;
 
   /**
-   * The Joinup version, retrieved from the `VERSION` file in the project root.
+   * The Portal version, retrieved from the `VERSION` file in the project root.
    *
    * Will contain the contents of the file, or FALSE if the file is not present.
    *
@@ -1063,7 +1063,7 @@ public function assertNotLinkOptionalRegion($link, $region): void {
   /**
    * Asserts that the page title tag equals to some text.
    *
-   * The assertion strips off the possible suffix "| Joinup".
+   * The assertion strips off the possible suffix "| Portal".
    *
    * @param string $text
    *   The text to search for.
@@ -1841,7 +1841,7 @@ public function backupJoinupVersion(): void {
   }
 
   /**
-   * Restores the backup of the Joinup `VERSION` file.
+   * Restores the backup of the Portal `VERSION` file.
    *
    * @AfterScenario @joinupVersion&&@api
    */
@@ -1855,7 +1855,7 @@ public function restoreJoinupVersion(): void {
   }
 
   /**
-   * Sets the Joinup version.
+   * Sets the Portal version.
    *
    * Since this overwrites the `VERSION.txt` file in the webroot directory, any
    * scenario that includes this step should be tagged with `@joinupVersion` so
@@ -1863,13 +1863,13 @@ public function restoreJoinupVersion(): void {
    * scenario.
    *
    * @param string $version
-   *   The Joinup version to set, e.g. 'v1.57.0' or 'v1.57.0-66-g1234abcde'.
+   *   The Portal version to set, e.g. 'v1.57.0' or 'v1.57.0-66-g1234abcde'.
    *
-   * @When the Joinup version is set to :version
+   * @When the Portal version is set to :version
    */
   public function setJoinupVersion(string $version): void {
     // Alert the user that the `@joinupVersion` tag is required.
-    Assert::assertTrue($this->hasTag('joinupVersion'), 'The `@joinupVersion` tag is required for scenarios that want to change the Joinup version.');
+    Assert::assertTrue($this->hasTag('joinupVersion'), 'The `@joinupVersion` tag is required for scenarios that want to change the Portal version.');
 
     // We also require the Drupal API to retrieve the project root folder.
     Assert::assertTrue($this->hasTag('api'), 'The `@api` tag is required for scenarios that use the `@joinupVersion` tag.');
diff --git a/tests/src/Context/FooterContext.php b/tests/src/Context/FooterContext.php
index 9ad2137136..95222f708f 100644
--- a/tests/src/Context/FooterContext.php
+++ b/tests/src/Context/FooterContext.php
@@ -29,7 +29,7 @@ public function assertLogo(): void {
   /**
    * Checks that the version is present in the footer.
    *
-   * @Then I should see the Joinup version in the footer
+   * @Then I should see the Portal version in the footer
    */
   public function assertVersion(): void {
     $element = $this->getSession()->getPage()->find('css', 'footer .joinup-version a');
diff --git a/tests/src/Context/HeaderContext.php b/tests/src/Context/HeaderContext.php
index 0a49b614fa..ce282e3b20 100644
--- a/tests/src/Context/HeaderContext.php
+++ b/tests/src/Context/HeaderContext.php
@@ -43,7 +43,7 @@ public function assertLogo(): void {
     Assert::assertInstanceOf(NodeElement::class, $logo_element, 'A logo is present in the navbar.');
     Assert::assertEquals('Interoperable Europe logo', $logo_element->getAttribute('alt'), 'The logo has an alt text.');
     $expected_logo_uri = base_path() . \Drupal::service('extension.list.theme')->getPath('ventuno') . '/assets/images/logo-interoperable-europe.svg';
-    Assert::assertEquals($expected_logo_uri, $logo_element->getAttribute('src'), 'The Joinup logo is shown in the navbar.');
+    Assert::assertEquals($expected_logo_uri, $logo_element->getAttribute('src'), 'The Portal logo is shown in the navbar.');
   }
 
   /**
diff --git a/tests/src/Context/HomepageContext.php b/tests/src/Context/HomepageContext.php
index ba3ca4253c..d22d16bdda 100644
--- a/tests/src/Context/HomepageContext.php
+++ b/tests/src/Context/HomepageContext.php
@@ -11,7 +11,7 @@
 use PHPUnit\Framework\Assert;
 
 /**
- * Behat step definitions to interact with elements on the Joinup homepage.
+ * Behat step definitions to interact with elements on the Portal homepage.
  */
 class HomepageContext extends RawDrupalContext {
 
diff --git a/tests/src/Context/JoinupCollectionContext.php b/tests/src/Context/JoinupCollectionContext.php
index d13131e1c9..305d12604e 100644
--- a/tests/src/Context/JoinupCollectionContext.php
+++ b/tests/src/Context/JoinupCollectionContext.php
@@ -12,7 +12,7 @@
 use Drupal\rdf_entity\Entity\Rdf;
 
 /**
- * Behat step definitions and related methods related to the Joinup collection.
+ * Behat step definitions and related methods related to the Portal collection.
  */
 class JoinupCollectionContext extends RawDrupalContext {
 
@@ -21,7 +21,7 @@ class JoinupCollectionContext extends RawDrupalContext {
   use TopicTrait;
 
   /**
-   * Creates the 'Joinup' collection and related data.
+   * Creates the 'Portal' collection and related data.
    *
    * @throws \Drupal\Core\Entity\EntityStorageException
    *   Thrown when one of the entities could not be created, for example because
@@ -43,11 +43,11 @@ public function setupJoinupCollection(): void {
       'email' => 'contact.email@example.com',
     ]);
 
-    // Create the Joinup collection.
+    // Create the Portal collection.
     Rdf::create([
       'rid' => 'collection',
       'id' => JoinupCollectionHelper::JOINUP_COLLECTION_DEFAULT_ENTITY_ID,
-      'label' => 'Joinup',
+      'label' => 'Portal',
       'field_ar_state' => 'published',
       'field_topic' => $this->getRandomTopic()->id(),
       'field_ar_owner' => $owner->nid,
@@ -56,7 +56,7 @@ public function setupJoinupCollection(): void {
   }
 
   /**
-   * Clears the Joinup collection created before the scenario.
+   * Clears the Portal collection created before the scenario.
    *
    * @throws \Drupal\Core\Entity\EntityStorageException
    *   Thrown when one of the created entities could not be deleted.
diff --git a/tests/src/Context/JoinupContext.php b/tests/src/Context/JoinupContext.php
index 6d44641a6b..d20ce3e561 100644
--- a/tests/src/Context/JoinupContext.php
+++ b/tests/src/Context/JoinupContext.php
@@ -47,7 +47,7 @@
 use PHPUnit\Framework\ExpectationFailedException;
 
 /**
- * Behat step definitions that are generally useful for the Joinup project.
+ * Behat step definitions that are generally useful for the Portal project.
  */
 class JoinupContext extends RawDrupalContext {
 
@@ -2880,7 +2880,7 @@ public function theOutputShouldMatchTheFile($file_path): void {
    *
    * Table format:
    * | URL                          | Title  |
-   * | https://interoperable-europe.ec.europa.eu/ | Joinup |
+   * | https://interoperable-europe.ec.europa.eu/ | Portal |
    * | https://www.drupal.org/      | Drupal |
    *
    * @param \Behat\Gherkin\Node\TableNode $table
diff --git a/tests/src/Context/JoinupCoreContext.php b/tests/src/Context/JoinupCoreContext.php
index 16cdc94e29..435edc86de 100644
--- a/tests/src/Context/JoinupCoreContext.php
+++ b/tests/src/Context/JoinupCoreContext.php
@@ -17,7 +17,7 @@
 use PHPUnit\Framework\Assert;
 
 /**
- * Behat step definitions for functionalities provided by Joinup core module.
+ * Behat step definitions for functionalities provided by Portal core module.
  */
 class JoinupCoreContext extends RawDrupalContext {
 
diff --git a/tests/src/Context/JoinupDiscussionContext.php b/tests/src/Context/JoinupDiscussionContext.php
index 74f0a134c3..485700e7c2 100644
--- a/tests/src/Context/JoinupDiscussionContext.php
+++ b/tests/src/Context/JoinupDiscussionContext.php
@@ -51,7 +51,7 @@ public function assertSubscribers(string $title, int $count): void {
   }
 
   /**
-   * Returns the Joinup subscription service.
+   * Returns the Portal subscription service.
    *
    * @return \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface
    *   The subscription service.
diff --git a/tests/src/Context/JoinupLegalContext.php b/tests/src/Context/JoinupLegalContext.php
index 0cb212b9af..efa9183f0b 100644
--- a/tests/src/Context/JoinupLegalContext.php
+++ b/tests/src/Context/JoinupLegalContext.php
@@ -12,7 +12,7 @@
 use Drupal\joinup\Traits\TestingEntitiesTrait;
 
 /**
- * Behat step definitions for the Joinup Legal module.
+ * Behat step definitions for the Portal Legal module.
  */
 class JoinupLegalContext extends RawDrupalContext {
 
diff --git a/tests/src/Context/JoinupSubscriptionContext.php b/tests/src/Context/JoinupSubscriptionContext.php
index b693a529f2..948e926779 100644
--- a/tests/src/Context/JoinupSubscriptionContext.php
+++ b/tests/src/Context/JoinupSubscriptionContext.php
@@ -542,7 +542,7 @@ public function assertDigestNotContains(TableNode $table, string $interval, stri
   }
 
   /**
-   * Returns the Joinup subscription service.
+   * Returns the Portal subscription service.
    *
    * @return \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface
    *   The subscription service.
@@ -666,7 +666,7 @@ protected function getGroupSubscriptionEmailsByEmail(string $email_address): arr
     $emails = [];
 
     foreach (self::MESSAGE_INTERVALS as $interval) {
-      $emails = array_merge($emails, $this->getEmailsBySubjectAndMail("Joinup: $interval digest message", $email_address, FALSE));
+      $emails = array_merge($emails, $this->getEmailsBySubjectAndMail("Portal: $interval digest message", $email_address, FALSE));
     }
 
     return $emails;
diff --git a/tests/src/Context/RssContext.php b/tests/src/Context/RssContext.php
index 13b6b46c75..0282d83e71 100644
--- a/tests/src/Context/RssContext.php
+++ b/tests/src/Context/RssContext.php
@@ -53,7 +53,7 @@ public function assertRss(): void {
    *
    * Table format:
    * | title       | link               | description         | ... |
-   * | Joinup feed | /collection/joinup | RSS feed for Joinup | ... |
+   * | Portal feed | /collection/joinup | RSS feed for Portal | ... |
    *
    * @param \Behat\Gherkin\Node\TableNode $table
    *   The channel elements data.
@@ -99,7 +99,7 @@ public function assertRssItemsCount(int $count): void {
    * @codingStandardsIgnoreStart
    * Table format:
    * | title     | link            | description          | publication date                | author        | ... |
-   * | News item | /news/news-item | Content of the news. | Thu, 24 Jan 2019 14:08:09 +0100 | Joinup editor | ... |
+   * | News item | /news/news-item | Content of the news. | Thu, 24 Jan 2019 14:08:09 +0100 | Portal editor | ... |
    * @codingStandardsIgnoreEnd
    *
    * @param \Behat\Gherkin\Node\TableNode $table
diff --git a/tests/src/Context/SolutionContext.php b/tests/src/Context/SolutionContext.php
index 563a19107a..892ab86497 100644
--- a/tests/src/Context/SolutionContext.php
+++ b/tests/src/Context/SolutionContext.php
@@ -95,7 +95,7 @@ public function visitSolution(string $solution): void {
   /**
    * Navigates to the solution overview page.
    *
-   * @todo This is currently dependent on the Joinup profile being installed,
+   * @todo This is currently dependent on the Portal profile being installed,
    *   since the view providing this overview page is exported in the profile.
    *   Remove this todo when ISAICP-5176 is fixed.
    *
diff --git a/tests/src/Listener/FeatureTimeLoggerListener.php b/tests/src/Listener/FeatureTimeLoggerListener.php
index 2857801e90..eac629b0b2 100644
--- a/tests/src/Listener/FeatureTimeLoggerListener.php
+++ b/tests/src/Listener/FeatureTimeLoggerListener.php
@@ -95,7 +95,7 @@ public function afterExercise(): void {
   }
 
   /**
-   * Get the Joinup group for the scenario.
+   * Get the Portal group for the scenario.
    */
   private function getGroup(TaggedNodeInterface $feature): string {
     foreach ($feature->getTags() as $tag) {
diff --git a/tests/src/Traits/OgTrait.php b/tests/src/Traits/OgTrait.php
index 39f4eb71fe..ecd7805149 100644
--- a/tests/src/Traits/OgTrait.php
+++ b/tests/src/Traits/OgTrait.php
@@ -24,7 +24,7 @@ trait OgTrait {
    * @param \Drupal\Core\Session\AccountInterface $user
    *   The user to be assigned as a group member.
    * @param \Drupal\joinup_group\Entity\GroupInterface $group
-   *   The Joinup group entity.
+   *   The Portal group entity.
    * @param \Drupal\og\Entity\OgRole[] $roles
    *   An array of OgRoles to be passed to the membership.
    * @param string|null $state
@@ -75,7 +75,7 @@ protected function subscribeUserToGroup(AccountInterface $user, GroupInterface $
   protected function convertOgRoleNamesToIds(array $roles, EntityInterface $group): array {
     $role_prefix = $group->getEntityTypeId() . '-' . $group->bundle() . '-';
     foreach ($roles as $key => $role) {
-      // What is called a "collection owner" or a "solution owner" in Joinup, is
+      // What is called a "collection owner" or a "solution owner" in Portal, is
       // known as an "administrator" in OG.
       $role = $role === 'owner' ? 'administrator' : $role;
       $roles[$key] = $role_prefix . $role;
@@ -235,7 +235,7 @@ protected function givenUserMembership(RdfInterface $group, array $values): void
     if (!empty($values['roles'])) {
       $role_names = explode(',', $values['roles']);
       $role_names = array_map('trim', $role_names);
-      // Every owner is also a facilitator. In Joinup the facilitator role is
+      // Every owner is also a facilitator. In Portal the facilitator role is
       // assigned to the owner when they create the collection. Since in this
       // step the collections are already created, mimick this behaviour by
       // making sure every owner also has the 'facilitator' role.
diff --git a/web/modules/custom/acceptance/joinup_acceptance.info.yml b/web/modules/custom/acceptance/joinup_acceptance.info.yml
index b26c7290a3..27d1bd34c1 100644
--- a/web/modules/custom/acceptance/joinup_acceptance.info.yml
+++ b/web/modules/custom/acceptance/joinup_acceptance.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup Acceptance'
+name: 'Portal Acceptance'
 description: 'Tasks to performed in the acceptance environment.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/acceptance/joinup_acceptance.install b/web/modules/custom/acceptance/joinup_acceptance.install
index ced241f19d..7feecdcdc7 100644
--- a/web/modules/custom/acceptance/joinup_acceptance.install
+++ b/web/modules/custom/acceptance/joinup_acceptance.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update, uninstall tasks for Joinup Acceptance module.
+ * Install, update, uninstall tasks for Portal Acceptance module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/adms_validator/adms_validator.info.yml b/web/modules/custom/adms_validator/adms_validator.info.yml
index 6d97d898eb..fe462fa5fc 100644
--- a/web/modules/custom/adms_validator/adms_validator.info.yml
+++ b/web/modules/custom/adms_validator/adms_validator.info.yml
@@ -1,7 +1,7 @@
 name: ADMS-AP validator
 description: Validates ADMS-AP data.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/collection/collection.info.yml b/web/modules/custom/collection/collection.info.yml
index 1f949d90ce..1f94976d2d 100644
--- a/web/modules/custom/collection/collection.info.yml
+++ b/web/modules/custom/collection/collection.info.yml
@@ -1,7 +1,7 @@
 name: Collection
-description: 'Provides Collections for the Joinup project.'
+description: 'Provides Collections for the Portal project.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - drupal:datetime
diff --git a/web/modules/custom/collection/src/Controller/GlossaryController.php b/web/modules/custom/collection/src/Controller/GlossaryController.php
index cb02c8972e..8e2767397d 100644
--- a/web/modules/custom/collection/src/Controller/GlossaryController.php
+++ b/web/modules/custom/collection/src/Controller/GlossaryController.php
@@ -15,7 +15,7 @@
 use Drupal\views\Views;
 
 /**
- * Provides controllers for Joinup glossary functionality.
+ * Provides controllers for Portal glossary functionality.
  */
 class GlossaryController extends ControllerBase {
 
diff --git a/web/modules/custom/collection/src/Entity/CollectionInterface.php b/web/modules/custom/collection/src/Entity/CollectionInterface.php
index 6ecc1e949c..8be387cdd1 100644
--- a/web/modules/custom/collection/src/Entity/CollectionInterface.php
+++ b/web/modules/custom/collection/src/Entity/CollectionInterface.php
@@ -15,7 +15,7 @@
 use Drupal\rdf_entity\RdfInterface;
 
 /**
- * Interface for collection entities in Joinup.
+ * Interface for collection entities in Portal.
  */
 interface CollectionInterface extends RdfInterface, EntityPublicationTimeInterface, EntityWorkflowStateInterface, GroupInterface, FeaturedContentInterface, ArchivableEntityInterface, DescriptionInterface, AbstractInterface {
 
diff --git a/web/modules/custom/collection/src/Entity/GlossaryTermInterface.php b/web/modules/custom/collection/src/Entity/GlossaryTermInterface.php
index e75ae03417..ebe34ab182 100644
--- a/web/modules/custom/collection/src/Entity/GlossaryTermInterface.php
+++ b/web/modules/custom/collection/src/Entity/GlossaryTermInterface.php
@@ -7,7 +7,7 @@
 use Drupal\node\NodeInterface;
 
 /**
- * Interface for glossary terms in Joinup.
+ * Interface for glossary terms in Portal.
  */
 interface GlossaryTermInterface extends NodeInterface, CollectionContentInterface {
 
diff --git a/web/modules/custom/collection/src/EventSubscriber/CollectionGroupSubscriber.php b/web/modules/custom/collection/src/EventSubscriber/CollectionGroupSubscriber.php
index 10a3017c67..06a89f9e06 100644
--- a/web/modules/custom/collection/src/EventSubscriber/CollectionGroupSubscriber.php
+++ b/web/modules/custom/collection/src/EventSubscriber/CollectionGroupSubscriber.php
@@ -9,7 +9,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Joinup Group events.
+ * Subscribes to Portal Group events.
  */
 class CollectionGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/contact_form/contact_form.info.yml b/web/modules/custom/contact_form/contact_form.info.yml
index f1d3609746..0b93c5fabd 100644
--- a/web/modules/custom/contact_form/contact_form.info.yml
+++ b/web/modules/custom/contact_form/contact_form.info.yml
@@ -1,7 +1,7 @@
 name: Contact form
-description: The contact form for the Joinup project.
+description: The contact form for the Portal project.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/contact_form/contact_form.module b/web/modules/custom/contact_form/contact_form.module
index 628db8363b..e4337c37d7 100644
--- a/web/modules/custom/contact_form/contact_form.module
+++ b/web/modules/custom/contact_form/contact_form.module
@@ -176,7 +176,7 @@ function contact_form_tokens($type, $tokens, array $data, array $options, Bubble
  * Alter the sender of outgoing mails sent from the contact form so they will be
  * handled by support desk software and turned into tickets.
  *
- * @todo This doesn't belong in the Joinup distribution and should be removed.
+ * @todo This doesn't belong in the Portal distribution and should be removed.
  *
  * @see https://citnet.tech.ec.europa.eu/CITnet/jira/browse/ISAICP-3988
  */
@@ -205,7 +205,7 @@ function contact_form_mail($key, &$message, $params): void {
   $entity = $params['message'];
   $name = "{$entity->field_contact_first_name->value} {$entity->field_contact_last_name->value}";
 
-  $message['subject'] = t('Joinup: Contact form notification');
+  $message['subject'] = t('Portal: Contact form notification');
 
   $message['body'][] = t('Dear @name', ['@name' => $name]);
   $message['body'][] = t('Thank you for submitting your message to the Portal Support.');
diff --git a/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php b/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
index 7e892a6fe7..4e54001b7f 100644
--- a/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
+++ b/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
@@ -66,7 +66,7 @@ public function testEmailSending(bool $with_copy): void {
         'field_contact_email[0][value]' => 'jane.doe@example.com',
         'field_contact_category' => 'usage',
         'field_contact_subject[0][value]' => 'Question subject',
-        'field_contact_message[0][value]' => 'Question about Joinup',
+        'field_contact_message[0][value]' => 'Question about Portal',
         'field_contact_copy[value]' => $with_copy,
       ],
       'Submit'
@@ -84,12 +84,12 @@ public function testEmailSending(bool $with_copy): void {
           'reply-to' => NULL,
           'langcode' => 'en',
           'send' => TRUE,
-          'subject' => 'Joinup - Contact form submission',
+          'subject' => 'Portal - Contact form submission',
           'body' => self::NOTIFICATION_HTML,
           'headers' => [
             'content-transfer-encoding' => '8Bit',
             'content-type' => 'text/html',
-            'from' => 'Joinup <joinup@example.com>',
+            'from' => 'Portal <joinup@example.com>',
             'mime-version' => '1.0',
             'return-path' => 'joinup@example.com',
             'sender' => 'joinup@example.com',
@@ -106,12 +106,12 @@ public function testEmailSending(bool $with_copy): void {
           'reply-to' => NULL,
           'langcode' => 'en',
           'send' => TRUE,
-          'subject' => 'Joinup: Contact form notification',
+          'subject' => 'Portal: Contact form notification',
           'body' => $with_copy ? self::COPY_HTML : self::WITHOUT_COPY_HTML,
           'headers' => [
             'content-transfer-encoding' => '8Bit',
             'content-type' => 'text/html',
-            'from' => 'Joinup <joinup@example.com>',
+            'from' => 'Portal <joinup@example.com>',
             'mime-version' => '1.0',
             'return-path' => 'joinup@example.com',
             'sender' => 'joinup@example.com',
@@ -178,7 +178,7 @@ public function providerTestEmailSending(): array {
 <div class="field--name-field-contact-message contact-form-submission__field-contact-message">
 <div class="field__label fw-bold">
       Message    </div>
-<div class="field__item">Question about Joinup</div>
+<div class="field__item">Question about Portal</div>
 </div>
 
 
@@ -197,7 +197,7 @@ public function providerTestEmailSending(): array {
  E-mail address \njane.doe@example.com \n
  Category \nQuestion on usage \n
  Subject \nQuestion subject \n
- Message \nQuestion about Joinup
+ Message \nQuestion about Portal
 EOS;
 
   const COPY_HTML = <<<'EOS'
@@ -221,7 +221,7 @@ public function providerTestEmailSending(): array {
 <p>This is the message you submitted through the online form:</p>
 <p>Subject: <em class="placeholder">Question subject</em></p>
 <p>Content:</p>
-<blockquote><p>Question about Joinup</p>
+<blockquote><p>Question about Portal</p>
 </blockquote>
 <p>Thank you for your interest, we will reply as soon as possible.</p>
 <p>Kind regards,</p>
@@ -248,7 +248,7 @@ public function providerTestEmailSending(): array {
 
 Content:
 
-> Question about Joinup
+> Question about Portal
 
 Thank you for your interest, we will reply as soon as possible.
 
diff --git a/web/modules/custom/contact_information/contact_information.info.yml b/web/modules/custom/contact_information/contact_information.info.yml
index 3caa31f96e..c2ab90c626 100644
--- a/web/modules/custom/contact_information/contact_information.info.yml
+++ b/web/modules/custom/contact_information/contact_information.info.yml
@@ -1,7 +1,7 @@
 name: 'Contact information'
-description: 'Provides Contact information entities for the Joinup project.'
+description: 'Provides Contact information entities for the Portal project.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/contact_information/src/Entity/ContactInformationInterface.php b/web/modules/custom/contact_information/src/Entity/ContactInformationInterface.php
index 3f1cbed24f..20050eb8a3 100644
--- a/web/modules/custom/contact_information/src/Entity/ContactInformationInterface.php
+++ b/web/modules/custom/contact_information/src/Entity/ContactInformationInterface.php
@@ -10,14 +10,14 @@
 use Drupal\node\NodeInterface;
 
 /**
- * Interface for contact information entities in Joinup.
+ * Interface for contact information entities in Portal.
  *
  * A contact information entity provides a name - title, and contact details and
  * is used by collections, solutions and asset releases. The data is linked
  * using a standard entity reference field on the parent entity, and even though
  * it can be related to groups this is not considered group content.
  *
- * In Joinup a contact information entity is not shared between groups, so every
+ * In Portal a contact information entity is not shared between groups, so every
  * contact info entity belongs only to 1 single parent group. However it can
  * belong to many asset releases within a solution.
  */
diff --git a/web/modules/custom/contact_information/src/Plugin/CKEditor5Plugin/ContactUs.php b/web/modules/custom/contact_information/src/Plugin/CKEditor5Plugin/ContactUs.php
index 0a3ea4e25b..e8b39e58c7 100644
--- a/web/modules/custom/contact_information/src/Plugin/CKEditor5Plugin/ContactUs.php
+++ b/web/modules/custom/contact_information/src/Plugin/CKEditor5Plugin/ContactUs.php
@@ -26,7 +26,7 @@ class ContactUs extends CKEditor5PluginDefault implements ContainerFactoryPlugin
    * @param mixed $plugin_definition
    *   The plugin implementation definition.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $groupManager
-   *   The Joinup Group manager service.
+   *   The Portal Group manager service.
    */
   public function __construct(array $configuration, $plugin_id, $plugin_definition, protected JoinupGroupManagerInterface $groupManager) {
     parent::__construct($configuration, $plugin_id, $plugin_definition);
diff --git a/web/modules/custom/curated_content_listing/README.md b/web/modules/custom/curated_content_listing/README.md
index 49f0eb5982..ca01a4a56b 100644
--- a/web/modules/custom/curated_content_listing/README.md
+++ b/web/modules/custom/curated_content_listing/README.md
@@ -6,4 +6,4 @@ moderators. Examples of these are the 'In the spotlight' and 'Highlighted
 solution' sections on the homepage.
 
 The listings are fully handled using the Entityqueue module. This module
-customizes the entity queue functionality to fit the desired Joinup UX.
+customizes the entity queue functionality to fit the desired Portal UX.
diff --git a/web/modules/custom/curated_content_listing/curated_content_listing.info.yml b/web/modules/custom/curated_content_listing/curated_content_listing.info.yml
index 9ee6e261a2..c887f7e8ea 100644
--- a/web/modules/custom/curated_content_listing/curated_content_listing.info.yml
+++ b/web/modules/custom/curated_content_listing/curated_content_listing.info.yml
@@ -1,7 +1,7 @@
 name: Curated content listings
 type: module
 description: Provides listings of content that can be hand picked by moderators.
-package: Joinup
+package: Portal
 
 core_version_requirement: ">= 9.4"
 
diff --git a/web/modules/custom/custom_page/custom_page.info.yml b/web/modules/custom/custom_page/custom_page.info.yml
index 9b08f3a64c..e63e3e99d9 100644
--- a/web/modules/custom/custom_page/custom_page.info.yml
+++ b/web/modules/custom/custom_page/custom_page.info.yml
@@ -1,7 +1,7 @@
 name: 'Custom page'
 description: 'Custom content that belongs to a collection.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/custom_page/src/EventSubscriber/CustomPageGroupSubscriber.php b/web/modules/custom/custom_page/src/EventSubscriber/CustomPageGroupSubscriber.php
index fe8bdb1241..45a04fad2d 100644
--- a/web/modules/custom/custom_page/src/EventSubscriber/CustomPageGroupSubscriber.php
+++ b/web/modules/custom/custom_page/src/EventSubscriber/CustomPageGroupSubscriber.php
@@ -8,7 +8,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Joinup Group events.
+ * Subscribes to Portal Group events.
  */
 class CustomPageGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/dashboard/dashboard.info.yml b/web/modules/custom/dashboard/dashboard.info.yml
index 9928ba1fe3..41ac15c8a0 100644
--- a/web/modules/custom/dashboard/dashboard.info.yml
+++ b/web/modules/custom/dashboard/dashboard.info.yml
@@ -1,7 +1,7 @@
 name: Dashboard
-description: Provides a dashboard for the Joinup project.
+description: Provides a dashboard for the Portal project.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - joinup:joinup_core
diff --git a/web/modules/custom/entityqueue_block/entityqueue_block.info.yml b/web/modules/custom/entityqueue_block/entityqueue_block.info.yml
index 63e304ff0a..909de703f2 100644
--- a/web/modules/custom/entityqueue_block/entityqueue_block.info.yml
+++ b/web/modules/custom/entityqueue_block/entityqueue_block.info.yml
@@ -1,7 +1,7 @@
 name: Entityqueue block
 type: module
 description: Provides a block type that displays the content of an entityqueue.
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - 'drupal:block'
diff --git a/web/modules/custom/isa2_analytics/isa2_analytics.info.yml b/web/modules/custom/isa2_analytics/isa2_analytics.info.yml
index bc4d8440a3..01a0defc32 100644
--- a/web/modules/custom/isa2_analytics/isa2_analytics.info.yml
+++ b/web/modules/custom/isa2_analytics/isa2_analytics.info.yml
@@ -1,5 +1,5 @@
 name: ISA2 Analytics
-description: Integrates the ISA2 Joinup instance with Webtools Analytics for tracking user behaviour.
+description: Integrates the ISA2 Portal instance with Webtools Analytics for tracking user behaviour.
 type: module
 package: ISA2
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_bookmark/joinup_bookmark.info.yml b/web/modules/custom/joinup_bookmark/joinup_bookmark.info.yml
index 4454a7330c..9e88ce9ed6 100644
--- a/web/modules/custom/joinup_bookmark/joinup_bookmark.info.yml
+++ b/web/modules/custom/joinup_bookmark/joinup_bookmark.info.yml
@@ -1,7 +1,7 @@
 name: Bookmark
 description: 'bookmark functionality'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_bookmark/joinup_bookmark.module b/web/modules/custom/joinup_bookmark/joinup_bookmark.module
index 20d2a56337..e66ea82d6d 100644
--- a/web/modules/custom/joinup_bookmark/joinup_bookmark.module
+++ b/web/modules/custom/joinup_bookmark/joinup_bookmark.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup bookmark module.
+ * Hook implementations for the Portal bookmark module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_bundle_class/joinup_bundle_class.info.yml b/web/modules/custom/joinup_bundle_class/joinup_bundle_class.info.yml
index ee8d0016b1..1f3d094831 100644
--- a/web/modules/custom/joinup_bundle_class/joinup_bundle_class.info.yml
+++ b/web/modules/custom/joinup_bundle_class/joinup_bundle_class.info.yml
@@ -1,5 +1,5 @@
-name: 'Joinup Bundle Class'
-description: 'Shared code for entity types that implement bundle classes in Joinup.'
+name: 'Portal Bundle Class'
+description: 'Shared code for entity types that implement bundle classes in Portal.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_cas_mock_server/joinup_cas_mock_server.info.yml b/web/modules/custom/joinup_cas_mock_server/joinup_cas_mock_server.info.yml
index d665656e46..6b9d6040d9 100644
--- a/web/modules/custom/joinup_cas_mock_server/joinup_cas_mock_server.info.yml
+++ b/web/modules/custom/joinup_cas_mock_server/joinup_cas_mock_server.info.yml
@@ -1,7 +1,7 @@
-name: Joinup CAS Mock Server
-description: CAS mock server customized for Joinup.
+name: Portal CAS Mock Server
+description: CAS mock server customized for Portal.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - cas_mock_server:cas_mock_server
diff --git a/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php b/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php
index 7e42f1986d..8aa15d70a4 100644
--- a/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php
+++ b/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php
@@ -45,7 +45,7 @@ public function loadOverrides($names): array {
           'email' => 'E-mail address',
         ],
       ],
-      // The Joinup EU Login module customizes the validation path of the CAS
+      // The Portal EU Login module customizes the validation path of the CAS
       // ticket validation service. Restore it to the value that corresponds to
       // the CAS 3.0 specification which is implemented by the CAS mock server.
       'joinup_eulogin.settings' => [
diff --git a/web/modules/custom/joinup_communities/eif/eif.info.yml b/web/modules/custom/joinup_communities/eif/eif.info.yml
index 54f952e74c..28fc20ee4e 100644
--- a/web/modules/custom/joinup_communities/eif/eif.info.yml
+++ b/web/modules/custom/joinup_communities/eif/eif.info.yml
@@ -2,7 +2,7 @@ name: European Interoperability Framework
 type: module
 description: Custom functionality for the European Interoperability Framework community.
 core_version_requirement: ">= 9.4"
-package: Joinup communities
+package: Portal communities
 dependencies:
   - drupal:text
   - joinup:custom_page
diff --git a/web/modules/custom/joinup_communities/eira/eira.info.yml b/web/modules/custom/joinup_communities/eira/eira.info.yml
index e0a6d659ab..d05c3a2f92 100644
--- a/web/modules/custom/joinup_communities/eira/eira.info.yml
+++ b/web/modules/custom/joinup_communities/eira/eira.info.yml
@@ -2,7 +2,7 @@ name: EIRA
 type: module
 description: 'Customizations for the EIRA community.'
 core_version_requirement: ">= 9.4"
-package: 'Joinup communities'
+package: 'Portal communities'
 
 dependencies:
   - drupal:filter
diff --git a/web/modules/custom/joinup_communities/eupl/eupl.info.yml b/web/modules/custom/joinup_communities/eupl/eupl.info.yml
index 8140450fb1..1de0ec5e80 100644
--- a/web/modules/custom/joinup_communities/eupl/eupl.info.yml
+++ b/web/modules/custom/joinup_communities/eupl/eupl.info.yml
@@ -2,6 +2,6 @@ name: EUPL
 type: module
 description: 'Customizations for the EUPL community.'
 core_version_requirement: ">= 9.4"
-package: 'Joinup communities'
+package: 'Portal communities'
 
 dependencies: {  }
diff --git a/web/modules/custom/joinup_communities/eupl/src/Eupl.php b/web/modules/custom/joinup_communities/eupl/src/Eupl.php
index 26a3831ce6..fe755bc0bc 100644
--- a/web/modules/custom/joinup_communities/eupl/src/Eupl.php
+++ b/web/modules/custom/joinup_communities/eupl/src/Eupl.php
@@ -17,7 +17,7 @@ class Eupl {
   const EUPL_COMMUNITY_ID = 'http://data.europa.eu/w21/b4be085f-c669-4ead-82a9-b2020fabd40b';
 
   /**
-   * The Joinup Licensing Assistant (JLA) solution ID.
+   * The Portal Licensing Assistant (JLA) solution ID.
    *
    * @var string
    */
diff --git a/web/modules/custom/joinup_communities/interoperable_europe/interoperable_europe.info.yml b/web/modules/custom/joinup_communities/interoperable_europe/interoperable_europe.info.yml
index 523a774a2b..96823bb5a4 100644
--- a/web/modules/custom/joinup_communities/interoperable_europe/interoperable_europe.info.yml
+++ b/web/modules/custom/joinup_communities/interoperable_europe/interoperable_europe.info.yml
@@ -1,7 +1,7 @@
 name: Interoperable Europe
 type: module
-description: Custom code for the Interoperable Europe community of the Joinup project.
-package: Joinup communities
+description: Custom code for the Interoperable Europe community of the Portal project.
+package: Portal communities
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.info.yml b/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.info.yml
index 1e98468ed0..ba83e5a19b 100644
--- a/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.info.yml
+++ b/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.info.yml
@@ -1,8 +1,8 @@
-name: Joinup
+name: Portal
 type: module
-description: Specificities for the Joinup community.
+description: Specificities for the Portal community.
 core_version_requirement: ">= 9.4"
-package: Joinup communities
+package: Portal communities
 
 dependencies:
   - og:og
diff --git a/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module b/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module
index e70eb951d3..ae38cece47 100644
--- a/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module
+++ b/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main file of Joinup module.
+ * Main file of Portal module.
  */
 
 declare(strict_types=1);
@@ -19,7 +19,7 @@
 /**
  * Implements hook_ENTITY_TYPE_insert().
  *
- * Add the 'Joinup' collection membership to every new user.
+ * Add the 'Portal' collection membership to every new user.
  */
 function joinup_collection_user_insert(UserInterface $account): void {
   /** @var \Drupal\collection\Entity\CollectionInterface $joinup_collection */
@@ -61,9 +61,9 @@ function joinup_collection_form_views_form_og_members_overview_default_alter(&$f
  */
 function joinup_collection_rdf_entity_insert(EntityInterface $entity): void {
   // Invalidate a custom cache tag, used to rebuild the hamburger menu so that
-  // the 'About us' link can be shown dependending on whether the Joinup
+  // the 'About us' link can be shown dependending on whether the Portal
   // collection exists. Mainly intended for tests since in the production site
-  // the Joinup collection is not regularly deleted.
+  // the Portal collection is not regularly deleted.
   if ($entity->id() === JoinupCollectionHelper::getCollectionId()) {
     Cache::invalidateTags(['joinup_collection:exists']);
   }
diff --git a/web/modules/custom/joinup_communities/joinup_collection/src/Controller/JoinupCollectionLeaveController.php b/web/modules/custom/joinup_communities/joinup_collection/src/Controller/JoinupCollectionLeaveController.php
index b8ade36087..6fdc8e1427 100644
--- a/web/modules/custom/joinup_communities/joinup_collection/src/Controller/JoinupCollectionLeaveController.php
+++ b/web/modules/custom/joinup_communities/joinup_collection/src/Controller/JoinupCollectionLeaveController.php
@@ -25,7 +25,7 @@ class JoinupCollectionLeaveController {
    *   The access result object.
    */
   public static function access(RdfInterface $rdf_entity): AccessResultInterface {
-    // The 'Joinup' membership can not be revoked.
+    // The 'Portal' membership can not be revoked.
     if ($rdf_entity->id() === JoinupCollectionHelper::getCollectionId()) {
       return AccessResult::forbidden();
     }
diff --git a/web/modules/custom/joinup_communities/joinup_collection/src/JoinupCollectionHelper.php b/web/modules/custom/joinup_communities/joinup_collection/src/JoinupCollectionHelper.php
index 6758c4c748..dc0f8e0b46 100644
--- a/web/modules/custom/joinup_communities/joinup_collection/src/JoinupCollectionHelper.php
+++ b/web/modules/custom/joinup_communities/joinup_collection/src/JoinupCollectionHelper.php
@@ -7,12 +7,12 @@
 use Drupal\Core\Site\Settings;
 
 /**
- * Helper class for the Joinup Collection module.
+ * Helper class for the Portal Collection module.
  */
 class JoinupCollectionHelper {
 
   /**
-   * The default entity ID of the Joinup collection.
+   * The default entity ID of the Portal collection.
    */
   public const JOINUP_COLLECTION_DEFAULT_ENTITY_ID = 'http://data.europa.eu/w21/df34e3a2-207b-4910-a804-344931654e20';
 
@@ -22,7 +22,7 @@ class JoinupCollectionHelper {
   public const INTEROPERABILITY_SOLUTIONS_ENTITY_ID = 704741;
 
   /**
-   * Returns the entity ID of the Joinup collection.
+   * Returns the entity ID of the Portal collection.
    *
    * This will return the collection ID that is defined in `settings.php`, or a
    * fallback default ID if not defined in the settings.
diff --git a/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.info.yml b/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.info.yml
index 23a4c333f1..2a475c3d31 100644
--- a/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.info.yml
+++ b/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.info.yml
@@ -1,8 +1,8 @@
-name: Joinup OSS Catalogue
+name: Portal OSS Catalogue
 type: module
 description: EU OSS Catalogue customisation
 core_version_requirement: ">= 9.4"
-package: Joinup communities
+package: Portal communities
 
 dependencies:
   - eu_oss_catalogue:eu_oss_catalogue
diff --git a/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.module b/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.module
index a740c2e6d1..4f4ad4462e 100644
--- a/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.module
+++ b/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main file of Joinup OSS Catalogue module.
+ * Main file of Portal OSS Catalogue module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Entity/JoinupOssSolution.php b/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Entity/JoinupOssSolution.php
index d458858826..e3f99ac002 100644
--- a/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Entity/JoinupOssSolution.php
+++ b/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Entity/JoinupOssSolution.php
@@ -18,7 +18,7 @@
 use Drupal\joinup_oss_catalogue\Plugin\LanguageNegotiation\OssContentNegotiation;
 
 /**
- * Joinup OSS solution.
+ * Portal OSS solution.
  */
 class JoinupOssSolution extends OssSolution implements DescriptionInterface, LogoInterface {
 
diff --git a/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Plugin/QueueWorker/JoinupOssCatalogueImagecacheWarmerQueue.php b/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Plugin/QueueWorker/JoinupOssCatalogueImagecacheWarmerQueue.php
index c8f8e4cccf..225bc2fa28 100644
--- a/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Plugin/QueueWorker/JoinupOssCatalogueImagecacheWarmerQueue.php
+++ b/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Plugin/QueueWorker/JoinupOssCatalogueImagecacheWarmerQueue.php
@@ -11,7 +11,7 @@
  *
  * @QueueWorker(
  *   id = "joinup_oss_catalogue_imagecache_warmer",
- *   title = @Translation("Joinup OSS Catalogue remote image cache warmer"),
+ *   title = @Translation("Portal OSS Catalogue remote image cache warmer"),
  *   cron = {"time" = 60},
  * )
  */
diff --git a/web/modules/custom/joinup_communities/osor/static_pages/implementation.html b/web/modules/custom/joinup_communities/osor/static_pages/implementation.html
index d5717773c9..9e7afacd31 100644
--- a/web/modules/custom/joinup_communities/osor/static_pages/implementation.html
+++ b/web/modules/custom/joinup_communities/osor/static_pages/implementation.html
@@ -42,10 +42,10 @@
         <div class="top" style="border-bottom-color: rgb(19, 96, 189);">
           &nbsp;</div>
         <div class="middle" style="background: rgb(19, 96, 189); cursor: pointer;">
-          <span><a target="_parent" href="/search?keys=Joinup+Open+Source+News+Service">Newsletters</a></span></div>
+          <span><a target="_parent" href="/search?keys=Portal+Open+Source+News+Service">Newsletters</a></span></div>
         <div class="bottom" style="border-top-color: rgb(19, 96, 189);">
           &nbsp;</div>
       </div>
     </div>
   </div>
-</div>
\ No newline at end of file
+</div>
diff --git a/web/modules/custom/joinup_communities/semic/adopters.xml b/web/modules/custom/joinup_communities/semic/adopters.xml
index e1e9225b3f..f8da9aa941 100644
--- a/web/modules/custom/joinup_communities/semic/adopters.xml
+++ b/web/modules/custom/joinup_communities/semic/adopters.xml
@@ -7,15 +7,15 @@
 			<name>Adopters of data standards developed by SEMIC in Europe</name>
 			<Placemark>
 				<name>BRIS</name>
-				<description><![CDATA[The EU Business Registers Interconnection System (BRIS) facilitates the distribution of information from each of the Member States’ business registers to the registers of other Member States in a standard message format and in the relevant language version. The BRIS XML schema makes basic company information searchable and exchangeable, and is based on the XML syntax of the Core Business Vocabularies.<br><br>BRIS uses the XML schema representation format to describe the information exchange model and the domain model. BRIS is aligned with the Core Business Vocabulary at the conceptual level, and BRIS XML messages are based on Core Business Vocabulary XML syntax. Class properties and associations that were not needed from the Core Business Registry were removed, and new classes, properties or associations needed by BRIS were added. You can read more about it <a href="https://joinup.ec.europa.eu/sites/default/files/eu_core_vocabularies_in_action_using_core_business_vocabulary_in_the_eu_.pdf" target="_blank">here</a>.<br><br>Owners: <a href="http://ec.europa.eu/dgs/informatics/index_en.htm" target="_blank">DG DIGIT</a>, <a href="http://ec.europa.eu/justice/index_en.htm" target="_blank">DG JUST</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/core_vocabularies/description" target="_blank">Core Business Vocabulary</a><br><br>You can visit the <a href="https://joinup.ec.europa.eu/community/semic/news/core-business-vocabulary-action-case-eu-business-registers-interconnection-syst" target="_blank">BRIS homepage on Joinup</a> for more information.]]></description>
+				<description><![CDATA[The EU Business Registers Interconnection System (BRIS) facilitates the distribution of information from each of the Member States’ business registers to the registers of other Member States in a standard message format and in the relevant language version. The BRIS XML schema makes basic company information searchable and exchangeable, and is based on the XML syntax of the Core Business Vocabularies.<br><br>BRIS uses the XML schema representation format to describe the information exchange model and the domain model. BRIS is aligned with the Core Business Vocabulary at the conceptual level, and BRIS XML messages are based on Core Business Vocabulary XML syntax. Class properties and associations that were not needed from the Core Business Registry were removed, and new classes, properties or associations needed by BRIS were added. You can read more about it <a href="https://joinup.ec.europa.eu/sites/default/files/eu_core_vocabularies_in_action_using_core_business_vocabulary_in_the_eu_.pdf" target="_blank">here</a>.<br><br>Owners: <a href="http://ec.europa.eu/dgs/informatics/index_en.htm" target="_blank">DG DIGIT</a>, <a href="http://ec.europa.eu/justice/index_en.htm" target="_blank">DG JUST</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/core_vocabularies/description" target="_blank">Core Business Vocabulary</a><br><br>You can visit the <a href="https://joinup.ec.europa.eu/community/semic/news/core-business-vocabulary-action-case-eu-business-registers-interconnection-syst" target="_blank">BRIS homepage on Portal</a> for more information.]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>4.3712711,50.8422893,0.0</coordinates>
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>Joinup</name>
-				<description><![CDATA[Joinup is a collaborative platform, and a federated repository of more than 40 repositories across Europe for interoperability solutions created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other. It also supports them to find, choose, re-use, develop and implement interoperability solutions.<br><br>ADMS-AP for Joinup aims to extend the use of ADMS for the description of other types of interoperability solutions, meaning solutions covering the political, legal, organisational and technical interoperability layers defined by the <a href="http://ec.europa.eu/isa/documents/isa_annex_ii_eif_en.pdf" target="_blank">European Interoperability Framework</a>. You can read more about it <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">here</a>.<br><br>Owner: <a href="http://ec.europa.eu/isa/" target="_blank">ISA Programme</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">ADMS-AP</a><br><br><a href="https://joinup.ec.europa.eu" target="_blank">joinup.ec.europa.eu</a>]]></description>
+				<name>Portal</name>
+				<description><![CDATA[Portal is a collaborative platform, and a federated repository of more than 40 repositories across Europe for interoperability solutions created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other. It also supports them to find, choose, re-use, develop and implement interoperability solutions.<br><br>ADMS-AP for Portal aims to extend the use of ADMS for the description of other types of interoperability solutions, meaning solutions covering the political, legal, organisational and technical interoperability layers defined by the <a href="http://ec.europa.eu/isa/documents/isa_annex_ii_eif_en.pdf" target="_blank">European Interoperability Framework</a>. You can read more about it <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">here</a>.<br><br>Owner: <a href="http://ec.europa.eu/isa/" target="_blank">ISA Programme</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">ADMS-AP</a><br><br><a href="https://joinup.ec.europa.eu" target="_blank">joinup.ec.europa.eu</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>4.3710887,50.8420996,0.0</coordinates>
@@ -79,7 +79,7 @@
 			</Placemark>
 			<Placemark>
 				<name>The German XRepository</name>
-				<description><![CDATA[The XRepository provides a central location for storing and managing subject-specific and interdisciplinary interoperability solutions for public administrations. These interoperability solutions support data exchange between public authorities or between a public authority and citizens. XRepository provides a serialisation of its metadata in ADMS-AP format which is federated in Joinup.<br><br>Owner: <a href="http://www.bmi.bund.de/EN/Home/home_node.html" target="_blank">German Federal Ministry of the Interior</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">ADMS-AP</a><br><br><a href="https://www.xrepository.de" target="_blank">https://www.xrepository.de</a>]]></description>
+				<description><![CDATA[The XRepository provides a central location for storing and managing subject-specific and interdisciplinary interoperability solutions for public administrations. These interoperability solutions support data exchange between public authorities or between a public authority and citizens. XRepository provides a serialisation of its metadata in ADMS-AP format which is federated in Portal.<br><br>Owner: <a href="http://www.bmi.bund.de/EN/Home/home_node.html" target="_blank">German Federal Ministry of the Interior</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">ADMS-AP</a><br><br><a href="https://www.xrepository.de" target="_blank">https://www.xrepository.de</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>8.8125172,53.0791566,0.0</coordinates>
@@ -318,4 +318,4 @@
 			</Pair>
 		</StyleMap>
 	</Document>
-</kml>
\ No newline at end of file
+</kml>
diff --git a/web/modules/custom/joinup_communities/semic/semic.info.yml b/web/modules/custom/joinup_communities/semic/semic.info.yml
index 1de3dbb28d..e43053d77a 100644
--- a/web/modules/custom/joinup_communities/semic/semic.info.yml
+++ b/web/modules/custom/joinup_communities/semic/semic.info.yml
@@ -2,4 +2,4 @@ name: Semic
 type: module
 description: Specificities for the SEMIC community.
 core_version_requirement: ">= 9.4"
-package: Joinup communities
+package: Portal communities
diff --git a/web/modules/custom/joinup_community_content/joinup_community_content.info.yml b/web/modules/custom/joinup_community_content/joinup_community_content.info.yml
index 228599876b..58e42ef328 100644
--- a/web/modules/custom/joinup_community_content/joinup_community_content.info.yml
+++ b/web/modules/custom/joinup_community_content/joinup_community_content.info.yml
@@ -1,7 +1,7 @@
-name: Joinup Community Content
-description: Joinup Community Content base module
+name: Portal Community Content
+description: Portal Community Content base module
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_community_content/src/CommunityContentWorkflowAccessControlHandler.php b/web/modules/custom/joinup_community_content/src/CommunityContentWorkflowAccessControlHandler.php
index 4d56c46971..2a8f3078e2 100644
--- a/web/modules/custom/joinup_community_content/src/CommunityContentWorkflowAccessControlHandler.php
+++ b/web/modules/custom/joinup_community_content/src/CommunityContentWorkflowAccessControlHandler.php
@@ -52,7 +52,7 @@ public function __construct(
   }
 
   /**
-   * Main handler for access checks for group content in Joinup.
+   * Main handler for access checks for group content in Portal.
    *
    * @param \Drupal\joinup_community_content\Entity\CommunityContentInterface $content
    *   The group content entity object.
diff --git a/web/modules/custom/joinup_community_content/src/EventSubscriber/CommunityContentGroupSubscriber.php b/web/modules/custom/joinup_community_content/src/EventSubscriber/CommunityContentGroupSubscriber.php
index 3d83e99e9f..d16c3f15b7 100644
--- a/web/modules/custom/joinup_community_content/src/EventSubscriber/CommunityContentGroupSubscriber.php
+++ b/web/modules/custom/joinup_community_content/src/EventSubscriber/CommunityContentGroupSubscriber.php
@@ -8,7 +8,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Joinup Group events.
+ * Subscribes to Portal Group events.
  */
 class CommunityContentGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/joinup_community_content/src/EventSubscriber/EventSubscriber.php b/web/modules/custom/joinup_community_content/src/EventSubscriber/EventSubscriber.php
index db4be4145f..613c0b8d61 100644
--- a/web/modules/custom/joinup_community_content/src/EventSubscriber/EventSubscriber.php
+++ b/web/modules/custom/joinup_community_content/src/EventSubscriber/EventSubscriber.php
@@ -15,7 +15,7 @@
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 
 /**
- * Event subscribers for the Joinup community content module.
+ * Event subscribers for the Portal community content module.
  */
 class EventSubscriber implements EventSubscriberInterface {
 
diff --git a/web/modules/custom/joinup_community_content/src/Plugin/views/filter/JoinupContentState.php b/web/modules/custom/joinup_community_content/src/Plugin/views/filter/JoinupContentState.php
index 44129b390b..9f998ed046 100644
--- a/web/modules/custom/joinup_community_content/src/Plugin/views/filter/JoinupContentState.php
+++ b/web/modules/custom/joinup_community_content/src/Plugin/views/filter/JoinupContentState.php
@@ -13,7 +13,7 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Joinup content state.
+ * Portal content state.
  *
  * Workflow for nodes are calculated based on the associated group. We can not
  * use the standard approach because state filter does not use a real entity,
diff --git a/web/modules/custom/joinup_community_content/tests/src/ExistingSite/CommunityContentWorkflowTestBase.php b/web/modules/custom/joinup_community_content/tests/src/ExistingSite/CommunityContentWorkflowTestBase.php
index 4839aaf54b..5c7235a668 100644
--- a/web/modules/custom/joinup_community_content/tests/src/ExistingSite/CommunityContentWorkflowTestBase.php
+++ b/web/modules/custom/joinup_community_content/tests/src/ExistingSite/CommunityContentWorkflowTestBase.php
@@ -16,7 +16,7 @@
 use Drupal\rdf_entity\RdfInterface;
 
 /**
- * Base setup for a Joinup workflow test for community content.
+ * Base setup for a Portal workflow test for community content.
  *
  * @group rdf_entity
  */
diff --git a/web/modules/custom/joinup_core/config/schema/joinup_core.schema.yml b/web/modules/custom/joinup_core/config/schema/joinup_core.schema.yml
index 356cfb3ac4..6244d6066b 100644
--- a/web/modules/custom/joinup_core/config/schema/joinup_core.schema.yml
+++ b/web/modules/custom/joinup_core/config/schema/joinup_core.schema.yml
@@ -19,7 +19,7 @@ joinup_core.outdated_content_threshold:
 
 field.formatter.third_party.joinup:
   type: mapping
-  label: 'Theme settings for Joinup project.'
+  label: 'Theme settings for Portal project.'
   mapping:
     template_suggestion:
       type: string
@@ -159,7 +159,7 @@ condition.plugin.request_route:
 
 condition.plugin.joinup_content:
   type: condition.plugin
-  label: Joinup content condition
+  label: Portal content condition
   mapping:
     content:
       type: sequence
@@ -214,7 +214,7 @@ entity_reference_selection.grouped_taxonomy_term_selection:
 
 filter_settings.joinup_iframe:
   type: filter
-  label: 'Joinup iframe filter'
+  label: 'Portal iframe filter'
   mapping:
     allowed_domains:
       type: sequence
diff --git a/web/modules/custom/joinup_core/joinup_core.deploy.php b/web/modules/custom/joinup_core/joinup_core.deploy.php
index 688c6f52c0..2f8854a873 100644
--- a/web/modules/custom/joinup_core/joinup_core.deploy.php
+++ b/web/modules/custom/joinup_core/joinup_core.deploy.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Deploy functions for Joinup.
+ * Deploy functions for Portal.
  *
  * This should only contain update functions that rely on the Drupal API and
  * need to run _after_ the configuration is imported.
diff --git a/web/modules/custom/joinup_core/joinup_core.info.yml b/web/modules/custom/joinup_core/joinup_core.info.yml
index 7c8d8c81f2..3fa13f1688 100644
--- a/web/modules/custom/joinup_core/joinup_core.info.yml
+++ b/web/modules/custom/joinup_core/joinup_core.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup core'
-description: 'Contains shared code for Joinup.'
+name: 'Portal core'
+description: 'Contains shared code for Portal.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - 'drupal:comment'
diff --git a/web/modules/custom/joinup_core/joinup_core.install b/web/modules/custom/joinup_core/joinup_core.install
index 5fdda9e198..557c7a3c52 100644
--- a/web/modules/custom/joinup_core/joinup_core.install
+++ b/web/modules/custom/joinup_core/joinup_core.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update, and uninstall functions for the Joinup core module.
+ * Install, update, and uninstall functions for the Portal core module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_core/joinup_core.module b/web/modules/custom/joinup_core/joinup_core.module
index eb74d4a909..97f3295aca 100644
--- a/web/modules/custom/joinup_core/joinup_core.module
+++ b/web/modules/custom/joinup_core/joinup_core.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup core module.
+ * Hook implementations for the Portal core module.
  */
 
 declare(strict_types=1);
@@ -460,7 +460,7 @@ function joinup_core_menu_local_tasks_alter(&$data, $route_name, RefinableCachea
  * Implements hook_page_attachments().
  */
 function joinup_core_page_attachments(array &$attachments): void {
-  // As Joinup uses multiple themes, we pass the active theme to the page to be
+  // As Portal uses multiple themes, we pass the active theme to the page to be
   // used in various contexts.
   $attachments['#attached']['drupalSettings']['theme'] = \Drupal::theme()->getActiveTheme()->getName();
 }
diff --git a/web/modules/custom/joinup_core/joinup_core.post_update.php b/web/modules/custom/joinup_core/joinup_core.post_update.php
index 60c416114e..92d3c1f9b8 100644
--- a/web/modules/custom/joinup_core/joinup_core.post_update.php
+++ b/web/modules/custom/joinup_core/joinup_core.post_update.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Post update functions for Joinup.
+ * Post update functions for Portal.
  *
  * This should only contain update functions that rely on the Drupal API but
  * need to run _before_ the configuration is imported.
diff --git a/web/modules/custom/joinup_core/joinup_core.tokens.inc b/web/modules/custom/joinup_core/joinup_core.tokens.inc
index 6b34223a60..6f8c88f289 100644
--- a/web/modules/custom/joinup_core/joinup_core.tokens.inc
+++ b/web/modules/custom/joinup_core/joinup_core.tokens.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Tokens support for Joinup Core module.
+ * Tokens support for Portal Core module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_core/src/JoinupVersion.php b/web/modules/custom/joinup_core/src/JoinupVersion.php
index fad9a0dce9..dc56bed5a1 100644
--- a/web/modules/custom/joinup_core/src/JoinupVersion.php
+++ b/web/modules/custom/joinup_core/src/JoinupVersion.php
@@ -7,7 +7,7 @@
 use Drupal\Core\Url;
 
 /**
- * A service that retrieves the current Joinup version.
+ * A service that retrieves the current Portal version.
  *
  * The version is saved during building the codebase in a `VERSION.txt` file, in
  * the project's webroot directory.
@@ -22,7 +22,7 @@ class JoinupVersion implements JoinupVersionInterface {
   const UNTAGGED = 'untagged.version';
 
   /**
-   * The current Joinup version.
+   * The current Portal version.
    *
    * @var string
    */
diff --git a/web/modules/custom/joinup_core/src/JoinupVersionInterface.php b/web/modules/custom/joinup_core/src/JoinupVersionInterface.php
index 0a435f2190..28d185bdf3 100644
--- a/web/modules/custom/joinup_core/src/JoinupVersionInterface.php
+++ b/web/modules/custom/joinup_core/src/JoinupVersionInterface.php
@@ -7,7 +7,7 @@
 use Drupal\Core\Url;
 
 /**
- * Interface for services that retrieve the current Joinup version.
+ * Interface for services that retrieve the current Portal version.
  *
  * The version is saved during building the codebase in a `VERSION.txt` file, in
  * the project's webroot directory.
@@ -15,7 +15,7 @@
 interface JoinupVersionInterface {
 
   /**
-   * The path to the file that contains the Joinup version.
+   * The path to the file that contains the Portal version.
    */
   const PATH = DRUPAL_ROOT . '/VERSION.txt';
 
@@ -25,10 +25,10 @@ interface JoinupVersionInterface {
   const REPO_BASE_URL = 'https://git.fpfis.tech.ec.europa.eu/ec-europa/digit-joinup-reference/';
 
   /**
-   * Returns a string that uniquely identifies the current Joinup version.
+   * Returns a string that uniquely identifies the current Portal version.
    *
    * @return string
-   *   The Joinup version. This is in the format as returned by `git describe`.
+   *   The Portal version. This is in the format as returned by `git describe`.
    *   - If a release is checked out this will be the git tag, e.g. 'v1.56.0'.
    *   - If a development version is checked out, the version is composed of the
    *     closest git tag, followed by a dash, the number of commits that follow
@@ -42,7 +42,7 @@ interface JoinupVersionInterface {
   public function getVersion(): string;
 
   /**
-   * Returns the URL of the current Joinup release or code snapshot.
+   * Returns the URL of the current Portal release or code snapshot.
    *
    * @return \Drupal\Core\Url
    *   The URL.
diff --git a/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php b/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php
index 6d96b6a346..166c7f32f6 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php
@@ -17,7 +17,7 @@
  * always visible so if there is only 1 tab active, it is the current one and
  * the user does not need to click to go to the current page.
  *
- * In Joinup, we are hiding off the "View" tab for canonical paths. This can
+ * In Portal, we are hiding off the "View" tab for canonical paths. This can
  * result in cases where there is only 1 tab left but it is not the current one.
  * Thus, we need to override the primary tabs block in order to allow a single
  * tab to be viewed.
diff --git a/web/modules/custom/joinup_core/src/Plugin/Condition/JoinupContent.php b/web/modules/custom/joinup_core/src/Plugin/Condition/JoinupContent.php
index fc65b3bac9..c494e31794 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Condition/JoinupContent.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Condition/JoinupContent.php
@@ -16,7 +16,7 @@
  *
  * @Condition(
  *   id = "joinup_content",
- *   label = @Translation("Joinup content"),
+ *   label = @Translation("Portal content"),
  *   context_definitions = {
  *     "node" = @ContextDefinition("entity:node", label = @Translation("Node"),
  *   required = FALSE),
@@ -76,7 +76,7 @@ public function defaultConfiguration(): array {
    */
   public function buildConfigurationForm(array $form, FormStateInterface $form_state): array {
     $form['content'] = [
-      '#title' => $this->t('Joinup content'),
+      '#title' => $this->t('Portal content'),
       '#type' => 'checkboxes',
       '#options' => $this->getContentOptions(),
       '#default_value' => $this->configuration['content'],
diff --git a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingEmailWidget.php b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingEmailWidget.php
index 61688e8074..3ba325053f 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingEmailWidget.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingEmailWidget.php
@@ -10,7 +10,7 @@
 /**
  * Widget for e-mail fields that support multiple cardinality for existing data.
  *
- * In the Drupal 6 version of Joinup it was possible to enter multiple e-mail
+ * In the Drupal 6 version of Portal it was possible to enter multiple e-mail
  * addresses for some e-mail fields. In the new version we only allow to enter a
  * single e-mail address for these fields. However, it should still be possible
  * to edit existing multivalue data for content that was migrated from Drupal 6.
diff --git a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingLinkWidget.php b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingLinkWidget.php
index be86d019fc..247aa9b88e 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingLinkWidget.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingLinkWidget.php
@@ -12,7 +12,7 @@
 /**
  * Widget for link fields that support multiple cardinality for existing data.
  *
- * In the Drupal 6 version of Joinup it was possible to enter multiple values
+ * In the Drupal 6 version of Portal it was possible to enter multiple values
  * for some link fields, but in the new version we only allow to enter a single
  * value. However, it should still be possible to edit existing multivalue data
  * for content that was migrated from Drupal 6.
diff --git a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingTextFieldWidget.php b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingTextFieldWidget.php
index d48a88e60d..fe2c3ca9f4 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingTextFieldWidget.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingTextFieldWidget.php
@@ -10,7 +10,7 @@
 /**
  * Widget for text fields that support multiple cardinality for existing data.
  *
- * In the Drupal 6 version of Joinup it was possible to enter multiple values
+ * In the Drupal 6 version of Portal it was possible to enter multiple values
  * for some text fields, but in the new version we only allow to enter a single
  * value. However, it should still be possible to edit existing multivalue data
  * for content that was migrated from Drupal 6.
diff --git a/web/modules/custom/joinup_core/src/Plugin/Filter/FilterIframe.php b/web/modules/custom/joinup_core/src/Plugin/Filter/FilterIframe.php
index ab1c699f8f..3aa03f03d3 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Filter/FilterIframe.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Filter/FilterIframe.php
@@ -22,7 +22,7 @@
  */
 #[Filter(
   id: "joinup_iframe",
-  title: new TranslatableMarkup("Joinup iframe filter"),
+  title: new TranslatableMarkup("Portal iframe filter"),
   type: FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE,
   description: new TranslatableMarkup("Filters <code>iframe</code> tags according to allowed domains."),
   settings: [
diff --git a/web/modules/custom/joinup_core/src/Plugin/SocialMediaLinks/Iconset/JoinupIcons.php b/web/modules/custom/joinup_core/src/Plugin/SocialMediaLinks/Iconset/JoinupIcons.php
index b151a58f6f..ea5bd79a42 100644
--- a/web/modules/custom/joinup_core/src/Plugin/SocialMediaLinks/Iconset/JoinupIcons.php
+++ b/web/modules/custom/joinup_core/src/Plugin/SocialMediaLinks/Iconset/JoinupIcons.php
@@ -8,15 +8,15 @@
 use Drupal\social_media_links\IconsetBase;
 
 /**
- * Provides the Joinup icons set.
+ * Provides the Portal icons set.
  *
  * Since the user social media field requires this class in its configuration,
- * we cannot put this in the Joinup profile.
+ * we cannot put this in the Portal profile.
  *
  * @Iconset(
  *   id = "joinup",
- *   publisher = "Joinup",
- *   name = "Joinup icons",
+ *   publisher = "Portal",
+ *   name = "Portal icons",
  * )
  */
 class JoinupIcons extends IconsetBase {
diff --git a/web/modules/custom/joinup_core/src/Plugin/sparql_entity_storage/Id/JoinupEntityIdGenerator.php b/web/modules/custom/joinup_core/src/Plugin/sparql_entity_storage/Id/JoinupEntityIdGenerator.php
index 03329e477c..e55757e010 100644
--- a/web/modules/custom/joinup_core/src/Plugin/sparql_entity_storage/Id/JoinupEntityIdGenerator.php
+++ b/web/modules/custom/joinup_core/src/Plugin/sparql_entity_storage/Id/JoinupEntityIdGenerator.php
@@ -14,7 +14,7 @@
  *
  * @SparqlEntityIdGenerator(
  *   id = "joinup_po_namespace",
- *   name = @Translation("Joinup PO namespace (data.europa.eu/w21)"),
+ *   name = @Translation("Portal PO namespace (data.europa.eu/w21)"),
  * )
  */
 class JoinupEntityIdGenerator extends SparqlEntityStorageEntityIdPluginBase {
diff --git a/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.info.yml b/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.info.yml
index c82de9e0a9..ddaf3df244 100644
--- a/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.info.yml
+++ b/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.info.yml
@@ -1,4 +1,4 @@
-name: 'Joinup ETrans Debugger'
+name: 'Portal ETrans Debugger'
 type: module
 description: 'Developer module which visually reveals which parts of the page are translated by the ETrans service'
 package: Testing
diff --git a/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.module b/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.module
index 57525c6993..5b91fa1576 100644
--- a/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.module
+++ b/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains hooks of Joinup ETrans Debugger.
+ * Contains hooks of Portal ETrans Debugger.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_core/tests/modules/joinup_test_time/joinup_test_time.info.yml b/web/modules/custom/joinup_core/tests/modules/joinup_test_time/joinup_test_time.info.yml
index 4a69360e9e..6a18fc674a 100644
--- a/web/modules/custom/joinup_core/tests/modules/joinup_test_time/joinup_test_time.info.yml
+++ b/web/modules/custom/joinup_core/tests/modules/joinup_test_time/joinup_test_time.info.yml
@@ -1,4 +1,4 @@
-name: 'Joinup request time mock'
+name: 'Portal request time mock'
 type: module
 description: 'Support module for testing with mocked request time.'
 package: Testing
diff --git a/web/modules/custom/joinup_core/tests/src/ExistingSite/BlockContextSatisfactionTest.php b/web/modules/custom/joinup_core/tests/src/ExistingSite/BlockContextSatisfactionTest.php
index 2f073a43fa..2d463feb42 100644
--- a/web/modules/custom/joinup_core/tests/src/ExistingSite/BlockContextSatisfactionTest.php
+++ b/web/modules/custom/joinup_core/tests/src/ExistingSite/BlockContextSatisfactionTest.php
@@ -17,7 +17,7 @@
 class BlockContextSatisfactionTest extends JoinupExistingSiteTestBase {
 
   /**
-   * An array containing the paths that contain custom Joinup code.
+   * An array containing the paths that contain custom Portal code.
    *
    * All custom blocks whose definitions reside in these paths will be subjected
    * to this test.
@@ -94,7 +94,7 @@ protected function getBlockDefinitionsFilteredByAvailableContexts(): array {
   }
 
   /**
-   * Returns the block definitions that are defined in custom Joinup code.
+   * Returns the block definitions that are defined in custom Portal code.
    *
    * @return array[]
    *   An associative array of block definitions, keyed by block ID.
@@ -109,7 +109,7 @@ protected function getJoinupBlockDefinitions(): array {
   }
 
   /**
-   * Returns the custom extensions that are provided by Joinup.
+   * Returns the custom extensions that are provided by Portal.
    *
    * @return \Drupal\Core\Extension\Extension[]
    *   The extensions.
diff --git a/web/modules/custom/joinup_core/tests/src/ExistingSite/ConfigTest.php b/web/modules/custom/joinup_core/tests/src/ExistingSite/ConfigTest.php
index e0c3778f9a..31e0d7d50c 100644
--- a/web/modules/custom/joinup_core/tests/src/ExistingSite/ConfigTest.php
+++ b/web/modules/custom/joinup_core/tests/src/ExistingSite/ConfigTest.php
@@ -8,7 +8,7 @@
 use Drush\TestTraits\DrushTestTrait;
 
 /**
- * Tests the Joinup configuration.
+ * Tests the Portal configuration.
  *
  * @group joinup_core
  */
diff --git a/web/modules/custom/joinup_core/tests/src/Kernel/JoinupConfigSyncTest.php b/web/modules/custom/joinup_core/tests/src/Kernel/JoinupConfigSyncTest.php
index 821911554e..3be2d6bceb 100644
--- a/web/modules/custom/joinup_core/tests/src/Kernel/JoinupConfigSyncTest.php
+++ b/web/modules/custom/joinup_core/tests/src/Kernel/JoinupConfigSyncTest.php
@@ -13,7 +13,7 @@
 use Symfony\Component\DependencyInjection\Reference;
 
 /**
- * Tests Joinup sync configuration.
+ * Tests Portal sync configuration.
  *
  * @group joinup_core
  */
diff --git a/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupMailKernelTestBase.php b/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupMailKernelTestBase.php
index e155da308f..547957df0e 100644
--- a/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupMailKernelTestBase.php
+++ b/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupMailKernelTestBase.php
@@ -42,7 +42,7 @@ abstract class JoinupMailKernelTestBase extends KernelTestBase {
     'mailsystem',
     'symfony_mailer_lite',
 
-    // Joinup Notification + its dependencies.
+    // Portal Notification + its dependencies.
     'joinup_notification',
     'field',
     'options',
diff --git a/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupUserMailTest.php b/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupUserMailTest.php
index abe5f565e4..0a0de24941 100644
--- a/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupUserMailTest.php
+++ b/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupUserMailTest.php
@@ -48,7 +48,7 @@ public function testUserResetEmail(): void {
           'headers' => [
             'content-transfer-encoding' => '8Bit',
             'content-type' => 'text/html',
-            'from' => 'Joinup <joinup@example.com>',
+            'from' => 'Portal <joinup@example.com>',
             'mime-version' => '1.0',
             'reply-to' => 'joinup@example.com',
             'return-path' => 'joinup@example.com',
diff --git a/web/modules/custom/joinup_debug/joinup_debug.info.yml b/web/modules/custom/joinup_debug/joinup_debug.info.yml
index 1893f0e069..d360226c62 100644
--- a/web/modules/custom/joinup_debug/joinup_debug.info.yml
+++ b/web/modules/custom/joinup_debug/joinup_debug.info.yml
@@ -1,5 +1,5 @@
-name: 'Joinup debug'
+name: 'Portal debug'
 description: 'Provides additional logging when unexpected behavior occurs.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_debug/joinup_debug.module b/web/modules/custom/joinup_debug/joinup_debug.module
index 0a348b7e28..6ef6f8d9f2 100644
--- a/web/modules/custom/joinup_debug/joinup_debug.module
+++ b/web/modules/custom/joinup_debug/joinup_debug.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup Debug module.
+ * Hook implementations for the Portal Debug module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_debug/src/Form/SparqlConsoleForm.php b/web/modules/custom/joinup_debug/src/Form/SparqlConsoleForm.php
index 89f526d07b..00aa3abc96 100644
--- a/web/modules/custom/joinup_debug/src/Form/SparqlConsoleForm.php
+++ b/web/modules/custom/joinup_debug/src/Form/SparqlConsoleForm.php
@@ -11,7 +11,7 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Provides a Joinup RDF form.
+ * Provides a Portal RDF form.
  */
 final class SparqlConsoleForm extends FormBase {
 
diff --git a/web/modules/custom/joinup_debug/src/Form/VocabularyIndexForm.php b/web/modules/custom/joinup_debug/src/Form/VocabularyIndexForm.php
index a943bf7f3a..8cb06bba00 100644
--- a/web/modules/custom/joinup_debug/src/Form/VocabularyIndexForm.php
+++ b/web/modules/custom/joinup_debug/src/Form/VocabularyIndexForm.php
@@ -13,7 +13,7 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Provides a Joinup debug form.
+ * Provides a Portal debug form.
  */
 final class VocabularyIndexForm extends FormBase {
 
diff --git a/web/modules/custom/joinup_discussion/joinup_discussion.info.yml b/web/modules/custom/joinup_discussion/joinup_discussion.info.yml
index 5952b5a882..a949f16f8e 100644
--- a/web/modules/custom/joinup_discussion/joinup_discussion.info.yml
+++ b/web/modules/custom/joinup_discussion/joinup_discussion.info.yml
@@ -1,7 +1,7 @@
 name: Discussion
-description: 'A discussion content bundle for the Joinup project.'
+description: 'A discussion content bundle for the Portal project.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_discussion/joinup_discussion.module b/web/modules/custom/joinup_discussion/joinup_discussion.module
index f7bd0ce509..31be45617a 100644
--- a/web/modules/custom/joinup_discussion/joinup_discussion.module
+++ b/web/modules/custom/joinup_discussion/joinup_discussion.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup Discussion module.
+ * Hook implementations for the Portal Discussion module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_discussion/src/Entity/DiscussionInterface.php b/web/modules/custom/joinup_discussion/src/Entity/DiscussionInterface.php
index f2826e237e..9d344592b0 100644
--- a/web/modules/custom/joinup_discussion/src/Entity/DiscussionInterface.php
+++ b/web/modules/custom/joinup_discussion/src/Entity/DiscussionInterface.php
@@ -9,7 +9,7 @@
 use Drupal\joinup_workflow\ArchivableEntityInterface;
 
 /**
- * Interface for discussion entities in Joinup.
+ * Interface for discussion entities in Portal.
  */
 interface DiscussionInterface extends CommunityContentInterface, ArchivableEntityInterface, LogoInterface {
 
diff --git a/web/modules/custom/joinup_discussion/src/Event/DiscussionEvents.php b/web/modules/custom/joinup_discussion/src/Event/DiscussionEvents.php
index 81d61c8310..ba26324e83 100644
--- a/web/modules/custom/joinup_discussion/src/Event/DiscussionEvents.php
+++ b/web/modules/custom/joinup_discussion/src/Event/DiscussionEvents.php
@@ -5,7 +5,7 @@
 namespace Drupal\joinup_discussion\Event;
 
 /**
- * Defines events for the Joinup Discussion module.
+ * Defines events for the Portal Discussion module.
  */
 final class DiscussionEvents {
 
diff --git a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php
index 2bd81702ae..ff592c2e30 100644
--- a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php
+++ b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php
@@ -17,14 +17,14 @@
 class SubscribedDiscussionCommentSubscriber implements EventSubscriberInterface {
 
   /**
-   * The Joinup subscribe service.
+   * The Portal subscribe service.
    *
    * @var \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface
    */
   protected $subscribeService;
 
   /**
-   * The Joinup message delivery service.
+   * The Portal message delivery service.
    *
    * @var \Drupal\joinup_notification\JoinupMessageDeliveryInterface
    */
@@ -62,9 +62,9 @@ class SubscribedDiscussionCommentSubscriber implements EventSubscriberInterface
    * Constructs a new event subscriber object.
    *
    * @param \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface $subscribe_service
-   *   The Joinup subscribe service.
+   *   The Portal subscribe service.
    * @param \Drupal\joinup_notification\JoinupMessageDeliveryInterface $message_delivery
-   *   The Joinup message delivery service.
+   *   The Portal message delivery service.
    */
   public function __construct(JoinupDiscussionSubscriptionInterface $subscribe_service, JoinupMessageDeliveryInterface $message_delivery) {
     $this->subscribeService = $subscribe_service;
@@ -84,7 +84,7 @@ public static function getSubscribedEvents(): array {
    * Normally we should have split the events into more specific events, like
    * 'comment create', 'comment update', 'comment delete'. Just 'comment crud'
    * is too generic and is not actually an event. In order to keep the
-   * compatibility with Joinup Notification module, we use this proxy method to
+   * compatibility with Portal Notification module, we use this proxy method to
    * delegate the reaction to a specific protected method, based on the real
    * operation being performed.
    *
diff --git a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php
index 69e97dca99..d697e50b55 100644
--- a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php
+++ b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php
@@ -30,14 +30,14 @@
 class SubscribedDiscussionSubscriber implements EventSubscriberInterface {
 
   /**
-   * The Joinup subscribe service.
+   * The Portal subscribe service.
    *
    * @var \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface
    */
   protected $subscribeService;
 
   /**
-   * The Joinup message delivery service.
+   * The Portal message delivery service.
    *
    * @var \Drupal\joinup_notification\JoinupMessageDeliveryInterface
    */
@@ -68,9 +68,9 @@ class SubscribedDiscussionSubscriber implements EventSubscriberInterface {
    * Constructs a new event subscriber object.
    *
    * @param \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface $subscribe_service
-   *   The Joinup subscribe service.
+   *   The Portal subscribe service.
    * @param \Drupal\joinup_notification\JoinupMessageDeliveryInterface $message_delivery
-   *   The Joinup message delivery service.
+   *   The Portal message delivery service.
    * @param \Drupal\Core\Session\AccountProxyInterface $current_user
    *   The current user.
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
diff --git a/web/modules/custom/joinup_discussion/src/Plugin/views/access/DiscussionOverviewAccess.php b/web/modules/custom/joinup_discussion/src/Plugin/views/access/DiscussionOverviewAccess.php
index f9dcdd2d0d..695e48824c 100644
--- a/web/modules/custom/joinup_discussion/src/Plugin/views/access/DiscussionOverviewAccess.php
+++ b/web/modules/custom/joinup_discussion/src/Plugin/views/access/DiscussionOverviewAccess.php
@@ -62,7 +62,7 @@ public static function create(ContainerInterface $container, array $configuratio
    */
   public function access(AccountInterface $account): bool {
     if (!$this->groupManager->getGroupFromContext()) {
-      throw new \LogicException("The Views 'joinup_group_discussion_overview' can be used only in the context of a Joinup group.");
+      throw new \LogicException("The Views 'joinup_group_discussion_overview' can be used only in the context of a Portal group.");
     }
 
     return TRUE;
diff --git a/web/modules/custom/joinup_distribution/joinup_distribution.info.yml b/web/modules/custom/joinup_distribution/joinup_distribution.info.yml
index 980c6ecb2f..be501b76fa 100644
--- a/web/modules/custom/joinup_distribution/joinup_distribution.info.yml
+++ b/web/modules/custom/joinup_distribution/joinup_distribution.info.yml
@@ -1,7 +1,7 @@
 type: module
 name: Distribution
 description: Distribution functionality
-package: Joinup
+package: Portal
 core_version_requirement: ">= 10.2"
 
 dependencies:
diff --git a/web/modules/custom/joinup_distribution/src/EventSubscriber/DistributionGroupSubscriber.php b/web/modules/custom/joinup_distribution/src/EventSubscriber/DistributionGroupSubscriber.php
index 5722e38501..9476c9df35 100644
--- a/web/modules/custom/joinup_distribution/src/EventSubscriber/DistributionGroupSubscriber.php
+++ b/web/modules/custom/joinup_distribution/src/EventSubscriber/DistributionGroupSubscriber.php
@@ -12,7 +12,7 @@
 use Drupal\solution\Entity\SolutionInterface;
 
 /**
- * Subscribes to Joinup Group events.
+ * Subscribes to Portal Group events.
  */
 class DistributionGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/joinup_distribution/src/Form/AnonymousDownloadForm.php b/web/modules/custom/joinup_distribution/src/Form/AnonymousDownloadForm.php
index 3c73d8dec9..a7e1ec49bf 100644
--- a/web/modules/custom/joinup_distribution/src/Form/AnonymousDownloadForm.php
+++ b/web/modules/custom/joinup_distribution/src/Form/AnonymousDownloadForm.php
@@ -73,7 +73,7 @@ public function buildForm(array $form, FormStateInterface $form_state, ?FileInte
     $form['#id'] = Html::getId($this->getFormId());
 
     $form['notice'] = [
-      '#markup' => $this->t('If you do not have a Joinup account, please take some time to create one, at <a href=":register">this page</a>. It will allow you to fully exploit the functionalities of Joinup to create new content, contribute to existing one and collaborate with other users.<br />If you do not want to create a Joinup account, please select any of the following options and provide your email address if you want to be kept updated on the status of the solution. Your personal data will be treated in compliance with the <a href=":legal">legal notice</a>', [
+      '#markup' => $this->t('If you do not have a Portal account, please take some time to create one, at <a href=":register">this page</a>. It will allow you to fully exploit the functionalities of Portal to create new content, contribute to existing one and collaborate with other users.<br />If you do not want to create a Portal account, please select any of the following options and provide your email address if you want to be kept updated on the status of the solution. Your personal data will be treated in compliance with the <a href=":legal">legal notice</a>', [
         ':register' => Url::fromRoute('user.register')->toString(),
         ':legal' => Url::fromRoute('entity.entity_legal_document.canonical', ['entity_legal_document' => 'legal_notice'])->toString(),
       ]),
diff --git a/web/modules/custom/joinup_document/joinup_document.info.yml b/web/modules/custom/joinup_document/joinup_document.info.yml
index 0edcc45d5c..e536817c6b 100644
--- a/web/modules/custom/joinup_document/joinup_document.info.yml
+++ b/web/modules/custom/joinup_document/joinup_document.info.yml
@@ -1,7 +1,7 @@
-name: Joinup Document
-description: The document content type used in Joinup.
+name: Portal Document
+description: The document content type used in Portal.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_document/joinup_document.module b/web/modules/custom/joinup_document/joinup_document.module
index 9aede148f1..37cf3f95f7 100644
--- a/web/modules/custom/joinup_document/joinup_document.module
+++ b/web/modules/custom/joinup_document/joinup_document.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup Document module.
+ * Hook implementations for the Portal Document module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_document/src/Entity/DocumentInterface.php b/web/modules/custom/joinup_document/src/Entity/DocumentInterface.php
index 22945dee2b..7924941a44 100644
--- a/web/modules/custom/joinup_document/src/Entity/DocumentInterface.php
+++ b/web/modules/custom/joinup_document/src/Entity/DocumentInterface.php
@@ -10,7 +10,7 @@
 use Drupal\joinup_workflow\ArchivableEntityInterface;
 
 /**
- * Interface for document entities in Joinup.
+ * Interface for document entities in Portal.
  */
 interface DocumentInterface extends CommunityContentInterface, LogoInterface, ArchivableEntityInterface, AbstractInterface {
 
diff --git a/web/modules/custom/joinup_eulogin/config/schema/joinup_eulogin.schema.yml b/web/modules/custom/joinup_eulogin/config/schema/joinup_eulogin.schema.yml
index c4ea82b0c5..525b91ab6c 100644
--- a/web/modules/custom/joinup_eulogin/config/schema/joinup_eulogin.schema.yml
+++ b/web/modules/custom/joinup_eulogin/config/schema/joinup_eulogin.schema.yml
@@ -1,6 +1,6 @@
 joinup_eulogin.settings:
   type: config_object
-  label: 'Joinup EU Login Settings'
+  label: 'Portal EU Login Settings'
   mapping:
     ticket_validation:
       type: mapping
diff --git a/web/modules/custom/joinup_eulogin/joinup_eulogin.info.yml b/web/modules/custom/joinup_eulogin/joinup_eulogin.info.yml
index b062ae698d..222a06cc19 100644
--- a/web/modules/custom/joinup_eulogin/joinup_eulogin.info.yml
+++ b/web/modules/custom/joinup_eulogin/joinup_eulogin.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup EU Login'
+name: 'Portal EU Login'
 description: 'Provides integration with EU Login.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_eulogin/joinup_eulogin.module b/web/modules/custom/joinup_eulogin/joinup_eulogin.module
index a470eabcd3..73bdb33ee1 100644
--- a/web/modules/custom/joinup_eulogin/joinup_eulogin.module
+++ b/web/modules/custom/joinup_eulogin/joinup_eulogin.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main functions and hook implementations of the Joinup EU Login module.
+ * Main functions and hook implementations of the Portal EU Login module.
  */
 
 declare(strict_types=1);
@@ -51,7 +51,7 @@ function joinup_eulogin_form_user_form_alter(array &$form, FormStateInterface $f
   $account = $form_state->getFormObject()->getEntity();
   // This hook implementation runs after cas_form_user_form_alter() because the
   // two modules have the same weight but the module list is sorted by weight
-  // and then alphabetically, making the CAS module to be placed before 'Joinup
+  // and then alphabetically, making the CAS module to be placed before 'Portal
   // EU Login'. For this reason, it's safe to use the form alter to overwrite
   // the behavior of CAS module hook implementation.
   // @see module_config_sort()
@@ -98,7 +98,7 @@ function joinup_eulogin_form_user_form_alter(array &$form, FormStateInterface $f
     '#weight' => -99,
     '#type' => 'html_tag',
     '#tag' => 'p',
-    '#value' => t('Your name and E-mail are inherited from EU Login. To update this information, you can visit <a href="https://webgate.ec.europa.eu/cas/eim/external/restricted/edit.cgi" rel="nofollow" target="_blank">your EU Login account page</a>. Synchronisation will take a few minutes and it will be visible the next time you login on Joinup.'),
+    '#value' => t('Your name and E-mail are inherited from EU Login. To update this information, you can visit <a href="https://webgate.ec.europa.eu/cas/eim/external/restricted/edit.cgi" rel="nofollow" target="_blank">your EU Login account page</a>. Synchronisation will take a few minutes and it will be visible the next time you login on Portal.'),
   ];
 
   $form['account']['mail']['#description'] = t('Your e-mail address is not made public. We will only send you necessary system notifications and you can opt in later if you wish to receive additional notifications about content you are subscribed to.');
diff --git a/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php b/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php
index 906bcfa11d..a602cfd363 100644
--- a/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php
+++ b/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php
@@ -149,7 +149,7 @@ public function prepareAttributes(CasPostValidateEvent $event): void {
   public function blockedUserMessage(CasPostValidateEvent $event): void {
     $uid = $this->authmap->getUid($event->getCasPropertyBag()->getUsername(), 'cas');
     if ($uid && ($user = $this->entityTypeManager->getStorage('user')->load($uid)) && $user->isBlocked()) {
-      $this->messenger->addError('You cannot sign in yet. Your Joinup account is currently being verified. You will be notified by email once it is activated.');
+      $this->messenger->addError('You cannot sign in yet. Your Portal account is currently being verified. You will be notified by email once it is activated.');
     }
   }
 
@@ -208,7 +208,7 @@ public function preventRegisterEmailCollision(CasPreRegisterEvent $event): void
     ]);
 
     if ($sameMailAccounts) {
-      $event->cancelAutomaticRegistration($this->t('While trying to register your account with Joinup, we found that your EU Login email address %mail is already in use on our site. Either change your EU Login email address or contact the <a href=":contact">Joinup support</a> if you feel that something is wrong.', [
+      $event->cancelAutomaticRegistration($this->t('While trying to register your account with Portal, we found that your EU Login email address %mail is already in use on our site. Either change your EU Login email address or contact the <a href=":contact">Portal support</a> if you feel that something is wrong.', [
         '%mail' => $mail,
         ':contact' => Url::fromRoute('contact_form.contact_page')->toString(),
       ]))->stopPropagation();
@@ -220,9 +220,9 @@ public function preventRegisterEmailCollision(CasPreRegisterEvent $event): void
    *
    * When users are changing their EU Login account email, upstream, it might
    * happen that another user is registered with the same email address on
-   * Joinup. This would lead to duplicate emails on Joinup which is unacceptable
+   * Portal. This would lead to duplicate emails on Portal which is unacceptable
    * with respect to data integrity. Note that Drupal allows email duplicates at
-   * API level but not when using the UI. However, Joinup is enforcing email
+   * API level but not when using the UI. However, Portal is enforcing email
    * uniqueness across users. As this edge case is very rare and unlikely, we
    * only throw an exception.
    *
@@ -231,7 +231,7 @@ public function preventRegisterEmailCollision(CasPreRegisterEvent $event): void
    *
    * @throws \Exception
    *   When a user changes its EU Login email to a value that is already taken
-   *   by other Joinup user.
+   *   by other Portal user.
    */
   public function handlePotentialMailCollision(CasPreLoginEvent $event): void {
     $account = $event->getAccount();
@@ -244,7 +244,7 @@ public function handlePotentialMailCollision(CasPreLoginEvent $event): void {
     // the correct case sensitivity email.
     if (strtolower($account->getEmail()) !== strtolower($euloginEmail)) {
       if (user_load_by_mail($euloginEmail)) {
-        $event->cancelLogin($this->t("You've recently changed your EU Login account email but that email is already used in Joinup by another user. You cannot login until, either you change your EU Login email or you <a href=':url'>contact support</a> to fix the issue.", [
+        $event->cancelLogin($this->t("You've recently changed your EU Login account email but that email is already used in Portal by another user. You cannot login until, either you change your EU Login email or you <a href=':url'>contact support</a> to fix the issue.", [
           ':url' => Url::fromRoute('contact_form.contact_page')->setAbsolute()->toString(),
         ]));
       }
@@ -271,7 +271,7 @@ public function setRedirectAndStatusOnNewAccount(CasPostLoginEvent $event): void
     if ($event->getCasPropertyBag()->hasAttribute('newAccountRegistered')) {
       $url = $event->getAccount()->toUrl('edit-form');
       $this->currentRequest->query->set('destination', $url->toString());
-      $this->messenger->addStatus('Fill in the fields below to let the Joinup community learn more about you!');
+      $this->messenger->addStatus('Fill in the fields below to let the Portal community learn more about you!');
     }
   }
 
diff --git a/web/modules/custom/joinup_event/joinup_event.info.yml b/web/modules/custom/joinup_event/joinup_event.info.yml
index 75b33c7a05..6ea018dfc5 100644
--- a/web/modules/custom/joinup_event/joinup_event.info.yml
+++ b/web/modules/custom/joinup_event/joinup_event.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup Event'
+name: 'Portal Event'
 description: 'Events content type for joinup.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_event/joinup_event.module b/web/modules/custom/joinup_event/joinup_event.module
index 7bd84bd41c..4604377858 100644
--- a/web/modules/custom/joinup_event/joinup_event.module
+++ b/web/modules/custom/joinup_event/joinup_event.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup Event module.
+ * Hook implementations for the Portal Event module.
  */
 
 declare(strict_types=1);
@@ -149,7 +149,7 @@ function joinup_event_field_formatter_info_alter(array &$info): void {
 function joinup_event_token_info_alter(&$info): void {
   $info['tokens']['node']['event_url'] = [
     'name' => t('Url of the event'),
-    'description' => t('The website provided if available or the Joinup event URL.'),
+    'description' => t('The website provided if available or the Portal event URL.'),
   ];
 }
 
@@ -166,7 +166,7 @@ function joinup_event_tokens($type, array $tokens, array $data = [], array $opti
     foreach ($tokens as $name => $original) {
       switch ($name) {
         // Returns the event URL. If the event has a web URL, then this is the
-        // event URL. Otherwise use the Joinup URL.
+        // event URL. Otherwise use the Portal URL.
         case 'event_url':
           if ($node->isNew() || !$node instanceof EventInterface) {
             break;
diff --git a/web/modules/custom/joinup_event/src/Entity/EventInterface.php b/web/modules/custom/joinup_event/src/Entity/EventInterface.php
index fee224227f..b9b073cbfb 100644
--- a/web/modules/custom/joinup_event/src/Entity/EventInterface.php
+++ b/web/modules/custom/joinup_event/src/Entity/EventInterface.php
@@ -11,7 +11,7 @@
 use Drupal\joinup_workflow\ArchivableEntityInterface;
 
 /**
- * Interface for event entities in Joinup.
+ * Interface for event entities in Portal.
  */
 interface EventInterface extends CommunityContentInterface, LogoInterface, ArchivableEntityInterface, AbstractInterface {
 
diff --git a/web/modules/custom/joinup_featured/joinup_featured.info.yml b/web/modules/custom/joinup_featured/joinup_featured.info.yml
index d4a5d09fef..c082cd469a 100644
--- a/web/modules/custom/joinup_featured/joinup_featured.info.yml
+++ b/web/modules/custom/joinup_featured/joinup_featured.info.yml
@@ -1,5 +1,5 @@
-name: Joinup Featured
+name: Portal Featured
 description: Allows to feature content site wide. The content will appear at the top of lists.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_featured/joinup_featured.module b/web/modules/custom/joinup_featured/joinup_featured.module
index 021c2094c2..2aa45b28a5 100644
--- a/web/modules/custom/joinup_featured/joinup_featured.module
+++ b/web/modules/custom/joinup_featured/joinup_featured.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup Featured module.
+ * Hook implementations for the Portal Featured module.
  */
 
 declare(strict_types=1);
@@ -85,7 +85,7 @@ function joinup_featured_meta_entity_delete(MetaEntityInterface $entity): void {
  */
 function joinup_featured_entity_view_alter(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display): void {
   if ($entity instanceof FeaturedContentInterface) {
-    // Note: the 'entity' contextual link group is added by the Joinup profile.
+    // Note: the 'entity' contextual link group is added by the Portal profile.
     // @see joinup_entity_view_alter()
     $build['#contextual_links']['entity']['metadata']['is_featured'] = (int) $entity->isFeatured();
     $build['#contextual_links']['entity']['metadata']['token'] = \Drupal::service('csrf_token')->get(__FUNCTION__);
diff --git a/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php b/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php
index 59f3e78166..673e303b61 100644
--- a/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php
+++ b/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php
@@ -9,7 +9,7 @@
 /**
  * Interface for content entities that can be featured.
  *
- * In Joinup moderators can designate important content to be "featured site
+ * In Portal moderators can designate important content to be "featured site
  * wide". Featured content will show prominently at the top of lists, is
  * highlighted with an icon, and the user can use facet filters to only see
  * featured content.
diff --git a/web/modules/custom/joinup_flag/config/schema/joinup_flag.schema.yml b/web/modules/custom/joinup_flag/config/schema/joinup_flag.schema.yml
index a8eea413e4..6cadc61aa5 100644
--- a/web/modules/custom/joinup_flag/config/schema/joinup_flag.schema.yml
+++ b/web/modules/custom/joinup_flag/config/schema/joinup_flag.schema.yml
@@ -1,10 +1,10 @@
 block.settings.joinup_flag_block:
   type: block_settings
-  label: 'Joinup flag block settings'
+  label: 'Portal flag block settings'
   mapping:
     flag_type:
       type: string
-      label: 'Joinup flag type.'
+      label: 'Portal flag type.'
 
 views.field.joinup_flag_flagged_entity:
   type: views.field.field
diff --git a/web/modules/custom/joinup_flag/joinup_flag.info.yml b/web/modules/custom/joinup_flag/joinup_flag.info.yml
index 6bf49d2325..8143809e91 100644
--- a/web/modules/custom/joinup_flag/joinup_flag.info.yml
+++ b/web/modules/custom/joinup_flag/joinup_flag.info.yml
@@ -1,7 +1,7 @@
-name: Joinup Flag
+name: Portal Flag
 description: 'Flag functionality'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_flag/joinup_flag.module b/web/modules/custom/joinup_flag/joinup_flag.module
index affb70cb18..50eb10f7a7 100644
--- a/web/modules/custom/joinup_flag/joinup_flag.module
+++ b/web/modules/custom/joinup_flag/joinup_flag.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup flag module.
+ * Hook implementations for the Portal flag module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_flag/joinup_flag.views.inc b/web/modules/custom/joinup_flag/joinup_flag.views.inc
index aedb1bf09f..f247a7a52c 100644
--- a/web/modules/custom/joinup_flag/joinup_flag.views.inc
+++ b/web/modules/custom/joinup_flag/joinup_flag.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains views API hooks for Joinup flag module.
+ * Contains views API hooks for Portal flag module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_flag/src/Plugin/search_api/processor/JoinupEntityBundle.php b/web/modules/custom/joinup_flag/src/Plugin/search_api/processor/JoinupEntityBundle.php
index 41e097b5b9..b37bdac0ba 100644
--- a/web/modules/custom/joinup_flag/src/Plugin/search_api/processor/JoinupEntityBundle.php
+++ b/web/modules/custom/joinup_flag/src/Plugin/search_api/processor/JoinupEntityBundle.php
@@ -15,7 +15,7 @@
  *
  * @SearchApiProcessor(
  *   id = "joinup_entity_bundle",
- *   label = @Translation("Joinup entity bundle"),
+ *   label = @Translation("Portal entity bundle"),
  *   description = @Translation("Get entity bundle from flagging item."),
  *   stages = {
  *     "add_properties" = 0,
diff --git a/web/modules/custom/joinup_front_page/joinup_front_page.info.yml b/web/modules/custom/joinup_front_page/joinup_front_page.info.yml
index 080e3b46f4..027e10a92f 100644
--- a/web/modules/custom/joinup_front_page/joinup_front_page.info.yml
+++ b/web/modules/custom/joinup_front_page/joinup_front_page.info.yml
@@ -1,5 +1,5 @@
-name: 'Joinup front page'
-description: 'Contains functionality related to the Joinup front page.'
+name: 'Portal front page'
+description: 'Contains functionality related to the Portal front page.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_front_page/joinup_front_page.module b/web/modules/custom/joinup_front_page/joinup_front_page.module
index d0f6e1a5f7..66b5a5d83d 100644
--- a/web/modules/custom/joinup_front_page/joinup_front_page.module
+++ b/web/modules/custom/joinup_front_page/joinup_front_page.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup front page module.
+ * Hook implementations for the Portal front page module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php b/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php
index bd560af3ac..e99b8fa0d1 100644
--- a/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php
+++ b/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php
@@ -15,7 +15,7 @@
  *
  * This block is placed on the front page and shows a swipeable list of recently
  * published content of 4 types: collections, solutions, news and events. The
- * intention is that users can get a quick view of what is new on Joinup.
+ * intention is that users can get a quick view of what is new on Portal.
  *
  * For each content type the 12 most recent items are shown. They are rendered
  * using the `explore_item` view mode which is exclusive for this block.
diff --git a/web/modules/custom/joinup_group/config/schema/joinup_group.schema.yml b/web/modules/custom/joinup_group/config/schema/joinup_group.schema.yml
index aa3b1eff83..9cd718aeaa 100644
--- a/web/modules/custom/joinup_group/config/schema/joinup_group.schema.yml
+++ b/web/modules/custom/joinup_group/config/schema/joinup_group.schema.yml
@@ -64,7 +64,7 @@ views.argument_validator.joinup_group_user_permission:
 
 views.argument_validator.joinup_group:
   type: views.argument_validator.joinup_group_user_permission
-  label: Joinup group
+  label: Portal group
 
 views.argument_validator.joinup_group_announcements_enabled:
   type: views.argument_validator.joinup_group_user_permission
diff --git a/web/modules/custom/joinup_group/config/schema/joinup_group.views.schema.yml b/web/modules/custom/joinup_group/config/schema/joinup_group.views.schema.yml
index dc39868019..cba78321bd 100644
--- a/web/modules/custom/joinup_group/config/schema/joinup_group.views.schema.yml
+++ b/web/modules/custom/joinup_group/config/schema/joinup_group.views.schema.yml
@@ -1,8 +1,8 @@
-# Schema for the views plugins of the Joinup group module.
+# Schema for the views plugins of the Portal group module.
 
 views.argument_validator.joinup_group_entity_id:
   type: views.argument_validator_entity
-  label: 'Joinup group entity ID'
+  label: 'Portal group entity ID'
   mapping:
     rdf_entity_id:
       type: string
diff --git a/web/modules/custom/joinup_group/joinup_group.info.yml b/web/modules/custom/joinup_group/joinup_group.info.yml
index 3b983387cf..ac241e3978 100644
--- a/web/modules/custom/joinup_group/joinup_group.info.yml
+++ b/web/modules/custom/joinup_group/joinup_group.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup Group'
-description: 'Services and API methods useful for Joinup groups.'
+name: 'Portal Group'
+description: 'Services and API methods useful for Portal groups.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_group/joinup_group.install b/web/modules/custom/joinup_group/joinup_group.install
index ca30cd9dbe..1e2e2c320d 100644
--- a/web/modules/custom/joinup_group/joinup_group.install
+++ b/web/modules/custom/joinup_group/joinup_group.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains the schema hook for the Joinup Group module.
+ * Contains the schema hook for the Portal Group module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_group/joinup_group.module b/web/modules/custom/joinup_group/joinup_group.module
index 9caf9cd5cd..2af032e002 100644
--- a/web/modules/custom/joinup_group/joinup_group.module
+++ b/web/modules/custom/joinup_group/joinup_group.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup Group module.
+ * Hook implementations for the Portal Group module.
  */
 
 declare(strict_types=1);
@@ -883,7 +883,7 @@ function joinup_group_user_predelete(EntityInterface $entity): void {
  *
  * If a user gets blocked in the entire site we no longer want to include this
  * user in the collection membership counts. We handle this use case here in
- * Joinup Core since Organic Groups currently only handles users that are
+ * Portal Core since Organic Groups currently only handles users that are
  * blocked on group level through the membership state; at this time OG is not
  * acting on users that are blocked on user level.
  */
@@ -1119,7 +1119,7 @@ function joinup_group_mail(string $key, array &$message, array $params): void {
         'announcement' => $announcement->id(),
       ])->setAbsolute()->toString(),
     ];
-    $message['subject'] = t("Joinup: A new announcement '@subject' has been created", $args);
+    $message['subject'] = t("Portal: A new announcement '@subject' has been created", $args);
     $message['body'] = [
       t("A new announcement '@subject' has been created by @author for the @group @type.", $args),
       t('You can approve or reject the announcement at <a href=":url">:url</a>.', $args),
diff --git a/web/modules/custom/joinup_group/joinup_group.views.inc b/web/modules/custom/joinup_group/joinup_group.views.inc
index 7e697a4abc..4781272986 100644
--- a/web/modules/custom/joinup_group/joinup_group.views.inc
+++ b/web/modules/custom/joinup_group/joinup_group.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Views integration for Joinup Group module.
+ * Views integration for Portal Group module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_group/src/AnnouncementsAccessTrait.php b/web/modules/custom/joinup_group/src/AnnouncementsAccessTrait.php
index 3331f92ac1..2fa6ea1966 100644
--- a/web/modules/custom/joinup_group/src/AnnouncementsAccessTrait.php
+++ b/web/modules/custom/joinup_group/src/AnnouncementsAccessTrait.php
@@ -15,15 +15,15 @@
 trait AnnouncementsAccessTrait {
 
   /**
-   * The Joinup Group manager service.
+   * The Portal Group manager service.
    */
   protected JoinupGroupManagerInterface $groupManager;
 
   /**
-   * Injects the Joinup group manager service.
+   * Injects the Portal group manager service.
    *
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $group_manager
-   *   The Joinup Group manager service.
+   *   The Portal Group manager service.
    *
    * @return $this
    */
diff --git a/web/modules/custom/joinup_group/src/Controller/UnpublishedContentPageController.php b/web/modules/custom/joinup_group/src/Controller/UnpublishedContentPageController.php
index fa2ae91afc..213ba99a24 100644
--- a/web/modules/custom/joinup_group/src/Controller/UnpublishedContentPageController.php
+++ b/web/modules/custom/joinup_group/src/Controller/UnpublishedContentPageController.php
@@ -25,7 +25,7 @@ class UnpublishedContentPageController extends ControllerBase {
    * @param \Drupal\Core\Render\RendererInterface $renderer
    *   The renderer.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $group_manager
-   *   The Joinup group manager service.
+   *   The Portal group manager service.
    */
   public function __construct(protected BlockManagerInterface $block_plugin_manager, protected RendererInterface $renderer, protected JoinupGroupManagerInterface $group_manager) {}
 
diff --git a/web/modules/custom/joinup_group/src/Entity/GroupInterface.php b/web/modules/custom/joinup_group/src/Entity/GroupInterface.php
index f990eef55e..75bea06ae3 100644
--- a/web/modules/custom/joinup_group/src/Entity/GroupInterface.php
+++ b/web/modules/custom/joinup_group/src/Entity/GroupInterface.php
@@ -111,7 +111,7 @@ public function getGroupAccess(string $permission, ?AccountInterface $user = NUL
   /**
    * Returns the group owners.
    *
-   * In Joinup every new group has exactly one owner. However there are still a
+   * In Portal every new group has exactly one owner. However there are still a
    * number of solutions which were migrated from the legacy platform which have
    * multiple owners. Since we enforce a single owner when an ownership transfer
    * is initiated, the number of groups with multiple owners will reduce over
@@ -129,7 +129,7 @@ public function getGroupOwners(): array;
   /**
    * Returns the user IDs of the group owners.
    *
-   * In Joinup every new group has exactly one owner. However there are still a
+   * In Portal every new group has exactly one owner. However there are still a
    * number of solutions which were migrated from the legacy platform which have
    * multiple owners. Since we enforce a single owner when an ownership transfer
    * is initiated, the number of groups with multiple owners will reduce over
@@ -158,7 +158,7 @@ public function isGroupOwner(int $uid): bool;
   /**
    * Returns whether the user with the given ID is the sole group owner.
    *
-   * In Joinup every new group has exactly one owner. However there are still a
+   * In Portal every new group has exactly one owner. However there are still a
    * number of solutions which were migrated from the legacy platform which have
    * multiple owners. In some cases (such as transferring group ownership) we
    * need to be able to ascertain that a user is the sole owner of a group.
diff --git a/web/modules/custom/joinup_group/src/Entity/GroupTrait.php b/web/modules/custom/joinup_group/src/Entity/GroupTrait.php
index 304bb59d98..032566c300 100644
--- a/web/modules/custom/joinup_group/src/Entity/GroupTrait.php
+++ b/web/modules/custom/joinup_group/src/Entity/GroupTrait.php
@@ -78,7 +78,7 @@ public function createMembership(?int $uid = NULL, ?string $role = 'member', ?st
     }
 
     // Validate the role. We cannot create additional memberships for owners /
-    // administrators since in Joinup every group has a single owner.
+    // administrators since in Portal every group has a single owner.
     if (!in_array($role, ['member', 'author', 'facilitator'])) {
       throw new \InvalidArgumentException("Cannot create membership with role '$role'.");
     }
diff --git a/web/modules/custom/joinup_group/src/Entity/PinnableGroupContentInterface.php b/web/modules/custom/joinup_group/src/Entity/PinnableGroupContentInterface.php
index 733a52107b..3c561feb5f 100644
--- a/web/modules/custom/joinup_group/src/Entity/PinnableGroupContentInterface.php
+++ b/web/modules/custom/joinup_group/src/Entity/PinnableGroupContentInterface.php
@@ -62,7 +62,7 @@ public function unpin(?GroupInterface $group = NULL): PinnableGroupContentInterf
    *
    * @return string[]
    *   A list of group IDs in which the content is pinned. Since all groups in
-   *   Joinup are RDF entities, these are RDF entity IDs.
+   *   Portal are RDF entities, these are RDF entity IDs.
    */
   public function getPinnedGroupIds(): array;
 
diff --git a/web/modules/custom/joinup_group/src/EventSubscriber/AnnouncementTransitionSubscriber.php b/web/modules/custom/joinup_group/src/EventSubscriber/AnnouncementTransitionSubscriber.php
index d9019d5950..5f26ec8537 100644
--- a/web/modules/custom/joinup_group/src/EventSubscriber/AnnouncementTransitionSubscriber.php
+++ b/web/modules/custom/joinup_group/src/EventSubscriber/AnnouncementTransitionSubscriber.php
@@ -36,7 +36,7 @@ class AnnouncementTransitionSubscriber implements EventSubscriberInterface {
   protected LanguageManagerInterface $languageManager;
 
   /**
-   * The Joinup message delivery service.
+   * The Portal message delivery service.
    */
   protected JoinupMessageDeliveryInterface $messageDelivery;
 
@@ -55,7 +55,7 @@ class AnnouncementTransitionSubscriber implements EventSubscriberInterface {
    * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
    *   The language manager service.
    * @param \Drupal\joinup_notification\JoinupMessageDeliveryInterface $message_delivery
-   *   The Joinup message delivery service.
+   *   The Portal message delivery service.
    * @param \Drupal\Core\Queue\QueueFactory $queue_factory
    *   The queue factory service.
    */
diff --git a/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php b/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php
index 83ac506561..0d7399d715 100644
--- a/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php
+++ b/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php
@@ -25,7 +25,7 @@ public static function getSubscribedEvents(): array {
   }
 
   /**
-   * Selects the Joinup group page display variant when case.
+   * Selects the Portal group page display variant when case.
    *
    * @param \Drupal\Core\Render\PageDisplayVariantSelectionEvent $event
    *   The event to process.
diff --git a/web/modules/custom/joinup_group/src/Form/AnnouncementForm.php b/web/modules/custom/joinup_group/src/Form/AnnouncementForm.php
index ad34598ed9..e1a4481b1b 100644
--- a/web/modules/custom/joinup_group/src/Form/AnnouncementForm.php
+++ b/web/modules/custom/joinup_group/src/Form/AnnouncementForm.php
@@ -262,7 +262,7 @@ public function submitForm(array &$form, FormStateInterface $form_state): void {
       $status = $this->t("The announcement has been updated but it's still in @to state. Review the announcement and, when is ready to be sent, use the 'Send' button.", $args);
     }
     elseif ($initial_state->getId() === 'draft' && $this->announcement->getWorkflowState() === 'sent') {
-      $status = $this->t("Your announcement has been sent for validation by Joinup moderators. Once approved, will reach the %group @type members.", $args);
+      $status = $this->t("Your announcement has been sent for validation by Portal moderators. Once approved, will reach the %group @type members.", $args);
       $redirect = Url::fromRoute('view.announcements.group', [
         'rdf_entity' => $this->announcement->getGroupId(),
       ]);
diff --git a/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php b/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php
index 020383f38e..93fb99e14e 100644
--- a/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php
+++ b/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php
@@ -182,7 +182,7 @@ public function submitForm(array &$form, FormStateInterface $form_state): void {
       $membership->save();
     }
 
-    // Add the 'owner' role, and also the 'facilitator' role, since in Joinup
+    // Add the 'owner' role, and also the 'facilitator' role, since in Portal
     // every owner is also a facilitator.
     $administrator_role = OgRole::loadByGroupAndName($group, 'administrator');
     $this->membership
diff --git a/web/modules/custom/joinup_group/src/Form/UserCancelForm.php b/web/modules/custom/joinup_group/src/Form/UserCancelForm.php
index 845b121c74..fa7785de71 100644
--- a/web/modules/custom/joinup_group/src/Form/UserCancelForm.php
+++ b/web/modules/custom/joinup_group/src/Form/UserCancelForm.php
@@ -38,7 +38,7 @@ class UserCancelForm extends CoreUserCancelForm {
    * @param \Drupal\Component\Datetime\TimeInterface $time
    *   The time service.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $group_manager
-   *   The Joinup group manager.
+   *   The Portal group manager.
    */
   public function __construct(EntityRepositoryInterface $entity_repository, EntityTypeBundleInfoInterface $entity_type_bundle_info, TimeInterface $time, JoinupGroupManagerInterface $group_manager) {
     parent::__construct($entity_repository, $entity_type_bundle_info, $time);
diff --git a/web/modules/custom/joinup_group/src/Form/UserMultipleCancelConfirm.php b/web/modules/custom/joinup_group/src/Form/UserMultipleCancelConfirm.php
index 6df9ca7542..837f2fd355 100644
--- a/web/modules/custom/joinup_group/src/Form/UserMultipleCancelConfirm.php
+++ b/web/modules/custom/joinup_group/src/Form/UserMultipleCancelConfirm.php
@@ -47,7 +47,7 @@ class UserMultipleCancelConfirm extends CoreUserMultipleCancelConfirm {
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The entity type manager.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $joinup_group_manager
-   *   The Joinup group manager.
+   *   The Portal group manager.
    * @param \Drupal\Core\Entity\EntityTypeBundleInfoInterface $bundle_info
    *   The entity type bundle info service.
    */
diff --git a/web/modules/custom/joinup_group/src/JoinupGroupHelper.php b/web/modules/custom/joinup_group/src/JoinupGroupHelper.php
index 6bf4dd2857..438631b0b2 100644
--- a/web/modules/custom/joinup_group/src/JoinupGroupHelper.php
+++ b/web/modules/custom/joinup_group/src/JoinupGroupHelper.php
@@ -11,7 +11,7 @@
 use Drupal\joinup_group\Exception\MissingGroupException;
 
 /**
- * Static helper methods for dealing with groups in Joinup.
+ * Static helper methods for dealing with groups in Portal.
  */
 class JoinupGroupHelper {
 
@@ -26,7 +26,7 @@ class JoinupGroupHelper {
   /**
    * Returns the group the entity belongs to.
    *
-   * This relies on the fact that in Joinup every group content entity only
+   * This relies on the fact that in Portal every group content entity only
    * belongs to a single group.
    *
    * Call this only if you transparently need to support both comment entities
diff --git a/web/modules/custom/joinup_group/src/JoinupGroupManager.php b/web/modules/custom/joinup_group/src/JoinupGroupManager.php
index 7aae71febf..0b7cf152f0 100644
--- a/web/modules/custom/joinup_group/src/JoinupGroupManager.php
+++ b/web/modules/custom/joinup_group/src/JoinupGroupManager.php
@@ -18,7 +18,7 @@
 use Drupal\og\OgMembershipInterface;
 
 /**
- * Helper methods related to the Joinup groups.
+ * Helper methods related to the Portal groups.
  */
 class JoinupGroupManager implements JoinupGroupManagerInterface {
 
diff --git a/web/modules/custom/joinup_group/src/Plugin/Action/DeleteGroupMembership.php b/web/modules/custom/joinup_group/src/Plugin/Action/DeleteGroupMembership.php
index ffde0e6572..9e1447f901 100644
--- a/web/modules/custom/joinup_group/src/Plugin/Action/DeleteGroupMembership.php
+++ b/web/modules/custom/joinup_group/src/Plugin/Action/DeleteGroupMembership.php
@@ -83,7 +83,7 @@ public function execute(?OgMembership $membership = NULL): void {
    */
   public function access($membership, ?AccountInterface $account = NULL, $return_as_object = FALSE) {
     /** @var \Drupal\og\Entity\OgMembership $membership */
-    // 'Joinup' collection membership cannot be revoked.
+    // 'Portal' collection membership cannot be revoked.
     if ($membership->getGroupId() === JoinupCollectionHelper::getCollectionId()) {
       return $return_as_object ? AccessResult::forbidden() : FALSE;
     }
diff --git a/web/modules/custom/joinup_group/src/Plugin/Action/TransferGroupOwnershipAction.php b/web/modules/custom/joinup_group/src/Plugin/Action/TransferGroupOwnershipAction.php
index d3801e76c8..341d66bfa2 100644
--- a/web/modules/custom/joinup_group/src/Plugin/Action/TransferGroupOwnershipAction.php
+++ b/web/modules/custom/joinup_group/src/Plugin/Action/TransferGroupOwnershipAction.php
@@ -30,7 +30,7 @@ class TransferGroupOwnershipAction extends ActionBase implements ContainerFactor
   use StringTranslationTrait;
 
   /**
-   * The Joinup group transfer temporary storage.
+   * The Portal group transfer temporary storage.
    *
    * @var \Drupal\Core\TempStore\PrivateTempStore
    */
diff --git a/web/modules/custom/joinup_group/src/Plugin/views/access/GroupAnnouncementsAccess.php b/web/modules/custom/joinup_group/src/Plugin/views/access/GroupAnnouncementsAccess.php
index d875484103..bdbe833f8e 100644
--- a/web/modules/custom/joinup_group/src/Plugin/views/access/GroupAnnouncementsAccess.php
+++ b/web/modules/custom/joinup_group/src/Plugin/views/access/GroupAnnouncementsAccess.php
@@ -45,7 +45,7 @@ public function access(AccountInterface $account): bool {
     if ($group = $this->groupManager->getGroupFromContext()) {
       return $this->accessAnnouncements($group)->isAllowed();
     }
-    throw new \LogicException("The Views 'joinup_group_announcements' can be used only in the context of a Joinup group.");
+    throw new \LogicException("The Views 'joinup_group_announcements' can be used only in the context of a Portal group.");
   }
 
   /**
diff --git a/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php b/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php
index 5bc07d46fc..ea5835573d 100644
--- a/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php
+++ b/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php
@@ -9,11 +9,11 @@
 use Drupal\views\Plugin\views\argument_validator\Entity;
 
 /**
- * Defines argument validator plugin for the Joinup group entity ID.
+ * Defines argument validator plugin for the Portal group entity ID.
  *
  * @ViewsArgumentValidator(
  *    id = "joinup_group_entity_id",
- *    title = @Translation("Joinup group entity ID"),
+ *    title = @Translation("Portal group entity ID"),
  *    entity_type = "rdf_entity",
  * )
  */
diff --git a/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupValidator.php b/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupValidator.php
index 6bf971587a..61dd9230ec 100644
--- a/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupValidator.php
+++ b/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupValidator.php
@@ -16,7 +16,7 @@
  *
  * @ViewsArgumentValidator(
  *   id = "joinup_group",
- *   title = @Translation("Joinup group"),
+ *   title = @Translation("Portal group"),
  *   entity_type = "rdf_entity",
  * )
  */
diff --git a/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php b/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php
index 18cf67bd16..84ddccd558 100644
--- a/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php
+++ b/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php
@@ -8,7 +8,7 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Alters existing routes for the Joinup user multiple cancel form.
+ * Alters existing routes for the Portal user multiple cancel form.
  */
 class RouteSubscriber extends RouteSubscriberBase {
 
diff --git a/web/modules/custom/joinup_group_content_management/README.md b/web/modules/custom/joinup_group_content_management/README.md
index 324186323d..f2f20df907 100644
--- a/web/modules/custom/joinup_group_content_management/README.md
+++ b/web/modules/custom/joinup_group_content_management/README.md
@@ -1,4 +1,4 @@
-Joinup Group Content Management
+Portal Group Content Management
 ===============================
 
 This module contains business logic related to managing content in groups.
diff --git a/web/modules/custom/joinup_group_content_management/joinup_group_content_management.info.yml b/web/modules/custom/joinup_group_content_management/joinup_group_content_management.info.yml
index 66a6b5cd49..a625f7d5df 100644
--- a/web/modules/custom/joinup_group_content_management/joinup_group_content_management.info.yml
+++ b/web/modules/custom/joinup_group_content_management/joinup_group_content_management.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup Group Content Management'
+name: 'Portal Group Content Management'
 description: 'Contains functionality related to managing group content.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_html_stripper/config/schema/joinup_html_stripper.schema.yml b/web/modules/custom/joinup_html_stripper/config/schema/joinup_html_stripper.schema.yml
index f20df23460..e8970d8b8e 100644
--- a/web/modules/custom/joinup_html_stripper/config/schema/joinup_html_stripper.schema.yml
+++ b/web/modules/custom/joinup_html_stripper/config/schema/joinup_html_stripper.schema.yml
@@ -1,6 +1,6 @@
 field.formatter.settings.joinup_html_stripper_stripped:
   type: mapping
-  label: 'Joinup HTML stripper formatter settings'
+  label: 'Portal HTML stripper formatter settings'
   mapping:
     trim_length:
       type: integer
diff --git a/web/modules/custom/joinup_html_stripper/joinup_html_stripper.info.yml b/web/modules/custom/joinup_html_stripper/joinup_html_stripper.info.yml
index 70f90dabe7..0f630a7e34 100644
--- a/web/modules/custom/joinup_html_stripper/joinup_html_stripper.info.yml
+++ b/web/modules/custom/joinup_html_stripper/joinup_html_stripper.info.yml
@@ -1,7 +1,7 @@
-name: Joinup HTML stripper
+name: Portal HTML stripper
 type: module
-description: Field formatter that strips all HTML, tailored for use in Joinup.
-package: Joinup
+description: Field formatter that strips all HTML, tailored for use in Portal.
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php b/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php
index 34d7d0a2e8..fb07fd7c41 100644
--- a/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php
+++ b/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php
@@ -12,9 +12,9 @@
 /**
  * Field formatter which strips all HTML.
  *
- * This is tailored to the use case of Joinup. It relies on a custom text filter
+ * This is tailored to the use case of Portal. It relies on a custom text filter
  * format `stripped_html` which includes all of the filters that are commonly
- * used in Joinup, such as Joinup Video, Glossary items, etc.
+ * used in Portal, such as Portal Video, Glossary items, etc.
  *
  * The goal of this is to be able to not only strip vanilla HTML elements that
  * are present in the content but also placeholder tokens which are included by
diff --git a/web/modules/custom/joinup_invite/joinup_invite.info.yml b/web/modules/custom/joinup_invite/joinup_invite.info.yml
index c89d14fd9c..7f933007e8 100644
--- a/web/modules/custom/joinup_invite/joinup_invite.info.yml
+++ b/web/modules/custom/joinup_invite/joinup_invite.info.yml
@@ -1,7 +1,7 @@
-name: Joinup invite
+name: Portal invite
 description: A light invitation system for joinup.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_invite/joinup_invite.module b/web/modules/custom/joinup_invite/joinup_invite.module
index 07f8479666..28786da661 100644
--- a/web/modules/custom/joinup_invite/joinup_invite.module
+++ b/web/modules/custom/joinup_invite/joinup_invite.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup Invite module.
+ * Hook implementations for the Portal Invite module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_invite/src/Event/InvitationEvents.php b/web/modules/custom/joinup_invite/src/Event/InvitationEvents.php
index 3485fd3736..ab9fb0a8b5 100644
--- a/web/modules/custom/joinup_invite/src/Event/InvitationEvents.php
+++ b/web/modules/custom/joinup_invite/src/Event/InvitationEvents.php
@@ -5,7 +5,7 @@
 namespace Drupal\joinup_invite\Event;
 
 /**
- * Events for the Joinup Invite module.
+ * Events for the Portal Invite module.
  */
 final class InvitationEvents {
 
diff --git a/web/modules/custom/joinup_invite/src/Form/InviteFormBase.php b/web/modules/custom/joinup_invite/src/Form/InviteFormBase.php
index 0189e26632..327e8e4eea 100644
--- a/web/modules/custom/joinup_invite/src/Form/InviteFormBase.php
+++ b/web/modules/custom/joinup_invite/src/Form/InviteFormBase.php
@@ -110,7 +110,7 @@ public function build(array $form, FormStateInterface $form_state) {
     $form['autocomplete'] = [
       '#type' => 'textfield',
       '#title' => $this->t('Name'),
-      '#description' => $this->t("Enter a Joinup user's name to search for a user and select it with the mouse or the keyboard."),
+      '#description' => $this->t("Enter a Portal user's name to search for a user and select it with the mouse or the keyboard."),
       '#autocomplete_route_name' => 'joinup_invite.user_auto_complete',
       '#attributes' => [
         'class' => ['invite-autocomplete'],
diff --git a/web/modules/custom/joinup_layout/joinup_layout.info.yml b/web/modules/custom/joinup_layout/joinup_layout.info.yml
index e3b4b183a5..1572b74982 100644
--- a/web/modules/custom/joinup_layout/joinup_layout.info.yml
+++ b/web/modules/custom/joinup_layout/joinup_layout.info.yml
@@ -1,5 +1,5 @@
-name: 'Joinup layout'
+name: 'Portal layout'
 type: module
-description: 'Contains custom layouts for Joinup.'
+description: 'Contains custom layouts for Portal.'
 core_version_requirement: ">= 9.4"
-package: Joinup
+package: Portal
diff --git a/web/modules/custom/joinup_layout/joinup_layout.layouts.yml b/web/modules/custom/joinup_layout/joinup_layout.layouts.yml
index 7bb17bdf9a..66e8f5d8d8 100644
--- a/web/modules/custom/joinup_layout/joinup_layout.layouts.yml
+++ b/web/modules/custom/joinup_layout/joinup_layout.layouts.yml
@@ -1,5 +1,5 @@
 joinup_layout_group_heading:
-  label: 'Joinup group heading'
+  label: 'Portal group heading'
   path: layouts/group
   template: joinup-layout--group-heading
   default_region: main
@@ -17,7 +17,7 @@ joinup_layout_group_heading:
       label: Aside
 
 joinup_layout_twocol_60_40:
-  label: 'Joinup 60/40'
+  label: 'Portal 60/40'
   path: layouts/twocol-60-40
   template: joinup-layout--twocol-60-40
   library: joinup_layout/twocol_60_40
@@ -38,7 +38,7 @@ joinup_layout_twocol_60_40:
       label: Bottom
 
 joinup_layout_twocolfooter_onecol_67_33:
-  label: 'Joinup three columns, two with common footer'
+  label: 'Portal three columns, two with common footer'
   path: layouts/twocolfooter-onecol-67-33
   template: joinup-layout--twocolfooter-onecol-67-33
   library: joinup_layout/twocolfooter_onecol_67_33
@@ -58,7 +58,7 @@ joinup_layout_twocolfooter_onecol_67_33:
       label: Two column footer
 
 joinup_layout_oss_heading:
-  label: 'Joinup OSS heading'
+  label: 'Portal OSS heading'
   path: layouts/oss-heading
   template: joinup-layout--oss-heading
   library: joinup_layout/oss_heading
@@ -89,7 +89,7 @@ joinup_layout_oss_heading:
       label: Aside
 
 joinup_layout_four_column_grid:
-  label: 'Joinup Four column grid'
+  label: 'Portal Four column grid'
   path: layouts/four-column-grid
   template: joinup-layout--four-column-grid
   library: joinup_layout/four_column_grid
diff --git a/web/modules/custom/joinup_licence/README.md b/web/modules/custom/joinup_licence/README.md
index f348b29077..a96278eba3 100644
--- a/web/modules/custom/joinup_licence/README.md
+++ b/web/modules/custom/joinup_licence/README.md
@@ -1,8 +1,8 @@
-Joinup Licence
+Portal Licence
 ==============
 
 This module imports licences from the [SPDX Licence
-List](https://spdx.org/licenses/) and makes them available in Joinup as RDF
+List](https://spdx.org/licenses/) and makes them available in Portal as RDF
 data for use in distributions.
 
 Importing licences from SPDX
diff --git a/web/modules/custom/joinup_licence/joinup_licence.info.yml b/web/modules/custom/joinup_licence/joinup_licence.info.yml
index 9f7ecb8a66..b8503540c2 100644
--- a/web/modules/custom/joinup_licence/joinup_licence.info.yml
+++ b/web/modules/custom/joinup_licence/joinup_licence.info.yml
@@ -1,7 +1,7 @@
 name: Licence
-description: 'Licence entity for Joinup'
+description: 'Licence entity for Portal'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_licence/joinup_licence.routing.yml b/web/modules/custom/joinup_licence/joinup_licence.routing.yml
index 1a48554a2c..b7c5cee174 100644
--- a/web/modules/custom/joinup_licence/joinup_licence.routing.yml
+++ b/web/modules/custom/joinup_licence/joinup_licence.routing.yml
@@ -2,7 +2,7 @@ joinup_licence.comparer:
   path: '/licence/compare/{licences}'
   defaults:
     _controller: 'Drupal\joinup_licence\Controller\LicenceComparerController::compare'
-    _title: 'Joinup Licensing Assistant (JLA)'
+    _title: 'Portal Licensing Assistant (JLA)'
   requirements:
     _access: 'TRUE'
     licences: '([a-zA-Z0-9][a-zA-Z0-9. -]+;)+[a-zA-Z0-9][a-zA-Z0-9. -]+'
diff --git a/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php b/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php
index eb2efa1460..d098a05975 100644
--- a/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php
+++ b/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php
@@ -9,12 +9,12 @@
 use Drupal\joinup_licence\LicenceComparerHelper;
 
 /**
- * Controller for the Joinup Licensing Assistant (JLA).
+ * Controller for the Portal Licensing Assistant (JLA).
  */
 class LicenceComparerController extends ControllerBase {
 
   /**
-   * An ordered list of Joinup licence entities keyed by their SPDX ID.
+   * An ordered list of Portal licence entities keyed by their SPDX ID.
    *
    * @var \Drupal\joinup_licence\Entity\LicenceInterface[]
    */
@@ -31,7 +31,7 @@ class LicenceComparerController extends ControllerBase {
    * Responds to a request made to 'joinup_licence.comparer' route.
    *
    * @param \Drupal\joinup_licence\Entity\LicenceInterface[] $licences
-   *   An ordered list of Joinup licence entities keyed by their SPDX ID.
+   *   An ordered list of Portal licence entities keyed by their SPDX ID.
    *
    * @return array
    *   A render array.
diff --git a/web/modules/custom/joinup_licence/src/Entity/LicenceLegalTypeInterface.php b/web/modules/custom/joinup_licence/src/Entity/LicenceLegalTypeInterface.php
index 2aa4828b11..df0b3af53e 100644
--- a/web/modules/custom/joinup_licence/src/Entity/LicenceLegalTypeInterface.php
+++ b/web/modules/custom/joinup_licence/src/Entity/LicenceLegalTypeInterface.php
@@ -8,7 +8,7 @@
 use Drupal\taxonomy\TermInterface;
 
 /**
- * Interface for licence legal type terms in Joinup.
+ * Interface for licence legal type terms in Portal.
  */
 interface LicenceLegalTypeInterface extends TermInterface, RdfSyncEntityInterface {
 
diff --git a/web/modules/custom/joinup_licence/src/EventSubscriber/LicenceGroupSubscriber.php b/web/modules/custom/joinup_licence/src/EventSubscriber/LicenceGroupSubscriber.php
index 1593b1e6bc..940617e988 100644
--- a/web/modules/custom/joinup_licence/src/EventSubscriber/LicenceGroupSubscriber.php
+++ b/web/modules/custom/joinup_licence/src/EventSubscriber/LicenceGroupSubscriber.php
@@ -7,7 +7,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Joinup Group events.
+ * Subscribes to Portal Group events.
  */
 class LicenceGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php b/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php
index 39d3809ef9..beb948474c 100644
--- a/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php
+++ b/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php
@@ -11,7 +11,7 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Converts a list of SPDX IDs into a list of Joinup licences.
+ * Converts a list of SPDX IDs into a list of Portal licences.
  */
 class SpdxIdsParamConverter implements ParamConverterInterface {
 
@@ -71,7 +71,7 @@ public function convert($value, $definition, $name, array $defaults) {
       ->condition('spdx_licence.target_id', $actual_spdx_ids, 'IN')
       ->execute();
 
-    // Some of the passed SPDX IDs don't have a related Joinup licence.
+    // Some of the passed SPDX IDs don't have a related Portal licence.
     if (count($spdx_ids) > count($actual_licence_ids)) {
       return NULL;
     }
@@ -85,7 +85,7 @@ public function convert($value, $definition, $name, array $defaults) {
       return $spdx_ids_order[$licence_a_spdx_id] <=> $spdx_ids_order[$licence_b_spdx_id];
     });
 
-    // An ordered list of Joinup licence entities keyed by their SPDX ID.
+    // An ordered list of Portal licence entities keyed by their SPDX ID.
     return array_combine($spdx_ids, $licences);
   }
 
diff --git a/web/modules/custom/joinup_licence/src/Plugin/Block/LicenceFilterBlock.php b/web/modules/custom/joinup_licence/src/Plugin/Block/LicenceFilterBlock.php
index 49c866e96d..5577d8de68 100644
--- a/web/modules/custom/joinup_licence/src/Plugin/Block/LicenceFilterBlock.php
+++ b/web/modules/custom/joinup_licence/src/Plugin/Block/LicenceFilterBlock.php
@@ -17,7 +17,7 @@
  * @Block(
  *   id = "licence_filter_block",
  *   admin_label = @Translation("Licence filter block"),
- *   category = @Translation("Joinup")
+ *   category = @Translation("Portal")
  * )
  */
 class LicenceFilterBlock extends BlockBase implements ContainerFactoryPluginInterface {
diff --git a/web/modules/custom/joinup_like/joinup_like.info.yml b/web/modules/custom/joinup_like/joinup_like.info.yml
index 46093cb01f..9e47b3f188 100644
--- a/web/modules/custom/joinup_like/joinup_like.info.yml
+++ b/web/modules/custom/joinup_like/joinup_like.info.yml
@@ -1,7 +1,7 @@
 name: Like
 description: 'Like functionality'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_like/src/Plugin/ActionLink/NodeCountLink.php b/web/modules/custom/joinup_like/src/Plugin/ActionLink/NodeCountLink.php
index f1c4aedb36..6308964fe1 100644
--- a/web/modules/custom/joinup_like/src/Plugin/ActionLink/NodeCountLink.php
+++ b/web/modules/custom/joinup_like/src/Plugin/ActionLink/NodeCountLink.php
@@ -14,7 +14,7 @@
  *
  * @ActionLinkType(
  *   id = "count_link_node",
- *   label = @Translation("Joinup Count link node entity"),
+ *   label = @Translation("Portal Count link node entity"),
  *   description = "An AJAX action link which displays the count with the flag."
  * )
  */
diff --git a/web/modules/custom/joinup_like/src/Plugin/ActionLink/RdfCountLink.php b/web/modules/custom/joinup_like/src/Plugin/ActionLink/RdfCountLink.php
index bff8bd4fc4..7ccfd6c65b 100644
--- a/web/modules/custom/joinup_like/src/Plugin/ActionLink/RdfCountLink.php
+++ b/web/modules/custom/joinup_like/src/Plugin/ActionLink/RdfCountLink.php
@@ -15,7 +15,7 @@
  *
  * @ActionLinkType(
  *   id = "count_link_rdf",
- *   label = @Translation("Joinup Count link Rdf entity"),
+ *   label = @Translation("Portal Count link Rdf entity"),
  *   description = "An AJAX action link which displays the count with the flag."
  * )
  */
diff --git a/web/modules/custom/joinup_log/joinup_log.info.yml b/web/modules/custom/joinup_log/joinup_log.info.yml
index 40da9a68ea..0776f5ba3a 100644
--- a/web/modules/custom/joinup_log/joinup_log.info.yml
+++ b/web/modules/custom/joinup_log/joinup_log.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup log'
+name: 'Portal log'
 description: 'Contains log-related features.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 10.1"
 dependencies:
   - drupal:user
diff --git a/web/modules/custom/joinup_log/joinup_log.module b/web/modules/custom/joinup_log/joinup_log.module
index 2fba310580..3d27699942 100644
--- a/web/modules/custom/joinup_log/joinup_log.module
+++ b/web/modules/custom/joinup_log/joinup_log.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup Log module.
+ * Hook implementations for the Portal Log module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_log/src/Entity/JoinupLog.php b/web/modules/custom/joinup_log/src/Entity/JoinupLog.php
index 4022e9e3aa..f139ac2b0a 100644
--- a/web/modules/custom/joinup_log/src/Entity/JoinupLog.php
+++ b/web/modules/custom/joinup_log/src/Entity/JoinupLog.php
@@ -19,8 +19,8 @@
  *
  * @ContentEntityType(
  *   id = "joinup_log",
- *   label = @Translation("Joinup log"),
- *   label_collection = @Translation("Joinup logs"),
+ *   label = @Translation("Portal log"),
+ *   label_collection = @Translation("Portal logs"),
  *   label_singular = @Translation("joinup log"),
  *   label_plural = @Translation("joinup logs"),
  *   label_count = @PluralTranslation(
diff --git a/web/modules/custom/joinup_log/src/JoinupLogStorage.php b/web/modules/custom/joinup_log/src/JoinupLogStorage.php
index 734d3c0c5f..177c3ca868 100644
--- a/web/modules/custom/joinup_log/src/JoinupLogStorage.php
+++ b/web/modules/custom/joinup_log/src/JoinupLogStorage.php
@@ -9,7 +9,7 @@
 use Drupal\Core\Entity\Sql\SqlContentEntityStorage;
 
 /**
- * Defines the storage handler class for Joinup log entity.
+ * Defines the storage handler class for Portal log entity.
  */
 class JoinupLogStorage extends SqlContentEntityStorage {
 
@@ -18,7 +18,7 @@ class JoinupLogStorage extends SqlContentEntityStorage {
    */
   public function save(EntityInterface $entity): void {
     if (!$entity->isNew()) {
-      throw new EntityStorageException('Joinup log entities are read only entities. Saving them once created is not allowed.');
+      throw new EntityStorageException('Portal log entities are read only entities. Saving them once created is not allowed.');
     }
     parent::save($entity);
   }
diff --git a/web/modules/custom/joinup_log/src/JoinupLogStorageSchema.php b/web/modules/custom/joinup_log/src/JoinupLogStorageSchema.php
index 10fc591cc1..93583587d1 100644
--- a/web/modules/custom/joinup_log/src/JoinupLogStorageSchema.php
+++ b/web/modules/custom/joinup_log/src/JoinupLogStorageSchema.php
@@ -8,7 +8,7 @@
 use Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema;
 
 /**
- * Defines the Joinup log entity schema handler.
+ * Defines the Portal log entity schema handler.
  */
 class JoinupLogStorageSchema extends SqlContentEntityStorageSchema {
 
diff --git a/web/modules/custom/joinup_log/src/JoinupLogViewsData.php b/web/modules/custom/joinup_log/src/JoinupLogViewsData.php
index 14ac7b2ca6..abfea66039 100644
--- a/web/modules/custom/joinup_log/src/JoinupLogViewsData.php
+++ b/web/modules/custom/joinup_log/src/JoinupLogViewsData.php
@@ -9,7 +9,7 @@
 use Drupal\views\EntityViewsData;
 
 /**
- * Provides the views data for Joinup log entity type.
+ * Provides the views data for Portal log entity type.
  */
 class JoinupLogViewsData extends EntityViewsData {
 
diff --git a/web/modules/custom/joinup_log/tests/src/Kernel/JoinupLogEntityTest.php b/web/modules/custom/joinup_log/tests/src/Kernel/JoinupLogEntityTest.php
index d23ad8ba43..3460fd2021 100644
--- a/web/modules/custom/joinup_log/tests/src/Kernel/JoinupLogEntityTest.php
+++ b/web/modules/custom/joinup_log/tests/src/Kernel/JoinupLogEntityTest.php
@@ -12,7 +12,7 @@
 use Drupal\joinup_log\Entity\JoinupLogInterface;
 
 /**
- * Test the Joinup log entity functionality.
+ * Test the Portal log entity functionality.
  */
 class JoinupLogEntityTest extends KernelTestBase {
 
@@ -77,7 +77,7 @@ public function testUpdate(): void {
     $log_entity = $this->generateLogEntity();
 
     $this->expectException(EntityStorageException::class);
-    $this->expectExceptionMessage('Joinup log entities are read only entities. Saving them once created is not allowed.');
+    $this->expectExceptionMessage('Portal log entities are read only entities. Saving them once created is not allowed.');
     $log_entity->save();
   }
 
@@ -92,13 +92,13 @@ public function testDelete(): void {
   }
 
   /**
-   * Generates a Joinup log entity.
+   * Generates a Portal log entity.
    *
    * @param array $values
    *   Overrides the defaults values.
    *
    * @return \Drupal\joinup_log\Entity\JoinupLogInterface
-   *   The Joinup log entity.
+   *   The Portal log entity.
    */
   private function generateLogEntity(array $values = []): JoinupLogInterface {
     global $base_root;
@@ -106,7 +106,7 @@ private function generateLogEntity(array $values = []): JoinupLogInterface {
     $user = !empty($this->adminUser) ? $this->adminUser : new AnonymousUserSession();
     $values = $values + [
       'type'        => 'custom',
-      'message'     => 'Joinup log test log message',
+      'message'     => 'Portal log test log message',
       'severity'    => RfcLogLevel::NOTICE,
       'uid'         => $user->id(),
       'location'    => $base_root . \Drupal::request()->getRequestUri(),
diff --git a/web/modules/custom/joinup_media/config/schema/joinup_media.schema.yml b/web/modules/custom/joinup_media/config/schema/joinup_media.schema.yml
index d6514de06c..8475a70e9e 100644
--- a/web/modules/custom/joinup_media/config/schema/joinup_media.schema.yml
+++ b/web/modules/custom/joinup_media/config/schema/joinup_media.schema.yml
@@ -1,3 +1,3 @@
 field.widget.settings.joinup_media_video_url:
   type: field.widget.settings.inline_entity_form_simple
-  label: 'Joinup Media video URL'
+  label: 'Portal Media video URL'
diff --git a/web/modules/custom/joinup_media/joinup_media.info.yml b/web/modules/custom/joinup_media/joinup_media.info.yml
index 5fb64fb39b..83c0107ed7 100644
--- a/web/modules/custom/joinup_media/joinup_media.info.yml
+++ b/web/modules/custom/joinup_media/joinup_media.info.yml
@@ -1,7 +1,7 @@
 type: module
-name: Joinup Media
+name: Portal Media
 description: Drupal Media adaptation.
-package: Joinup
+package: Portal
 core_version_requirement: ">=9.4"
 dependencies:
   - drupal:media
diff --git a/web/modules/custom/joinup_media/joinup_media.module b/web/modules/custom/joinup_media/joinup_media.module
index 911b32515c..0741263fe8 100644
--- a/web/modules/custom/joinup_media/joinup_media.module
+++ b/web/modules/custom/joinup_media/joinup_media.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for Joinup Media module.
+ * Hook implementations for Portal Media module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_media/joinup_media.post_update.php b/web/modules/custom/joinup_media/joinup_media.post_update.php
index 76614f942d..afef437fb2 100644
--- a/web/modules/custom/joinup_media/joinup_media.post_update.php
+++ b/web/modules/custom/joinup_media/joinup_media.post_update.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Post-update functions for Joinup Media module.
+ * Post-update functions for Portal Media module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_media/joinup_media.views.inc b/web/modules/custom/joinup_media/joinup_media.views.inc
index c7b03274bc..1a0e7b4f03 100644
--- a/web/modules/custom/joinup_media/joinup_media.views.inc
+++ b/web/modules/custom/joinup_media/joinup_media.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Views integration for Joinup Group module.
+ * Views integration for Portal Group module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_media/src/JoinupMediaLibrary.php b/web/modules/custom/joinup_media/src/JoinupMediaLibrary.php
index 6419dfcbdc..69eb401907 100644
--- a/web/modules/custom/joinup_media/src/JoinupMediaLibrary.php
+++ b/web/modules/custom/joinup_media/src/JoinupMediaLibrary.php
@@ -37,7 +37,7 @@ class JoinupMediaLibrary extends MediaLibrary {
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entityTypeManager
    *   The entity type manager.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $groupManager
-   *   The Joinup group manager service.
+   *   The Portal group manager service.
    */
   public function __construct(array $configuration, string $pluginId, CKEditor5PluginDefinition $pluginDefinition, EntityTypeManagerInterface $entityTypeManager, protected JoinupGroupManagerInterface $groupManager) {
     parent::__construct($configuration, $pluginId, $pluginDefinition, $entityTypeManager);
diff --git a/web/modules/custom/joinup_media/src/Plugin/Field/FieldWidget/MediaVideoUrlWidget.php b/web/modules/custom/joinup_media/src/Plugin/Field/FieldWidget/MediaVideoUrlWidget.php
index 15217e1cdd..46d82fee00 100644
--- a/web/modules/custom/joinup_media/src/Plugin/Field/FieldWidget/MediaVideoUrlWidget.php
+++ b/web/modules/custom/joinup_media/src/Plugin/Field/FieldWidget/MediaVideoUrlWidget.php
@@ -25,7 +25,7 @@
  */
 #[FieldWidget(
   id: 'joinup_media_video_url',
-  label: new TranslatableMarkup('Joinup Media video URL'),
+  label: new TranslatableMarkup('Portal Media video URL'),
   field_types: [
     'entity_reference',
   ],
diff --git a/web/modules/custom/joinup_menu/joinup_menu.info.yml b/web/modules/custom/joinup_menu/joinup_menu.info.yml
index 0b7123eed7..6447b55b4e 100644
--- a/web/modules/custom/joinup_menu/joinup_menu.info.yml
+++ b/web/modules/custom/joinup_menu/joinup_menu.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup Menu'
-description: 'Reusable code to interact with menus in Joinup.'
+name: 'Portal Menu'
+description: 'Reusable code to interact with menus in Portal.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_menu/src/MenuHelper.php b/web/modules/custom/joinup_menu/src/MenuHelper.php
index e0032ea97b..7b41c0f2e2 100644
--- a/web/modules/custom/joinup_menu/src/MenuHelper.php
+++ b/web/modules/custom/joinup_menu/src/MenuHelper.php
@@ -98,7 +98,7 @@ public function getBclAnonymousMenu(): array {
       'cta' => [
         // Even though the link claims to lead to an account creation form, we
         // are linking to the EU Login portal. Account creation is not handled
-        // inside the Joinup domain.
+        // inside the Portal domain.
         'link' => $cas_login_link,
         'attributes' => 'tabindex="0"',
         'text' => $this->t('Create an account'),
@@ -111,7 +111,7 @@ public function getBclAnonymousMenu(): array {
       'popover' => $popover,
     ];
 
-    // Generate a link to the Joinup collection, to show as
+    // Generate a link to the Portal collection, to show as
     // the "About us" link in the hamburger menu for anonymous users.
     $rdf_storage = $this->entityTypeManager->getStorage('rdf_entity');
     try {
@@ -127,15 +127,15 @@ public function getBclAnonymousMenu(): array {
       ];
     }
     catch (Exception $e) {
-      // The Joinup collection could not be loaded or the link to the About page
+      // The Portal collection could not be loaded or the link to the About page
       // could not be generated. This should not crash the page since the
       // collection is considered to be optional. It is for example possible for
-      // a project to reuse the Joinup open source code without hosting a
-      // "Joinup" collection.
+      // a project to reuse the Portal open source code without hosting a
+      // "Portal" collection.
       // However, in scope of the Ventuno theme the About Us link is considered
       // to be an important element, so we log a warning to alert the webmaster
       // that corrective action is required.
-      $this->logger->get('joinup_menu')->warning('"About us" link could not be rendered because the Joinup collection is not defined or doesn\'t have an About page.');
+      $this->logger->get('joinup_menu')->warning('"About us" link could not be rendered because the Portal collection is not defined or doesn\'t have an About page.');
     }
 
     return $anonymous_links;
diff --git a/web/modules/custom/joinup_menu/src/MenuHelperInterface.php b/web/modules/custom/joinup_menu/src/MenuHelperInterface.php
index d5b73dc3c1..b0b76e9178 100644
--- a/web/modules/custom/joinup_menu/src/MenuHelperInterface.php
+++ b/web/modules/custom/joinup_menu/src/MenuHelperInterface.php
@@ -38,7 +38,7 @@ public function getBclAnonymousMenu(): array;
    *
    * The landing pages returned are:
    *   - Interoperable Europe collection landing page.
-   *   - Joinup collection landing page.
+   *   - Portal collection landing page.
    *
    * @return array[]
    *   An array of menu links for the anonymous menu in the BCL header template
diff --git a/web/modules/custom/joinup_modal/joinup_modal.info.yml b/web/modules/custom/joinup_modal/joinup_modal.info.yml
index 46a281d33b..72bd0aa409 100644
--- a/web/modules/custom/joinup_modal/joinup_modal.info.yml
+++ b/web/modules/custom/joinup_modal/joinup_modal.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup modal'
-description: 'Reusable modal for Joinup.'
+name: 'Portal modal'
+description: 'Reusable modal for Portal.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - user:user
diff --git a/web/modules/custom/joinup_news/joinup_news.info.yml b/web/modules/custom/joinup_news/joinup_news.info.yml
index 6b03fa97a7..219ee2227b 100644
--- a/web/modules/custom/joinup_news/joinup_news.info.yml
+++ b/web/modules/custom/joinup_news/joinup_news.info.yml
@@ -1,7 +1,7 @@
-name: Joinup News
+name: Portal News
 description: News content type.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_news/src/Entity/NewsInterface.php b/web/modules/custom/joinup_news/src/Entity/NewsInterface.php
index f6a380faaa..68263a8222 100644
--- a/web/modules/custom/joinup_news/src/Entity/NewsInterface.php
+++ b/web/modules/custom/joinup_news/src/Entity/NewsInterface.php
@@ -10,7 +10,7 @@
 use Drupal\joinup_workflow\ArchivableEntityInterface;
 
 /**
- * Interface for news entities in Joinup.
+ * Interface for news entities in Portal.
  */
 interface NewsInterface extends CommunityContentInterface, LogoInterface, ArchivableEntityInterface, AbstractInterface {
 
diff --git a/web/modules/custom/joinup_newsletter/joinup_newsletter.info.yml b/web/modules/custom/joinup_newsletter/joinup_newsletter.info.yml
index d962553ec9..97ee4c8de9 100644
--- a/web/modules/custom/joinup_newsletter/joinup_newsletter.info.yml
+++ b/web/modules/custom/joinup_newsletter/joinup_newsletter.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup Newsletter'
-description: 'Provides newsletter functionality to Joinup'
+name: 'Portal Newsletter'
+description: 'Provides newsletter functionality to Portal'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_newsletter/joinup_newsletter.module b/web/modules/custom/joinup_newsletter/joinup_newsletter.module
index ce68d8c754..67b867fecd 100644
--- a/web/modules/custom/joinup_newsletter/joinup_newsletter.module
+++ b/web/modules/custom/joinup_newsletter/joinup_newsletter.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main functions and hook implementations of the Joinup Newsletter module.
+ * Main functions and hook implementations of the Portal Newsletter module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_notification/README.md b/web/modules/custom/joinup_notification/README.md
index fa65aa2465..11030301e2 100644
--- a/web/modules/custom/joinup_notification/README.md
+++ b/web/modules/custom/joinup_notification/README.md
@@ -1,4 +1,4 @@
-# Joinup notification module
+# Portal notification module
 
 The joinup notification module is a custom module that depends only on message,
 message_notify, og and state machine.
diff --git a/web/modules/custom/joinup_notification/joinup_notification.info.yml b/web/modules/custom/joinup_notification/joinup_notification.info.yml
index 46f857be42..d307361b3e 100644
--- a/web/modules/custom/joinup_notification/joinup_notification.info.yml
+++ b/web/modules/custom/joinup_notification/joinup_notification.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup notification'
+name: 'Portal notification'
 description: 'Handles notifications for joinup project.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - 'joinup:joinup_workflow'
diff --git a/web/modules/custom/joinup_notification/joinup_notification.module b/web/modules/custom/joinup_notification/joinup_notification.module
index d3f89e5663..f1ff44e755 100644
--- a/web/modules/custom/joinup_notification/joinup_notification.module
+++ b/web/modules/custom/joinup_notification/joinup_notification.module
@@ -239,7 +239,7 @@ function joinup_notification_mail_alter(array &$message): void {
     if ($message['key'] !== 'announcement') {
       $user = user_load_by_mail($message['to']);
       if ($user) {
-        $first_name = !empty($user->get('field_user_first_name')->value) ? $user->get('field_user_first_name')->value : 'Joinup user';
+        $first_name = !empty($user->get('field_user_first_name')->value) ? $user->get('field_user_first_name')->value : 'Portal user';
         $prefix = t('<p>Dear @first_name,</p>', ['@first_name' => $first_name]);
         $suffix = t('<p>Kind regards,</p><p>The Portal Support Team</p>');
         $message['body'] = array_merge([$prefix], $message['body'], [$suffix]);
diff --git a/web/modules/custom/joinup_notification/src/EntityMessageHelper.php b/web/modules/custom/joinup_notification/src/EntityMessageHelper.php
index e1b1f1001f..60b9ff953a 100644
--- a/web/modules/custom/joinup_notification/src/EntityMessageHelper.php
+++ b/web/modules/custom/joinup_notification/src/EntityMessageHelper.php
@@ -113,7 +113,7 @@ public function getMessageEntityStorage(): EntityStorageInterface {
       $storage = $this->entityTypeManager->getStorage('message');
     }
     catch (InvalidPluginDefinitionException $e) {
-      // Since the Joinup Notification module depends on the Message module we
+      // Since the Portal Notification module depends on the Message module we
       // can reasonably expect that the Message entity type is available at
       // runtime and we don't need to handle the possibility that it is not
       // defined.
diff --git a/web/modules/custom/joinup_notification/src/EventSubscriber/CommentSubscriber.php b/web/modules/custom/joinup_notification/src/EventSubscriber/CommentSubscriber.php
index 8127a5697c..e7cf787c81 100644
--- a/web/modules/custom/joinup_notification/src/EventSubscriber/CommentSubscriber.php
+++ b/web/modules/custom/joinup_notification/src/EventSubscriber/CommentSubscriber.php
@@ -268,7 +268,7 @@ protected function generateArguments(EntityInterface $entity): array {
     $arguments += MessageArgumentGenerator::getGroupArguments($this->group);
 
     if ($this->currentUser->isAnonymous() || empty($arguments['@actor:full_name'])) {
-      $arguments['@actor:full_name'] = $this->currentUser->isAnonymous() ? $this->t('an anonymous user') : $this->t('a Joinup user');
+      $arguments['@actor:full_name'] = $this->currentUser->isAnonymous() ? $this->t('an anonymous user') : $this->t('a Portal user');
     }
 
     return $arguments;
diff --git a/web/modules/custom/joinup_notification/src/EventSubscriber/OgMembershipSubscriber.php b/web/modules/custom/joinup_notification/src/EventSubscriber/OgMembershipSubscriber.php
index fa14b19996..71b6295386 100644
--- a/web/modules/custom/joinup_notification/src/EventSubscriber/OgMembershipSubscriber.php
+++ b/web/modules/custom/joinup_notification/src/EventSubscriber/OgMembershipSubscriber.php
@@ -219,7 +219,7 @@ protected function generateArguments(EntityInterface $message): array {
 
     // Ensure that the full name is not empty.
     if (empty($actor_first_name) && empty(($actor_last_name))) {
-      $arguments['@actor:full_name'] = 'A Joinup user';
+      $arguments['@actor:full_name'] = 'A Portal user';
     }
     else {
       /** @var \Drupal\user\UserInterface $actor */
diff --git a/web/modules/custom/joinup_notification/src/JoinupMessageDelivery.php b/web/modules/custom/joinup_notification/src/JoinupMessageDelivery.php
index 1d3f419eb1..68da5fe7e8 100644
--- a/web/modules/custom/joinup_notification/src/JoinupMessageDelivery.php
+++ b/web/modules/custom/joinup_notification/src/JoinupMessageDelivery.php
@@ -33,7 +33,7 @@ class JoinupMessageDelivery implements JoinupMessageDeliveryInterface {
   protected $messageNotifier;
 
   /**
-   * Constructs a new Joinup deliver service object.
+   * Constructs a new Portal deliver service object.
    *
    * @param \Drupal\message_notify\MessageNotifier $message_notifier
    *   The message notifier service.
diff --git a/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php b/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
index 5be22b25ac..286ffbf16f 100644
--- a/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
+++ b/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
@@ -51,10 +51,10 @@ public static function getActorArguments(?UserInterface $actor = NULL): array {
 
     if ($actor->isAnonymous()) {
       // If an anonymous is creating content, set the first name to also be 'the
-      // Joinup Moderation Team' because some emails use only the first name
+      // Portal Moderation Team' because some emails use only the first name
       // instead of the full name.
       $arguments['@actor:role'] = 'moderator';
-      $arguments['@actor:full_name'] = $arguments['@actor:field_user_first_name'] = 'the Joinup Moderation Team';
+      $arguments['@actor:full_name'] = $arguments['@actor:field_user_first_name'] = 'the Portal Moderation Team';
     }
     elseif ($actor->hasRole('moderator')) {
       /** @var \Drupal\user\RoleInterface $role */
@@ -144,7 +144,7 @@ public static function getOgMembershipArguments(OgMembershipInterface $membershi
       // If the user is an administrator they will also have inherited the
       // facilitator role. Having multiple roles might be confusing for
       // non-technical users. Let's just call them the 'owner'.
-      // Note that in Joinup the OG admin roles don't have the `is_admin` flag
+      // Note that in Portal the OG admin roles don't have the `is_admin` flag
       // set because this would unlock unwanted permissions, so we cannot use
       // `$role->isAdmin()` here. Instead we check if the role name matches.
       if ($role->getName() === OgRoleInterface::ADMINISTRATOR) {
diff --git a/web/modules/custom/joinup_paragraphs/joinup_paragraphs.info.yml b/web/modules/custom/joinup_paragraphs/joinup_paragraphs.info.yml
index f0bd320d91..9155b1a8a0 100644
--- a/web/modules/custom/joinup_paragraphs/joinup_paragraphs.info.yml
+++ b/web/modules/custom/joinup_paragraphs/joinup_paragraphs.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup paragraphs'
-description: 'Contains settings, installation config and functionality related to paragraphs needed in Joinup.'
+name: 'Portal paragraphs'
+description: 'Contains settings, installation config and functionality related to paragraphs needed in Portal.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_paragraphs/joinup_paragraphs.module b/web/modules/custom/joinup_paragraphs/joinup_paragraphs.module
index 129d44dfd2..178d74729f 100644
--- a/web/modules/custom/joinup_paragraphs/joinup_paragraphs.module
+++ b/web/modules/custom/joinup_paragraphs/joinup_paragraphs.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for Joinup Paragraphs module.
+ * Hook implementations for Portal Paragraphs module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_poll/joinup_poll.info.yml b/web/modules/custom/joinup_poll/joinup_poll.info.yml
index cf947a6c2a..8f4b3d006e 100644
--- a/web/modules/custom/joinup_poll/joinup_poll.info.yml
+++ b/web/modules/custom/joinup_poll/joinup_poll.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup Poll'
+name: 'Portal Poll'
 description: 'Poll customisation.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_poll/joinup_poll.module b/web/modules/custom/joinup_poll/joinup_poll.module
index 37c4aaf33c..db121834e1 100644
--- a/web/modules/custom/joinup_poll/joinup_poll.module
+++ b/web/modules/custom/joinup_poll/joinup_poll.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main functions and hook implementations of the Joinup Poll module.
+ * Main functions and hook implementations of the Portal Poll module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_publication_date/joinup_publication_date.info.yml b/web/modules/custom/joinup_publication_date/joinup_publication_date.info.yml
index 444df14faf..4bc7254f92 100644
--- a/web/modules/custom/joinup_publication_date/joinup_publication_date.info.yml
+++ b/web/modules/custom/joinup_publication_date/joinup_publication_date.info.yml
@@ -1,7 +1,7 @@
-name: Joinup Publication Date
+name: Portal Publication Date
 description: Extends the contributed Publication Date module with goodies such as support for bundle classes.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - publication_date:publication_date
diff --git a/web/modules/custom/joinup_publication_date/joinup_publication_date.module b/web/modules/custom/joinup_publication_date/joinup_publication_date.module
index 609d532449..c86107e2c1 100644
--- a/web/modules/custom/joinup_publication_date/joinup_publication_date.module
+++ b/web/modules/custom/joinup_publication_date/joinup_publication_date.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup Publication Date module.
+ * Hook implementations for the Portal Publication Date module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php b/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php
index a9209c6746..3b9dbce092 100644
--- a/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php
+++ b/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Deploy hooks for Joinup RDF module.
+ * Deploy hooks for Portal RDF module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_rdf/joinup_rdf.info.yml b/web/modules/custom/joinup_rdf/joinup_rdf.info.yml
index 0507137176..ca85a295d7 100644
--- a/web/modules/custom/joinup_rdf/joinup_rdf.info.yml
+++ b/web/modules/custom/joinup_rdf/joinup_rdf.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup RDF'
-description: 'Integrates the RDF data model in Joinup.'
+name: 'Portal RDF'
+description: 'Integrates the RDF data model in Portal.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_rdf/joinup_rdf.install b/web/modules/custom/joinup_rdf/joinup_rdf.install
index 88a8c66f78..99fd210016 100644
--- a/web/modules/custom/joinup_rdf/joinup_rdf.install
+++ b/web/modules/custom/joinup_rdf/joinup_rdf.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Post update functions for the Joinup RDF module.
+ * Post update functions for the Portal RDF module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_rdf/joinup_rdf.module b/web/modules/custom/joinup_rdf/joinup_rdf.module
index 2bcc7b5464..9cb27ce6d7 100644
--- a/web/modules/custom/joinup_rdf/joinup_rdf.module
+++ b/web/modules/custom/joinup_rdf/joinup_rdf.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup RDF module.
+ * Hook implementations for the Portal RDF module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_rdf/src/Plugin/rdf_sync/RdfUriGenerator/JoinupRdfUriGenerator.php b/web/modules/custom/joinup_rdf/src/Plugin/rdf_sync/RdfUriGenerator/JoinupRdfUriGenerator.php
index 650cc39e5b..7d4f82e8b4 100644
--- a/web/modules/custom/joinup_rdf/src/Plugin/rdf_sync/RdfUriGenerator/JoinupRdfUriGenerator.php
+++ b/web/modules/custom/joinup_rdf/src/Plugin/rdf_sync/RdfUriGenerator/JoinupRdfUriGenerator.php
@@ -13,7 +13,7 @@
  *
  * @RdfUriGenerator(
  *   id = "joinup_po_namespace",
- *   name = @Translation("Joinup PO namespace (data.europa.eu/w21)"),
+ *   name = @Translation("Portal PO namespace (data.europa.eu/w21)"),
  * )
  */
 class JoinupRdfUriGenerator extends RdfUriGeneratorPluginBase {
diff --git a/web/modules/custom/joinup_release/joinup_release.info.yml b/web/modules/custom/joinup_release/joinup_release.info.yml
index 6f8c3752e6..d976329a42 100644
--- a/web/modules/custom/joinup_release/joinup_release.info.yml
+++ b/web/modules/custom/joinup_release/joinup_release.info.yml
@@ -1,4 +1,4 @@
-name: 'Joinup release'
+name: 'Portal release'
 type: module
 description: 'Custom functionality related to releases.'
 package: Custom
diff --git a/web/modules/custom/joinup_release/joinup_release.module b/web/modules/custom/joinup_release/joinup_release.module
index 0879a5f7f2..71c62aace0 100644
--- a/web/modules/custom/joinup_release/joinup_release.module
+++ b/web/modules/custom/joinup_release/joinup_release.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Primary module hooks for Joinup release module.
+ * Primary module hooks for Portal release module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_release/src/Entity/ReleaseInterface.php b/web/modules/custom/joinup_release/src/Entity/ReleaseInterface.php
index 647c2fe686..4d9063cd80 100644
--- a/web/modules/custom/joinup_release/src/Entity/ReleaseInterface.php
+++ b/web/modules/custom/joinup_release/src/Entity/ReleaseInterface.php
@@ -17,7 +17,7 @@
 use Drupal\solution\Entity\SolutionInterface;
 
 /**
- * Interface for asset release entities in Joinup.
+ * Interface for asset release entities in Portal.
  */
 interface ReleaseInterface extends NodeInterface, RdfSyncEntityInterface, CollectionContentInterface, SolutionContentInterface, EntityPublicationTimeInterface, EntityWorkflowStateInterface, DistributionsParentInterface, DescriptionInterface, ArchivableEntityInterface, PermalinkInterface {
 
diff --git a/web/modules/custom/joinup_release/src/EventSubscriber/ReleaseGroupSubscriber.php b/web/modules/custom/joinup_release/src/EventSubscriber/ReleaseGroupSubscriber.php
index f13bee6e42..c0d0af87dc 100644
--- a/web/modules/custom/joinup_release/src/EventSubscriber/ReleaseGroupSubscriber.php
+++ b/web/modules/custom/joinup_release/src/EventSubscriber/ReleaseGroupSubscriber.php
@@ -9,7 +9,7 @@
 use Drupal\solution\Entity\SolutionInterface;
 
 /**
- * Subscribes to Joinup Group events.
+ * Subscribes to Portal Group events.
  */
 class ReleaseGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/joinup_release/templates/joinup-release-releases-download.html.twig b/web/modules/custom/joinup_release/templates/joinup-release-releases-download.html.twig
index f4501a1802..373cb89713 100644
--- a/web/modules/custom/joinup_release/templates/joinup-release-releases-download.html.twig
+++ b/web/modules/custom/joinup_release/templates/joinup-release-releases-download.html.twig
@@ -1,7 +1,7 @@
 {#
 /**
  * @file
- * Default template for the Joinup release Releases download page.
+ * Default template for the Portal release Releases download page.
  *
  * Available variables:
  * - releases: An array of release render arrays.
diff --git a/web/modules/custom/joinup_replicate/joinup_replicate.info.yml b/web/modules/custom/joinup_replicate/joinup_replicate.info.yml
index aa3793f9ea..8eff0077e3 100644
--- a/web/modules/custom/joinup_replicate/joinup_replicate.info.yml
+++ b/web/modules/custom/joinup_replicate/joinup_replicate.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup Replicate'
-description: 'Integrates the Replicate module in Joinup.'
+name: 'Portal Replicate'
+description: 'Integrates the Replicate module in Portal.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 10.2"
 
 dependencies:
diff --git a/web/modules/custom/joinup_replicate/joinup_replicate.module b/web/modules/custom/joinup_replicate/joinup_replicate.module
index 698ddbf424..12851e28de 100644
--- a/web/modules/custom/joinup_replicate/joinup_replicate.module
+++ b/web/modules/custom/joinup_replicate/joinup_replicate.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hooks of Joinup Replicate module.
+ * Hooks of Portal Replicate module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_replicate/src/RouteSubscriber/RouteSubscriber.php b/web/modules/custom/joinup_replicate/src/RouteSubscriber/RouteSubscriber.php
index e6a32d2293..e7cb41195a 100644
--- a/web/modules/custom/joinup_replicate/src/RouteSubscriber/RouteSubscriber.php
+++ b/web/modules/custom/joinup_replicate/src/RouteSubscriber/RouteSubscriber.php
@@ -29,7 +29,7 @@ class RouteSubscriber extends RouteSubscriberBase {
    */
   protected function alterRoutes(RouteCollection $collection): void {
     // @todo Consider making this configurable by additional configuration
-    // options either in Joinup or in the contrib module.
+    // options either in Portal or in the contrib module.
     foreach (static::ALLOWED_BUNDLES_PER_TYPE as $entityTypeId => $allowedBundles) {
       if (!$route = $collection->get("entity.$entityTypeId.replicate")) {
         continue;
diff --git a/web/modules/custom/joinup_rss/joinup_rss.info.yml b/web/modules/custom/joinup_rss/joinup_rss.info.yml
index d722aaab6d..b7926ece2f 100644
--- a/web/modules/custom/joinup_rss/joinup_rss.info.yml
+++ b/web/modules/custom/joinup_rss/joinup_rss.info.yml
@@ -1,7 +1,7 @@
-name: Joinup RSS
-description: Exposes RSS feeds in Joinup.
+name: Portal RSS
+description: Exposes RSS feeds in Portal.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_rss/joinup_rss.module b/web/modules/custom/joinup_rss/joinup_rss.module
index 32893c0d35..f7eda6495a 100644
--- a/web/modules/custom/joinup_rss/joinup_rss.module
+++ b/web/modules/custom/joinup_rss/joinup_rss.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Provides functionality for the Joinup RSS module.
+ * Provides functionality for the Portal RSS module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/config/schema/joinup_search.schema.yml b/web/modules/custom/joinup_search/config/schema/joinup_search.schema.yml
index 47a7520b0b..f0cd7ea999 100644
--- a/web/modules/custom/joinup_search/config/schema/joinup_search.schema.yml
+++ b/web/modules/custom/joinup_search/config/schema/joinup_search.schema.yml
@@ -23,7 +23,7 @@ joinup_search_filter_plugin_entity_autocomplete:
 
 plugin.plugin_configuration.search_api_processor.joinup_entity_status:
   type: search_api.default_processor_configuration
-  label: 'Joinup entity status processor'
+  label: 'Portal entity status processor'
   mapping:
     inverse:
       type: boolean
diff --git a/web/modules/custom/joinup_search/joinup_search.info.yml b/web/modules/custom/joinup_search/joinup_search.info.yml
index 86f9a2eb7d..f1ea9870ad 100644
--- a/web/modules/custom/joinup_search/joinup_search.info.yml
+++ b/web/modules/custom/joinup_search/joinup_search.info.yml
@@ -1,7 +1,7 @@
-name: Joinup search
-description: Integrates the Joinup project with Solr.
+name: Portal search
+description: Integrates the Portal project with Solr.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_search/joinup_search.install b/web/modules/custom/joinup_search/joinup_search.install
index b96d1eed11..27eee31280 100644
--- a/web/modules/custom/joinup_search/joinup_search.install
+++ b/web/modules/custom/joinup_search/joinup_search.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update and uninstall functions for Joinup Search module.
+ * Install, update and uninstall functions for Portal Search module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/joinup_search.module b/web/modules/custom/joinup_search/joinup_search.module
index e53a708db6..6e5f7e330c 100644
--- a/web/modules/custom/joinup_search/joinup_search.module
+++ b/web/modules/custom/joinup_search/joinup_search.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Provides functionality for the Joinup search module.
+ * Provides functionality for the Portal search module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/joinup_search.views.inc b/web/modules/custom/joinup_search/joinup_search.views.inc
index e56e34fe5b..c0c71876ff 100644
--- a/web/modules/custom/joinup_search/joinup_search.views.inc
+++ b/web/modules/custom/joinup_search/joinup_search.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Views hook implementations for the Joinup search module.
+ * Views hook implementations for the Portal search module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.info.yml b/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.info.yml
index 167b188afd..b333d776f4 100644
--- a/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.info.yml
+++ b/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.info.yml
@@ -1,8 +1,8 @@
-name: Joinup search arbitrary facet
+name: Portal search arbitrary facet
 type: module
 description: Allows adding facets based on arbitrary queries.
 core_version_requirement: ">= 9.4"
-package: Joinup
+package: Portal
 
 dependencies:
   - facets:facets
diff --git a/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.module b/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.module
index 8ebf744f97..ebdd795ece 100644
--- a/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.module
+++ b/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Provides functionality for the Joinup search arbitrary facet.
+ * Provides functionality for the Portal search arbitrary facet.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/src/EventSubscriber/JoinupGlobalSearchApiAlter.php b/web/modules/custom/joinup_search/src/EventSubscriber/JoinupGlobalSearchApiAlter.php
index ad794e4e7f..94c3279e98 100644
--- a/web/modules/custom/joinup_search/src/EventSubscriber/JoinupGlobalSearchApiAlter.php
+++ b/web/modules/custom/joinup_search/src/EventSubscriber/JoinupGlobalSearchApiAlter.php
@@ -11,7 +11,7 @@
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 
 /**
- * Apply the global settings to all search_api_field solarium queries on Joinup.
+ * Apply the global settings to all search_api_field solarium queries on Portal.
  */
 class JoinupGlobalSearchApiAlter implements EventSubscriberInterface {
 
diff --git a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityLatestRevision.php b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityLatestRevision.php
index 3716e62788..b829e2232b 100644
--- a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityLatestRevision.php
+++ b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityLatestRevision.php
@@ -17,7 +17,7 @@
  *
  * @SearchApiProcessor(
  *   id = "joinup_entity_latest_revision",
- *   label = @Translation("Joinup entity latest revision"),
+ *   label = @Translation("Portal entity latest revision"),
  *   description = @Translation("Ensures that the version of the entity is the latest revision."),
  *   stages = {
  *     "alter_items" = -20,
diff --git a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityPublishedRevision.php b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityPublishedRevision.php
index b044f8a7e7..893a83a5fd 100644
--- a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityPublishedRevision.php
+++ b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityPublishedRevision.php
@@ -16,7 +16,7 @@
  *
  * @SearchApiProcessor(
  *   id = "joinup_entity_published_revision",
- *   label = @Translation("Joinup entity published revision"),
+ *   label = @Translation("Portal entity published revision"),
  *   description = @Translation("Ensures that the version of the entity is the published revision."),
  *   stages = {
  *     "alter_items" = -20,
diff --git a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityStatus.php b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityStatus.php
index 8a743238e1..5eedb067f4 100644
--- a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityStatus.php
+++ b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityStatus.php
@@ -23,7 +23,7 @@
  *
  * @SearchApiProcessor(
  *   id = "joinup_entity_status",
- *   label = @Translation("Joinup entity status"),
+ *   label = @Translation("Portal entity status"),
  *   description = @Translation("Exclude unpublished content, rdf entities and users."),
  *   stages = {
  *     "alter_items" = 0,
diff --git a/web/modules/custom/joinup_seo/joinup_seo.info.yml b/web/modules/custom/joinup_seo/joinup_seo.info.yml
index 5f6a1fece5..49ceea4a08 100644
--- a/web/modules/custom/joinup_seo/joinup_seo.info.yml
+++ b/web/modules/custom/joinup_seo/joinup_seo.info.yml
@@ -1,7 +1,7 @@
-name: Joinup SEO
+name: Portal SEO
 description: Contains specific functionality that helps visibility of the platform in search engines.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_seo/joinup_seo.module b/web/modules/custom/joinup_seo/joinup_seo.module
index cc379d0fe9..5524a70693 100644
--- a/web/modules/custom/joinup_seo/joinup_seo.module
+++ b/web/modules/custom/joinup_seo/joinup_seo.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains hook implementations for the Joinup SEO module.
+ * Contains hook implementations for the Portal SEO module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupEntityUrlGenerator.php b/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupEntityUrlGenerator.php
index c0d34628be..874a99e545 100755
--- a/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupEntityUrlGenerator.php
+++ b/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupEntityUrlGenerator.php
@@ -7,11 +7,11 @@
 use Drupal\Core\Entity\Query\QueryInterface;
 
 /**
- * Generates URLs to content on Joinup for inclusion in the sitemap.
+ * Generates URLs to content on Portal for inclusion in the sitemap.
  *
  * @UrlGenerator(
  *   id = "joinup_entity",
- *   label = @Translation("Joinup URL generator"),
+ *   label = @Translation("Portal URL generator"),
  *   description = @Translation("Generates URLs for entities ignoring recent news."),
  * )
  */
diff --git a/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupUrlGeneratorBase.php b/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupUrlGeneratorBase.php
index bb630c20d4..b365375350 100644
--- a/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupUrlGeneratorBase.php
+++ b/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupUrlGeneratorBase.php
@@ -10,7 +10,7 @@
 use Drupal\simple_sitemap\Plugin\simple_sitemap\UrlGenerator\EntityUrlGenerator;
 
 /**
- * Base class for Joinup Url Generators.
+ * Base class for Portal Url Generators.
  */
 abstract class JoinupUrlGeneratorBase extends EntityUrlGenerator {
 
diff --git a/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.info.yml b/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.info.yml
index 8c5c064144..62cf3b4b11 100644
--- a/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.info.yml
+++ b/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.info.yml
@@ -1,7 +1,7 @@
-name: Joinup Sitewide alerts
+name: Portal Sitewide alerts
 description: Contains customisation for sitewide_alert module.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.module b/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.module
index 0fa628f1c8..43541b627d 100644
--- a/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.module
+++ b/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup Sitewide Alert module.
+ * Hook implementations for the Portal Sitewide Alert module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_slick/joinup_slick.info.yml b/web/modules/custom/joinup_slick/joinup_slick.info.yml
index 2edb913501..40f901f8b6 100644
--- a/web/modules/custom/joinup_slick/joinup_slick.info.yml
+++ b/web/modules/custom/joinup_slick/joinup_slick.info.yml
@@ -1,7 +1,7 @@
-name: Joinup Slick
+name: Portal Slick
 description: Formats multi-item fields with Slick Carousel
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 10.1"
 dependencies:
   - slick:slick
diff --git a/web/modules/custom/joinup_slick/joinup_slick.module b/web/modules/custom/joinup_slick/joinup_slick.module
index 73566182c3..3b295c3aa2 100644
--- a/web/modules/custom/joinup_slick/joinup_slick.module
+++ b/web/modules/custom/joinup_slick/joinup_slick.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hooks and custom functions of Joinup Slick module.
+ * Hooks and custom functions of Portal Slick module.
  */
 
 declare(strict_types=1);
@@ -159,7 +159,7 @@ function joinup_slick_preprocess_slick(array &$variables): void {
  * Implements hook_preprocess_HOOK() for "slick_slide".
  */
 function joinup_slick_preprocess_slick_slide(array &$variables): void {
-  // Always use wrapper and content attributes if this is a Joinup Slick
+  // Always use wrapper and content attributes if this is a Portal Slick
   // instance.
   if (!empty($variables['settings']['joinup_slick'])) {
     $variables['settings']['wrapper'] = TRUE;
diff --git a/web/modules/custom/joinup_solution/joinup_solution.info.yml b/web/modules/custom/joinup_solution/joinup_solution.info.yml
index f208a95702..418817221b 100644
--- a/web/modules/custom/joinup_solution/joinup_solution.info.yml
+++ b/web/modules/custom/joinup_solution/joinup_solution.info.yml
@@ -1,4 +1,4 @@
-name: 'Joinup solution'
+name: 'Portal solution'
 type: module
 description: 'Contains functionality related to the solution entity.'
 package: Joinuo
diff --git a/web/modules/custom/joinup_solution/joinup_solution.module b/web/modules/custom/joinup_solution/joinup_solution.module
index 6aecfd5280..59d123a4b2 100644
--- a/web/modules/custom/joinup_solution/joinup_solution.module
+++ b/web/modules/custom/joinup_solution/joinup_solution.module
@@ -9,7 +9,7 @@
 
 /**
  * @file
- * Primary module hooks for Joinup solution module.
+ * Primary module hooks for Portal solution module.
  */
 
 use Drupal\joinup_solution\Entity\Solution;
diff --git a/web/modules/custom/joinup_sparql/joinup_sparql.info.yml b/web/modules/custom/joinup_sparql/joinup_sparql.info.yml
index e0a5dc7699..d8df7dbbcb 100644
--- a/web/modules/custom/joinup_sparql/joinup_sparql.info.yml
+++ b/web/modules/custom/joinup_sparql/joinup_sparql.info.yml
@@ -1,7 +1,7 @@
-name: Joinup SPARQL
-description: Contains Joinup specific overrides related to the RDF entity and the SPARQL endpoint.
+name: Portal SPARQL
+description: Contains Portal specific overrides related to the RDF entity and the SPARQL endpoint.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php b/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php
index 8b22532545..53969ce2cd 100644
--- a/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php
+++ b/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php
@@ -18,7 +18,7 @@
  */
 
 /**
- * SPARQL connection service set up for virtuoso and Joinup.
+ * SPARQL connection service set up for virtuoso and Portal.
  */
 class Connection extends BaseConnection implements ConnectionInterface {
 
diff --git a/web/modules/custom/joinup_sparql/tests/modules/joinup_content_negotiation_test/joinup_content_negotiation_test.info.yml b/web/modules/custom/joinup_sparql/tests/modules/joinup_content_negotiation_test/joinup_content_negotiation_test.info.yml
index e2e4780d92..913142c93e 100644
--- a/web/modules/custom/joinup_sparql/tests/modules/joinup_content_negotiation_test/joinup_content_negotiation_test.info.yml
+++ b/web/modules/custom/joinup_sparql/tests/modules/joinup_content_negotiation_test/joinup_content_negotiation_test.info.yml
@@ -1,4 +1,4 @@
-name: 'Joinup Content Negotiation  Test'
+name: 'Portal Content Negotiation  Test'
 type: module
 description: 'Provides a module for testing content negotiation.'
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_stats/README.md b/web/modules/custom/joinup_stats/README.md
index 55ea2ed14d..c4c75a598a 100644
--- a/web/modules/custom/joinup_stats/README.md
+++ b/web/modules/custom/joinup_stats/README.md
@@ -1,4 +1,4 @@
-Joinup Stats
+Portal Stats
 ============
 
 This module allows entities to store usage statistics in a related meta entity.
diff --git a/web/modules/custom/joinup_stats/config/schema/joinup_stats.schema.yml b/web/modules/custom/joinup_stats/config/schema/joinup_stats.schema.yml
index f2db7a10c3..fdb52f9aed 100644
--- a/web/modules/custom/joinup_stats/config/schema/joinup_stats.schema.yml
+++ b/web/modules/custom/joinup_stats/config/schema/joinup_stats.schema.yml
@@ -1,6 +1,6 @@
 meta_entity.type.*.third_party.joinup_stats:
   type: mapping
-  label: 'Joinup Statistics settings'
+  label: 'Portal Statistics settings'
   mapping:
     matomo_method:
       type: string
diff --git a/web/modules/custom/joinup_stats/joinup_stats.info.yml b/web/modules/custom/joinup_stats/joinup_stats.info.yml
index d8bda19205..d4beb3891b 100644
--- a/web/modules/custom/joinup_stats/joinup_stats.info.yml
+++ b/web/modules/custom/joinup_stats/joinup_stats.info.yml
@@ -1,7 +1,7 @@
 name: Statistics
-description: 'Provide statistics for Joinup entities.'
+description: 'Provide statistics for Portal entities.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_stats/joinup_stats.module b/web/modules/custom/joinup_stats/joinup_stats.module
index 1a66cd88f4..3aec2013ce 100644
--- a/web/modules/custom/joinup_stats/joinup_stats.module
+++ b/web/modules/custom/joinup_stats/joinup_stats.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Joinup Statistics module main file.
+ * Portal Statistics module main file.
  */
 
 declare(strict_types=1);
@@ -128,7 +128,7 @@ function joinup_stats_form_meta_entity_type_edit_form_alter(array &$form, FormSt
 
   $form['third_party_settings']['joinup_stats'] = [
     '#type' => 'details',
-    '#title' => t('Joinup Statistics'),
+    '#title' => t('Portal Statistics'),
     'matomo_method' => [
       '#type' => 'textfield',
       '#title' => t('Matomo method'),
diff --git a/web/modules/custom/joinup_stats/tests/modules/stats_test/config/install/field.field.node.distribution.access_url.yml b/web/modules/custom/joinup_stats/tests/modules/stats_test/config/install/field.field.node.distribution.access_url.yml
index 93d55815ae..781ed2c7bf 100644
--- a/web/modules/custom/joinup_stats/tests/modules/stats_test/config/install/field.field.node.distribution.access_url.yml
+++ b/web/modules/custom/joinup_stats/tests/modules/stats_test/config/install/field.field.node.distribution.access_url.yml
@@ -16,7 +16,7 @@ field_name: access_url
 entity_type: node
 bundle: distribution
 label: 'Access URL'
-description: 'If the file(s) exist in an external server, you can provide the URL here directly. You can alternatively host your distribution in Joinup by using the Distribution file field above.'
+description: 'If the file(s) exist in an external server, you can provide the URL here directly. You can alternatively host your distribution in Portal by using the Distribution file field above.'
 required: false
 translatable: false
 default_value: {  }
diff --git a/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.info.yml b/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.info.yml
index 322420b4e1..6e850b584d 100644
--- a/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.info.yml
+++ b/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.info.yml
@@ -1,6 +1,6 @@
 type: module
 name: 'Statistics test'
-description: 'Used to test Joinup Statistics.'
+description: 'Used to test Portal Statistics.'
 core_version_requirement: ">= 9.4"
 package: Testing
 dependecies:
diff --git a/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.module b/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.module
index 300894aa2d..62eb880311 100644
--- a/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.module
+++ b/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup Stats test module.
+ * Hook implementations for the Portal Stats test module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_subscription/README.md b/web/modules/custom/joinup_subscription/README.md
index c1f62f4b3b..3c8ea24a07 100644
--- a/web/modules/custom/joinup_subscription/README.md
+++ b/web/modules/custom/joinup_subscription/README.md
@@ -1,7 +1,7 @@
-Joinup Subscription
+Portal Subscription
 ===================
 
-This module handles subscribing to content in Joinup. If a user is subscribed
+This module handles subscribing to content in Portal. If a user is subscribed
 they will receive email notifications when new content is being published. At
 the moment there are two distinct subscription systems offered by the module:
 
diff --git a/web/modules/custom/joinup_subscription/config/schema/joinup_subscription.schema.yml b/web/modules/custom/joinup_subscription/config/schema/joinup_subscription.schema.yml
index 30153f023a..9aac3f2c1c 100644
--- a/web/modules/custom/joinup_subscription/config/schema/joinup_subscription.schema.yml
+++ b/web/modules/custom/joinup_subscription/config/schema/joinup_subscription.schema.yml
@@ -1,6 +1,6 @@
 joinup_subscription.settings:
   type: config_object
-  label: 'Joinup subscription settings'
+  label: 'Portal subscription settings'
   mapping:
     frequency:
       type: string
diff --git a/web/modules/custom/joinup_subscription/joinup_subscription.info.yml b/web/modules/custom/joinup_subscription/joinup_subscription.info.yml
index 0d4fd38b78..8c6d7a66dc 100644
--- a/web/modules/custom/joinup_subscription/joinup_subscription.info.yml
+++ b/web/modules/custom/joinup_subscription/joinup_subscription.info.yml
@@ -1,7 +1,7 @@
-name: Joinup subscription
+name: Portal subscription
 description: Allows users to subscribe to collection content.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_subscription/joinup_subscription.module b/web/modules/custom/joinup_subscription/joinup_subscription.module
index b21354b0bc..85a5c0d356 100644
--- a/web/modules/custom/joinup_subscription/joinup_subscription.module
+++ b/web/modules/custom/joinup_subscription/joinup_subscription.module
@@ -135,7 +135,7 @@ function joinup_subscription_mail_alter(array &$message): void {
     $notifier = $message['params']['notifier'] ?? NULL;
     if ($notifier instanceof MessageNotifierInterface) {
       $interval = $notifier->getPluginDefinition()['title'];
-      $message['subject'] = t('Joinup: @interval digest message', [
+      $message['subject'] = t('Portal: @interval digest message', [
         '@interval' => $interval,
       ]);
     }
diff --git a/web/modules/custom/joinup_subscription/src/EventSubscriber/GroupContentSubscriptionSubscriber.php b/web/modules/custom/joinup_subscription/src/EventSubscriber/GroupContentSubscriptionSubscriber.php
index 967f2a9d4f..36c0d9edf6 100644
--- a/web/modules/custom/joinup_subscription/src/EventSubscriber/GroupContentSubscriptionSubscriber.php
+++ b/web/modules/custom/joinup_subscription/src/EventSubscriber/GroupContentSubscriptionSubscriber.php
@@ -32,7 +32,7 @@ class GroupContentSubscriptionSubscriber implements EventSubscriberInterface {
   protected $entityTypeManager;
 
   /**
-   * The Joinup message delivery service.
+   * The Portal message delivery service.
    *
    * @var \Drupal\joinup_notification\JoinupMessageDeliveryInterface
    */
@@ -51,7 +51,7 @@ class GroupContentSubscriptionSubscriber implements EventSubscriberInterface {
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entityTypeManager
    *   The entity type manager.
    * @param \Drupal\joinup_notification\JoinupMessageDeliveryInterface $joinupMessageDelivery
-   *   The Joinup message delivery service.
+   *   The Portal message delivery service.
    * @param \Drupal\Core\Logger\LoggerChannelFactoryInterface $logger
    *   The logger channel factory.
    */
diff --git a/web/modules/custom/joinup_subscription/src/Form/SubscriptionsForm.php b/web/modules/custom/joinup_subscription/src/Form/SubscriptionsForm.php
index 828c0357d4..4351d3225c 100644
--- a/web/modules/custom/joinup_subscription/src/Form/SubscriptionsForm.php
+++ b/web/modules/custom/joinup_subscription/src/Form/SubscriptionsForm.php
@@ -23,7 +23,7 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Provides a Joinup subscription form.
+ * Provides a Portal subscription form.
  */
 class SubscriptionsForm extends FormBase {
 
@@ -42,7 +42,7 @@ class SubscriptionsForm extends FormBase {
   protected EntityTypeBundleInfoInterface $entityTypeBundleInfo;
 
   /**
-   * The Joinup group manager service.
+   * The Portal group manager service.
    *
    * @var \Drupal\joinup_group\JoinupGroupManagerInterface
    */
@@ -63,7 +63,7 @@ class SubscriptionsForm extends FormBase {
    * @param \Drupal\Core\Entity\EntityTypeBundleInfoInterface $entityTypeBundleInfo
    *   The entity type bundle info service.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $groupManager
-   *   The Joinup group manager service.
+   *   The Portal group manager service.
    * @param \Drupal\og\MembershipManagerInterface $membershipManager
    *   The OG membership manager.
    */
diff --git a/web/modules/custom/joinup_subscription/src/JoinupDiscussionSubscription.php b/web/modules/custom/joinup_subscription/src/JoinupDiscussionSubscription.php
index 8be81977b0..0b86fb96e1 100644
--- a/web/modules/custom/joinup_subscription/src/JoinupDiscussionSubscription.php
+++ b/web/modules/custom/joinup_subscription/src/JoinupDiscussionSubscription.php
@@ -31,7 +31,7 @@ class JoinupDiscussionSubscription implements JoinupDiscussionSubscriptionInterf
   protected $flagService;
 
   /**
-   * Constructs a new Joinup subscription service.
+   * Constructs a new Portal subscription service.
    *
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The entity type manager service.
diff --git a/web/modules/custom/joinup_subscription/src/JoinupSubscriptionsHelper.php b/web/modules/custom/joinup_subscription/src/JoinupSubscriptionsHelper.php
index 7b0ff032c6..8f1300fcb7 100644
--- a/web/modules/custom/joinup_subscription/src/JoinupSubscriptionsHelper.php
+++ b/web/modules/custom/joinup_subscription/src/JoinupSubscriptionsHelper.php
@@ -7,7 +7,7 @@
 use Drupal\joinup_community_content\CommunityContentHelper;
 
 /**
- * Helper class for Joinup subscriptions.
+ * Helper class for Portal subscriptions.
  */
 class JoinupSubscriptionsHelper {
 
diff --git a/web/modules/custom/joinup_subscription/src/Plugin/Field/FieldType/EntityBundlePairItem.php b/web/modules/custom/joinup_subscription/src/Plugin/Field/FieldType/EntityBundlePairItem.php
index 106012607f..512446d455 100644
--- a/web/modules/custom/joinup_subscription/src/Plugin/Field/FieldType/EntityBundlePairItem.php
+++ b/web/modules/custom/joinup_subscription/src/Plugin/Field/FieldType/EntityBundlePairItem.php
@@ -16,7 +16,7 @@
  * This is a pseudo reference field that references bundles by storing the
  * entity type and the bundle machine name.
  *
- * @todo If this is useful for other subsystems in Joinup this can be split off
+ * @todo If this is useful for other subsystems in Portal this can be split off
  *   to a separate module.
  *
  * @FieldType(
diff --git a/web/modules/custom/joinup_taxonomy/config/schema/joinup_taxonomy.schema.yml b/web/modules/custom/joinup_taxonomy/config/schema/joinup_taxonomy.schema.yml
index d9fbc06931..7e4a92b379 100644
--- a/web/modules/custom/joinup_taxonomy/config/schema/joinup_taxonomy.schema.yml
+++ b/web/modules/custom/joinup_taxonomy/config/schema/joinup_taxonomy.schema.yml
@@ -1,6 +1,6 @@
 taxonomy.vocabulary.*.third_party.joinup_taxonomy:
   type: mapping
-  label: 'Joinup Taxonomy third party settings'
+  label: 'Portal Taxonomy third party settings'
   mapping:
     locked:
       type: boolean
diff --git a/web/modules/custom/joinup_taxonomy/joinup_taxonomy.info.yml b/web/modules/custom/joinup_taxonomy/joinup_taxonomy.info.yml
index c8b79b03ad..351ddaa4d9 100644
--- a/web/modules/custom/joinup_taxonomy/joinup_taxonomy.info.yml
+++ b/web/modules/custom/joinup_taxonomy/joinup_taxonomy.info.yml
@@ -1,7 +1,7 @@
-name: Joinup Taxonomy
+name: Portal Taxonomy
 description: Customizing the core's Taxonomy module.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - drupal:taxonomy
diff --git a/web/modules/custom/joinup_taxonomy/joinup_taxonomy.module b/web/modules/custom/joinup_taxonomy/joinup_taxonomy.module
index f563cff66b..36f0fe7685 100644
--- a/web/modules/custom/joinup_taxonomy/joinup_taxonomy.module
+++ b/web/modules/custom/joinup_taxonomy/joinup_taxonomy.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for Joinup taxonomy module.
+ * Hook implementations for Portal taxonomy module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_test/joinup_test.info.yml b/web/modules/custom/joinup_test/joinup_test.info.yml
index d2b701c025..0d2474c4da 100644
--- a/web/modules/custom/joinup_test/joinup_test.info.yml
+++ b/web/modules/custom/joinup_test/joinup_test.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup Test'
-description: 'Contains functionality to test Joinup.'
+name: 'Portal Test'
+description: 'Contains functionality to test Portal.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - http_request_mock:http_request_mock
diff --git a/web/modules/custom/joinup_test/joinup_test.install b/web/modules/custom/joinup_test/joinup_test.install
index 7b8947f178..cbe13cf994 100644
--- a/web/modules/custom/joinup_test/joinup_test.install
+++ b/web/modules/custom/joinup_test/joinup_test.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update and uninstall hooks for Joinup Test module.
+ * Install, update and uninstall hooks for Portal Test module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_test/joinup_test.module b/web/modules/custom/joinup_test/joinup_test.module
index 2119489a3c..08f75aca78 100644
--- a/web/modules/custom/joinup_test/joinup_test.module
+++ b/web/modules/custom/joinup_test/joinup_test.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for Joinup Test module.
+ * Hook implementations for Portal Test module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_test/tests/src/ExistingSite/JoinupExistingSiteTestBase.php b/web/modules/custom/joinup_test/tests/src/ExistingSite/JoinupExistingSiteTestBase.php
index fa20ee2d0e..f4f8ed3850 100644
--- a/web/modules/custom/joinup_test/tests/src/ExistingSite/JoinupExistingSiteTestBase.php
+++ b/web/modules/custom/joinup_test/tests/src/ExistingSite/JoinupExistingSiteTestBase.php
@@ -13,7 +13,7 @@
 use weitzman\DrupalTestTraits\ExistingSiteBase;
 
 /**
- * Base class for Joinup ExistingSite tests.
+ * Base class for Portal ExistingSite tests.
  */
 abstract class JoinupExistingSiteTestBase extends ExistingSiteBase {
 
diff --git a/web/modules/custom/joinup_test/tests/src/Kernel/JoinupKernelTestBase.php b/web/modules/custom/joinup_test/tests/src/Kernel/JoinupKernelTestBase.php
index 7e5cf90edd..a3b6b30b9a 100644
--- a/web/modules/custom/joinup_test/tests/src/Kernel/JoinupKernelTestBase.php
+++ b/web/modules/custom/joinup_test/tests/src/Kernel/JoinupKernelTestBase.php
@@ -7,7 +7,7 @@
 use Drupal\Tests\rdf_entity\Kernel\RdfKernelTestBase;
 
 /**
- * Provides a base class for entity tests in Joinup.
+ * Provides a base class for entity tests in Portal.
  *
  * This class is not intended for generic kernel tests but only for entity
  * tests. It will be renamed to JoinupEntityKernelTestBase to avoid confusion.
diff --git a/web/modules/custom/joinup_tiles/joinup_tiles.info.yml b/web/modules/custom/joinup_tiles/joinup_tiles.info.yml
index e3a9be44bc..4b11d17f65 100644
--- a/web/modules/custom/joinup_tiles/joinup_tiles.info.yml
+++ b/web/modules/custom/joinup_tiles/joinup_tiles.info.yml
@@ -1,5 +1,5 @@
-name: Joinup Tiles
-description: Tiles components for Joinup
+name: Portal Tiles
+description: Tiles components for Portal
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_tiles/joinup_tiles.module b/web/modules/custom/joinup_tiles/joinup_tiles.module
index bef1dc26e3..7cd44c274b 100644
--- a/web/modules/custom/joinup_tiles/joinup_tiles.module
+++ b/web/modules/custom/joinup_tiles/joinup_tiles.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup Tiles module.
+ * Hook implementations for the Portal Tiles module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_tiles/src/Plugin/views/style/Tiles.php b/web/modules/custom/joinup_tiles/src/Plugin/views/style/Tiles.php
index 5961da2b95..3dbd241ec1 100644
--- a/web/modules/custom/joinup_tiles/src/Plugin/views/style/Tiles.php
+++ b/web/modules/custom/joinup_tiles/src/Plugin/views/style/Tiles.php
@@ -9,7 +9,7 @@
 /**
  * A Views style that renders markup for "Tiles".
  *
- * A "tile" is Joinup terminology for a "card".
+ * A "tile" is Portal terminology for a "card".
  *
  * How to use this:
  * 1. Create a view that uses the 'Tiles' style (called 'format' in the UI).
diff --git a/web/modules/custom/joinup_tour/joinup_tour.info.yml b/web/modules/custom/joinup_tour/joinup_tour.info.yml
index 2a38bff847..022b40110f 100644
--- a/web/modules/custom/joinup_tour/joinup_tour.info.yml
+++ b/web/modules/custom/joinup_tour/joinup_tour.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup Tour'
-description: 'Contains tours for Joinup.'
+name: 'Portal Tour'
+description: 'Contains tours for Portal.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_tour/joinup_tour.module b/web/modules/custom/joinup_tour/joinup_tour.module
index 8a488e4ca5..0e89e66b1e 100644
--- a/web/modules/custom/joinup_tour/joinup_tour.module
+++ b/web/modules/custom/joinup_tour/joinup_tour.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup Tour module.
+ * Hook implementations for the Portal Tour module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_tour/src/TourHelper.php b/web/modules/custom/joinup_tour/src/TourHelper.php
index 631274e05d..23750b91bc 100644
--- a/web/modules/custom/joinup_tour/src/TourHelper.php
+++ b/web/modules/custom/joinup_tour/src/TourHelper.php
@@ -8,7 +8,7 @@
 use Drupal\Core\Routing\RouteMatchInterface;
 
 /**
- * Helper methods for dealing with tours on Joinup.
+ * Helper methods for dealing with tours on Portal.
  */
 class TourHelper implements TourHelperInterface {
 
diff --git a/web/modules/custom/joinup_tour/src/TourHelperInterface.php b/web/modules/custom/joinup_tour/src/TourHelperInterface.php
index 2b0ca49d91..45c82fdfc3 100644
--- a/web/modules/custom/joinup_tour/src/TourHelperInterface.php
+++ b/web/modules/custom/joinup_tour/src/TourHelperInterface.php
@@ -5,7 +5,7 @@
 namespace Drupal\joinup_tour;
 
 /**
- * Helper methods for dealing with tours on Joinup.
+ * Helper methods for dealing with tours on Portal.
  */
 interface TourHelperInterface {
 
diff --git a/web/modules/custom/joinup_user/config/install/joinup_user.mail.yml b/web/modules/custom/joinup_user/config/install/joinup_user.mail.yml
index 8b7b3c09be..c91df72750 100644
--- a/web/modules/custom/joinup_user/config/install/joinup_user.mail.yml
+++ b/web/modules/custom/joinup_user/config/install/joinup_user.mail.yml
@@ -1,6 +1,6 @@
 email_admin_update:
-  body: "Dear [user:display-name],\n\nA moderator has edited your user profile on Joinup. Please check your profile to verify the changes done.\n\nKind regards,\n\nThe Portal Support Team"
+  body: "Dear [user:display-name],\n\nA moderator has edited your user profile on Portal. Please check your profile to verify the changes done.\n\nKind regards,\n\nThe Portal Support Team"
   subject: 'The Portal Support Team updated your account for you at [site:name]'
 password_reset_confirm:
   subject: 'Your password has been changed'
-  body: "Dear [user:field_user_first_name],\n\nYour Joinup password has been successfully changed.\n\nKind regards,\n\nThe Portal Support Team"
+  body: "Dear [user:field_user_first_name],\n\nYour Portal password has been successfully changed.\n\nKind regards,\n\nThe Portal Support Team"
diff --git a/web/modules/custom/joinup_user/config/schema/joinup_user.schema.yml b/web/modules/custom/joinup_user/config/schema/joinup_user.schema.yml
index b0867b2319..37851d5bf3 100644
--- a/web/modules/custom/joinup_user/config/schema/joinup_user.schema.yml
+++ b/web/modules/custom/joinup_user/config/schema/joinup_user.schema.yml
@@ -1,4 +1,4 @@
-# Schema for the configuration files of the Joinup user module.
+# Schema for the configuration files of the Portal user module.
 joinup_user.mail:
   type: config_object
   label: 'Email settings'
@@ -16,4 +16,4 @@ views.filter.user_tristate_status:
 
 views.field.joinup_user_bulk_form:
   type: views.field.user_bulk_form
-  label: 'Joinup user operations bulk form'
+  label: 'Portal user operations bulk form'
diff --git a/web/modules/custom/joinup_user/joinup_user.info.yml b/web/modules/custom/joinup_user/joinup_user.info.yml
index 7f40753e9d..11a00a18be 100644
--- a/web/modules/custom/joinup_user/joinup_user.info.yml
+++ b/web/modules/custom/joinup_user/joinup_user.info.yml
@@ -1,7 +1,7 @@
-name: 'Joinup user'
+name: 'Portal user'
 description: 'User profile fields, user notifications, ...'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_user/joinup_user.install b/web/modules/custom/joinup_user/joinup_user.install
index 6bd4560b5b..d26cc369c3 100644
--- a/web/modules/custom/joinup_user/joinup_user.install
+++ b/web/modules/custom/joinup_user/joinup_user.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install functions of the Joinup user module.
+ * Install functions of the Portal user module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_user/joinup_user.module b/web/modules/custom/joinup_user/joinup_user.module
index b721c4bad5..5ca6bfb0a9 100644
--- a/web/modules/custom/joinup_user/joinup_user.module
+++ b/web/modules/custom/joinup_user/joinup_user.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main functions and hook implementations of the Joinup user module.
+ * Main functions and hook implementations of the Portal user module.
  */
 
 declare(strict_types=1);
@@ -152,7 +152,7 @@ function joinup_user_mail_alter(&$message): void {
     $moderation_text = '</p><p>';
   }
   else {
-    $moderation_text = '</p><p>This action has been done in the framework of moderation activities regularly conducted on the Joinup platform.</p><p>';
+    $moderation_text = '</p><p>This action has been done in the framework of moderation activities regularly conducted on the Portal platform.</p><p>';
   }
 
   $message['body'] = array_map(function ($text) use ($moderation_text) {
diff --git a/web/modules/custom/joinup_user/src/JoinupUserViewsData.php b/web/modules/custom/joinup_user/src/JoinupUserViewsData.php
index da1e4233b5..0567dc01a9 100644
--- a/web/modules/custom/joinup_user/src/JoinupUserViewsData.php
+++ b/web/modules/custom/joinup_user/src/JoinupUserViewsData.php
@@ -7,7 +7,7 @@
 use Drupal\user\UserViewsData;
 
 /**
- * Provides the views data for the Joinup user entity type.
+ * Provides the views data for the Portal user entity type.
  */
 class JoinupUserViewsData extends UserViewsData {
 
diff --git a/web/modules/custom/joinup_user/src/Plugin/Block/WarningMessageBlock.php b/web/modules/custom/joinup_user/src/Plugin/Block/WarningMessageBlock.php
index a89da4cd46..53065f3202 100644
--- a/web/modules/custom/joinup_user/src/Plugin/Block/WarningMessageBlock.php
+++ b/web/modules/custom/joinup_user/src/Plugin/Block/WarningMessageBlock.php
@@ -17,7 +17,7 @@
 #[Block(
   id: "developer_warning_message",
   admin_label: new TranslatableMarkup("Developers warning message"),
-  category: new TranslatableMarkup("Joinup"),
+  category: new TranslatableMarkup("Portal"),
 )]
 final class WarningMessageBlock extends BlockBase {
 
diff --git a/web/modules/custom/joinup_user/src/Plugin/views/field/JoinupUserBulkForm.php b/web/modules/custom/joinup_user/src/Plugin/views/field/JoinupUserBulkForm.php
index 3afe46e74a..ee5ef04588 100644
--- a/web/modules/custom/joinup_user/src/Plugin/views/field/JoinupUserBulkForm.php
+++ b/web/modules/custom/joinup_user/src/Plugin/views/field/JoinupUserBulkForm.php
@@ -62,7 +62,7 @@ class JoinupUserBulkForm extends RoleDelegationUserBulkForm {
    * @param \Drupal\Core\Session\AccountInterface $currentUser
    *   The currently logged in user.
    * @param \Drupal\joinup_user\JoinupUserNotificationHelperInterface $notificationHelper
-   *   The notification helper for the Joinup User module.
+   *   The notification helper for the Portal User module.
    *
    * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
    * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
diff --git a/web/modules/custom/joinup_validation/joinup_validation.info.yml b/web/modules/custom/joinup_validation/joinup_validation.info.yml
index 4d8f690031..7819a6ee28 100644
--- a/web/modules/custom/joinup_validation/joinup_validation.info.yml
+++ b/web/modules/custom/joinup_validation/joinup_validation.info.yml
@@ -1,5 +1,5 @@
-name: 'Joinup Validation'
-description: 'Validation constraints that are useful for Joinup.'
+name: 'Portal Validation'
+description: 'Validation constraints that are useful for Portal.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_video/joinup_video.info.yml b/web/modules/custom/joinup_video/joinup_video.info.yml
index 032f036189..28b122e787 100644
--- a/web/modules/custom/joinup_video/joinup_video.info.yml
+++ b/web/modules/custom/joinup_video/joinup_video.info.yml
@@ -1,5 +1,5 @@
-name: Joinup video
+name: Portal video
 description: Provides video functionality
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_video/joinup_video.install b/web/modules/custom/joinup_video/joinup_video.install
index a175af52e7..344613ddb9 100644
--- a/web/modules/custom/joinup_video/joinup_video.install
+++ b/web/modules/custom/joinup_video/joinup_video.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Post-update functions for Joinup Video module.
+ * Post-update functions for Portal Video module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_workflow/README.md b/web/modules/custom/joinup_workflow/README.md
index f516e61600..4c60d56f66 100644
--- a/web/modules/custom/joinup_workflow/README.md
+++ b/web/modules/custom/joinup_workflow/README.md
@@ -85,7 +85,7 @@ the module, it needs to be defined in its schema. The structure of the file is:
 #    this action.
 <module_name>.settings:
   type: config_object
-  label: 'Joinup workflow permission settings'
+  label: 'Portal workflow permission settings'
   mapping:
     transitions:
       type: sequence
diff --git a/web/modules/custom/joinup_workflow/joinup_workflow.info.yml b/web/modules/custom/joinup_workflow/joinup_workflow.info.yml
index b431abb707..1079c96f7a 100644
--- a/web/modules/custom/joinup_workflow/joinup_workflow.info.yml
+++ b/web/modules/custom/joinup_workflow/joinup_workflow.info.yml
@@ -1,5 +1,5 @@
-name: Joinup Workflow
-description: Shared code for handling workflows in Joinup.
+name: Portal Workflow
+description: Shared code for handling workflows in Portal.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_workflow/joinup_workflow.module b/web/modules/custom/joinup_workflow/joinup_workflow.module
index f0e8a02426..6fc173ebc7 100644
--- a/web/modules/custom/joinup_workflow/joinup_workflow.module
+++ b/web/modules/custom/joinup_workflow/joinup_workflow.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Joinup workflow module.
+ * Hook implementations for the Portal workflow module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/legal/joinup_legal.info.yml b/web/modules/custom/legal/joinup_legal.info.yml
index 6e0b6deb42..5972e5e622 100644
--- a/web/modules/custom/legal/joinup_legal.info.yml
+++ b/web/modules/custom/legal/joinup_legal.info.yml
@@ -1,7 +1,7 @@
 name: Legal
-description: 'Deals with the legal aspects of using Joinup as an end-user.'
+description: 'Deals with the legal aspects of using Portal as an end-user.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/legal/joinup_legal.install b/web/modules/custom/legal/joinup_legal.install
index 072ed12cac..95b2ae1321 100644
--- a/web/modules/custom/legal/joinup_legal.install
+++ b/web/modules/custom/legal/joinup_legal.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update and uninstall functionality for Joinup Legal module.
+ * Install, update and uninstall functionality for Portal Legal module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/legal/joinup_legal.module b/web/modules/custom/legal/joinup_legal.module
index c52851a6e3..74a2de5120 100644
--- a/web/modules/custom/legal/joinup_legal.module
+++ b/web/modules/custom/legal/joinup_legal.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains the Joinup Legal module main file.
+ * Contains the Portal Legal module main file.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/moderation/moderation.info.yml b/web/modules/custom/moderation/moderation.info.yml
index 98fb8c8100..dfe184d4df 100644
--- a/web/modules/custom/moderation/moderation.info.yml
+++ b/web/modules/custom/moderation/moderation.info.yml
@@ -1,7 +1,7 @@
 name: Moderation
 description: Provides a moderation overview.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/oe_gisco_geocoding/README.md b/web/modules/custom/oe_gisco_geocoding/README.md
index 97e562c459..fed739f64b 100644
--- a/web/modules/custom/oe_gisco_geocoding/README.md
+++ b/web/modules/custom/oe_gisco_geocoding/README.md
@@ -1,2 +1,2 @@
-This module is temporarily hosted in Joinup but will be moved in OpenEuropa
+This module is temporarily hosted in Portal but will be moved in OpenEuropa
 space. See https://github.com/openeuropa/oe_gisco_geocoding/pull/1.
diff --git a/web/modules/custom/owner/owner.info.yml b/web/modules/custom/owner/owner.info.yml
index 8e3022618a..00e519eae5 100644
--- a/web/modules/custom/owner/owner.info.yml
+++ b/web/modules/custom/owner/owner.info.yml
@@ -1,7 +1,7 @@
 name: Owner
-description: 'Provides Owners for the Joinup project.'
+description: 'Provides Owners for the Portal project.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/owner/src/Entity/OwnerInterface.php b/web/modules/custom/owner/src/Entity/OwnerInterface.php
index 5813adae0a..1912715826 100644
--- a/web/modules/custom/owner/src/Entity/OwnerInterface.php
+++ b/web/modules/custom/owner/src/Entity/OwnerInterface.php
@@ -9,7 +9,7 @@
 use Drupal\node\NodeInterface;
 
 /**
- * Interface for owner entities in Joinup.
+ * Interface for owner entities in Portal.
  */
 interface OwnerInterface extends NodeInterface, EntityWorkflowStateInterface, RdfSyncEntityInterface {
 
diff --git a/web/modules/custom/solution/solution.info.yml b/web/modules/custom/solution/solution.info.yml
index fe062e45ec..273dfeebd3 100644
--- a/web/modules/custom/solution/solution.info.yml
+++ b/web/modules/custom/solution/solution.info.yml
@@ -1,7 +1,7 @@
 name: Solution
 description: 'The interoperability solution RDF entity.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/solution/src/Entity/SolutionInterface.php b/web/modules/custom/solution/src/Entity/SolutionInterface.php
index b8c355a039..20e173d9b6 100644
--- a/web/modules/custom/solution/src/Entity/SolutionInterface.php
+++ b/web/modules/custom/solution/src/Entity/SolutionInterface.php
@@ -18,7 +18,7 @@
 use Drupal\rdf_entity\RdfInterface;
 
 /**
- * Interface for solution entities in Joinup.
+ * Interface for solution entities in Portal.
  */
 interface SolutionInterface extends RdfInterface, CollectionContentInterface, EntityPublicationTimeInterface, EntityWorkflowStateInterface, FeaturedContentInterface, PinnableGroupContentInterface, GroupInterface, DistributionsParentInterface, ArchivableEntityInterface, DescriptionInterface, AbstractInterface {
 
diff --git a/web/modules/custom/solution/src/EventSubscriber/SolutionGroupSubscriber.php b/web/modules/custom/solution/src/EventSubscriber/SolutionGroupSubscriber.php
index 4956a2aa58..adfda2fc15 100644
--- a/web/modules/custom/solution/src/EventSubscriber/SolutionGroupSubscriber.php
+++ b/web/modules/custom/solution/src/EventSubscriber/SolutionGroupSubscriber.php
@@ -9,7 +9,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Joinup Group events.
+ * Subscribes to Portal Group events.
  */
 class SolutionGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/solution/src/Form/ChangeCollectionForm.php b/web/modules/custom/solution/src/Form/ChangeCollectionForm.php
index 448947364e..5ed1e57122 100644
--- a/web/modules/custom/solution/src/Form/ChangeCollectionForm.php
+++ b/web/modules/custom/solution/src/Form/ChangeCollectionForm.php
@@ -41,7 +41,7 @@ class ChangeCollectionForm extends FormBase {
   protected $selectionPluginManager;
 
   /**
-   * The Joinup logger channel.
+   * The Portal logger channel.
    *
    * @var \Drupal\Core\Logger\LoggerChannelInterface
    */
diff --git a/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php b/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php
index c075e4b982..7c1de909f1 100644
--- a/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php
+++ b/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php
@@ -153,7 +153,7 @@ public function submitForm(array &$form, FormStateInterface $form_state): void {
         )
       );
 
-      // In Joinup, Search API indexes are updated "immediately". Actually, this
+      // In Portal, Search API indexes are updated "immediately". Actually, this
       // means that when an indexed entity is changed (or an entity is added) in
       // a PHP thread, re-indexing is triggered by
       // \Drupal\search_api\Utility\PostRequestIndexing after the response is
diff --git a/web/modules/custom/template_suggestion/template_suggestion.info.yml b/web/modules/custom/template_suggestion/template_suggestion.info.yml
index 8a84a0d94b..c88ef9b7d8 100644
--- a/web/modules/custom/template_suggestion/template_suggestion.info.yml
+++ b/web/modules/custom/template_suggestion/template_suggestion.info.yml
@@ -1,5 +1,5 @@
 name: 'Template suggestion'
 description: 'Allows fields to declare custom template suggestions in third party settings.'
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/topic/src/Entity/TopicInterface.php b/web/modules/custom/topic/src/Entity/TopicInterface.php
index fd3383744f..fb2fec126b 100644
--- a/web/modules/custom/topic/src/Entity/TopicInterface.php
+++ b/web/modules/custom/topic/src/Entity/TopicInterface.php
@@ -8,6 +8,6 @@
 use Drupal\taxonomy\TermInterface;
 
 /**
- * Interface for topic entities in Joinup.
+ * Interface for topic entities in Portal.
  */
 interface TopicInterface extends TermInterface, RdfSyncEntityInterface {}
diff --git a/web/modules/custom/topic/src/Entity/TopicMetaEntityInterface.php b/web/modules/custom/topic/src/Entity/TopicMetaEntityInterface.php
index 794bf4b98a..07d2941ea6 100644
--- a/web/modules/custom/topic/src/Entity/TopicMetaEntityInterface.php
+++ b/web/modules/custom/topic/src/Entity/TopicMetaEntityInterface.php
@@ -7,7 +7,7 @@
 use Drupal\meta_entity\Entity\MetaEntityInterface;
 
 /**
- * Interface for meta entity topic in Joinup.
+ * Interface for meta entity topic in Portal.
  */
 interface TopicMetaEntityInterface extends MetaEntityInterface {
 }
diff --git a/web/modules/custom/topic/src/EventSubscriber/QueryPresetSubscriber.php b/web/modules/custom/topic/src/EventSubscriber/QueryPresetSubscriber.php
index 3cef2534f0..b4ff71b221 100644
--- a/web/modules/custom/topic/src/EventSubscriber/QueryPresetSubscriber.php
+++ b/web/modules/custom/topic/src/EventSubscriber/QueryPresetSubscriber.php
@@ -10,7 +10,7 @@
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 
 /**
- * Joinup Topic event subscriber.
+ * Portal Topic event subscriber.
  */
 class QueryPresetSubscriber implements EventSubscriberInterface {
 
diff --git a/web/modules/custom/topic/topic.info.yml b/web/modules/custom/topic/topic.info.yml
index 25fb7bdd24..882d42ab08 100644
--- a/web/modules/custom/topic/topic.info.yml
+++ b/web/modules/custom/topic/topic.info.yml
@@ -1,7 +1,7 @@
-name: Joinup Topic
+name: Portal Topic
 type: module
 description: Contains custom code related to the Topic vocabulary.
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - joinup:joinup_taxonomy
diff --git a/web/modules/custom/topic/topic.views.inc b/web/modules/custom/topic/topic.views.inc
index 4c1f1817c6..76c5e8ab78 100644
--- a/web/modules/custom/topic/topic.views.inc
+++ b/web/modules/custom/topic/topic.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Views support for Joinup Topic module.
+ * Views support for Portal Topic module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/whats_new/whats_new.info.yml b/web/modules/custom/whats_new/whats_new.info.yml
index f65d88a4d2..0911e58bc5 100644
--- a/web/modules/custom/whats_new/whats_new.info.yml
+++ b/web/modules/custom/whats_new/whats_new.info.yml
@@ -1,7 +1,7 @@
 name: Whats new
 description: Provides a way to feature a menu item and remember users that visited the entity linked.
 type: module
-package: Joinup
+package: Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/whats_new/whats_new.module b/web/modules/custom/whats_new/whats_new.module
index 3e06baf4cc..61c118ca02 100644
--- a/web/modules/custom/whats_new/whats_new.module
+++ b/web/modules/custom/whats_new/whats_new.module
@@ -24,7 +24,7 @@ function whats_new_entity_prepare_view(string $entity_type_id, array $entities,
     return;
   }
 
-  // The only case in Joinup that the entity is presented in full view is the
+  // The only case in Portal that the entity is presented in full view is the
   // entity's canonical page.
   /** @var \Drupal\Core\Entity\EntityInterface $entity */
   $entity = reset($entities);
diff --git a/web/profiles/joinup/joinup.info.yml b/web/profiles/joinup/joinup.info.yml
index bd9296bb66..a15b4be3b1 100644
--- a/web/profiles/joinup/joinup.info.yml
+++ b/web/profiles/joinup/joinup.info.yml
@@ -1,10 +1,10 @@
-name: Joinup
+name: Portal
 type: profile
-description: 'Joinup is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other.'
+description: 'Portal is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other.'
 core_version_requirement: ">= 9.4"
 
 distribution:
-  name: Joinup
+  name: Portal
 themes:
   - ventuno
   - iop
diff --git a/web/profiles/joinup/joinup.links.menu.yml b/web/profiles/joinup/joinup.links.menu.yml
index e4b2dd3c29..4b1a93f9b5 100644
--- a/web/profiles/joinup/joinup.links.menu.yml
+++ b/web/profiles/joinup/joinup.links.menu.yml
@@ -1,7 +1,7 @@
 joinup.admin_reporting:
   route_name: joinup.admin_reporting
   parent: system.admin
-  description: 'Access Joinup reports.'
+  description: 'Access Portal reports.'
   title: 'Reporting'
   weight: 75
 
diff --git a/web/profiles/joinup/joinup.permissions.yml b/web/profiles/joinup/joinup.permissions.yml
index 9df01895d9..133b1d2bde 100644
--- a/web/profiles/joinup/joinup.permissions.yml
+++ b/web/profiles/joinup/joinup.permissions.yml
@@ -5,8 +5,8 @@
   title: 'Alter parent groups of group content'
 
 access joinup reports:
-  title: 'Access Joinup reports'
-  description: 'Users granted with this permission are able to access the Joinup reports.'
+  title: 'Access Portal reports'
+  description: 'Users granted with this permission are able to access the Portal reports.'
 
 # Move in joinup_reports module in ISAICP-7180.
 # See https://citnet.tech.ec.europa.eu/CITnet/jira/browse/ISAICP-7180.
diff --git a/web/profiles/joinup/joinup.profile b/web/profiles/joinup/joinup.profile
index 723dd76a22..80ca8919e4 100644
--- a/web/profiles/joinup/joinup.profile
+++ b/web/profiles/joinup/joinup.profile
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Enables modules and site configuration for the Joinup profile.
+ * Enables modules and site configuration for the Portal profile.
  */
 
 declare(strict_types=1);
diff --git a/web/profiles/joinup/joinup.routing.yml b/web/profiles/joinup/joinup.routing.yml
index d8d055d510..904f8b1f32 100644
--- a/web/profiles/joinup/joinup.routing.yml
+++ b/web/profiles/joinup/joinup.routing.yml
@@ -1,6 +1,6 @@
-# The route definition of the Collection propose form is located in the Joinup
+# The route definition of the Collection propose form is located in the Portal
 # profile rather than in the Collection module to avoid a circular dependency.
-# This route depends on the JoinupController, but Joinup already depends on the
+# This route depends on the JoinupController, but Portal already depends on the
 # Collection module.
 rdf_entity.propose_form:
   path: '/propose/{rdf_type}'
diff --git a/web/profiles/joinup/src/Controller/JoinupController.php b/web/profiles/joinup/src/Controller/JoinupController.php
index 4e8e8320a7..9ddbfb6e9b 100644
--- a/web/profiles/joinup/src/Controller/JoinupController.php
+++ b/web/profiles/joinup/src/Controller/JoinupController.php
@@ -10,7 +10,7 @@
 use Drupal\rdf_entity\RdfEntityTypeInterface;
 
 /**
- * Provides route responses for Joinup.
+ * Provides route responses for Portal.
  */
 class JoinupController extends ControllerBase {
 
diff --git a/web/profiles/joinup/src/JoinupPermissions.php b/web/profiles/joinup/src/JoinupPermissions.php
index f2afb318fa..27e85eaa07 100644
--- a/web/profiles/joinup/src/JoinupPermissions.php
+++ b/web/profiles/joinup/src/JoinupPermissions.php
@@ -8,7 +8,7 @@
 use Drupal\rdf_entity\Entity\RdfEntityType;
 
 /**
- * Provides dynamic permissions for the Joinup installation profile.
+ * Provides dynamic permissions for the Portal installation profile.
  */
 class JoinupPermissions {
 
@@ -17,7 +17,7 @@ class JoinupPermissions {
   /**
    * Returns an array of permissions related to Rdf types.
    *
-   * The Joinup profile alters a new form display mode into the Rdf entity type,
+   * The Portal profile alters a new form display mode into the Rdf entity type,
    * and this provides permissions to use those forms for each type.
    *
    * @return array
diff --git a/web/profiles/joinup/src/Routing/RouteSubscriber.php b/web/profiles/joinup/src/Routing/RouteSubscriber.php
index 2e163ece28..e6cd92ad07 100644
--- a/web/profiles/joinup/src/Routing/RouteSubscriber.php
+++ b/web/profiles/joinup/src/Routing/RouteSubscriber.php
@@ -8,7 +8,7 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Alters existing routes for Joinup specific use cases.
+ * Alters existing routes for Portal specific use cases.
  */
 class RouteSubscriber extends RouteSubscriberBase {
 
@@ -16,7 +16,7 @@ class RouteSubscriber extends RouteSubscriberBase {
    * {@inheritdoc}
    */
   protected function alterRoutes(RouteCollection $collection) {
-    // Since all content in Joinup is related to a collection we use custom
+    // Since all content in Portal is related to a collection we use custom
     // forms that allow people to add content inside a collection. The standard
     // node / RDF entity forms should not be used for creating new content - the
     // group audience fields are hidden and dangling content would be created
diff --git a/web/profiles/joinup/templates/joinup-eligibility-criteria.html.twig b/web/profiles/joinup/templates/joinup-eligibility-criteria.html.twig
index d98573582c..5ff2599917 100644
--- a/web/profiles/joinup/templates/joinup-eligibility-criteria.html.twig
+++ b/web/profiles/joinup/templates/joinup-eligibility-criteria.html.twig
@@ -7,11 +7,11 @@
 {% trans %}
 <div class="eligibility-criteria">
     <p>
-        The eligibility criteria for Joinup's interoperability solutions have
+        The eligibility criteria for Portal's interoperability solutions have
         been redefined. The litmus test considers language, licence, relevance,
         quality, Interface &amp; Location (Services) and Unicity of
-        interoperability solutions submitted for inclusion in the Joinup
-        catalogue. By overhauling the Joinup catalogue qualification process we
+        interoperability solutions submitted for inclusion in the Portal
+        catalogue. By overhauling the Portal catalogue qualification process we
         aim to ensure that we list only relevant and reusable solutions in the
         Catalogue. In addition to the criteria, you will also find some
         guidelines below to help you describe the solutions in a way which
@@ -20,7 +20,7 @@
     <h2>The criteria</h2>
     <p>
         We use the term solution to refer to services, specifications, and
-        software. The Joinup catalogue will only accept solutions that meet
+        software. The Portal catalogue will only accept solutions that meet
         these criteria:
     </p>
     <dl>
@@ -42,7 +42,7 @@
         </dd>
         <dt>Relevance</dt>
         <dd>
-            The Joinup catalogue lists solutions that are relevant for public
+            The Portal catalogue lists solutions that are relevant for public
             administrations. The solution MUST be, or be planned to be used by
             at least one public administration. The solution provider SHOULD
             explain the link between the solution and a public administration.
@@ -54,7 +54,7 @@
         <dt>Quality</dt>
         <dd>
             To ensure the basic quality of the interoperability solutions on the
-            Joinup catalogue, the solutions MUST be described in conformance to
+            Portal catalogue, the solutions MUST be described in conformance to
             the latest official release of <a href="https://interoperable-europe.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup">ADMS-AP</a>.
             The description SHALL also follow the compliance guidelines defined
             below as closely as possible.
diff --git a/web/profiles/joinup/templates/joinup-modal-close-button.html.twig b/web/profiles/joinup/templates/joinup-modal-close-button.html.twig
index dd9ac654d6..14fd698088 100644
--- a/web/profiles/joinup/templates/joinup-modal-close-button.html.twig
+++ b/web/profiles/joinup/templates/joinup-modal-close-button.html.twig
@@ -1,7 +1,7 @@
 {#
 /**
  * @file
- * The Joinup Modal Close Buttonâ„¢.
+ * The Portal Modal Close Buttonâ„¢.
  */
 #}
 {%
diff --git a/web/themes/ventuno/README.md b/web/themes/ventuno/README.md
index 745fe4a83f..5de8afc4e5 100755
--- a/web/themes/ventuno/README.md
+++ b/web/themes/ventuno/README.md
@@ -1,6 +1,6 @@
-# Ventuno for Joinup theme
+# Ventuno for Portal theme
 
-Custom theme for Joinup. Built on the [OpenEuropa Bootstrap
+Custom theme for Portal. Built on the [OpenEuropa Bootstrap
 theme](https://github.com/openeuropa/oe_bootstrap_theme).
 
 The recommended development workflow is to use Docker. See the main README file
@@ -28,7 +28,7 @@ you will need to install the following dependencies:
 
 The code is publicly available at
 [https://git.fpfis.tech.ec.europa.eu/ec-europa/digit-joinup-reference](https://git.fpfis.tech.ec.europa.eu/ec-europa/digit-joinup-reference)
-as part of the Joinup project. The development is coordinated in a private Jira
+as part of the Portal project. The development is coordinated in a private Jira
 instance: [https://citnet.tech.ec.europa.eu/CITnet/jira/projects/ISAICP](https://citnet.tech.ec.europa.eu/CITnet/jira/projects/ISAICP).
 
 When frontend development is requested, in most cases this will be preceded by a
@@ -36,7 +36,7 @@ backend ticket that will be developed first. After the backend work is reviewed
 and approved in user acceptance testing a separate frontend sister ticket is
 created. Since the backend and frontend will need to be delivered to production
 simultaneously, the frontend ticket will be forked off the branch that contains
-the backend functionality. In Joinup parlance the combination of both tickets is
+the backend functionality. In Portal parlance the combination of both tickets is
 called a "mini-epic". Once the FE ticket is reviewed and accepted, both will be
 merged into the `develop` branch to be included in the next release.
 
@@ -102,7 +102,7 @@ directory.
 
 ## Notes
 
-This guide should be expanded with more practices used by the Joinup project.
+This guide should be expanded with more practices used by the Portal project.
 Things possibly missing:
 * Better way to be able to view BCL components and understand how to interact
 with them.
diff --git a/web/themes/ventuno/includes/layout.inc b/web/themes/ventuno/includes/layout.inc
index a9315f3ab5..bd36ea08e3 100644
--- a/web/themes/ventuno/includes/layout.inc
+++ b/web/themes/ventuno/includes/layout.inc
@@ -16,7 +16,7 @@
  * Implements hook_preprocess_page().
  */
 function ventuno_preprocess_page(array &$variables): void {
-  // Retrieve the Joinup version and link to display in the footer.
+  // Retrieve the Portal version and link to display in the footer.
   // @todo Move this into a block.
   /** @var \Drupal\joinup_core\JoinupVersionInterface $joinup_version */
   $joinup_version = \Drupal::service('joinup_core.joinup_version');
@@ -46,7 +46,7 @@ function ventuno_preprocess_page(array &$variables): void {
   // Populate the links shown to anonymous users.
   $variables['anonymous_links'] = $menu_helper->getBclAnonymousMenu();
 
-  // The "About us" link is only shown if the Joinup collection exists.
+  // The "About us" link is only shown if the Portal collection exists.
   $variables['#cache']['tags'][] = 'joinup_collection:exists';
   // Moderator can change navbar links.
   $variables['#cache']['tags'][] = 'config:system.menu.navbar';
diff --git a/web/themes/ventuno/includes/licence_assistant.inc b/web/themes/ventuno/includes/licence_assistant.inc
index 81ea6fa94f..6459036eab 100644
--- a/web/themes/ventuno/includes/licence_assistant.inc
+++ b/web/themes/ventuno/includes/licence_assistant.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Joinup Licencing Assistant specific procedural functions.
+ * Portal Licencing Assistant specific procedural functions.
  */
 
 declare(strict_types=1);
@@ -19,7 +19,7 @@ function ventuno_preprocess_licence_filter_list(array &$variables): void {
  * Implements hook_preprocess_HOOK().
  *
  * Provides variables needed for the compatibility_check view mode of licences.
- * This is used on the Joinup Licence Assistant Compatibility Check overview
+ * This is used on the Portal Licence Assistant Compatibility Check overview
  * page.
  */
 function ventuno_preprocess_node__licence__compatibility_check(array &$variables): void {
@@ -49,7 +49,7 @@ function ventuno_preprocess_node__licence__jla(array &$variables): void {
  * Implements hook_preprocess_HOOK().
  *
  * Provides variables needed for the search_list_item view mode of licences.
- * This is used on the Joinup Licence Assistant overview page.
+ * This is used on the Portal Licence Assistant overview page.
  */
 function ventuno_preprocess_node__licence__view_mode_search_list_item(array &$variables): void {
   ventuno_preprocess_node__licence__jla($variables);
diff --git a/web/themes/ventuno/includes/rdf_entity.inc b/web/themes/ventuno/includes/rdf_entity.inc
index bea03386c8..07ed865deb 100644
--- a/web/themes/ventuno/includes/rdf_entity.inc
+++ b/web/themes/ventuno/includes/rdf_entity.inc
@@ -77,7 +77,7 @@ function ventuno_preprocess_rdf_entity__solution__view_mode_search_list_item(arr
   }
 
   // Provides variables needed for the search_list_item view mode of licences.
-  // This is used on the Joinup Licence Assistant overview page.
+  // This is used on the Portal Licence Assistant overview page.
   $data_property_categories = [];
 
   $parent_id = 'solution-category';
diff --git a/web/themes/ventuno/src/scss/partials/overrides/_colors.scss b/web/themes/ventuno/src/scss/partials/overrides/_colors.scss
index 24dfc6bf1a..eb3bcbff06 100644
--- a/web/themes/ventuno/src/scss/partials/overrides/_colors.scss
+++ b/web/themes/ventuno/src/scss/partials/overrides/_colors.scss
@@ -37,7 +37,7 @@ $gray-700: #555859;
 $gray-800: #3d3f40;
 $gray-900: #242626;
 
-// Joinup colors
+// Portal colors
 $joinup-green: #067f77;
 $joinup-brown: #7f7366;
 $joinup-red: #cd4747;
diff --git a/web/themes/ventuno/templates/block/block--exposed-search.html.twig b/web/themes/ventuno/templates/block/block--exposed-search.html.twig
index 293ed53e6d..05947a2c10 100644
--- a/web/themes/ventuno/templates/block/block--exposed-search.html.twig
+++ b/web/themes/ventuno/templates/block/block--exposed-search.html.twig
@@ -24,7 +24,7 @@
 %}
 <div{{ attributes.addClass(classes) }}>
   <div class="col-8 offset-2 col-md-7 offset-md-0 col-lg-6 mb-4">
-    <img src="{{ file_url('themes/ventuno/assets/images/logo.svg') }}" class="img-fluid" alt="Joinup logo" width="336" height="86">
+    <img src="{{ file_url('themes/ventuno/assets/images/logo.svg') }}" class="img-fluid" alt="Portal logo" width="336" height="86">
   </div>
   <div class="col-12 order-md-2">
     <div class="search-bar mb-3 px-2 ps-md-0 pe-md-5">
diff --git a/web/themes/ventuno/templates/form/share-content-form.html.twig b/web/themes/ventuno/templates/form/share-content-form.html.twig
index 71ac902844..7991f6ff49 100644
--- a/web/themes/ventuno/templates/form/share-content-form.html.twig
+++ b/web/themes/ventuno/templates/form/share-content-form.html.twig
@@ -19,7 +19,7 @@
       {{ form.share }}
     </div>
     <div>
-      <h3 class="fs-6">{{ 'Other groups on Joinup'|t }}</h3>
+      <h3 class="fs-6">{{ 'Other groups on Portal'|t }}</h3>
       {{ form|without('share') }}
     </div>
   </div>
diff --git a/web/themes/ventuno/templates/layout/page--home.html.twig b/web/themes/ventuno/templates/layout/page--home.html.twig
index 2228935321..f412e6c7ae 100644
--- a/web/themes/ventuno/templates/layout/page--home.html.twig
+++ b/web/themes/ventuno/templates/layout/page--home.html.twig
@@ -14,7 +14,7 @@
  * Once we have a way to leverage layouts in dedicated regions (such as support
  * in core or when the Layout Builder Everywhere module is stabilized) we can
  * replace this overridden template with the Layout Builder + the
- * `twocolfooter-onecol-67-33` layout from the Joinup Layout module.
+ * `twocolfooter-onecol-67-33` layout from the Portal Layout module.
  *
  * @see https://www.drupal.org/project/drupal/issues/2924058
  * @see https://www.drupal.org/project/lb_everywhere
diff --git a/web/themes/ventuno/templates/layout/page--search.html.twig b/web/themes/ventuno/templates/layout/page--search.html.twig
index 80e4f4b4d0..e6184d91b6 100644
--- a/web/themes/ventuno/templates/layout/page--search.html.twig
+++ b/web/themes/ventuno/templates/layout/page--search.html.twig
@@ -14,7 +14,7 @@
  * Once we have a way to leverage layouts in dedicated regions (such as support
  * in core or when the Layout Builder Everywhere module is stabilized) we can
  * replace this overridden template with the Layout Builder + the
- * `twocolfooter-onecol-67-33` layout from the Joinup Layout module.
+ * `twocolfooter-onecol-67-33` layout from the Portal Layout module.
  *
  * @see https://www.drupal.org/project/drupal/issues/2924058
  * @see https://www.drupal.org/project/lb_everywhere
diff --git a/web/themes/ventuno/templates/message-digest/message-digest.html.twig b/web/themes/ventuno/templates/message-digest/message-digest.html.twig
index 38eca24132..ee3494ab88 100644
--- a/web/themes/ventuno/templates/message-digest/message-digest.html.twig
+++ b/web/themes/ventuno/templates/message-digest/message-digest.html.twig
@@ -159,7 +159,7 @@
           <tr>
             <td style="height: 100px;" class="bg-white fs-sm text-center">
               {% trans %}
-                You received this email because you opted in for Joinup digest messages.<br/>
+                You received this email because you opted in for Portal digest messages.<br/>
                 <a href="{{ subscription_url }}">Manage</a> your subscription notifications or <a href="{{ unsubscription_url }}">unsubscribe</a> from all.<br/>
                 <a href="{{ contact_url }}">Contact us</a>.
               {% endtrans %}
diff --git a/web/themes/ventuno/templates/parts/footer.html.twig b/web/themes/ventuno/templates/parts/footer.html.twig
index d0f65270a0..5d215bf42b 100644
--- a/web/themes/ventuno/templates/parts/footer.html.twig
+++ b/web/themes/ventuno/templates/parts/footer.html.twig
@@ -5,7 +5,7 @@
       <!--Interoperable Europe logo-->
       <div class="col-md-12 col-lg-3 column-logo">
         <p class="joinup-logo"><a href="{{ path('<front>') }}" class="joinup-logo-white mb-3"><span class="visually-hidden">{{ 'Interoperable Europe'|t }}</span></a></p>
-        <p class="joinup-version"><a href="{{ version_url }}" aria-label="{{ 'Joinup version number: '|t }}{{ version }}">{{ version }}</a></p>
+        <p class="joinup-version"><a href="{{ version_url }}" aria-label="{{ 'Portal version number: '|t }}{{ version }}">{{ version }}</a></p>
       </div>
       <h2 class="visually-hidden">{{ 'Useful links'|t }}</h2>
 
diff --git a/web/themes/ventuno/templates/patterns/tile/tile.ui_patterns.yml b/web/themes/ventuno/templates/patterns/tile/tile.ui_patterns.yml
index c2e00b37b2..a67c9e8f78 100644
--- a/web/themes/ventuno/templates/patterns/tile/tile.ui_patterns.yml
+++ b/web/themes/ventuno/templates/patterns/tile/tile.ui_patterns.yml
@@ -1,6 +1,6 @@
 tile:
   label: 'Tile'
-  description: 'Custom version of <a href="https://oelibrary.netlify.app/default/?path=/story/components-card--default" target="_blank">BCL''s card</a> to fit the needs of Joinup tiles display.'
+  description: 'Custom version of <a href="https://oelibrary.netlify.app/default/?path=/story/components-card--default" target="_blank">BCL''s card</a> to fit the needs of Portal tiles display.'
   fields:
     horizontal:
       type: boolean
diff --git a/web/themes/ventuno/templates/swiftmailer/symfony-mailer-lite-email--message-notify--announcement.html.twig b/web/themes/ventuno/templates/swiftmailer/symfony-mailer-lite-email--message-notify--announcement.html.twig
index 5921e9758e..176fd0cc3e 100644
--- a/web/themes/ventuno/templates/swiftmailer/symfony-mailer-lite-email--message-notify--announcement.html.twig
+++ b/web/themes/ventuno/templates/swiftmailer/symfony-mailer-lite-email--message-notify--announcement.html.twig
@@ -105,7 +105,7 @@
         <tr class="bg-light">
           <td class="p-3 fs-sm text-center">
             {% trans %}
-              <p>You received this e-mail because, as a registered user of Joinup and a member of {{ message.group_title }} {{ message.group_type }}, you agreed to receive information sent to you by the {{ message.group_title }} {{ message.group_type }} owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725).</p>
+              <p>You received this e-mail because, as a registered user of Portal and a member of {{ message.group_title }} {{ message.group_type }}, you agreed to receive information sent to you by the {{ message.group_title }} {{ message.group_type }} owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725).</p>
               <p>In case you do not want to receive such e-mails, you can <a href="{{ message.recipient_unsubscribe }}" target="_blank">unsubscribe</a> from group announcement notifications or manage all your subscription notifications from the <a href="{{ message.recipient_subscriptions }}" target="_blank">user subscriptions</a> page.</p>
               <p>This is an unmonitored email address, please do not reply.<br> You can contact directly {{ message.group_title }} {{ message.group_type }} via the <a href="{{ message.group_landing_page }}" target="_blank">Overview</a> page.</p>
             {% endtrans %}
diff --git a/web/themes/ventuno/ventuno.info.yml b/web/themes/ventuno/ventuno.info.yml
index 6933ee1a2b..502c08b7a0 100644
--- a/web/themes/ventuno/ventuno.info.yml
+++ b/web/themes/ventuno/ventuno.info.yml
@@ -1,5 +1,5 @@
 name: Ventuno
-description: Custom theme for Joinup, sub-theme of OpenEuropa Bootstrap Theme.
+description: Custom theme for Portal, sub-theme of OpenEuropa Bootstrap Theme.
 package: Custom
 type: theme
 core_version_requirement: '>=9.3'
-- 
GitLab


From 55a5a5b8c1e8e3722eb21eecba8748a867938136 Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Fri, 25 Oct 2024 16:10:44 +0100
Subject: [PATCH 05/33] ISAICP-8857: Update geocoding cache.

---
 .../-XA6tGXWwV97SPnOT_Ka79mMHixrMVebS9lSPVxfaQY | Bin 0 -> 1829 bytes
 .../0e2p2brZ4HNQ-pl3wd5C7brBgwNYYZLrfkQib6U5CWc | Bin 0 -> 7454 bytes
 .../2oAtVZJDQ2B6Qp0Wz7OSRVKrRUscfynlmLQUAWIrdHc | Bin 0 -> 8551 bytes
 .../CFFByAvqLqwsySVA2Pil2laBQmybSPS8-z9OS968kqM | Bin 0 -> 7355 bytes
 .../DdVcJP_RT3DIzsiJ7_5dZFTgymF3po9NMauiu6GeDVY | Bin 0 -> 4286 bytes
 .../GPYeo5UIE3dwCe9Cb5V22TNGQQ33M7w6VJyDL3JJx0M | Bin 0 -> 10012 bytes
 .../Hk9zX7LQoNmm6bp0WtP6iiWupil9IaE10RiVnFQkDoY | Bin 0 -> 7214 bytes
 .../K1USC41eK-y5vuT2hOJs8ZNWYVSjNcuMLxzVAgwrI4M | Bin 0 -> 9214 bytes
 .../LtJs8O2RhwUzzI6emFHRv8wZ3p2ILtvpXz3eK0xNRnM | Bin 0 -> 8073 bytes
 .../MOEllcRlOcg9imKY23pLdCSz4eYVG2crZ0u_65hdKyU | Bin 0 -> 8873 bytes
 .../ONBoQ6tr4YmXkSMW3oyiqAAWK3Yc7diQsYHzRbePSgs | Bin 0 -> 8756 bytes
 .../SI0zn5hxlmz6e5ejmQ32J0zGeg2TcOJf5skdTnx90Og | Bin 0 -> 8340 bytes
 .../Yhv3B-bwgEbgsQUHtq-XQBUElrgr6o5QpQD523wY_jc | Bin 0 -> 6614 bytes
 .../YifvA3HTZS6XN_SUiXqGXPFKj8Icl_Hk81qZTkMSAt8 | Bin 0 -> 7659 bytes
 .../ZlOM57Qfdvd2JNPluLzZOHmaQ4kbkjR0dk8MSNeyG3A | Bin 0 -> 8585 bytes
 .../azdcVFfZOVp1qkSVe8qn4RDGhjzTTq-6bxoSPyElrtQ | Bin 0 -> 4353 bytes
 .../bOgKRMCM5UkXuWE_CIBuvAsZmCCNS67-d1dgJtE1gvI | Bin 0 -> 7195 bytes
 .../iCCLm2psjefTmUSDX7m_xal6osygEDF0B5yiHEWXPmk | Bin 0 -> 8756 bytes
 .../jAuLuucQHbNck_x3QaXf1_O2YHvrQUkePaWbEUOoDgE | Bin 0 -> 7694 bytes
 .../mDtp8bQ9i4B5SCg3qh93y6-serwvGm7KtyH5hKRl9n8 | Bin 0 -> 9262 bytes
 .../nbkCOA1p3QPDPgZkN1-7dlrSvwkb5Cn4ec4ZUANd7Xk | Bin 0 -> 9825 bytes
 .../qRg31wdsm-haFclYxd1sr7gUKXWcfI9xpZZNDhgmbdY | Bin 0 -> 6816 bytes
 .../qhUxh1AYcS2cZeWN0a8uCz_XqUJiixw6_rR8o7DVefw | Bin 0 -> 7664 bytes
 .../rRd1RWtsoDfVkLOAKR_zVR6fhTkJig1o7-6pG5mTFY8 | Bin 0 -> 10080 bytes
 24 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 tests/fixtures/geocoding/cache/-XA6tGXWwV97SPnOT_Ka79mMHixrMVebS9lSPVxfaQY
 create mode 100644 tests/fixtures/geocoding/cache/0e2p2brZ4HNQ-pl3wd5C7brBgwNYYZLrfkQib6U5CWc
 create mode 100644 tests/fixtures/geocoding/cache/2oAtVZJDQ2B6Qp0Wz7OSRVKrRUscfynlmLQUAWIrdHc
 create mode 100644 tests/fixtures/geocoding/cache/CFFByAvqLqwsySVA2Pil2laBQmybSPS8-z9OS968kqM
 create mode 100644 tests/fixtures/geocoding/cache/DdVcJP_RT3DIzsiJ7_5dZFTgymF3po9NMauiu6GeDVY
 create mode 100644 tests/fixtures/geocoding/cache/GPYeo5UIE3dwCe9Cb5V22TNGQQ33M7w6VJyDL3JJx0M
 create mode 100644 tests/fixtures/geocoding/cache/Hk9zX7LQoNmm6bp0WtP6iiWupil9IaE10RiVnFQkDoY
 create mode 100644 tests/fixtures/geocoding/cache/K1USC41eK-y5vuT2hOJs8ZNWYVSjNcuMLxzVAgwrI4M
 create mode 100644 tests/fixtures/geocoding/cache/LtJs8O2RhwUzzI6emFHRv8wZ3p2ILtvpXz3eK0xNRnM
 create mode 100644 tests/fixtures/geocoding/cache/MOEllcRlOcg9imKY23pLdCSz4eYVG2crZ0u_65hdKyU
 create mode 100644 tests/fixtures/geocoding/cache/ONBoQ6tr4YmXkSMW3oyiqAAWK3Yc7diQsYHzRbePSgs
 create mode 100644 tests/fixtures/geocoding/cache/SI0zn5hxlmz6e5ejmQ32J0zGeg2TcOJf5skdTnx90Og
 create mode 100644 tests/fixtures/geocoding/cache/Yhv3B-bwgEbgsQUHtq-XQBUElrgr6o5QpQD523wY_jc
 create mode 100644 tests/fixtures/geocoding/cache/YifvA3HTZS6XN_SUiXqGXPFKj8Icl_Hk81qZTkMSAt8
 create mode 100644 tests/fixtures/geocoding/cache/ZlOM57Qfdvd2JNPluLzZOHmaQ4kbkjR0dk8MSNeyG3A
 create mode 100644 tests/fixtures/geocoding/cache/azdcVFfZOVp1qkSVe8qn4RDGhjzTTq-6bxoSPyElrtQ
 create mode 100644 tests/fixtures/geocoding/cache/bOgKRMCM5UkXuWE_CIBuvAsZmCCNS67-d1dgJtE1gvI
 create mode 100644 tests/fixtures/geocoding/cache/iCCLm2psjefTmUSDX7m_xal6osygEDF0B5yiHEWXPmk
 create mode 100644 tests/fixtures/geocoding/cache/jAuLuucQHbNck_x3QaXf1_O2YHvrQUkePaWbEUOoDgE
 create mode 100644 tests/fixtures/geocoding/cache/mDtp8bQ9i4B5SCg3qh93y6-serwvGm7KtyH5hKRl9n8
 create mode 100644 tests/fixtures/geocoding/cache/nbkCOA1p3QPDPgZkN1-7dlrSvwkb5Cn4ec4ZUANd7Xk
 create mode 100644 tests/fixtures/geocoding/cache/qRg31wdsm-haFclYxd1sr7gUKXWcfI9xpZZNDhgmbdY
 create mode 100644 tests/fixtures/geocoding/cache/qhUxh1AYcS2cZeWN0a8uCz_XqUJiixw6_rR8o7DVefw
 create mode 100644 tests/fixtures/geocoding/cache/rRd1RWtsoDfVkLOAKR_zVR6fhTkJig1o7-6pG5mTFY8

diff --git a/tests/fixtures/geocoding/cache/-XA6tGXWwV97SPnOT_Ka79mMHixrMVebS9lSPVxfaQY b/tests/fixtures/geocoding/cache/-XA6tGXWwV97SPnOT_Ka79mMHixrMVebS9lSPVxfaQY
new file mode 100644
index 0000000000000000000000000000000000000000..312ddacd84111eca53db9156578fbf31b0ce609c
GIT binary patch
literal 1829
zcmb_dyKdVs6xF8~oZ7*Go|HsQt%d+Wn)Cw#6couiL?zJ>rJzk<pg_0&K$mtbvSjHR
zpnuaE$Y1o5wgcCa6%QE=pL6cvz2{z?lY}7M^1P&4BZA3|CILZAa+GO;LxN^PF~tR$
zNzK%|)h}7kh#z5>MpXDk%J}=xPtr7IfzKGGVd$p3z$uLi*Xn=_r!7U<ISG7%j#rY+
z#TyVVFJ5up2(5EfmV&iX)rfe;M+ioor?5_`7&Rn~GHQ5|xKPI5TL#3fdJyeZcbHNQ
zmo;q#sDc>odCs>G#J61o(5~Aplv9Gsw&Mb2oCMJkj{P`}188y(KS5OW?2+jO=~0Y>
z)Q__TP~ARt-A$)ZUCqJ%nJF>gZG+QoBSd@FRfTBQXc*V-OLow-f_G@*L3qMReyJ)k
z^`~AmIhOS`j2SA9bXRx9DGaTY?I#;Df*!tp{(FCGc`&zqwauhAq?DlLk6(Z8?;gJV
zw!9I~bER8a=8!dm1k0WqPFxpzmN;UR@=DgH;!2b@2Ift@IBpRA^g^NjOZsr<zbX{A
z4<a0x)Qy!x1_x~(Y}clUQyT9mGkSpa#tb?2dZxY3j?>I-FtJ%k5<au(@Nm<xLaPjg
zcBThgj-J_abhu?$$*tHQ=y+k4eh_O<C>*Y?ZW~yu!3&tL|6Ls{e;}Z1#A6sdSgYl?
zpUdxelNTp+PV1MZzhlf*9sono$y;QP)L=$eep^|IYgO9>!OO;$xKUS<3;x>P3=ei=
z=Ys^bOn0EI;^SO4ASubz1GgaB(wY4{xa0;P5Ej-5IPUOm;>3&nG{H%VlcNO3fQPoQ
OOTj+qt}+^Kw)h7+aBZFd

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/0e2p2brZ4HNQ-pl3wd5C7brBgwNYYZLrfkQib6U5CWc b/tests/fixtures/geocoding/cache/0e2p2brZ4HNQ-pl3wd5C7brBgwNYYZLrfkQib6U5CWc
new file mode 100644
index 0000000000000000000000000000000000000000..2875884f5b25c207a02af1602d8de969d8303c54
GIT binary patch
literal 7454
zcmeHM+iu%95cQ`BdXFJWlqk_ptsj!^I%%-k#l93MXo+!%%95c=+HR14?;#~;eUW7w
z2vVm_-i*wR!<jR~qmMk~c3CCkRFtL71O8BQkK3_I>`}=B%I%rV<2;dkrph?~-2776
zj0Ya|g5=hTNkSyOC7u&gDsGc_>M@_i$<&!j;tHniz)T`4VUIp?&*k=cW3u>k3B&29
zcS%ynvK;4WD&tD!nazoggCdZ@KG{K<$3iQW_DFD_KPc|Njl0tgj2r8oztj34&hsKs
znW!YJ!dS2s^LRyqyC!Q8+KhHZYLFtzs!pUmN?>ppxlTYF56SV^9>qMHJ!zgrY#0V!
z;Do{G5xUN{Zkx`*G_SJ+@n2~l9l<T-%BqmEx~k_>S+vr)ug#-uNQ*fRVl4Nhv8<;P
z+)k>h@2xOyWtU-nk1LWrAuRH;66qMVvp)op%vCm#_cAp%sV{x2qLvcd1&H3*4tHC8
zu;xYRdQhC`!s&BoqtQ_1x*>Ku8KgRPd!+3_mh{SI=2l8{f&I7qCUD}tD!R3G79SON
zpE+Q6zxQRp=zxD!nu-{8a(Kv(x&b;fV(<iATxV4QlbvudZvWeKuiJ6et;Ap%rHh*U
zCsUP7teZ+>gO%S}@8+^lF`%vFeKwjrLk1>pY}2}(_ufQask!_w&zAMw*9%2{uM(NO
zH<=^2`3;<gueKK9Z>#i;yHh~KGk?gUAY_c`0yqW{33Z2|7m|RuZ-}_87}UWwrZly+
zhE<ryeGv7_AR;>GLZ+rmyAfjv>Hv*X07L>fx)9&RqMixsueuPaHJO~BGB^@!7}tnb
zSXc6^bzZAX9s`QkIGl#_7X(E!?@k&NJvwy#C=6J5EGRNMWTEHMF#2UN(X2UFb*7hA
z6i(laJoSAMd*Dyq7YXL=A7VbQEs-VGpQ5~*t0t?R+trC-C0>aWab&pOGw-_Q9oL_%
z<rax~`+wE;t31u3m)>*{<A*F!#{l?;s}~1wbBQMn;6wwsM?5$39rI@%aYt>pE*Uyd
zrYvxn!$O}O3g~$Bpt?3T{`U<h07B-W`@PZ#49dK&?le<jPC$I>>Al?Th`d$!D$B~q
z>v$=nj6_<Y<5krvWO=dTfl}reh20*cSn=SyjD^Ic;x#cFVAQyMqf(L0ju~2pK%<0&
zM(J(0H+;_1vm7ZMi+eoFk6Diu|A`}Dy$DWp27o2CukTc<77Oh1hD+*d=Osz9LU3GP
zy!a@f-5gI#TAl*I0U-5#F9;&X*XwEr&aIKftDG;<m<pOB^gW76KwIEDfcky58Gz6!
z4fOOnbOsPF3L>L$*bIP&FeG}9>hZ8P0|*UhLxR7$5pXHK;A_A!BVZrZ{#&v-1k2y0
ztcu*a6d9)KYZ?G6CGa)?dSCAcFx>im1Q3wl7OKD+p!k_a9#8_6m|=1W?(heQ0CeL*
kg1N`XO{})e1-B9criLWaA1eS<@tusnl=WQOa7K?m04Srs+yDRo

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/2oAtVZJDQ2B6Qp0Wz7OSRVKrRUscfynlmLQUAWIrdHc b/tests/fixtures/geocoding/cache/2oAtVZJDQ2B6Qp0Wz7OSRVKrRUscfynlmLQUAWIrdHc
new file mode 100644
index 0000000000000000000000000000000000000000..2a30f02ea1a77f0e5064628ddcce62e06c525067
GIT binary patch
literal 8551
zcmeHNOK;ma5cW?IbWb3Pk|@%r#0%`9Z3=AKOHrVpCC1@a76Vbrb{pis?~s!G68!?Q
zY2Er5csMg0&dfL8DDPRyd|l_0f@|%wggt47nV-qrA8VFG%%2IBsa&v`)S3Fy{w2#9
zLueWW0uz*wnB1j#7EfsuA)2Kb&hBDDgMbDo&5RyUlk=MU<M#}Q%>T1hS$%#7ii^)z
zd0q*vC#on!R!dd-3>iNnaAdSkc2ua0n?u?ka~88F$pSDFZZ!kSt#%x5)jrCUs&ZNK
zT7XtimJEEJtVpoXMh%2Ey<L$S72svv<ia24>>{}&1mPe?F+>NGJttK;TO7soGDK-g
z0)lCh;xryVgN9(Jp^NHhs+uxyuYm^FxNd)h2ZDHqkP4eOXaz=EHTC_%^N^;9fa9UV
z@$SGsLf1y#x=Tn9hDLt7fl^gV0|_NK*keHOrGYR&QA}(g9FNckLf4fL^-VLMipn3~
zn7~6`ZeDmpn$O|Etn7|-(arQNWMLuee>-8wzHN$4zP6H@A;|DQc;yN0-SUF-xha-i
zUOgyX^I`&Jv)?P8&t>^mJc`1;zRCANG4&F|+H*YB)k5J?e6(hTL+^kBM5bnTne&Yt
z+|(JS-ltJveD}vjAIL)T4nw+-E$u@=L_y_5L2mHE`=m+;)83<|yP0S{ONL+AalGI9
z!f|IR?7sAh=g|v$9v$I1G@r?Rqr5lrYttMP@MqJyoL97f0ByJ_>k4Yh+0Q54uWkEv
z^_EUz)W;Zd`U5Y&^HKs7x!X~Hqzx^|z>!bBZ7t4ZZ5^%UTzt3Lwy&)`RO(UYBEN=P
zLAFAXY~U)`>Iw+#4eHgJ`)Lp?#3-RAQ5-n127Q|V76xz>MJT}m!ao4Oq9}@u<A(xR
z8l%wEvMb3tz*_?_6400$Xy0LA4ZsjilJpE<YxCebw7}%J3sIJc)DMqm0L#U4!tR0c
zNaQ^Om?MUOOWnk92Cyvv7P=w38?Ju_01N459FsUoj>WGFnqJ}nM}T~<%Dh^KabSs*
z18_HpSLY@rmPa|7;U;da2IK(P+6cpm@h%{KA4~ZtDh)hgVtE^kF+1qsD)G{=X7EXh
zqSOw%@W+stv~%GaIr?1?4C3)YeB(emw@vpw7%dyAWVU0#(ZR^u3m=JGrcB)2qF1<}
z1%@+TgU6L;r++({?>V|afFH{l-D&J(REt|LTz_rw3R`b$k$bnbS*>~M&byk6N@mB<
zv5&W}PRHz8;1uXs8d=`%K!-ha4287apB=DBv=sM$>Gv%mzU6c8rukdVx%Zdib`QO4
zSNjsnH$Z_Smv7Kqn2#_zBfxSixYkfleF?Xc5(oBE$<9kS$DG-3)J|>*XJ7LKx_%r{
zOVf|-`iLeNAH0401-t(7pIpvef4EWlrMmt~N}Rj?Z}{oOa3UCO#kU7p!AC*KF3h(_
zATBkZ0ioqAU{4?dtv0I!a2S|QbA||f5KmH?(8~ZD-U%p}-HYt2Zs3Ei`G17x{{Xjv
BB<=tJ

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/CFFByAvqLqwsySVA2Pil2laBQmybSPS8-z9OS968kqM b/tests/fixtures/geocoding/cache/CFFByAvqLqwsySVA2Pil2laBQmybSPS8-z9OS968kqM
new file mode 100644
index 0000000000000000000000000000000000000000..507a33100f62afd27d44d0dc1b287d38de63177b
GIT binary patch
literal 7355
zcmeI1OK;ma5XbdV0^MWq{qiX`7Cmg*92R>ku%JcO6)KB`BzGS{zWWX(SxIa~u7ia)
zMSToB<oq?9`EfY8Gs>iO<CcZ3>(mHyUmI%DEO+U=HiDUS?L!uvH|xC4!XMpVdAT+#
zg&db!YemGT%y~sL6DuLC`^2qQ-b;}=Mnv2PwsE$x>HN-6V$yfrmet4iuyOJ6#<|MZ
z^)eKN&zd}xslibP10l&V+oTAYjf?7ZZVfm0xk2EDyyyltZ+EBs#od!Egv#ZmZ9MD>
zn~4L>%O@6wv{3`2eYH=lk^)pVTj$fcGaS!2l9XT#!J+cV!ceY<mDgy7i4;t-`2#FP
zhfDitCabV5T_+zO$X|3n!ofhC38cWj^3EWs!?yX{D<(=vfiNg0BZ~V4fBL$K_Mnqv
zL?v(SUv^N2YH%PlR+1fY;BDss%_wCEbKb^bB=);F)J^4m^I^ML`6``%hyjOm-2dJ^
zYrBDSYHcU7q~5M>A^D2D`MWoUq<d-On5IuGCnS6gbz_Sql*Vxh)@}0g)_?Owd(ttd
z4+>^yaadm?$8s}l_-LLy^I~JV=LW~Rm~xi_M<BUky&uM8rzt6-_H-Wi16xSc3EQ$g
zmD)h|{Zg(ATegfkvM91E#_=IH<Uf{7zF#ti^L|%(07`Xr8%hU^JHB|3{t!!jG&U_b
z0ax3ysUQhQxwq_p?JzY~?7c;@3vg8Xdzm-hUHuBEcVQFNPOa>uf(?A;B5g}@^xQkW
zO}_E}gmRbPQ?*cqZ@Kes0UuWz4EeTq4S}yd7o+RZd*zJ)pD9f#<?+}@@cHbf*atpi
zh;yVE2l6XP)CK()^go9(^i@+Veq{NswR$D`p>z5H(SPCRG(X#m@vZZdV=l0iuiz)r
z7+xv#?9}8)D4|8XI!B0q*f3*E6~QMo%$!h)No+$V9PAoq=*W>IlIboGmyY?;F+*$o
z_y!+Z@}cd#bj<C;eyZ>NQ9EWj{#58+!Ed2sW@M&0m4dUAiLdaC5REy}=S4n9R)ldK
zhdL8L9!4aflWHV5Z?A}vj;y~Th8YQ?fN+YK_|6&0HF&^CBB{D*(S`Xx7xVAR##VVa
zWz_J$GM~UW^S3y0j3wf$^6C{IaPD3oYHDdq>tMJIRX<Y1yWz@{5y|rA>?0EP=7CSi
zEVjRhp3Hl}W<pAW&O8^1f+hIXM`%3oKI&AGQxP9AW2v&w`{+R<t#rHtCvKFX#g86@
z#0cI5ab$Sm{TX?W%>B991Fy=3uQuD0;InvtX86RYKqmUXzUCE-d~<Uh3kHV1ja|d}
rSQ8`HPW7{PLJm`XXE4;25=uixQ=z~f$eMlj*_V0?!|3=wzK4GS>t&WD

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/DdVcJP_RT3DIzsiJ7_5dZFTgymF3po9NMauiu6GeDVY b/tests/fixtures/geocoding/cache/DdVcJP_RT3DIzsiJ7_5dZFTgymF3po9NMauiu6GeDVY
new file mode 100644
index 0000000000000000000000000000000000000000..766e6e8e8f01f35ec354a99cf6a285b63b08d7c9
GIT binary patch
literal 4286
zcmeHL%Wm5+5Y(p_yf+X<$&#p3VzjxW$ss)kC@7J3h{~ctQfX7eAJzUseymH$RvbSR
zr*Iz!9|g@0$IIQFm2YT5k+FPKGGh=O(z&68qC#?%89EFpng~@WF6cy>LVa$ZWHq6D
z9L7n6IcDK_9Qte+=VQU+JPF6X2t-Pvh~PZU9S_iOW*N$EC<!RKY$^5KM<6cm&N<h@
zn2{<=QCO)eM6uHmf)MXDtXHanxgdiwMguyR)Q4k&y~hA~!%m{T>|UXi=CWc|04tCU
zw=|E|5bjjS8h|#{uA#gVRN9&glyMs3Gm=CB!3iXX#IFRZYSKjpXE=_cC??qgBK_^i
zWiq{7)fI2m<1O_U?Mt{95FS7UYzl7yo>8^E?*xZQ8pa?v*dcfs@KqS=@J?o!5<hV8
z{rr{EYy1(3!>FHMuxI`#AvkW*up{%UG#IOeu-El87aC>Pz)qkTH-GL1noZ%B8f;IE
zm^#0L(krEXbS0irB+9|%(@!f4_w4F?-!ZOa*WxaiE<~v+=#PGRGi59*N6<753EKR`
z_i+=|Bb4!}tggg^D4TL{b-&eAE5vpW?zp`3j_?`oy*Pz|IA}!ddZ+I=1hZzoFIOu~
zUg@->%<%yhs(CxF9ky!juDOm8Oq{Z=9^16`hq(#ou6!YBaAeW01r8VevK9^&O^z&@
z{0-6Jkwu4xi^kBMA5>)rpR~#ue`AS6M;7je-r*(ka?Bi9A`531JF$)Tg5%Yd)iB9+
zTIXo_wspE)1AU3`R{aMS@!rhX(~l;#eGzTzflWZfEo$a@&*-#rD!!{~HJ^KC`An+^
z$pyb?#xsU7w6Vd!S<4Xx=WR{ICN2NZu7C;oy<GvP_~2ckvAjQGrf|KG<Pp<a=mG3}
zW^l_UT7sRqy$wpU$G=WSE5P$tyYb0r+fRnh@w@HdWVG&6s>{pTN^>&W<pOy!T9~!}
z!f4(40mdS}&7=nJmh_$5<-xrzn}7i@>eD$uU~4F}fX{CD_kmL!2Wc`)(qVEIxrG!y
QMT&b-d@=RZQTW;77Z=)^0{{R3

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/GPYeo5UIE3dwCe9Cb5V22TNGQQ33M7w6VJyDL3JJx0M b/tests/fixtures/geocoding/cache/GPYeo5UIE3dwCe9Cb5V22TNGQQ33M7w6VJyDL3JJx0M
new file mode 100644
index 0000000000000000000000000000000000000000..e3be609fd4dde661e4a883f60c98344e2801ea95
GIT binary patch
literal 10012
zcmeHN+iv4F5cQ`7dXGU;Bqh;LiLu>2WG~$o`?SD<mKcX!MGACDFF}5x-_gGBALPe6
zq-6ObS(bq`c2GYBfrq1`;o+Q_p*{#-IC&9GW0~iU;Nl?{u5dyfIg?y)DxA4W!!%N2
zuJbVcTK%V!xsZ~Q*)=1QAT;v>AERsOd$Sq$W^xvWEby;A>IT^O0XLB>q%-*-Tq2ye
zmCNkQJ8&F-xrm}n<@q#?V-*%UO&oy@4hld<yKF~s8cMS$cP3IW@t_5Q$B?a$0q54c
z%eHzSg=v~aI+29}ui%WgFi%%31hG*AqfN9cR-+hD7G<QINhGL0_BqEs_8~Z~w_{<N
z%$t>D>=F-S?oJ+IC2Fs%gE^X|WfE2BaSQ!r^&{*HgqZ*XHi1_LqdYB(n+7m*F)@Hi
z2jF_aZz?a0y@5$Nr`CMC|0K;;{PVygLBD?`m;M7UK!FWIN8}e_$cs#=;(d8LQ<*b)
zZ^8{^+<e^)Yk3R1WNmvml9#h9pkAztKWby3+&0ICq?Kh39Cbd*OvB#vgSkudLdH`#
zBE}L{c?=<YocgFMqg$O^se2XM%{Qj4Bebw+pSX^#x@a6O%|~lbk%mWFU~^LX9_K)2
zd4PBBjMD<sC^p!giSY-vz}<FC8{5S0R4y>=>C<1aI*-)(51C9t8?qgXO;$5I_oxMV
zX6R%%^ffm0zwHWO_n85^|21Ix%z)`|z!=iiPo>NXt+KPvDv6%HoAbSsTurziO{(qO
z8mn8N7G+XokOewrXIlSSsYF+@tu00iHbXjFlDKa{g%A=lEcoQuRM>g8Dwu`7Rez?5
z<vhGlPa3?-(t91L=n~!u4i`{#L;T@c^?8TqwbF}y+%d>3Lt}~pM43$`9jdja&#N+v
z$1HFe!Y`|`7O&4S-=TsFl{F}d%aKVpT|B8pxl!3V9?adL;tQ2E{wZfrrI-_Nc$Eb%
z2Ew^gXU%b*-smK)rL>3o8}fUpvhds9^2-TF$gY9|(H5oZkgW+LRJ(n8xYW}{!TVa}
z7vAzmSr+*#)L#ru#z$$9Ph~7?E_G)6rtD~xL5sr*@sh}c0kdZoVzygI7rNGWcn9J?
zNpYtX+xqpWrI@lY4lws@1G!hn%f}o9%YEsF*WzW=H~b#Z@EVlFpd6;eHXMXf=;M3c
zFO=B0rz{9wW4{Y^1I&4(DLi+Sovnr!O0bjS!hEbzo<%ApkS{OFdzH--b^ht*={x+n
zi0{m}YFn?;_*hY|1NObZil60us`u)|4yw27JRT@mS{$<Th56uT8DD2l|NL6+MU9ir
zcIvFH_KsU;{jrCU&yXFE?9=j+F{K0tl)P-u3!`uV?D?JnJV0nIOk@Y=Lt5U-ec+>k
zEw6RY{JQf$ik27nb|uf=#xm4Te`i&`9N6nZxBM<min+?*Qe|KD4KQ(!Q+@3%&uQG;
zOv?8dH$z5vljmttS7U=!?0|i4i^PLLA5eO$In^&Wa+boq(>^uXAsh6rR5LKzr;4Go
zVz3lE`icSc7cQd>P4}!A%#|c#FJCbr&tt9~dv^eC-9=N6BF2YK$xX?Ce8lL$-W*B>
zkNK2%M=~Y17uWyq0^xKYZ7$K5SLvq$VP%H0GXHpm1;R;ZJ9O3r1$s60`<*rok{0Ji
z%;1K*kaL)ONP)xyn1EJ<nS!sn;N!MPVEEd|=YGK1*ffW5_ZHr$@LOKq8V_jl_%Gt!
B3qSw>

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/Hk9zX7LQoNmm6bp0WtP6iiWupil9IaE10RiVnFQkDoY b/tests/fixtures/geocoding/cache/Hk9zX7LQoNmm6bp0WtP6iiWupil9IaE10RiVnFQkDoY
new file mode 100644
index 0000000000000000000000000000000000000000..a76fff04f87f1a5c65fe43e63ecc669ab88e99af
GIT binary patch
literal 7214
zcmeHMO>f&c5Y<mHbPvIAO7to9VJ~TVC>Dza3M^!ac7)1OAkt~OLH_#=X)AGUSyqa|
zn*h$iK;YqUIGlO&`20yHI<~HuRhhN1mip0ZrsKRU;;Ge=>v(CJyeW)cmNswx+5A`5
zOHKHk&q;0;Ibm}-mkXY-Oz<>O3ogW*Ere2v@ZbmB6q(E7=_k#oj{n%WY`=U2$JLkX
zqG*k^v!<#{?#iZ)HSuw92qZdX8&yr7`9(IKW?JaSQe)VL9^D3<2k%TA^&aI-(-vi&
zIRjq7nLLPjwqv1b$Ql^!N4sMcRS>0H7bcz-a56-MBr+k8WTs9mZ0hCn$}1&M!g-o<
zIemh)_;Bquozc8m*Tp7&auENA&6k?{&?(fwe&`#6$Tn+t7edB}E5*_jBBnhNZ|%Ps
z>%94uN|BNz<=opJ_g^>d*1tfQh(r>fl7S6O)@?wLN`;Uq4~gi>ewPUAT4UVpdNns~
zJiP_~3<`4pz<bu&3T`Uc4%CTV&u^gos?z<~8bjF~bL<Os$8sQq`^LJgnn81%4k0U6
zWqo5FOck!$SM@>5bQXsl)^jn}&kkSAqn~!kG}ez#zWSi9j-57#0&^{-rMDMn+iy3m
z(^nr`i>MA40VM(X`m-*bDJGwtZ_G)vm|U++Tjqc({WaG4@c0#Mz{Te{l*_<9xpHOx
zZR#%fL-*7+4`pGB4{%JY38a1xBw?>oll~NJ>+Maz5k`toMSlg3IKo&$=hCro6ng4C
zb*t5>jz4DgUFKX?`<otukKNw2Fppw_;V-Nj0Fs~j3x?!bx|sQ48LD$=yBPSuBb>Rn
zV>)DsDvv<%)cZSz3(vM)O9S}ans1Z8oAztSPcNE0ui7;6t?wx6JL)&aOvlFz+#&u8
zW?X&;AAX#iJnc^0>^H~FPVe63`k;hICi?>OHo6}L^Pwo;HtVDa_?1kh=WwrNoeHIx
z!dgPOOtCsQ`Gm+Z7le&wpAfGQjEKM{dsxnvuD;Muic(;!iu#@!ML!i%3C0X37y5Z_
z`U&r?%i!|E_BDeG-fTDJ1H9a=YwAg$#(}o>lla52dzl1dCqWqVZ+j9jBrr*2qFz4<
z7)prblBuzTAGjKjjlD<d>-7hQD5WCdzUBu2`bB`?h{CX<!rPCT0B|tOWFmY{1~zyR
zAQ<9I3Mn_4cu!B7QyR$bBj%I_^1nP?K*4*D6X1fOV=<J!ebEFoTr7#ezks0}aV`nS
z<7dWDAh`)mf+Rae!sSRQP8pHoA(SR5km9ij3gS_!_ys`Eui#z)w3ifgig72KyjRuP
z4;mmO=KFowf{<P6EB_D%DcfaB_?=**;9CtKkhccZboiC7&_vM`I3ef*DDe+%AWa~1
N<zMZ3<z3+E(|@09Ys3Hm

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/K1USC41eK-y5vuT2hOJs8ZNWYVSjNcuMLxzVAgwrI4M b/tests/fixtures/geocoding/cache/K1USC41eK-y5vuT2hOJs8ZNWYVSjNcuMLxzVAgwrI4M
new file mode 100644
index 0000000000000000000000000000000000000000..6a439a8b5167731a23fc6a0d18437bc566c6e4e7
GIT binary patch
literal 9214
zcmeI2QFEg<5Xbo}yw@Xv1VVmF+?(bhmppXZo9Wz4M@EXn1w#fwuDwjYdshP6#Kr`>
zX>e!!n8|ASv+V9qEBTf)?&?y`QlYiW1OBYJ&)qnY?o{)DaCf2dIG2hq5*_D%)_*10
zf-}J=^#WgFF-H=!klc~*j<Vp62z2MiXifx;=aKOPZloxMJH6$;$K79Qm&Mo5;5hwy
zA!VVop5<w(;xfrImt&)YfDq>`TPMw9VHRn3DmdlO2}kf4Z|`Hkx%KYTz22QT&kLDk
zqEz4&oCQ0YXDtiv*{Ffhw%V4JlY+{!lFFS*PQ3|=5DP<yjUT?TF3%S0g=E4)gd;DQ
zzQ9VfyRwO;Gta9`*5dJw_{;jA@L3?r9wflF?%Kf7c~#zT>-9SHHum3@E{*v{Wv}}z
zFIw&~j;Igu=<%<_#y=(@t)tKp_f-^hStwQBRLi+4-06*pHl*VA+iqElC43`m+mj)>
znqNcWrAhgBV+;wm&#_6-+ER0f-j`ezQe~zv`s6(3x)kXQO2n2TcYQ+qFPC;%k1`>b
zNp`KCRBAuJN%Nf=T3PItTt_lotQ~I5omWp0&@!Ozuql<k$GOH1Ub-_>D@{&nw7XN|
z4{RZOcf-22&FsgrQT+|Rb$k!`_vRwg&df)9Nx1*cl1%~+m)uT-{`YK2Chshn{MV9S
zOsndAJ=^x7*;ZLuKpAy*?OF5Ry2*AmtH#1v<wC^W8zohdip)Z+Z%rLnXgaXw+O<u!
zGdXLeWwKO1@@&-}dRob2kv}C;$xC=G%`p_k7CzxwO~JtPcIwkU?j%5kCtm0WnAj}o
z==`q;_nK6|H!q;<gGprtQ^Gumdk;!Bs6vbe%wxv9qxm&t+n}lr2*E+W{|%}TV+=xJ
z!|?w?6=dyIl^Wzi0rw^QHmC><!k=enP;JP$Zcb1_e<-zTP2FvAO}AFp9}!fq(x9`C
zcL^R5Q&45I6h;)gZyFlnGo|)X%IgMmvui#HN}&mhB6{#NMJG|@!_e`uv(!fH06tlX
zcrcx;?}2D)zy0`Nf?X2ymd{H4P}#i5)q}-H&t`0EsJc?H<2z!g3J9jZe>zE4!FWFQ
zP<5Rw=T)(=;ThceM`RV?wVeoqC67p}V<ppfo&%}b<@E<_HDPsCYX8dhPUei+eVDaX
zbK1iooLVv*u*d-Bpkqrq!Nm8y=D_Ylk1atk!e)9M1Y1lzLXZXMkYUgUBqV6yxuppM
zK`4q&WEiyPX1A66o_sqLx9!umLq<cNGXLV&Gj6*_!*)~$Hq^1tFprWvE^d#KJR)vk
zhtMw4fr)V@?LN}l>^pVR8f-;}ayFQRUPM0n$km%*3QQY>SgX*ZZ16-2&I3e3dsW(l
z@YQ*%^&g%JVC^m9z!}zTs;`82&~R6|IAV|u;mrHf`F0R~O|U+WT+b`8<Gg)RMe<E+
zbG7*9ptBxVMx|?4MhtBJ2_F%$|3dc}THVkxae*^B_19xkz_E71e=?Wju<<U%0<QT5
qNBkK~V5bll3VyZ%7oU=2fB`e(S}?Kw7ABhbUd0c(S{fH<`tlEHTmv)!

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/LtJs8O2RhwUzzI6emFHRv8wZ3p2ILtvpXz3eK0xNRnM b/tests/fixtures/geocoding/cache/LtJs8O2RhwUzzI6emFHRv8wZ3p2ILtvpXz3eK0xNRnM
new file mode 100644
index 0000000000000000000000000000000000000000..e27050a67ed08f8faf557ee617fec755f5c276e3
GIT binary patch
literal 8073
zcmeHM+m72d5Y?vydS8PV@gn+Z<Dx}?T#EKJK%o^`M~Ey1lAJbK>@W1E`eQwmEU(v=
zW$z+z)~O#24~Iv?nKQ$~cSf7AZtN^i>N+&i+}4JhFwJZ@t&NOKICo`QT4&~2otA%e
zzp`R(*q=7BB%)R-OKGH;jfhp6N@A(z5s$f~iKNo|fg77NNjQCHI5Xidoy+R|8#vD2
zUt3$bx}KGJ?$RbJi_lPyBLa}%kZq8cY2p{v;WRPA+-8Pg8@6{FIB&gkvDbT$mSttL
zB554F!kOH`Jln7^tc@Csw$W}_1vyYQOY6d^HIbfZp|y?`g2UB;g=H~cuVfR>2%=7y
ziX^2(P4D1=?0Q%QHMl94h3&qA?tI0|?oXT#!p)Eg+aJ&w1a-M=KJ>t;5K0IDX9K`j
z3;uF-<L%jmv4}F}t@pbx%4+RCCX5O>?%gH5_ejP{64nM`ApU(2>ZWq8dAnTPxGJ2!
zg?EmW-2T`t>tunmYHdd{rC#2=Mgrzp^JQg>#M|fCr|O2~2!u~%-6Z)8<#8B7Vi#HQ
z+I@C;d(1wscZ#OB*sZaFQ@LI{yf+UX?2`DD&kXgoF}7U@F1bap2V>G>3UZG<oO*w-
zMV9WyZ*5z&r&1e=;Qjkg?yju6`ngJq6oERp*z=f==UrylH-_#r{7C2s*sn>I;jj)a
zSp&ZFRX!M*mO4RL%c7}}f`iOATm9P+)lea>EP_6~sHOX;jxFdAqPnr*x3I0l!Ncxg
zHrc{`EsH*>#|oe-KWEn2m-r@}He$Bbf3Vjo0kPjszPH;w2c`#K6T-RFo-iN9^s$~$
zrZ{CX5^=0!eOjhx6RKk-g$C{;h#qJOCrWc)!$S$PY7A?tXOoC>5_PR%e<SIs-bW)w
z%VYGy_5U}n2Tfe34)e!84qSJKHD7*Lf~R045BSCJn3F$dXl=&>KQ+<ECVW*`P;#AN
zJRdIIzBz1g{i~l&&h>4_e%4%nnd-ay+&0xCE|;ku7u?|4PxZJMpYc?GYVJIfA(;<f
z3Rbt>=P)FD;#4Y9aqK(gz%ckgN7<4?sFLEeqp^o8IT6ysJz_S72oejzF~JY_*8#rN
zP|&(?jQH<oW3LG*s>S(@#x(@Hjmz-ZeQ-k%X;&#hh;An<xY!j8y8Gq>(E{2dOn0t|
z{qT6Nb@cM%6QvPI9%oFV-*s|+kPU-!M}JySJl0xHOK@XH`$!pzdlnksz1K;e0{GIV
z2DO~%EZUTa6cOanVh$)eQjw0Nj$=HQ5Z+1FC)Mo*o@S1fbAT5QI8?Vn`~VLQwJf2O
z7XCrwxRxcDgt~QhYR=PI)}d#FOQZVnHT=w68ddw0+`s$wx>Dav&*DDiyElNkzdvOa
z-Z3(B<rQyCu1zw>lTKoYxrGTXF=^%SfQ)x^Yp7ze2KP%bK^uTQC^h}y(vS6W;eC+l
F-G4iQf*Jq-

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/MOEllcRlOcg9imKY23pLdCSz4eYVG2crZ0u_65hdKyU b/tests/fixtures/geocoding/cache/MOEllcRlOcg9imKY23pLdCSz4eYVG2crZ0u_65hdKyU
new file mode 100644
index 0000000000000000000000000000000000000000..55f48465705113bc89f0e1f1ab56c1dc87b6a8bf
GIT binary patch
literal 8873
zcmeHN!EW0)5Y?v?x^F;IBqh<O)Ij&JZ31+GJr!8c64wzdi-jn4w+-@Nz3-3hkg^n8
zl4WNR)K24LkQvU?X!xFH#<wC8zNylAE{*X87xzX4!cVf)pBcfa@Rv#_I#ptsnMD8D
z{FN0;!BNTyixNbVMZ#!^6pc8>B%%>ZA{NOAFC>X#dk!3v%1ZjPTM-c9|Joc`e)<3h
z=bx_Av{c5-b)KuF%5>oiY;jNk;vKT}a-B%)Wc-;FOx$MzK^U?(3>@xG57^$*y+rFW
z%?ep5I28`#1I+U+3qf4gz^IRQ%gW0EWmTujpQVDuS1~3*6oinRAUxoxi)H7D(N#!j
z7~^R60Iq20y2+-u&~=eE@bLit+vcC}Vj#~1N}!LtG4PD8tGfYWGJ<&H@V7FRwQq28
zfC^7I5uniJb^yvlY900mP;xs!mxz(%w}~)SsZ@1SuNSKHXE!$EP>=lw?pez<yeMZo
zQ6{Edyoc(`v+Ap@asd6Vl<UG44FrJ-+!w^wZ0iMBZcVP8%LJ~^+Eg;1!-d&gC`4G`
zoF)Lube$FN)fbh!La-%2xKFLc@cNCE#dUY!qq(;eMFM@m9SrQXnF{AyyM0+|F?qSg
z?$7LbU<-9T%xGs@xOe8rrc3CwhvhZ<mLD=fpBb;M;v?~5xWpf8qw;^huU5d32OYOy
zvuB3Q4o7d(+^hB@GyPy$Yt+_h05ES|R3%)eQ3{`L{@XC_7_Dq9ycQ*t;EgVq?$S)z
zH#r670sC9uaqGnWt+KWHri+#$rmk(NzhtRO-#UiC0H>#;5GxaS{Bbv&bUunjdF(1=
zgr0Y#ZlG8U#~hzRu_$JiIwk~VN3j?NZMF6z+_zD<o?<bKoWn>;HV!+A#o+s>NyIrQ
z76#PUD^;4i+PwJ-q`QDGJI6p1#s5s=g)idusHPoXZGR1n(qt!hTPkou@qz;ST>)d)
z>lY(j`-}d_gkLmlOvA{_&@jqk^#3#ran9HYG>j6A@Dnr)Vbs_kt6>bGLn67OVVIz}
zX+O_F!+?Q)XxD|vMYw(f;ktBPkCV4o+I6`Z1$^iZMk1~iJ)f?NW8}sOBQ3^s*F`x;
z`~-?cp4fF!#N5>HSivGu6h_mExFc9iS7#>=uTiirV?w)P==!F1GW60qt&3p2dcksi
z{<#Yl=bXfmZCIYP*ov<>$1#IO<VWwdY+H9wPueM=gGq^7+#NY2<UGU?a(l251@8?B
z?fC>Tm?@rzT)7q4k;A}P_`kvA*T9~w86r;2#rx~5fa5b>XSw0VGp@6Uy&lu!rdFpQ
z>L1xk6;GS5opAp)D1+(eJdZghd>DR|_4+Gph!4J*4)J9WI2;7poIo<wKcBM__G6j&
z#YzD%K_!>4gq8w{doTeeOiBemuz=s0z^?^DkPIHhoL^B#t<VW1cPd#KJ6E>9=y>=K
DD$|SR

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/ONBoQ6tr4YmXkSMW3oyiqAAWK3Yc7diQsYHzRbePSgs b/tests/fixtures/geocoding/cache/ONBoQ6tr4YmXkSMW3oyiqAAWK3Yc7diQsYHzRbePSgs
new file mode 100644
index 0000000000000000000000000000000000000000..51af608f1175605ea3b11a5ea980ad0edf67df2b
GIT binary patch
literal 8756
zcmeHN+iu%95Y?v`dT$_-qAv7P>IGV$O}jv`Zv_fkWE>*07>H7{yFvbahm_@5wj#@b
zcVlz~*bj#1ay%T)9L@MEOPFsevB<eGK8x6sVTAda68_w<C}jRh>P!pCR?1}hNApP)
zE4ECQ;q9%EQ9whn<k2$afk;V!k|fIrx=lGvf><DH2h0dwaew}m5zPD#jmh%+4H(Y9
zUkg!6V-`BkWmYL&_zYPbApr4?$$GiYxK%R#oP(n$#R71HUv&e<opnNAweDqFmqHc1
zl3*2#MF*G{I}!}LsDaQv+8rq`2b5JUq(2u7qbr=o1d$YiL*gTfx>#*B-ys@bB_vAY
zWd01g!J+OZoZeE`g=p}j1N`rsFKxgK!;k~}&>I2I=(@UlfgA(`0c6|*d86<sO=abG
zfev~obh+zc6O;iDl6O4>A&OlrdJdqCg{ev@t1tC>DNBF;#YP=+a{o8)N%J)vmXjSw
z6;m%iLk8xm`pafIMDj+fT*1qJwAuce7n`^{Y9Do>^E$7c+5or*Z7QBG;O1CKK$b=c
z3Z2#fOfJ@{_$+_Q++~DK{)3y<N*rFqp8UAp8hjD=I$k({gWHJg1sZbaL&14^EmSQg
zFSpqJxwQwfkkE%=-O3j3<e+>p|093osyT{b9b4n<X+JB5&x{z4M~om)Z6eGTa7UZ0
zI`VsWu#+=mC*!e0lC;oWHja*WcxKGuc+3#)-yuVwGaXH;ogmXQ1E$Blw<*0}Uq%M`
z+4hQFS=V}@;X$gEP{DdTr%OcmwrO;I-C`r*wJ<Rhus;e_Niq9Y*)}@Ux3lZDELG-W
zJ!GQ^H1rHG@y&OYeV~d~YAyfPMO&$d3TLT*Dj~&tSE%hx+oLq#Yg4W+pFCii*re&{
z!yV3XNF6XqNca}q0RcC(m2jZ5cew+mG)Q8r(bIl5Y@<sa2oA6<SOYG)<N>3U(&&Fq
z9&j{~hZi=pEnyRRczHf+nbnC@?H4BxP<(H)MV;raq4c-cHgeEmxBPOV5BuEx*P##Y
z+2PXZ0|`<ZMvf+*P9P#oY$N}#hYuu3!Zbb7-Ma)L!YK@=#uEsFV3dW9xabmy2vHJV
z6oL3nKNc0dT~8n2&F7pxkcmJ{1j0T%P16U(PMAKV%wOEuF>`xgd!NuRk3w{6%t*}B
z1j2X^qb3mU5?wxpfaL{ogR9diM3~SpCT~C?0vZKJ`g@l`P*`U*q+{F+0@hzCP3&l9
z^b8`55Ju>dW)Pk0{clqU1RE^7!65H21bZS96OovRM6>8Rfk@a(bi?n}y_$XECvLmm
zb{f&CH4~LM>oUVqE|_A<KOa;H`w;~@d1y?qA*uKZw!oYP><L7me`lqHB@O)LLogKM
bG>H=UcfwV(>xagd-O23U)N5-am_Ppm+}mSX

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/SI0zn5hxlmz6e5ejmQ32J0zGeg2TcOJf5skdTnx90Og b/tests/fixtures/geocoding/cache/SI0zn5hxlmz6e5ejmQ32J0zGeg2TcOJf5skdTnx90Og
new file mode 100644
index 0000000000000000000000000000000000000000..fbf4f776ddd66cb43702e2b321010eedd2f7a614
GIT binary patch
literal 8340
zcmeHM+iv4F5Y?v`dXFJeqAv7P)&=^qn-mR-qKgFzT4Ed`vJ{B&rtKnM)bHqj^^lSr
z$5v#!2<$BC$H2pxlhN=T&dfEBxvT4JnhUL69`bLR``k@c=1w#Z1MbdcnU<O4bEVVr
z_vSBE%z5NRG@@CScyyLh8qC;?F?K6FUwCoqWmLqoBnXJ{12>tdg*&<CKIQI@jmzrG
zCpgZ(TxMA%wVsxFF4J0-h0BS-5des@%ht)uRG35Boe0kOH^n`Kp|6I4bL-t_uX=aV
zvaB*yh+4ucoP}GMr)w6R+N{B76YZLnlLKYF%%nTXxSx!pI3Zzx-1yOsb7e7K9lRja
z8?%5WaWHwpS#SGnn@wj{E{m*zPqyHHXnw?pL7pi}U=w*`;OKH$->neGgc2W+X%FP~
zz@yZ)v2TI;zR%2o*CP~VwH6^ssL9Dd04ZJspdO>lrlKePT`F{4Nm*Yl7c*J8lPd)9
zQIVVf@`klo;8R)KfkM&C*+<l0uIfKqW7OSij!mVmSq?yWD0MCJDQ?GZ2qIgk;-ma3
zbNjJPS#RB$&SLwD^?aDimBVLq=S36&ioiW1=4uRubB!I6-J6pRlam|l?!@?mEoyZ;
ze=FO<eih9L3V(`Z-j-FNz$-fs8VWPHd{UggF>Ja!`U*A}?WcUX5PCGl4Kzh_2=d^K
zkz4xNFX8yipTtZdhx-G5G7Q!0-ts+I7AdHZgI>C}3Bs=pyY?|iYvFX+rMOYQ6snfl
z=%zN@Jt}WUmkU{`)RxGQkETArJaBR2T0-fq+6H;87V@vM=x*oGO|HtXDwEj<`>6@i
zxS^wn)!rn;+q$?m+<Q>0fQ>0-5sl6F@1g$}O1Gg{bR5JiN&Mp~R)d(u2JwKNtO=IE
z88I)h3e-c4t;DSqtBDX3t8hIzY3<h(%R~qwO3s3HY{9}4?WBT**U5Dy=Xl#5K%k1B
zknvH_XbP%(^8|j4$5*<%lGiimYv*Av&bQBycg^`e8x!UeMx%pCKk>(YKqEZ=k4yR%
zGD*U~ye0Qx{T68KS((^_^lb#@dEt&mXvO+%gfr>?|GE^E(`9up3M~%e(9^akc(DH_
z^Za{jP#~~Bi(+mX{IgnV=dC*wzrRUqXD08VL%G0EjrvLA8Dc)DMIlizjxo*jF^@ay
zP|ZRPJTLb5Y*HGeA(|;Obm;46H+z&9Ss4(-POdg{ah|FjajJIeCWRzs%2S9(QUCMz
z#jkhZQ&B9{A&h!j?SkOm)Rm|)7R*LJD9n9TigEP&6$Gpz+$;Gw`Yc5*3cGXZyVc#K
zYi&w(_4(*iD%*^{>y8BznZPHM;jw+724G)7$012#ELV;z0v0odPKdi-%VLpIFCgKb
z8qj5h9Wtm2NgPIPF1{xb(A<!i${)q@z8zN&jc3;uEgIWHH;E{vmND?h_9CJg|Grp;
zV5JGut;uaS8hPHKbX(1yCUc*a%c;fTKTfdh!*M7<2QG>1>#ldH&}DqJ57;V%;bZ3+
z*7GiYuNjt^^`R={9}lX+Dnw!F3r50itHm6zCc!=a4JH^Qrj^7#2J)715@C5ACK#ZM
Wsb>aDxDM%^Oz-t_VSIR#r+)#V$lcih

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/Yhv3B-bwgEbgsQUHtq-XQBUElrgr6o5QpQD523wY_jc b/tests/fixtures/geocoding/cache/Yhv3B-bwgEbgsQUHtq-XQBUElrgr6o5QpQD523wY_jc
new file mode 100644
index 0000000000000000000000000000000000000000..fd7c5c0a96a9ed741d6eae6a92e03322bb6b863c
GIT binary patch
literal 6614
zcmeHM$!^;)5Y@NnUW5DQQ{qD}Y4QUB3Pofbp|Ti=a=HZh_YNi5b!=I7b4X&qN5hZ9
z;c({h&FID`lZM95$}EJ`2=g2aHECYhbQ+9cCY?K<d+W@+2)X~>{VJ-t!C2>rk(^?#
z?<LI;wbl}%a-{^;n9F<2iL$L7Fk`bOOQ$!65|e)IOxCyGz;JncVQuX~nEA4Fc~kf*
zH8}dgz>(w-HYt6c#YG{VW`>*R!XVg&?A->8x7I1&Ydy)muWeCfjRUJ-OzikP+dvr7
zMh!sQ-fp0h61;4d)}>QxxSnWCDMc89Oyz-vzM8LBVl<IdX$dP|U@6*N+D9|F^UKP1
z?&BTzFS|bti=Gomfo;z_Kob12dFVY>NK=d{cuWR7?ic)Yp^13#lPQe_ClSAYgUZ+4
z1_Dhm<roPzzJbfu8)%Lp6s!%zK=4<A2u<x=bG=;LxjLO*gLw-1xP9O)bhdztYOy0}
z5|(#YkbPy*{O-Y!b^8p*Jl#N!xbWyhla({5jl(Wvc2QJU?#Y$yRmY^>shAaFx4;JO
z<zj8{A3S-rOJ<OHeu>!!dA0AfIV4z9Ls$k&an}FaRnAa)^oXQtFCsu;r`NuoLqvwt
zX@!qe)nWjDleVcbawko(aDRNYiu2f=)c&ck&R)Wig2CX<79YZ1g~7we?Q`q1Fpnfu
zOU7d%3>5M!&f2CP$tBTPGsLmd{7gY-3JR~u0Ur1>1$`t1kyD@`1<$rZZ=)cF1g8RV
zL<GUz<NvNINJ-Ypw&O&Qq(lo5xpwH4>qXOA1c5FD(Zsnppt3eZkYtK8adH|6)V)b>
zLh0jkI;O`yy%>UKqA)a8-5Bwu&{aLdNe9KqN}wfW6msb_+S@0u*4ULY+Kl6%AX~5K
zw9)nS<t*NY#9MoZpS^8ViZB^lr2m#~SWtx-l1K|pK0vxj#RNal+--D^5+ezN1UTuj
z#Hj?6NW=vLs<vm^P2wc*j<D0~9?#6_{tb@S+;(Qp4{UqcNoY=?5a(~|dO7G-t`+8(
zfbe|(u2*1!xf*A-P3mMCu~u9kOPwGhg=!~t$5E$X7!z_9oiMfjnD+N9I(H_Is|nyr
z7oWn!FbZ*)T)SV7MGgF2m@iTAfTC}*dHX#hPFjP3qReXtUnAgS3XIla1PA2`ZRJGB
U$O<sU%^zI;BP<uu2AaP71(=AMLjV8(

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/YifvA3HTZS6XN_SUiXqGXPFKj8Icl_Hk81qZTkMSAt8 b/tests/fixtures/geocoding/cache/YifvA3HTZS6XN_SUiXqGXPFKj8Icl_Hk81qZTkMSAt8
new file mode 100644
index 0000000000000000000000000000000000000000..2620c5611bc1d4dedfe9d4df19022643d156cede
GIT binary patch
literal 7659
zcmeHM*>2l95Y@Nny#aTT)KlVK+?O`}fdYjV#t|w@g(!Cm^6wo|vg<`s95nTfFZ5`5
zI2;XU&Y9(dmO8X;z9<uGLoM`!)l`RBk%zI>g6VK+>a5O<UKTd1KXt!~YN@kCq#4P1
ziqe#(31X>;vM6VWsk=0~OYRV%2;)1a2h`+An}qQPO^FWw?Nl}&--F`v<8_`l#@a<)
zmL_Y9x(YRRb}%p`cuF=X>nw4HY#1k+>xV)kxQ2{g1IoR2%15;aSzR}IQ6;Sbt)NUC
z*}T}1(8PNUgbuCUkqSz%vR&sUjC0M&6-Ss89D#Fa^u)osT5eBbdc_doOv(5Wj-unE
zy*GojURQZ%K0Y%4ru!2f2K-DQ1P(3l1Oi*H+xy;PN+n@Tg2iOO;{L!lV_PQ=b|NV$
z<4$~Be^obI{UYKVN#~IX{U+J!j|9d7Des2?-*5b2+s2socD+hX6UMioo<cYte(!;F
zvVwQ=vJ+8a*XcV5zOrb4^uiEyV~Smv?nq9U@TInGQZ67ho;D%LS4H*Cd^M$iX&2K+
z3A2$n&aZ)Yx!x-LEgtOMl4ztK9$oN3SdD#c2JzK4;FiHmT=f5Ti8B-)y+ly?hp;YX
z!?$ML+U&keDvwQ5#~ffe+=2Ia`%ma2Wa4SsVr72T)yCaZPt(+2i`?Wl@MT~Wc>4eq
z;jTjC;jivP?6u$zjt~_tJ)es|R7%NJmv<-NkI$n2Ykpc_oDc)eMJ^zwC}l5)fCkT!
zsX%mnI8I#`0^>h`^@Az0L64wxC=<p`-&pQ%WjARH&wgW?vZ%aw2JvEhrpwve_;JP-
zaPSzmkW0W8#<&tfxi}f96!wau!`epRNU)Q!1=!_<Y8%BB;|wgGs6BRS8>$pjlsfqV
z676fD-QtERE<M^#=-;VrIANHQ=;CS{Xc_iWeu_(9dzk~EczNJiXpayt2=~OL@icV*
z5!@G=I!t>(i(Oj&O^auO0tb%~lz&X9B#zn;-{ZfM;#VLR3F-@(XA%@qoXCirz4_)$
zN(A?wN>Bu0N2N~wG=dTWMGQNaoW@X8Dk5Qi;Tpk9s_tiog5LP|<ZWAipRK%~8Okx<
z%uo(#{*&<xyMz{sqeyb@hON(Sp@^W0<MWS)nGh@@uIZZ~kewC^LqDXtmg_Wzf}uB~
z)Kl63Y4<(XP7g&HX28`mL;1>Ue~5do0o2?>`H|V&Lv>3ESgdthjd{p7zCdv8B~;Yr
z`<J4DokXGExT+i`DQ&X!OHQ|cu^KQiYYeO?VH*PbHh^9!q!Q7U@>M)wYIbk3&vw0X
II#B%h3%mFL5&!@I

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/ZlOM57Qfdvd2JNPluLzZOHmaQ4kbkjR0dk8MSNeyG3A b/tests/fixtures/geocoding/cache/ZlOM57Qfdvd2JNPluLzZOHmaQ4kbkjR0dk8MSNeyG3A
new file mode 100644
index 0000000000000000000000000000000000000000..92bb2536b1362c4648ebe45b521af6d58c26d295
GIT binary patch
literal 8585
zcmeHNUr*aG5YI=M@;>B$u@m<Rx@j*AChc|7<R+#>OA{0)Y=HPI`!M@rJ3C2fn=~-Q
zM3K@r==tt^KL38cyPnHX`ld?enKH(gT;3T;r5~q>KQodu=`VE=7m1e3)WpU2=C3qg
zO1!{G$6=_01w-LQ!gRDC7%!3w!ITmjDZUU$Tv$DzCQ+60XXla<>3?cemft>u;_TaT
zl9bw*d68v0uF@j+CANMraKw8|*2{`m*+s^mDH+JSR3b1#_L>3ZPCE_uYWL!zD3df-
zl?JV#jQ4z=Z%9buq6R{{-fl>F8F*RMiS}oS49HQy7-5LA$bA9`5*3dqDDvf61Exm|
z3x+u+m<580V0I5GP+vtGU2jp;dD3hL_qKD=d<h2yaVL-xyE|zFJX6%w<--mT3n+L_
z20U*U{M4qh@{PYFjGX*_19?$y8ekYbVnC}+17Q?m7l?tw=mKG?QtRrhUM+O#&(3V*
zAwPFFyd$kvaBxOq(0h6lU+P?!@4i;0`t#fUe=M0yy*Py&&C=?oH3zx5&z#NXMiOqH
z^iOn|rMa~{=HpdiDwWOQGFeH;Ym68bZq-PVt7Mhtr}|oFE-UO7dY7$}=-<tOBRpO!
zd=U4xtSG=1xS-hHsWEfDm4iJG2CDPP%dGGI%<2PKNa}u2*RpwgfZH)0Ut?j<p4fdV
z=?i;olluR9%wE`I_H>Ui9PO7<=eL=v;hI1WFI_G^G1~VQ$OdH{O#nF8c~!z)8btYd
z`)vctLr~UAcwI^W9rzz~U77eYQ@P{4v1LtG0O-N0kG=z&!8C20t<sggEpnGfu&oiG
zxhjk6G||Zk><oYgVz|S&V5_}4V6S&mow<YIHVUl9Q1fw_Gr$mA<k;sn!bK28l!RQ+
zSKu}pqK2ymJRjmV9-+{(_)zM!@;lsy!;sqr`weV!8>a!8xNYLL?$JDPTMq=gko@EO
zVdA!iG=W;1C*<pJ8yRNw_9cEW+$Inv#J+|GfP0kF2u6ZNPvtUKm`r8NRK`Gmq{FrK
zn{_H<x{ypz-?b**QW@jw>BBE$IKsj6T60kThzaTY4Vk7Yo*GvBS{xm$O-R2U4s;=z
zkp3+qz3W3BKGIW8ar8W>7l^QcppbL%I-RNj>WcA3($*A)3&d^x^5jkx72I{U2I`%*
zv$fr*qPQ7GO~uPpyiCQ*3(mQwKGgyAsqA<PkWK%(N=q2)r1HHTKf++AQcL$61SIc3
o1i&&bHT;4A21+pg79<LJ7;$mLLlB4QDGZV0AEsVe6=-(<7Y1iCmH+?%

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/azdcVFfZOVp1qkSVe8qn4RDGhjzTTq-6bxoSPyElrtQ b/tests/fixtures/geocoding/cache/azdcVFfZOVp1qkSVe8qn4RDGhjzTTq-6bxoSPyElrtQ
new file mode 100644
index 0000000000000000000000000000000000000000..9698df609ab9cf6a3982abddee044fc7b4e4c6b4
GIT binary patch
literal 4353
zcmeHL$!^;)5Y?v`x;KzWYNJkx3lwNJpog9U6tqY<L}f7$sdO>??;TQ>H_38R7-$OQ
z=Ge15&OFW==ANe1*M?6^rnOIFy3`a?zmVL|HH``N=Ry^V3p$s&P~Y0WWHqNjnnofM
z45viQP?RLuOdvE1qJW865=TWEvJk$uaUcw5hWYtD#fbW!+K~0bEd(wfE;+A-)>BoM
zqA*fbJ`F7n0zkY|wqB_UW}UR3Gm7X^(g4z+qiG<xi;knC(Y->cn#+nA0Z}1X+`~NG
zv9MX8YG8DTcE`#q0i|iU@N-T{c7bAoNDxDDaB{*?Rr8JKhY;b5FiCKb#rX=HgTC{+
zp59C~6>kp^_6~5>{s^rB><CD3h`lxNv}(-b7ITm$1Tdok%xi}qLK|z}B2A+dIAA@F
zr>IoDn*zrq9Zw<HZi+ZXp)18e1G-XZQww44n#D}ietrkxF>vzm$OqPJ0nKu@BUI7N
z>;@QEO7m-N49q(g*mAYC)HI|1S5_6OdA5+o0X->gSUH8;;w-^4zILBRfHA(1)s1)-
zrK5nQd+#oF7X7O?(5=f&z^%ErmxWn2NgCQKGnUSW5wnC74_2zf<dqh?pWAp~3k>d8
zbz@t(UTGQv2d-*qq<)+LO6a$QsdLiZ4mjJrm89s*;L+*q9e51$?pByuO*X`sd=Yb)
zZLFMpl)zzGz}0%qY4Dj(gHLDgPSfM}cn5b{K+X)>4y+gQ2S8s-qh-k|^_ohr>?j^Q
zpp!Nbl%_H@Oo%~cny!Csg=A<_t}VQ-xIptMs~C6W9&>2R3gZ_XE`2v92X9>q)5wMR
zt*UP9jf}{rT0KiH_!XQ9t{vR=gZ%(<ttSEG>kS^4?#(DMP9m!~e<8#q%EAo)10e>;
zBm>MZ7Ge@-F|zB%5L?#Ly)VQ#Nz!OM#l8@eD2dP;QDUdB`&W5{_h;1Q&u(nIHC>M0
zb=j>#+oj@Nm%F`lP_{Ok)&H%_l167<ChSBUR{BlJI+1=~CeFA_*bNJ|9`W-@*07&Q
zcwa&%U_&u%?w<YuU4jX`ON&~-!yW#A!D*PFEREAFi7p7SyDL0vibqj=*UiGl2=dh*
DO|PmH

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/bOgKRMCM5UkXuWE_CIBuvAsZmCCNS67-d1dgJtE1gvI b/tests/fixtures/geocoding/cache/bOgKRMCM5UkXuWE_CIBuvAsZmCCNS67-d1dgJtE1gvI
new file mode 100644
index 0000000000000000000000000000000000000000..3c050f55a83a700b701e599efa15ab20c90855ff
GIT binary patch
literal 7195
zcmeI1+iu%N5Qh0E1@9y5iF?vjq7+2|H+g{o1x0QZA{1$GskEu#ckjQX#K;mwIYwaE
zDCH}Iv$Mn5nQv!?AFZ~rZ}U}|dLLV9@4V$U&Wb!<dMkyEH?Gd=+}Taxv-;2ezoOdU
z*;;YJ|1!#@lx8VUL~hoU(Uh;bk=zJH4A)uE12uWtrt$Kl<;=#v^(vcBe?W2h>201j
z&ihqemM&|Hx{56gb_f^}U6YN<I!nVMA1_mz*t^0KY{M>Y1Ld7|o?O%(Wp&-;MU}P=
zTA@sy*}OWEu&nbMgiftJl8Q=L+3s=|FLRsl1s6t1k-#}zU0GOHn_=Y}xnPno#o6*6
zOUe1ty*HzEy{q!xe0pa7yZ#{#27YD;fm6$Sfymdp_VeCiX0+mh!D2RI@qWSI&bL7x
zc5<x<OH7czyg^kr!v=zqL{K@sflG%CC>2^W(>Y?q`3Fb%wsEfgu-mR(6E8nNJx4sA
zzVL~3y2U|tvJ+wAck3HOUs<%@_QHs|ONv9B9!XA^a9jH}Emz2m>n5c6wy190S66mN
z9fJBSV-6DM2{v*rZwH0n#iIwiq#-*C%R*vIZ5IP1cX0NoPYyOkWw1S727Qo4q@Me4
zkgd8?@s<J%D@1Vn?U(nvby-w_F;~_Gh6Q)t--o;z-KV1vavzEt9Ox)Sx^3~a&-t;y
z-b+LWW05PrH?B;pj;K>BdJ~Z@Sn+Gzh4rZKdOO=<>;A2)LySztQ&WE}a+kluOTl?K
zvlEtMufo#t7vAT^3!$bUQZVy0Y-&Xb6^ctG@b~Qaq)Ic%uh8uXpNWv#&>z63<U&!w
zal{jR9`Kng4E#t0o$>j9!zZYJ<BH0+;Xb?s!vVT8IIn=Sy9fd5vwOGW^h*J!5sXnL
zO!s?I*@?xPFx2!62z_>Z@`MX*g5eW%JHn?>3E@fw`H?DTU#%WjpEExDx?-+A1M$B1
zrUM8M1>IbIdLRAl>XW~Q>XRi>F-pUoInn_?X!cKgb|SP)FcFa`L78}VdQ$Z6EO|UV
znK6L8emp%ndU2_*3<rkdQ!a=~=E`$!+~@jpY8G|-sK#Bq26S?+4Z2g(|DIHTCJaPU
zUDv9qes+X%PKc5n5=Y>FKK^8iP)sO)0HFe}N3JmX2%(G_naKVwc}?R_d{(gW(cEro
za`n<Dp_u%?-brX-yQ=Fa&Tzx<X?(VNRz*LIfzf&Fux1`XOpYMJL>umO|J)W0#=(Vs
z6G~L1Rhw?QuVTdBK?Kyw8i#LM7)0lmDtynugi-1R4_z{v<m|J{zWCiXs36Px{{Y(=
BTWJ6Q

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/iCCLm2psjefTmUSDX7m_xal6osygEDF0B5yiHEWXPmk b/tests/fixtures/geocoding/cache/iCCLm2psjefTmUSDX7m_xal6osygEDF0B5yiHEWXPmk
new file mode 100644
index 0000000000000000000000000000000000000000..9e380be01159278e531f3824b7e33da0349406b3
GIT binary patch
literal 8756
zcmeHNOK;;g5Y|sIblKAye2J3ilh;Mt!#>gtie45dXo<0jm8C$G({6+O_YNufEz3#}
ztR28WE<xs{;mr4OhWR2Q;hQR*WYQR4aPepa6@H>qe`Ew_!k?)kDN-e7+9bu_^=~?#
z2^7;QV;H4!il+1~NjR1=O`-@Pmc(~S93&wQ3AT2?Oe!nskG=>>g#TM@vi$Z53}@fQ
zX<8~{CPkL1q|!z13vA<H5Quk5*2{`SS|#I;qzJ^L76{ysqi(>svrdDf*1e=C%2emF
zQeYK~@q?HrTM~k}tbx#ev|CbM22obaRQaP+Ff<HePI*KiIW#<>Smd*{=6g)YkP;NI
zh>o5>867G&`Shm6GEeIdzy}}jq5dNr4P=@?5$wla3wWkjR`acxX>4OAEipF=|0q*g
z`6g0~Ii*(PxQo0fcU*)d=ysvxwhJ6b5vh~Was;bnn5tB&`n+6BRq2mDg98dxx&P67
z(sBXE<zzdG#Vn^Ep$0Qu{b+=t_Kq30)mlp$0Xh7tQmC_;?UAl<?h8}NYy#clx>EQt
zM~D)q))ARZ7dro_9#rP4z*hW0JFO%RyRYTI#%qHcac{?q1oVIw#I|d?-1$}xKDsqk
ztC+mZ#_o@-J&=VWK1}OcHg|_*1cr{7K#uQ<GS>h(ClxKa*@Ju1g1mCruDyGP4PbXW
zhr*VF3ACoIrRPLWUpaEyvON>NSH|6+yH56#1+P|FM+N}Fkc1Ml(2C_QMex@edfTw2
zk?>Y!L7?0J%yp&G!EI%MeNfyD#tT*I#1%=GjXG$+FfeiJJJ@Zl+dA?}FVufUzCw-;
zl({d92c4?)gF9>t{jx{0;H&8+@ORL<&fVqE8Dfars%fEy9Ug3<GaNH~1~v;2rzfap
zkIg8e$YN1jwKV*<&t^1?twKvy8iidpBbcz5xnx|~Z2Nk+%QJA1?4p+qJ+1DNS2o*R
zw^y9`OcK7bSyPXz`~gWdSBEQ`8LuCkxhvL1vl)$s5l8Uz{NXI*LrMeAgYf6FSsgNu
ziQ}f@RI_F?7bvGOw~XC~%xVuYIW_&Q$*fKV;)J|8E;}_G?oMMsLj-fqufy18I$Ynn
zfptI0@<%3fw@+%n@E^kIc_*=0_<t;w$_L{-SMSV=<}vol^BA)?>(+5;oxRnh1L1!y
z7BWwY?`~aiLhZ_7n-yeF4s*lyMROPnhXm7r!d~np6B%q5qh<){v0rp}`L>1?4B^5y
z;6arJ)^>xNOeS@&bWQ6!OE|k`iX+DPdqxnuNbrZ%?%6kSe@Qck1!o0I{nH4xhNAQ0
zKWyS|v?>$zBIG~gChllecN51}+RsQ^@G9fqD4EO$;{=|Ao>MN@>8tPb<<9rAnF|jQ
zjxk2z^O+0dVGN2PEcJRmjlD(c0(knhT<U7@yVA3HRd-5n-hy!@Vu*$p$yn!pJF;&C
zm4xTclb7u+%sl6#5w!9z@<G3BMmZ-_wH9$tn!3V$Ke)Gff_tv|_g<H9yVdX{4}}di
yUdb7th7?FVf(WdOfN<eS3`X=+z`tz75swjOLl)ZY5RCB2TqWPla$#+t(bNBW5o*`~

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/jAuLuucQHbNck_x3QaXf1_O2YHvrQUkePaWbEUOoDgE b/tests/fixtures/geocoding/cache/jAuLuucQHbNck_x3QaXf1_O2YHvrQUkePaWbEUOoDgE
new file mode 100644
index 0000000000000000000000000000000000000000..1ee9b47bc37791685ad3aaea401fa3451865f361
GIT binary patch
literal 7694
zcmeI1&2HN`5Xbc_y01VEzv)wBEcViE4|^@Jpe4c;DocSVcQ+g4q4pX2VjW6yK5WHy
zio!_&-4b{>91UlF9R2mtYMX|xSXM5C)Jl6BEVF4|7U?2b$!)s!P2LpVuFH@&e-Hna
z_1Y??wF0_wpnws*S~=wiq276;l%kXsyeK4d(GR*QT!(*tv<z(e$KbO4^d~y5KD{f7
z)`zfcs><hG+0?0}F%FJ_B&TeXs>xkk6w-yW!rqpa;5P8=Ht4+f&cw6cle}r#qO4u#
z(JMNW2Qe=nSy<?^hDQ6*KC((GjI!GnK3x=+(@Y7ar7;4t!_<kDO})Nf3K?OPY9LHf
zVYGn79eN;#9>%ODt7cml!(-5c$G94P!~?>71D3-66AT7PXtv$wF>-1^5v4J3m<W7a
z@Q)8&w5J)9glT4?`SbqkrXBr5#(*(G>2d$w4gMj+Vw0Q=X_z>IT^d5ydf$E6ZdSfc
z7a!0&!>ZhW+&ycz!Q<*}j}%MTuHIt}R%LfH8e{D}=QvjDBg-QpTsNU})e<}8bO^54
zl=XZ6)mQyN$I?FNo1MjBn@t?cyL*QZ=E;*?T<p=((%2rywo4Hwx0vk7oa|yssu+8^
zi2l$P>+~>x_qKI^D#03?E)go#w!Y~hb7EP9Sj^<zU2K@iEqV-L^Ka{}#j~8G$a4I3
zX!@y=9xakxoY*A4himuk|31oND~1rUQE<gyY2VnBX&d6~%8mc8sdwdZtd!d3Ygzc>
z3Lh$1ipRAFbKGk@O5E?Da{BGw3O1EtjFT5*6M-wK!i7jo;2_n-u_+8eY{tOP!ln?!
z7z5FKqCZE<K46n(MiJm=Q<HGyCg*(?W@=uLnm8-`lGH3M{AAR}+Med{6zZ>BoBOJ%
zXVf1ZT&~YTeSeg18}*P;N`#_6Kzc1S<CKDsU=#y$anx&rXa#mI>Ln#i(0-sk2lX$W
zkn!FDrsd4~OHar%>vv=Q%=!p}R~hTs^n1+sru#<5dWnQGlE;Z)LQ{AmqdXNu1kw0H
z091ie#;D7yAzTuPx6OI1hYYwhsM(x7)yIp3pLl7QwU9?D;!~9Z^~Pi3#Dlo8lN={5
z;B&N)ne;R1+Z&XQqQ>-Er02f^>5ZUV_5^$(>45<X=2~*9C>Jn{vzOGp6-W+)A~SJE
z9q8Vu%^SjBFx68fL9-KY4G*jrL{dp-1?S?r_ssg4^{>qO_z445TmSEM+2Vy$+TY>;
zieCUaw?-|~Sz>R|1TmGj9=~GZ$6WjrrvUM(jntXc5i>aJ<ez>1C2Tj*2U*;G2eds1
AkpKVy

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/mDtp8bQ9i4B5SCg3qh93y6-serwvGm7KtyH5hKRl9n8 b/tests/fixtures/geocoding/cache/mDtp8bQ9i4B5SCg3qh93y6-serwvGm7KtyH5hKRl9n8
new file mode 100644
index 0000000000000000000000000000000000000000..4f5427c4ae431acc48385f48ce8d2e2f95894453
GIT binary patch
literal 9262
zcmeI2UvA?z5XOC!KreZ+K}sSe(NBqi4O(Oqv<2Fi1qxc^CPHOtA<5~VAXn&KqkE2A
ztRE@Mo7l1}FN``you>pD4oBp0e*8wd6`^p-N=;H(mX6@!u@s(g;zT*)QgB~5cRG)A
zrNv!R#`&-HUrBZ++`#u;Z|W=J#o<R^N&Jv0mpuIFX+;!qmC~9;#t+;mSxIMnD?C>?
zSGCLH!+SVRKU^qP=(3#TX{zHY$umb#6NisL2HR{0X&y^6sC33sF!7iOf@$21)4;j)
z?y-&D2XUSkD#>J};T6vKTFjFd7Q(fw2BXzzUsw%NL|M(1cE(Ehd=yc}3G=ZyUa)0g
zp4}}+4g)d@Bkr<*kDoA>tdCtR=U|%8GllqX%p5JjHFjlHXkFdRXH#7)tg&CKkFsJd
zXLu0nxnmj2`ScpQlP1-l3uElcCdXzUYfFSnh4Yh4vTFFfmf2A0VS4`jcdCc#{I*D+
zzeuy&Fzbl(Q(jgwogl%CC6@S#T%38o5Ie3TW~pXLcC8<DYPa5G$yy3F7V8;{!?gZ<
z>*j-3vq+pcq%Ad>)-|1D?C{jBi`YyuNKNd{*!Zg#a&tg~%x<Gyo*(AVU#2>?%Y)VL
z7-Xt}+0Lg#xO)!S?H@A5mR_Gfe_l_D-qCw|j^67ZecuG{`7BSS6tvpf%8Gh6&#D54
zu(dEw7XPj5nA?)W3yWpGpqfl%CKW1rDY^#KxdIyuxNvO6YR%p{%qp4bzw)f9EM2F&
z$R84=)g_*(6cnds1y7i3aiTEa+5xuHy$KKmsOCZ7)4=4;E+C*77%{>^8ia)5*S<JF
z3LsNfmgKT#1wj4SzM-|jpv>phy(O3poVlEv3}^{_G2nMyR>t0h%UI}{qSTf!3-c^5
zUiyz{U<YjWuVv#uB9yr-vdeH>w8Me>7OHKd?<>aO;?;$gy^#zFbWoDf2$e>o*y-WV
zGCfoJ>^e^hdk1JQkV|g94Xhz^ZNNA*n@W0H#0Ny#YWB8bs4ZrH&-k@>>F(K^`;MuA
zm$F29lxLHBIfeE~p8tUe*=5xa0Nr<m%wn6&Z8fx^^b6>|`|&@AuDuf;0dyl5%-k8e
z5#fZ;@DQ+t?Arpvudt0EEq!jT(`|{e0k)iN@&6LGobkx}|G>6HYr*kx-wJGrz#r=h
zslLRXuzSMpvWKvvWZywS9wT<qcylIc4(^_R_mErZ*7s6&f^Dn9wfDZa4cl-Odfba#
z+uLaoa<6)%uUegS1lE#(*O=+i>D-gFwGq=`8x0%U4sD!1wHm$`ZtVn|c}DbiXy*pE
zn7{~p?$+0i;}W;fV^_GfJ|t-FTXc4Hbzb#s!B|Foa_ZRP1<6uBH3|mHdXpD3nW^Nc
z#O-?snEM?gKA^Z=%ieB%x$GgFaMg+{EBW6xuIh$t^bP&kh*FRHE_K}~3Q2GXiO4;&
zMZz`Eq9Z8TAY>LnEgk<25|Kgk^<ozMQ@kE#bzAzlkhOZX?n$guKemNar+%zq!q+by
z8jzoaA>L9i-zT1g;eKCzn(GH@uKwebefN=wp}_*`SS9b!<CcPmN0>m3#f8RKF8J67
gujm3d3OTxr{wSmo>`@1CSBrlu=QHy?0U1C23sk%sU;qFB

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/nbkCOA1p3QPDPgZkN1-7dlrSvwkb5Cn4ec4ZUANd7Xk b/tests/fixtures/geocoding/cache/nbkCOA1p3QPDPgZkN1-7dlrSvwkb5Cn4ec4ZUANd7Xk
new file mode 100644
index 0000000000000000000000000000000000000000..3336e7272f3df06d312f1d2fb91e873cd1725177
GIT binary patch
literal 9825
zcmeI2UvJwW5WxLWD!+F!#$X^%Z65Zrtq;?*mr4_{S!&I(E8}#3s($w!*iPewIN6k`
zoy235yW@Nu_v3&Y!9=Lrd|pbeLqWx(7FdK?k%u!aXd=R;s<S#*Vp-^{{?h#_s-<9y
zh(<VNiySdY7MV;qV?2^^zF=g*BPFvalO!>Az)UV%8P0A5jz##kGuhm}2gBv<Rh~CW
z>v>(4Dr<|n3I#HLB;ZJJOg1R%Od2H}&ZHpXu@Dgq6CWG~j9crN9JC%}b=~AeC0hkn
z!5H21dA=nfVjDFO+VyrzDk#CrcAcwmmWxY_-w;A#9z$?&dPK3VmK#lk2xulLOVZgB
z=tldxeK><fy{_`kf3)ZSb@wOC3<Nrc9N2Ze69{y@Ztu2SrYYv&bL{ZB*Z8h<YZQ7<
z6ONftI6OpEH`_xbJWkN`5K3+jK~NOMHW-c>7=oeOMydA0dbLnZIQszhF(l>gNAF0>
z70i~EoyZlvUc7@8EQ|JMFAS-7$goM)PEtdzhI4tZO0z(woVl-cE6X`7m3}GFI7L=z
z!Yi4tit3$uP^HZPlk9sdX^_}oc#g@s+8BHm4@RR%lT3v`X2DDi7eaw~gim&cY49m1
zjql;i*aKNe;Qf$pWGg#SS|G^E&yaqqsV=V8Fy#<yC^|>=O?@+S_f&}Z%--7texmn~
zkRR`gMqS)|y?D-yY2_`~@tIx6#{)M6ew4~5JDi-^;pE>s{AB8_^W!YO02=G6ZJ-D^
z=`-*D?O@?5hrL8F1eJ?$l*CgyT^c}{1)Wc!Er!nJ)p^<$EA^|chT=9+2=ANvp~zK!
z4W9+;3+8!e8vtYVOCHACt1x!B*8|)%<;<272faq9b`TdMj9-Gd4D;v+4#&jBppe33
zxzeRa^bT=T*vJv1;Rs8wu|wRLv&0j3w0j-15cauK2z*B9u+{a%-76jg-v4mF;ECJy
zR73cHOPk$|C$8;fhsN{&C9d73zJB6Tk|xyb${b{w1}+c@6ZQhY1((xfG#mprWh}Ay
zbkuMsa4Dgf+osqN78h_Sj#1=+J3cP*z#Vl5?#{#o0pH?o&K7)&Yff37cL=`4J=Egb
z!<E+$TtaBdY*staGEH275(e<Sz@f4^&osOCiT-m;TpFQ{pQjR+5QL8nF>Y}wPPr$p
zC$2wKKJRJ1C$1;%X@|=8tl~c)E=L6aWsi%Zn7_!OGDkEqEAeFF!o_}U?|n}ut_jQZ
z2qWN{%?C&ROxd3)`&-<zUY~p5df=V{T+{l)`x*7)9$p}rcNdrD))B6TTe-APt0M6T
qBG6W5je>_!@IDOQ_@r<XNExT>4YH4R01w%n%D(CK%GiizPrm_TfWdD7

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/qRg31wdsm-haFclYxd1sr7gUKXWcfI9xpZZNDhgmbdY b/tests/fixtures/geocoding/cache/qRg31wdsm-haFclYxd1sr7gUKXWcfI9xpZZNDhgmbdY
new file mode 100644
index 0000000000000000000000000000000000000000..32de1d248dba83c06f60b35e785803aeb9696a8f
GIT binary patch
literal 6816
zcmeI1-EQMH5QY6HhVCs;Bt=s6)yBKq21v6-QJ`30fdwrwS)sC&6{T&{AkWhW>5KJH
zwiCyee{y3Oi0^E8ICDH4ej1KGX{7_#WRt=;7igg$oMt*m^DG!UEw~PDZIxD;)wj7z
ztFQBKd3mepRIrFe3C%>pWqOmQRuYk^IAg>ZOKt?AQ$8i$58Py?F~RtgW>g11&0W@C
zeu3lS%eySAt#gyAC~Vr~RT=2W>);SF*k?N^s?_*JE*Kjf>xWzugrQr*z<KAL#aq1(
z(yFSnyflr4S2z<JnkOq3ns!-((Yo3dt3d&kO`F+ZoM{nKP6a0txnXk8x~jZ=S~!Yj
z7)L^}I2k`;E!kYV$mU>LwPiM!A8p9LnE!~4L7pi}U|sp#VBo5@`8HP^DK5E4pqTb3
zUfBO-UE|F=os9B0VSd5(0A*D#15iO?A$>}A1h8f$0O2A+0H27S<S!H9n%dgtx}8mJ
z9gMHxpP?St|L~f%nPH<k+Z|=%+UXUlugIJGg)ypbn`2+6E0#MX+*PhI#RO+#zXX%b
z^76|5utm4kzNj}&%+g}>fc5OlyC;Xw=7Seej6a>Zj{L#c6)pfs9+2$boGdjB3a>pF
zdw;M+rEcc$$+qlv1@!@!A5aLx3tLa~)Q%=qZOi7qM8ftu@i6mweSGwF(;KkE5g^c(
zO^u!HrO9OR>-_NdRrtbUuvG0K(%zdA80<e1%LQ|Vu)%`QL08_rIh@OE@|pdo@_&6_
zY2Ve=k36&41^$!M5%zA4>4>%1S0B0;(x*XBmL!UTE`GOrVDtjJFY&2Dpp!Dj6HY0i
zL>wEVB#8y#zSwtA?ir&h<eVim>K61I*9CW1Fe(XCBBHwkJY!Uac!V=X)fuC24Wk}@
zADpw_+k9FLFI{2KFpU1dBYgPY&TMV!4pse(e1h_sr@MJd`=1|+e&ZB)I$|<ZjC0vF
zYp(*TL^~Rz3lkBEc`TJYE>1^Gg$YX{rNnODErANXl&b`7qqjeRr#?6Sff2C-iHZmc
z50^ypGf>|eP&u0V-))V{?9jBhc9;U6Y%?@vV`|)Nzqj~)Q=9U?e@*WE-Evz8dJ=T~
z2&HM)Qum#do^JKyZ%6M|*~!y2rXiD5#)<N~{hDr-hbm!Rvv}02J_J*#BFXm<Z^=|1
zN~&Zm4!!BaKW7mU%qL_=6TIwE<B-TC5|o~S`qqFNVFGyVCvBsjF&spDddkF1pw(u!
zUg|s$n%7rHhbBLHXpTt8xL}gKdP0guEsR7$F{wO|n%&ssJU@Ix^FzD<2!1tptr=e6
zj*Efy>9%2j%4L~hyyx=Q%ndK!9~mlsn2IxG|Gvv>w2ZkP`H2<!;l|vevWzDB0VZgF
k(%Ry^3P_&mNYX?JT*tbX8nDNOEd6HFKV3WXKFIj-e~?k?FaQ7m

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/qhUxh1AYcS2cZeWN0a8uCz_XqUJiixw6_rR8o7DVefw b/tests/fixtures/geocoding/cache/qhUxh1AYcS2cZeWN0a8uCz_XqUJiixw6_rR8o7DVefw
new file mode 100644
index 0000000000000000000000000000000000000000..c8af5eea332a6aab8942c27aa69a16a14822eb10
GIT binary patch
literal 7664
zcmeI1+iv4F5QhCIhVB#apd)>ixW!&{lSPp&x&;;}Xo+hJk;OoglWc=L&_2h$SbtKs
ze3E4+NaGYpE&>D@&J2gc`8cCbA{0(pCBsaXr6YXtPzo-bI8B^EDSTHrW2IxAC^1gU
zSpQxBmF8m+xn9I*lt`+SPXhTZ3B1JfBPFTil8i>7%e*M!Mi0~^vXai=li*A^A8M7w
z*9$1lzMdsXp~`ZovrNTRs&hwB<A)1Jdi!L1nU1AdR5}9*Ll3DSFvE75fpV*zdpouF
zVy%lL&1I#a70UcApNA_Fg4w7+Xw%yjsa^&zt68F)K_Xmo8dB;}?veV(MUZ%~M}f}A
zjfRtepGGccJ|`^nDGlAhBUF%W74zu!MtYVf^>*micFya6n)sE1Atg3<QVaA-J*y_m
z9k9sr;5lpYe7@jLm6eg7`|B}I&4S$)a$T%i2(Y_u3ren8AjJ1<C|ZtV5sI=Zl&UUg
z(~&Bi!6o!_Wa#FWH>BkhM^_3O3Fks)vCgLbFMaGXQ@66Px1}qi%Gu~65;aS!?{kYt
z&|MZyO4pKgs4iqakyR!0{!mY+vm8ob8CLt07@xYlztLqSvmq{;kwnf@LRer|bzA_M
zOw;_Mx>cFY7_+mji@1>3zPBx>d)6piiucy6NYou%UTW@JmpRACVb87cTlmz&si@2u
z7=4gM!f(gAk<I5v3%4)TUH>m#T-*3`uQEl^9OYvw*bDp24)+<g%=r^{ES}(($>zPg
zUGba0u-|;Y^+l{r1=yR`2OhwqseG-nmMf^{v%D&B?^>}iod373;%${_F41dzN3r+=
zmry1BtI9B<ufO%rrm9F|Ag;Z-Ep*h;hYVC)Ikr%>CUWh0l}^<^I=6X-J$4kSn?m2F
ziAv6~O%y3ypbcKb*8Fn8-qu~V=H3DsIXex!h}cYOp~@Oi*LWEDSm?V^@VXqd{)Pd}
z;!Il{-o)V2&GtN*%QqBUiARU}hJm$uM(WqVe}X`Z%MNrrn{@E@7n$K5YKvG`u5ThO
z@EG;%st&)_V1svP7h{%;T0BLci8T8jJtESu$<OM39@5ql*-&tW3&-Rc-u!hI;H`tQ
zZOd7Eac}edh(udY--BcAzA%GrC(&(v!7-GpD_M+Hju-kaf^G--owjA~FxuK{^rmTx
zKGa7aPd(FPJ-z?rl!spQy1=bncDc#(4kE7got$D6VdPt?_$F{`{UM9YBfP^vgIv>y
zBM=^`195!jmS&`LJ}W18X<Rol9WTsftGTZY-fko*WAvT6%g(lG5D@?WUn7Ym`3-Zu
z@>$$HBE?Ly7g}Fu-}9$nEEV1hlh;(3Juj67c{eX;H?NzQ**kg<MX!AazHRgd7y%PX
z0z2$!=^S^rx_$)W_*fdgGJ1p4Ao8hen)41aHt02ey4=T*_)zwmm;}V*dxpvldyNG~
zeNKHFiQ}`^Li8ZqVn~Bl=Srq|b#j$XfBwK{4^u!6?t76kAIRrE{ZfyB-&*H;>|rj#
z^ZV@QkCBR>MulVczBv2gL>8D`>-7HQSMyzCFH#yfq~eIpZ+kAkQLLd%3}r5prwnU{
zXRkc0HLQoD>i#AzF#k=(iTRR&45{Q86EZ1?cz_7fJT4T5(D(wC2pX^`^uq{s(KA&V
S?+knxh_B1p)TkhX$A1BrRQFN<

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/rRd1RWtsoDfVkLOAKR_zVR6fhTkJig1o7-6pG5mTFY8 b/tests/fixtures/geocoding/cache/rRd1RWtsoDfVkLOAKR_zVR6fhTkJig1o7-6pG5mTFY8
new file mode 100644
index 0000000000000000000000000000000000000000..769f1c9154f98d78f243367b54bd0dd15e08f63b
GIT binary patch
literal 10080
zcmeHNOK;ma5Y|sIbl*UHi4uKEd}t3%dkFScU_pztE37OAlHA>HkpI3z%CE?@<#dfr
z1JF0y!<mo6nfWwBeG!?6+fL0Y*|xDr#ZxPYh>KFi(^jNZ#7k`oqqJC-ZDIcCzm@e;
z$b~8vN)?nR1WQ77rt<kB<C;iHWkD616Q<J4>H#%Mb~2uR5d@3)L$9*=dJl@LueVAy
zx@~8ss&vtnrj7-&I4A&##$=<)6w)qg<Ea!(Je48=Gx($#Q0}x7c2av(7}Kb-mYoKz
zpe#MYJUfsO*m(_vhG-9@q6$!UYo+6<5`^DSMkvNPIEV0&g{EHaR{n-CzM+IslxLhK
zG-GV~3_6ly9UHesbF;2hzYlb@kGuX)I3aL2hFBPGp%;i+v+lm_p%au7fQ~)THw*sK
zZD-}TfEnZ1t~hO?HqD_4M#+c?Enk`-gmdQ%&q-{Z(RPj2-RJdcuA6xJ*}5NsbGYe&
zv|PcdwE}_UgZ{BH>t^!c^w?j|#ZkMSe}eF=%I?R;7=-01V>Xa`NiYSW|4~+p$-Oc4
z<W9o!^GF{}+sSGM`D7&_v~!xEd<>sdtFr#2zw64yhuz9izHKFr)6;X5w>yP<@#uvW
zX+y0P$fngfb1{^mC)l&sVOva5WwFOos}E!$ypNr`ldU($2pVU%&NJubZPl}<_FM{l
zWwbUEE<}qUm>*<4xrbt8CNoG^8%v|h55SWvgST0EDR^%fU+i{zW#sg7<WSh|%SNsw
zREg2;?wtK>OR;x*j^Th;;P@IiKQBSK!-ao)KJit`jYPByWvEEM*JY;_6eP=56SJ7y
zu5?otK(_vByVcQy1{qNC5WBkR&9xqRSFZFwrgjMddpuJ!9~<+%R9fA+Fh!8#gC_^D
zwaI_5cT{eixnGB)d7fk}aUT~w9>RM;@*b|nJWmlPDC4N7r~jF&Q+QUevEYI3=W3i|
z%1=bkX2pQ3a|&BKYhu9FI86gr2d*CW0fDQp%y@yTHy!3KvI1A{JMQQ*u69qq?}4jH
z>f+r)bYmP%Xr54xQqJ=1E&6Gex#rk|+)vRYO>*1v_#P7d6rEu*Vq!qigrunVMQEo(
zJG~p#?F#9x2MO(TKg8U6=9QC+K+%Ds|8qO-W<2kJqA_x`^)n-Hj*}FzEC;53lQufZ
zb9TPR9gMs==G-;jo;j(Xqlq0coaxgC49$}iAlZ>qVCcZmfuXn4`Y`a`-im~QH#EDy
z#=zU%WxNB1rWtV1&+s$D2}T$(PS~5Y(1eW9=YXFXTw=efg-$U}Uq#R?$<uHn9d4xE
z3pD$;UAB$l{u(c|(4mDM3lf+Oh8yXF+4XgAr0vZ;bW!^6$FhNfRl<8qQ0k#C@8lBR
vjgcY|Papz^P&68D+Try$B@oAXmS%ZMZxU*$0Xn_nn=bxr*DI?dnLhsuIHC<S

literal 0
HcmV?d00001

-- 
GitLab


From ed5dc859f1cc04da3202e3c81bd2bda115c45d92 Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Fri, 25 Oct 2024 16:27:18 +0100
Subject: [PATCH 06/33] ISAICP-8857: Fix homepage, discussion and embed tests.

---
 tests/features/homepage.feature              | 2 +-
 tests/features/joinup_seo/discussion.feature | 4 ++--
 tests/features/video/embed.feature           | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/tests/features/homepage.feature b/tests/features/homepage.feature
index cb6cadc67e..7b99e2e91a 100644
--- a/tests/features/homepage.feature
+++ b/tests/features/homepage.feature
@@ -185,7 +185,7 @@ Feature: Homepage
     And the response should not contain "http://raresteaktown.com"
 
     When I click "Read more" in the "Highlighted event"
-    Then the url should match "/collection/joinup/event/florentine-steak-festival"
+    Then the url should match "/collection/portal/event/florentine-steak-festival"
 
     # The "More events" link should temporarily link to the search page with the
     # events pre-filtered. This will be replaced with the events page later.
diff --git a/tests/features/joinup_seo/discussion.feature b/tests/features/joinup_seo/discussion.feature
index f9104d918e..3ae2201dca 100644
--- a/tests/features/joinup_seo/discussion.feature
+++ b/tests/features/joinup_seo/discussion.feature
@@ -27,7 +27,7 @@ Feature: SEO for discussion forum posts.
       | datePublished       | 2019-12-25T13:00:00+0000                                                                            |
       | isAccessibleForFree | True                                                                                                |
       | dateModified        | 2020-01-01T13:00:00+0000                                                                            |
-      | mainEntityOfPage    | __base_url__/collection/joinup-seo-discussion-collection/discussion/discussions-are-now-forum-posts |
+      | mainEntityOfPage    | __base_url__/collection/portal-seo-discussion-collection/discussion/discussions-are-now-forum-posts |
     # Adding numerical property values is turning the "about" property into an array comparison.
     And the metatag graph of the item with "name" "Discussions are now forum posts" should have the following "about" properties:
       | property | value      |
@@ -77,7 +77,7 @@ Feature: SEO for discussion forum posts.
     And the following meta tags should available in the html:
       | identifier     | value                                                                                               |
       | description    | This discussion is to ensure that SEO tags are set properly.                                        |
-      | og:url         | __base_url__/collection/joinup-seo-discussion-collection/discussion/discussions-are-now-forum-posts |
+      | og:url         | __base_url__/collection/portal-seo-discussion-collection/discussion/discussions-are-now-forum-posts |
       | og:site_name   | Portal                                                                                              |
       | og:title       | Discussions are now forum posts                                                                     |
       | og:description | This discussion is to ensure that SEO tags are set properly.                                        |
diff --git a/tests/features/video/embed.feature b/tests/features/video/embed.feature
index 53283d2990..aeb48c8792 100644
--- a/tests/features/video/embed.feature
+++ b/tests/features/video/embed.feature
@@ -70,6 +70,6 @@ Feature: Embed of videos into the page.
     And I see the "iframe" element with the "title" attribute set to "<title attribute>" in the "Content" region
 
     Examples:
-      | url                                                                                                                                                   | embed url                                                                                                                                         | title attribute  |
-      | https://www.youtube.com/watch?v=YTaLmMsaLOg                                                                                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DYTaLmMsaLOg | New Portal (1/7)                |
+      | url                                                                                                                                                   | embed url                                                           | title attribute                 |
+      | https://www.youtube.com/watch?v=YTaLmMsaLOg                                                                                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DYTaLmMsaLOg | New Joinup (1/7)                |
       | https://vimeo.com/7073899                                                                                                                             | /media/oembed?url=https%3A//vimeo.com/7073899                       | Drupal Rap Video - Schipulcon09 |
-- 
GitLab


From effe0a2e96902eab8596464fd8b828426924bbb7 Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Fri, 25 Oct 2024 16:46:09 +0100
Subject: [PATCH 07/33] ISAICP-8857: Update homepage text 'What is the Portal'.

---
 ...ager.page_variant.homepage-layout_builder-0.yml |  2 +-
 tests/features/homepage.feature                    | 14 +++++++-------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml b/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml
index bfd0078af5..ad38cdff1f 100644
--- a/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml
+++ b/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml
@@ -140,7 +140,7 @@ variant_settings:
             label_display: '0'
             provider: custom_markup_block
             markup:
-              value: "<h2>What's Portal</h2>\r\n<p>The Portal platform is the European Commission's one-stop shop for interoperable, open, and free digital government ICT solutions and an online space for e-Government professionals and enthusiasts to share and learn about digital public services and initiatives.</p>\r\n<p><strong>Portal covers the hands-on aspects of interoperability.</strong></p>\r\n"
+              value: "<h2>What is the Portal</h2>\r\n<p>The Portal is the European Union’s platform for promoting and supporting interoperability, collaboration, and knowledge sharing across public administrations, businesses, and citizens.</p>\r\n<p><strong>It acts as a one-stop shop for discovering, sharing, and reusing IT solutions and good practices.</strong></p>\r\n"
               format: full_html
           weight: 0
           additional:
diff --git a/tests/features/homepage.feature b/tests/features/homepage.feature
index 7b99e2e91a..56380031b6 100644
--- a/tests/features/homepage.feature
+++ b/tests/features/homepage.feature
@@ -10,10 +10,10 @@ Feature: Homepage
     When I reload the page
     Then the page should be cached
     And I should see the following lines of text:
-      | The Portal platform is the European Commission's one-stop shop for interoperable, open, and free digital government ICT solutions and an online space for e-Government professionals and enthusiasts to share and learn about digital public services and initiatives. |
-      | Portal covers the hands-on aspects of interoperability.                                                                                                                                                                                                                |
-      | It’s the European Commission’s initiative for a reinforced interoperability policy showcasing news and events about government-related interoperability, along with initiatives and best practices that support the digitalisation of EU public administrations.       |
-      | Interoperable Europe covers the policy angle of interoperability.                                                                                                                                                                                                      |
+      | The Portal is the European Union’s platform for promoting and supporting interoperability, collaboration, and knowledge sharing across public administrations, businesses, and citizens.                                                                          |
+      | It acts as a one-stop shop for discovering, sharing, and reusing IT solutions and good practices.                                                                                                                                                                |
+      | It’s the European Commission’s initiative for a reinforced interoperability policy showcasing news and events about government-related interoperability, along with initiatives and best practices that support the digitalisation of EU public administrations. |
+      | Interoperable Europe covers the policy angle of interoperability.                                                                                                                                                                                                |
     And I should see the following links:
       | How to video |
       | FAQ          |
@@ -23,16 +23,16 @@ Feature: Homepage
     Given I am not logged in
     # Visit once to cache the page.
     And I am on the homepage
-    Then I should see the text "The Portal platform is the European Commission's one-stop shop for interoperable"
+    Then I should see the text "The Portal is the European Union’s platform for promoting and supporting interoperability"
 
     Given I am logged in as a user with the "authenticated" role
     And I am on the homepage
-    Then I should not see the text "The Portal platform is the European Commission's one-stop shop for interoperable"
+    Then I should not see the text "The Portal is the European Union’s platform for promoting and supporting interoperability"
 
     # Re check for anonymous users.
     Given I am not logged in
     And I am on the homepage
-    Then I should see the text "The Portal platform is the European Commission's one-stop shop for interoperable"
+    Then I should see the text "The Portal is the European Union’s platform for promoting and supporting interoperability"
 
   Scenario: Latest news is shown on the homepage
     Given collection:
-- 
GitLab


From 1e329b24d58d662263e203673863b2579b954c91 Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Fri, 25 Oct 2024 16:55:01 +0100
Subject: [PATCH 08/33] ISAICP-8857: Fix more tests with Joinup.

---
 tests/features/joinup_seo/document.feature       |   4 ++--
 .../6tl0theHnxG2SP2MlBRg8XHjGB7bZq3QrbRS47An-nY  | Bin 0 -> 1825 bytes
 .../9kBh7S-ZXlWBj0ghdErinIuUV3QcLZsWQzajHrdlNJM  | Bin 0 -> 7501 bytes
 .../MUHn8W7ND900osZSt3bPOFIkoBlmzgs5E6laSTOtdvY  | Bin 0 -> 6936 bytes
 .../d5WADgs9dAeYhJAf7mKnHHIY7TkqH4yzwHn3EBbPZqc  | Bin 0 -> 6242 bytes
 5 files changed, 2 insertions(+), 2 deletions(-)
 create mode 100644 tests/fixtures/geocoding/cache/6tl0theHnxG2SP2MlBRg8XHjGB7bZq3QrbRS47An-nY
 create mode 100644 tests/fixtures/geocoding/cache/9kBh7S-ZXlWBj0ghdErinIuUV3QcLZsWQzajHrdlNJM
 create mode 100644 tests/fixtures/geocoding/cache/MUHn8W7ND900osZSt3bPOFIkoBlmzgs5E6laSTOtdvY
 create mode 100644 tests/fixtures/geocoding/cache/d5WADgs9dAeYhJAf7mKnHHIY7TkqH4yzwHn3EBbPZqc

diff --git a/tests/features/joinup_seo/document.feature b/tests/features/joinup_seo/document.feature
index 0d22cd29bd..9c322aae72 100644
--- a/tests/features/joinup_seo/document.feature
+++ b/tests/features/joinup_seo/document.feature
@@ -13,7 +13,7 @@ Feature: SEO for document content.
       | https://example.com/license1 | Some license | Public domain |
     And users:
       | Username          | E-mail                 | First name | Family name |
-      | Portal SEO author | joinup.seo@example.com | Scrapper   | Jedi        |
+      | Portal SEO author | portal.seo@example.com | Scrapper   | Jedi        |
 
   Scenario: Basic metatags are attached as JSON schema on the page.
     Given document content:
@@ -61,7 +61,7 @@ Feature: SEO for document content.
     And the following meta tags should available in the html:
       | identifier     | value                                                                        |
       | description    | Document test1.zip                                                           |
-      | og:url         | __base_url__/collection/joinup-seo-document-collection/document/seo-document |
+      | og:url         | __base_url__/collection/portal-seo-document-collection/document/seo-document |
       | og:site_name   | Portal                                                                       |
       | og:title       | SEO document                                                                 |
       | og:description | Document test1.zip                                                           |
diff --git a/tests/fixtures/geocoding/cache/6tl0theHnxG2SP2MlBRg8XHjGB7bZq3QrbRS47An-nY b/tests/fixtures/geocoding/cache/6tl0theHnxG2SP2MlBRg8XHjGB7bZq3QrbRS47An-nY
new file mode 100644
index 0000000000000000000000000000000000000000..0cea88dc43ef1164f3e86c80cb76d3b4eeb9181c
GIT binary patch
literal 1825
zcmb_dOK#gR5Y<r%?rZ30OQKe_Q*;w27YI;L;?yBRlL1KuO#+{#7wIk+>yVO-)UxF)
zvb6l>&6}Aw!&_QXVjW*eW-Xx$`f6!LNh>(1EnVc4Y(Te~1KkMQ>Yx2Dp*EBkNd*~X
zX_@hP)v}61Su`n6Aur}7@a9+5#A%az9;D&SF;d^sET!Z}PigMfNG$KZac;ocm6j4(
zC$u6o@j7x85?#VZQn$<pSyD3}Cuodm(z9uhJg{f;v+Pl;wc$cB2gr(Ki;?ElI|NNb
z*AR59_8lscsM2*DNX=<p&f+Rv%ojN}Co3)lYPC5;Cdq6bFUq*AcNiIuBZp>2jqVgj
z^*27l32A$rbq2uQblV2ZfW~PZ7jlGVTP(xU1bNr6k!S}nNW|X$gzr<WwOw<K6O+O{
z59x4H=hFGv_DJh}x_<ks+IvtwcQ&E&QCr943eDw_IOj6Siy}l#44v_<P}lGTG7Q}p
zF*4sCG4?9T8&@%gNB?DExNB(G#CvQi9q~A<`DCm1Nh0aBliKqkHklF>sbPdT!6kbJ
z)Aw{b#-9N{vz?&XCo9fAuK3soAJ&|IvgWY6)7kf3PSLDOcoF8oIuP>9EiRh{#r@_4
zTTas)8o%>Pe-axmDBi73IfILJ@&K-efBSoto^b4dIJg5ZCAosm+4f#C6`q8tuwJJ{
zescAlgbQ`jvAtL)w(z1=u+)WpHu_0$;7hCwuMTd?(PM<Ud~49m@cU61q!je4-vaEr
tW1H|a#Pk&*cxzh&c-XNRPLm?7$|9M^@vOp=8jcJenD)VTTh9^KyMNqOWdr~K

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/9kBh7S-ZXlWBj0ghdErinIuUV3QcLZsWQzajHrdlNJM b/tests/fixtures/geocoding/cache/9kBh7S-ZXlWBj0ghdErinIuUV3QcLZsWQzajHrdlNJM
new file mode 100644
index 0000000000000000000000000000000000000000..fe2ea00473e33605721610da7785ec96b616c967
GIT binary patch
literal 7501
zcmeHMZExE)5Y|sI^xcN|rWg8C><!(3E(O*V`%<8gMcUyii<v05-Gcm}Vn3sQY)49R
z9b1;2A+Qt7$rl?w9*@Vn=bk&h;W773C8l|5jL$=UXE@=0ri4E>Jfz%TNS$dR`9hgY
zf2hByV!^`*&u3!B1Q9bTWJaXG**qdNVN}jTM(21I!#Ar3)QGf7{qY-4F!x{8D$Do3
zfa3i9l@O&gW~%dCW|h)~&ylr*f+5}^SufXFY8M%QoN~tR6c1n<ymuQ=?z9uOSG$*K
zT?$pCl?1JzEZnhqx*@@_^BM?kTe~6U<zQvC64D<F&Vo@);wWJO1MiUNz)D>#)=TM#
zM2rL!5sX=g;&^-y8iHL7jaR*yUKOG~2HH8sr2Y{u2>gv96t+)L3wTDas+-30C?sKw
z!EW4PcO(B<n#zjP5vC*xS!~7kt1oo9R-Yh}1l0PaN54#4{WQinLdbcc;|5wUn5vYr
zx?U}3vh>H-pq)TaZl88bI$gqTIoY0AF{{~Y2*F%ce>K7odixaHVBL`HG2vF5D$S>m
zAcsvz#Znco<tLfDd$y6ilQylyZkBai%hg)pcX98*E-4TA-MtMx2&#Rj%^<p}65P_6
zkJIMYI(@pLqml3mcM)|2O=P}M-~Jg42kz6KE7^XOg@u|vJr>8D4EHBL`YvR8?y6Et
z`L`}w|M%ThsXr+p#RQIOI0E-?fhFvvIO=vo6LZf2mM9%X422;<Ha|MD`vIP9qS7#q
zMl1;uoJ7ask;|)>l(BHLVD4}Fb1~5K!K7Rn;}WhPN;dP@Kz;HV#R0W((pP{U<Qf#s
zlVmip#nVM;-*!ImgFCRkGjm#$@p6ks{@CgR*-ngD%eLvAaQ}BpG76(yDj!%@XY;j9
zEo@Wk35~YZ?ZED>(Lg5rAAk%D99TI3IIwcVZt}!-lSkOSFP8i7YHj?<u^;gFU7;!|
z25&1%%xn@~EoG@P;FU+?{=2s)$9)%^&zg>sc$851Cy9-pN8x@Fj945;1kq!0A2Jm}
zY>S^fnuj`*QIc4A>EVej4;_M?A+SnnGo*_mG`w|9M6G^CBIJl`hesOumWNvXEJ}ck
zUWn+ai70emXDwU6pMTDCRcHn5`(WKz1L%3H7NF@g&2NB$|A)eL!G7c29>w`xfq&N6
zZ#h2>5o0W<|LCJ@faU%%fGbMEBnpD~=oa8<N&%c8v?GyYO97Z0QiS8sR=Z<rfprn|
zL~-I498nCcLr{VVt3C0Onw&$Ekr&j?oVzak-`bf=RXDaP&}Tmhx(ukBw~6h(0334}
zP}|oUZ?h5{nvtJnoCU8uXYC6@;C;V-`?`R)sezDoVE9GC3zr#A(_00zeK)vnrig=|
zw4MtC(+!!cKRym#$+~krzMVKZ`a;|DQfKkjS3t_-ms?fBcwh0M<&Mx2Rp|nHxcY6w
paA0~_DPh(GZ=r&t2q$rbVA?Ta%nk^_0ojerKAP3i>Ila7{{mZf%f0{r

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/MUHn8W7ND900osZSt3bPOFIkoBlmzgs5E6laSTOtdvY b/tests/fixtures/geocoding/cache/MUHn8W7ND900osZSt3bPOFIkoBlmzgs5E6laSTOtdvY
new file mode 100644
index 0000000000000000000000000000000000000000..b2afccf72e4d5cd8f7f0f6fc3c5d9eba04b8e2af
GIT binary patch
literal 6936
zcmeI1&2HO95P<n80`DUBpXBN!t3}Zwu@A1BOMrqRH}WDBnQ|$ojo~NiWAw#3yA%~!
zq9_S4Xd&=ThGu6+voqiP_(n$3H+4446JvZS<fD;P`l-(RiIIXyf1%2>%#>Vcla_xr
zf9YZ&DN;nF8O<<HKSe1H=NS<Qp%BH2s8}R(%wiTYs|VC%NuBtU8%c@ue`!=!AK!!G
z{NpssDrL;9%yX62x-5K&tsM*u@s7!Qd6_2mkntyp<nmEV1lN#**MM@To$`a)y|gT=
zOczP5Kr1K{dp6IuBqVWO1EF1Ox1_urtgKg=@+X<(C=d*h2*uzW8Xh@V7K_bE76>6i
z%=qL9PNMyjYiD}%a#duF^?1+vtL9617jQFy2-r2e5%5g8s_(7AEDl&K;)q}{m~<Gt
zKJZnU+RBrFMp2AuXvGifFUqRX&vC#x3Zo<HRnn*z0Yl)t&^e*Q@2wL|T`5&xua<LF
z`IBqwYzW2OAG;%+Ea8ouY)^!k)%+a<UasqZ*1`~QhZNfo-IDAv;Y(@iB%eWA95*4!
zmb!SS9#rn0*~ar;va}NWxz+I~(~ZLK;@-1c5{cyFlZ`xxsYAauh2W|ya7$+v&eq>H
zNz)Y@YYDG#57ETWmC6_Tzkf&Lk^A)5O0^$VVFA;p$I{EmNdM|*--S%iTh)50zLiDm
z|Gu}X$_JgP><WIWkr>>+gGjhbOWf^-b<AA?j2MO7jzfZp&5w@Uenzov7>%Pah&ZC6
zNyOo31QtguJ_3uDMb63)v4&k8aldBQ21eizP6*)^&ONMaVdV6ah=e~jjtmr6pHqZf
zMenPg&yWEXe-JQ14PGZ(-*rATH;)kIod9TI>E#xx{>17#gu0DvOQ~4;A8dzI810DE
zO~}o$21?hK5X2JV1&wxT+{x$7?XA%m@OJYpS$$S&<gn{dcB<)v7Xq;MuF$p0Mz^)?
z%|_*?(R8UQokDAQauK+@9lQv*C%)*8l%W6#f?~{V$e&vT1dR#hbl{#8Oy<x<AHno?
z84ye`>f}!;1J)&+yB4;?A?vEKT?GW;oV@j<L-(YwjedxwU-MiSrG`fQXu-G;^25~h
zhpLu3htc_s{ol6`-b)Vv^x_AAF@=5_hnx{{F8ncL0SYmv6rT!zH(9^U>;um1u<m-*
z*4U25*Xrx&)^3wVAClZ|)lTQ+&}}Ak^3xS;j$mbTPFp#>8@#P#7mpSk1~H--MeJO%
zj6)F+5=J2sKP*{b!7lxulKeq6b64N8>CzX2t_ge1Q5MFl+e8=j==b|_nVdx!EnSg*
z!5N$$=UY32KM#TaxqZ_+4$DMavQONw{`P)g3R+Kq3)SCWbOlRWEys3g1DRAO3kZT{
rV{If1aA~DrX#oG%$|Md+96{R>MS-yE66oO5dzF4RtEE+eCQttZuqqZ{

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/d5WADgs9dAeYhJAf7mKnHHIY7TkqH4yzwHn3EBbPZqc b/tests/fixtures/geocoding/cache/d5WADgs9dAeYhJAf7mKnHHIY7TkqH4yzwHn3EBbPZqc
new file mode 100644
index 0000000000000000000000000000000000000000..33c437d2d573eb923cc40abe7f36ea2c8139662c
GIT binary patch
literal 6242
zcmeHM$!^;)5Y?v`x+m2_Ev8SkQM89HXbZHL0tGEj6t=SHid45C9~AU6@?#xRlH=I2
zsuVdis0|-vWH|FU8ooEfyrL;}mFA0rDdp0bUMLz;Hxt~QDH;>%<{&f4f#yPG@?-N$
zlsQdU8ZFahvh-s{Sdc&z5N>{wXc<D1aQud6eqj8d8_qOyXRl}&Q1@x$vik4>9Ty)S
zb6$Z`3t1G9X(3CO`UVF<AkLp`okC{JEK=@_A@mDDJq!~Z41><C_b@u>-N~e^xG0$h
z^oq{nJ<N+O3mVw0q0uhdEi0!$l)C2N&Nz*{)070k)SF^*!sHJNWtneQlG8BpND|L3
zaiO=ru+62jly%7w{7Vy{2U%yQbOoSa)~h8{=1pPRg48^O_|A5>v$Ke;a5K1MO5Ha#
zOy*D&f>nHSvUx=BjA`p`Als^5KF60>2>qjr{JLh97En!~uH^dq3QF|)#5{w7$$RnX
zv$aIDhcKG5=sfy}a9-8l5g;f7ud0=Tq6>D&#ab%OiUroFvBZ4%p6A&`1Dj!dCCcaU
z6$)EArpoq8xU<-=csz{zX!gyWTTvKd!?O2Hr4EI2&GEoD+ncp6h*KEs?#%c@TYm_U
zQ??}#qsuqfS2-TT3CBw4a(%L3Yk@h0o20ABGbzuw(tt-F-{a&dd;`_g$Z#;jLZ+ZE
z1r6_ctKs;q4%O0V{N$eTlfT9P=+;>njX%0){Ly&)hL=XN!^rJi8Y=CzwX%d_P?x$w
zYU)*$Mf=xA1cIIe+*)i7i?Knj%*FMuhAMOM1?khWW-g#K3^U}XIR}=i=TBTK1idG^
zL9fLMe#+9GoMBd9SMsaiz~`2QePogy$;VhN%V4}cQnTUyA#qLoz*N=U#g)X#QC&^y
z2C8aXT|;cs-U*b}Thx#B{8lr5i(dv>ilf#Z;Gm5z|A$&TzOs7hdy~4Y&f%!MroFpq
z@{Y>;V3arLZ$R3i?B7w|&?hOG+K=r^@2<e1=S5zW1|&|$DlztE$N@V|$-EhY&3M$`
zQZ)vSlC?g+nalmi;0}6lxAx7z!l@m`JwGyyMqkI)nwPTLc2DAIGVC9i8Hif{Qxf?$
z3!|raJM#}{Z9DTnnDKqQ3=C}g*kBwRj7>w(^-|+2>)2p)$-Cn%(y_sKAPt7O20@8|
z?`u)vZGoUC<^m8IRkPgQt$XwWO;8oH3h-te|3Sd1p9Ir1@uM_7C8@E;yN&D|vd^ks
J86V#4@;B{hGui+E

literal 0
HcmV?d00001

-- 
GitLab


From 11020f61559fc2f248e72069ed7f59c94c13b6c4 Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Fri, 25 Oct 2024 17:49:27 +0100
Subject: [PATCH 09/33] ISAICP-8857: Fix tests with geocoding.

---
 tests/features/joinup_seo/news.feature           |   4 ++--
 tests/features/update/update-ISAICP-9083.feature |   8 ++++----
 .../1cr3CBZ4x5MLGVdS6CkAVQ6_PunQe3nqQfQDh-HlNxI  | Bin 0 -> 8902 bytes
 .../V6uSx7QH0EVyfGSgi6vf7pz1K_6AuSicRcRwfw0Bkro  | Bin 0 -> 9358 bytes
 .../WxlIrQcZuNuWDqlKFh-ErZ7Go11jHE3RqEmQ6fVoy38  | Bin 0 -> 4179 bytes
 .../acb9Sdut5Em3aZ8RS2cgaIGT_Lb9d4UEuipzr-4KrGw  | Bin 0 -> 6241 bytes
 .../jYbuVpp8Ud_TqEDSJ4iXE7xQtYFkGnj7BWfjPvMVuGw  | Bin 0 -> 7702 bytes
 .../tChq-9AHmY_1uXGoZk6AJ9b1mO5NIdXpnPf7xeZvTSQ  | Bin 0 -> 6242 bytes
 8 files changed, 6 insertions(+), 6 deletions(-)
 create mode 100644 tests/fixtures/geocoding/cache/1cr3CBZ4x5MLGVdS6CkAVQ6_PunQe3nqQfQDh-HlNxI
 create mode 100644 tests/fixtures/geocoding/cache/V6uSx7QH0EVyfGSgi6vf7pz1K_6AuSicRcRwfw0Bkro
 create mode 100644 tests/fixtures/geocoding/cache/WxlIrQcZuNuWDqlKFh-ErZ7Go11jHE3RqEmQ6fVoy38
 create mode 100644 tests/fixtures/geocoding/cache/acb9Sdut5Em3aZ8RS2cgaIGT_Lb9d4UEuipzr-4KrGw
 create mode 100644 tests/fixtures/geocoding/cache/jYbuVpp8Ud_TqEDSJ4iXE7xQtYFkGnj7BWfjPvMVuGw
 create mode 100644 tests/fixtures/geocoding/cache/tChq-9AHmY_1uXGoZk6AJ9b1mO5NIdXpnPf7xeZvTSQ

diff --git a/tests/features/joinup_seo/news.feature b/tests/features/joinup_seo/news.feature
index 4da5ce2857..847421e8ad 100644
--- a/tests/features/joinup_seo/news.feature
+++ b/tests/features/joinup_seo/news.feature
@@ -27,7 +27,7 @@ Feature: SEO for news articles.
       | datePublished       | 2019-12-25T13:00:00+0000                                                |
       | dateModified        | 2020-01-01T13:00:00+0000                                                |
       # __base_url__ will be replaced with the base url of the website.
-      | mainEntityOfPage    | __base_url__/collection/joinup-seo-news-collection/news/joinup-seo-news |
+      | mainEntityOfPage    | __base_url__/collection/portal-seo-news-collection/news/portal-seo-news |
     And the metatag graph of the item with "name" "Portal SEO news" should have the following "image" properties:
       | property             | value                         |
       | @type                | http://schema.org/ImageObject |
@@ -52,7 +52,7 @@ Feature: SEO for news articles.
     And the following meta tags should available in the html:
       | identifier             | value                                                                   |
       | description            | Body of news.                                                           |
-      | og:url                 | __base_url__/collection/joinup-seo-news-collection/news/joinup-seo-news |
+      | og:url                 | __base_url__/collection/portal-seo-news-collection/news/portal-seo-news |
       | og:site_name           | Portal                                                                  |
       | og:title               | Portal SEO news                                                         |
       | og:description         | Body of news.                                                           |
diff --git a/tests/features/update/update-ISAICP-9083.feature b/tests/features/update/update-ISAICP-9083.feature
index 2da416ce0b..df2839c783 100644
--- a/tests/features/update/update-ISAICP-9083.feature
+++ b/tests/features/update/update-ISAICP-9083.feature
@@ -301,13 +301,13 @@ Feature: Validate the migration from video_embed_field to media core (oembed).
       #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | demo_iframe.htm                                                                                                                                                                                                                                                                                                                                                                                                                |
       #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/Rk8dCnKIfP4&lang=en                                                                                                                                                                                                                                                                                                                              |
       #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//web.jrc.ec.europa.eu/dashboard/AI_WATCH_LANDSCAPE/index.html&lang=en                                                                                                                                                                                                                                                                                                   |
-      #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//interoperable-europe.ec.europa.eu/&lang=en                                                                                                                                                                                                                                                                                                                                           |
+      #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//joinup.ec.europa.eu/&lang=en                                                                                                                                                                                                                                                                                                                                           |
       #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//app.powerbi.com/view%3Fr%3DeyJrIjoiM2FlOWZjYTMtMzkzMC00NzE3LTlmNTMtZGQ3YTdhYzU1MGI0IiwidCI6ImIyNGM4YjA2LTUyMmMtNDZmZS05MDgwLTcwOTI2ZjhkZGRiMSIsImMiOjh9&lang=en                                                                                                                                                                                                        |
       #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//app.powerbi.com/reportEmbed%3FreportId%3Dd92ff3a1-73db-4f6c-9048-f319cfc28ddb%26autoAuth%3Dtrue%26ctid%3Db24c8b06-522c-46fe-9080-70926f8dddb1%26config%3DeyJjbHVzdGVyVXJsIjoiaHR0cHM6Ly93YWJpLWV1cm9wZS1ub3J0aC1iLXJlZGlyZWN0LmFuYWx5c2lzLndpbmRvd3MubmV0LyJ9&lang=en                                                                                                  |
       #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//flo.uri.sh/visualisation/5015342/embed&lang=en                                                                                                                                                                                                                                                                                                                         |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//interoperable-europe.ec.europa.eu/sites/default/files/custom-page/attachment/2020-08/SEMIC%2520Conference%25202019.pdf%20&lang=en                                                       |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//interoperable-europe.ec.europa.eu/sites/default/files/inline-files/SEMIC%202018%20Conference%20Highlights%20Report.pdf&lang=en                                                          |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//interoperable-europe.ec.europa.eu/sites/default/files/custom-page/attachment/2018-01/semic_highlights_report_final.pdf&lang=en                                                          |
+      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//joinup.ec.europa.eu/sites/default/files/custom-page/attachment/2020-08/SEMIC%2520Conference%25202019.pdf%20&lang=en                                                       |
+      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//joinup.ec.europa.eu/sites/default/files/inline-files/SEMIC%202018%20Conference%20Highlights%20Report.pdf&lang=en                                                          |
+      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//joinup.ec.europa.eu/sites/default/files/custom-page/attachment/2018-01/semic_highlights_report_final.pdf&lang=en                                                          |
       | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/xVWnBWWXIROImv&lang=en                                                                                                                |
       | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/FiS2P6zGZbqBbk&lang=en                                                                                                                |
       | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/4QZYbqSYvKa4FA&lang=en                                                                                                                |
diff --git a/tests/fixtures/geocoding/cache/1cr3CBZ4x5MLGVdS6CkAVQ6_PunQe3nqQfQDh-HlNxI b/tests/fixtures/geocoding/cache/1cr3CBZ4x5MLGVdS6CkAVQ6_PunQe3nqQfQDh-HlNxI
new file mode 100644
index 0000000000000000000000000000000000000000..55ff0a4700b21fdbc5ddfa74decc851191b3ed76
GIT binary patch
literal 8902
zcmeHN-EY${5YL}d<(<iPY{zk*Scd=!#>WdhAfYt2N<^AWaSDuS|2t==>6#|XQkd8T
zd27}4`RDWbe)rKgQb^xaYLUgp_>#*jBLnFtsq*JWaw`3mE|NlNxk^n^e6GKx`ATxE
zLXL5w30H#Age(zLNur`)$(cYR7F<U{#a0ifQE>$y-^hSS|9P#l{PY?WXP=%bRcd1v
zMV9HLN{if=*y5l7#Jfw@%Zenni;O>yC6iaFM6eCHbsJFbv<K`~?Osw8rAqU-(x4TT
z@ebz2o`fXMY9Mroc2CO70A;mN+Mg@Qf|G!uNN})C5Z<w_$XC0CPxuMpQACNDU&B(=
zUAi@<w=6cfs?p;P`qTPHxEC-p0S`C?UJH1p*i>Kk03!;3Ne|$y{C90CD{f(i2!+%h
za6o@vlzaLy;?W%&==f#>9tjq5XNMlsH+C>psdaU}Sub_z&(E#F!5a_HdmtUJ;hLQ6
zfRmWb@)h`AmR6TrVeq-z6k9K?CE-;`|7^3&(%e3cAv70-sp4z_kHkvCHJzbw_Vzvd
z=oSt@i`6>KU+Hf;a~@z_z4MM5iSD!O@rS27g*W0}YnK?p2E09DpUcp8zLkSx_u8t#
z<YgASKezfo796;1*PU$cZp%mv;bH-fU0u%h%saf+MmBqS*QpHd8F?@sdD|gIBc}I^
z*uK57wuU$KGSAKI-6p=AEoRTooJ)>`er;n{udE{i2)}TPCA_NMIPUHkeyzi9Uv$|@
zc#UU3z<OEgEY2ON4XvpC0b&-cc;>s<((9--&MIB&pGDrpih;OtQ5N4)rPV1M3Op4a
z$N`<gUa7?W2i^v!$3k2*;sFV*uk;W>i}AY5MF@TX=Asc5p+!8Bx_IPpj;F4jNd`7(
zQx^vIny3q+??DpSCKX5*hq&a1i<*paqOO)n8;(4ZbpLJYf`I<Ms31FzXQvZ!**N~k
z#O1O+uxlsDbUgWJh)Yn$U6OM&afwhw;omR0sKD5jP(6TqN-iEbS~-Td?k2_-ZwVg$
zZ?uJHZ$Bb5Ra`eE;4ZJ8Dz2u1^_xU{OvN?PmUrLvmMi%mKW%X;0+*8Yu)uJ=B@heA
z1JD*noE}qeiGT*K^VgHVZ+WiODx@I^B5RVd^;Rgj2>!cz>%|8aPQ*14S1KQ}RS0d_
zbKB>iEud3A6<qgHaJl<@^vuN&4j8rvKAO2A8f*jhU!8G{Y2@t>xnN)gTxW@BBy%xD
zD7Hh5vCLJsB5lKb8gez+cHMn%ji07YVW;=f)Fd!YnTA}uf#OthId6af^Z+9+JNSbz
zrhi<dB}~my`NXmVv>&T@<^I2c<Q0ejTO_51e_z17PDvb+NQ6`ncEXswJ_xnR7oB`H
Lo3+(}=GVUfT9l8U

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/V6uSx7QH0EVyfGSgi6vf7pz1K_6AuSicRcRwfw0Bkro b/tests/fixtures/geocoding/cache/V6uSx7QH0EVyfGSgi6vf7pz1K_6AuSicRcRwfw0Bkro
new file mode 100644
index 0000000000000000000000000000000000000000..ea92fbb7137be9f6ed1663ba7869be7cf9677ef5
GIT binary patch
literal 9358
zcmeHNL2v3f5YA6QxfjKDVkhR*a#-!E?OUn4+RKwxCNW?&#3%``Z@21y-?2jig%F_X
z7LYgsGoFv}c)ppjzwwZ}MVSm!Q4}tx{I%eOyRk~#LBXld-HFt(P9&eGBG!LbpHw#C
zV>%Lu2tSJDC<y|ejr@@q5y8g9^D)If8HoVCH|xMMi716T_{It5?l0An`S%A{IQ@Q`
zB)Ke#p-xj7mr7?YM+S!vK%9NDPO4*JlnQqsc)(v3_rMI^X$BUztCL{o>Q1b6o~TTe
z5>|!9=oaSTngqwzYaq0Vc1_Aj0cE*Jq&rAB3HppM6oeR@L)acgolP3e8y5CMOan^T
z;0<)WZQZ3iosnK-NrfM6;lHbXgq;CLV~BxG=#_v|=tVhgAk&ai0~xnKUMjrEqBQaq
zP=<X(jlymVna<ZN)K2NJAjP_cAOb|j6D{tqJyDdol;z`MHj=qJcr-qTh}`_g8`5G1
zTV-WC0;O1t?jinCRsLh*9Km+nE#hZ5A5$?i-<WXUWynNstqFK;=kljj>A*JEMJduD
z92+AEz%UCuY_&R2ie#p;d-+4AHXKakZyl>zV*3=fY~5|M;7Z(iXGNIEQXHAn(`C+u
zZ1cLyO*JMbHQ3#OSr23(nzvor$YyrqU@yRpk0!QyLy_wgPP27Wx3bA}X4l^o$Da({
z9`$bP4RjFuOFYZo5Kd_oS$qEU8gBB*xXIxzUk~E$f4YV@_+-4n;don)>w&P}OvY)I
zwNwTK0vne@PH1H!yRGnRMI3FpaVg={5rM(Ae`czbN$;sNwA9n%-tA20Dz;(WwMOM@
z$icA0lWTKjM^Y-)O#Z90I`?(uqFnz_iA?UQ)CZ@0qeK8(%M5VdWE}N9>;WAgPsRx2
zKJ!^bNbtpM446?wd>TQtcW`CH#ud^qA_udv^@<<(-3A&mUb-R-7(Ej@w%pwj=_~r(
zR}rkU?!JoP9ScIa+eLmW@~kV~4{|MV=xMnY>YgFgGGm=*>auwD{-ZqWe=={GgVs(d
z+ocTz)vC<w{Vww7V``f#c@@t5Ao8*`;8~LwMSbQW7BObRr==}>*Mh$5BvIh?Jr5eR
zuWls)GmX4};;@@rR^(-nB21&mvQbNtTsEIgFKOKpB2p=|xMiuZqOYYhJXSIJ>AT7Q
zhrVpn7)3M;&$4MeHIc!#-@+v9`GPnMg8KnxYuN%&-#je}RUX^vo|4H-r>oLbzw`_d
zUs(+1pw4HvV0I#K)+|QCKA|imwmUhF#UiioBhO<f`r;1EKn_@l&Aj1|4$J~Y9wCQv
zm~jg8V1l~GLc?Lk0?3D9<%&z9Fc{ZC9{Y7Rhlz$rdw=McteC2~%?Dj0h|O^*C0=kH
zhr*4@R?h%M(}OBtoS&;>vg~Q+pb)~p$?;g`h0ZQ*7`i*4Tjz$&hOLc8Pe{xVE_Wi&
zrXq*ioV|@{gZbK89@<*ky*+PIHWNUEqsUIwTY9LD*3!;JLj;}a7qhaRT82?@=q=@P
zF6vjMN81>Ev$Z6~1V*%)q_((atF^3##J*1}XIv65Uniq$RQjP?$m?Wu^~|H@xFaup
zuai;3ueBTNtHD!V>lvDdG$wz}RSr$N;y31E9t!nROyG%u;2wVk5lD`4F5$Wo9up-{
f;o~TT+cFRJL;LUrYK(X)<L6=lPbJK=owxr0!*?yK

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/WxlIrQcZuNuWDqlKFh-ErZ7Go11jHE3RqEmQ6fVoy38 b/tests/fixtures/geocoding/cache/WxlIrQcZuNuWDqlKFh-ErZ7Go11jHE3RqEmQ6fVoy38
new file mode 100644
index 0000000000000000000000000000000000000000..f1921d20437407da2341f0e39c99e662c5f0ed59
GIT binary patch
literal 4179
zcmeHKT~FIE6wObm@(zk)Cvn^-S|KKl!2_H2f;73YDbdoniX9k3{qMWZM+t43mZ_SM
z#$(mvdylWrz31kdQRZqRrWx1TWg&ak3^O-Lg*(<PB+Q*ll_(+EJk^Q%QU6NwIZN&W
zUq~;E5=lcJ#S%rcIG7Raq43TZI3^yQ0mjCGFoGNIj;|T^nR`)(EN;I*;OzEHh(c;T
zRaqtzld9Zh$nqdS#My^+GL>+9NV{XseD<6&57PKM(?IYlIu3S5cM_!vk>=b;hzh~N
zEzZ*p!e)i40cewL2jyhI(v(8FW5EJ+8W1n^A`(D#aJ1*7%IE8&C*G;&BhL>gCX^sT
z5cTnR1yQ{1C{1OZnJRNpUj=PlWm5kMj|8{yK@OX@r~!^vrMZ7$kE0+4@_rBb=D?%W
z#^P(rB=YQK2NL9}=q8|ENQV<h-bvs^p@*tM^gKjc2yF@}%~iRW$-*69L3j+>+`RAx
znlIqdD(rw{bUC{OC1$C4YQUhtU4gA;Ya|eW7r9iqQ2A)03RTYUN9u0$RXxgL^ocJr
zY2e|8c`lVUJexu@?dQqGBF!)5gUl*D*e=*=u@<r2kv-}-TL*lBJFl{Em?+Se$ad0D
zI@jXhroDx0IXRi-?v8D|x_H|~USsp>=`;h4p6Bz7=halR6(2Zcr=6|iDrNqWDf@?0
zMxe`!Lc$0tMzuUD6&y?*ADKEnocf`PKJYFpJKTD)m2JSVE^|{r*Y!^QY4dMAr2D2%
zgK%20*vfy)QzOObGZ>vv3tRc2leJ<115Y+_s~Oa*;hL{W7xK5t+g=@*Kg&Wrq(X`b
zTuw6ty|ZD$kgMq{o4VIk--+FkIKTn1hVf>%qu?}{{&R~XF`)<(`}Bud93>$^w!{0R
z(pX~G;-Dmy#&57V3aeH8P8<&82*RDnVgc5r<<sb93G3ai;av;A>w4hPovAj|108Rx
z7Rj4)6jhl9%=nf4z|J}3Ixnu(uAP5ra>0kmRlfXxnA~dt_uA8X4e4wY<jA&c=TpBq
zuCuqk2D1Lnv&VYL-g~OUIXE)s>YHb{VlC$#LuUB!n)=7)Ftj<?>VS&nuVq@mGLo_r
zyHUd^Hhd1>2Ap~986aSONwtT<?kpIJ{Fp|B((p9G_8~!4$-PW|>Jru@`|Z8@1EYCu
Ak^lez

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/acb9Sdut5Em3aZ8RS2cgaIGT_Lb9d4UEuipzr-4KrGw b/tests/fixtures/geocoding/cache/acb9Sdut5Em3aZ8RS2cgaIGT_Lb9d4UEuipzr-4KrGw
new file mode 100644
index 0000000000000000000000000000000000000000..02fba8b67f34119aeb067d492a8635eb175042aa
GIT binary patch
literal 6241
zcmeHM&2HQ_5Z0qCbhk@M)F1cMT?FYNP0$o*F98Z#94l<J;#Q>6w1yuj=wtZBI;5oa
zdRME+fe$gVKFRQK=HqbqeKYhMmN8!&v97q*K1<k*W)brXDg32o31xl>s!#%0DRrU#
z=zf!R$ub&6*SUxxf;fzLl1D&E&eJfvCLyKds<@6J6sh%tZUi^nU%p{c$o!X`%jVtB
z=(u|KqYw>fy;fBPg^{ZESzvKc1mb<k)~i&(?IP_jIYPgYj9{4XWEgbryhrg#?_Qx)
zBV^4DpjUL39ARGXS+LM$4UG=b?pb*iqBN}le<@f@E;Aa2Imt0OQTm02sxEgc>1C7>
znkLIzTu6==_PO+~R9g!K|Jnu^K{nWF(*T&)?dA#^ds3LTFtZ;Kp4s7c4i@nZZU&d+
z%zxX$Vg*$tc_S7VyHE7axpD3$vaQ>zS9pk(H2(~de`$GRBs2?X8@0Xr3^jUvVZTAc
z;&=Jy2WN?BPhqrWF?b9R;i_prAwbX;Uejs~)e!8Ii>=azS8J?MYl-;?2qA9K#AdkI
z$odt0gvynUt+JyM9xRS49xvlDnqzbCK@^VIu<Qd{sZ-&6dp+=EN3%8r@hXemUs``?
z8%zQ6>b?XLbout~bBWh*A+QpLTwkpDR$>m}KIwY#lTz108^EiN=eT$Ye}nF7WIC8-
zAzRS5l0{Fv)oA`!r)p_7e)`1t>DS`_;lW*)jX!>3{PBGJmX~I-!_4j6S}Gm2b+UwF
z(AK6wY8q9Qb^q5+1j3OE+*|A}i?u<nEalyQ9aWa{FQiY$nx%x=GR%~p?jAU*UcK<0
z5RBgF4!w~Z_*d2L=1jBtwoxCY0I_l`93Yb%NIu5uSq9@Bk(vwl4T)<Sgtn?4FRnC6
z&+2MZH&Ipl>Kb92_M1d$eL($K&%YWj9`MUVOL5lP6CAYD<?m2y=U3J!eeY7Y*EyV(
z*S2@}P2O2~pN;Z{;|)kZlzltO8wE6@x%+W_>EjhRA|xhp7Sbe}tHjuwAqN~ZC97@-
zw&T%wOVt^8TD9i={ahZz7I!#;ySMKK7Qx&wPJ-Ar8e<(>Z(gfr-#tz8blN{~I}r8$
za~cOO3$v$qH}g+uZ9nrroAG_V3`}hL++ds=j9o)8^iuOH>)c=r$$R80(z(HSCJlyt
z20@8|Pg~jGYk_1J_5lzX)$r22trK>GCa8)<1NbtI{~!=7NW(l!X&OYAVS?uPv{Af=
N;)8BC)&*JK{ts2ZGerOZ

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/jYbuVpp8Ud_TqEDSJ4iXE7xQtYFkGnj7BWfjPvMVuGw b/tests/fixtures/geocoding/cache/jYbuVpp8Ud_TqEDSJ4iXE7xQtYFkGnj7BWfjPvMVuGw
new file mode 100644
index 0000000000000000000000000000000000000000..6f8fc27ffa38682229dee796be29774d73537ef9
GIT binary patch
literal 7702
zcmeHM-%sN>5bmE6<((+D^V5Bz)e7m3W2NKReOc+0#->=8#wbqVIK=;cGfv8uHceYC
zYKz3ap&idm?QgzsX7ZIM+%>fr7nw0GkNC6UjJvrK?$Gck;O<oFTnovk%H;a*<}X!F
zxfFy2gvr}XMq!+!WWxN2_;Hj8DQP5g5!@!3oS+|YBeFVkhhI6P+`VXARzLm#$Hk9x
zAu4IiSQmxNYo$w<6U-xkL<ZYz2ZhcvJY?Kq#zX$BxDR3I#xUUAdS~HA?}J?HN~kic
zC3ppA(OS;qB@0gNt%1>Mwo6un0<x^<Lb^l2S>z=lWf7%tIV|3CP?yu!lV@@2g{hxJ
zj0|7ktiOJ?z0Scz&r1RMUtx@n<Q8_OuB5E5=Cg^cT5EW()t|Croz38fSkFDzXy%hk
zc%4GkPpvV$$|lG7j!Tw3DcoyQXT=z>vpt1O%v5<PA7o))5+8jHQ45Q8077l7r@L-G
zcoQW<JSa{OIDO$<C^SGh7R2Ttg93ARhv*M%Nv~~bU&UZae^b>|l?qC3>nW^myvP^D
z={x6a;k{eVPy{0>ZlUh>N%;k9pfiA_6e#3*SyzC*PDU8F|JxKW?Rf3hVz9Vb3b4E>
zRV{^cT_Zg>`qnw0$x7w+s{4F2_iP}TdvopD>g{~`Ci7a&<bS$cK)kOUD*d2@6eIYV
zh7*9?3ROd_7LE{a4gEIUDUjkBBVL&JX_%%6+I?7&gsBId7}MaB6ag_-aA}ezwv>7Z
z`VDV^HuurhyRjpv?@`$iE96Q(I@fw$-#Op20!4lkjV#C>n51RNLsL%5-SatUG>GFq
z6mx!aaEh_&apDvcdTHwWB-y+1B0=IYKZ#SCesau0l}?RXj@@|uBDEZ~0i)1HU6=at
z$@!MSAogS&Y<_YD&F3dMvS04MSa%EBj#a17e}%*g5**<7?Y_=@kHo;LDKu~JF9>}a
z?aGnRmjmurn$l4-xx(7u8QSHJw!ASI7*uear)}y!rBMjE(~i!uJ@6<^jrN#vLV_r^
z_L~Egx>^cAQbOYX05ba-AdY>)n7xRPG=0O?hr5@$6tIUuB=jNw)CX|@&{11WK;oBj
zT4d#3L+w#zfWUiSR1#*}%2`4|=ZwAH94l^lu5XUmbM3(pgZ<GL!}(j>_Mdre=M@j$
zdFc`Co-u*--FICT!Z=^{!^okh5QIg$`1l>Rze3ND9J;u9u`*d&cU+7PK8x5#J?UA5
z!6FwWBHdqa<G>62D2~#dcfju>vo__31uVh0-$7<=qH*8{yXtInDU>lRqMit^I@?@D
z7&Q&Y$I@8>qx}dzyEuQU2VmR3^kZr6)croHYv7BA>nD^3_SC7(W3b>ps{SIs;;QF2
zSs7{9qg$k8NfwT{3nx%oqj^;T(bl@Oa~OU>*(!uf*&k7c`(VAJC?8tgKI&Q@?+G|h
z{(G+~*vTk<hF^(5s_SeDOU;b?{25FDPPuLApbZtA#57IfAoW8piP0YBpZred|Cl+5
JI(|NV`5#GZ7SaF!

literal 0
HcmV?d00001

diff --git a/tests/fixtures/geocoding/cache/tChq-9AHmY_1uXGoZk6AJ9b1mO5NIdXpnPf7xeZvTSQ b/tests/fixtures/geocoding/cache/tChq-9AHmY_1uXGoZk6AJ9b1mO5NIdXpnPf7xeZvTSQ
new file mode 100644
index 0000000000000000000000000000000000000000..f535f5eb1a4aa4e46f376277e4eb569d5444d090
GIT binary patch
literal 6242
zcmeHM&5qkP5Z0p@y6;Ams2|g(+6a<EnxHArUIG+cajY<rMOUPfw2OV9ppUUH)*&T%
zy|%1qgFR#s`y|7|nUAC4_s!66SjK#9#H!?4`z&GCnnlddrSKP;C6xIEs9XtPh19wF
ztNkXcf{`qZ(j<)VLwK}KAYG><g*9A7K(jF70ZG=J5bFos2yVE)c*CNQ`7c_R^}Aou
zary2SA!^WirOFa=BUR-yVsTIe;(g23D^<?zBJD3YLcf+Qz%b#-FzDQQkK&Wwy<DkU
z$ch_4ujni}!o1qEV4=$z8XcnDv+_zrX&M3kLa;cv%xD<SgE=NAO24sCRmE;4y^PX;
zrpe+47Y4@*yIgu#s;LBme{BN{AnWb4sR7LEW^)C#eN&jWFtZO4zO%#a94z7++zc+6
zGyiP^vn7<J<h7Vx>>klO=f=4k$+m8;Ug1kDrTM3i{9D6oBcYx_Q>*RmSE$hIbNdV$
zW`D{LADtzlJ%!PhMemUy!e!ljL4cqwyt>gE%0AdB7h9zbFIQNj))MnUf*^2<MmEF6
zMpm!j6O^uWY?U3AaBp#3@pu@I(Hxt5_o8sbhGkD|rH+O3?eV}jJD9aTh*w(d{=)i0
zTQUa7tGW_M(B<3PuLT~%nZQcubA7SmTZuV@yQJ&cOQqIA8^EKF?{W45K7(#+WIUK<
zAzRQll0}ca)oA)w$7*RZe)`Dx>G$G)cJC}q#vea2{&+fm%S#j4Vd8dfER_!0I$1(7
zXev`9H4UoDs{6GSfpFjecNV+DVr`Hs3wirrOO=KE8|l-rW+9=n3^V4ZJqM1em(P7C
z1cN8KMQ`K={#BJbIpeIpt<@(fKr9^#6J(MD$;Vh7%V4}CQgh*cAaPAeXshbs;!2bB
ztgbe7BUQDpt`W9re@K+pd(@Bh{JY`e9>0vV6lbkH!9hD+{t2~qdSwmL_bzpNox@pq
zZF_gu<eioG$tZ6)+<<gL*^i^V5uq8KyN~NjAFjYr5X3>8g*3^gDlztE$N>jU$+8`S
z?RYfYQnd!2R*iXoH<y#x;tmIJclPbTBA6S-0}|UtW2j^6%qvyzyQj%K9rq914n&>*
zIgN?S!sIF5&HN);+s*t>W_+J610$P0HyGyzW7iP$z0~x|IyV@7@*a4LbZ#)7NP}Uo
zK~Q4g%U0HSTOiqmy#Pc;HN0?l>jAq)6I8{#2D}-^KL`XPX*kbPnq~BIPBXN}yN&!k
N<R5jju|9&u&Ht|SGfe;h

literal 0
HcmV?d00001

-- 
GitLab


From adc0c017bd51884215ef642bc445cfe738aa7ee0 Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Mon, 28 Oct 2024 09:23:25 +0000
Subject: [PATCH 10/33] ISAICP-8856: Update all site metadata post domain name
 change.

---
 config/sync/joinup_user.mail.yml              |   2 +-
 .../sync/metatag.metatag_defaults.front.yml   |   2 +-
 config/sync/system.site.yml                   |   2 +-
 config/sync/user.mail.yml                     |   2 +-
 .../joinup_seo/basic_metatags.feature         |   6 +-
 tests/features/joinup_seo/discussion.feature  |   2 +-
 tests/features/joinup_seo/document.feature    |   2 +-
 tests/features/joinup_seo/event.feature       |   2 +-
 tests/features/joinup_seo/news.feature        |   2 +-
 tests/features/joinup_seo/rdf_entity.feature  |   2 +-
 web/themes/ventuno/assets/images/og-image.png | 177 +++++++++++-------
 11 files changed, 124 insertions(+), 77 deletions(-)

diff --git a/config/sync/joinup_user.mail.yml b/config/sync/joinup_user.mail.yml
index 0eac8eba2b..f6f9430eb1 100644
--- a/config/sync/joinup_user.mail.yml
+++ b/config/sync/joinup_user.mail.yml
@@ -18,4 +18,4 @@ password_reset_confirm:
 
     Kind regards,
 
-    The Portal Support Team
+    The Portal Support Team
\ No newline at end of file
diff --git a/config/sync/metatag.metatag_defaults.front.yml b/config/sync/metatag.metatag_defaults.front.yml
index 639dfe8c6b..e14d2f6dc6 100644
--- a/config/sync/metatag.metatag_defaults.front.yml
+++ b/config/sync/metatag.metatag_defaults.front.yml
@@ -10,7 +10,7 @@ tags:
   shortlink: '[site:url]'
   title: '[site:name]'
   canonical_url: '[site:url]'
-  description: 'Portal is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability solutions for public administrations, businesses and citizens (ISA2) Programme.'
+  description: 'The Portal is the European Union’s platform for promoting and supporting interoperability, collaboration, and knowledge sharing across public administrations, businesses, and citizens. It acts as a one-stop shop for discovering, sharing, and reusing IT solutions and good practices.'
   abstract: 'Portal offers several services that aim to help e-Government professionals share their experience with each other. We also hope to support them to find, choose, re-use, develop and implement interoperability solutions.'
   og_url: '[site:url]'
   og_title: '[site:name]'
diff --git a/config/sync/system.site.yml b/config/sync/system.site.yml
index 6689692d9d..94c5253f7e 100644
--- a/config/sync/system.site.yml
+++ b/config/sync/system.site.yml
@@ -2,7 +2,7 @@ _core:
   default_config_hash: SKcRZ92wOLqxmvjxKFB1GRz1A33514Ew1EoCDsel4As
 langcode: en
 uuid: 8cc66be5-4630-4d15-af31-269ecbfae7cd
-name: Portal
+name: 'Interoperable Europe portal'
 mail: admin@example.com
 slogan: ''
 page:
diff --git a/config/sync/user.mail.yml b/config/sync/user.mail.yml
index 276ad88a65..e194d1cede 100644
--- a/config/sync/user.mail.yml
+++ b/config/sync/user.mail.yml
@@ -125,4 +125,4 @@ status_canceled:
 
     Kind regards,
 
-    The Portal Support Team
+    The Portal Support Team
\ No newline at end of file
diff --git a/tests/features/joinup_seo/basic_metatags.feature b/tests/features/joinup_seo/basic_metatags.feature
index 532e202d9e..137bc1d706 100644
--- a/tests/features/joinup_seo/basic_metatags.feature
+++ b/tests/features/joinup_seo/basic_metatags.feature
@@ -9,10 +9,10 @@ Feature:
     When I am on the homepage
     Then the following meta tags should available in the html:
       | identifier    | value                                                                                                                                                                                                                      |
-      | description   | Portal is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability solutions for public administrations, businesses and citizens (ISA2) Programme.            |
+      | description   | The Portal is the European Union’s platform for promoting and supporting interoperability, collaboration, and knowledge sharing across public administrations, businesses, and citizens. It acts as a one-stop shop for discovering, sharing, and reusing IT solutions and good practices.            |
       | abstract      | Portal offers several services that aim to help e-Government professionals share their experience with each other. We also hope to support them to find, choose, re-use, develop and implement interoperability solutions. |
       | og:url        | __base_url__/                                                                                                                                                                                                              |
-      | og:site_name  | Portal                                                                                                                                                                                                                     |
+      | og:site_name  | Interoperable Europe portal                                                                                                                                                                                                |
       | og:title      | Portal                                                                                                                                                                                                                     |
       | og:image      | __base_url__/themes/ventuno/assets/images/og-image.png                                                                                                                                                                     |
       | og:image:type | image/svg+xml                                                                                                                                                                                                              |
@@ -22,7 +22,7 @@ Feature:
     Then the following meta tags should available in the html:
       | identifier    | value                                                  |
       | og:url        | __base_url__/collections                               |
-      | og:site_name  | Portal                                                 |
+      | og:site_name  | Interoperable Europe portal                            |
       | og:title      | Collections                                            |
       | og:image      | __base_url__/themes/ventuno/assets/images/og-image.png |
       | og:image:type | image/svg+xml                                          |
diff --git a/tests/features/joinup_seo/discussion.feature b/tests/features/joinup_seo/discussion.feature
index 3ae2201dca..2962dcb5fd 100644
--- a/tests/features/joinup_seo/discussion.feature
+++ b/tests/features/joinup_seo/discussion.feature
@@ -78,7 +78,7 @@ Feature: SEO for discussion forum posts.
       | identifier     | value                                                                                               |
       | description    | This discussion is to ensure that SEO tags are set properly.                                        |
       | og:url         | __base_url__/collection/portal-seo-discussion-collection/discussion/discussions-are-now-forum-posts |
-      | og:site_name   | Portal                                                                                              |
+      | og:site_name   | Interoperable Europe portal                                                                         |
       | og:title       | Discussions are now forum posts                                                                     |
       | og:description | This discussion is to ensure that SEO tags are set properly.                                        |
 
diff --git a/tests/features/joinup_seo/document.feature b/tests/features/joinup_seo/document.feature
index 9c322aae72..55364a04f3 100644
--- a/tests/features/joinup_seo/document.feature
+++ b/tests/features/joinup_seo/document.feature
@@ -62,7 +62,7 @@ Feature: SEO for document content.
       | identifier     | value                                                                        |
       | description    | Document test1.zip                                                           |
       | og:url         | __base_url__/collection/portal-seo-document-collection/document/seo-document |
-      | og:site_name   | Portal                                                                       |
+      | og:site_name   | Interoperable Europe portal                                                  |
       | og:title       | SEO document                                                                 |
       | og:description | Document test1.zip                                                           |
 
diff --git a/tests/features/joinup_seo/event.feature b/tests/features/joinup_seo/event.feature
index 90d447bd07..87e674080a 100644
--- a/tests/features/joinup_seo/event.feature
+++ b/tests/features/joinup_seo/event.feature
@@ -65,7 +65,7 @@ Feature: SEO for news articles.
       | identifier      | value                                                                      |
       | description     | Body of event.                                                             |
       | og:url          | __base_url__/collection/joinup-seo-event-collection/event/joinup-seo-event |
-      | og:site_name    | Portal                                                                     |
+      | og:site_name    | Interoperable Europe portal                                                |
       | og:title        | Joinup SEO event                                                           |
       | og:description  | Body of event.                                                             |
       | og:image        | __base_url__/sites/default/files/__random_text__.jpg                       |
diff --git a/tests/features/joinup_seo/news.feature b/tests/features/joinup_seo/news.feature
index 847421e8ad..666a24dcd1 100644
--- a/tests/features/joinup_seo/news.feature
+++ b/tests/features/joinup_seo/news.feature
@@ -53,7 +53,7 @@ Feature: SEO for news articles.
       | identifier             | value                                                                   |
       | description            | Body of news.                                                           |
       | og:url                 | __base_url__/collection/portal-seo-news-collection/news/portal-seo-news |
-      | og:site_name           | Portal                                                                  |
+      | og:site_name           | Interoperable Europe portal                                             |
       | og:title               | Portal SEO news                                                         |
       | og:description         | Body of news.                                                           |
       | og:image               | __base_url__/sites/default/files/__random_text__.jpg                    |
diff --git a/tests/features/joinup_seo/rdf_entity.feature b/tests/features/joinup_seo/rdf_entity.feature
index 14edf7432d..068df4ccc2 100644
--- a/tests/features/joinup_seo/rdf_entity.feature
+++ b/tests/features/joinup_seo/rdf_entity.feature
@@ -50,7 +50,7 @@ Feature: SEO for RDF entities.
     Then the following meta tags should available in the html:
       | identifier   | value                            |
       | og:url       | __base_url__/licence/seo-licence |
-      | og:site_name | Portal                           |
+      | og:site_name | Interoperable Europe portal      |
       | og:title     | SEO licence                      |
     And the metatag JSON should be attached in the page without context
     And 1 metatag graph of type "http://purl.org/dc/terms/LicenseDocument" should exist in the page
diff --git a/web/themes/ventuno/assets/images/og-image.png b/web/themes/ventuno/assets/images/og-image.png
index 1a159a6d3e..fdc479a33d 100644
--- a/web/themes/ventuno/assets/images/og-image.png
+++ b/web/themes/ventuno/assets/images/og-image.png
@@ -1,68 +1,115 @@
 ‰PNG
 
-���
IHDR��°��v���xž‹n���ÉPLTE;vÿÿÿüýý÷÷ùÐÒÙÔÖÜúúûeq‘èéìôôöØÙßàáæWeŠÅÇÐÌÏÖäåéñòôž£´\iÂÄÏŽ•ªîïòq{˜*FzÖØÞ>wÉÌÔÚÜáit“µ¹Å}…Ÿ»¾É®²À‡Ž¥7N~L\…@xìíðw€œêëî0J|¥ªº<Q€˜ž±‹’¨QaˆÝÞ䢧·mx–#By›¡³«¯¾²¶Â©­¼`mƒ‹£ÆÉÒ•›®¸»ÇAU‚¿ÂͽÀË€ˆ¡’˜¬t~šEWƒGY„‘Gï��;ÒIDATxÚìÁ����€ ý©©����������������������������������������������������������`öà@�����ÈÿµTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU…=8�����òmUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUa����€ü_AUUUUUUUUUUUUUUUUUUUUUUUUUUUUU…=8�����òmUUUUUUUUUUUUUUvíE'a ˆèL[kK¡ˆŠ(¡@•‡5,ò±(ÿÿQjŒ”>€jbº›Üó
»“¹7��ÿç½ç®+ÓIÛ_
Ÿà6oîÛÉÊŸóÓˆ«æNlËä]J·p1šüÒ‹Sæ/ÆRÊ™5×Tþ¤Ÿ¬	@D¦3Ôyª])dç…c_m“lŠ×¼e=€h®Vg|Äpô@‰_ç]Ú=I¥yê%ˆä½mpºæd°à(drjr„€0-•33*7GŒ8N¦Tès¶!�1œ—tŽ1­k{±rZ¶Vè+É‘Õ!8ä6™®U‰š÷)'¬@5G•ë^ý[~c/ã&‰e°öœ§ç	≓–$*'èh/AnŸCú‰7Û{îÐêóŽº@Ã}»Ìߺ¯Á“Ê$‹&§@Þî4YÓ
Ô+™¼eŽHã*‡Ô¥�—Ž…S¼$&œ¢N�9ªE±tœ?6xK"%ø%޲òßýŠœFšk¦§(@®n&Ê6.f”‘kñnr×)p\5÷XøÈiæ$‰öî´;M&ãøu"ˆÜ÷÷¸›˜³§ßÿC=5DÌò“û÷¢gZ9mOsú3 ÐQ_Ѳßé_‘ž)Qà!½î\ð—…IÚev¬!½åÇÜøÈ¿)åÀX€¢­´RßX”h¥Š`¥Ö‘JΪE•–J»¤:ŽDÞpÆ‚SJÓ’TÎâ`%ƒV®òPS#—Ù†‘KM XÚeàX”è
¼šèQ§%kŽ˜Vi%”EpúÛ‡Ú*£֘蘗ºwh‡ÜcAiË´”kàƒR:-å¦Lˆ­‹µ	Vš¶h›þ#î©úsF;Ê`,(aýV_'´ÀWèdexÑPI¨ X´-Žã‘7hKëh&àØï3lÑÒ>ãfôÌ{éÓ©	§Ø5mJâ˜4Ò´A>š5dì÷¹ÑÈ¥öñ9õHÀÓ3ö7Ük?dãÞl³WG¶]<¡Ñ+VŒ%D.i€Ïš>ÿV6± !†×Æ?å&|ªEÏÒ}›Þ‰DÏ”ÀWâ²?ìü'U²#rYCaþƦ‘Ù9æñœLDjäô(ï°…«9ZɰŸý]êW^ÆõLró@˜½‰Wr?ckå¦tÌO¾›&.ÀVrö—Ý´¾v¢|˜ð¶÷T&aQ•>+`ì7¸"ר‰/ÒVI&€BBëfûWÒ`Œ¿G‰=Š•^Õ08æ'±!½rN9Í‹)æhÖðèÊu�™ØjPÇÊ[‹ËGÀ‚\Å–òÕc\DÀ{wE`
-+Y“:¦¤¶2‰p5G§½á]˜«’‘&£‰Êr0u-2³€F¤mßu<C�LruJrÉ|[‹±_àbû$N1 Eà25rƒõƒCà
-ò!Z`D6ò
-õQ\΀û”¤áYC'ÁºÁÿoN+éØí•ÉûHûEz2	VÏš°dwìëäŽäøÉMRŠNzRÀ€®êªØT€CÒ°6ð¡.eÚ5š‚1vôfäêcM£�ƒêë`EîÝ#g
-(‘òHE�a
-eÜA‚rÛÁ‚à‹¬b´M;š‡§3ƼuuŠxÑrSU¤á:X£G8Ϋ6)nž"÷n¹†T¬¸©jÐh'X)¸ÕšùkÚ”;¢Ç"0Æ<ï¾A£'�e_ΰ*p”WgXRÚ&%ì¦î’B;ÁB9˜T4z¡_ð{©û
²	!¼2¢6�]Ç:XÊŽ“x‚L�ªFi9™u[—:"”Ü
VX"a†@4ã‰\ÆŒO¯ûúäªlÎY߉)/Áª¹=ê$–.ÍÑ¢‰øÐ†I1¬ƒµ³^3€ŒIˆ1öKävf°Ü%	£œ*‡YÎr†­ºÕœh€®˜äâ$;ƒˆ›2©˜G6”#9Êb­$û&«3~Ù'c¿JC"a€
a¥•e�$5aTݺêè–Ví¾¤F–vWºš+‹‘Oq8XŒ±½SîVßâìÀWp°c{w±Üâ{tåÃöçp°cÞäÊà›»&ä`1ÆöÝ#Ôð]l,øÄÁbŒy»ò¸"l\”{pÔª%y»<€Ð˜NRpü;¿»hÀq3.!Ø××66eUÂð‡ƒÅóÖ!!…-§Òjé{<¦¹6[«µ¥%}Õ€°9®œja`¡®n2ÞÆl[Ùn_ñ 7‡q°cž¢$Hul©œ›4+é+Q]+GµlX£9©˜œHŒKæä­Õ!øÄÁbŒyy ÁÀ®Ðf°€‰[®š§»|z*~j¹‡¸Áª•á¨Ö°¡MB>q°c^j$$ý«ý¼ù9ªAHw×Á*ôáßbCS%‡”…/,ÆØžU§þƒµ~¼L؄Юƒ¥¸öoÎ’•à‹1æÉ aî?X÷îaR.MéÞ:X±8Æ'oîU\ÀcÌ“EÂаJd�°)ù”†#ÿjëdǬŒM·‡<b†ƒÅóÒ$A†ÿ`Meµ'"ô�Kd®]|	Ö©†ˆM§$\ÁcÌË“×-¼q²E±dø%XÃdŒZÉP%ãôVÒ¦¸+4Ñ-ž‹¤I¡¤¡5ìNöÍ‘
-üá`1Æ<$¼6æDHHZZÖÓ'@›„40­Ê$å¢@]±Œty½XÞ¥Ò¦¦MÞÞœ“ƒ/,Ƙ—	óÔ„«QêbC6ÅŽö!o€æ`1ƼTH(â;•H0á‹1æÅþöÍDy‹1æåž„¾S˜Ï°þ?ÙD{°ˆÇãýT%Ìo
-:Zÿ.KÂ%	}Ïa%úC¸*gƒ:YÛ†ë_ªÿáéy€vªa¸óÖå¼ß¿r°vdã·!Ó’èÉ2•ò"Šcs“ÄÏÏÏkåÚx1ÏñwLÇÉ¢¦KôLÒµ\òÂþæºôº\»Ð䁛 “ˆÄ°gh„3UäçèË«Á¼CdñЬSì˜ÙYÜ$Ù"—V½<î`õ&“'|™a¼ IäÉ
-Í*M|zfàû{F¶=°ý3?Ÿ-•6É"»?$[Íð`éÞÃÅ,žoOý¤¡’‡–Rkƒ¡áý(…,…î*cY¾ðd¸‰S­‡JŒ®Põ…3(�vL£\5¬oZ‡-H´¦&oŽ6XÃj‡jŸ7œth?Yé×ñ%ìˆJŽN¹‡½î—Ƕü;µo
™¼u®ú
,‘ÔÉ¡æ*Ø'’HHŸgáC»lH´‡®ÄoðÇeIÐ=ƒ•U5�·_kF§ÀT–ó5ªM]nH¾¬ø×D£¢Ó†VéHƒu.¯+2Æ'Ý_é䗳󸬧=Óx_]¡g–wõúŠLû6ëB¦g….ÞU~ɏÆáj‹üQCý.þ4„'¯`UÜÿìº^+B�#樠HÑ}Áª’pÏyPi‹\9Ê`Ð+ןŠG­C‡±®‡ø”áë?Qz¿·7&½Pð”äTòIŠô§Hu£]ß_d½„wdÇ&BN†ñ‡™$T¼‚•¢[�6¬ƒeRB|H%ƒÂË÷ØïVè+^ô•‘i‡ž8Â`ÍhCõSép’RÁÇeMzMšÃ[¾H¯©¯®ÕZtôyA8¥
ŠÿC;uxy*[t°ˆ?+FÂØ+XƒU°n×Á2èҍÐås°Jû‚¥‘ðˆÏè¶hIbë«}ãø‚U’hƒÞÇ´sôQ£9>ªF›:SxŠÓ&oI\©t0½À\NT¦MðòOêçDz˜”éCŒ?›¬2	wï_žÑl¬"µÝlõ"î`DÿöK%¡ŽÏ¨‘K½îÁÑHJäê]°þcï>·×0_!¤I‹TéEAÁzîÿ¢Ž`Ã$›O|~eÍè¬YSސ]B4¨”«(ݸ|ÂA
-
Ò°Õ¦Á9Lš
-¢uYIØ©Ð@.XvíTáÁbUҐ+%»`-%ÀÏ¿‚uÊ[ ¡tñÈ>Гsج2Wrp£'F­²
-Wº¿-X=™1ìm” [¡pA£(ì¼Ð(ƒFEæÁ’W›FyØHÒ(“V]¦+¡ß7ÁγièJÁ&X(²V½•º­¯`½0uÿTdy)õüæ褣¬¥'6Áºñ`Ö½é=æÚË/ÖœF’Žý\Õeº§Ôz|È ;74Já§aŠ®ÜõpD=šÔa­%Ñhaz’n)Ó‚'e½Gr)¦©±)QIæò@6“c±	p£L\·ë‹pöùwrk·c	Ë1÷º#m!óÞÎáôv'>Ö5M–ØKG¥7ÚçØW‚&
çqcš!º¥Np<ešœÁÚh÷—6%z ™Gà„¬ï�/Õ73�zõz~ൺÒ�Ð|F°Ò̾_dª+# R}3ÁºæÁ˜»jÓŸë–&qì¡U‘虳öÞãw²ýk‡ÝSú8š<Mа¡I?ä»ô†TÑ0c®Ä J‡+š74ó:ò	ÖÎE’ôR»sÔ`eðé5Do$
-Í>XÑCƒÕWè™Ë de¸– ^l`#™ÇK¿2X}WÁºWè-©þŸkÒ¦WJláË`
Bô’v`ér¥1Z)®ôáŠÌ7R2ÿ—`5á^¡÷ãë^¦wÔlù2X•žßu¥b=A@Ï”{X4±V(g°Ö˜Ä?/2Xë}þš«7áÒ?^Dµƒ
àk¥ÉÌ‘ƒ¥×è©vvü¬ŽÆ­¤vé¬v›Î¾IßÖB1» šk�œçH¹¦¨Ä	ÞÜw‹%µ´²û菫‹9 ×”—N·]ªVcúa¸æÊ‰ùxÖä©CøÅ˜&[W)Fêå¨Ájlï®»›¦ç“H³/ç³ýE¨+q‡®mò}¬s™ö´ðtÞƒÁ([‹)Ü®Ô@€Ä,†3Š<½UyôU™y�™îxéPa¬_SäêßÉþB–ã@X5+®xrìsš+Òĸ·3çø]Æ4y…å‘»—ÅÄ›P1¦Ê¿åüˆÁZÆhKõË:ŒzO‹˜Äm’Xó_°î%ûîÖ^`§÷œÐ¸M2H;üõ¹"E°¡Â[`$©øZß|³À›èrr¨ð]嘲UjuNñFR±é”+Zîü£>ýO4®h¿mæÜøÀyX;iÅEv„MÉpNqåùhÁj&i#uR…­Aº$Ñ^©�+þVZ¢µT­Œí
-ÃKn¡þç{…Ï@6ô\²@•ô¯`….ðfQŸ±ô¾Æ0Ã$€ñõEž!s°š
-WN=z×ÈÔ=VZ}™k7øeÆ4`·'™ÛI±iG‡µÙ8,ïøîçãËþ¹¶x¡c»æ4G[	Xñ]°ìz¥¦¯àÀ$!ÑV2@{ûÕ¸"eð­Ëå:[¯_Á*u𦾘3 Âp•E�F;Œˆ³dÖ£áWvÊ~ý{÷´^¿Ëñ]û×
6¦
-Ö‹Ì­’7#lÕK—vK|°²‘6­('8Ъ´3†™ï‚5”hEêp(s'ÑN,8ãXMÅt›ê²ñ¾ƒM°f?1¼îT´³.×È"X…+wp/+ÑDù}»\§iÒÀ.e[(g/p`ö Ñžr~„`Q¢é,‡Zã­)˜ø-Xs…ri{ˆ„h'œIï¦ì$G�’„Åùû#á{ž:LäYzÌð@Ùâ‘0ÌiÔi$ùç埛µ„=ìIÑžüØ„C½›mÉ¡Á²W*cS‰¶{äù,Xy™fÒc{š«´±@PŒ®¨Wøfh(ƒî'ýõŸ/™pËzCÒ�ô9ÕeMƬƒuáé�CZár¿E°
-Øn Ò–bÈÕÎdi´£Íþ‹`¥®±§N›–î`ä¯`5s4S;Ø_a!ÑÚ=‚baÜ/cÈX|yÇ
-0*™-hæz(ñ¶Ï)D9-LÚÒ	VV R–ºåÈÏ]Bå8¼Ñ‰îÌ¿ÐþÁÒôUœaOÿœH´¡6ެð?ØÛ LKUø)X©ëM¤Z©ÚD[yA@|´EÉãƒâ›ËåÊ-
ûj˜¤>Î(¯.Øâí/iü•91Tнû’Ä5¥øK·ˆÒä
-[-h'•=(ûªÃ1ñÁRnq)­$[0ðQ°¬hs˜¸\õÌ䆬i$༲xÖ<¥Wf@ë¹6àÍrüXàÍàí¢Œ7tm}¡_§ß\ë››îuðÐ+Wä_ûBdHÛ<ÓNâ)<ÒFý¸ÁJup ±D70ðw°Ôe¿¾)Š {=¡e&‹˜‹Þ⊆ßêž&NN>0“‡8س¼ûU›ø`%ã.º/ÑLáër	W®%Zé# 2²·ZzI®á/X‡K/ÑZ·"*-©Á²ü­O0ðq°B¸t¡Ð‚˜C/SÝi?Ÿ1ÿ‚å"X7´VÀ•^ˆ–¬h®,h¦4ñƒƒu¦ÃµªL±ß¶ZÍíd,¥
-œ}+ük됔{e…–ÎZpI·éÉù‘‚U,À=º³·>VB‡žZ˜" 
-I®ÉÏpSÎÿ‚ux°.i©Ôh%×;J°b=¸õOŽ&ò?øÁ¯ÁŠ^ÁR 
-g)®i¸£?lΠþÖ†ì>Áº¦¥
-<Q§•Å1‚Õõ",;ÿhü¬d¹¦…0‚"/mäÆU‚äÉ_°¶KFŠùÜS¡%#>XÚ^HÐ$§ã›_ƒ•ŠÃ35Zø¥s0W\¯Ò3o)™Êüë `=ˆÞîùŒÂ‚%fÍzSÞñÕŸÁ’ªðŽ^¤Y28« ¿6D<½‚ÁÞ'Q©s™kÝæ_°>]8ÖL¢…Ò<sU¢…sÑÁº†G¦»ŽÓòe°nà¥eŽfiÆ×t´XÆååäçÒÇåà/XûëŒÚÿÀCK•fIÁÁ:ƒWz))K|óe°¢ðÖ“D“ÜãBæ;íû[&øár°1!¹TøÁš=WîB¥X©ªçˆqN#e×,A‚öó&²‚%f˜é®™Þþ–6‚ÇjÁþˆ…Jìé>e˜È;æ»pËßÁŠ÷Ã7IÉÓ‹VDKÞçÖëÓ,&2XÒ¼óªì‚ó_°†ðZA¥‰Š�)wùA©°‡É%?=è†7Qw>Vïºds,B6Äk&ç…u˜fsÁ:—îh$°ÁwÁŠÂ{sšê4èÆ?¥¦
8ùÞnZ¾7›CÖü¬ÆT£­Òøo‚õ@3­	Ï5S4)	–˜©Õ­ïü,1“:4¹D Œ~Ò*8PNHü”Œà›žà»©/ƒÕºÑ¸Õå^š;VO£Ù5¸§Y^X°jðV{ë
-hßë"ÄšL(y•_ä³9¶{íÇ6w©.`ÓU”ïÒ>V'É]¤Ó†Ð`i°2æÑîš—49,1Ë“k[‡oü,ùB<ТÛÁÒº‘ù-W«^ÁFó:¬ð[,ƒFŒkRÖoÁÒ+¿É¥Óþó¼Z=V*7tóðÌ“Ã`%i¢”!D^¢‘V¬<V¥‘ÔÀ¿«#aShSÙ´áÓ(ÄMr´^]Â`v¢r“6ÖaòªrMyòW°F%~i/ª-lh72¬ô¬¼ájçi
+���
IHDR��Í��À���Y9UÂ���	pHYs��s��s±Þ¦Ø���tEXtSoftware�www.inkscape.org›î<�� �IDATxœìÝw|åá?ðϝö°-[Þ#¶ã8‰3É&!„ aoH¡”Q(:(£´´¿ÒÒEB_Ú2ZZZZ(ÂH²÷v–“xïmíq¿?l'q$[w¶ì|Þ¯¯àÓéî‘tÒ}î¹g5UõKêÅ;†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(õP€ˆˆˆâO¦˜_"A£ê]"Lºÿît
+ørŸˆÇ0LZ•„¥“»Pì �¤“• H€Ý-`å¶×釪˜‡Œš*…^ˆˆˆN‚�¬ù„¬äîˆ H�©'7KÇC3$`w%pÙÚ¡+¬BÎo϶ËBohîy‚ÔýÿN¯ˆ‰V'oÊS7	DDDÔ‡Å$!+EÞº“r%¨U¡×‹ãÒܲÖÓ«ý(°È[—Nlž&Cöh˜
+J ±¤B¥ÓÃïqÃÛÑ{Õat-$ÿP‘ˆˆ(,bw»Yë
+ 
+±-O4	
+Ê*²j‘NÂЬ¨Ñ"óÂ[`*š�©ç_@�2k\Õ¨z÷Ex:Û†´¬DDDD¼†RÈ:ÿJ˜FOp}Z²/þÆ •ˆˆˆˆˆb¡YQ£Gâ„9²Ö5捁.%#Æ%""""¢ÁÀЬ€&É
+A¥‘½¾>#7†¥y4=²¦OBñ%¡·$uqˆˆˆˆŽc›fTæ$eëü"¨TH.…´	cV2–Â<ˆ¢�´Fö¾ùÑP‘ˆˆˆ�C³"”u–|Þ•døÕjäˁŒ3&ÀZ\�µA�N饭ÖŸ1?‰ˆˆhächVÀëèP´¾ÏÖ£’_Ó¾}#2§N8>ÚÑpÀ6Í
+xZÕ»šëbXšáG¤M7ÔÅ """RŒ¡Y¿Û‰Îý›e­k¯:WK}ŒK4̈DÕ0š6Šˆˆˆ¨C³BM«ß†íؾ×q6Ö æÃ
R‰ˆˆˆˆ(ÖØ¦Y!¿Çš÷Ÿ‡!wÌ…¡IN…J£‡ßë‚·«
öŠCè,ÛøåM?JDDDDñ¡9LŽªÃpTêbÑ `ó""""¢š‰ˆˆˆˆB`h&""""
+¡™ˆˆˆˆ(†f¢p	´=Ó€Sôé獌Wz½µŠŸO¬˜
MÝÿñk@z•½Š£r
5ŽžQ€¨1tOäÇÌçv„=䜠RCÔhûyT‚ÏéP¸Aæœ$Œ†)3†ôthÌ&hF@�|N¼NœÍͰ×Õ¡­ì0:ŽU@òûÂ*/Q­†J«é[•ük4µASZЬu½N'\vEå“KP‰È(ÎEjQ.’sÓ`ɱ”’�µNöÄ×ÇïñÀãt£«±mh¯mFýÁ*Ô®×å‰IÙƒÞ¤CÞ¸LdIƒÁ¤ÃÖ•ûÐXÙ•m¢€œ"+
+ǧ#-7	¹X¬Fh*èõÝÇŽ�	^¯^—-v4Õv¢¹¾ÕG[Q¶§m
+¿CL€üÑI(›„üщ°¦`6« ªDx\>tuzPWcCuyöìlFs“sHË›‘¡Çg$!¿Àˆü|r²ôÐD˜Íꞟ¾îß9›Í‹övêꜨ©qáàÁ.ìÞÓ‰†÷P?"¢
+(£ÃõÈËÒ¢ôïÚÑ6u9*äg«P­F¦UDj’ˆ”$ÖDÀ’ "ÁÐ}œ@’ @ê~‹%	>?ÐÖáCs»µMʪ}8\åÇæR/ª›â3Le'K˜Qàø,?òS$Œ²újòà• SIp{‡èt	¨lPÙ¬ÂÞZ6U£¼åô«Ó³¼X4ª“ҝ˜êÄ‹)z/ÌZ?Ôâ‰Ï¸Ã­B›S…címÓaw£k«M(mÖCŠÏCaÄ0j*ßbR\ä©ç�*¡'4KÇÃóñíõ nÕÛhÛ½^Ѷó¯¾Éã§�≚…î¥ã{v}óŸè8r°ßí¢€Ä¢±H›:ÉãJ 1›úlNÙ~ßý¸»:Q·q*?ÿ^‡òP2þšK1ê¼ù¡ÏûÒïû…îptüÏÞuNZ°ÎɯZTâóßþR”ÆÇN-ÊÁ¸óf wêèLú û
]6	’Ϗª=Çpè«Ý(ßVŸ7²‹‘SéL:\óã+‘^˜Ö½ÿÞÏñ”rµÔ´âÝß/G[}{Èmªµ*L˜7æ¡`BD•x|›5‡ñ÷Ÿ½Q™³­˜sá8ŒŸžS¢¾OøêïóX§ç=®«hÇö5ǰùócQÐSçdáæïLƒÁ¤9±á¤ýðzüøøCøßûÿ>@Ñ8æ/ÊųÓa±hO¼ŽÇú±²|²¬¾ª‡×ëæËëWB¢]”…³æ§ °ÐÔ§<ý}ý•¿ºÚ‰ÏV5aÅgÍhlŒ~€¾ýé¸éú4h4Bðï£�8>üåå¼ù¼‹½I%z\¾8çžeBJ’êxp•ü–ÞS…ÃÇ俎Ì4fOÖbÎd-¦—萝&tÿ.öl³{Û=å–zŽ…>ŸÍ� HÒñ焞+ê$üo½ï®ö¢ª1:¿Ö`ó“RÈ}÷þ=ö>4*`a‰K¦ø1g´Y–Þç®/œô:OlÇׯlñö6ÞØªz€þëÕ
¸r‚­ß}'½çük¶Ö裺ÿ“éTn˜ÐŠëÇ·áÌl;TbøŸ_£C·ö'áÕ=ÉØÓdˆb)©C³¢€¢{žîž
+z€(�p6Váè?Ÿ”½i­ÅŠ’ïü¿Ûè'4C�ÚöîDÙ›¯lC¥Õ#}Ödµ�Ú$Ë€Û(4÷þí±Ùpèíwаc—ì×�ç?ó¨´ê ïK¬B³�à“Ÿ<ƒÎºfEe=UjQ.¦]·™ãóûì+Ø~ƒ—íÄÉúäð
+H°5w`Û{ppÍø}Ñ	@ãçÃ…÷,>QÆ~B3�l|oÖ¼¹©ßmYÒ1í‚L=gf}ŸÏ¡w›~Ÿ„ßÝürX'9EV\pãMÊìS¶HBsï:>Ÿ[W—ãã×v££5:áùÞGçcÜ$kßýŸšÀi÷àÞ›>x¾(³ÎÊÆ%×!w”ùørÅǺ ¡¦Ò†¿þ©KÛ¢òÚ‚1UXzC–,É„Á 
+ësZ~Hðù$|º¢	ÿ~­MÑ	Ï‚�¬|tZ±ÿý÷|ÚÛ|¸piÿ6Z­ˆÏ5ãÚË’1ql“ƒ-�I£h”UÛ¼èL¾½4%£5ǃXŸmE94÷þí÷JxóK/žyǃ–ŽÈNíJCó{EÌ+öA§ ˆ*ͽÁÕëðæ6-~ÿ™	µíÑ	ÏñšÕ¢„;Ïhƽ3›iŠþÝÈO%àWk2°«‘á9šØ<CATCU²Öí¿‰E?ëk巍=u]9gÎGÆœyPŒQkÿ¦1™0ñæ› Où«¾”õA ÒÍa%j4¡Wê‡J«ÆÔ«¢dñbOMP”™­‰Xpûb”,œŒU/,G{]äÍ´FùÇ™ÎüKÍMÆ‚ëç`ÌôQCœ“D•�³Å€ÎùÍa4ZÎ[:g^\rûáR©DÌ>·Óææbùk{°æ£C"¼O©7È;Žõú¾¿	¢Ì>;—^_„¬ìÞ°YYròLø¿™W^܏Ï>®Žh[ÁL›‘Œï|gRÓ”ýnÉ¥V	¸ø¢4,Z˜Œ??_…W4E¾Mµ­VÞeN¾ž^'àÆk’qãÕ)°$ö®Óÿg•n
}L,½Ø„ŸÜ•Œ¡¸O®R_[¤ÆyÓT¸ÿ/.lÚ?8w'�àÜ	=wÑ¢ü²Õ*	7ÌtâÒI.üð]3>Ø»ZßÁRbuâÏ‹«1=36Í
+`qA'ÎÏïij[Òð›upû£NsÍØ ª9orÎ]Q«‰MgA@Ñe—ÀÕցúmÛc°ƒ¡§5pî}7 uL6ãg%½(×üò&¬ø¿ÿ¡r÷±AØcpææ_;SŒë¹P�äœñ’²C³)Q~¸£ŠÓzªc$´z5®¼íMHÅkÏm‚ËééþN5v¢7}{²ó̈ökU©|óîñE`Åòèç+®ÌÁ-ß,„8ŸÁ Â÷åcÒD3ž~öüƒ—éúUÀeXpçÍÖî ,È{Ýé©¡+M–Ì7FZ¼ˆ¥Y€¿>¨ÅÝpcíÞ!z“£,Q/á…¯u (Õ‡?|nêâ„íü‚.üëÒr5±ÿ\DøÁ¬FÌ˵ãº÷òÑæ”WéGých†Q@BAò/¹†ŒÌã· c·Cã®»
+meepµwÄn?C@—hÄ?¾IY©ˆu`8™F¯ÅE÷]‰OŸûŽm+´ý€¨1çòi8óòiÐèÔ}nkË‘bÊBךõ¸ýÑ‹aÍJ·¨a›2'&³/ýn
܃œMf-®½e<ÎZ”ó‘nùÖxÔT9°wWKÄÛºñ¦\·47
+¥RfÉb+L&¿zìè ç©“xøÞ,Œ¥üÎTzjèSfCstû-„K§ðÌw´¸âg.T7œV˜ß¿<óÅðÎWwàoW@A»åpÌβaùuGpé[…hq0öEâôëž:$Ã¸[ï!=sÐö©6Á¢AÛß`U*,øîõHÌJšý«U8ÿž‹‘:*mÐö™”žˆ›~y5æ_7]x?ž	É¡kÒ4:5n|è|X³ÃÚG4MLíœyR-zl¢€'þvæŸ7jP†EàÎï•À ³ùHο ×.Í‹R©”;û¬d|ë›9ƒ¶?Q|çö4<ÿä(Ž
+¯JZJ蚺m¥ñ3bH¢øùÍá7[‹W×…Ec]C]EfdÚñÂ…•ƒ˜{MLuâ•K?°4ÍÃÕÜ™5gTº8—XaÂiKÏGZñÐ…�Pë4Xü½Ë ÖÆþê?g\&núåµÈ(ˆ,¤Ë	Í‹¿>9c†æbäd%Ó²pþUãc¾fpo{¦¥ëqɕễ&ÜyOQKžë®ÎÀ™³’b¾Q�žýí(Ü|½bQi2jš·î‰¯0·pªˆ©E#ëT/
+ÀÓWvÀ¬0Qëë—UÀ Ú¦2òlxpNЖa¸Yß$Š)•Vƒ´É\G’$¸;»©D}vW§MöêÖÑ9{ÞìˆwëuGÞë9)Ó‚W̉x;¡¤ç§ÂùEOBŠyÀÇ&dbæc#ÞO´,¹~2r¿‰H¬]tY^÷(
+‰"p×w‹¡VGöóïrE'�ÜûÝ<èõ±=‰¢€™gD~;?91ô„.G*=hm¯vÄם=òÚ²f&úpï9Cp®	ãg×!ÛÙ¹Âåà‹Bg¾ûg7b\ÊÐŽÿ>œ±q)b)*DÝ–m®³ûŸo gîLhMÝ5’½CˉjRÆÈڏ­¡íµ8¹qßa¬N|^4î?
+g»üÐé7.Q<JFgc+Žm܇ê]GÐQ×g—’_‚F¯…ÑbFRV
+FM+Âè9%ДÝþ²dv}²ŽŽØõ¦Ží@Í‹ošöL~M5hi쀭Ý[§:¦$Ìf²
+“ehq2•JÄ·LÅ‹¿]V™â•ѤƼs2¦q΢UváõJX»¶›6¶âÀþN´µ{àrù¡V	H²hž¦Å¤I	¸à‚Täå*â*=MƒË/NÃïÔ+zÞPEFƒ€Ž®þ7$	Xþ¥
_¿¬ûâÒçZ:ühmó¡µÝæ6?Z;|híð£µÝ§[‚Ë-¡Óæ‡Ã%Áå:Z@«`6ÈϐŸ¥ÂÙ“U(ÎS~qþ4?{eHô€ËÔµ	hìÑÔø|<>	jAB¶EBQªɦð.2nãÀ³«MètÅoýßÄT'n¬¬ÿ$+ËÍø°,	k+M¨éÒ Ë#B€4ƒ&fgÛqýøvÌÉ–_Y�ZQÂÃsp뇣=º14`¶šj´9[U\­mðºÐMÐ[­°Nš„”ñ (¬mJ*ýEkÚ{�M{,×[±è‰ŸÈÚOã¾ÃØù¯È&ÑèOæ„B¤Éïü$ùüØùÞWØûÑFø¼Ê<N7ÚëZÐ^ׂŠí‡±ý½u8ûö‘;¹@ö>Ô:5¦,™†o®•ýœ¡à÷ùq`Sy¿Ÿ9
+Y£•uªt;½X·¼›WD[sÿ
¢( pB:ξx,&ÌTÖvÂôLäZPu4vãD’€ò²ìÛÕ„ò²v479a·y ×«aMÕ¡dŠóÏ͂Ѩì'yÁ¹ÊB³(W_«ìd¹gwþô\ª«Ç¿öú$47»ÑÜìFéþ.¼õN®º"·Þœ#{88@ÀuפáàõÆ÷íöÛèè
+ð~ÿr^ý N—„–(Ô:oÜÛýï“�ƏñðÍÌ.‘ÿ۝’ç8XÛ÷×îv–‹ØrT…}UJkT4\Cª%œ3Ö‹»Îqâ¬"evt~|mº/­úKúóàì(it¸U‡{WfcMUà=¿ÔÛÕ¨·«±«Ñ€¿î´âŠâ<½¨©FùïÝÅí“ìÂáÖ8nn§šGIBge9Z÷íBËÞÝpµ^Ý:�t;І­[`ÎÍEÉM߀Þj•½Sf&T:-|®øéì¢Ô¸%så¯,IX÷ò‡([»[öSl-øø÷oaþ- dÑTÙÏ¿`"6½½.j³FƒÇåEmY#ªÕ£úpÊ÷ÖÀåèÿ6ã¬Å%ж__Ù†WŸø­
¡ïøýÊöÔ£lO=&ÎÎÁ
ß›^þOØÙÁkÞ¢¨|‘$àоl]_‡íëúûX°uc–½U†»˜Š’Iɲ÷Q<6	‰tvÈ»õ;c–Ù9Ƚ¨Ù¹³
¿üÅ~x<ò‚Ÿä—ðλu(-íÄ㏍?>ñH()Éœ9+kÖ‡ž±r°øýŽUz°§ÔÝ¥NlÝíDy•¼÷Ùï—PÓ›Q4öWøqÛomxê»\4[þñ?:3v¡Y’€+žÒbo•¥“žúüVí×à‹üà|'8_Ùݶ+§Øã64g'xpE±ü§Ž¶iqÉ›…¨³Éï¼ùþ¡Dl­Ó㳎Ȟ$E€¯OhÅ£ko0‘‚¡yðÚlhܱ[6ÀÙ$Ò€®ª*ìùÛßpÆ÷¿AÞ€ñ‚(@o±ÀV?<;è“ÌÈš8ZöúûWmU˜“$¬û×JX²S5^^‡-£Å„œ’<Tí­P¾¿(q;=¨,­Eù¾”ï­Fceü>y'ZKš…åÿ·5Ûñ÷_­DW»òüönªÆ+O~…;~º*™nSçæâÍ—¶Ãë‰í`‡ë?¯Âç•£®Z~“¡¶V7žýÝüü‰9ÈÊ–×ÄALžš‚u_ÉkÚ°pQ†ìò´·{ðØoÈÌ'+Ýoß=†=(ÿ»vÞ¹ÉCšý~	‡Ž¸±y‡
›·;°sŸ]¶øj›ÜËï~ú¢ó&˜4pƒãòÒb×y\Bw
s$üðô
+=²’|¸q–ü6·Ós<ÈJô¡¶#þÚm/ß&{ZlŸ_À×—å+
+̽ª:µ¸áƒQX±ôÔ2÷w]I;Csš‡1{}
êÖ~Ö½;á÷†×ÉÀÑØ€š¯V#ñbÙÏÑ&˜‡mhΛQAfÊr۝Øùîê°÷å÷ù±ñõ/på/¾!û9ùS=47T4ãð¶rÝQ‰š²zÙ!ùTãfæ+Þ탗6„˜{ÚUµ‚KŠe­¯7¨1nJ:ön­
{Ÿiouáã÷ã«••p9ÂÚÖåÁ»¯—ážû'É~Nñ¸DY¡Y§WaúÌÙÛ}ý?•°ÛÿÀXõy3®º<cÇÊ«œ9=*UwàÁÒÖîÃÚM6¬ÝÔ‰-;hk1–å°;%¼³ÚƒÛ.–²ò҇njp|`Ä¢±nd%Ê»``n¾ïìŽ¿ÚækÆÉ¿|uŸ{ßíp[ÿ-µàëåÍ4›—àF‰Õ‰Òæá?Ãâ`bh†Üím8ö¿7ÐQv *=;j×o@þö°ë‡6ièÆÞTædùÃl•o*…«+üP�GêPSZìyµÍ9a<IBåþZÜteÛŽ¡½±3*›s†üvÆõ­8¸=òYíV/ۏùށbDƒ^c'Ç&4¿ýÏ}Xµü<îÈk&7­­Ã
·#9E^{ÃÑcä}'MJ‚F#ï‚ÑåòcÕg²ÖÈ›o×â§ËûΙŒ*Œ)2âÀÁØv†­oô`å—X½Þ†]¥vø‡ON°í OvhN‹ýÈ~Qápø÷&=TÐLcv¾;îBs†Ñ‹I©òÏÛ)¿™džÙ’*;4Àü\C³BÍУ¡‡÷Gm{îÎØjkaÊÎ’µ¾Æ_?Nr	‚€Œñ²×/ß\•ý–o;,;4'g§@…˜´kîjµcת}ØûÕ´7FwfGA;6]öú>ŽÎñÛÖdÇÞ-Õ˜<G^ÇÎÑ%‘Ÿ˜‚Y÷yUT3�ø|öíjÁYå}³²å}'M±È.ÃÖ­-p:#O“[¶µÃë“ ‘yQ3ºÀ“Ðì÷Køôó,_ц-;ðÇQ¿H©‘ÌéµÃ£¦�þ½I‡γ˭ÇÁøôØÏú©Ôü<›ìé޶i±³AÙ¨3ÁhÑãh›…y}Ž&¦rè9¥âwœT]µòkßDuüµ“#!Ó
+µ^^íä—Ðp¨2*û­)•¿•F¤ùáF‰C›`Ý;›£˜Àš•A~[¼ƒ;"¯e>¾­u²×Í•ó£á`©üQ>5ÐéBÿ”‘?ÌÜÞÝÑ9Fìv?’‚òcSëåö�¿x¢›¶ÛGL`€.§ü×¢ÓŸ×]ß!âp£üóÌ¨äø»]pF†üã~muô¦_])³‘;€ñÖøšˆg8`h&�€«Uþ-A5<C³%OA'¨Ú&øÜÑ©½h¯mQÔŒ&%'6µ¡±dÍ’﷽Ɇކ–SêØÁfÙëj4*$ZâÿväÑÃòC« �)©¡_S~¡üó‘#ÊÆ~He•üڬ‚øÿlâ‰CAæÑiâÿbñd[+äßÏLôAg§¥É
+jqwE¡–¹—’aäJ¬¬iVŠ¡™��^‡ü¶W¢jx¶ê1Yå×à¶×È…$ŸÇ{›ü«šæXJJ•_‹Y}D~È•£®²]ш©ѫՉ•–fe'³ÔԁO”F£
+&“üïmEeô.jêëå'»œle“‘|šaö³½³Jþ+Q�ò’㫉F^¢üÎùÑlW|¬CþwÈ¢÷Ájˆ¯÷-Þ
³¯ÅŠß#ÿ>nocH‘߁ÑÑÝéYÝ7L2‡ßÕ›‡_m›%U~mkŠ^-&ÐÝ”¦£Õ‰”tye°fQæê1ÓÑá×ë‡FæäCÖ´«Œšè^n·]Ñ;‘Úlò/hN¿S’^'À¤`2�	Æ~>o)à��Ãð§B¶ê6eç™<‹eMñsüä(˜6»Þ½jòv—²m%ë}hvÄÏûïøN�@òÇçx¤ÑdTšÝ´&ùg¤P?ïÁfìÎ½[uƒ%)]~;ºÎ–èwôRš-ÖøïÈ*ù%´·¹‘šªïÎI!0½~àejšü[¶í˜ÍCsj0Dˆ*ë-ú“–,bZ‰%…jŒ­ÆØQ¤Ypb¶8Iêþ˜{›rIHÝŸÏ2A’€Þe ôü;Õ¶+»ž ‹Ÿ÷!Åà…A#ÿœêô‰°è£sÐ˧¹W´ö{º`h¦nr»ùcÆdù¡yÊåó1åòù=Y¥ç„Õóÿ½o•pÒÉJ8¾NÏ¿BϺÇ×PÐaÇ8ünQ딹³5ú¡¹³M~ó"m¼5~ì‡ÕëÜJ�� �IDATÓ.ÿB+Ô”Õ)2‡¯ºö¿_›'ŽßàÇ:úûнŽ\‚(ÀlR¡£cdœÈ5jÎ7àÚ%L«éžˆ§7èJ=ïS†
‰ê;”…f½:~ÞÇl™3óõÚõÍ1*Ihɺ‘_aMÍtÚPë‡GUk•Ï5ÔÔùAÔíŠ~:·K~ÈÒ“ÐìñÊ?™…º0†O÷•î©·‡h^t¦?üfrÒU8¹v˜äét);f
Úø		Ã(ˆšµÃÿ»6˜š	@÷Æ#JA°Jn%]âã„’ÐìSeoÓ'›Ýð8<nùKbÞár¡��¶8ºZ.ZÀÃwYpÍƾÍ-H·¯û­“{jЧšæaôuC«s604ÓiCT\—mø…f%$^OB³‚Ñ3”ü¡äQðš4!^“Ü™�‡š×+Á…IU†ŠV#à釭8{¦ža9B’x|€VfJQ0L|ÌéÄásáWÛŨÄðø%¥ØùÍæ¦¹îpô§yŽ5e3F?L(™°Â?;½Š!~ÉCµyŽ¥ûmÃ:kþèÎäîÀLQáôÏ“)ŽšŠ¤Í©ÂÑ6ùýˆ¡™z
ã•\ÃádÜÑØŽ²M‡†ºŠ)i¡ŽÁŒ’*™C³€7JÓ]ÇZ¨Ú㓹]¿&¿‚Ïg(ý÷íÆ¡.BØÎžiÀµÆÿàÉ‚¯5ìžø	تa’¬žßa…Û?ïÛpÀzyêv´iö{â{÷¦ŠF¬|n9|q^Î`ü>ùW$ª4PĽÞáqû_­`7WˆŽnO|_1:~¼ð·¬ÛÐ>ÔE	‹(Þ!s öStÙ%(÷¢©Õ»Ó_ï׿wx9œøGèó·‹	X2{džÆE0(˜úÛáŽaaŠ÷r¯_À‹;¬xbcúPeØ™ß6RìtèèS0KÙšÝh<\¤ÕÊÉÃj.‚?ˆ¾Ãϝ¼ŠÓƒ–êf4W6
êð |
+‚¨*5ÍjAÜ3Ljšµ
+^“Û=ðûï	ñøÉêëxç­ª>Ë‚끏õ÷Ý8±P8å¹^¯„–vïí‚Ó9<>—`Ì2"?G
%·ì¶îsãÅ·mذˣ¨yÑÉŠsÅšIQ]Ž#Žjš^w¾üX•ÃÒœà—49ÔØTk@“}d7±ÆwzÄÏN¬(é,ÖZY‡C_laiF—]~5Þý;z£ümÚ»”¡:Ttù?Ïî5͏Ÿ|\/{}.Y¤lœ¼oÃþe;,ŸL
+'+qxâ§M„’šfµ(á¿¥8m:ü”è´áuÊ•BgŠÿYãâIW»Söº‰ÉÑo“RäÏ¢ØÖýÉU¢M�‹¥g\qçßPmš•ŒH‘˜8<Æ3j•€³¦Ëïü·f›Oÿ³‹9‹QahŽ£&6…µÞ)†áÑdŒš©WüüÞÄŒ½¥Cöºº„á7•õPêj“DS¢š,JB³üÙ‡JB¢VQ““ŽŽkÏ›å_0šÍjâiðƒ%EùLóçÿv
×VXƒª8]YlP8ƒ`,Uw*»ðLÑ¿~,§«ø9ÊhhçH[S›ìu“²ScX’‘GIhNÉHˆê¾
&
L
+jG[‡AhN¶*ªµeàPÜØ ÿN€(996M®±…ò›Õ4ú°ûÐðh4ÔÆe(Í5ñ3¤h£C­¨¹Èø”á76ÿ銡™zŒüÔlkn•½®5?“µm
+tµÊÍ9EVˆªè½·ùcSewdõyýèhÿÐ<ªPÙ…EsÓÀ'ݦF”O]\Ý›‘,3U~Ûó¥q4ÄCœ« 4w¹´Úã'ÎHPÞ!ÿB~zfüÿ&Q·ø9ÊhHÅßèÑ/­Q~M³Z¯Er.‡ã‘«¡Jþ{«Õk‘Þð\ÁŒ“W ¦¼]ÑðxCeÜ‹ìum]´·
Ƽ^?Zšå×fg–½îéΚ,¿†³¾eøŽ2˜D˜;Z~ü†øÓ ¢SþˆYÙñßÏ‚º14Ó Q2kœJýÚª­?ú¬)Q/ÃHÕZß	S~»¼Is¢²_A0unžìõ+·De¿±6~BŠìu««äp++l²·9~Ú°™Ep¨i4_í´Åÿ[<˜;ÚƒT“üŒýõq4‡vÒ&ùMœffØQœÌ&ÃiÐH’üA9úm*í-Š:ÍŸµ6þ~Œã‘ä—PyPþEÉÌóŠ¡ÑFÞ±dz6Ò²å7%8°+þgœ+™”ŒŒ,ù–wL(•ì'$ªqö¶ë—Cjó“ø8b†,wÌWÖ\aKEüø²©V~‡gA�î˜ÚÃÒP´04SØ7ϐL囘›“24”•½®Ö¤ÇŒ¯“rŒDG÷ÖÊ^ט ÃÜ‹K"ÚŸJ-bÉÒɲ×÷ùü8¸[Ù݆¡páŠÖ/Ý+o½=»å7¡€oÜœ‹…¡8]òƒp¢)z§ÜI£E<|“üÊ…áÒEcáXOPÖYrÍQeg•LXs²uÕFxLQ}Û”LÏd3xÇÐLÝáÕërËžñÎhMFÆäqQ/CÕ¶ýŠÖ·hÆœÍfrìßT®hýE×MAѤ¬°ö%ˆ®»{6²ä·ý-ÝV§=¾G.˜1'gÌL“½¾Ï'aßy\èD[«üŽhÉ)<øÐXèõñ3*A<²9äWŒyÛÛ’ž»Ïˆ7~i¼Iò?ã0¥8݇g¾Ö¥è9Ô¨l‹Ý1jч7†r‹CuÕòk›u*	ÿ¸¸Ùæøþ:Ý14€Áé(ù|Š&™ñí¥(Z|ÌVˆêÀ“Æ¨‡ÑjAR^&RÇæ#kê8dO•¶ÿSíž2¸mÊnýÍ»ýRÌþÆb6Õ¡¹¶5GäßbT«UøÆÏÅœÅãT’’nÆ?]ˆ
+•oêcŠÖWbüäTèõ‘¢i³Òp÷ý“M\º·!Æhî%ù%¬[£¬yÊ”)Ixêé)((4)zÞé¤Ó&?4ϝª…5IùiW§pùÙZ¼ö¨ïüÖ„ófª'�`ÖÇoU³Z%áÚn¼wO'RMÊjvßÝÛ1õÏ~íï[ä_Ô@~’_}ý0t†½OŠ­øërJ#š»ËA^•‡Æ Çä¥còÒ‹�¤îÐ-IÐt'4¤ãå$Z¹;þóQÐmúÜùj;Æ_8OQ¹ÇŸ7Es'¡lín”o9€Öʸí}+ˆôfI&˜RÌ0YÌ0¥$Àd9ñ·Æ Á¡µ¥ØòîzEå‰W›>Þ‡+ï9[öúj
+—ß>g.‹m_”¡lOZºà°¨ÕêÕH°è‘7ÆŠ	3s1yv.Tje ¾ºû¶Êo>¢Ô·îŸÉ'¡üH—¶ ª¼UÇ:QWÝ5à×Z­ˆñ“¬8û¼lÌž—<Iè÷NÐÚ/•Mwýñò\|YŽ¢À•7Ê€gŸ‚;ÚñÙÊì?Ð…úzgÈ›Fƒ
+))$[4HOÕ ÅªEzšÖ-¬V
’“ÔhnqãÑßE{ûðÜáH…üšA­FÀã÷[pß­!;ôæNVcÁT
ÏÖÀ’ @$ Ìæ3“* º)úíªExûnT·um"jZê-6ÀíÐnàöŽž¯µ^#!É al¦Sr|¸zºY‰=5º
+Šçñxc‡òÐì“änŸÖ
+Ÿøðu]j8}"ší"œ2¦½~c¿¿œ_§¨¶:ÕèÅ›WîFþ±;몌8ÔªÙÔàöÃjð"'ÁƒL“Ùf²Ìdš<ÈMð Íä…Û'âΏr±WA'Eê‹¡™•­¾	¦4kØÏWëu=ù¡ÿ_Ö´q…nãÀŠÍ(^4Kqͱ֨GÉ31añL�ݝvxnø½>ˆ*½j­†ô	ú“jðûûî¦_>;—oÇ5üoËí^[†…מäteC–¥ç&ᛦOü^?œvôÔUŸÏ<ÔçÌÇo”Æ|ÚbQ% °Ø‚ÂbKO(íþÌm]n´·¸`ërÃë‘ ùýÐéU0'h‘–©ƒVÓ}kYèï5õs®ìhwcí—ÊÚh×T;°q}Μ§ì;(ÀÓ’0mZ�	v»MMn¸œ^Ø{š'˜"Ô‰	j$%ª ÕŠÇ?+¡çuœüHÈÉÑaáÙ¼¿¬IQyâÉÁ£ÊÆ^ž3Y‹eϥ⣯œØ}ȍÆ?º€I¤&‹“§Â”1jÌ,QA§F÷¡¥)Ÿ½K?¾çÅîcÚ”µ‚iæh?f€Ô…Þ2÷}A�©ç«+ò8ºxg‡ÕíÊ›ft¹ä‡fQ�îžÙŠ»g´àxù%	¯ìJÆVܼÌáñü+~|¦ò¾SÒxzQ5�ÀéPÙ¡…Í-¢ÍÕýzMZ?´¢„ƒV½F¼;wLmÆ}Ÿå(.uch¦nƒ4Ns{y
Ò'E¿­òÉÌéÉݯ§Ÿ½¥¥­Ãä+Ήh?¦”˜RºGn8„{þí	Mr¨Ô*¤æ§£ö`uDå‰~Ÿ„Oþµ	_{`QDÛQ©E˜uýIì¬ÇŽuUo'\&³fó‰´S/šÂõáû•ðx”··|åå#˜139¢!åŒFòG�HÇ:N
Är•Œ7
ëÐ\ÛèE]£WÑ$')I"¾~‰'…Æž‹‹SÂf4M-àåûÕ€´tJØ}ԏû_ò£cö?sz<ýEx㉷9#k™*ÀUã:B†f�øã–4Ü<±Ù	áWŠèURÔ†¤›™Å‰T"Á6ÍÔmÐBseÌ÷¡Öi¡O¸
æ¾åkÑZ©ìÖv,¥äœá½öo®ÀÞõdžº��{—¯ÿy3¤(ÕÔÅ‹º;>ú ¼ïRC½ÿþ×±è(£åw–ŠG’,ÿbø¥Î”`ád3ÆÄo[ç<õ¹å­áu�ÜWùu‰Z4bè߇GÄ÷Væ"^F—â„ZF¹)8†f0x“h7í;¤¨3`¸ÌéOás{±æOoÀm¸]ò`±Ž Ð�¼°uò§-¯Ç‡¿=¾mÍ#«fÅëõã/܏'üÙå–½_õëâ£vwT®ê(N«>þ÷™-æÍ‚9PáóoE65·¦ŸÜ'?A}vP‡?¯	ÿbkkMämz°äµÅ_yÌŒ'6ÆÇ³º(ÖZŸŽš©Û ³|n*×l‰ù~Ì¡gTë¬oŪ§^‹àlÉ–?ÜpàrzðŸÇW¢©VÞÂÑævùðÊÓp¤4þ'3QB’€¿?‡ÈŸ¨¤¿íüñ÷°uËÐϐ¨ÑˆÈÌŠ¿É)”8ZåÁ²UƒWÛìõ/}àÆu8ð÷<py¢؝àXk¾£Jƒ»^O‚OÁȧ:ÖªÆÆÊȃs²Aþ…ëï6dàÏÛâ£r¤8%²­ÓC3
ºÃË?ƒ«#¶CêèåÍ×r´+ÿ':ê8S´u4Ûðן-DZ}ƒÛ¦½ÙŽçù{·Ôê~cMòKxù/ûñùŠè´}÷xüxâ·¥XñÉÐ7SŒf¯žük+*kc?
+ȺÝ^\ùã.<ý_Ü^	—„ÖÆf¿ÿX“͆mÕA-®}9]îȏ—g×'E¼
«^þû.IÀÃ_fák2MzÃÿÛ6tš©Çà}Ü]vl{þ?ð¹ct‚‘$´•,Ú*ëññ£Ãá/·C‚[¬.›[ÞCΝÊÑåÂ+¿ù¿ºngl…ä—°îÓ2<ùÀ§¨:2ô5¨ÑÔÒäÄc?ߎUŸD·³¨ÇãÇŸŸ;„§ž8€ÖÖ¡½åýe¨¬ú»=‘ê´ùq×#¨®Íq¾©Ô‹›Õ…Û³£¬¦o
çŸÞu£µ3¼ß.ÿ�
ÿõ¥€ÿ[Þ=\ÜPrx<²ÌŒoüÓ›‚‘/òÉA#þ¾51¢m˜µÊ›Hýas.y³û›‡fØ·Uåf|rD^¥âè
+H>/ünTºÐSvúÊnÕùœòÛ]zÑ¿
èUP^#ò\Ë¡£Xÿû0ý®a´&G¼=�$	Íe8¼bêK(z®ÇéÂÆ¿ˆ+6cÊU0êŒbªØ]Sú½>Ô¨FÅ®2\S
+ggxín6ùmÓœCÔÅï“°nÙ>ìÝP޹•`Æ¢bèÑ›(ÆçõcǺJ¬^v�ÕG‡¦õÞí(Ÿƒ!º3“9>|²¬¾wv[ì’Ëš¯±es.»"_’…”äØ6—¨ªrbÓæv|ñU+J÷ÛÂÚ†×ë‡Óå‡Aú{ÚÑ18©¯ªÎ‹ïoÀÃß¶à³#Ÿt£Ë!aùZ7^ÿÔ…ýåý”R×"á;tâÏ÷ꑬ y}ÀÁjýÒ!IÀþ'à¿k€¦
+8»Ä¹ÅŒ±›µº—øÏfþ´Ú€š¶èÿÿè“T´8U¸n‹âiÆËZµØX^»ê
5&Ì{unšÐ†ïÏlĘ·1®íÒ`Å13–N§Ç¢5‚áiIÀ¨©|ûHœ0ÉÓAÐhŽubÒîý.'¾úlÇ”MÙœµèRXÆM† ªŽWüïµçoOW*–¿
G]to=«
Œ[ºæìÌžŸ´áÄðXöº”þç
¸»Â;ѝJ¥U#ÿœ3‘¿`6ÌYi}ßSƪwìWÉçEGuÚ+ëÐ|¸5Û÷Ã՝réM=o2r§!µ(j­æÄ˜³±Õw¯£³©-h.¯Gsyª÷UÀ㌼]™F¯Á…w/AfQ:ÔšÞã¦ïûç÷ùÑTÙŒŸ_…Ζ(Ν^ƒ’Ùy{FÆLɆ)Aœ2[Ð1­Oú·ÓƒÃ{êq`göl¨Dg{ô/~ôÄBä%õÝ¿pÒg|Rºc%:Û];ÑŠÉÓÓP4>y…	ÐõëÖï±äµz½~”íoÃú¯ê°qm=l]ƒ[¬R	˜>=gmÅ”)‰HMÕõû9Èù>8^9â@ÙQ;Ž”Ù±sO'jj¢®¹ÜŠë®°")I|ÿÐÜâÅßÿÓ„O?Üöõ‹5øú¥f,œ¥‡ÙˆžÃçÄ8Å'þî;äÜÑj/¶–z±j³ëwyáöÊ?E§YÜy‰Ÿ©Bj¢ÐïXÉí6`ûa?^þďõû•E�µ
+˜V(aR®„â,	Å~gù‘lè;î²Òqš{ÿ¶9MÇTøp—íÓ¢Íû» ÅV¾3§‹‹ìÈ0{ºËd(À—ˆÕ¼³?ïH„ÓyÙ83Û†ëÆµáìQ6Œ0@;}ö7é±³QÝ
lª5bW£A9Jš)n­ÉH“SZ2ÉIPiÕU*x.ø\nxìØ[Úàj¹
]
͐|Ꮰ —¨RÁZ‰ÄÌ$¤%!!=*­:£j­~¿~·n‡^§®.;l-èjnGWs':Ûà¶³·r0¢(À’fFZvÒr,H°è¡3j Ó«¡R‰ü~¸¸œtµ;ÑTÛ‰†ª´ÔwÁãÏ^ihnkéÜE•€ÜQ	ÈÊ5#-Ã�kšæD
Œ5t<n?¼^ì]´6;ÑTï@eEŽjpÁÁ–™©GA¡™™:dfêaIÒ@¯¡Õ
+ÐëD8œ~Øí^xÜ~tvyÑÜäAS£õn46ºÐØè>­Oص€ñ£5›¯FªED’Y„%ЪtÚü°Ùý¨jð¡¼Æ‡Ç|héˆü³ /]@~º“^‚(
+°9%tÙ%­“Ѓ.%©	@–EBz¢V3™ä‡5AB’^‚N-Á ´j	F­ŸO‚Ût9´Ùš6•Í"öÖªp°^Œ¨“_¤F%yPhñ"IïƒYëC«C…f‡
+
65*Ú51:.ÃèÅÔt
+,n$¹‘mö@¯öà– õ£Ó-Âæáô
+hsªPo× ²CƒªN-ª»Ô(o×y›é‘Œ¡™ˆ(ˆHC3,ìHDDDDC3QÍDDDDD!04…ÀÐLDDDDC3QÍDDDDD!04…ÀÐLDDDDC3QÍDDDDD!04…ÀÐLDDDDC3QÍDDAø|’ìu=_KBDDñ€¡™ˆ(ˆƒ»d­wx+lž—†ˆˆ†š€QSåW§F²ò”¬ïù«û§R8éq‡Ý‹ªòx=þA/
/µf“�ÐÖÑ	Iâ©7R‰fT*� Ëf‡Çëâ
.V£AI’ÐÖÑ9ÔÅ9-04EÙ‚93pÕ’E˜;}
+&Œ“©Ïãµ
M8x¤_mÞ†w?^…m{Jm_«ÑàŽ®:¾]·Çƒ¼ùZÛ;Â.³59	7]u)ô:-� ©¥
ÿxë}ø|_^±x!Æ�¼^þ÷Ù—8x¤<èº*•ˆ¹Ó§bÉ9ó°ðÌ™øÍsÅÇ_¬
Y6£A«–,ÂÅ‹ÎÆôIãQ”ŸZÝgºÆ&(+ÇšÍÛñÁÊ/°iÇ9/»œÌt,½lÉñm—•Wá­å+‚®›h6áªáÂsά©‘™–
+F†¦T×5`×þCxû£•øtõúˆ/’T*œ=W.>³¦NDɘÑ0èuÇ÷ûý¨©oDéá£X½q+Þüp9Ñ>)C3Q”Ì>cžùÅC8sÚEÏ[»eüõÓØ°}—¬õ/>w>>üÇs}–ýàÑ'ñÌËÿV´ß“=üÛñÛ‡¾×gÙy7܉Uë6õûVû
Å­=—}¶—}óû}Ö+ÈÍÆ_»·]²3ÒŽ/î•×ñ½G~×ïöAÀwn^ŠŸÝ{'Ò­)Š^Ϧ{ðÀ¯ŸÂšÍÛe?ç™_<„ïßvcŸeÙ³ÎGmCÓñ¿Í›»nº—ž· OpíÏ–]ûðÍþ»÷’_ø“,9gžþÙƒ˜P<Zös$IÂÇ_®Åƒ¿~û	k¿ˆmš‰ˆˆ¢à¾;nÂÚ·_Q˜ଙg`ÍÛÿÀϾ§¬õõºÀ°Ö[C®`Ï
+5uŸÀ|ês&ƒÿþé	”}µ?ýÞ}3�d¦YûÝv¢Ù„^ùþï—?V˜î˜Õo¾Œßýø^¨TòâNð÷µ{Ù¢y³±úÍ—ñÙk/âºK.˜`æ”	X÷Î+XxæLù…G÷Ãc?ú>>zåOŠsïs/Z8[?|
ߺájEÏ¥þ©C¯BDDDyäÞoãÑûïŽh*•ˆ_>pÌ&#~ôØ£T²¡‘‘jÅS?{�7\~a@¨>YfZjÐå&£+þýfŸ1)¢r‚€Ý}²3ÒpëÀïWÞÿ`LAþøóâò†]³Éˆw^|S–\‡ªÚzYÏùËo~ŠoýÚ°÷	tþ÷tZ-ž{åõˆ¶EÍDDD¹æ¢óñ‹ûî
+úØŽ}ðÞ'Ÿ£¬¼-­H0™™fżSqùa2žóÐ]·â«MÛ°ì³Õ±.zLL_ŒÒUï"9)1äºG+«ƒ.ᱟ
Ìn_¬ß‚•k6 ®±Í­mHL0ÃjIÂÔ	ãpñ¹ó‘“™ð¼o\})ö,Ããù»â×óé«Ï÷ûXmCV|µÛ÷îGmCÔ*
+órpÅâs1sÊ„>ë&'%âw?¾7Ýû“ûüÞ­7
Ì’$aý¶]øßÊ/QQ]‹Æ–VX“-ÈHµbѼY¸páYÐj4ÏûÃ#?Äúm»°u÷>¯˜úÃÐLDD¦D³	ÏýêÇ¡ÏòÚ†&Üõ“_ãƒ_}Þs¯¼Ž¤3þøó‡pëu—<þøÃ?ÀG_¬	Ù	/
Ô”bß¡#ølíF¬Ù¼k6oGM}cÀ:çΝ…¯_yqÀò•k6⎇~òêÚ~·/îøÚUxâ'÷Á’˜Ðç±_ÜwÞXöi¿A]®æÖv¼úî2¼ýÑgX»eGÐÚëß<÷Wüô»wàW~§Ïòë/]Œ‡•5uýn?/;ýèûË­Àíý_mÚôyϼüod¦¥â¥ÇÁ¥ç-èó˜Z­Âãß‹óoü¶œ—Hý`›f""¢0Ývý•MšZÚ°èkßê70÷jïìÂm>‚Çþô·€Ç&Æõ—.‰fQ‡„ÝáÄûŸ~;z£æ^ˆ‰ç_ïÿüq¼±ìÓ �üö-Ë>[»ÝrÏ€讉}éµwpáÍ÷ÀátõyL¯ÓáÇ÷|3ìײïÐ|ûá_!ïÌÅøÁ£Oâ«MÛúmî!I~ý/a嚍}–kÔêmŒïýæw ÊÊ+qÎõßì70÷ªklÂå·ß‹Wßý0à±óΚƒù³¦
ø|C3QDQÄwoùZÀò~ýö—•½ÿ÷û?aãöÝ˯Z²(¢ò
I’ðéêõ¸ö®‘6m!®üÖð·ÿ¾;`íj¯q£pѳú,³;œ¸ñ{Ãë•?óæÆí»ñÓ'ÿ/`ùW\0T]({–áú{~ˆÉ‹¯Å‹ÿy; Œä©—þ°ìüùgö»¾ÉhÀíK¯
+X~ÇCöÁc ’$á[?úeÐŒázLņf""¢0ÌŸ5
c
+òú,;|¬ÿzg™¢íøý~ü6Hmóâs¼xðùúÍXò»ñöG+aw8=÷òÎ	hêòÊ[ ¡¹Eq9^üÏÛhji볂Éª�� �IDATÌl2bÖÔ‰Š¶sÇCâÍW„Õ‰pÕÚMpºú†ì™S&ŸèæTW.>7 Yɶà‹
[í×éráÉçÿ°üâEóm‡úbh&""
+ÃY3ÏXöúÿ>k"‹OW¯¨ÁLJ0£DáPcñ ’‰<ΚØ|àÝOV…µ-›ÝOV¯X¾`ÎŒ°¶·Çƒ-»úv¾Ó¨Õ[˜tý`Í'^{ÿ£°öý~æAã‹
+euФàš‰ˆˆÂ0wzàxÌ«7n
k[N—+謀ý…«‘jδ¾#fø|~lØØtE®`›ö{ZV^°,?'+èºsgL
Xöå†ðŽ©ªÚzT×5,;úô:¦¢‰¡™ˆˆ(Á&œØ¾wØÛ;R®Nmþ1’ô:d¤öì¤¦¾6[ØÛ6w°!éb©º.p\悼ì€e‚  dLaŸe]6;«{ßõMÍËÆäŸ>ÇT´14)$B@ø²;œmh•hln
XvjˆÉr³2Ú3÷7†\µ
ÏìÐÜ ósMKIc¹ª®>¬¶ÔÇ÷ÝØ<c€Yi`ï‡ÑKNJ˜rÙéráί	{›ãO©e€ôTåÓGWi)ÉË[§M­1‰fSDÛTêÔŽ€�`4è–e¥ÎލV©#:¦R,IË™’œº14)””`X–bIý,ªûQ
0õHcÐI—ÛÑ6ƒ
l?±ì5ôº€e‰AŽ©1yÑ?¦T§Ï1m|爈ˆ
+zb!XG®‘*ØôÏ.·'¢mº\U¯ÓF´MÅeò‚÷`µÏ±PU{úSÑÆÐLDD¤zÆO–$	o-_óýćSÙ˜Îáòx½ƒ²Ÿ^ÁÆÚ6Q‹Z¥ŠyY\nwÈ™*©lžADD¤P°€g³;°üó5QÙ~§Í†·—¯Äúm»¢²½á ÓfX¦ÓÖ>+¡R«i“ÅeòìGÀ²`MI›[OlÒŸ–¶vüëe8ZY•흎š‰ˆˆr¹íos8pý=?‚ÒŒ]ACsdM)‚5ÅP:Ka¤‚½{‹®`Ë«kyLÅ6Ï ""R¨½£3`Ù©Ó“2ÁÆc6¢†V‹%`Y$Æ#5%°]í]Ë{¤C3‘B]¶€§Õh-8G2Uu¼
+$#S9Ø0n‘c§TvFàk¨¨©
X¬Óg°ÀMC‡¡™ˆˆ(ÁBÎø¢À±–cÁí	‘!ØèÉÍáh×›•žQmkqᨀe•5uao/¹³ÿ­lWÜÖÑÐt$Å’Äq•ãC3Qö>°lꄱƒ²ï`¡y°‡R‹6¿ß=÷Y¦R‰8sú”°·yÖÌi˶í)
{{J	‚€™S&,6e:�ì/;°l°Ž)
+¡™ˆˆ(k·ìXvåâseßÍ­íËr23eß±´}ïþ€eW-YÖ¶ô:.\8/`ù–]ûÂÚ^8¦Œ/FrRbŸe5u¨è§¶{ÍæíË®\Þë§èch&""
+C°€sÞü9ƒÒD£®±)`Ù„âÑaoóçÑôÙڍËn¹örd¤Zoë¶ë¯x^Um=v8vù”ºã†«–}òåº~×v!¶ô²%lÛ'š‰ˆˆÂ°qÇnì;t¤Ï2Z¿>ñsèu±1°¾©9`ˆ¶é“J‚v|ë^§Ã-×^†­¾†å¯<‡Éã‹£]LÅÞûäsÔ75÷YfÐëðÚs¿ƒZ-ò3&ŒÃãß°üÅÿ¼tb‘X_TˆÛ®»"`ù²ÏV÷ûœeŸ­FcsߎŠÖä$<÷ˇ!žFSªÇ+~DDDa$	O¾ð€ågÍ<+ÿóÆäÅlß>Ÿwìî³L¥ñÔÿ{�‚ øÜé“JðÄOîCå†Oð§~…é“JbVN¥Üþöú»Ëϝ;Ÿ¾ú<
+ór|¾ ¸ùšË°âß/ ÁÔ·¡ÃéÂK¯½£¸L×^r>fLž�•J~d*.…w_z&£¡Ïò#UøpUÿ¡Ùîpâ¹W^X¾ô²%xëùß+º(¢è0jêÈ·†ˆˆhh5lýð5L7&à1¿ß¾X‹u[wâ@Ù1´utÂfwÀl2Àl2Âj± #ÍŠtk2Ò­)ÈËÎDAn6Ì&#îÿÕïñ÷7Þpß?¸ýëøÃ#_¬\³þç±çàa4µ´!ÁdĤqcpΙ3qÍEç¡(_~˜¿ô¶ïáÃU_õû¸ÙdDç¾¾Í
>[»çßømÙû8U¢Ù„½+ßAnV`m¯×‡/7nÁªu›QS߀Öö˜X“-˜<¾‹ÌE~NVÐíþð7Àï_|eÀ}¿ðØÏpç×}¬­£[wïÃÎ}Qzø(ªëPרt||å“£GåbÉ9óð«/…Ñ ØÆuwÿ0äÔèÉI‰Ø³âmdg¤<Ö=
ö—ظ}7Ê**ÑÞѷǃ^‡D³iÖd¤¥$#=5©Väfe 0/çÿ·w—qV•{ǯéNbèniI		Áƒ¨`b¢ˆrTT°0-Š-ŠAT@BZº»;§»göóÂxô€ì‰{ÍÚ{Ïïûæ|„™ký9Ì×^û^÷­�?ÝðÀXý¼ä×ó^çGi� Z4n eÓ?Utd„±ÌYó—èŠ;<ïÇ„†ëð¯sU)ªì×ýå×5ÊÍË×¥½»ÿí×í(Í’Ôá‚æZòÍ'gÝ©-­©³æê†Æ:Ýßú|¥¹¬>6S·?òL±>¶gçöúyòD£Ë|Þý⿺ÿ©ÿË«ˆXž�@ìØ{@ýn¸KÇO1–y®»Œÿ+#3K·>ô¤
+‹J}]ûéš{QßawjïÁ#¥Î1mý֝ê3läYë›KãÝ/þ«›F³õ@˜©³æê®ÇŸ/öÇ/]½Aƒo@É©iÆf(Î×ΏÒ�@mܾKíþu¾üî'•¾ÄiñªuóâÅúøŸ~Y¦x¼ÄåjöºöÞ1jÙo¨¦Ïþm¹À¹æ.tòg),<û¡º²”ø¿Z³i›Zõ¿J_~÷S©2wí?¤AÃï×ýOý§L3M5WGNœ}‚_qÄ'&ëÎÇŸÓ
ŒU~AA‰>wÁòÕj;ðÚó>8X¹yyš³x…ž}sR™rÀò��Œj\¿Ž†_}¹ú÷è¢VMÉÏ×÷œWXX¤gâ´÷àmܾKë·îÐ’ÕëÏÚ=¡8ªÅTÖ£w×Ё}T+¶ÚY¿_TT¤{èÛ9õ͏ó´çàá³>¦}«æzꁑ
+úmIÄ™„DÝ÷äKJIK?ïµÇÿûn5køÛvw‡C“güxÞ%¥Q¿vM]3¨¿úv懶¨ZÌÙÄ¥¦ghÿá£Z¾v“f/Z¦_~][â»ËçZžÑfÀ5Úº{Ÿ:µi¥>Ý/T—v­Õ¦yÅV9çC—	I)Zµq‹fÎ[¬i³çŸµËIi´mÑT7½Lý.ꬦ
êýãC‰ù:vò´ö<¬
Û~ÿšZµþÏu×(J3��ñõõQíØêŠŠWDX¨òò󕕝£„¤dŠK(ñÝÇâ¨R)ZU*G«rT¤|}}”œš®½(=3Óøµì¨à ……„(;'G™YÙJË(ûŸïŸJó–]{ÏúØÀ€�U¯RYa¡òññQzf¦ÎÄ'Z^PýýüT·V¬ÂBB¦ìœ\efe+!9E§ââÝéÇÙÎýò��”YAAá?™l•¸Ä$Å%&•ë5Ë[Vv޲²sJuWÞ”œÜ\:v¢Ü¯›—ŸïRëÏ+Ö4���NPš���'(Í���€”f���À	J3���à¥���p‚Ò���8Ai��PéŽGÅÁá&���’æ/[¥ö­šÿùßÉ©i$‚?qŒ6���àË3����'(Í���€”f���À	J3���à¥���p‚Ò���8Ai���œ 4���NPš���'(Í���€”f���À	J3���à¥���p‚Ò���8Ai���œ 4���NPš���'|í��� ¢ð÷óSÿ]T·f¬B‚ƒJüù……EŠKLÒÊ
›µÿð1&Ä?¡4��”///ýüåDõîÒ±ÌY…êqõp­Ú¸ÕÀd(–g���”ƒVM)Ì’äë룇ï¼ÅHЇÒ��PÖ©e4¯q½:Fóp~”f��€rl4¯4k¢Qz”f���À	J3���à»gÀ#„‡†ÈÇÇÇî1Î+5=CEEEv��JÒ·¡÷_§KzvUDX¨Ýã[JZºNž‰×‰Óq:y&^‡ŽÐö=ûµyç<z\‡Ãî�Àÿ 4Ãm½÷ÜãºfP»Ç(±Èð0E†‡©y£úgý^zf¦ÖoÝ©ËWkþ²UÚ´c7w§�p”f¸­¾Ý;Û=‚qa!!êÝ¥£zwé¨ÇܯøÄd}?o‘&ÏøQ+7lá.4��6áA@¸%??UŽŽ´{ËÅTŠÒÈaCµbÆçÚ»ä=~ïíŠ³{,��*J3Ü’OÅûÒmX·–^s¿Ž®þYo=3FÕ«T¶{$��*ŒŠ×<�7¢QÇiï’ôðÈ[äçË*+ÀJá¡!ܯ—ÆÝ?B/?þ ±c¸þµÜThH°^7Z·\u™î÷‚V¬Ûd÷H€GðõõQ綨o÷NêwQ]غ¥|}ÿKˇî¸Y-û
Õî‡lœ@y£4n®e“†Z:í½ðîÇÿæ*,d·
 ¤š5¬§¾Ý;«ßEÕ«K……„üãÇúøx«Kû(Í@Ci<€···ž5R]ØN×ß÷˜NÇ'Ø=àÒb*E©WçêÛ½³.éÙUujT/ÑçX4�WEi<H¯Î´zÖ—ê;l¤ö>f÷8€Ëéߣ‹ÆÞ;B]ØVÞÞ<Ö øø‰x˜:5ªkÙôÏÎyx
+P‘=pÛ
úyòDõìÜžÂ Äø©x êU*kÉ7Ÿ¨Eãv¸„à @½ðÈ}òòò²{�nŠÒx¨˜JQúá“·*Ä!0€3-7PHpÝc�pc”fÀƒÕ¯]Sß¾?½œQá…Q˜”
¥ðp=;·×+cGÛ=��nÒT�£†_¯îÛÚ=��n‹ÒT�ÞÞÞúø•§ÀÞ²��”¥¨ šÔ¯«‡GÞl÷��¸%ž~—˜œªF=/3–ççë«Ð`…©Fµ*ªQµŠZ4n ÖÍ«K»Ö¶œ(öï;nÒ;ŸOUjzF¹_��wFi~çp8”œšf43.1I’´m÷¾¿ýz€¿¿ºwl«ë/ «.í§ˆ°P£×ý'Qá5|˜ž{ûÃr¹��ž‚å€
róòô˯k4bÌxÕî|‰}éM%&§–˵G¸Q¡!Áår-��<¥°YZF¦^ùàs5é=XŸM›eùõ¢"Â5t`˯�€'¡4."19U·=ò´nzpœ²sr-½ÖMCYš�€§¡4.æ«ïgkÀÍ÷(=3Ó²kôîÒQµb«Y–�€§¡4.hÙš
ºaÔXY’ïíí­+/¹Ø’l��<¥pQ?.\ª—ÞûÔ²ü^]:X–
�€§¡4.ìÙ·&i×þC–d÷ìÔ^ÞÞü�� 8øpayùùzâÕw-ÉŽŽŒPË&
-É�ÀÓPš7sþbí9xؒ쎴°$��OCi\\QQ‘¾øöGK²Ô©iI.��ž†c´70}ö|½8æ~㹍êÕ6ži%__ÕŽ­®ujªVõjŠ©¥˜JQ
+	QHpüýü$ýöB#5=CÙ99ÊÉÍSJZºróò””¢£'Oéø©89qR…6ÿ‰�Ïàëë£*•¢¥êUcýÛ÷¦Ÿ¯¯"ÂBåííýçÿ†‡†ÈÇÇG’äp8”’–.I~¿Æ%&)>1Yq‰I:— ¸„$ŽO°óH¢4naÿác:vò´ñ½•ÖuíÒܬa=õîÚQZµP»VÍÔ¼Q}ùùšù±•—Ÿ¯=kÇÞZ·u‡Voܪ
Ûv)7/ÏH>Š'",TÝ:´ÑE¶S§¶­T§Fuå荏¿Ò¤)ßÚ=~[5F
ëÖVýÚ5T¿vMÕ«Uãÿ_¸þ^­”’–®ûjÇÞÚ¹ï€ÖoÝ©5›¶)¿ ÀÒëEiÜÄÊ
[t­áÒ\§Fu£yeåãã­Þ]:êšA—hPŸª^¥²e×ò÷óS«¦Ôªi#]7x€$)+;G‹W­ÓœÅËõÝÜEnywë²¾=uíe—¨^­
+ð÷+ñçgfekÍæíšðádIH´`B©~íš2 †ì£NmZžs—^|BûÕ¢•kÏ™Q)*BÝs›Ú4oªÚ±ÕäëësÞk™ýãGߣ‡î¸ÙX^jz†;¡.ÕçÓ0–[R>>ÞjÕ¤‘:·»@4m¤¨UÓFŠŠ·m&IŠS×ö­Õµ}ë?-#3KËÖnÔ/¿®ÑÌy‹uðèq'DEà¥Ú­v”TP`€²ö¬1𙐔¢˜¶½Œfš4þßwë©î4šYPP(¿íf–FíØj9ì*Ý~ݪc]Q.‰ÂÂ"-Z¹VŸN›©sºÅ­+/¹X3&M——W™³ö>¦6¯QfV¶É¤ÊÑ‘ºiÈ Ý4dÚ¶hZ¬Ïùò»Ÿtóè'Îù{K§}¢ìÿÚµÂ-ÿ~R“gXóÃÿòòòR»–Í4¨OõêÒAZ5WhHp¹\Û$‡Ã¡%«×ë³i³4cîBeeçØ=Ò9Ý<ô2}ñúsÆò;¡úÝÿe,çǝfÀM:vÂx¦¯¯üým[’РN-=qÿºñÊ9½SXÞ||¼Õï¢ÎêwQg|"^o}:EïMþÆX‰´Âí×]i¤0KRúµ4¨O}óã¼Rgxyy©.qÝ•ܯןk΋«Mó&çüõêU*{la–¤ÁýzZ^škÇVÓÃwÞ¢!ú¨Fµ*–^«<xyy©w—ŽêÝ¥£&<ñž{ûCMšò­òòóí
„Ý3�7Ÿ˜lInhH%¹çª7žzD»}¯[¯ìr…ùÅVÑˏ?¨ƒ+fëÞ›¯•kþè4½Ü¦Q)×¼èŽë‡hÇÂïôó䉺êÒ~%.Ì’þq
¿'”¼ó±òÝ–¨ˆpM|~¬ö-ûQ÷ßz½GþS)JoT»}¯Ëû÷²{x×üÉà,VÝá	*ßÒ<¸_/íY2KÞ~ƒ±‡úÊK•JÑz÷¹Çµþ§©ÿxÔN¦ßV
)ÑLJ‡†èÉQ#udÕ\}øŸ§Ô¬a½2]?2<LÁAg¯E.ç¯ÙòfÕ÷EL¥(­™õ•î¾éšR½ˆq7õk×Ô̏ÞÔ»Ï=®À€�»Ç 4n"'ך%EŽòy¬!Àß_“^zR³>~SU+W*—kZ¥Mó&Z5s²îºñj»Gq	¡!ÁzüÞÛuè×9zö¡{T¥R´±lO¼j—ñ£ïv»m&M¸÷ækµòû/ÜþçìGiÜDX¨5çääæZ’ûW±Uc´tÚ'9l¨å×*/zÿ…qšúÎR²;²žÂ××G£†ÓÁå³õâ˜ûaü±UcŒgVTÚ¶²{Û´mÑT¿LýÐò­ñàÙ(Í€›ˆ³$7;ÇÚÒÜ N-­˜ñ¹Çþƒ}ÝàZ:ýK
+£+ëÛ½“¶ü<]o=3ÆÒ"R£*wšM±êÝ*wÑ¢q-œ2É-wk 4nŠ}Róòó-Ýš©NêZ6ýSÕ«Uòk¸‚¶-šjÁ”*Dq®^¥²fLš S&©y£ú–_/–ÒlÌž‡íÁv4k¬wÆ?f÷pS”fÀMTŽ67/.!I‹Ö4GE„kÎïU˜·×Ûµl¦S>°ý+]ù@m_0CCô)·k²¦Ùœek7Ø=‚K¸õêÁh”¥pe݉à\NÇ[sâ[€¿¿¾ûðõr¹éJÚµl¦¯Þzñœ'ܹ³Ð`M›øª¾~û¥r¿›^Q^t•‡ek6Ú=‚˘ðÄCçÜ™8ÏúÉx°âž¢VÇO1ž)IoT½:w°$ÛÕ]Ú»»½{¸ÝcS¯V
­üî]ý¯~¶\Ÿ;Íæ<zܲïyw[5F÷ÝrÝcÀÍPš7S)Ê’»¶;÷0žyIÏ®ºãú!ÆsÝɳÿ¾Ç#N¬»fP­ýaŠZ5mdÛÜi6kÙZî6ÿaÌ]ÃÙ¿%BiÜ@ÿ‹º;ù¯vî;h4/<4Dýç)Kfu'¾¾>úìµñnÿrÝš±ªië±UcÎúzJKϰišò‘‘•eYö²5¬kþC¥¨ND‰Pš7pýå-Éݾg¿Ñ¼WÇýû>®hê×®©Ñ#n´{·àï¯JQ_G}ôäiÙ4‘õŽ´n	¥ùïn¹ê2»G€q¯3l
+¨~횺¤GWã¹i™Ú¾×\inÖ°žn¿öJcyžàñ{oÓçÓgéT\‚Ý£¸µÈð0%$¥üùßI)©šøå7ºÿÖëmœÊ™YÙzÿ«i–åïÚH{QãúuÊ”SPP¨¤ÔT¥¦e(%-]©éJNMSjzºRÒÒ•——¯´ŒLIRzf¦
 
-Ö<¦k[^ø-Xò�‚<ÒäóT2e;vV›Þ¦Ÿ‡ã›ÊCXUø“\{…•xŽkrÞOÁŠäø)<‡Ù²žó~è¥ê,X5š(q2RhT¬<ڲѳ߂õQ⍠NˆÎɵæÎ} "þ	Ö÷|³¢]G}WG
V›&§æŽFRSH°îà¹ú–Õ9>–‡Ènkší¾!ŸéˆZ88k½=òK°&2ߥîaïõ„ÎD+³AÿڝOª	Ö3<W¥Q_ü¬0Äy
-òž
¦i•wH¾8ÜB]ú#X_§)G›ØêBóôó|ÇQ°¼ÉQˆFE!ÁúžëI4
-øà³`e!J£Ö¨JÑŽ”|<oa§g‰k±ž‚5PxÄU¾ë/Xªãû¥°Ž=ÁêB�•Fe|ðW°R:º¡QV¾I$ec«r¥Óû%œIó]ñÊÁJpMJ;‰[Ép¬®ð`ÍhÒ…Pme+Šö¿uë"½J4
-ÌVÉöšóÕëÁ»Dâ´6½æ
&ôÿ<Xã½Nê]r­=€k/4ÊÁä–&U¡Ñƒ€`- ÀnñÁ_Áz‚P—4ºÅOf%?ü×Áíyã2éÙìἓ`%޾Ò"B£˜€`!@ß~ù¯‚¥éê–F!üqçÌå²ÂeÁ›`…öFÏh\‘òÇ	VûøÛ…ti õ¼Öx¶ß!ÐWÁRøãN+|Èøõ,[¿+©mM&)É\‘;
÷ëùbWpì«Õ|Áú‡&5vJ£¹÷Áê@€ê–Žø)XcÖ¥QÜ)\rMº‡#½óZR¡¥\¨?sõ´¯˜¾ýj÷Üʹ÷Áj;Ùߨ
-ÁÎiT÷>X±šõU°2,A£,þ¸4H:?_µ¼ˆ)Ü*—ö~QW1ÆôN‘ǰ³Ô¸R‚KeÁêÓHÖ!XC¢AÂû`Í À`˦ô>
-V
-¢õƒ{´@Í®³óU›7I:!Ÿ=aOaË#ŽõI©¹ëŸÃË‚uB£"„‹Ñ é}°2@·â«`!Zþo9¡=÷S̵Ù»Ó­Ä‘�ÃßW0¨ "‹¢,‚â‚[»ÞÿEÍqF*„N˜1Ï¿ù1§û4ð&©ÔRÅbç‚¡µ[+%Sø£ÝŒ²ŒŠœØS¬³àv°íþPbÄ$X0Ž
-þ¤`A·‘ ÄA"ºK›SÅ]ø+?¸ôcÚżA?æ^vÕ)ÁùŽß”‹b'èÿ³Kˆ$"XÅMFìPÖŠI°Œ…ËÉR°® å-wBº¹ì|Õ“‹óŠ•Üõù¸UÆTsðvõ˜’‡âÍû1Brü.xàçÔ'“窃eAfnbÎò>eõ˜Ë^xoø“‚õíÒ”ˆßs´Vç‚SnÇó¹j^
àgT¯
M~#þôÆ“àÄ¥ÏÌw£ŽeR*&ŽƒƒõN™8v%AI?®Á2ñå«	íö(k!¡BŸŸ*¥¥»œº],Ó9ŸÛû&ÿ€^}*QR¯–ü­-íÁÊlfkž’Û˜+O‰ÀÌ
-–
ý”U‘PÂÿ|Õr×ø¾cÍ%‚u¾ÏW2a—sÞ­oŒ,÷!8ñ¤x֐<²‚5p)yŒk°~â–ý®({AB†Ï*ŠÁÿ²º#„”Ý3ùżE¡çqçԐzµü'ý¢;Xç›y=}@I.	–º`U ßK²¯»>{žËø¹Í/îC+ü’êa¹¢ü3«Ú!{…mÛbe)sƒ
-|ÆÜSr“`ã¬ôSÖGB‘rŠŸ®15:â—v«jÝ‹gru8aÊóÂÌ;»áÄÝÁêSVÃ<Æõ«‡·„ÛÐo7	–F¥­ïT>ΘµR´QÍ+,Q•Ãm’Õ…v¥’l#ŠAp°.6³Ä¢FÉsL‚ÕŽC°îá+	V||?_5kqfkŒ¿S¾58s¸p(ítµTûrnp)­;X·›Ù‰­FÉQ,uÁÊA¿j,=äóUï2E~7ø{Ùaˆ±îæ¾i‡!H±‹¢¬n¬•œÅ!X‡Ð¯žKù|U›ŸÚoˆbôÌ™Ãd¾wI—CÎ}!*ºƒuEYkÿßë'.ÍIÁO¬xÉØü.ÕCD›ŸRåPwX86ìjnϨÅÁr yØÌ »×`YqVúÝQö€„Ro†âŸe¦0f°/EâA¤Hm/tŽ™W×Ê÷à`odZÃHÄuâh,‚å@¿~r–ªv/¦âš–»<YN´åwr[%»V0|úüU~ÙÈ�È.e×q
V_~N°Î _ƒ²7$Ûá'ój<
—î?2åÁœ8(!Pnö;Ž¢¬ÌF¦I×)»ŠI°Ü8Ë€~{”‘PkäH[&G×Ùâ”(,¹ïã?«‰‚î`u6²­OY!	–º`±íÒ”õPëH:”Bå/;»øS½õ.JI—‚âj(¸j5)BflâòÜ ì4®Áú‘;޾@;—	µÎµL4z·–œãUãDÚçô±ô(ÌCSÚƒemâò|ÛGã¬[hgPr†„RYÛ3@®tßø£…Sݍ’ÏYô©“wƒ)ýÁªlâòìPbÆeOw'„÷Ðm—²
-*8º&Õ½™.>3TznˆbµU\);!‚•ÛÀÌѲ÷òÛ`Ðá8Z°èÖ§,‡„Jל*>A¹.§ò=x¤ü¦ځŸpb ?XÝ
Ì“¾¤,Û`™Ða'Z°Œ4Û£¬‹„Bƒâ¤8õ¼0“—˜3Îý¤Òœ¨@°ê?âÎǸkHYÜDëÐÌ¥¬Ž„ú¦t¡C¯Í	±ïÙ9kÁE—Æò™vUÁ‰DS
-¬wzìC³mÊâ¬ÊzÞæç"«½Þ%¢‰„:wÒ‡®Ø©ð:(Ýœ—˜W7H÷$àËî¬!Xh¯ýÛ~bS–K°ÖsöÂVÄ`U WŸ2	uF'Ì14¹çÔþS8ãœ2æk·M,r¬(¥0_äÔÚ§ŽÞQVD\‚•¦ìä#ËìA«T2æ®ÕŽî[‡'›íÌŒSœÓ]ý	ÓxÜé0Áº¦GZíQ–ŠM°RklÎ2b°Ø‡N##Ù«A§²Å‰v	!5ž‡EƒFÛIu³ãbî«ydò‹à„¹¿ò¢µë’Ðé$OY76ÁÊQvõ"+
-”‰'$Tþ„s—2ùÕè„~ß}V€<¿˜³”½#¤[N•¢§!L°P\ójÿ=²±	Vm-ixŽ,£	(sPÇ]eXð­BY>D²Ž9Õö‡ó§­ÎþÓi†¬«àÔ1Ö¬õŽË‡ÈEl‚Õ]KÝ­ÈÁâôÉ
-ÊnPæ|…ƒKèçl?l[‡‚_¬itvmNmuBÁT÷¤Q¬cz@ŸIÙM|‚UàÞçï2z°\èsDÊ„÷5véÏì"À+§~1®GsÁ¤ó@}!­¥Ž„²J¸1%1†6Gô¨Æ'Xûô¸ƒj×
-‚Å7èÒ4(³P¦%B¿7©æùaˆ•W-~'[øR¾O“Nx-f±¶`á~ç®ôü¾íñ	VG¬aíåPE°RèìéŠÿ}ó'Tµ9cß?d¼ŸÖœÐéüÆ9õû=™·e,±ëð“q‰5ë˜k¼Åº¡G#FÁB[ÿ$ÍUKd Ç¨MK$”qÞ­ðtÆOùn	ÿÚOs¦úNÙî–ýÏʧ{ŠEJ7&?u¨î[_ίï´ó'›2ÑŠS°¶(3›PëO”`éÿ»L¦¹ëT
u
èµÊØâ§Ã&æœÛœ2«á&š{Oœä8#Roþ¹ê9c¿a­ÁBi•¸Þcq
-Ö3uÏ™ìØ‚¥ÿ«“§Ç-Ê<\Ê/•i+LN‰È®´ÀféÛÈ­L@*=HªÏy~9Ë`ÍÁz¸ehô(Ä*X¯Úoe.¨&XÜ‚
z˜H(ã,mC,jø°8uf
-waɹ«3f忥‡™ñkÎ’Nx]s°Z×Džz´Ob¬Ý“4KEUÁbê½Ûô¸GB™Ž¹èë;[B#©-Û_¹8
-±zþ²α]gk˱~gt¡ù­¡—‘…r}zu«`Á¢Þå„×T¬v	ÊmÓC$“°:çD~‡ûaÖ”öž>òpÅ&‚‡^•2Û5è‘/Å,X÷zÇœ›¶º`ñªè•FBçÅóŠ‚õåo‡œ0-,Ò|´¹ÄðÀF‚uL
¨Uúþ!1V^§P戂¥ýÕÉSžLöÕÊåÄUÀ+³X´ÉTÐZÁAˆ?ì‹5múé¨&B¯¹qèeÖ¡Ô
½ìfÜ‚U2toŸ
-•Áb»	¥¶é5Äo–=¾ÍU«hçÛ–“~¾¨?!’²¹¨3Ïœ[c�èÔ»¹Ý ±ó,Ý]­½07âõ\ž2á4Z¬5XÇô‘ÏB¡‚ WqÒO.-YT,nC¥ú8Åo•ÝÙ.ÒÃÝ{íE]GZ„Ç-gÇ«n;'œWøë‡|¦¯vS®Í™beïAÊòúƒ…
-}¸(³oÐ묿`õ5ž«õHÅÁâ-Ôyô:ÄïôÑu¸ˆ¨ì”"8T&X|ù«“—†§K–ÆZå½zZÙÏ6!ÙL°ª‚>FP$›§sÄ/X%[ÛŸ¡<XâªìÚô2ø^Ò‚KÙ¹q„in9HN,N¹-„uâY¦$HÒ<Á±B°ðL?Ûe(ñäúö1þÐË ºŒAåÁ¢]…M—>jø…Ž+&R—ýúzÁ¡ÛCh#“sKwïã‡0WxÝËÓϽ’bµ\ú03±V•zÞí÷,jÛY5½ÒG±ƒ_çÔaHÛ¬jèûäQÊsÂήú¾ÑüWº¼h$¨€b•`¡O_Û#D6°è§†X[ôq¡ Z‚E«¥­W<Æoó”üÆtî…ËÝF­Ì~¿¶mñ;ãö«±|oy.þfÕêõãùJoÖ’ßÛýì»ûC¬,¤èk«ƒˆvÛôãœÄ4XuƒE
-#Kw±:C2qðjó?îÑq	’÷‡¹Y�nõo¶/úÀ<'ÊFFå"?Lû»Æ±Z°ÞóôåfÉi‘~Œ1b,ø¶ÅÎ ‚Òµ‹gcDóîß«âo;+çöîu+q$ŠðÞ•‚Tä&ÈMAQQT¼ûþ5­$’8iÌ÷cìÅ8Ó³¦qSU9uÎ×êÆÓ!ÜuÎe…Ò5üÐhºÂ’LÀ♏Îа¹‰×A¤¿ÀB“î´;0Rè*6°^B?,jëŒ0°¨"ˆ£“UO —½NΊX£},q¡Òóû#«¸V(tƒ6ÜóŸ>Ot'n:ØP¯Bw2þÝÀ‚L7…I€Dˆ4°¨Œ°¹s‰®¦ø]
ZŒ|ßxœ*´è>çÆhXvøfh¿K“Ö·Ga¼Úmø
¬«® ï`#;9º;yÿ—+#эq B,CÐᾇ
5]UcS¾ó3^$Ή§><ØIÓ¢fàQßµÐ]>|ï”3×®#[eÄ„ßÀB»@7Ö ß®j
-ÝI—ø—7t%=À¿Þ.j`éЩ[Ç&†Uº+´ñ«(ÞgþY’ßµw&Ëš†!Ü(“]K²ˆ	߁…C…«¨MøÔT¹Ê+þíÀºÊÑÝn>vr`ÉÀ”Nâ¹ßòÝIoøU^”
:lNr~Ç`	’”°L"Iƹ«tåV/±‹˜ðXx\)}
-Ó\iŒ<°VW¥«uøÑ¾Œ °¥‹Âü¹¼à
-"6ņ?ãR²uP÷¦X¡¯u+›ÜS,Žæ6®²¯)mÒÃêF\£ä9²ÞR\íÿ|`aF}sñF¢!¬«4ÝTOá]¦"¸Ê~•ÅUXÅwNû;ñ3hj¹?:aOxí6jâ1±I`aÌuôë"¾U~½à•ò*\E:‹÷ƒn
-;{-=àgÎä^áJ
ü*3Ò|ûjÿÚu;®Òhê‡ÑÊ´a{1^S6
-,L¹–vßì`ÉqëdËØ†À*®	e%{ˆï\îJtÕÝDàÀB_§»êyߺ“ç’+Ï—Iʜʧg²*	ÅП™uhšÞŽº½XG 5·?¹,MyÄÄf…¿¡eóm¸êÝMsäwyµ…ö	×PkGXm§¦ruˆPý•‰Z8>Å:“›.™ä•}€Ÿx…]q’øÅÉþéÊòF-ãù]?p+ûk„ÑdäÖ­`"6Ànù=U¾9?jáSæåö^WøÝ2¶$°°cp­net§½Q¥Ë•ô„X蕸Ráé¼7½æ±Ê•âuõ쇴
-+š!¶5:¨×,+§8“ò¼–«¹í*õ0ŠÜ6›±)PÑ6,\z£©ªnÊ=©[XÎÄrÒtùøìà®~´·óörp]Ëê×IõZ`áªÂ5„ZÕ?ðiX?Ûýþ#GÄfñSžÝó¦7Uø×…Æ¿ºçXÖ?á̹×>¡²k/¾qâò”ð‘&	q¡Ñ&¨ö:8%m
-,3±ÂõTFˆLùådñ‘£Ð-6û‡Ÿr$\ozߝpÎè’û8dš–TÛÞàØë Èºëà85po+ô”–ëï›vºŸQÇvöT†HÜáò
-C¥Æ¦;叩ºM3+ß’ÉÔ!)2€LV^%RQH/®ï7ïæH·Señø«Š%gñ*tXè§6=ƒm,ôÓñ‚Ðo]†Hîã·©»Íã¿’I*æ_vqC¦æ¥äÚÕ¡Fž¤I*·qHZß1ÜF½K4Þ±©¡âv'ÇìJ€À²>CÂt|…í,tž}ˆ­,âĦ5å*Ѥµ—ò'MRmJ¤èór̲AžÏ6•‘â(­mr¦áñm³â­¬lTdÜÒñqaЦà–[@FØÆÀ4†@˜yE`y‰¡È]â÷9tyBX–Iʽ4©öðNŠG«	Ì.0 Ù¼4H1py;EoOè«+&.¤zØHƒ3»nÓ	”"â"``¡·Ï°T<°†>y
ñc†ivR__ByóÀB&Åà”›_ÖNf®B“ѳ¯wî˯¤8Χփù/dRíìuIåÔ¥¿Kß8r½¤Œ¦àŒ¾ ¯”¡{8ÆFÐÀîT†¡{ßvi'ÊX¡±ö{£—7ÌnKNh÷ °€WƒUðõ$çVîœdÈͶj‹…ː=`O!óØ3ȇstIÕãíݪjn¥qŸÚÙ5E©xÝ$#°ÐKJjáߘvÝÕ¹ºþ{£×ßÜ\îôûååA ÀBª0€“_Öœá¯kš¤>>µ5R¶¤R?::º GœÖ
rT¯×e²ppp«²ó=*†Þ
-<ïaSNÓbL/áÃÎTâ\ºŒ%
-M§ˆ
ƒ6÷ð¯]BÜ·±‰	íö}Lc>Æ»”¹!mT†]ž6R+X`Ã}…2nãsÌñÃÒ·UzÖt®šÞJG¥"lz)þ¥]ÈÙO•ý•îÓÝÕM~ÏhÒb´Ó/,Ë$@d‰Ê$¬Ù4âÒû…m±/bYÒôN-ÃÀAKI\ùÓŽ
Ú!½S·nt¬uõòÌ™ìÊ»¢»¦}ÄGðÀ²ìÝ+Ü„´»‡½	ïÿñý‚óçûçíJãʽÝÖI?X`YZã}Ò¯o\4ÊË[6Q(¤ù—B—ê\Ôô?T’ÕR©*ÈWÇŸ”ha¥Û’DK	N·7¦¬ØÂÄ©sl6»ØT»V _ÝqAÜò«\kÔ%~qÑÃÿ£u–£wêmß[»-éAËÒyM)ôLªÄè€ãÿðäø¨œ² jV7É̝ZKªŽA>�¨ØÖSÝu‡‘ïƒJ_ˆœ227£L‹+îY«ˆ‘(›ã!½“²MÕ¶²Ê5î4þ•náÿ³SËÑI¾ÃÅ]ÛXÁàey<»ô@I=üæÅÕLα=›Îª¨X¥~£ÏÿßCRÂgEvl–+«÷^Õkºðvb{—¦BÞƒC_ŠÛ3 åÔÊ—z¡”®{Á]ŽsR­ˆo'm…ÿ½{§‘–¾K«‡¾ñ rF©´(°œú•×R÷Ï{øõŠÂÑ~åd^×þB05>ªÊ‚,Zçæ*�\,ŸM\±ŽV¼Y”6\eU‰>}<\ÝWPd#!–Õ.I\G¨»¯-„å婚Óåü;<hžäì´YF\ÝMÓ]IÕZý
-”뵬¼?ú�‚–Sæá¸jÐ…‘žĦCÒÿëÒQ"³CJ=�c²´ØXÕ`ÑÈŒõM¢àl¹ÂÐ1%µ}5¸Ê1VÊܘ®óßjN:pÕÓâ5’0’À²ô›lN¡“è¦jÍ–öùx?•3$Îij5[{ ¸àeyÝ<gSUýjIÞ¿¼%+ûš(µ\
-¶¶wÓÅöïuq„-Í«›öHñ踿ðè¾´H¥ñäž&éjp&^·­B
,gÊçoö³ÙTéùþ¸qݜĨ¢#^ZívÅ(°kÕ§NY²aíö^a’ÉkXôEåÕ…õâ	ÙtíÍ~4.ItPôZ½`"¬ß7:š•űRà§xMLL$õ¨Ð4`Ϥî¢B<E`©~I±«Óí³7ûH6\O
Z°d…‡‘¹gܪܓÀú’ÀŠPÊÑÙØ°Ž©4rSÉ
-)ë×0íZùž­¯–g® É£ŒK“SQ94¥/I`m¿$°"Tuô‹dÖ$Ètɤ‘ªnÑÈ‚jÒHIíΪK³¶¦ë>°¼b”G4Ê:Mâ5îKUùù ‡$°I`Å„nŸØ¡_¥µMEÔ'÷ê‘w&mˆHŒ9óO:£.-R%ƒ%I`%’ÀŠ
•¦	þ*
-¬¿2²ù!lìßZ-#§
-MFßÛw«üB©•ñUX‰$°â"ç¯%(ò&A>˜rdí >—&§õ£?vÉÔŸ/“Úò–ðviˆµô°gÖ:§Ž
àŵÂe©¥œK+‘V\\8¥iä£õuÏþ”ð³ÄaŸ¼·NÙwÅå¹çfß94‰;„.EF¯épQ„M»V‰$°â®DÒQJU·ÊÞ!•°^Yrj½0v\7nøªì42Yƒ>ÎÇN:Ý#"Ú<#±e’ÀАLÓÃò+#ëùáù"›Î�,—8¤­»ä¹£ë÷™¯´¤úŽP
8ׄ•sú¸ù2¨H¶6lm¦Hl™$°"´ïX5¬S©Êâåý/ÿ‚¼[¬šÖåÁGûÒWxóQàŒÞCˆšŠŸ(qF³bw˜âL®ŒHÚÜ"±e’ÀŠÐ­cÂiX…2Lµ/ûÕº›×¶:<ŒÈœ³IòŽÏ‡y¬^!4ogtoÿÎ.MÚ–r%Ê%V‹vHl™$°"Ôtœ—µù*ê…<Y܆ÎÂbXÓåέT«’ÏŽf5J^qN."$§g
-CxqD{©QðkvwHl™$°"4¤I*ãÓþ< ŠŠµÛ{ «°(dÑZuÉ�öyéMØ…wSÎUûESâ\®ä‰J“î<+ 
-/´ÛAbË$%ÍQ×ðFŠƒzý@%÷þ“'Vgª)åMRÇ)2çl™—ÚàŽ2sm„` ¸‰1¾è)$):ˆ@žv}$¶LX‘q5zA¯y/ªþÏ‘;)ÛÌ› ÜLÓ¥ú?ƒÓFCbÛ$¥±³Ä²Iïº|*J4Á^•sÒ�Á<¦¸¡ºKõÿ" Ó&‡Ä¶I+J—.ãš/HEUU‰,èH¤š.™ºä‰9àT"õl¶jŸó@“®²´d{à°ËM-G¥Ý^­›¼“·_X‘*8Oq&
-¹?ËíÑêAºTT:"¥>&YrÙ^fáSù‰õ›*n¬âŒp	苤ntû%©gšrŽ}â.y<¯=ÿ–Y]Åù„®ýòˇBÓ9|»¡E<·°‘Ó-…‡j4IC|ÊF×ùïŽv×Hl›$°"uéÖJ8EФ”ÉLíyÄ-©uRœ»ÄŽÑé3oàßû½ åb?¬c·T炦3D F»	Û&	¬hå\jú9RÜ–uò¢Œ²DN¬3*³­àMFu<ì4=a;9.Tëð§×иpÜÙ¨©=+ÅE^I4ImD@¥ÄÖIë?öîm-m(ˆð¬b@L@ ”“‘óI@,*•Ö÷¨¶©M9…B²þk¸"¬ïËì=3Þ/[‡Ui�˜Ô h7)_Ï7•u@¿‰¸ë/ÝÖj5'˜ë•d}íÑ"®"%ÙTLƒMï4Eä6§xX[:ãƒ,o5—îê˜�ô$€–$€ÞkÓÎm3h!Å=D¦ŸÏÝN'‚¹óNFÖro©˜ËwwyMÓt3ŽWµ²xàl}�–ÇFXV,/‡� 
 ØÖ€‚ÈhTz�Ôe·¦¦°]ÉÖ^&XPÏœ—ys‘–l#†‹öE<0ˆcá·¼ë´UüQkÊ{-
õ¢@N¤Ì÷
šgòÞ­‚?ò²‹+oÔ’³¶|¨0kXP¦mÙN»õF¼ÐSMÈX^»†Í‡Ë0ZæÔaUÞ¼®ÕªËNªã8ìaË…8ü¼j97µFoek™‰#FnÅYN–ÿ0°¼–ÑñÁ
ª«(ÜTëEœ¬}nŽÓpPÑk4NÌ:ýañ{î<§ðŽ9ùÍÄœf•Å-ð0Xž{†-—3«†·”^¢,.%Ø"Ù]õAÇ&”ÐÙU¶4I+�Ôh«"ÞèªpÒ…|ˆå=¶ó²,qÙ7j�¨æ÷ÔÒO"°õe/²%CÅšôQLö£zyVÏdzp)
-ùË+îE~сl!–ÞûÏb�~*’ü!'b¥+äC,ϸ§«YÙØ‹[­-ûôóáBÇÇ´ü¨^•‘µàfùëÆ[OWé°i?dïºwÓhCƒjÅ猜ŽvK|ò#ÖA\l9]½†MéˆG…Yÿº8FÒ
ß*rbJi,ò%ÖAdCøK/Èf*»LV{Îc…w|Ёå)÷9–z·þw¦œD·RìÚÄrBþÄÀ:r¯BÝuÇæ1¯>»¹Õð‘ÈO!b`yÍ=]]
äSmKáÔ[µþmÅ¢•Ì…òzDÁJ!Ÿb`Lö;þÑ者ÒS1‚WZ°÷­—#XOp0°èAÅ?µV[>ti->Øvùø¾ÕøBè_¬Cº71§…RYâ©ßÂQ– {Jcc¯`ùë 2´|ñùIÞ覦¦‚…xЋ19lL™	ùëÀî£x/~Ê%‹É\ÈT8Ææ[LÁÆúB>ÆÀ:¸”‰µ„ƒ]½úcŒM)-!?c`ý¥üs¨W"ÖÄ#Õ ¸dŸûÿP¿ˆ`…FñRH$Í¤Of m)ÎÂþ/3#Ž¥ôd]ÈÅF¾ž\ç6m¬§„Ðaœ
S}_€Ÿtø§ÛòPeù*’pP^„¨û-•®[w©zÐ]úXŸÁ£PPX¢#UѰ¦(o‹ÅÞQYaajŽGªÁ‘9ÇJJˆŽEÓÄg´h?ØíKóŜʾ:&•s¬ [)¦UàT[qü>¢c2hÕà¦6z¡Ç»/§´+ƒö(s3
EsC–¯èÝv†¶qâ·Têæê¾)DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD¿Øƒ���� ÿ×FPUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUöà@�����ÈÿµTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU…=8�����òmUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUi	����ýí
-�����������������������«�0£ Å™{ôŠ����IEND®B`‚
\ No newline at end of file
+
+ÿüܨˆpy{{+",Tþþª_»†Ö­­uj*Àß¿Ls•T¿î]¦”´ôr½.Ü¥pqÜy‹|}}Œç®\¿ÙèݺgFß-Ÿòy󪨨H[víÕÊ
[´÷à<z\§â”_P ŒÌ,yyy)2<L¾¾>ªQµŠêÖŠUÃ:µÔ¥}kµj񬆾	Ñ3£ï֝?W.×óT~¾gÿS5êé—5eæµhÔ X‡«\ta;ýë⋌Í4sÞb­Þ´ÕX^~AŽŸ:£åk7Zþ"ëÕI_hÒKOüm—‡Ã¡„¤Å'%+!)Yg’—˜¤øÄdÅ'%éL|’â“’Ÿ˜ôûǤœç
+¥ãåå¥Ú±ÕÔ¹ÝêÛ½“†ìkù޾¾>êÑ©½~X°ÄÒëÀ3PšvA³Æq5Õ-_·ÉXVëfuÕ¥}åý“õ[w꣩34}ö%§¦•*#<4DƒûõÒ-W
ÖÅ];Z¾=ÜMCiÜ«ïXR2*‚„¤:vòœ¿·fÓ6­Ù´­X9ùFKó‚«4q²uw„­ôñ¿ÓâUëT¯V¬Ò3³tìäiIH´}É‹ÃáБ§täÄ)}óã<Ý÷ätýåôÔwZz@ÒÅ];RšQ,¬i\T€¿¿>yåKî2KÒœEˍe=vÏm––Ï=ë²ÛF©ãeÃôá×3J]˜¥ß–¥|õýlõ»áNu4L–¯68éÙ‚4rØU–^Ãåäæêç%¿ªß
w*'×Ú£Þ+¢GŽiáŠ5Z³i›Nž‰·½0ŸKn^ž>ŸþƒZöªIS¾µì:]Û·±,ž…;Í€‹zë™1êpAsK²÷<¢Í;÷ɪ¡+\l$ë\>Ÿþƒî÷‚%ÅiÓŽÝêã]ºó†«ôÖ3c,[OyÏM×èÕ>W~A%ùž =3Së¶ìЪ
[µjã-Y½^™YÙv•£»Æ>¯Sq	zfô]Æó›7ª////ËNG…ç 4.èåÇԝ7XwwrúìƲn2Ȳ²ùì[“ôôëï[’ýW“¦|«í{öëçÉl<¿Fµ*êߣ‹f¼»ï·v8¬Õ·jõ¦­Z½i›vìÝï’w;á:Æ¿ùZ5m¨¡Í.	RÕuøø¹— 4.$(0@“^zR7
dÙ5‡¾ú~¶±<«vÌxÿËiåR˜ÿðëúͺ|ăúùˉç|𬬆ìS¡K󞃇µpÅý²b–®Ù ¤”T»G‚õôËг›B‚ƒŒæ6mXÒ§(Í€‹èÙ¹½&>?Î’“ÿþjÞÒ•Ú}à‘¬æê«e“†F²þjûžýýìkÆsY´r­Æ¿ùžø>ãÙƒûö’¯¯Ïß¶Þòd'ÏÄë—_×üV”]£§ãì	àä™x}ùÝOºëÆ«æÖ¨ÊqípŽÒج[‡6zäÎ[5¸_Ïr9Iï­Ï¾6–er7‚?8Ý>æåæåÏ.ŽÿLüTCôQ»–ÍŒæVŽŽTÛkÑʵFs]Eaa‘V¬Û¤.ÕœÅ˵k¿™fÀÿ²¢4W¯RÙh<¥(gAjײ™.éÙUCöµüÎò_mݵWó–®4–w©¥yÖü%Z»y»ñÜâ*,,ÒS&ê§ÏÞ1ž}q×=ª4§gfjÞÒ•úaÁoE91™%°ÞÚ-Û•–‘©ðÐc™±UcŒeÁsQšßøkä°¡Æòü|}¬à …‡†¨nͪ[+VÍÕ·dÍlq<òâÆžU·æ·jzñ½g–ÔìE˵yçµiÞÄhn·Žî¿µUrjš¦ý4_3ç/Öâ•ël{G�WAA¡¶îÚ«îÛË5–ÏEi~¬I/=i÷–™³x…æ/[e,¯SÛVÆËÿ޽´nË£™¥õÙ´Yzë™1F3/lÝRþ~~ÊËÏ7škµ‚‚BÍ[¶R_|ûƒ~X°”¢Ûí9xØhi(ßã»áž8ܨ�rrsõÐsŒf^غ¥Ñ<Ip†­��žIDATš2sŽñÌÒšúÃ\ã[ ªm˦F3­tøøI=üüëªÕù
~¿¦Ï^@a†KHJ)ýGç`4ž‰ÒT�¾ô–±3þpaó¥yîâÆ3K+>1Y›vì6žÛªI#ã™V™öÓ|Møh²NÇ'Ø=
+ð7é™Fó¬Úkž…Òx¸¹KVèÏ§ÏípA£yq‰IÚ²k¯Ñ̲Z¸ÂüÛÍÖ3ž	T4©éFó‚¹Óç(Í€;r┆?ô´ñãa#ÃÃŒoÑ´fÓ6—;ÆvÕÆ­Æ3›Rš23}Ä:kšQ”fÀC%$¥è’ïÖ™„Dãٍë×1žiÅRˆ²ÚlÁLMÔ5ž	T4¦_`³¦ÅAi<PFf–.½õ^í9xØ’üFukÏܺkŸñ̲:zò´RÒҍfÖŠ­&oo~ô®ÄßÏÏîàøÉ
x˜„¤]rÓÝ–nÝÖЂÒ|ìÔiã™&?uÆhžŸ¯¯*GEÍ�XÒxGŽ©ûÐ[µrÃK¯cÅ‘³¦Ë©)§âÌïÁéc�à~8Üð–¯Öõ÷?Z.GW­\Éh^aa‘Ⓦfšr*.ÞxflÕmÞ¹Çx.`µÀ€�5®_G
ëÔRlÕUŽŽTLt´*GG*,4X~¾¿-sˆŠ³tŽÊÑQ–æçBiÜ\zf¦Æ¼ø¦&Mù¶ÜvŸ¨VÅliŽKLRAA¡ÑLSNž1_š£##Œg¦ùûù©ÃÍÕµ}uïØV­›7VmÖ䣣4nlÞÒ•ºkìó:|üd¹^7:Âlé;q:ÎhžIV,Ï1ž	˜¢K/ûj`¯n
+
	¶{$ÀePš7´tõ=õúD-[³Á–ë>À•Oœ³b˾°J3\K“úuõàí7èæ¡—)8(Ðîq�—DiÜDaa‘æ/_©×&MÖ¢•km%Èðž¦Ù9¹FóL²b¶ðPJ3\CãúuôÊã£5¸_OyyyÙ=àÒ(Í€‹Û´c·¾üî'Mõ³ËÜ‘
4{zVn^žÑ<“òòógr'ö
+
	ÖÓÞ©QDZG1PL”fÀÅ=yZKW¯×²5µtÍzí;tÔî‘Îbúô,—.ÍyæK³¯¯ñL ¸š7ª¯o?˜ f锥°Azf¦ÎÄ'éÀ‘c:pä¸=¦GŽióŽ=:râ”Ý㝗¯¯ü|Íþè°¢˜šbE¡÷õ¡4ÃW]ÚOŸOxV!ÁAv¸J3ð»”´tõv§ñܼü|efe+-#C9¹yÊÈÌ2~òdú.³$åºpi¶by†¯á@qÜ4d>{íYùø°ePüä~WPP¨
ÛvÚ=†Ëó±`V+Š©)®|(®¯ü—>Ÿð,{,eÀw€±¢àæçÏ4%¿Àül9¹®»[<O»–ÍôÑËOQ˜2â;@‰XQ"ýý]÷é}+vpåáY¢"Âõí¯Y²¬
+¨h(Í�J¤  ÐøqÝþ~®»R, Àìöz’”“KiFùxéÑQªW«†Ýc�Ò ÄLßmvå}büÍ—æ\J3ÊAÛM5âº!vx×½½Àeååå-º®üÖ±wÁYžò0áɇÊu§Œ¢¢"?§øÄ$edf+3;[™YÙ–\ë‚fÔ¤~]K²BiPbÆï4W¸5ÍìÈkµnÖX½»t´ü:ë·îÔWßÏÖÚÍÛ´mÏþrÛRó•±£õȝuËåZÀ(Í�JÌô.\š­XžÁî°Ú¨Û†Y–íp84õ‡ŸõÒ{Ÿhûžý–]p5”f�%–c¶ô¹òédAæ—ŽXõ–5 IÁAºî²–d§¦gè¦ÇéÇ…K-É\(±äÔ4£yÕ«ÄÍ3©RT¤ñ̸Ä$ã™Àú]ÔYÁAÆsSÓ3Ôï†;)̨°(Í�J,)%Õh^lU×-Í1•¢ŒgÆ%PšaÁýzY’;bÌx­Û²Ã’lÀPš”˜é;Í1ÑQ.»í\L´¥™;ͰPÿ‹ºÏœ5‰¾³Àx.àN(Í�J,!)Åhž———ªW©l4Ó”:5«Í+((T|R²ÑLàU*E«fõªÆsŸœðžñLÀÝPš”رSgŒgºêº5Íž¦vôä)ÍþЮU3ã™+7lѶÝûŒçî†Ò ÄŽž8e<³NÍXã™eåãã­º†ç:xô„Ñ<à¯Ú4ob<sæ¼EÆ3wDiPbG,(Í­›56žYVMÔ3¾å܁#ÇŒæU§†ÙåD’´hå:㙀;¢4(±ÃÇOÏ´âYYµmÑÔxæþÔfX§Fµ*Fóò
+8Àø¥@‰?uFi™F3;·»@¾¾>F3˪[‡6Æ37nße<øƒéÒ|òL¼róòŒfîŠÒ Ä‡ñƒ"ÃÃÔñ‚F3˪ßEæ9J3,ez‹Ä”´t£y€;£4(+ž¦¿ô⋌g–V“úuÕ N-£™û¥„ؤ¨¨Èh^`€ùãÕMð7šgzOvÀQš”ÊVJó
W\*///ã¹¥qËU—Ï\·•ÓÔìbz›¿à@óÇT›`ú ”T^ä 4(•åk7ϬW«†.îz¡ñÜ’ò÷óÓ-W
6ž»pÅjã™(ž‚BÃ¥9¨b”æìœ£y€;£4(•{Xrô£î0žYR#®¿Òøa+‡Có–®4š‰â3}§¹Vl5£y¦x{›}§&$8ÈhàÎ(Í�JÅáph±û·öêÜAý{t1ž[\a¡wŸùâ¾y睊K0ž‹â),2[š[6ih4Ï”¼ü£y¡!ÁFóLhÙ¤¡.îÚÑî1PQš”Ú/¿®±$÷Ãÿ<¥ðÐK²™øÂ8KŽôž³h…ñLŸé;ÍÍÖSdx˜ÑLòòòæÕ¬VÕh^YÔŠ­¦O_¯Ís§©}«æF³Mß¡//þfüÄùQš”ÚÌù‹—é·SÍ>›ð¬||Ê÷GÔ·Ý a—´${ÊÌÙ–ä¢xÒ22Œæøûë¶k¯0šiBFV–Ѽ†ukÙ~·¹NêšøüXí[úƒ†_s¹%?ü¯//a¡vP¡Pš”Z|b²æ/_eIö}4é¥'Ë­8ßsó5z㩇-É^¹a‹ví?dI6Š'19ÕxæÃ#oQµ˜ÊÆsË">1Ùhž···º¶om4³¸Z5m¤O^}Fû–ý¨»oºÆÒ»ªþîYšC‚ƒT³ºë¼àé(Í�Êäë™s,˾ýÚ+5÷‹‰ªaÙ5‚ƒõé«ãõÞsc-Ûîî“ÿ~oI.Š/!)Åxfõ*•µüÛÏô¯‹/r™­ã“Ì–fIºãú!Æ3ÿ‰·÷륅_OÒÖyÓuÛ5WÈÏ××òëVŠŒ”··{V¢=»Ù=B…aýW"�6sþb¥edZ¶¹ßEµ{Ñ,=õúD}4u†±å ¾¾>ºõªËõÌ軌=üW©éš6{¾eù(ž„dóeRúmùÂOŸ½£ÝiÙšÚ¸}—NÅ%(%-]™YÙÊÍËSVöoÛ¶(0 @a!Áò÷÷SDX¨üýU)*R•¢"T)2R•£#S)J•"#¬ìœ\½7ù½ÿå´bÍsäøIãÆËû÷VÇÖ-´n‹uûŒ7¨SKï¾\·\u™-wN}}}[5FÇO)÷k—Õ£îЬ‹¿Ë€³Qš”IfV¶&NþFÝs›eר©‰ÏÕ“£Fê³i3õ휅ڲko‰Oyð÷WÇÖ-4t`_]ù�U­\É¢‰ÿߥŒL³ëLQrÉ©i***²ìnbÓõÔ´A=K²ß{îqmܾKk6msú±û3~}?__Íø`‚º
½UÇNž6–[;¶š®ÐGCöQ÷Žmm¿[ß³S{M±ð3IÊÍË3žY§Fu­žù¥ž|í=Íœ¿øÏi0Ò ÌÞøø+>ÌòªW©¬±÷ÐØûF()%Uk7o×¾ÃGuðèq%&§*'7W)ié
+
–¯¯¢##T-¦²êÖŒUãúuÔ®eÓr=þ8)%Uo|üe¹]ÿ¬°°HñIÉåòBÉ4///]Ñ¿w±Jó®}Ö¬¯[M[çM×èg_Õ×3ç*/¿ä»t¨sÛVº¸Û…г›:\ÐÜö¢üW¼Yßü4Ï’‡›ÿž‘iInýÚ55åí—TPP¨}‡*95MYÙ9JIKSNnžâ’´sßA}?o‘’R̯ï¯((Í�Ê,.1IM¡n»¡Ü®¡½ºi€\w=ß«“¾PšEÿH¢äö8ì–¥Y’Ú¶hZ¬[»e›‡%e42<LŸ½ö¬^÷¦Ïž¯õ[wjÇÞ:zò”²s~{Áêå奨ˆ0EGF¨z•5kXO­š6R«&
Õ±uK–ߋ֒jÛ¢©L™¤±/¿­U·Zr
«øúú¨YÃ~ÇãÛ†©ÍÀkKü.~Ci`ÄËï¦[®ì’{×ÚáàÑãzçó©v¿Ø}à°ztjo÷¥Ò°n­b}\brªö:ªÆõëX6K¥¨ÝuãÕ–åÛ©WçZùýd%§¦i羃ڹï ví?¨GŽkÓŽÝe^žb÷‹èVM©}«f–®O÷dîù¨(�—s*.Ac^|Ãî1\BQQ‘†?ü´2³²í±~«û…:5b‹½‹Ä¼e×^VQáêÖ¡î¸~ˆ^òaÍúøMZ1GÏ=|o™r]aiDúµíÁmQšóñ¿×’ÕëíÃvo~2EËÖl°{üë6Ù=B©ùúú¨NÍêÅúØYó—X;Låã㭇LK_NœŽ³ýÅtå¨H[¯ïÎ(Í�Œq8ùسz·ˆí{ökÜ«ïÚ=Îa÷Ã:y&Þî1J­Aâ-ÑXºf½NœŽ³xšŠ)(0 LKЇvî;hp¢’«Mi.-J3�£ö:ªëî{T……ïA“„¤]>âAåäæÚ=
+ÎÁápèÛ9ì£Ô³4ꃯ¦[<½ò
+ôÑÔïly ÍÛ»lY._»ÑÐ$¥S9*ÊÖë»3J3�ãf/Z®žyÙî1ÊUFf–ß>J·{œÇÔY?Û=B©÷N³$Múú[¥gzæÎ-{Q·!·häcÏjö]vSbV¬¶õúVž°êé(Í�,ñÞäo4á£ÉvQ.²²stùˆ-Û¦
+æ¬Þ´U¿®ßl÷¥RÜ4$)>1Y/¾û‰…Ó”?‡Ã¡¾š®¶—^ûçîs—¬°yª’ûeÅKŽu/.–g”¥€eyá
½òÁçva©ÄäTõ6R‹V®µ{Óï|l÷¥R’;ÍÒo¤îÚoÍa'åmûžýê}ÝÝ=î…¿x÷Ó/Ëlœªt~[Z2öëWŽfyFiQšXÆápèÑ—ÞÔ¨§_¶ô”-»lß³_]‡ÜÌf73wÉ
+}?o‘Ýc”XIïæäæêÚ{Ç(;Ç}ר§edêßϽ¦¶—^«¥«ÏÞ‘fÝ–n¹+Ê[Ÿ~mÛòvÏ(=J3�˽óùTõ½a¤G=ÑÿÙ´Yê|ÅMÚ{ðˆÝ£ î}âEÅ'&Û=F‰”æáÚm»÷iøÃO¹Ýƒ¹¹yyš8yššö¾\o|üÕy_t¿ð®û½sp&!Qã^±g—Ö4—¥@¹XºzƒZõ¿J_~÷“‡Ýã”Ú±“§õ¯[ïÓmpx‰;;— ËnåV‡–¯*Õç}óã<ÝñØx·(ÎyùùzÿËijÔs°î}òEŠKpú9?/ùUßýüK9LgÖ»_ü×–¹\÷(sWGi†[*,,2^¼
+‹<où€«INMÓÍ£ŸPÏknׯíîõÔ{fV¶ž~ý}5½ø
+ÍYìššý6çjÖlÚ¦+îxP©évâÔ¡c'ôèKo•úó?›6Kƒn»ß%N¤;—ÄäTMøh²ö¸L÷<ñb‰«¾íá§µïÐQ‹¦ûùÊÈ4óBËápèæÑOhÁòòÝM÷ݥn)/?_§ãfºó¡îfùڍê0h˜®9úϧà]URJªž}k’êv¨gßšô·‡\MqîÊ•„'-§ù'W¬Q§Á7j÷×|`.%-]oöµÚ¼V§ãËö÷ûó’_ÕaÐ0Í[ê:Çl¯Ù´M·>ô¤jvꯇŸ½Äeù©éêã]Úºk¯á	ÿnã¶]ÊÍË3–—™•­Ën¥÷¿œV.ïÀ9}åm˯㩼T»µû¾OŠ
+íÓWÇkø5—Ë{jÂD=÷ö‡ÆòP|Ú¶Ò×Ñ5ƒú+,$ÄîqTTT¤ek7ê“ÿ~¯sºÍƒTÏ?|ŸÆÝ?ÂHVNn®šö¾BGNœ2’çêüý5zčwß…†Û:K|b²~ùu¦Ï^ Ù‹–-i2 ž}—Z5md<Û™­»ö껟iÆÜ…Ú¾g¿ÑìА`½3þ1Ý<t¼½ÍÞ<Ÿ AÃGiöFsÿпG½2v´Z7klIþêM[5öåw´xÕ:Kò+J3ÜVXHˆ^{âßÔ§‡ªW©,/¯ÒÒ”‘™¥¯gÍÕƒã_q›rä©Ô·{']qIoõéÖIukÆ–ÛµSÒÒµ|íFýôË2ý°`i™ïêÙ!(0@o<õˆ®p±ªTŠ.UF~Aö8¬§_ß-׉–U•JѺíÚ+tûµW–h_äÒr8Úø˜ÖmÝ¡õ[whɪõÚ²ko¹œtçåå¥~uÖÈaC5 g7…Yr´ŒL­\¿Y‹W­Ów?ÿ¢ý‡Yr¿jÞ¨¾¿÷v
î×Ká¡¥!^TT¤
Ûviö¢åzó“¯,_Êãíí­KztÕí×]Qæ¿“¢¢"í>pX3æ.Ô”ïçhÏÁÃæ­ (Íð
+
+,ùÃ
………JËðÌS³<AÕÕ­CµnÞDmš7QÓ†õT£jùø”íR\b’ö:ªm»÷ióÎ=Z·e‡¶ìÚãJWpP üýKüyé™™¹=`Iyyy©cëêÝ¥£zuî Û´TtdévÈËÏש¸?uF'ÏÄëðñ“Ú½ÿvì; Ýû¹Äšê À�õíÞY=;·WÇZ¨]Ëf¥ºãž˜œª}‡hρ#Z¿u‡–¯Ý¨í{÷Ûö½åï秝کK»ÖjÒ ®Õ­­ÊÑ‘ûþHNMSJZºRÓ3—¤½‡Žh÷þCÚ{è·?‡][Ãùûù©KûÔ¡UµlÒPõjÕPÕ˜hU©-///……„(=3SYÙ9JMÏÐѧtôäi:vBë·îк-;\âkË“Pš¸?__Õ®Q]±Uc®J‘‘ŠŽŒ·|||¢¬ìœ?ßÒNIKWBRŠ’RR—˜¤CÇN¸ôºd¸®Èð05¨SKµc«):2B~[N”œš¦Ü¼<eeç(-#Sgâu*.AgÌ>Q¼¼¼T-¦’jÅVSÍjUU9:Rþþ
+
+”$*=3S©éÊÌÊÖ™„Dí?|LÉ©i6OX‡Ò���8Áî���€”f���À	J3���à¥���p‚Ò���8Ai���œ 4���NPš���'(Í���€”f���À	J3���à¥���p‚Ò���8Ai���œ 4���NPš���'(Í���€”f���À	J3���à¥���p‚Ò���8Ai���œ 4���NPš���'(Í���€”f���À	J3���à¥���p‚Ò���8Ai���œ 4���NPš���'(Í���€”f���À	J3���à¥���p‚Ò���8Ai���œ 4���NPš���'(Í���€”f���À	J3���à¥���p‚Ò���8Ai���œ 4���NPš���'(Í���€”f���À	J3���à¥���p‚Ò���8Ai���œ 4���NPš���'(Í���€”f���À	J3���à¥���p‚Ò���8Ai���œ 4���NPš���'(Í���€”f���À	J3���à¥���p‚Ò���8Ai���œ 4���NPš���'(Í���€”f���À	J3���à¥���p‚Ò���8Ai���œ 4���NPš���'(Í���€ÿ%QùÏ@ËçN����IEND®B`‚
\ No newline at end of file
-- 
GitLab


From 194d7735bab8fe7f41d197a9d6ed7586129ff9b6 Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Mon, 28 Oct 2024 11:43:37 +0000
Subject: [PATCH 11/33] ISAICP-8856: Update Interoperable Europe Portal text.

---
 config/sync/system.site.yml                               | 2 +-
 tests/features/collection/propose.feature                 | 8 ++++----
 tests/features/joinup_seo/basic_metatags.feature          | 6 +++---
 tests/features/joinup_seo/discussion.feature              | 2 +-
 tests/features/joinup_seo/document.feature                | 2 +-
 tests/features/joinup_seo/event.feature                   | 2 +-
 tests/features/joinup_seo/news.feature                    | 2 +-
 tests/features/joinup_seo/rdf_entity.feature              | 2 +-
 tests/features/user/cancel.feature                        | 6 +++---
 tests/features/user/profile.feature                       | 2 +-
 tests/features/user/roles.feature                         | 4 ++--
 .../tests/src/Functional/ContactFormMailTest.php          | 4 ++--
 .../tests/src/Kernel/Mail/JoinupUserMailTest.php          | 2 +-
 13 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/config/sync/system.site.yml b/config/sync/system.site.yml
index 94c5253f7e..df516cc5c4 100644
--- a/config/sync/system.site.yml
+++ b/config/sync/system.site.yml
@@ -2,7 +2,7 @@ _core:
   default_config_hash: SKcRZ92wOLqxmvjxKFB1GRz1A33514Ew1EoCDsel4As
 langcode: en
 uuid: 8cc66be5-4630-4d15-af31-269ecbfae7cd
-name: 'Interoperable Europe portal'
+name: 'Interoperable Europe Portal'
 mail: admin@example.com
 slogan: ''
 page:
diff --git a/tests/features/collection/propose.feature b/tests/features/collection/propose.feature
index 81659a4425..1050dc0234 100644
--- a/tests/features/collection/propose.feature
+++ b/tests/features/collection/propose.feature
@@ -236,7 +236,7 @@ Feature: Proposing a collection
     # Email confirmation occurs only for published groups.
     And the following email should not have been sent:
       | recipient_mail     | some_unique_contact_person@example.com                                                                                                |
-      | subject            | Portal - Please validate your contact details                                                                                         |
+      | subject            | Interoperable Europe Portal - Please validate your contact details                                                                    |
       | body               | Please confirm your email address some_unique_contact_person@example.com, which is set in your contact information for the following: |
       | signature_required | no                                                                                                                                    |
       | html               | yes                                                                                                                                   |
@@ -261,7 +261,7 @@ Feature: Proposing a collection
     # Email confirmation occurs only for published groups.
     And the following email should not have been sent:
       | recipient_mail     | contact_Rapazoglou@example.com                                                                                                |
-      | subject            | Portal - Please validate your contact details                                                                                 |
+      | subject            | Interoperable Europe Portal - Please validate your contact details                                                            |
       | body               | Please confirm your email address contact_Rapazoglou@example.com, which is set in your contact information for the following: |
       | signature_required | no                                                                                                                            |
       | html               | yes                                                                                                                           |
@@ -272,7 +272,7 @@ Feature: Proposing a collection
     And I press "Publish"
     Then the following email should have been sent:
       | recipient_mail     | some_unique_contact_person@example.com                                                                                                |
-      | subject            | Portal - Please validate your contact details                                                                                         |
+      | subject            | Interoperable Europe Portal - Please validate your contact details                                                                    |
       | body               | Please confirm your email address some_unique_contact_person@example.com, which is set in your contact information for the following: |
       | signature_required | no                                                                                                                                    |
       | html               | yes                                                                                                                                   |
@@ -280,7 +280,7 @@ Feature: Proposing a collection
     And I press "Publish"
     And the following email should have been sent:
       | recipient_mail     | contact_Rapazoglou@example.com                                                                                                |
-      | subject            | Portal - Please validate your contact details                                                                                 |
+      | subject            | Interoperable Europe Portal - Please validate your contact details                                                            |
       | body               | Please confirm your email address contact_Rapazoglou@example.com, which is set in your contact information for the following: |
       | signature_required | no                                                                                                                            |
       | html               | yes                                                                                                                           |
diff --git a/tests/features/joinup_seo/basic_metatags.feature b/tests/features/joinup_seo/basic_metatags.feature
index 137bc1d706..99606292f2 100644
--- a/tests/features/joinup_seo/basic_metatags.feature
+++ b/tests/features/joinup_seo/basic_metatags.feature
@@ -12,8 +12,8 @@ Feature:
       | description   | The Portal is the European Union’s platform for promoting and supporting interoperability, collaboration, and knowledge sharing across public administrations, businesses, and citizens. It acts as a one-stop shop for discovering, sharing, and reusing IT solutions and good practices.            |
       | abstract      | Portal offers several services that aim to help e-Government professionals share their experience with each other. We also hope to support them to find, choose, re-use, develop and implement interoperability solutions. |
       | og:url        | __base_url__/                                                                                                                                                                                                              |
-      | og:site_name  | Interoperable Europe portal                                                                                                                                                                                                |
-      | og:title      | Portal                                                                                                                                                                                                                     |
+      | og:site_name  | Interoperable Europe Portal                                                                                                                                                                                                |
+      | og:title      | Interoperable Europe Portal                                                                                                                                                                                                                     |
       | og:image      | __base_url__/themes/ventuno/assets/images/og-image.png                                                                                                                                                                     |
       | og:image:type | image/svg+xml                                                                                                                                                                                                              |
     And the HTML title of the page should be "Portal"
@@ -22,7 +22,7 @@ Feature:
     Then the following meta tags should available in the html:
       | identifier    | value                                                  |
       | og:url        | __base_url__/collections                               |
-      | og:site_name  | Interoperable Europe portal                            |
+      | og:site_name  | Interoperable Europe Portal                            |
       | og:title      | Collections                                            |
       | og:image      | __base_url__/themes/ventuno/assets/images/og-image.png |
       | og:image:type | image/svg+xml                                          |
diff --git a/tests/features/joinup_seo/discussion.feature b/tests/features/joinup_seo/discussion.feature
index 2962dcb5fd..ea92ca8b92 100644
--- a/tests/features/joinup_seo/discussion.feature
+++ b/tests/features/joinup_seo/discussion.feature
@@ -78,7 +78,7 @@ Feature: SEO for discussion forum posts.
       | identifier     | value                                                                                               |
       | description    | This discussion is to ensure that SEO tags are set properly.                                        |
       | og:url         | __base_url__/collection/portal-seo-discussion-collection/discussion/discussions-are-now-forum-posts |
-      | og:site_name   | Interoperable Europe portal                                                                         |
+      | og:site_name   | Interoperable Europe Portal                                                                         |
       | og:title       | Discussions are now forum posts                                                                     |
       | og:description | This discussion is to ensure that SEO tags are set properly.                                        |
 
diff --git a/tests/features/joinup_seo/document.feature b/tests/features/joinup_seo/document.feature
index 55364a04f3..3040b1b7f6 100644
--- a/tests/features/joinup_seo/document.feature
+++ b/tests/features/joinup_seo/document.feature
@@ -62,7 +62,7 @@ Feature: SEO for document content.
       | identifier     | value                                                                        |
       | description    | Document test1.zip                                                           |
       | og:url         | __base_url__/collection/portal-seo-document-collection/document/seo-document |
-      | og:site_name   | Interoperable Europe portal                                                  |
+      | og:site_name   | Interoperable Europe Portal                                                  |
       | og:title       | SEO document                                                                 |
       | og:description | Document test1.zip                                                           |
 
diff --git a/tests/features/joinup_seo/event.feature b/tests/features/joinup_seo/event.feature
index 87e674080a..21f3f59a01 100644
--- a/tests/features/joinup_seo/event.feature
+++ b/tests/features/joinup_seo/event.feature
@@ -65,7 +65,7 @@ Feature: SEO for news articles.
       | identifier      | value                                                                      |
       | description     | Body of event.                                                             |
       | og:url          | __base_url__/collection/joinup-seo-event-collection/event/joinup-seo-event |
-      | og:site_name    | Interoperable Europe portal                                                |
+      | og:site_name    | Interoperable Europe Portal                                                |
       | og:title        | Joinup SEO event                                                           |
       | og:description  | Body of event.                                                             |
       | og:image        | __base_url__/sites/default/files/__random_text__.jpg                       |
diff --git a/tests/features/joinup_seo/news.feature b/tests/features/joinup_seo/news.feature
index 666a24dcd1..9fc89b1b97 100644
--- a/tests/features/joinup_seo/news.feature
+++ b/tests/features/joinup_seo/news.feature
@@ -53,7 +53,7 @@ Feature: SEO for news articles.
       | identifier             | value                                                                   |
       | description            | Body of news.                                                           |
       | og:url                 | __base_url__/collection/portal-seo-news-collection/news/portal-seo-news |
-      | og:site_name           | Interoperable Europe portal                                             |
+      | og:site_name           | Interoperable Europe Portal                                             |
       | og:title               | Portal SEO news                                                         |
       | og:description         | Body of news.                                                           |
       | og:image               | __base_url__/sites/default/files/__random_text__.jpg                    |
diff --git a/tests/features/joinup_seo/rdf_entity.feature b/tests/features/joinup_seo/rdf_entity.feature
index 068df4ccc2..aa15dcca9c 100644
--- a/tests/features/joinup_seo/rdf_entity.feature
+++ b/tests/features/joinup_seo/rdf_entity.feature
@@ -50,7 +50,7 @@ Feature: SEO for RDF entities.
     Then the following meta tags should available in the html:
       | identifier   | value                            |
       | og:url       | __base_url__/licence/seo-licence |
-      | og:site_name | Interoperable Europe portal      |
+      | og:site_name | Interoperable Europe Portal      |
       | og:title     | SEO licence                      |
     And the metatag JSON should be attached in the page without context
     And 1 metatag graph of type "http://purl.org/dc/terms/LicenseDocument" should exist in the page
diff --git a/tests/features/user/cancel.feature b/tests/features/user/cancel.feature
index d9aa58eeb8..9dca14caad 100644
--- a/tests/features/user/cancel.feature
+++ b/tests/features/user/cancel.feature
@@ -106,9 +106,9 @@ Feature:
     And I click "Cancel account"
     And I press "Confirm"
     Then the following email should have been sent:
-      | recipient_mail | AliciaPotter@example.com                                           |
-      | subject        | Account cancellation request for alicia__1997 at Portal            |
-      | body           | by clicking this link or copying and pasting it into your browser: |
+      | recipient_mail | AliciaPotter@example.com                                                     |
+      | subject        | Account cancellation request for alicia__1997 at Interoperable Europe Portal |
+      | body           | by clicking this link or copying and pasting it into your browser:           |
     # Click the confirmation link in the email.
     When I click the delete confirmation link for the user "alicia__1997" from the last email
     And I wait for the batch process to finish
diff --git a/tests/features/user/profile.feature b/tests/features/user/profile.feature
index e1a1d52e79..69d84d4cfa 100644
--- a/tests/features/user/profile.feature
+++ b/tests/features/user/profile.feature
@@ -93,7 +93,7 @@ Feature: User profile
     And I should see the success message "The user has been notified that their account has been updated."
     And the following email should have been sent:
       | recipient | Leonardo Da Vinci                                                                                         |
-      | subject   | The Portal Support Team updated your account for you at Portal                                            |
+      | subject   | The Portal Support Team updated your account Interoperable Europe Portal                                            |
       | body      | A moderator has edited your user profile on Portal. Please check your profile to verify the changes done. |
 
   Scenario: The user public profile page shows the content he's author of or is member of.
diff --git a/tests/features/user/roles.feature b/tests/features/user/roles.feature
index 90a83304af..b8e8cf2762 100644
--- a/tests/features/user/roles.feature
+++ b/tests/features/user/roles.feature
@@ -63,7 +63,7 @@ Feature: User role management
     And I should see the success message "The user has been notified that their account has been updated."
     And the following email should have been sent:
       | recipient | Nibby Noob                                                                                                |
-      | subject   | The Portal Support Team updated your account for you at Portal                                            |
+      | subject   | The Portal Support Team updated your account Interoperable Europe Portal                                            |
       | body      | A moderator has edited your user profile on Portal. Please check your profile to verify the changes done. |
 
     Given I am on the homepage
@@ -97,7 +97,7 @@ Feature: User role management
     And I should see the success message "The user has been notified that their account has been updated."
     And the following email should have been sent:
       | recipient | Nibby Noob                                                                                                |
-      | subject   | The Portal Support Team updated your account for you at Portal                                            |
+      | subject   | The Portal Support Team updated your account Interoperable Europe Portal                                            |
       | body      | A moderator has edited your user profile on Portal. Please check your profile to verify the changes done. |
 
     When I am logged in as "Nibby Noob"
diff --git a/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php b/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
index 4e54001b7f..a0571cc1bf 100644
--- a/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
+++ b/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
@@ -89,7 +89,7 @@ public function testEmailSending(bool $with_copy): void {
           'headers' => [
             'content-transfer-encoding' => '8Bit',
             'content-type' => 'text/html',
-            'from' => 'Portal <joinup@example.com>',
+            'from' => 'Interoperable Europe Portal <joinup@example.com>',
             'mime-version' => '1.0',
             'return-path' => 'joinup@example.com',
             'sender' => 'joinup@example.com',
@@ -111,7 +111,7 @@ public function testEmailSending(bool $with_copy): void {
           'headers' => [
             'content-transfer-encoding' => '8Bit',
             'content-type' => 'text/html',
-            'from' => 'Portal <joinup@example.com>',
+            'from' => 'Interoperable Europe Portal <joinup@example.com>',
             'mime-version' => '1.0',
             'return-path' => 'joinup@example.com',
             'sender' => 'joinup@example.com',
diff --git a/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupUserMailTest.php b/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupUserMailTest.php
index 0a0de24941..bd87b92353 100644
--- a/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupUserMailTest.php
+++ b/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupUserMailTest.php
@@ -48,7 +48,7 @@ public function testUserResetEmail(): void {
           'headers' => [
             'content-transfer-encoding' => '8Bit',
             'content-type' => 'text/html',
-            'from' => 'Portal <joinup@example.com>',
+            'from' => 'Interoperable Europe Portal <joinup@example.com>',
             'mime-version' => '1.0',
             'reply-to' => 'joinup@example.com',
             'return-path' => 'joinup@example.com',
-- 
GitLab


From 47d58235cab300ed397f93033add9d34b6d49c51 Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Mon, 28 Oct 2024 13:03:09 +0000
Subject: [PATCH 12/33] ISAICP-8856: Update Portal into Interoperable Europe
 Portal.

---
 .ddev/commands/host/install                   |   2 +-
 .ddev/config.yaml                             |   2 +-
 .ddev/mysql/joinup.cnf                        |   2 +-
 .env.dist                                     |   4 +-
 README.md                                     |  36 +++---
 composer.json                                 |   2 +-
 composer.lock                                 |   2 +-
 config/sync/autologout.settings.yml           |   2 +-
 config/sync/cas.settings.yml                  |   2 +-
 ...re.base_field_override.node.news.title.yml |   2 +-
 config/sync/email_confirmer.settings.yml      |   2 +-
 ...highlighted_event.link_to_external_url.yml |   2 +-
 ...eld.field.node.distribution.access_url.yml |   2 +-
 ...ield.field.node.distribution.file_size.yml |   2 +-
 ...d.field.user.user.field_user_frequency.yml |   2 +-
 config/sync/joinup_user.mail.yml              |   6 +-
 config/sync/message.template.cc_delete.yml    |   2 +-
 ...emplate.cc_transition_approve_proposed.yml |   2 +-
 ...message.template.cc_transition_propose.yml |   4 +-
 ...emplate.cc_transition_propose_reported.yml |   4 +-
 ...message.template.cc_transition_publish.yml |   2 +-
 ...template.cc_transition_reject_deletion.yml |   2 +-
 .../message.template.cc_transition_report.yml |   4 +-
 ...template.cc_transition_request_changes.yml |   4 +-
 ...emplate.cc_transition_request_deletion.yml |   4 +-
 ...age.template.col_deletion_by_moderator.yml |   4 +-
 .../message.template.col_propose_edit_own.yml |   2 +-
 .../sync/message.template.col_propose_new.yml |   2 +-
 .../message.template.col_req_arch_del.yml     |   2 +-
 ...plate.collection_membership_invitation.yml |   2 +-
 .../sync/message.template.comment_create.yml  |   4 +-
 .../sync/message.template.comment_delete.yml  |   2 +-
 .../sync/message.template.comment_update.yml  |   4 +-
 ...ssage.template.contact_form_submission.yml |   2 +-
 ...essage.template.discussion_comment_new.yml |   2 +-
 .../message.template.discussion_delete.yml    |   2 +-
 .../message.template.discussion_invite.yml    |   4 +-
 .../message.template.discussion_updated.yml   |   2 +-
 .../message.template.distribution_delete.yml  |   2 +-
 .../message.template.distribution_update.yml  |   2 +-
 ...message.template.og_membership_approve.yml |   2 +-
 .../message.template.og_membership_reject.yml |   2 +-
 ...message.template.og_membership_request.yml |   4 +-
 ...age.template.og_membership_role_change.yml |   2 +-
 ...plate.og_membership_subscribed_approve.yml |   4 +-
 ...sage.template.release_approve_proposed.yml |   2 +-
 .../sync/message.template.release_delete.yml  |   2 +-
 ...ssage.template.release_request_changes.yml |   4 +-
 .../sync/message.template.release_update.yml  |   2 +-
 .../message.template.report_contact_form.yml  |   2 +-
 .../message.template.sol_approve_proposed.yml |   2 +-
 .../sync/message.template.sol_blacklist.yml   |   2 +-
 ...age.template.sol_deletion_by_moderator.yml |   4 +-
 .../message.template.sol_propose_changes.yml  |   4 +-
 .../sync/message.template.sol_propose_new.yml |   4 +-
 ...template.sol_propose_requested_changes.yml |   4 +-
 ...essage.template.sol_publish_backlisted.yml |   2 +-
 .../message.template.sol_request_changes.yml  |   4 +-
 ...sage.template.solution_content_archive.yml |   2 +-
 .../sync/metatag.metatag_defaults.front.yml   |   4 +-
 config/sync/node.type.solution.yml            |   2 +-
 config/sync/page_manager.page.homepage.yml    |   2 +-
 ...page_variant.homepage-layout_builder-0.yml |   6 +-
 config/sync/rdf_entity.rdfentity.solution.yml |   2 +-
 config/sync/search_api.server.joinup.yml      |   2 +-
 ...mple_block.simple_block.collection_tca.yml |   2 +-
 ...simple_block.simple_block.solution_tca.yml |   2 +-
 config/sync/tour.tour.account.yml             |   2 +-
 config/sync/tour.tour.content_overview.yml    |   4 +-
 config/sync/tour.tour.joinup_homepage.yml     |   8 +-
 .../sync/tour.tour.rdf_entity_canonical.yml   |   2 +-
 config/sync/user.mail.yml                     |  22 ++--
 config/sync/views.view.actions_log.yml        |   4 +-
 config/sync/views.view.search.yml             |   2 +-
 config/sync/views.view.solutions.yml          |   2 +-
 docs/agreement.md                             |   8 +-
 docs/code_of_conduct.md                       |   2 +-
 docs/contributing.md                          |  28 ++---
 docs/federation.md                            |  18 +--
 docs/release_workflow.md                      |   6 +-
 docs/sparql.md                                |  10 +-
 phpcs.xml                                     |   6 +-
 phpmd.xml                                     |   2 +-
 rector.php                                    |   2 +-
 resources/runner/joinup.yml                   |   2 +-
 resources/runner/toolkit.yml                  |   2 +-
 resources/vocab/EIRA_SKOS.rdf                 | 106 +++++++++---------
 scripts/composer/post_install                 |   2 +-
 .../ValidUpdateNameSniff.php                  |  18 +--
 src/Composer/load.environment.php             |   4 +-
 src/Drush/Commands/JoinupDrushCommands.php    |   2 +-
 .../Commands/JoinupEnvironmentCommands.php    |  12 +-
 src/TaskRunner/Commands/VirtuosoCommands.php  |   2 +-
 tests/features/adms_ap_compliance.feature     |   4 +-
 .../collection.member_administration.feature  |  18 +--
 .../collection.membership_management.feature  |  18 +--
 .../collection/content_negotiation.feature    |   2 +-
 .../collection/export_metadata.feature        |   2 +-
 .../notification.collection.feature           |  10 +-
 tests/features/collection/propose.feature     |   4 +-
 tests/features/comments/add_comment.feature   |  44 ++++----
 .../features/comments/delete_comment.feature  |   2 +-
 tests/features/comments/edit_comment.feature  |   4 +-
 tests/features/communities/eupl/jla.feature   |  20 ++--
 tests/features/communities/eupl/jlc.feature   |   4 +-
 .../community_content/content_sharing.feature |   2 +-
 ...fication.post_moderated.discussion.feature |  18 +--
 ...tification.post_moderated.document.feature |  12 +-
 .../notification.post_moderated.event.feature |  12 +-
 .../notification.post_moderated.news.feature  |  16 +--
 ...ification.pre_moderated.discussion.feature |  30 ++---
 ...otification.pre_moderated.document.feature |  30 ++---
 .../notification.pre_moderated.event.feature  |  30 ++---
 .../notification.pre_moderated.news.feature   |  48 ++++----
 tests/features/contact_form/report.feature    |   8 +-
 .../contact_form/submit_contact_form.feature  |   6 +-
 tests/features/eulogin/eulogin.feature        |  20 ++--
 tests/features/featured_entities.feature      |   2 +-
 tests/features/footer.feature                 |  14 +--
 tests/features/header.feature                 |   4 +-
 tests/features/homepage.feature               |  14 +--
 .../features/joinup_core/input_filter.feature |   8 +-
 .../joinup_core/persistent_uris.feature       |   2 +-
 tests/features/joinup_core/reporting.feature  |   2 +-
 .../transfer_group_ownership.feature          |   2 +-
 .../discussion.invite.feature                 |  12 +-
 .../discussion.subscribe.feature              |  32 +++---
 .../asset_distribution.delete.feature         |   2 +-
 .../asset_distribution.edit.feature           |   4 +-
 .../track_download.feature                    |   4 +-
 .../joinup_event/add_event.collection.feature |   4 +-
 .../joinup_group/announcements.feature        |  20 ++--
 .../joinup_licence/spdx.canonical.feature     |   2 +-
 .../joinup_release/release.moderation.feature |  24 ++--
 .../joinup_rss/collection_feed.feature        |   2 +-
 .../features/joinup_rss/solution_feed.feature |   2 +-
 .../joinup_search/group_search.feature        |   2 +-
 tests/features/joinup_search/search.feature   |   4 +-
 .../joinup_seo/basic_metatags.feature         |   6 +-
 tests/features/joinup_seo/discussion.feature  |   8 +-
 tests/features/joinup_seo/document.feature    |   8 +-
 tests/features/joinup_seo/news.feature        |  22 ++--
 .../collection.content.subscription.feature   |   6 +-
 .../community.content.subscriptions.feature   |   6 +-
 .../solution.content.subscription.feature     |   6 +-
 tests/features/legal/legal_notice.feature     |   4 +-
 tests/features/machine_translation.feature    |   2 +-
 tests/features/menus/support_menu.feature     |  24 ++--
 tests/features/menus/whats_new.feature        |   2 +-
 .../moderator/message_overview.feature        |   4 +-
 tests/features/smoke_test.feature             |   4 +-
 tests/features/solution/add_solution.feature  |   8 +-
 .../solution/manage_solutions.archive.feature |  12 +-
 .../solution/solution.notifications.feature   |  24 ++--
 .../solution/solution_overview.feature        |  10 +-
 tests/features/solution/tca.feature           |   2 +-
 tests/features/user/block.feature             |   4 +-
 tests/features/user/cancel.feature            |   4 +-
 tests/features/user/profile.feature           |   2 +-
 tests/features/user/register.feature          |   4 +-
 tests/features/user/roles.feature             |   4 +-
 .../files/single_solution_valid_adms.rdf      |   2 +-
 tests/fixtures/files/valid_adms.rdf           |   2 +-
 tests/src/Context/AdmsValidatorContext.php    |   2 +-
 tests/src/Context/CollectionContext.php       |  12 +-
 tests/src/Context/EuplContext.php             |   6 +-
 tests/src/Context/FeatureContext.php          |  14 +--
 tests/src/Context/FooterContext.php           |   2 +-
 tests/src/Context/HeaderContext.php           |   2 +-
 tests/src/Context/HomepageContext.php         |   2 +-
 tests/src/Context/JoinupCollectionContext.php |  10 +-
 tests/src/Context/JoinupContext.php           |   4 +-
 tests/src/Context/JoinupCoreContext.php       |   2 +-
 tests/src/Context/JoinupDiscussionContext.php |   2 +-
 tests/src/Context/JoinupLegalContext.php      |   2 +-
 .../src/Context/JoinupSubscriptionContext.php |   4 +-
 tests/src/Context/RssContext.php              |   4 +-
 tests/src/Context/SolutionContext.php         |   2 +-
 .../Listener/FeatureTimeLoggerListener.php    |   2 +-
 tests/src/Traits/OgTrait.php                  |   6 +-
 .../acceptance/joinup_acceptance.info.yml     |   4 +-
 .../acceptance/joinup_acceptance.install      |   2 +-
 .../adms_validator/adms_validator.info.yml    |   2 +-
 .../custom/collection/collection.info.yml     |   4 +-
 .../src/Controller/GlossaryController.php     |   2 +-
 .../src/Entity/CollectionInterface.php        |   2 +-
 .../src/Entity/GlossaryTermInterface.php      |   2 +-
 .../CollectionGroupSubscriber.php             |   2 +-
 .../custom/contact_form/contact_form.info.yml |   4 +-
 .../contact_form/contact_form.links.menu.yml  |   2 +-
 .../custom/contact_form/contact_form.module   |   6 +-
 .../src/Functional/ContactFormMailTest.php    |  22 ++--
 .../contact_information.info.yml              |   4 +-
 .../Entity/ContactInformationInterface.php    |   4 +-
 .../src/Plugin/CKEditor5Plugin/ContactUs.php  |   2 +-
 .../custom/curated_content_listing/README.md  |   2 +-
 .../curated_content_listing.info.yml          |   2 +-
 .../custom/custom_page/custom_page.info.yml   |   2 +-
 .../CustomPageGroupSubscriber.php             |   2 +-
 .../custom/dashboard/dashboard.info.yml       |   4 +-
 .../entityqueue_block.info.yml                |   2 +-
 .../isa2_analytics/isa2_analytics.info.yml    |   2 +-
 .../joinup_bookmark/joinup_bookmark.info.yml  |   2 +-
 .../joinup_bookmark/joinup_bookmark.module    |   2 +-
 .../joinup_bundle_class.info.yml              |   6 +-
 .../joinup_cas_mock_server.info.yml           |   6 +-
 .../JoinupCasMockServerConfigOverrider.php    |   2 +-
 .../joinup_communities/eif/eif.info.yml       |   2 +-
 .../joinup_communities/eira/eira.info.yml     |   2 +-
 .../joinup_communities/eupl/eupl.info.yml     |   2 +-
 .../joinup_communities/eupl/src/Eupl.php      |   2 +-
 .../interoperable_europe.info.yml             |   4 +-
 .../joinup_collection.info.yml                |   6 +-
 .../joinup_collection.module                  |   8 +-
 .../JoinupCollectionLeaveController.php       |   2 +-
 .../src/JoinupCollectionHelper.php            |   6 +-
 .../joinup_oss_catalogue.info.yml             |   4 +-
 .../joinup_oss_catalogue.module               |   2 +-
 .../src/Entity/JoinupOssSolution.php          |   2 +-
 ...oinupOssCatalogueImagecacheWarmerQueue.php |   2 +-
 .../osor/static_pages/implementation.html     |   2 +-
 .../joinup_communities/semic/adopters.xml     |  38 +++----
 .../joinup_communities/semic/semic.info.yml   |   2 +-
 .../joinup_community_content.info.yml         |   6 +-
 ...ityContentWorkflowAccessControlHandler.php |   2 +-
 .../CommunityContentGroupSubscriber.php       |   2 +-
 .../src/EventSubscriber/EventSubscriber.php   |   2 +-
 .../views/filter/JoinupContentState.php       |   2 +-
 .../CommunityContentWorkflowTestBase.php      |   2 +-
 .../config/schema/joinup_core.schema.yml      |   6 +-
 .../custom/joinup_core/joinup_core.deploy.php |   2 +-
 .../custom/joinup_core/joinup_core.info.yml   |   6 +-
 .../custom/joinup_core/joinup_core.install    |   2 +-
 .../joinup_core/joinup_core.links.menu.yml    |   2 +-
 .../custom/joinup_core/joinup_core.module     |   4 +-
 .../joinup_core/joinup_core.post_update.php   |   2 +-
 .../custom/joinup_core/joinup_core.tokens.inc |   2 +-
 .../custom/joinup_core/src/JoinupVersion.php  |   4 +-
 .../src/JoinupVersionInterface.php            |  10 +-
 .../Plugin/Block/JoinupLocalTasksBlock.php    |   2 +-
 .../src/Plugin/Condition/JoinupContent.php    |   4 +-
 ...ltipleCardinalitySupportingEmailWidget.php |   2 +-
 ...ultipleCardinalitySupportingLinkWidget.php |   2 +-
 ...leCardinalitySupportingTextFieldWidget.php |   2 +-
 .../src/Plugin/Filter/FilterIframe.php        |   2 +-
 .../SocialMediaLinks/Iconset/JoinupIcons.php  |   8 +-
 .../Id/JoinupEntityIdGenerator.php            |   2 +-
 .../joinup_test_etrans.info.yml               |   2 +-
 .../joinup_test_etrans.module                 |   2 +-
 .../joinup_test_time.info.yml                 |   2 +-
 .../BlockContextSatisfactionTest.php          |   6 +-
 .../tests/src/ExistingSite/ConfigTest.php     |   2 +-
 .../tests/src/Kernel/JoinupConfigSyncTest.php |   2 +-
 .../Kernel/Mail/JoinupMailKernelTestBase.php  |   2 +-
 .../custom/joinup_debug/joinup_debug.info.yml |   4 +-
 .../custom/joinup_debug/joinup_debug.module   |   2 +-
 .../src/Form/SparqlConsoleForm.php            |   2 +-
 .../src/Form/VocabularyIndexForm.php          |   2 +-
 .../joinup_discussion.info.yml                |   4 +-
 .../joinup_discussion.module                  |   2 +-
 .../src/Entity/DiscussionInterface.php        |   2 +-
 .../src/Event/DiscussionEvents.php            |   2 +-
 .../SubscribedDiscussionCommentSubscriber.php |  10 +-
 .../SubscribedDiscussionSubscriber.php        |   8 +-
 .../views/access/DiscussionOverviewAccess.php |   2 +-
 .../joinup_distribution.info.yml              |   2 +-
 .../DistributionGroupSubscriber.php           |   2 +-
 .../src/Form/AnonymousDownloadForm.php        |   2 +-
 .../joinup_document/joinup_document.info.yml  |   6 +-
 .../joinup_document/joinup_document.module    |   2 +-
 .../src/Entity/DocumentInterface.php          |   2 +-
 .../config/schema/joinup_eulogin.schema.yml   |   2 +-
 .../joinup_eulogin/joinup_eulogin.info.yml    |   4 +-
 .../joinup_eulogin/joinup_eulogin.module      |   6 +-
 .../JoinupEuLoginCasEventsSubscriber.php      |  14 +--
 .../custom/joinup_event/joinup_event.info.yml |   4 +-
 .../custom/joinup_event/joinup_event.module   |   6 +-
 .../src/Entity/EventInterface.php             |   2 +-
 .../joinup_featured/joinup_featured.info.yml  |   4 +-
 .../joinup_featured/joinup_featured.module    |   4 +-
 .../src/FeaturedContentInterface.php          |   2 +-
 .../config/schema/joinup_flag.schema.yml      |   4 +-
 .../custom/joinup_flag/joinup_flag.info.yml   |   4 +-
 .../custom/joinup_flag/joinup_flag.module     |   2 +-
 .../custom/joinup_flag/joinup_flag.views.inc  |   2 +-
 .../processor/JoinupEntityBundle.php          |   2 +-
 .../joinup_front_page.info.yml                |   6 +-
 .../joinup_front_page.module                  |   2 +-
 .../src/Plugin/Block/ExploreBlock.php         |   2 +-
 .../config/schema/joinup_group.schema.yml     |   2 +-
 .../schema/joinup_group.views.schema.yml      |   4 +-
 .../custom/joinup_group/joinup_group.info.yml |   6 +-
 .../custom/joinup_group/joinup_group.install  |   2 +-
 .../custom/joinup_group/joinup_group.module   |   6 +-
 .../joinup_group/joinup_group.views.inc       |   2 +-
 .../src/AnnouncementsAccessTrait.php          |   6 +-
 .../UnpublishedContentPageController.php      |   2 +-
 .../src/Entity/GroupInterface.php             |   6 +-
 .../joinup_group/src/Entity/GroupTrait.php    |   2 +-
 .../Entity/PinnableGroupContentInterface.php  |   2 +-
 .../AnnouncementTransitionSubscriber.php      |   4 +-
 ...oinupGroupPageDisplayVariantSubscriber.php |   2 +-
 .../src/Form/AnnouncementForm.php             |   2 +-
 .../TransferGroupOwnershipConfirmForm.php     |   2 +-
 .../joinup_group/src/Form/UserCancelForm.php  |   2 +-
 .../src/Form/UserMultipleCancelConfirm.php    |   2 +-
 .../joinup_group/src/JoinupGroupHelper.php    |   4 +-
 .../joinup_group/src/JoinupGroupManager.php   |   2 +-
 .../Plugin/Action/DeleteGroupMembership.php   |   2 +-
 .../Action/TransferGroupOwnershipAction.php   |   2 +-
 .../views/access/GroupAnnouncementsAccess.php |   2 +-
 .../JoinupGroupEntityIdValidator.php          |   4 +-
 .../JoinupGroupValidator.php                  |   2 +-
 .../src/Routing/RouteSubscriber.php           |   2 +-
 .../joinup_group_content_management/README.md |   2 +-
 .../joinup_group_content_management.info.yml  |   4 +-
 .../schema/joinup_html_stripper.schema.yml    |   2 +-
 .../joinup_html_stripper.info.yml             |   6 +-
 .../FieldFormatter/StrippedHTMLFormatter.php  |   4 +-
 .../joinup_invite/joinup_invite.info.yml      |   4 +-
 .../custom/joinup_invite/joinup_invite.module |   2 +-
 .../src/Event/InvitationEvents.php            |   2 +-
 .../joinup_invite/src/Form/InviteFormBase.php |   2 +-
 .../joinup_layout/joinup_layout.info.yml      |   6 +-
 .../joinup_layout/joinup_layout.layouts.yml   |  10 +-
 web/modules/custom/joinup_licence/README.md   |   4 +-
 .../joinup_licence/joinup_licence.info.yml    |   4 +-
 .../joinup_licence/joinup_licence.routing.yml |   2 +-
 .../Controller/LicenceComparerController.php  |   6 +-
 .../src/Entity/LicenceLegalTypeInterface.php  |   2 +-
 .../LicenceGroupSubscriber.php                |   2 +-
 .../ParamConverter/SpdxIdsParamConverter.php  |   6 +-
 .../src/Plugin/Block/LicenceFilterBlock.php   |   2 +-
 .../custom/joinup_like/joinup_like.info.yml   |   2 +-
 .../src/Plugin/ActionLink/NodeCountLink.php   |   2 +-
 .../src/Plugin/ActionLink/RdfCountLink.php    |   2 +-
 .../custom/joinup_log/joinup_log.info.yml     |   4 +-
 .../custom/joinup_log/joinup_log.module       |   2 +-
 .../joinup_log/src/Entity/JoinupLog.php       |   4 +-
 .../joinup_log/src/JoinupLogStorage.php       |   4 +-
 .../joinup_log/src/JoinupLogStorageSchema.php |   2 +-
 .../joinup_log/src/JoinupLogViewsData.php     |   2 +-
 .../tests/src/Kernel/JoinupLogEntityTest.php  |  10 +-
 .../config/schema/joinup_media.schema.yml     |   2 +-
 .../custom/joinup_media/joinup_media.info.yml |   4 +-
 .../custom/joinup_media/joinup_media.module   |   2 +-
 .../joinup_media/joinup_media.post_update.php |   2 +-
 .../joinup_media/joinup_media.views.inc       |   2 +-
 .../joinup_media/src/JoinupMediaLibrary.php   |   2 +-
 .../Field/FieldWidget/MediaVideoUrlWidget.php |   2 +-
 .../custom/joinup_menu/joinup_menu.info.yml   |   6 +-
 .../custom/joinup_menu/src/MenuHelper.php     |  12 +-
 .../joinup_menu/src/MenuHelperInterface.php   |   2 +-
 .../custom/joinup_modal/joinup_modal.info.yml |   6 +-
 .../custom/joinup_news/joinup_news.info.yml   |   4 +-
 .../joinup_news/src/Entity/NewsInterface.php  |   2 +-
 .../joinup_newsletter.info.yml                |   6 +-
 .../joinup_newsletter.module                  |   2 +-
 .../custom/joinup_notification/README.md      |   2 +-
 .../joinup_notification.info.yml              |   4 +-
 .../joinup_notification.module                |   2 +-
 .../src/EntityMessageHelper.php               |   2 +-
 .../src/EventSubscriber/CommentSubscriber.php |   2 +-
 .../OgMembershipSubscriber.php                |   2 +-
 .../src/JoinupMessageDelivery.php             |   2 +-
 .../src/MessageArgumentGenerator.php          |   6 +-
 .../joinup_paragraphs.info.yml                |   6 +-
 .../joinup_paragraphs.module                  |   2 +-
 .../custom/joinup_poll/joinup_poll.info.yml   |   4 +-
 .../custom/joinup_poll/joinup_poll.module     |   2 +-
 .../joinup_publication_date.info.yml          |   4 +-
 .../joinup_publication_date.module            |   2 +-
 .../custom/joinup_rdf/joinup_rdf.deploy.php   |   2 +-
 .../custom/joinup_rdf/joinup_rdf.info.yml     |   6 +-
 .../custom/joinup_rdf/joinup_rdf.install      |   2 +-
 .../custom/joinup_rdf/joinup_rdf.module       |   2 +-
 .../RdfUriGenerator/JoinupRdfUriGenerator.php |   2 +-
 .../joinup_release/joinup_release.info.yml    |   2 +-
 .../joinup_release/joinup_release.module      |   2 +-
 .../src/Entity/ReleaseInterface.php           |   2 +-
 .../ReleaseGroupSubscriber.php                |   2 +-
 ...joinup-release-releases-download.html.twig |   2 +-
 .../joinup_replicate.info.yml                 |   6 +-
 .../joinup_replicate/joinup_replicate.module  |   2 +-
 .../src/RouteSubscriber/RouteSubscriber.php   |   2 +-
 .../custom/joinup_rss/joinup_rss.info.yml     |   6 +-
 .../custom/joinup_rss/joinup_rss.module       |   2 +-
 .../config/schema/joinup_search.schema.yml    |   2 +-
 .../joinup_search/joinup_search.info.yml      |   6 +-
 .../joinup_search/joinup_search.install       |   2 +-
 .../custom/joinup_search/joinup_search.module |   2 +-
 .../joinup_search/joinup_search.views.inc     |   2 +-
 .../search_api_arbitrary_facet.info.yml       |   4 +-
 .../search_api_arbitrary_facet.module         |   2 +-
 .../JoinupGlobalSearchApiAlter.php            |   2 +-
 .../processor/JoinupEntityLatestRevision.php  |   2 +-
 .../JoinupEntityPublishedRevision.php         |   2 +-
 .../processor/JoinupEntityStatus.php          |   2 +-
 .../custom/joinup_seo/joinup_seo.info.yml     |   4 +-
 .../custom/joinup_seo/joinup_seo.module       |   2 +-
 .../UrlGenerator/JoinupEntityUrlGenerator.php |   4 +-
 .../UrlGenerator/JoinupUrlGeneratorBase.php   |   2 +-
 .../joinup_sitewide_alert.info.yml            |   4 +-
 .../joinup_sitewide_alert.module              |   2 +-
 .../custom/joinup_slick/joinup_slick.info.yml |   4 +-
 .../custom/joinup_slick/joinup_slick.module   |   4 +-
 .../joinup_solution/joinup_solution.info.yml  |   2 +-
 .../joinup_solution/joinup_solution.module    |   2 +-
 .../joinup_sparql/joinup_sparql.info.yml      |   6 +-
 .../Database/joinup_sparql/Connection.php     |   2 +-
 .../joinup_content_negotiation_test.info.yml  |   2 +-
 web/modules/custom/joinup_stats/README.md     |   2 +-
 .../config/schema/joinup_stats.schema.yml     |   2 +-
 .../custom/joinup_stats/joinup_stats.info.yml |   4 +-
 .../custom/joinup_stats/joinup_stats.module   |   4 +-
 ...eld.field.node.distribution.access_url.yml |   2 +-
 .../stats_test/joinup_stats_test.info.yml     |   2 +-
 .../stats_test/joinup_stats_test.module       |   2 +-
 .../custom/joinup_subscription/README.md      |   4 +-
 .../schema/joinup_subscription.schema.yml     |   2 +-
 .../joinup_subscription.info.yml              |   4 +-
 .../joinup_subscription.module                |   2 +-
 .../GroupContentSubscriptionSubscriber.php    |   4 +-
 .../src/Form/SubscriptionsForm.php            |   6 +-
 .../src/JoinupDiscussionSubscription.php      |   2 +-
 .../src/JoinupSubscriptionsHelper.php         |   2 +-
 .../Field/FieldType/EntityBundlePairItem.php  |   2 +-
 .../config/schema/joinup_taxonomy.schema.yml  |   2 +-
 .../joinup_taxonomy/joinup_taxonomy.info.yml  |   4 +-
 .../joinup_taxonomy/joinup_taxonomy.module    |   2 +-
 .../custom/joinup_test/joinup_test.info.yml   |   6 +-
 .../custom/joinup_test/joinup_test.install    |   2 +-
 .../custom/joinup_test/joinup_test.module     |   2 +-
 .../JoinupExistingSiteTestBase.php            |   2 +-
 .../tests/src/Kernel/JoinupKernelTestBase.php |   2 +-
 .../custom/joinup_tiles/joinup_tiles.info.yml |   6 +-
 .../custom/joinup_tiles/joinup_tiles.module   |   2 +-
 .../src/Plugin/views/style/Tiles.php          |   2 +-
 .../custom/joinup_tour/joinup_tour.info.yml   |   6 +-
 .../custom/joinup_tour/joinup_tour.module     |   2 +-
 .../custom/joinup_tour/src/TourHelper.php     |   2 +-
 .../joinup_tour/src/TourHelperInterface.php   |   2 +-
 .../config/install/joinup_user.mail.yml       |   4 +-
 .../config/schema/joinup_user.schema.yml      |   4 +-
 .../custom/joinup_user/joinup_user.info.yml   |   4 +-
 .../custom/joinup_user/joinup_user.install    |   2 +-
 .../custom/joinup_user/joinup_user.module     |   4 +-
 .../joinup_user/src/JoinupUserViewsData.php   |   2 +-
 .../src/Plugin/Block/WarningMessageBlock.php  |   2 +-
 .../Plugin/views/field/JoinupUserBulkForm.php |   2 +-
 .../joinup_validation.info.yml                |   6 +-
 .../custom/joinup_video/joinup_video.info.yml |   4 +-
 .../custom/joinup_video/joinup_video.install  |   2 +-
 web/modules/custom/joinup_workflow/README.md  |   2 +-
 .../joinup_workflow/joinup_workflow.info.yml  |   6 +-
 .../joinup_workflow/joinup_workflow.module    |   2 +-
 .../custom/legal/joinup_legal.info.yml        |   4 +-
 web/modules/custom/legal/joinup_legal.install |   2 +-
 web/modules/custom/legal/joinup_legal.module  |   2 +-
 .../custom/moderation/moderation.info.yml     |   2 +-
 .../custom/oe_gisco_geocoding/README.md       |   2 +-
 web/modules/custom/owner/owner.info.yml       |   4 +-
 .../owner/src/Entity/OwnerInterface.php       |   2 +-
 web/modules/custom/solution/solution.info.yml |   2 +-
 .../solution/src/Entity/SolutionInterface.php |   2 +-
 .../SolutionGroupSubscriber.php               |   2 +-
 .../src/Form/ChangeCollectionForm.php         |   2 +-
 .../src/Form/ChangeSolutionStateForm.php      |   2 +-
 .../template_suggestion.info.yml              |   2 +-
 .../topic/src/Entity/TopicInterface.php       |   2 +-
 .../src/Entity/TopicMetaEntityInterface.php   |   2 +-
 .../EventSubscriber/QueryPresetSubscriber.php |   2 +-
 web/modules/custom/topic/topic.info.yml       |   4 +-
 web/modules/custom/topic/topic.views.inc      |   2 +-
 .../custom/whats_new/whats_new.info.yml       |   2 +-
 web/modules/custom/whats_new/whats_new.module |   2 +-
 web/profiles/joinup/joinup.info.yml           |   6 +-
 web/profiles/joinup/joinup.links.menu.yml     |   2 +-
 web/profiles/joinup/joinup.permissions.yml    |   4 +-
 web/profiles/joinup/joinup.profile            |   2 +-
 web/profiles/joinup/joinup.routing.yml        |   4 +-
 .../src/Controller/JoinupController.php       |   2 +-
 web/profiles/joinup/src/JoinupPermissions.php |   4 +-
 .../joinup/src/Routing/RouteSubscriber.php    |   4 +-
 .../joinup-eligibility-criteria.html.twig     |  12 +-
 .../joinup-modal-close-button.html.twig       |   2 +-
 web/publiccode-editor/app.bundle.js           |   6 +-
 web/themes/ventuno/README.md                  |  10 +-
 web/themes/ventuno/includes/layout.inc        |   4 +-
 .../ventuno/includes/licence_assistant.inc    |   6 +-
 web/themes/ventuno/includes/rdf_entity.inc    |   2 +-
 .../src/scss/partials/overrides/_colors.scss  |   2 +-
 .../block/block--exposed-search.html.twig     |   2 +-
 .../form/share-content-form.html.twig         |   2 +-
 .../templates/layout/page--home.html.twig     |   2 +-
 .../templates/layout/page--search.html.twig   |   2 +-
 .../message-digest/message-digest.html.twig   |   2 +-
 .../ventuno/templates/parts/footer.html.twig  |   2 +-
 .../patterns/tile/tile.ui_patterns.yml        |   2 +-
 ...il--message-notify--announcement.html.twig |   2 +-
 web/themes/ventuno/ventuno.info.yml           |   2 +-
 501 files changed, 1173 insertions(+), 1173 deletions(-)

diff --git a/.ddev/commands/host/install b/.ddev/commands/host/install
index 5b260dbafa..63278f58ca 100755
--- a/.ddev/commands/host/install
+++ b/.ddev/commands/host/install
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-## Description: Installs an empty Portal site
+## Description: Installs an empty Interoperable Europe Portal site
 ## Usage: install
 ## Example: ddev install
 
diff --git a/.ddev/config.yaml b/.ddev/config.yaml
index e9e88715e2..24d6d61ded 100644
--- a/.ddev/config.yaml
+++ b/.ddev/config.yaml
@@ -16,7 +16,7 @@ webimage_extra_packages:
     - mime-support
 
 # It's not possible to use fpfis/httpd-php because DDEV is strongly advising
-# against using a non-DDEV image. But this has no impact on the Portal code runs
+# against using a non-DDEV image. But this has no impact on the Interoperable Europe Portal code runs
 # in CI/CD or on production.
 # See:
 # - https://ddev.readthedocs.io/en/latest/users/configuration/config/#webimage
diff --git a/.ddev/mysql/joinup.cnf b/.ddev/mysql/joinup.cnf
index 7bd1732b87..3ca508ef6a 100644
--- a/.ddev/mysql/joinup.cnf
+++ b/.ddev/mysql/joinup.cnf
@@ -1,4 +1,4 @@
-# Additional tuning for Portal.
+# Additional tuning for Interoperable Europe Portal.
 # DDEV setup: https://github.com/ddev/ddev/blob/master/containers/ddev-dbserver/files/etc/my.cnf
 [mysqld]
 innodb_flush_log_at_trx_commit  = 2
diff --git a/.env.dist b/.env.dist
index a49ab562f2..6be2914567 100644
--- a/.env.dist
+++ b/.env.dist
@@ -1,4 +1,4 @@
-# Default environment variables for Portal.
+# Default environment variables for Interoperable Europe Portal.
 #
 # Declaring sensitive data in environment variables is an industry standard, as
 # it's a very friendly mechanism for configuring the applications on different
@@ -25,7 +25,7 @@ DRUPAL_PRIVATE_FILE_SYSTEM=../private
 DRUPAL_FILE_TEMP_PATH=../tmp
 DRUPAL_SYSTEM_LOG_ERROR_LEVEL=verbose
 DRUPAL_SITE_PROFILE=joinup
-DRUPAL_SITE_NAME=Portal
+DRUPAL_SITE_NAME='Interoperable Europe Portal'
 DRUPAL_SITE_MAIL=joinup@example.com
 DRUPAL_ACCOUNT_NAME=admin
 DRUPAL_ACCOUNT_PASSWORD=admin
diff --git a/README.md b/README.md
index 18c108cdeb..05ff4ba1fc 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
-# Portal website
+# Interoperable Europe Portal website
 
 This is the source code for https://interoperable-europe.ec.europa.eu.
 
-Portal is a collaborative platform created by the European Commission and funded
+Interoperable Europe Portal is a collaborative platform created by the European Commission and funded
 by the European Union via the [Interoperable Europe](https://interoperable-europe.ec.europa.eu/interoperable-europe)
 Programme.
 
@@ -10,18 +10,18 @@ It offers several services that aim to help e-Government professionals share
 their experience with each other. We also hope to support them to find, choose,
 re-use, develop and implement interoperability solutions.
 
-The Portal platform is developed as a [Drupal](https://www.drupal.org)
+The Interoperable Europe Portal platform is developed as a [Drupal](https://www.drupal.org)
 web application, and therefore tries to follow the "open-source way" as much as
 possible.
 
 You are free to fork this project to host your own collaborative platform.
-However, Portal is not a full reusable solution because it doesn't guarantee
+However, Interoperable Europe Portal is not a full reusable solution because it doesn't guarantee
 backwards compatibility, nor a full upgrade path between two versions.
 
 If you download and install your own instance, you're responsible for update and
-adapt the code when new Portal versions are available.
+adapt the code when new Interoperable Europe Portal versions are available.
 
-Portal is licensed under the [EUPL](https://interoperable-europe.ec.europa.eu/community/eupl/og_page/eupl),
+Interoperable Europe Portal is licensed under the [EUPL](https://interoperable-europe.ec.europa.eu/community/eupl/og_page/eupl),
 which is compatible with the GPL.
 
 ## Development
@@ -33,7 +33,7 @@ streamlined and unified development process.
 
 * Make sure you use a good PHP [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment)
   such as [PhpStorm](https://www.jetbrains.com/phpstorm/), [VS Code](https://code.visualstudio.com)
-  or [Eclipse](https://eclipseide.org). Portal code is complex and needs good
+  or [Eclipse](https://eclipseide.org). Interoperable Europe Portal code is complex and needs good
   tools.
 * Get familiarised with [DDEV](https://ddev.com). Check the DDEV [documentation](https://ddev.readthedocs.io).
 
@@ -46,7 +46,7 @@ streamlined and unified development process.
 * DDEV is used mostly via CLI commands. [Configure shell completion & autocomplete](https://ddev.readthedocs.io/en/stable/users/install/shell-completion/)
   according to your environment.
 * Configure your IDE to take advantage of the DDEV features. This is a critical
-  step to be able to test and debug your Portal. Remember, the website
+  step to be able to test and debug your Interoperable Europe Portal. Remember, the website
   runs inside Docker, so pay attention to these configurations:
   - [PhpStorm Setup](https://ddev.readthedocs.io/en/stable/users/install/phpstorm/)
   - [Configure](https://ddev.readthedocs.io/en/stable/users/debugging-profiling/step-debugging/)
@@ -91,9 +91,9 @@ This will install the PHP and Node dependencies. The codebase is deployed.
 * You should fill the `.env` file environment variables with values. Each
   variable is documented in `.env.example`.
 
-### Install Portal
+### Install Interoperable Europe Portal
 
-There are two ways to install Portal:
+There are two ways to install Interoperable Europe Portal:
 
 ### Empty site
 
@@ -129,12 +129,12 @@ names, emails, etc. is already sanitized.
 Make sure that you followed the [Configure sensitive data (secrets)](#configure-sensitive-data-secrets)
 section, and you set the `NEXTCLOUD_*` environment variables in `.env` file. The
 values should be provided according to these [instructions](https://webgate.ec.europa.eu/fpfis/qa/how-to?nid=22351).
-These credentials are needed to be able to download the Portal databases dumps
+These credentials are needed to be able to download the Interoperable Europe Portal databases dumps
 and snapshots.
 
 #### Download database dump/snapshots
 
-Portal needs to restore dump/snapshots from three sources: MySQL, Virtuoso and
+Interoperable Europe Portal needs to restore dump/snapshots from three sources: MySQL, Virtuoso and
 Solr; to be able to rebuild the website with production data:
 
 ```shell
@@ -211,7 +211,7 @@ ddev ssh -s <service>
 
 #### Task runners
 
-Portal is using two task runners:
+Interoperable Europe Portal is using two task runners:
 
 * [Drush](https://github.com/drush-ops/drush): This is the official Drupal shell tool.
 * [Toolkit](https://github.com/ec-europa/toolkit): The European Commission PHP runner.
@@ -232,7 +232,7 @@ ddev run <command>
 
 Note that Toolkit uses its own configuration. Few aspects:
 
-* Apart from configuration provided by Toolkit, Portal exposes its own
+* Apart from configuration provided by Toolkit, Interoperable Europe Portal exposes its own
   configuration under `resources/runner`.
 * You can override any configuration by creating a `runner.yml` file in the
   project's root directory. Note that this file is not under VCS control.
@@ -279,7 +279,7 @@ Find out more on how to write custom commands [here](https://ddev.readthedocs.io
 
 ### Testing & code quality checks
 
-Testing frameworks used by Portal:
+Testing frameworks used by Interoperable Europe Portal:
 
 #### Behat testing
 
@@ -319,7 +319,7 @@ Relies on [nicwortel/behat-unused-step-definitions-extension](https://github.com
 
 #### Static code analysis
 
-Portal uses GrumPHP, which runs all tasks defined in [grumphp.yml.dist](grumphp.yml.dist).
+Interoperable Europe Portal uses GrumPHP, which runs all tasks defined in [grumphp.yml.dist](grumphp.yml.dist).
 See [GrumPHP documentation](https://github.com/phpro/grumphp/blob/v2.x/doc/commands.md#run).
 
 * Run all tasks:
@@ -349,7 +349,7 @@ dev:
 
 ### Upgrade process
 
-Portal offers only _contiguous upgrades_. For details and naming conventions,
+Interoperable Europe Portal offers only _contiguous upgrades_. For details and naming conventions,
 please read documentation of [ValidUpdateNameSniff](src/CodingStandards/Sniffs/NamingConventions/ValidUpdateNameSniff.php)
 coding standards rule.
 
@@ -361,7 +361,7 @@ For some additional details in our SPARQL related functionality, see our
 ### Mailpit
 
 Mailpit is a tool that allows you to catch all emails sent by the application
-during development. Mailpit is optional, as the default setup of Portal, is to
+during development. Mailpit is optional, as the default setup of Interoperable Europe Portal, is to
 use the devel mail server which stores the emails as text messages in the tmp
 directory. However, Mailpit is more convenient to use, as it provides a web UI
 to view the emails.
diff --git a/composer.json b/composer.json
index 096fbff028..f39f0b7949 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,6 @@
 {
     "name": "ec-europa/joinup",
-    "description": "Portal is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other.",
+    "description": "The Interoperable Europe Portal is the European Union’s platform for promoting and supporting interoperability, collaboration, and knowledge sharing across public administrations, businesses, and citizens. It acts as a one-stop shop for discovering, sharing, and reusing IT solutions and good practices.",
     "type": "project",
     "license": "EUPL-1.2",
     "require": {
diff --git a/composer.lock b/composer.lock
index 3b386029cc..0c398157ca 100644
--- a/composer.lock
+++ b/composer.lock
@@ -25037,9 +25037,9 @@
         "drupal/dropsolid_purge": 10,
         "drupal/facets_block": 10,
         "drupal/facets_date_range": 10,
+        "drupal/masquerade": 5,
         "drupal/node_revision_delete": 5,
         "drupal/views_block_area": 10,
-        "drupal/masquerade": 5,
         "php-task-runner/composer": 20,
         "php-task-runner/sparql": 20,
         "weitzman/drupal-test-traits": 20
diff --git a/config/sync/autologout.settings.yml b/config/sync/autologout.settings.yml
index 6a8beca85a..8c820519f0 100644
--- a/config/sync/autologout.settings.yml
+++ b/config/sync/autologout.settings.yml
@@ -21,7 +21,7 @@ jstimer_format: '%hours%:%mins%:%secs%'
 jstimer_js_load_option: false
 use_alt_logout_method: false
 use_watchdog: false
-dialog_title: 'Portal Alert'
+dialog_title: 'Interoperable Europe Portal Alert'
 disable_buttons: false
 yes_button: ''
 no_button: ''
diff --git a/config/sync/cas.settings.yml b/config/sync/cas.settings.yml
index f122db384d..34afa2f564 100644
--- a/config/sync/cas.settings.yml
+++ b/config/sync/cas.settings.yml
@@ -39,7 +39,7 @@ user_accounts:
 error_handling:
   login_failure_page: /
   message_validation_failure: 'There was a problem validating your login, please contact a site administrator.'
-  message_no_local_account: 'Registering new accounts to Portal is temporarily disabled. Please come back later.'
+  message_no_local_account: 'Registering new accounts to Interoperable Europe Portal is temporarily disabled. Please come back later.'
   message_subscriber_denied_reg: 'You do not have access to log in to this website. Please contact a site administrator if you believe you should have access.'
   message_subscriber_denied_login: 'You do not have access to log in to this website. Please contact a site administrator if you believe you should have access.'
   message_account_blocked: 'Your account is blocked or has not been activated. Please contact a site administrator.'
diff --git a/config/sync/core.base_field_override.node.news.title.yml b/config/sync/core.base_field_override.node.news.title.yml
index 777c8315d7..8be23a94ac 100644
--- a/config/sync/core.base_field_override.node.news.title.yml
+++ b/config/sync/core.base_field_override.node.news.title.yml
@@ -11,7 +11,7 @@ field_name: title
 entity_type: node
 bundle: news
 label: 'Short title'
-description: 'Add a short title for the news tile, which will be shown on other Portal pages.'
+description: 'Add a short title for the news tile, which will be shown on other Interoperable Europe Portal pages.'
 required: true
 translatable: true
 default_value: {  }
diff --git a/config/sync/email_confirmer.settings.yml b/config/sync/email_confirmer.settings.yml
index a0eb082ba3..aed7543de6 100644
--- a/config/sync/email_confirmer.settings.yml
+++ b/config/sync/email_confirmer.settings.yml
@@ -7,7 +7,7 @@ resendrequest_delay: 3600
 confirmation_lifetime: 0
 confirmation_request:
   subject: '[site:name] - Please validate your contact details'
-  body: '<p>Dear Portal user,</p><p>As owner/facilitator, we’re improving your privacy by replacing the publicly visible contact email information with a contact form that users/members can use to reach you.</p><p>Please confirm your email address <strong>[email-confirmer:confirmation-mail]</strong>, which is set in your contact information for the following:</p>[email-confirmer:confirmation-entities]<p><strong><a href="[email-confirmer:confirmation-url]">Confirm your e-mail address</a></strong><p><p>If the link doesn''t work, just copy this URL to your browser:</p><p>[email-confirmer:confirmation-url]</p><p>If you do not validate your email within the next 5 days, you will not be able to receive any messages from users/members.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="https://interoperable-europe.ec.europa.eu/contact" taget="_blank">https://interoperable-europe.ec.europa.eu/contact</a>.</p><p>Best regards,<br />The Portal Team</p>'
+  body: '<p>Dear Interoperable Europe Portal user,</p><p>As owner/facilitator, we’re improving your privacy by replacing the publicly visible contact email information with a contact form that users/members can use to reach you.</p><p>Please confirm your email address <strong>[email-confirmer:confirmation-mail]</strong>, which is set in your contact information for the following:</p>[email-confirmer:confirmation-entities]<p><strong><a href="[email-confirmer:confirmation-url]">Confirm your e-mail address</a></strong><p><p>If the link doesn''t work, just copy this URL to your browser:</p><p>[email-confirmer:confirmation-url]</p><p>If you do not validate your email within the next 5 days, you will not be able to receive any messages from users/members.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="https://interoperable-europe.ec.europa.eu/contact" taget="_blank">https://interoperable-europe.ec.europa.eu/contact</a>.</p><p>Best regards,<br />The Interoperable Europe Portal Team</p>'
 confirmation_response:
   skip_confirmation_form: false
   questions:
diff --git a/config/sync/field.field.entity_subqueue.highlighted_event.link_to_external_url.yml b/config/sync/field.field.entity_subqueue.highlighted_event.link_to_external_url.yml
index fdb041e792..e367835f2c 100644
--- a/config/sync/field.field.entity_subqueue.highlighted_event.link_to_external_url.yml
+++ b/config/sync/field.field.entity_subqueue.highlighted_event.link_to_external_url.yml
@@ -10,7 +10,7 @@ field_name: link_to_external_url
 entity_type: entity_subqueue
 bundle: highlighted_event
 label: 'Link to external page'
-description: 'Check this to link directly to an external page, such as a registration form. Will link to the event page on Portal when left unchecked.'
+description: 'Check this to link directly to an external page, such as a registration form. Will link to the event page on Interoperable Europe Portal when left unchecked.'
 required: false
 translatable: false
 default_value:
diff --git a/config/sync/field.field.node.distribution.access_url.yml b/config/sync/field.field.node.distribution.access_url.yml
index 3a6e996ebf..316b89513c 100644
--- a/config/sync/field.field.node.distribution.access_url.yml
+++ b/config/sync/field.field.node.distribution.access_url.yml
@@ -17,7 +17,7 @@ field_name: access_url
 entity_type: node
 bundle: distribution
 label: 'Access URL'
-description: 'If the file(s) exist in an external server, you can provide the URL here directly. You can alternatively host your distribution in Portal by using the Distribution file field above.'
+description: 'If the file(s) exist in an external server, you can provide the URL here directly. You can alternatively host your distribution in Interoperable Europe Portal by using the Distribution file field above.'
 required: false
 translatable: false
 default_value: {  }
diff --git a/config/sync/field.field.node.distribution.file_size.yml b/config/sync/field.field.node.distribution.file_size.yml
index 71f4e73caf..00c18e7591 100644
--- a/config/sync/field.field.node.distribution.file_size.yml
+++ b/config/sync/field.field.node.distribution.file_size.yml
@@ -15,7 +15,7 @@ field_name: file_size
 entity_type: node
 bundle: distribution
 label: 'File size'
-description: "Size of the distribution payload file (in KB).\r\nIf the distribution is hosted in Portal, you can omit this field."
+description: "Size of the distribution payload file (in KB).\r\nIf the distribution is hosted in Interoperable Europe Portal, you can omit this field."
 required: false
 translatable: false
 default_value: {  }
diff --git a/config/sync/field.field.user.user.field_user_frequency.yml b/config/sync/field.field.user.user.field_user_frequency.yml
index 59c61e516d..10850da775 100644
--- a/config/sync/field.field.user.user.field_user_frequency.yml
+++ b/config/sync/field.field.user.user.field_user_frequency.yml
@@ -14,7 +14,7 @@ field_name: field_user_frequency
 entity_type: user
 bundle: user
 label: 'Notification frequency'
-description: 'How often do you prefer to receive status updates on new and/or updated content on Portal?'
+description: 'How often do you prefer to receive status updates on new and/or updated content on Interoperable Europe Portal?'
 required: true
 translatable: false
 default_value:
diff --git a/config/sync/joinup_user.mail.yml b/config/sync/joinup_user.mail.yml
index f6f9430eb1..e88af54ba3 100644
--- a/config/sync/joinup_user.mail.yml
+++ b/config/sync/joinup_user.mail.yml
@@ -4,7 +4,7 @@ email_admin_update:
   body: |-
     Dear [user:display-name],
 
-    A moderator has edited your user profile on Portal. Please check your profile to verify the changes done.
+    A moderator has edited your user profile on Interoperable Europe Portal. Please check your profile to verify the changes done.
 
     Kind regards,
 
@@ -14,8 +14,8 @@ password_reset_confirm:
   body: |-
     Dear [user:field_user_first_name],
 
-    Your Portal password has been successfully changed.
+    Your Interoperable Europe Portal password has been successfully changed.
 
     Kind regards,
 
-    The Portal Support Team
\ No newline at end of file
+    The Portal Support Team
diff --git a/config/sync/message.template.cc_delete.yml b/config/sync/message.template.cc_delete.yml
index 40772672f9..e3f5adfea8 100644
--- a/config/sync/message.template.cc_delete.yml
+++ b/config/sync/message.template.cc_delete.yml
@@ -11,7 +11,7 @@ label: 'Community content on Delete'
 description: 'Template id 9'
 text:
   -
-    value: '<p>Portal: Content has been deleted</p>'
+    value: '<p>Interoperable Europe Portal: Content has been deleted</p>'
     format: full_html
   -
     value: '<p>@actor:role @actor:field_user_first_name @actor:field_user_family_name has @transition:request_action:past the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title".</p>'
diff --git a/config/sync/message.template.cc_transition_approve_proposed.yml b/config/sync/message.template.cc_transition_approve_proposed.yml
index 13ca613e18..f47d414e75 100644
--- a/config/sync/message.template.cc_transition_approve_proposed.yml
+++ b/config/sync/message.template.cc_transition_approve_proposed.yml
@@ -11,7 +11,7 @@ label: 'Community content on Approve proposed'
 description: 'Template id 6'
 text:
   -
-    value: '<p>Portal: Content has been updated</p>'
+    value: '<p>Interoperable Europe Portal: Content has been updated</p>'
     format: full_html
   -
     value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has approved your request of publication of the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title".</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p>'
diff --git a/config/sync/message.template.cc_transition_propose.yml b/config/sync/message.template.cc_transition_propose.yml
index 98e9331794..4fe467af68 100644
--- a/config/sync/message.template.cc_transition_propose.yml
+++ b/config/sync/message.template.cc_transition_propose.yml
@@ -11,10 +11,10 @@ label: 'Community content on Propose'
 description: 'Template id 3'
 text:
   -
-    value: '<p>Portal: Content has been proposed</p>'
+    value: '<p>Interoperable Europe Portal: Content has been proposed</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name has submitted @entity:hasPublished:status @entity:bundle - "@entity:title" for publication in the @group:bundle: "@group:title".</p><p>You can access the proposed new content at the following link: <a href="@entity:url">@entity:url</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has submitted @entity:hasPublished:status @entity:bundle - "@entity:title" for publication in the @group:bundle: "@group:title".</p><p>You can access the proposed new content at the following link: <a href="@entity:url">@entity:url</a>.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.cc_transition_propose_reported.yml b/config/sync/message.template.cc_transition_propose_reported.yml
index f3b02054da..a6bfa6720b 100644
--- a/config/sync/message.template.cc_transition_propose_reported.yml
+++ b/config/sync/message.template.cc_transition_propose_reported.yml
@@ -11,10 +11,10 @@ label: 'Community content on Propose reported'
 description: 'Template id 10'
 text:
   -
-    value: '<p>Portal: Content has been updated</p>'
+    value: '<p>Interoperable Europe Portal: Content has been updated</p>'
     format: full_html
   -
-    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has updated the content of the @entity:bundle - "@entity:title" as advised and requests again its publication in the @group:bundle: "@group:title".</p><p>You can access the proposed new content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has updated the content of the @entity:bundle - "@entity:title" as advised and requests again its publication in the @group:bundle: "@group:title".</p><p>You can access the proposed new content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.cc_transition_publish.yml b/config/sync/message.template.cc_transition_publish.yml
index 8653b842e1..823ad6f256 100644
--- a/config/sync/message.template.cc_transition_publish.yml
+++ b/config/sync/message.template.cc_transition_publish.yml
@@ -11,7 +11,7 @@ label: 'Community content on Publish'
 description: 'Template id 1, 2'
 text:
   -
-    value: '<p>Portal: Content has been published</p>'
+    value: '<p>Interoperable Europe Portal: Content has been published</p>'
     format: full_html
   -
     value: '<p>@actor:full_name has published the new @entity:bundle - "@entity:title" in the @group:bundle: "@group:title".</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a></p>'
diff --git a/config/sync/message.template.cc_transition_reject_deletion.yml b/config/sync/message.template.cc_transition_reject_deletion.yml
index 67ec069ad9..82cdcf274a 100644
--- a/config/sync/message.template.cc_transition_reject_deletion.yml
+++ b/config/sync/message.template.cc_transition_reject_deletion.yml
@@ -11,7 +11,7 @@ label: 'Community content on Reject deletion'
 description: 'Template id 8'
 text:
   -
-    value: '<p>Portal: Content has been updated</p>'
+    value: '<p>Interoperable Europe Portal: Content has been updated</p>'
     format: full_html
   -
     value: 'the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has not approved your request to delete the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".'
diff --git a/config/sync/message.template.cc_transition_report.yml b/config/sync/message.template.cc_transition_report.yml
index 443dafd0a5..acf884a671 100644
--- a/config/sync/message.template.cc_transition_report.yml
+++ b/config/sync/message.template.cc_transition_report.yml
@@ -11,10 +11,10 @@ label: 'Community content on Report'
 description: 'Template id 5'
 text:
   -
-    value: '<p>Portal: Content has been updated</p>'
+    value: '<p>Interoperable Europe Portal: Content has been updated</p>'
     format: full_html
   -
-    value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has requested you to modify the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", following the following advises: "@transition:motivation".</p><p>Your content has been moved back to "Needs update" state; you may modify it and request it to be published again.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has requested you to modify the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", following the following advises: "@transition:motivation".</p><p>Your content has been moved back to "Needs update" state; you may modify it and request it to be published again.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.cc_transition_request_changes.yml b/config/sync/message.template.cc_transition_request_changes.yml
index f38a7b5f87..8ae777c5b3 100644
--- a/config/sync/message.template.cc_transition_request_changes.yml
+++ b/config/sync/message.template.cc_transition_request_changes.yml
@@ -11,10 +11,10 @@ label: 'Community content on Request changes'
 description: 'Template id 4'
 text:
   -
-    value: '<p>Portal: Content has been updated</p>'
+    value: '<p>Interoperable Europe Portal: Content has been updated</p>'
     format: full_html
   -
-    value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has requested you to modify the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".</p><p>Your content has been moved back to "Proposed" state; you may modify it and request it to be published again.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has requested you to modify the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".</p><p>Your content has been moved back to "Proposed" state; you may modify it and request it to be published again.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.cc_transition_request_deletion.yml b/config/sync/message.template.cc_transition_request_deletion.yml
index 025c0ef962..b4407c89c0 100644
--- a/config/sync/message.template.cc_transition_request_deletion.yml
+++ b/config/sync/message.template.cc_transition_request_deletion.yml
@@ -11,10 +11,10 @@ label: 'Community content on Request deletion'
 description: 'Template id 7'
 text:
   -
-    value: '<p>Portal: Content has been updated</p>'
+    value: '<p>Interoperable Europe Portal: Content has been updated</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name has requested to delete the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has requested to delete the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.col_deletion_by_moderator.yml b/config/sync/message.template.col_deletion_by_moderator.yml
index a2f86537f4..2d24fe7b41 100644
--- a/config/sync/message.template.col_deletion_by_moderator.yml
+++ b/config/sync/message.template.col_deletion_by_moderator.yml
@@ -9,10 +9,10 @@ label: 'Collection deleted by moderator'
 description: 'Moderator deletes a collection'
 text:
   -
-    value: 'Portal: Your collection has been deleted by the moderation team'
+    value: 'Interoperable Europe Portal: Your collection has been deleted by the moderation team'
     format: full_html
   -
-    value: '<p>The Portal moderation team deleted the collection @entity:title.</p>'
+    value: '<p>The Interoperable Europe Portal moderation team deleted the collection @entity:title.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.col_propose_edit_own.yml b/config/sync/message.template.col_propose_edit_own.yml
index 8fcafbe232..70df9e926b 100644
--- a/config/sync/message.template.col_propose_edit_own.yml
+++ b/config/sync/message.template.col_propose_edit_own.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>User @actor:field_user_first_name proposed to edit @entity:bundle @entity:title</p>'
     format: full_html
   -
-    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has proposed to edit @entity:bundle "@entity:title".</p><p>To modify your @entity:bundle, please go to <a href="@entity:url">@entity:url</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has proposed to edit @entity:bundle "@entity:title".</p><p>To modify your @entity:bundle, please go to <a href="@entity:url">@entity:url</a>.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.col_propose_new.yml b/config/sync/message.template.col_propose_new.yml
index f2dc0b0244..88b34a82e4 100644
--- a/config/sync/message.template.col_propose_new.yml
+++ b/config/sync/message.template.col_propose_new.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>User @actor:field_user_first_name proposed @entity:bundle @entity:title</p>'
     format: full_html
   -
-    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has proposed @entity:bundle "@entity:title".</p><p>To approve or reject this proposal, please go to <a href="@entity:url">@entity:url</a>. You''ll be able to provide feedback.</p><p>The requestor will be notified of your decision and feedback.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has proposed @entity:bundle "@entity:title".</p><p>To approve or reject this proposal, please go to <a href="@entity:url">@entity:url</a>. You''ll be able to provide feedback.</p><p>The requestor will be notified of your decision and feedback.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.col_req_arch_del.yml b/config/sync/message.template.col_req_arch_del.yml
index 7c78cb0a1a..fd35b09f6b 100644
--- a/config/sync/message.template.col_req_arch_del.yml
+++ b/config/sync/message.template.col_req_arch_del.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>User @actor:field_user_first_name requested to @transition:request_action @entity:bundle @entity:title</p>'
     format: full_html
   -
-    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has requested to @transition:request_action the @entity:bundle "@entity:title".</p><p>To approve or reject this request, please go to <a href="@entity:url">@entity:url</a>. You will be prompted to provide feedback in case of rejection.</p><p>The requestor will be notified of your decision and feedback.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has requested to @transition:request_action the @entity:bundle "@entity:title".</p><p>To approve or reject this request, please go to <a href="@entity:url">@entity:url</a>. You will be prompted to provide feedback in case of rejection.</p><p>The requestor will be notified of your decision and feedback.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.collection_membership_invitation.yml b/config/sync/message.template.collection_membership_invitation.yml
index f222ede0fc..569d1d9631 100644
--- a/config/sync/message.template.collection_membership_invitation.yml
+++ b/config/sync/message.template.collection_membership_invitation.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>Invitation from @actor:full_name to join @entity:bundle @entity:title.<p>'
     format: full_html
   -
-    value: "You have been invited by @actor:full_name to join <a href=\"@entity:url\">@entity:title</a> as a @invitation:role.\r\nIf you wish to do so, you can click <a href=\"@invitation:accept_url\">@invitation:accept_url</a>, or follow the abovementioned link to enter the collection’s space and then click on the JOIN button, which is located in the banner area.\r\nLast, don’t forget that as a member you can take advantage of Portal's subscription notifications, and receive updates when new content is published."
+    value: "You have been invited by @actor:full_name to join <a href=\"@entity:url\">@entity:title</a> as a @invitation:role.\r\nIf you wish to do so, you can click <a href=\"@invitation:accept_url\">@invitation:accept_url</a>, or follow the abovementioned link to enter the collection’s space and then click on the JOIN button, which is located in the banner area.\r\nLast, don’t forget that as a member you can take advantage of Interoperable Europe Portal's subscription notifications, and receive updates when new content is published."
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.comment_create.yml b/config/sync/message.template.comment_create.yml
index 3d6bc72dff..c11099eeef 100644
--- a/config/sync/message.template.comment_create.yml
+++ b/config/sync/message.template.comment_create.yml
@@ -11,10 +11,10 @@ label: 'Comment create'
 description: 'Sent when a comment is created.'
 text:
   -
-    value: '<p>Portal: A new comment has been created.</p>'
+    value: '<p>Interoperable Europe Portal: A new comment has been created.</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name posted a comment in @group:bundle "@group:title".</p><p>To view the comment click <a href="@entity:url">here</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name posted a comment in @group:bundle "@group:title".</p><p>To view the comment click <a href="@entity:url">here</a>.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.comment_delete.yml b/config/sync/message.template.comment_delete.yml
index 1b378c1870..d05bf9a513 100644
--- a/config/sync/message.template.comment_delete.yml
+++ b/config/sync/message.template.comment_delete.yml
@@ -11,7 +11,7 @@ label: 'Comment delete'
 description: 'Sent when a comment is deleted.'
 text:
   -
-    value: '<p>Portal: Your comment has been deleted.</p>'
+    value: '<p>Interoperable Europe Portal: Your comment has been deleted.</p>'
     format: full_html
   -
     value: '<p>@actor:full_name deleted your comment in "@parent:title".</p><p>To avoid comment moderation in the future, please read our community guidelines at <a href="@site:legal_notice_url">@site:legal_notice_url</a>.</p>'
diff --git a/config/sync/message.template.comment_update.yml b/config/sync/message.template.comment_update.yml
index d521102b02..7349b97619 100644
--- a/config/sync/message.template.comment_update.yml
+++ b/config/sync/message.template.comment_update.yml
@@ -11,10 +11,10 @@ label: 'Comment update'
 description: 'Sent when a comment is updated.'
 text:
   -
-    value: '<p>Portal: A comment has been updated.</p>'
+    value: '<p>Interoperable Europe Portal: A comment has been updated.</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name updated the comment in "<a href="@entity:url">@parent:title</a>".</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name updated the comment in "<a href="@entity:url">@parent:title</a>".</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.contact_form_submission.yml b/config/sync/message.template.contact_form_submission.yml
index d7ae0a6a3a..8141be82a6 100644
--- a/config/sync/message.template.contact_form_submission.yml
+++ b/config/sync/message.template.contact_form_submission.yml
@@ -9,7 +9,7 @@ label: 'Contact form submission'
 description: 'Message to the moderators when the contact form is submitted.'
 text:
   -
-    value: '<p>Portal - Contact form submission</p>'
+    value: '<p>Interoperable Europe Portal - Contact form submission</p>'
     format: content_editor
 settings:
   'token options':
diff --git a/config/sync/message.template.discussion_comment_new.yml b/config/sync/message.template.discussion_comment_new.yml
index 79288f7f8e..98079c7966 100644
--- a/config/sync/message.template.discussion_comment_new.yml
+++ b/config/sync/message.template.discussion_comment_new.yml
@@ -9,7 +9,7 @@ label: 'Notify discussion subscribers on new comment'
 description: 'Message sent to subscribers of a discussion when a new comment is posted'
 text:
   -
-    value: 'Portal: User @comment:author:username posted a comment in discussion "@entity:title"'
+    value: 'Interoperable Europe Portal: User @comment:author:username posted a comment in discussion "@entity:title"'
     format: full_html
   -
     value: '<p>@comment:author:username has posted a comment on discussion "@entity:title" in "@group:title" @group:bundle.</p><p>To view the comment, click <a href="@entity:url">@entity:url</a>.</p>'
diff --git a/config/sync/message.template.discussion_delete.yml b/config/sync/message.template.discussion_delete.yml
index f6a74a0f6a..86d4ee07f4 100644
--- a/config/sync/message.template.discussion_delete.yml
+++ b/config/sync/message.template.discussion_delete.yml
@@ -9,7 +9,7 @@ label: 'Discussion deletion'
 description: 'Sent when a discussion has been deleted.'
 text:
   -
-    value: 'Portal: The discussion "@entity:title" was deleted in the space of "@group:title"'
+    value: 'Interoperable Europe Portal: The discussion "@entity:title" was deleted in the space of "@group:title"'
     format: full_html
   -
     value: 'for your information, the discussion "@entity:title" was deleted from the "@group:title" @group:bundle.'
diff --git a/config/sync/message.template.discussion_invite.yml b/config/sync/message.template.discussion_invite.yml
index 16ff0de224..c9e66e3c6b 100644
--- a/config/sync/message.template.discussion_invite.yml
+++ b/config/sync/message.template.discussion_invite.yml
@@ -9,10 +9,10 @@ label: 'Discussion invitation'
 description: 'Sent when a user is invited to subscribe to a discussion.'
 text:
   -
-    value: '<p>@actor:full_name invited you to follow a discussion on Portal.</p>'
+    value: '<p>@actor:full_name invited you to follow a discussion on Interoperable Europe Portal.</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name invited you to participate in the discussion <a href="@entity:url"><em>@entity:title</em></a> on Portal.</p><p>If you are interested please <a href="@invitation:accept_url">accept the invitation</a>.</p><p>By accepting the invitation you will be following the discussion and you will be notified when other users post comments. You can unfollow at any time by clicking the "Unfollow" button on the discussion page.</p>'
+    value: '<p>@actor:full_name invited you to participate in the discussion <a href="@entity:url"><em>@entity:title</em></a> on Interoperable Europe Portal.</p><p>If you are interested please <a href="@invitation:accept_url">accept the invitation</a>.</p><p>By accepting the invitation you will be following the discussion and you will be notified when other users post comments. You can unfollow at any time by clicking the "Unfollow" button on the discussion page.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.discussion_updated.yml b/config/sync/message.template.discussion_updated.yml
index f2cffa7864..a2f10ed2d2 100644
--- a/config/sync/message.template.discussion_updated.yml
+++ b/config/sync/message.template.discussion_updated.yml
@@ -9,7 +9,7 @@ label: 'Notify discussion subscribers on discussion update'
 description: 'Message sent to subscribers of a discussion when a discussion is updated'
 text:
   -
-    value: 'Portal: The discussion "@entity:title" was updated in the space of "@group:title"'
+    value: 'Interoperable Europe Portal: The discussion "@entity:title" was updated in the space of "@group:title"'
     format: full_html
   -
     value: '<p>The discussion "@entity:title" was updated in the "@group:title" @group:bundle.</p><p>To view the discussion, click @entity:url.</p>'
diff --git a/config/sync/message.template.distribution_delete.yml b/config/sync/message.template.distribution_delete.yml
index ded23c7852..e4d2d599a6 100644
--- a/config/sync/message.template.distribution_delete.yml
+++ b/config/sync/message.template.distribution_delete.yml
@@ -11,7 +11,7 @@ label: 'Solution distribution delete'
 description: 'Template 22: Distribution delete'
 text:
   -
-    value: 'Portal: A distribution has been deleted'
+    value: 'Interoperable Europe Portal: A distribution has been deleted'
     format: full_html
   -
     value: 'The distribution @entity:title @release:info:with_version of the solution @group:title was successfully deleted.'
diff --git a/config/sync/message.template.distribution_update.yml b/config/sync/message.template.distribution_update.yml
index 5231817071..b2dbf37331 100644
--- a/config/sync/message.template.distribution_update.yml
+++ b/config/sync/message.template.distribution_update.yml
@@ -11,7 +11,7 @@ label: 'Solution distribution update'
 description: 'Template 21: Distribution update'
 text:
   -
-    value: 'Portal: A distribution has been updated'
+    value: 'Interoperable Europe Portal: A distribution has been updated'
     format: full_html
   -
     value: 'The distribution @entity:title @release:info:with_version of the solution @group:title was successfully updated.'
diff --git a/config/sync/message.template.og_membership_approve.yml b/config/sync/message.template.og_membership_approve.yml
index 045da0da48..963715c467 100644
--- a/config/sync/message.template.og_membership_approve.yml
+++ b/config/sync/message.template.og_membership_approve.yml
@@ -9,7 +9,7 @@ label: 'Group membership approval'
 description: 'Group privileged user approves a membership request.'
 text:
   -
-    value: '<p>Portal: Your request to join the @entity:bundle @entity:title was approved</p>'
+    value: '<p>Interoperable Europe Portal: Your request to join the @entity:bundle @entity:title was approved</p>'
     format: full_html
   -
     value: '<p>@actor:full_name has approved your request to join the "@entity:title" @entity:bundle.</p>'
diff --git a/config/sync/message.template.og_membership_reject.yml b/config/sync/message.template.og_membership_reject.yml
index b3b3f842fc..ce47b7bcf2 100644
--- a/config/sync/message.template.og_membership_reject.yml
+++ b/config/sync/message.template.og_membership_reject.yml
@@ -9,7 +9,7 @@ label: 'Group membership rejection'
 description: 'Group privileged user rejects a membership request.'
 text:
   -
-    value: '<p>Portal: Your request to join the @entity:bundle @entity:title was rejected</p>'
+    value: '<p>Interoperable Europe Portal: Your request to join the @entity:bundle @entity:title was rejected</p>'
     format: full_html
   -
     value: '<p>@actor:full_name has rejected your request to join the "@entity:title" @entity:bundle.</p>'
diff --git a/config/sync/message.template.og_membership_request.yml b/config/sync/message.template.og_membership_request.yml
index ac835af143..ecefdaea66 100644
--- a/config/sync/message.template.og_membership_request.yml
+++ b/config/sync/message.template.og_membership_request.yml
@@ -9,10 +9,10 @@ label: 'Group membership request'
 description: 'A user requests to join a closed collection.'
 text:
   -
-    value: '<p>Portal: A user has requested to join your collection</p>'
+    value: '<p>Interoperable Europe Portal: A user has requested to join your collection</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name has requested to join your @entity:bundle "@entity:title" as a member.</p><p>To approve or reject this request, click on <a href="@group:members_page:url">@group:members_page:url</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has requested to join your @entity:bundle "@entity:title" as a member.</p><p>To approve or reject this request, click on <a href="@group:members_page:url">@group:members_page:url</a>.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.og_membership_role_change.yml b/config/sync/message.template.og_membership_role_change.yml
index 516c481800..cb7618ed7b 100644
--- a/config/sync/message.template.og_membership_role_change.yml
+++ b/config/sync/message.template.og_membership_role_change.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>Your role has been changed to @membership:roles</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name has changed your role in @group:bundle "@group:title" to @membership:roles.</p><p>If you think this action is not clear or not due, please contact <a href="@site:contact_url">Portal Support</a>.</p>'
+    value: '<p>@actor:full_name has changed your role in @group:bundle "@group:title" to @membership:roles.</p><p>If you think this action is not clear or not due, please contact <a href="@site:contact_url">Interoperable Europe Portal Support</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.og_membership_subscribed_approve.yml b/config/sync/message.template.og_membership_subscribed_approve.yml
index 9f99ca6ae4..5d37670ad4 100644
--- a/config/sync/message.template.og_membership_subscribed_approve.yml
+++ b/config/sync/message.template.og_membership_subscribed_approve.yml
@@ -9,10 +9,10 @@ label: 'Group membership approval with subscription'
 description: 'Group privileged user accepts a membership request that is also subscribed.'
 text:
   -
-    value: '<p>Portal: Your request to join the @entity:bundle @entity:title was approved</p>'
+    value: '<p>Interoperable Europe Portal: Your request to join the @entity:bundle @entity:title was approved</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name has approved your request to join and subscribe to the "@entity:title" @entity:bundle.</p><p>You will receive weekly notifications for newly created content on this collection.<br /> To manage your notifications go to "<a href="@user:my_subscriptions">My subscriptions</a>" in the user menu.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has approved your request to join and subscribe to the "@entity:title" @entity:bundle.</p><p>You will receive weekly notifications for newly created content on this collection.<br /> To manage your notifications go to "<a href="@user:my_subscriptions">My subscriptions</a>" in the user menu.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.release_approve_proposed.yml b/config/sync/message.template.release_approve_proposed.yml
index abb7dd59b0..efc8dccfff 100644
--- a/config/sync/message.template.release_approve_proposed.yml
+++ b/config/sync/message.template.release_approve_proposed.yml
@@ -11,7 +11,7 @@ label: 'Solution release approve proposed'
 description: 'Template 20: The solution release'
 text:
   -
-    value: 'Portal: Your release was accepted'
+    value: 'Interoperable Europe Portal: Your release was accepted'
     format: full_html
   -
     value: '<p>Your proposed @entity:title, @entity:release_number for the solution "@group:title" has been validated as per your request.</p>'
diff --git a/config/sync/message.template.release_delete.yml b/config/sync/message.template.release_delete.yml
index 39fc36fa0e..deb51ab26f 100644
--- a/config/sync/message.template.release_delete.yml
+++ b/config/sync/message.template.release_delete.yml
@@ -11,7 +11,7 @@ label: 'Solution release delete'
 description: 'Template 19: Deletion of release'
 text:
   -
-    value: 'Portal: A release has been deleted'
+    value: 'Interoperable Europe Portal: A release has been deleted'
     format: full_html
   -
     value: '<p>release @entity:title, @entity:release_number of @group:title solution was deleted.</p>'
diff --git a/config/sync/message.template.release_request_changes.yml b/config/sync/message.template.release_request_changes.yml
index 55e9738b74..fdfd72178f 100644
--- a/config/sync/message.template.release_request_changes.yml
+++ b/config/sync/message.template.release_request_changes.yml
@@ -11,10 +11,10 @@ label: 'Solution release request changes'
 description: 'Template 23: Solution release request changes'
 text:
   -
-    value: 'Portal: Modification of a release of your solution has been requested'
+    value: 'Interoperable Europe Portal: Modification of a release of your solution has been requested'
     format: full_html
   -
-    value: '<p>the Portal moderation team requires editing the release @entity:title, @entity:release_number of the solution @group:title due to @transition:motivation.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>the Interoperable Europe Portal moderation team requires editing the release @entity:title, @entity:release_number of the solution @group:title due to @transition:motivation.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.release_update.yml b/config/sync/message.template.release_update.yml
index 5b2c073a70..bc9f8b4cc6 100644
--- a/config/sync/message.template.release_update.yml
+++ b/config/sync/message.template.release_update.yml
@@ -11,7 +11,7 @@ label: 'Solution release update'
 description: 'Template 18: Solution release update'
 text:
   -
-    value: 'Portal: A release has been updated'
+    value: 'Interoperable Europe Portal: A release has been updated'
     format: full_html
   -
     value: '<p>The release @entity:title, @entity:release_number of the solution @group:title was updated.</p>'
diff --git a/config/sync/message.template.report_contact_form.yml b/config/sync/message.template.report_contact_form.yml
index 42d834c4de..9584ccf39b 100644
--- a/config/sync/message.template.report_contact_form.yml
+++ b/config/sync/message.template.report_contact_form.yml
@@ -9,7 +9,7 @@ label: 'Report contact form'
 description: 'The message template for reporting content'
 text:
   -
-    value: '<p>Portal: @message:subject</p>'
+    value: '<p>Interoperable Europe Portal: @message:subject</p>'
     format: content_editor
   -
     value: |-
diff --git a/config/sync/message.template.sol_approve_proposed.yml b/config/sync/message.template.sol_approve_proposed.yml
index 1751fa9d4a..d36614b60f 100644
--- a/config/sync/message.template.sol_approve_proposed.yml
+++ b/config/sync/message.template.sol_approve_proposed.yml
@@ -9,7 +9,7 @@ label: 'Solution approved proposed'
 description: 'Template 2: Moderator accept proposed solution'
 text:
   -
-    value: 'Portal: Your solution has been accepted'
+    value: 'Interoperable Europe Portal: Your solution has been accepted'
     format: full_html
   -
     value: '<p>Your proposed interoperability solution: "@entity:title" has been validated as per your request.</p>'
diff --git a/config/sync/message.template.sol_blacklist.yml b/config/sync/message.template.sol_blacklist.yml
index bed28a8c0e..f998a3e4a5 100644
--- a/config/sync/message.template.sol_blacklist.yml
+++ b/config/sync/message.template.sol_blacklist.yml
@@ -9,7 +9,7 @@ label: 'Solution blacklist'
 description: 'Template 13: Blacklist a solution'
 text:
   -
-    value: 'Portal: Your interoperability solution is blacklisted'
+    value: 'Interoperable Europe Portal: Your interoperability solution is blacklisted'
     format: full_html
   -
     value: |-
diff --git a/config/sync/message.template.sol_deletion_by_moderator.yml b/config/sync/message.template.sol_deletion_by_moderator.yml
index a202ed5c53..1a97e4964b 100644
--- a/config/sync/message.template.sol_deletion_by_moderator.yml
+++ b/config/sync/message.template.sol_deletion_by_moderator.yml
@@ -9,10 +9,10 @@ label: 'Solution deleted by moderator'
 description: 'Template 17: Moderator deletes a solution'
 text:
   -
-    value: 'Portal: Your solution has been deleted by the moderation team'
+    value: 'Interoperable Europe Portal: Your solution has been deleted by the moderation team'
     format: full_html
   -
-    value: '<p>The Portal moderation team deleted the interoperability solution @entity:title.</p>'
+    value: '<p>The Interoperable Europe Portal moderation team deleted the interoperability solution @entity:title.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_propose_changes.yml b/config/sync/message.template.sol_propose_changes.yml
index 8b82d65237..fccf24b5cd 100644
--- a/config/sync/message.template.sol_propose_changes.yml
+++ b/config/sync/message.template.sol_propose_changes.yml
@@ -11,10 +11,10 @@ label: 'Solution propose changes'
 description: 'Template 7: A moderator proposed changes to a solution'
 text:
   -
-    value: 'Portal: Changes have been proposed for your solution'
+    value: 'Interoperable Europe Portal: Changes have been proposed for your solution'
     format: full_html
   -
-    value: '<p>@actor:full_name has requested you to modify the interoperability solution "@entity:title", with the following motivation: @transition:motivation.</p><p>Your content has been moved back in proposed state and you can update it and request a new publication.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has requested you to modify the interoperability solution "@entity:title", with the following motivation: @transition:motivation.</p><p>Your content has been moved back in proposed state and you can update it and request a new publication.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_propose_new.yml b/config/sync/message.template.sol_propose_new.yml
index 01fdfc3df9..d9fa43379d 100644
--- a/config/sync/message.template.sol_propose_new.yml
+++ b/config/sync/message.template.sol_propose_new.yml
@@ -11,10 +11,10 @@ label: 'Solution propose new'
 description: 'Template 1: Propose new solution'
 text:
   -
-    value: 'Portal: A new solution has been proposed'
+    value: 'Interoperable Europe Portal: A new solution has been proposed'
     format: full_html
   -
-    value: '<p>@actor:full_name has proposed a new Interoperability solution: "@entity:title" on Portal.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has proposed a new Interoperability solution: "@entity:title" on Interoperable Europe Portal.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_propose_requested_changes.yml b/config/sync/message.template.sol_propose_requested_changes.yml
index 092a7c877e..2bfd57740f 100644
--- a/config/sync/message.template.sol_propose_requested_changes.yml
+++ b/config/sync/message.template.sol_propose_requested_changes.yml
@@ -11,10 +11,10 @@ label: 'Solution propose cahnges - Owner'
 description: "Template 16: Propose changes from 'request changes' state"
 text:
   -
-    value: 'Portal: An update of a solution has been proposed'
+    value: 'Interoperable Europe Portal: An update of a solution has been proposed'
     format: full_html
   -
-    value: '<p>@actor:full_name has proposed an update of the Interoperability solution: "@entity:title" on Portal.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has proposed an update of the Interoperability solution: "@entity:title" on Interoperable Europe Portal.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_publish_backlisted.yml b/config/sync/message.template.sol_publish_backlisted.yml
index bf3bb5d8bf..522b622c72 100644
--- a/config/sync/message.template.sol_publish_backlisted.yml
+++ b/config/sync/message.template.sol_publish_backlisted.yml
@@ -11,7 +11,7 @@ label: 'Solution published from blacklisted state'
 description: 'Template 14: Publish a blacklisted solution'
 text:
   -
-    value: 'Portal: Your interoperability solution is published again'
+    value: 'Interoperable Europe Portal: Your interoperability solution is published again'
     format: full_html
   -
     value: '<p>the moderator has published back your interoperability solution - @entity:title that was blacklisted.</p>'
diff --git a/config/sync/message.template.sol_request_changes.yml b/config/sync/message.template.sol_request_changes.yml
index a05ea3b6fc..62c76cbbc1 100644
--- a/config/sync/message.template.sol_request_changes.yml
+++ b/config/sync/message.template.sol_request_changes.yml
@@ -11,10 +11,10 @@ label: 'Solution request changes'
 description: 'Template 15: Moderator requests changes'
 text:
   -
-    value: 'Portal: You are requested to update your solution'
+    value: 'Interoperable Europe Portal: You are requested to update your solution'
     format: full_html
   -
-    value: '<p>the moderator has requested you to modify the interoperability solution - @entity:title following the following advises: @transition:motivation.</p><p>Your content has been moved back in needs updates state and you can update it and request a new publication.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>the moderator has requested you to modify the interoperability solution - @entity:title following the following advises: @transition:motivation.</p><p>Your content has been moved back in needs updates state and you can update it and request a new publication.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.solution_content_archive.yml b/config/sync/message.template.solution_content_archive.yml
index 947151b420..04765f75fa 100644
--- a/config/sync/message.template.solution_content_archive.yml
+++ b/config/sync/message.template.solution_content_archive.yml
@@ -15,7 +15,7 @@ text:
     value: |-
       <p>The <em>@entity:title</em>, along with its associated content items, has been archived. Even though the Solution has been archived, you can still access its pages through the Advanced Search page by selecting 'Show only Archived items' or through the Collection it belonged to.</p>
 
-      <p>If you think this action is not clear, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a></p>
+      <p>If you think this action is not clear, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a></p>
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/metatag.metatag_defaults.front.yml b/config/sync/metatag.metatag_defaults.front.yml
index e14d2f6dc6..0c18dca2e6 100644
--- a/config/sync/metatag.metatag_defaults.front.yml
+++ b/config/sync/metatag.metatag_defaults.front.yml
@@ -10,7 +10,7 @@ tags:
   shortlink: '[site:url]'
   title: '[site:name]'
   canonical_url: '[site:url]'
-  description: 'The Portal is the European Union’s platform for promoting and supporting interoperability, collaboration, and knowledge sharing across public administrations, businesses, and citizens. It acts as a one-stop shop for discovering, sharing, and reusing IT solutions and good practices.'
-  abstract: 'Portal offers several services that aim to help e-Government professionals share their experience with each other. We also hope to support them to find, choose, re-use, develop and implement interoperability solutions.'
+  description: 'The Interoperable Europe Portal is the European Union’s platform for promoting and supporting interoperability, collaboration, and knowledge sharing across public administrations, businesses, and citizens. It acts as a one-stop shop for discovering, sharing, and reusing IT solutions and good practices.'
+  abstract: 'Interoperable Europe Portal offers several services that aim to help e-Government professionals share their experience with each other. We also hope to support them to find, choose, re-use, develop and implement interoperability solutions.'
   og_url: '[site:url]'
   og_title: '[site:name]'
diff --git a/config/sync/node.type.solution.yml b/config/sync/node.type.solution.yml
index 29638a74ac..f3e3533fa7 100644
--- a/config/sync/node.type.solution.yml
+++ b/config/sync/node.type.solution.yml
@@ -22,7 +22,7 @@ label_plural: null
 label_count: null
 name: Solution
 type: solution
-description: 'A solution on Portal is a framework, tool, or service either hosted directly on Portal or federated from third-party repositories.'
+description: 'A solution on Interoperable Europe Portal is a framework, tool, or service either hosted directly on Interoperable Europe Portal or federated from third-party repositories.'
 help: null
 new_revision: true
 preview_mode: 1
diff --git a/config/sync/page_manager.page.homepage.yml b/config/sync/page_manager.page.homepage.yml
index 7259c35760..2df9cbaeab 100644
--- a/config/sync/page_manager.page.homepage.yml
+++ b/config/sync/page_manager.page.homepage.yml
@@ -4,7 +4,7 @@ status: true
 dependencies: {  }
 id: homepage
 label: Homepage
-description: 'The Portal homepage. This consists of two variants: the Layout Builder variant contains the content that is constructed with the Layout Builder module and is shown in the main content region. The second variant is used to render the About section which appears in a dedicated region on the homepage. This is never invoked by the Page Manager but is injected in the homepage template `page--home.html.twig`. See `ventuno_preprocess_page__home()`.'
+description: 'The Interoperable Europe Portal homepage. This consists of two variants: the Layout Builder variant contains the content that is constructed with the Layout Builder module and is shown in the main content region. The second variant is used to render the About section which appears in a dedicated region on the homepage. This is never invoked by the Page Manager but is injected in the homepage template `page--home.html.twig`. See `ventuno_preprocess_page__home()`.'
 use_admin_theme: false
 path: /home
 access_logic: and
diff --git a/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml b/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml
index ad38cdff1f..77d6bd0b32 100644
--- a/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml
+++ b/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml
@@ -136,11 +136,11 @@ variant_settings:
           region: first
           configuration:
             id: custom_markup
-            label: "What's Portal about?"
+            label: "What's Interoperable Europe Portal about?"
             label_display: '0'
             provider: custom_markup_block
             markup:
-              value: "<h2>What is the Portal</h2>\r\n<p>The Portal is the European Union’s platform for promoting and supporting interoperability, collaboration, and knowledge sharing across public administrations, businesses, and citizens.</p>\r\n<p><strong>It acts as a one-stop shop for discovering, sharing, and reusing IT solutions and good practices.</strong></p>\r\n"
+              value: "<h2>What is the Interoperable Europe Portal</h2>\r\n<p>The Interoperable Europe Portal is the European Union’s platform for promoting and supporting interoperability, collaboration, and knowledge sharing across public administrations, businesses, and citizens.</p>\r\n<p><strong>It acts as a one-stop shop for discovering, sharing, and reusing IT solutions and good practices.</strong></p>\r\n"
               format: full_html
           weight: 0
           additional:
@@ -225,7 +225,7 @@ variant_settings:
           region: third
           configuration:
             id: custom_markup
-            label: 'New Portal video'
+            label: 'New Interoperable Europe Portal video'
             label_display: '0'
             provider: custom_markup_block
             context_mapping: {  }
diff --git a/config/sync/rdf_entity.rdfentity.solution.yml b/config/sync/rdf_entity.rdfentity.solution.yml
index 91c64962b0..f57deb7561 100644
--- a/config/sync/rdf_entity.rdfentity.solution.yml
+++ b/config/sync/rdf_entity.rdfentity.solution.yml
@@ -10,4 +10,4 @@ label_count:
   no_count_capitalize: !!binary U29sdXRpb24DU29sdXRpb25z
 name: Solution
 rid: solution
-description: 'A Solution on Portal is a framework, tool, or service either hosted directly on Portal or federated from third-party repositories.'
+description: 'A Solution on Interoperable Europe Portal is a framework, tool, or service either hosted directly on Interoperable Europe Portal or federated from third-party repositories.'
diff --git a/config/sync/search_api.server.joinup.yml b/config/sync/search_api.server.joinup.yml
index 69b669cd9a..272ea7f4bc 100644
--- a/config/sync/search_api.server.joinup.yml
+++ b/config/sync/search_api.server.joinup.yml
@@ -41,7 +41,7 @@ dependencies:
   module:
     - search_api_solr
 id: joinup
-name: 'Portal Search API Server'
+name: 'Interoperable Europe Portal Search API Server'
 description: ''
 backend: search_api_solr
 backend_config:
diff --git a/config/sync/simple_block.simple_block.collection_tca.yml b/config/sync/simple_block.simple_block.collection_tca.yml
index f675a82eb1..90f48ec8e6 100644
--- a/config/sync/simple_block.simple_block.collection_tca.yml
+++ b/config/sync/simple_block.simple_block.collection_tca.yml
@@ -7,5 +7,5 @@ dependencies:
 id: collection_tca
 title: 'Collection Terms of Agreement'
 content:
-  value: "<p>Portal Collections are spaces where you can collaborate with others sharing your same interests around a certain domain, and contain all the contents of any kind related to that domain (solutions, news, newsletters and announcements of events and documents of various kinds).</p>\r\n\r\n<h2>How Collections work</h2>\r\n\r\n<p>Actions you can take as a collection owner:</p>\r\n\r\n<ul>\r\n\t<li>Choose who can see and join your Collection, if you create it with restricted membership conditions;</li>\r\n\t<li>Add other people as moderators and owners of the Collection;</li>\r\n\t<li>Accept or reject users' proposal to add their solution your collection, based on relevance and <a href=\"[site:url]joinup/eligibility-criteria\">eligibility criteria</a>;</li>\r\n\t<li>Remove members from your Collection;</li>\r\n\t<li>Moderate posts and comments in your Collection;</li>\r\n\t<li>Delete your Collection</li>\r\n</ul>\r\n\r\n<p>What others can do when they join your Collection:</p>\r\n\r\n<ul>\r\n\t<li>See what other people have posted to that Collection</li>\r\n\t<li>Comment on posts in that Collection</li>\r\n\t<li>Leave that Collection at any time</li>\r\n</ul>\r\n\r\n<p>Please note that the creation of Collections is subject to moderation by the Portal team, and the following criteria will be checked:</p>\r\n\r\n<ul>\r\n\t<li>If there are existing collections pertaining to the same domains as yours;</li>\r\n\t<li>If there is already a collection with content similar to that which you intend to include;</li>\r\n</ul>\r\n\r\n<h2>Do you want to create your own Collection?</h2>\r\n"
+  value: "<p>Interoperable Europe Portal Collections are spaces where you can collaborate with others sharing your same interests around a certain domain, and contain all the contents of any kind related to that domain (solutions, news, newsletters and announcements of events and documents of various kinds).</p>\r\n\r\n<h2>How Collections work</h2>\r\n\r\n<p>Actions you can take as a collection owner:</p>\r\n\r\n<ul>\r\n\t<li>Choose who can see and join your Collection, if you create it with restricted membership conditions;</li>\r\n\t<li>Add other people as moderators and owners of the Collection;</li>\r\n\t<li>Accept or reject users' proposal to add their solution your collection, based on relevance and <a href=\"[site:url]joinup/eligibility-criteria\">eligibility criteria</a>;</li>\r\n\t<li>Remove members from your Collection;</li>\r\n\t<li>Moderate posts and comments in your Collection;</li>\r\n\t<li>Delete your Collection</li>\r\n</ul>\r\n\r\n<p>What others can do when they join your Collection:</p>\r\n\r\n<ul>\r\n\t<li>See what other people have posted to that Collection</li>\r\n\t<li>Comment on posts in that Collection</li>\r\n\t<li>Leave that Collection at any time</li>\r\n</ul>\r\n\r\n<p>Please note that the creation of Collections is subject to moderation by the Interoperable Europe Portal team, and the following criteria will be checked:</p>\r\n\r\n<ul>\r\n\t<li>If there are existing collections pertaining to the same domains as yours;</li>\r\n\t<li>If there is already a collection with content similar to that which you intend to include;</li>\r\n</ul>\r\n\r\n<h2>Do you want to create your own Collection?</h2>\r\n"
   format: content_editor
diff --git a/config/sync/simple_block.simple_block.solution_tca.yml b/config/sync/simple_block.simple_block.solution_tca.yml
index bc38cae33d..4a5b48e920 100644
--- a/config/sync/simple_block.simple_block.solution_tca.yml
+++ b/config/sync/simple_block.simple_block.solution_tca.yml
@@ -7,5 +7,5 @@ dependencies:
 id: solution_tca
 title: 'Solution Terms of Agreement'
 content:
-  value: "<p>The eligibility criteria of Portal's interoperability solutions have been redefined. The litmus test considers language, licence, relevance, quality, interface &amp; Location (Services) and Unicity of interoperability solutions submitted for inclusion in the Portal catalogue. By overhauling the Portal catalogue qualification process we aim to ensure that the list only relevant and reusable solutions in the Catalogue. In addition to the criteria, you will also find some guidelines below to help you describe the solutions in a way which maximises their potential of re-use.</p>\r\n\r\n<h2>The criteria</h2>\r\n\r\n<p>We use the term solution to refer to services,specifications, and software. The Portal catalogue will only accept solutions that meet these criteria:</p>\r\n\r\n<h4>Language</h4>\r\n\r\n<p>The solution MUST at least have the description in English. This ensures the accessibility of the catalogue in a common language.</p>\r\n\r\n<h4>Licence of agreement</h4>\r\n\r\n<p>Standards, specifications and software MUST be published under a licence, in general, this MUST be an open licence, making the solution available free of charge. Some exceptions can be considered for endorsed solutions. Endorsements means that the solution is funded or recognised by the European Commission or a national public administration. It can also be defined as making the use of the interoperability solution mandatory or recommended. Services SHOULD have some type of agreement (terms of use, SLA).</p>\r\n\r\n<h4>Relevance</h4>\r\n\r\n<p>The Portal catalogue lists solutions that are relevant for public administrations. The solution MUST be, or be planned to be used by at least one public administration. The solution provider SHOULD explain the link between the solution and a public administration. Specifications and standards MUST be endorsed by an EU institution or a Member State. Services SHOULD be basic or shared services that can be used by a public administration to build a European public service.</p>\r\n\r\n<h4>Quality</h4>\r\n\r\n<p>To ensure the basic quality of the interoperability solution on the Portal catalogue, the solutions MUST be described in conformance to the latest official release of <a href=\"\">ADMS-AP</a>. The description SHALL also follow the compliance guidelines defined below as closely as possible.</p>\r\n\r\n<h4>Interface</h4>\r\n\r\n<p>Services MUST be provided through digital channels such as web-interface, machine-to-machine or other type of digital (stable) interfaces.</p>\r\n\r\n<h4>Unicity</h4>\r\n\r\n<p>In as far as possible solutions SHOULD be unique. In specific cases for software, duplication can be accepted if it clearly demonstrated that the usage is different. Services are duplicates if they are provided to the same target group, by the same provider, under the same agreement, to the same location, and using the same interface.</p>\r\n\r\n<h4>Location</h4>\r\n\r\n<p>Services MUST at least be applicable at European level. They may be provided by National or European administrations.</p>\r\n\r\n<h2>Compliance guidelines</h2>\r\n\r\n<p>The description of the solution should be as precise and complete as possible and explain how the proposed solution can be reused by end-users. Here is a list of aspects that must be explained:</p>\r\n\r\n<ul>\r\n\t<li><strong>General description:</strong> overview of your solution (brief description).</li>\r\n\t<li><strong>Needs that the solution addresses:</strong> which needs are addressed.</li>\r\n\t<li><strong>Features that the solution implements:</strong> what are the main features.</li>\r\n\t<li><strong>Typical intended audience:</strong> what is the target audience(s) of your solutions? Who are the end users?.</li>\r\n\t<li><strong>How to reuse the solution:</strong> how can the intended audience re-use your solutions? Which steps should be followed? How to begin? Are there any other solutions strongly related and that can be used together?.</li>\r\n\t<li><strong>Standards used in the solution:</strong> what international, national standard or specification are used within your solution?</li>\r\n\t<li><strong>Contribution of the solution to a policy:</strong> does your solution contribute to a public policy? Was your solution developed in the context of a public policy? Is your solution endorsed by an EU institution?</li>\r\n</ul>\r\n"
+  value: "<p>The eligibility criteria of Interoperable Europe Portal's interoperability solutions have been redefined. The litmus test considers language, licence, relevance, quality, interface &amp; Location (Services) and Unicity of interoperability solutions submitted for inclusion in the Interoperable Europe Portal catalogue. By overhauling the Interoperable Europe Portal catalogue qualification process we aim to ensure that the list only relevant and reusable solutions in the Catalogue. In addition to the criteria, you will also find some guidelines below to help you describe the solutions in a way which maximises their potential of re-use.</p>\r\n\r\n<h2>The criteria</h2>\r\n\r\n<p>We use the term solution to refer to services,specifications, and software. The Interoperable Europe Portal catalogue will only accept solutions that meet these criteria:</p>\r\n\r\n<h4>Language</h4>\r\n\r\n<p>The solution MUST at least have the description in English. This ensures the accessibility of the catalogue in a common language.</p>\r\n\r\n<h4>Licence of agreement</h4>\r\n\r\n<p>Standards, specifications and software MUST be published under a licence, in general, this MUST be an open licence, making the solution available free of charge. Some exceptions can be considered for endorsed solutions. Endorsements means that the solution is funded or recognised by the European Commission or a national public administration. It can also be defined as making the use of the interoperability solution mandatory or recommended. Services SHOULD have some type of agreement (terms of use, SLA).</p>\r\n\r\n<h4>Relevance</h4>\r\n\r\n<p>The Interoperable Europe Portal catalogue lists solutions that are relevant for public administrations. The solution MUST be, or be planned to be used by at least one public administration. The solution provider SHOULD explain the link between the solution and a public administration. Specifications and standards MUST be endorsed by an EU institution or a Member State. Services SHOULD be basic or shared services that can be used by a public administration to build a European public service.</p>\r\n\r\n<h4>Quality</h4>\r\n\r\n<p>To ensure the basic quality of the interoperability solution on the Interoperable Europe Portal catalogue, the solutions MUST be described in conformance to the latest official release of <a href=\"\">ADMS-AP</a>. The description SHALL also follow the compliance guidelines defined below as closely as possible.</p>\r\n\r\n<h4>Interface</h4>\r\n\r\n<p>Services MUST be provided through digital channels such as web-interface, machine-to-machine or other type of digital (stable) interfaces.</p>\r\n\r\n<h4>Unicity</h4>\r\n\r\n<p>In as far as possible solutions SHOULD be unique. In specific cases for software, duplication can be accepted if it clearly demonstrated that the usage is different. Services are duplicates if they are provided to the same target group, by the same provider, under the same agreement, to the same location, and using the same interface.</p>\r\n\r\n<h4>Location</h4>\r\n\r\n<p>Services MUST at least be applicable at European level. They may be provided by National or European administrations.</p>\r\n\r\n<h2>Compliance guidelines</h2>\r\n\r\n<p>The description of the solution should be as precise and complete as possible and explain how the proposed solution can be reused by end-users. Here is a list of aspects that must be explained:</p>\r\n\r\n<ul>\r\n\t<li><strong>General description:</strong> overview of your solution (brief description).</li>\r\n\t<li><strong>Needs that the solution addresses:</strong> which needs are addressed.</li>\r\n\t<li><strong>Features that the solution implements:</strong> what are the main features.</li>\r\n\t<li><strong>Typical intended audience:</strong> what is the target audience(s) of your solutions? Who are the end users?.</li>\r\n\t<li><strong>How to reuse the solution:</strong> how can the intended audience re-use your solutions? Which steps should be followed? How to begin? Are there any other solutions strongly related and that can be used together?.</li>\r\n\t<li><strong>Standards used in the solution:</strong> what international, national standard or specification are used within your solution?</li>\r\n\t<li><strong>Contribution of the solution to a policy:</strong> does your solution contribute to a public policy? Was your solution developed in the context of a public policy? Is your solution endorsed by an EU institution?</li>\r\n</ul>\r\n"
   format: content_editor
diff --git a/config/sync/tour.tour.account.yml b/config/sync/tour.tour.account.yml
index b97fb3eb0c..7bd3263a2a 100644
--- a/config/sync/tour.tour.account.yml
+++ b/config/sync/tour.tour.account.yml
@@ -34,7 +34,7 @@ tips:
     weight: 3
     position: left-start
     selector: .search-bar
-    body: 'Search through the entire Portal platform and its supported content items.'
+    body: 'Search through the entire Interoperable Europe Portal platform and its supported content items.'
   local_tasks:
     id: local_tasks
     plugin: text
diff --git a/config/sync/tour.tour.content_overview.yml b/config/sync/tour.tour.content_overview.yml
index 765627b54c..a231b7c44c 100644
--- a/config/sync/tour.tour.content_overview.yml
+++ b/config/sync/tour.tour.content_overview.yml
@@ -18,7 +18,7 @@ tips:
     weight: 1
     position: left-start
     selector: '.listing .listing__item:first-of-type'
-    body: 'The content area displays Portal events, documents, news, and discussions that have been created or updated recently.'
+    body: 'The content area displays Interoperable Europe Portal events, documents, news, and discussions that have been created or updated recently.'
   filters:
     id: filters
     plugin: text
@@ -34,4 +34,4 @@ tips:
     weight: 3
     position: left-start
     selector: .search-bar
-    body: 'Search through the entire Portal platform and its supported content items.'
+    body: 'Search through the entire Interoperable Europe Portal platform and its supported content items.'
diff --git a/config/sync/tour.tour.joinup_homepage.yml b/config/sync/tour.tour.joinup_homepage.yml
index da94c77cd4..762593d601 100644
--- a/config/sync/tour.tour.joinup_homepage.yml
+++ b/config/sync/tour.tour.joinup_homepage.yml
@@ -3,7 +3,7 @@ langcode: en
 status: true
 dependencies: {  }
 id: joinup_homepage
-label: 'Portal homepage tour.'
+label: 'Interoperable Europe Portal homepage tour.'
 module: null
 routes:
   -
@@ -24,7 +24,7 @@ tips:
     weight: 2
     position: left-start
     selector: '#block-exposed-search .input-group.js-form-type-search-api-autocomplete'
-    body: 'Search through the entire Portal platform and its supported content items.'
+    body: 'Search through the entire Interoperable Europe Portal platform and its supported content items.'
   spotlight:
     id: spotlight
     plugin: text
@@ -52,7 +52,7 @@ tips:
   about:
     id: about
     plugin: text
-    label: 'About Portal'
+    label: 'About Interoperable Europe Portal'
     weight: 7
     position: left-start
     selector: .about-what
@@ -64,4 +64,4 @@ tips:
     weight: 8
     position: bottom-start
     selector: 'li a[data-drupal-link-system-path="contact"]'
-    body: 'If you have any questions or suggestions regarding the Portal platform, you can contact us through this link.'
+    body: 'If you have any questions or suggestions regarding the Interoperable Europe Portal platform, you can contact us through this link.'
diff --git a/config/sync/tour.tour.rdf_entity_canonical.yml b/config/sync/tour.tour.rdf_entity_canonical.yml
index bf7b4152b1..762769fd43 100644
--- a/config/sync/tour.tour.rdf_entity_canonical.yml
+++ b/config/sync/tour.tour.rdf_entity_canonical.yml
@@ -74,4 +74,4 @@ tips:
     weight: 8
     position: left-start
     selector: .search-bar
-    body: 'Search through the entire Portal platform and its supported content items.'
+    body: 'Search through the entire Interoperable Europe Portal platform and its supported content items.'
diff --git a/config/sync/user.mail.yml b/config/sync/user.mail.yml
index e194d1cede..1ecd17d5bf 100644
--- a/config/sync/user.mail.yml
+++ b/config/sync/user.mail.yml
@@ -32,27 +32,27 @@ password_reset:
 
     The Portal Support Team
 register_admin_created:
-  subject: 'Your Portal account was created successfully.'
+  subject: 'Your Interoperable Europe Portal account was created successfully.'
   body: |-
     Dear [user:field_user_first_name],
 
-    The Portal Support Team created your account on Portal.
+    The Portal Support Team created your account on Interoperable Europe Portal.
     Please log in through the following link in order to set your password.
     <a href="[user:one-time-login-url]">[user:one-time-login-url]</a>
 
-    In case you think this action is not due, please contact the <a href="[site:contact-form]">Portal Support Team</a>.
+    In case you think this action is not due, please contact the <a href="[site:contact-form]">Interoperable Europe Portal Support Team</a>.
 
     Kind regards,
 
     The Portal Support Team
 register_no_approval_required:
-  subject: "You're one step away to create your Portal account. Please confirm your email address before you can sign in to Portal."
+  subject: "You're one step away to create your Interoperable Europe Portal account. Please confirm your email address before you can sign in to Interoperable Europe Portal."
   body: |-
     Dear [user:field_user_first_name],
 
-    You are one step away from creating your account in Portal, the European Commission collaborative platform for Interoperability solutions for public administrations, businesses and citizens.
+    You are one step away from creating your account in Interoperable Europe Portal, the European Commission collaborative platform for Interoperability solutions for public administrations, businesses and citizens.
 
-    Please confirm your email address by clicking <a href="[user:one-time-login-url]">[user:one-time-login-url]</a> to complete the creation of your new Portal account.
+    Please confirm your email address by clicking <a href="[user:one-time-login-url]">[user:one-time-login-url]</a> to complete the creation of your new Interoperable Europe Portal account.
 
     If you think that this email was erroneously sent to you, please disregard this message.
 
@@ -84,10 +84,10 @@ status_activated:
 
     Here’s how you can get started:
 
-    <strong>1. Login to the Portal</strong>
+    <strong>1. Login to the Interoperable Europe Portal</strong>
     You may now log in with EU Login credentials by clicking this link or copying and pasting it into your browser: <a href="[site:url]">[site:url]</a>
 
-    <strong>2. Explore the Portal</strong>
+    <strong>2. Explore the Interoperable Europe Portal</strong>
     Visit the <a href="[site:url]">Homepage</a> to discover the platform’s content. You can browse through the main topics, view highlighted content and use the <a href="[site:url]search?keys=&sort_by=relevance">advanced search</a> to find specific information. The top menu also provides quick access to key areas.
 
     <strong>3. Participate and contribute</strong>
@@ -110,7 +110,7 @@ status_blocked:
   body: |-
     Dear [user:field_user_first_name],
 
-    Your Portal account was recently blocked by our moderators.
+    Your Interoperable Europe Portal account was recently blocked by our moderators.
     For more information about blocked accounts, please visit our FAQ section.
 
     Kind regards,
@@ -119,10 +119,10 @@ status_blocked:
 status_canceled:
   subject: 'Your account has been deleted.'
   body: |-
-    Dear Portal user,
+    Dear Interoperable Europe Portal user,
 
     Your account [user:account-name] has been deleted.@joinup_user:moderation_text If you believe that this action has been performed by mistake, please contact The Portal Support Team at <a href="[site:contact-form]">[site:contact-form]</a>.
 
     Kind regards,
 
-    The Portal Support Team
\ No newline at end of file
+    The Portal Support Team
diff --git a/config/sync/views.view.actions_log.yml b/config/sync/views.view.actions_log.yml
index 32227ebcb2..edbe43c4bc 100644
--- a/config/sync/views.view.actions_log.yml
+++ b/config/sync/views.view.actions_log.yml
@@ -644,7 +644,7 @@ display:
           expose:
             operator_id: uid_op
             label: User
-            description: "Enter a Portal user's name to search for a user and select it with the mouse or the keyboard."
+            description: "Enter a Interoperable Europe Portal user's name to search for a user and select it with the mouse or the keyboard."
             use_operator: false
             operator: uid_op
             operator_limit_selection: false
@@ -689,7 +689,7 @@ display:
           expose:
             operator_id: uid_1_op
             label: Actor
-            description: "Enter a Portal user's name to search for a user and select it with the mouse or the keyboard."
+            description: "Enter a Interoperable Europe Portal user's name to search for a user and select it with the mouse or the keyboard."
             use_operator: false
             operator: uid_1_op
             operator_limit_selection: false
diff --git a/config/sync/views.view.search.yml b/config/sync/views.view.search.yml
index 692871feca..0c0d59dd0a 100644
--- a/config/sync/views.view.search.yml
+++ b/config/sync/views.view.search.yml
@@ -484,7 +484,7 @@ display:
       display_extenders:
         metatag_display_extender:
           metatags:
-            description: 'Search the Portal platform for digital government information and interoperability solutions with the help of advanced filters.'
+            description: 'Search the Interoperable Europe Portal platform for digital government information and interoperability solutions with the help of advanced filters.'
           tokenize: false
       path: search
     cache_metadata:
diff --git a/config/sync/views.view.solutions.yml b/config/sync/views.view.solutions.yml
index 3fc9ef47e8..529f13b5ce 100644
--- a/config/sync/views.view.solutions.yml
+++ b/config/sync/views.view.solutions.yml
@@ -516,7 +516,7 @@ display:
       menu:
         type: normal
         title: Solutions
-        description: 'A Solution on Portal is a framework, tool, or service either hosted directly on Portal or federated from third-party repositories.'
+        description: 'A Solution on Interoperable Europe Portal is a framework, tool, or service either hosted directly on Interoperable Europe Portal or federated from third-party repositories.'
         weight: -48
         expanded: false
         menu_name: main
diff --git a/docs/agreement.md b/docs/agreement.md
index ad508bec7a..2f7a422627 100644
--- a/docs/agreement.md
+++ b/docs/agreement.md
@@ -1,6 +1,6 @@
-# Portal Individual Contributor Assignment Agreement
+# Interoperable Europe Portal Individual Contributor Assignment Agreement
 
-Thank you for your interest in contributing to Portal, owned by the European
+Thank you for your interest in contributing to Interoperable Europe Portal, owned by the European
 Union ("We" or "Us"). This contributor agreement ("Agreement") documents the
 rights granted by contributors to Us. By creating a pull request you implicitly
 agree with the contents of this document.
@@ -13,7 +13,7 @@ to it. The Agreement may cover more than one software project managed by Us.
 * "**You**" means the individual who Submits a Contribution to Us.
 * "**Contribution**" means any work of authorship that is Submitted by You to Us in
   which You own or assert ownership of the Copyright. If You do not own the
-  Copyright in the entire work of authorship, please contact Portal legal
+  Copyright in the entire work of authorship, please contact Interoperable Europe Portal legal
   support through the form in https://interoperable-europe.ec.europa.eu/contact.
 * "**Copyright**" means all rights protecting works of authorship owned or
   controlled by You, including copyright, moral and neighboring rights, as
@@ -118,7 +118,7 @@ You confirm that:
 __(a)__ You have the legal authority to enter into this Agreement.
 __(b)__ You own the Copyright and patent claims covering the Contribution which are required to grant the rights under Section 2.
 __(c)__ The grant of rights under Section 2 does not violate any grant of rights which You have made to third parties, including Your employer. If You are an employee, You have had Your employer approve this Agreement or sign the Entity version of this document. If You are less than eighteen years old, please have Your parents or guardian sign the Agreement.
-__(d)__ You have contacted Portal legal support https://interoperable-europe.ec.europa.eu/contact, if You do not own the Copyright in the entire work of authorship Submitted.
+__(d)__ You have contacted Interoperable Europe Portal legal support https://interoperable-europe.ec.europa.eu/contact, if You do not own the Copyright in the entire work of authorship Submitted.
 
 ## 4. Disclaimer
 
diff --git a/docs/code_of_conduct.md b/docs/code_of_conduct.md
index 7595e74ad6..95c3f28d14 100644
--- a/docs/code_of_conduct.md
+++ b/docs/code_of_conduct.md
@@ -1,4 +1,4 @@
-# Portal Contributor Covenant Code of Conduct
+# Interoperable Europe Portal Contributor Covenant Code of Conduct
 
 ## Our Pledge
 
diff --git a/docs/contributing.md b/docs/contributing.md
index 384b607e76..ec07569198 100644
--- a/docs/contributing.md
+++ b/docs/contributing.md
@@ -1,7 +1,7 @@
-# Contributing to Portal
+# Contributing to Interoperable Europe Portal
 
 ## Before you start
-* You're thinking of setting up your own code repository using the Portal
+* You're thinking of setting up your own code repository using the Interoperable Europe Portal
   codebase?
 * You are about to develop a big feature on top of this codebase?
 * You're having trouble installing this project?
@@ -10,33 +10,33 @@
 Use the Github issue queue to get in touch! We'd like to hear about your plans.
 
 ## Legal
-By submitting a pull request to the Portal repository, you implicitly accept the conditions in the
- [Portal Individual Contributor Assignment Agreement](agreement.md) as well as the  [code of conduct](code_of_conduct.md).
+By submitting a pull request to the Interoperable Europe Portal repository, you implicitly accept the conditions in the
+ [Interoperable Europe Portal Individual Contributor Assignment Agreement](agreement.md) as well as the  [code of conduct](code_of_conduct.md).
 
-The Portal codebase is released under the [European Union Public Licence (EUPL)](https://interoperable-europe.ec.europa.eu/community/eupl/og_page/eupl).
+The Interoperable Europe Portal codebase is released under the [European Union Public Licence (EUPL)](https://interoperable-europe.ec.europa.eu/community/eupl/og_page/eupl).
 
 ## How to contribute
-Contribution to Portal is similar to most other projects on GitHub:
-We use the [fork and pull](https://help.github.com/articles/types-of-collaborative-development-models/) model, which means that everyone whom wants to contribute, can do so through a pull request from a fork of Portal towards the Portal repository.
+Contribution to Interoperable Europe Portal is similar to most other projects on GitHub:
+We use the [fork and pull](https://help.github.com/articles/types-of-collaborative-development-models/) model, which means that everyone whom wants to contribute, can do so through a pull request from a fork of Interoperable Europe Portal towards the Interoperable Europe Portal repository.
 More information on pull requests is available on the '[using pull request](https://help.github.com/articles/using-pull-requests/)' page.
 
-We are however not obligated to use your contribution as part of Portal and may decide to include any contribution we consider appropriate.
+We are however not obligated to use your contribution as part of Interoperable Europe Portal and may decide to include any contribution we consider appropriate.
 
 ## Code quality
-We try to keep the quality of Portal as high as possible, and therefore a few measures are put in place:
+We try to keep the quality of Interoperable Europe Portal as high as possible, and therefore a few measures are put in place:
 * Adherence of the drupal coding standards is verified on each commit.
   (Please note that the coding standards can change in the future).
 * Functional tests ([Behat](http://behat.org)) are ran on each commit to avoid the introduction of regression.
 
 You can [check our current test scenarios here](/tests/features/).
 
-If you plan to make contributions to the Portal codebase, we kindly ask you to
+If you plan to make contributions to the Interoperable Europe Portal codebase, we kindly ask you to
 run the coding standards checks, as well as the Behat test suite before making
 a pull request. Also make sure you add test coverage for the functionality
 covered in the pull request.
 
 ## Workflow
-In order to get a contribution accepted in Portal, follow this procedure:
+In order to get a contribution accepted in Interoperable Europe Portal, follow this procedure:
 
 1. _fork_: Most contributions are forked from the _develop_ branch where the
    main development takes place. However if an issue is highly critical and
@@ -51,7 +51,7 @@ In order to get a contribution accepted in Portal, follow this procedure:
    the right to reject any of these small fixes though if they are not
    immediately clear.
 1. _qa_: When development on the pull request is ready the code needs to be
-   reviewed by the Portal development team. The functionality offered in the PR
+   reviewed by the Interoperable Europe Portal development team. The functionality offered in the PR
    should be covered by tests, and obviously all existing tests should pass. The
    development team regularly checks the open pull requests and will pick up
    tickets to be reviewed. Note that this might take some time since the work is
@@ -59,8 +59,8 @@ In order to get a contribution accepted in Portal, follow this procedure:
    feel free to post a comment mentioning that the PR is ready to be reviewed.
 1. _uat_: Once a PR has been approved by the development team it will be merged
    into the `UAT-ready` branch. A user acceptance test will be performed by the
-   Portal functional team which has the final decision whether the functionality
-   will be accepted in Portal.
+   Interoperable Europe Portal functional team which has the final decision whether the functionality
+   will be accepted in Interoperable Europe Portal.
 1. _merge_: Only after the functional team approves the PR it will be merged
    into the main branch by one of the developers.
 1. _deploy_: At the end of every 2-weekly sprint the _develop_ branch will be
diff --git a/docs/federation.md b/docs/federation.md
index 4c832a89b9..26c4a04295 100644
--- a/docs/federation.md
+++ b/docs/federation.md
@@ -1,10 +1,10 @@
-#  Portal federation of Linked Data
+#  Interoperable Europe Portal federation of Linked Data
 ## Background
 TODO
 ## Stakeholders
 - Member state portals
-- Portal community
-- Portal platform
+- Interoperable Europe Portal community
+- Interoperable Europe Portal platform
 - Other ISA projects
 
 ## Architecture
@@ -40,7 +40,7 @@ Sharing SBBs as broad as possible will in the long run lower costs.
 
 * _Joinup portal_
 Globalization urges for more agile Europe. In order to stay relevant, the EC has a responsibility as it is in the coordinating role to facilitate the exchange of information between European public services.
-By sharing SBBs developed both in the commission and in member states as broad as possible, Portal helps building the digital single market.
+By sharing SBBs developed both in the commission and in member states as broad as possible, Interoperable Europe Portal helps building the digital single market.
 
 * _Joinup community_
 
@@ -49,17 +49,17 @@ By sharing SBBs developed both in the commission and in member states as broad a
 ### Information system architecture
 #### Data architecture
 The data architecture is centered around ADMS-AP.
-The Portal portal implements the model in a 'conformist' way, so that friction between Portal and the data standard is minimized.
+The Interoperable Europe Portal portal implements the model in a 'conformist' way, so that friction between Interoperable Europe Portal and the data standard is minimized.
 This was one of the main changes in the architecture while migrating from D6 to D8.
 
 _Joinup extensions (optional):_
-Internally Portal adds properties that are not included in the ADMS-AP data model. For example, the banner image that is shown inside collections.
+Internally Interoperable Europe Portal adds properties that are not included in the ADMS-AP data model. For example, the banner image that is shown inside collections.
 These properties should be imported when present, but not managed by the federation process.
 
 _Backwards compatibility:_
 At the moment, none of the member state data portals support ADMS-APv2, while some support ADMS-APv1.
 As not everyone will upgrade straight away, an intermediate upgrade path component will take care of supporting legacy systems.
-ADMS-APv1  ----> Transformation ----> Portal (ADMS-APv2)
+ADMS-APv1  ----> Transformation ----> Interoperable Europe Portal (ADMS-APv2)
 It is of uttermost importance that a good relation is established with the repository owners, as they stay responsible for their data.
 
 
@@ -84,11 +84,11 @@ It is of uttermost importance that a good relation is established with the repos
       (If no existing entity, it might be needed to apply some defaults)
     2. Remove any unmapped properties
     3. Remove all properties defined by ADMS-APv2
-        (This leaves all Portal specific properties)
+        (This leaves all Interoperable Europe Portal specific properties)
     4. Remove all triples from the STAGING graph whose predicates are present in the SINK graph
     5. Copy all triples from the SINK graph to the STAGING graph
 
-* Portal compatibility checks
+* Interoperable Europe Portal compatibility checks
     For __each entity__ defined in the STAGING graph:
     1. Load the object
     2. Call the `->validate()` method
diff --git a/docs/release_workflow.md b/docs/release_workflow.md
index 0e658fe101..ef0498aa17 100644
--- a/docs/release_workflow.md
+++ b/docs/release_workflow.md
@@ -1,6 +1,6 @@
 # Deployment workflow
 
-We have 3 repositories that Portal uses: the
+We have 3 repositories that Interoperable Europe Portal uses: the
 [development repository](https://git.fpfis.tech.ec.europa.eu/digit/digit-joinup-dev),
 which is where the development takes place, the
 [reference repository](https://git.fpfis.tech.ec.europa.eu/ec-europa/digit-joinup-reference),
@@ -71,10 +71,10 @@ The release procedure is as follows:
    issues and move them in QA should be followed.
 5. Check all resolved tickets from the previous sprint(s) and verify that they
    have a version set in the "Fix Version" field. Some tickets might be resolved
-   but are not part of any Portal release (for example: analysis/investigations,
+   but are not part of any Interoperable Europe Portal release (for example: analysis/investigations,
    work done upstream, infrastructure work etc.). These should get "NOVERSION".
    The tickets can be listed by browsing all tickets in Jira and using the query
-   `project = ISAICP AND Sprint = "Portal sprint N" AND status = Resolved`.
+   `project = ISAICP AND Sprint = "Interoperable Europe Portal sprint N" AND status = Resolved`.
 6. List all tickets in Jira that have the "Fix Version" field set to the
    upcoming release, using the query `project = ISAICP AND fixVersion = x.y.z`.
    These tickets will be used to create the changelog in the next step.
diff --git a/docs/sparql.md b/docs/sparql.md
index 3efef6bfcc..21ca0e8b9f 100644
--- a/docs/sparql.md
+++ b/docs/sparql.md
@@ -59,7 +59,7 @@ Below are some sample queries that can be run against the triplestore.
       <http://example.com/subject> ?p ?o .
     }
 
-You can find the URI ID of the entities in Portal by visitin the menu
+You can find the URI ID of the entities in Interoperable Europe Portal by visitin the menu
 "Metadata > Export".
 
 ### Get all predicates
@@ -128,7 +128,7 @@ You can find the URI ID of the entities in Portal by visitin the menu
 SPARQL Mappings
 ---------------
 
-In Portal, we use `sparql_entity_storage` to map the RDF data to Drupal
+In Interoperable Europe Portal, we use `sparql_entity_storage` to map the RDF data to Drupal
 entities. The way this is done is through the SPARQL mapping config entities and
 the field third party settings.
 
@@ -174,7 +174,7 @@ is stored.
 
 The graphs are mainly groupings of triples. A good way to understand this is to
 think of the graphs as the tables in a relational database. The triples are the
-rows in the tables. The graphs are used to separate the data. In Portal, we use
+rows in the tables. The graphs are used to separate the data. In Interoperable Europe Portal, we use
 graphs to distinguish between bundles and between published and draft data.
 
 For example, in order to retrieve all collection URI IDs that are published, the
@@ -253,7 +253,7 @@ base_fields_mapping:
 These are the base fields of the entity. The base fields are the fields that
 are defined in the `RdfEntity` class. As you can see, the `rid` field is mapped
 to the `http://www.w3.org/1999/02/22-rdf-syntax-ns#type` predicate and all the
-other fields are mapped to the predicates that are defined in the Portal.
+other fields are mapped to the predicates that are defined in the Interoperable Europe Portal.
 
 Properties without a mapping value will not be stored in the database. For
 example, the uuid field will not be stored to the database according to the
@@ -278,4 +278,4 @@ entity_id_plugin: joinup_po_namespace
 ```
 The plugin that is used to generate the entity ID. The entity ID is the URI of
 the entity. `joinup_po_namespace` is the plugin that is used to generate the
-entity ID in Portal.
+entity ID in Interoperable Europe Portal.
diff --git a/phpcs.xml b/phpcs.xml
index ba1156e3d3..59d47ffd72 100644
--- a/phpcs.xml
+++ b/phpcs.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0"?>
-<!-- PHP_CodeSniffer standard for Portal. -->
+<!-- PHP_CodeSniffer standard for Interoperable Europe Portal. -->
 <!-- See http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.php -->
-<ruleset name="Portal">
-  <description>Portal coding standard</description>
+<ruleset name="Interoperable Europe Portal">
+  <description>Interoperable Europe Portal coding standard</description>
 
   <!-- Include the Slevomat sniffs. -->
   <config name="installed_paths" value="../../slevomat/coding-standard"/>
diff --git a/phpmd.xml b/phpmd.xml
index 2f4007058a..a3177d0e0a 100644
--- a/phpmd.xml
+++ b/phpmd.xml
@@ -4,5 +4,5 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
          xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
-  <!-- Portal in not doing PHPMD checks as this tool is messy. -->
+  <!-- Interoperable Europe Portal in not doing PHPMD checks as this tool is messy. -->
 </ruleset>
diff --git a/rector.php b/rector.php
index 959c3875f4..0a8b037fe7 100644
--- a/rector.php
+++ b/rector.php
@@ -37,7 +37,7 @@
   $rectorConfig->importNames(TRUE, FALSE);
   $rectorConfig->importShortClasses(FALSE);
 
-  // Custom Portal config.
+  // Custom Interoperable Europe Portal config.
   $rectorConfig->paths([
     __DIR__ . '/src',
     __DIR__ . '/tests/src',
diff --git a/resources/runner/joinup.yml b/resources/runner/joinup.yml
index 73f24abe0d..aed82ff4df 100644
--- a/resources/runner/joinup.yml
+++ b/resources/runner/joinup.yml
@@ -1,4 +1,4 @@
-# Configuration and commands specific for Portal.
+# Configuration and commands specific for Interoperable Europe Portal.
 joinup:
   dir: ${drupal.root_absolute}/..
   site_dir: ${joinup.dir}/web
diff --git a/resources/runner/toolkit.yml b/resources/runner/toolkit.yml
index 75ee314d8e..9ffa3418f4 100644
--- a/resources/runner/toolkit.yml
+++ b/resources/runner/toolkit.yml
@@ -11,7 +11,7 @@ toolkit:
         - solr
         - virtuoso
   components:
-    # Disable 'toolkit-components' job check for outdated packages. The Portal
+    # Disable 'toolkit-components' job check for outdated packages. The Interoperable Europe Portal
     # dependencies policy is to update all dependencies after each release.
     outdated:
       check: false
diff --git a/resources/vocab/EIRA_SKOS.rdf b/resources/vocab/EIRA_SKOS.rdf
index 74b02fdf85..faf550bd9c 100644
--- a/resources/vocab/EIRA_SKOS.rdf
+++ b/resources/vocab/EIRA_SKOS.rdf
@@ -1377,7 +1377,7 @@ Source:
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Public Service Agent ABB is a Business Actor consuming or delivering a public service on behalf of a principal.
 
-Source: Portal
+Source: Interoperable Europe Portal
 (https://joinup.ec.europa.eu/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f7661a4a0_bbdf9_b4e98_bb04a_b967c6a1053f9)
 
 INTEROPERABILITY SALIENCY:
@@ -1616,7 +1616,7 @@ https://webgate.ec.europa.eu/easi-micpro/application#!cogcPublicPage]]></skos:de
     <skos:prefLabel xml:lang="en"><![CDATA[Service Delivery Mode]]></skos:prefLabel>
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
-Service Delivery Mode ABB is a Business Interface delivering to public service consumers, or otherwise interacting with them, for the purpose of supplying specific public services with accessibility value. This involves a number of management practices to ensure that the public services are provided as agreed between the public service provider and the consumer. The service delivery mode should also ensure a constant and stable access to public service in alarm and crisis situations (e.g., COVID 19 pandemic, natural disasters, etc.). Here some examples of service delivery mode: i) Mobile App; ii) Web Portal; iii) Web Services; iv) Contact Center, etc.
+Service Delivery Mode ABB is a Business Interface delivering to public service consumers, or otherwise interacting with them, for the purpose of supplying specific public services with accessibility value. This involves a number of management practices to ensure that the public services are provided as agreed between the public service provider and the consumer. The service delivery mode should also ensure a constant and stable access to public service in alarm and crisis situations (e.g., COVID 19 pandemic, natural disasters, etc.). Here some examples of service delivery mode: i) Mobile App; ii) Web Interoperable Europe Portal; iii) Web Services; iv) Contact Center, etc.
 
 Source: Innovation Policy Platform (https://www.innovationpolicyplatform.org/printpdf/12406)
 
@@ -2802,7 +2802,7 @@ EXAMPLES:
 The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB):
 
 EURES - Job vacancy
-Most of the jobs on the EURES Job Mobility Portal come from the job vacancies databases managed by the Public Employment Services of the countries participating in EURES. Using a technology called Web Services, the EURES search engine instantly, in real time, interrogates each national database for jobs. These jobs can be of two types:
+Most of the jobs on the EURES Job Mobility Interoperable Europe Portal come from the job vacancies databases managed by the Public Employment Services of the countries participating in EURES. Using a technology called Web Services, the EURES search engine instantly, in real time, interrogates each national database for jobs. These jobs can be of two types:
 “EURES jobs", displayed with a blue flag, which are jobs where an employer has expressed an interest in recruiting from another country, or any other jobs advertised in the national jobs databases.
 There is, in addition, a central database where EURES advisers can manually post jobs that will all be flagged as "EURES jobs". This is for the time being the only way for those few countries that are not yet fully connected to Web Services to advertise jobs on the EURES portal. This solution can, however, also be used for other specific purposes, such as when an employer wishes to publish a vacancy in several languages etc., which may not always be possible in a national database.
 
@@ -3118,7 +3118,7 @@ RAPEX - Semantic Web Gate
 Public set of RAPEX notifications are available via the Semantic Web Gate in the Open Data portal
 http://ec.europa.eu/semantic_webgate/query/dataset=rapex
 
-e-Justice Portal - Commission's approach on the security of communication and information systems in the European Commission
+e-Justice Interoperable Europe Portal - Commission's approach on the security of communication and information systems in the European Commission
 Commission Decision (EU, Euratom) 2017/46 of 10 January 2017 on the security of communication and information systems in the European Commission. The Commission's approach should take into account EU policy initiatives and legislation on network and information security, industry standards and good practices, to comply with all relevant legislation and to allow interoperability and compatibility.  This decision applies to all communication and information systems (CISs) which are owned, procured, managed or operated by or on behalf of the Commission and all usage of those CISs by the Commission.
 This decision sets out the basic principles, objectives, organisation and responsibilities regarding the security of those CISs, and in particular for Commission departments owning, procuring, managing or operating CISs and including CISs provided by an internal IT service provider.
 http://eur-lex.europa.eu/legal-content/EN/TXT/?uri=uriserv:OJ.L_.2017.006.01.0040.01.ENG]]></skos:definition>
@@ -3427,7 +3427,7 @@ The Public Service Consumer ABB is salient for organisational interoperability b
 EXAMPLES:
 The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB):
 
-Cosmetic Product Notification Portal CPNP - Poison centre, Responsible person, Market surveillance authority, Distributor, Health advisor, Administrations
+Cosmetic Product Notification Interoperable Europe Portal CPNP - Poison centre, Responsible person, Market surveillance authority, Distributor, Health advisor, Administrations
 The CPNP is making this information available electronically to:
 •	Competent Authorities (for the purposes of market surveillance, market analysis, evaluation and consumer information)
 •	Poison Centres or similar bodies established by EU countries (for the purposes of medical treatment).
@@ -3456,7 +3456,7 @@ Source:
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Public Service Consumer Agent ABB is a Business Role consuming a public service on behalf of a principal.
 
-Source: Portal
+Source: Interoperable Europe Portal
 (https://joinup.ec.europa.eu/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f7661a4a0_bbdf9_b4e98_bb04a_b967c6a1053f9")
 
 INTEROPERABILITY SALIENCY:
@@ -4866,7 +4866,7 @@ Source: OECD
 
 Source reference: https://stats.oecd.org/glossary/detail.asp?ID=4454
 
-Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): EU SCIENCE HUB - The European Commission's science and knowledge service - JRC's Data policy: The JRC's data policy is driven by transparency with the aim of contributing to innovation. It is a pillar of the development and implementation of scientific knowledge management at the JRC. It follows the commitments and regulatory basis of the Commission Decision on the reuse of Commission documents (2011/833/EU). The objectives for adopting and implementing the JRC data policy include: • Share and use data on the basis of the JRC Open Data principles: fully, freely, openly and timely; • To be transparent on the reasons for restricted access to certain data; • Provide a coordinated approach to the acquisition of data by the JRC; • Facilitate management, broaden access and use of JRC data; • Reinforce goals of Horizon 2020; • Support EU implementation of the G8 Open Data Charter; • Continuously support evidence-based decision making and research; • Ensure that JRC data is made available through the EU Open Data Portal. For a successful implementation process, the JRC's data policy lays down implementation principles with respect to responsible entities, overall implementation guidelines, and their individual elements like data management plans, as well as the monitoring of its implementation. https://ec.europa.eu/jrc/en/about/jrc-in-brief/data-policy
+Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): EU SCIENCE HUB - The European Commission's science and knowledge service - JRC's Data policy: The JRC's data policy is driven by transparency with the aim of contributing to innovation. It is a pillar of the development and implementation of scientific knowledge management at the JRC. It follows the commitments and regulatory basis of the Commission Decision on the reuse of Commission documents (2011/833/EU). The objectives for adopting and implementing the JRC data policy include: • Share and use data on the basis of the JRC Open Data principles: fully, freely, openly and timely; • To be transparent on the reasons for restricted access to certain data; • Provide a coordinated approach to the acquisition of data by the JRC; • Facilitate management, broaden access and use of JRC data; • Reinforce goals of Horizon 2020; • Support EU implementation of the G8 Open Data Charter; • Continuously support evidence-based decision making and research; • Ensure that JRC data is made available through the EU Open Data Interoperable Europe Portal. For a successful implementation process, the JRC's data policy lays down implementation principles with respect to responsible entities, overall implementation guidelines, and their individual elements like data management plans, as well as the monitoring of its implementation. https://ec.europa.eu/jrc/en/about/jrc-in-brief/data-policy
 
 IoP Dimension: Governance IoP
 
@@ -4908,7 +4908,7 @@ eira:policy_type: [ Information security policy | Privacy policy | Licensing and
     <skos:definition><![CDATA[Data Policy ABB is a Business Object aiming to form the guiding framework in which data management can operate.]]></skos:definition>
     <eira:definitionSource>OECD</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://stats.oecd.org/glossary/detail.asp?ID=4454]]></eira:definitionSourceReference>
-    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): EU SCIENCE HUB - The European Commission's science and knowledge service - JRC's Data policy: The JRC's data policy is driven by transparency with the aim of contributing to innovation. It is a pillar of the development and implementation of scientific knowledge management at the JRC. It follows the commitments and regulatory basis of the Commission Decision on the reuse of Commission documents (2011/833/EU). The objectives for adopting and implementing the JRC data policy include: • Share and use data on the basis of the JRC Open Data principles: fully, freely, openly and timely; • To be transparent on the reasons for restricted access to certain data; • Provide a coordinated approach to the acquisition of data by the JRC; • Facilitate management, broaden access and use of JRC data; • Reinforce goals of Horizon 2020; • Support EU implementation of the G8 Open Data Charter; • Continuously support evidence-based decision making and research; • Ensure that JRC data is made available through the EU Open Data Portal. For a successful implementation process, the JRC's data policy lays down implementation principles with respect to responsible entities, overall implementation guidelines, and their individual elements like data management plans, as well as the monitoring of its implementation. https://ec.europa.eu/jrc/en/about/jrc-in-brief/data-policy]]></skos:example>
+    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): EU SCIENCE HUB - The European Commission's science and knowledge service - JRC's Data policy: The JRC's data policy is driven by transparency with the aim of contributing to innovation. It is a pillar of the development and implementation of scientific knowledge management at the JRC. It follows the commitments and regulatory basis of the Commission Decision on the reuse of Commission documents (2011/833/EU). The objectives for adopting and implementing the JRC data policy include: • Share and use data on the basis of the JRC Open Data principles: fully, freely, openly and timely; • To be transparent on the reasons for restricted access to certain data; • Provide a coordinated approach to the acquisition of data by the JRC; • Facilitate management, broaden access and use of JRC data; • Reinforce goals of Horizon 2020; • Support EU implementation of the G8 Open Data Charter; • Continuously support evidence-based decision making and research; • Ensure that JRC data is made available through the EU Open Data Interoperable Europe Portal. For a successful implementation process, the JRC's data policy lays down implementation principles with respect to responsible entities, overall implementation guidelines, and their individual elements like data management plans, as well as the monitoring of its implementation. https://ec.europa.eu/jrc/en/about/jrc-in-brief/data-policy]]></skos:example>
     <eira:iopSaliency><![CDATA[The Data Policy ABB is salient for semantic interoperability because it provides a guiding framework to manage data and information according to interoperability principles as stated in the EIF recommendation n° 30: "Perceive data and information as a public asset that should be appropriately generated, collected, managed, shared, protected and preserved."]]></eira:iopSaliency>
     <skos:note><![CDATA[]]></skos:note>
     <eira:concept>eira:ArchitectureBuildingBlock</eira:concept>
@@ -5211,7 +5211,7 @@ eira:dimension: Behavioral IoP
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Digital-ready Policymaking ABB is a Business Process consisting in formulating digital-ready policies and legislation by considering digital aspects from the start of the policy cycle to ensure that they are ready for the digital age, future-proof and interoperable.
 
-Source: Portal (Digital Ready Policies)
+Source: Interoperable Europe Portal (Digital Ready Policies)
 
 Source reference: https://joinup.ec.europa.eu/collection/better-legislation-smoother-implementation/digital-ready-policymaking
 
@@ -5252,7 +5252,7 @@ Last modification: 2023-10-01
     <dcterms:modified>2023-10-1</dcterms:modified>
     <eira:synonym>Policy Cycle</eira:synonym>
     <skos:definition><![CDATA[Digital-ready Policymaking ABB is a Business Process consisting in formulating digital-ready policies and legislation by considering digital aspects from the start of the policy cycle to ensure that they are ready for the digital age, future-proof and interoperable.]]></skos:definition>
-    <eira:definitionSource>Portal (Digital Ready Policies)</eira:definitionSource>
+    <eira:definitionSource>Interoperable Europe Portal (Digital Ready Policies)</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/collection/better-legislation-smoother-implementation/digital-ready-policymaking]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example of how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Performance-based Full Policy Cycle for the Digital Single Market (http://www.europarl.europa.eu/RegData/etudes/etudes/join/2013/507457/IPOL-IMCO_ET(2013)507457_EN.pdf). The key features of a performance-based full policy cycle are a clear articulation of policy objectives, the identification and use of quantitative indicators of expected short-term and longer-term policy impacts, the identification of synergies between policies, a much greater use of quantitative data in ex-ante impact assessments, the implementation of robust, data-based, independent ex post assessments of the performance of policies relative to their expected impacts and a wide dissemination of lessons learned in such ex-post performance assessments]]></skos:example>
     <eira:iopSaliency><![CDATA[The Public Policy Cycle ABB is salient for the governance  interoperability because it impacts on the design and formulation of public policies, which are implemented through legal acts. Also, the ABB also is salient for the legal interoperability due to it establis the legal actions and directives for public administration services as the case of interoperability principles need to be taken into account during the whole public policy cycle.]]></eira:iopSaliency>
@@ -5568,7 +5568,7 @@ Last modification: 2023-11-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Semantic interoperability agreement ABB is a Contract formalizing governance rules enabling collaboration between digital public services with ontological value.
 
-Source: Portal
+Source: Interoperable Europe Portal
 
 Source reference: https://joinup.ec.europa.eu/sites/default/files/document/2015-03/Process
 
@@ -5605,7 +5605,7 @@ Last modification: 2023-16-01
     <dcterms:modified>2023-01-16</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Semantic interoperability agreement ABB is a Contract formalizing governance rules enabling collaboration between digital public services with ontological value.]]></skos:definition>
-    <eira:definitionSource>Portal</eira:definitionSource>
+    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/sites/default/files/document/2015-03/Process]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): e-Invoicing Semantic Data Model - The semantic data model includes only the essential information elements that an electronic invoice needs to ensure legal (including fiscal) compliance and to enable interoperability for cross-border, cross-sector and for domestic trade. The semantic data model may be used by public and private sector organisations for public procurement invoicing and took into account the physical and financial supply chain perspective, reflecting both private and public sector requirements, with a view to allowing the full straight-through processing of an electronic invoice. https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/2017/06/28/CEN+Publishes+eInvoicing+Semantic+Data+Model]]></skos:example>
     <eira:iopSaliency><![CDATA[The Semantic Interoperability Agreement ABB is a key interoperability enabler (*) for governance interoperability by enabling the understanding of information and collaboration between digital public services.]]></eira:iopSaliency>
@@ -5904,7 +5904,7 @@ Last modification: 2023-10-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Semantic Agreement ABB is a Contract formalising an agreement from a peer to the common ontology that is the result of a matching or mapping process that is used to resolve their semantic discrepancies. The combination matching process consists of a linguistic base, internal and external structure comparison. The result of the matching combination will be used to develop an agreement unit as a component of the agreement. There are some assumptions for the agreement, such as using the same language to represent the schema/ontology, labels and the meaning of a concept, and there is no individual at the common ontology.
 
-Source: Portal
+Source: Interoperable Europe Portal
 
 Source reference: https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fSemanticAgreement
 
@@ -5943,7 +5943,7 @@ Last modification: 2023-16-01
     <dcterms:modified>2023-01-16</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Semantic Agreement ABB is a Contract formalising an agreement from a peer to the common ontology that is the result of a matching or mapping process that is used to resolve their semantic discrepancies. The combination matching process consists of a linguistic base, internal and external structure comparison. The result of the matching combination will be used to develop an agreement unit as a component of the agreement. There are some assumptions for the agreement, such as using the same language to represent the schema/ontology, labels and the meaning of a concept, and there is no individual at the common ontology.]]></skos:definition>
-    <eira:definitionSource>Portal</eira:definitionSource>
+    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fSemanticAgreement]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): SEMIC - "Supporting alignments and agreements on common definitions and specifications at the semantic layer for the Member States and the EU institutions". https://joinup.ec.europa.eu/collection/semantic-interoperability-community-semic/about]]></skos:example>
     <eira:iopSaliency><![CDATA[The Semantic Agreement ABB is a key interoperability enabler because it supports semantic governance by enabling collaboration between digital public services.]]></eira:iopSaliency>
@@ -6460,7 +6460,7 @@ Last modification: 2022-17-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: National Legal Interoperability Agreement ABB is a Contract formalizing governance rules enabling collaboration amongst different levels of administrations in a State.
 
-Source: Based on the definition in the EIF about Legal Interoperability Agreement, the National Interoperability Framework Observatory (see Portal NIFO) and existing national legal interoperability agreements.
+Source: Based on the definition in the EIF about Legal Interoperability Agreement, the National Interoperability Framework Observatory (see Interoperable Europe Portal NIFO) and existing national legal interoperability agreements.
 
 Source reference: https://ec.europa.eu/isa2/sites/isa/files/eif_brochure_final.pdf#page=27
 
@@ -6498,7 +6498,7 @@ Last modification: 2022-18-01
     <dcterms:type>eira:NationalLegalInteroperabilityAgreementContract</dcterms:type>
     <dcterms:modified>2022-01-18</dcterms:modified>
     <skos:definition><![CDATA[National Legal Interoperability Agreement ABB is a Contract formalizing governance rules enabling collaboration amongst different levels of administrations in a State.]]></skos:definition>
-    <eira:definitionSource>Based on the definition in the EIF about Legal Interoperability Agreement, the National Interoperability Framework Observatory (see Portal NIFO) and existing national legal interoperability agreements.</eira:definitionSource>
+    <eira:definitionSource>Based on the definition in the EIF about Legal Interoperability Agreement, the National Interoperability Framework Observatory (see Interoperable Europe Portal NIFO) and existing national legal interoperability agreements.</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://ec.europa.eu/isa2/sites/isa/files/eif_brochure_final.pdf#page=27]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example of how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Agreement to pass the policy of e-Signture and Certificates for the interoperability between the digital public services of the Spanish Central Administration (https://www.boe.es/diario_boe/txt.php?id=BOE-A-2012-15066)]]></skos:example>
     <eira:iopSaliency><![CDATA[The European Legal Interoperability Agreement ABB is salient for the governance of interoperability because it lays the European framework between public administration to enable the interoperability between public services. The European Legal Interoperability Agreement ABB is also salient for the legal interoperability due to the legal foundations and requirements that enable the seamless exchange of data, information, and knowledge between European and EEA Member State digital public services. The European Legal Interoperability Agreement ABB is also salient for the organizational interoperability since, as a consequence of the agreement, digital business capabilities can be mapped and subsequently, the process can be aligned between the Member State and EEA Public Administrations and digital public services.]]></eira:iopSaliency>
@@ -8083,8 +8083,8 @@ Syn. CMS
 
 The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB):
 
-CROS Portal
-The CROS Portal is a content management system based on Drupal and stands for "Portal on Collaboration in Research and Methodology for Official Statistics". The CROS Portal is dedicated to the collaboration between researchers and Official Statisticians in Europe and beyond. It provides a working space and tools for dissemination and information exchange for statistical projects and methodological topics. Services provided include hosting of statistical communities, repositories of useful documents, research results, project deliverables, CVs of experts in statistical relevant areas, and discussion fora on different topics like the future research needs in Official Statistics.
+CROS Interoperable Europe Portal
+The CROS Interoperable Europe Portal is a content management system based on Drupal and stands for "Interoperable Europe Portal on Collaboration in Research and Methodology for Official Statistics". The CROS Interoperable Europe Portal is dedicated to the collaboration between researchers and Official Statisticians in Europe and beyond. It provides a working space and tools for dissemination and information exchange for statistical projects and methodological topics. Services provided include hosting of statistical communities, repositories of useful documents, research results, project deliverables, CVs of experts in statistical relevant areas, and discussion fora on different topics like the future research needs in Official Statistics.
 https://ec.europa.eu/eurostat/cros/]]></skos:definition>
     <owl:deprecated>true</owl:deprecated>
     <eira:ContentManagementService_Properties />
@@ -8205,12 +8205,12 @@ The Open Data ABB is salient for semantic interoperability because it is a part
 EXAMPLES:
 The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB):
 
-European Data Portal
-The European Data Portal harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included.
+European Data Interoperable Europe Portal
+The European Data Interoperable Europe Portal harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included.
 
-Within the Portal, sections are dedicated to:
+Within the Interoperable Europe Portal, sections are dedicated to:
 •	Searching datasets: Categories have been established to structure the metadata harvested from the various countries. These categories follow the revision of the DCAT Application Profile and have been mapped against the Eurovoc Thesaurus.
-•	Providing Data: This section gives an insight into understanding Open Data from the perspective of a data provider. In addition, instructions are offered for those who wish their data portal to be harvested by the European Data Portal.
+•	Providing Data: This section gives an insight into understanding Open Data from the perspective of a data provider. In addition, instructions are offered for those who wish their data portal to be harvested by the European Data Interoperable Europe Portal.
 •	Using Data: How Open Data is being used, as well as the economic benefits of Open Data are detailed in this section.
 •	Training and Library: eLearning modules about Open Data as well as training guides and a knowledge base referencing publications around Open Data and featured projects.
 
@@ -9537,7 +9537,7 @@ EIRA concept: eira:ArchitectureBuildingBlock
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Data Virtualization ABB is an Application Component that implements the functionality of retrieving and manipulating data without requiring technical details about the data format or location.
 
-Source: Portal
+Source: Interoperable Europe Portal
 
 Source reference: https://joinup.ec.europa.eu/sites/default/files/inline-files/Data%20visualisation%20service%20definition.pdf
 
@@ -9574,7 +9574,7 @@ Last modification: 2022-23-01
     <dcterms:modified>2022-01-23</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Data Virtualization ABB is an Application Component that implements the functionality of retrieving and manipulating data without requiring technical details about the data format or location.]]></skos:definition>
-    <eira:definitionSource>Portal</eira:definitionSource>
+    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/sites/default/files/inline-files/Data%20visualisation%20service%20definition.pdf]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Virtuoso. Virtuoso Universal Server is modern platform built on existing open standards that harnesses the power of Hyperlinks (functioning as Super Keys) for breaking down data silos that impede both user and enterprise ability. For example, Virtuoso's core SQL & SPARQL powers many Enterprise Knowledge Graph initiatives just as it does DBpedia and a majority of nodes in the Linked Open Data Cloud -- the world's largest publicly accessible Knowledge Graph. https://big-data-test-infrastructure.ec.europa.eu/service-offering/virtuoso_en]]></skos:example>
     <eira:iopSaliency><![CDATA[The Data Virtualization Component ABB is salient for technical interoperability because it realises the services established and defined by the Data Virtualization Service ABB, collaborating with enabling interoperability between public services that generate, process or consume data.]]></eira:iopSaliency>
@@ -11181,7 +11181,7 @@ Last modification: 2022-23-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Data Virtualization ABB is an Application Service that enables the access and manipulation of data from various sources without the need for physical data integration.
 
-Source: Portal
+Source: Interoperable Europe Portal
 
 Source reference: https://joinup.ec.europa.eu/sites/default/files/inline-files/Data%20visualisation%20service%20definition.pdf
 
@@ -11215,7 +11215,7 @@ EIRA concept: eira:ArchitectureBuildingBlock
     <dcterms:modified>2023-05-25</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Data Virtualization ABB is an Application Service that enables the access and manipulation of data from various sources without the need for physical data integration.]]></skos:definition>
-    <eira:definitionSource>Portal</eira:definitionSource>
+    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/sites/default/files/inline-files/Data%20visualisation%20service%20definition.pdf]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Virtuoso. Virtuoso Universal Server is modern platform built on existing open standards that harnesses the power of Hyperlinks (functioning as Super Keys) for breaking down data silos that impede both user and enterprise ability. For example, Virtuoso's core SQL & SPARQL powers many Enterprise Knowledge Graph initiatives just as it does DBpedia and a majority of nodes in the Linked Open Data Cloud -- the world's largest publicly accessible Knowledge Graph. https://big-data-test-infrastructure.ec.europa.eu/service-offering/virtuoso_en]]></skos:example>
     <eira:iopSaliency><![CDATA[The Data Virtualization Application Service ABB is salient for technical interoperability because provides the tools for visualising datasets in a graphical way. These services can enable to visualise data and information from different sources, and public services, in a manner that can be better processed, understood, and therefore, interoperability can be achieved.]]></eira:iopSaliency>
@@ -11394,7 +11394,7 @@ EIRA concept: eira:ArchitectureBuildingBlock
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Authorisation ABB is an Application Service that enables processes to formalise the electronic identification of a natural or legal person, or the origin and integrity of data in the electronic form to be confirmed
 
-Source: Portal
+Source: Interoperable Europe Portal
 
 Source reference: https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fIdentityManagementService
 
@@ -11431,7 +11431,7 @@ Last modification: 2022-18-01
     <dcterms:modified>2022-01-18</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Authorisation ABB is an Application Service that enables processes to formalise the electronic identification of a natural or legal person, or the origin and integrity of data in the electronic form to be confirmed]]></skos:definition>
-    <eira:definitionSource>Portal</eira:definitionSource>
+    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fIdentityManagementService]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example of how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Users roles are managed and linked to EU Login accounts (https://ec.europa.eu/research/participants/docs/h2020-funding-guide/user-account-and-roles/roles-and-access-rights_en.htm). EU Login is the entry gate to sign in to different European Commission services and/or other systems. EU Login verifies your identity and allows recovering your personal settings, history and access rights in a secure way. You can sign in using social media accounts or the EU Login account.]]></skos:example>
     <eira:iopSaliency><![CDATA[The Authorisation Application Service ABB is salient for interoperability because it represents the identifications of actors (natural or legal persons) involved in system interactions, ensuring that the service and the data contained are accessed by actors with granted permissions. Additionally, this can be used as part of the data integrity process to identify the origin of certain data. In general, authorisation services allow for the maintenance of control and integrity of the available data, ensuring its quality when exchanged.]]></eira:iopSaliency>
@@ -12764,7 +12764,7 @@ Source: ISA2
 
 Source reference: https://ec.europa.eu/isa2/sites/default/files/docs/publications/isa2-actions-phase2_-_poc_-_wp1_specifications_en.pdf
 
-Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Data Portal - The European Data Portal harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included. What is Open Data? -	Open (Government) Data refers to the information collected, produced or paid for by the public bodies (also referred to as Public Sector Information) and made freely available for re-use for any purpose. The licence will specify the terms of use; -	Public sector information is information held by the public sector. The Directive on the re-use of public sector information provides a common legal framework for a European market for government-held data. It is built around the key pillars of the internal market: free flow of data, transparency and fair competition. It is important to note that not all of the public sector information is Open Data. Within the Portal, sections are dedicated to: -	Searching datasets: Categories have been established to structure the metadata harvested from the various countries. These categories follow the revision of the DCAT Application Profile and have been mapped against the Eurovoc Thesaurus; -	Providing Data: This section gives an insight into understanding Open Data from the perspective of a data provider. In addition, instructions are offered for those who wish their data portal to be harvested by the European Data Portal; -	Using Data: How Open Data is being used, as well as the economic benefits of Open Data are detailed in this section; -	Training and Library: eLearning modules about Open Data as well as training guides and a knowledge base referencing publications around Open Data and featured projects; - Portals can be national, regional, local or domain specific. They cover the 28 EU Member States, EEA, countries involved in the EU's neighbourhood policy and Switzerland. https://www.europeandataportal.eu/
+Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Data Interoperable Europe Portal - The European Data Interoperable Europe Portal harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included. What is Open Data? -	Open (Government) Data refers to the information collected, produced or paid for by the public bodies (also referred to as Public Sector Information) and made freely available for re-use for any purpose. The licence will specify the terms of use; -	Public sector information is information held by the public sector. The Directive on the re-use of public sector information provides a common legal framework for a European market for government-held data. It is built around the key pillars of the internal market: free flow of data, transparency and fair competition. It is important to note that not all of the public sector information is Open Data. Within the Interoperable Europe Portal, sections are dedicated to: -	Searching datasets: Categories have been established to structure the metadata harvested from the various countries. These categories follow the revision of the DCAT Application Profile and have been mapped against the Eurovoc Thesaurus; -	Providing Data: This section gives an insight into understanding Open Data from the perspective of a data provider. In addition, instructions are offered for those who wish their data portal to be harvested by the European Data Interoperable Europe Portal; -	Using Data: How Open Data is being used, as well as the economic benefits of Open Data are detailed in this section; -	Training and Library: eLearning modules about Open Data as well as training guides and a knowledge base referencing publications around Open Data and featured projects; - Portals can be national, regional, local or domain specific. They cover the 28 EU Member States, EEA, countries involved in the EU's neighbourhood policy and Switzerland. https://www.europeandataportal.eu/
 
 IoP Dimension: Behavioral IoP
 
@@ -12799,7 +12799,7 @@ Last modification: 2022-23-01
     <skos:definition><![CDATA[Data Publication ABB is an Application Service that enables the processes of making data available through the adoption of discoverable, accessible, and reusable mechanisms.]]></skos:definition>
     <eira:definitionSource>ISA2</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://ec.europa.eu/isa2/sites/default/files/docs/publications/isa2-actions-phase2_-_poc_-_wp1_specifications_en.pdf]]></eira:definitionSourceReference>
-    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Data Portal - The European Data Portal harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included. What is Open Data? -	Open (Government) Data refers to the information collected, produced or paid for by the public bodies (also referred to as Public Sector Information) and made freely available for re-use for any purpose. The licence will specify the terms of use; -	Public sector information is information held by the public sector. The Directive on the re-use of public sector information provides a common legal framework for a European market for government-held data. It is built around the key pillars of the internal market: free flow of data, transparency and fair competition. It is important to note that not all of the public sector information is Open Data. Within the Portal, sections are dedicated to: -	Searching datasets: Categories have been established to structure the metadata harvested from the various countries. These categories follow the revision of the DCAT Application Profile and have been mapped against the Eurovoc Thesaurus; -	Providing Data: This section gives an insight into understanding Open Data from the perspective of a data provider. In addition, instructions are offered for those who wish their data portal to be harvested by the European Data Portal; -	Using Data: How Open Data is being used, as well as the economic benefits of Open Data are detailed in this section; -	Training and Library: eLearning modules about Open Data as well as training guides and a knowledge base referencing publications around Open Data and featured projects; - Portals can be national, regional, local or domain specific. They cover the 28 EU Member States, EEA, countries involved in the EU's neighbourhood policy and Switzerland. https://www.europeandataportal.eu/]]></skos:example>
+    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Data Interoperable Europe Portal - The European Data Interoperable Europe Portal harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included. What is Open Data? -	Open (Government) Data refers to the information collected, produced or paid for by the public bodies (also referred to as Public Sector Information) and made freely available for re-use for any purpose. The licence will specify the terms of use; -	Public sector information is information held by the public sector. The Directive on the re-use of public sector information provides a common legal framework for a European market for government-held data. It is built around the key pillars of the internal market: free flow of data, transparency and fair competition. It is important to note that not all of the public sector information is Open Data. Within the Interoperable Europe Portal, sections are dedicated to: -	Searching datasets: Categories have been established to structure the metadata harvested from the various countries. These categories follow the revision of the DCAT Application Profile and have been mapped against the Eurovoc Thesaurus; -	Providing Data: This section gives an insight into understanding Open Data from the perspective of a data provider. In addition, instructions are offered for those who wish their data portal to be harvested by the European Data Interoperable Europe Portal; -	Using Data: How Open Data is being used, as well as the economic benefits of Open Data are detailed in this section; -	Training and Library: eLearning modules about Open Data as well as training guides and a knowledge base referencing publications around Open Data and featured projects; - Portals can be national, regional, local or domain specific. They cover the 28 EU Member States, EEA, countries involved in the EU's neighbourhood policy and Switzerland. https://www.europeandataportal.eu/]]></skos:example>
     <eira:iopSaliency><![CDATA[The Data Pubblication Service ABB  is salient for technical interoperability because it provides the functionalities to make public data freely available for use and reuse by others unless restriction aoply as stated in the EIF recommendation n.2: "Publish the data you own as open data unless certain restrictions apply."]]></eira:iopSaliency>
     <skos:note><![CDATA[]]></skos:note>
     <eira:concept>eira:ArchitectureBuildingBlock</eira:concept>
@@ -13590,7 +13590,7 @@ ABB name: eira:SolutionSpecificationDataObject
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Controlled Vocabulary ABB is a Data Object that enables a carefully curated set of terms used to describe concepts or objects in a specific field or domain. It is a standardized list of terms that are used to ensure consistency and accuracy in the indexing, searching, and retrieval of information
 
-Source: Portal
+Source: Interoperable Europe Portal
 
 Source reference: https://joinup.ec.europa.eu/collection/catalogue-services/document/controlled-vocabularies
 
@@ -13627,7 +13627,7 @@ Last modification: 2022-17-01
     <dcterms:modified>2022-01-17</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Controlled Vocabulary ABB is a Data Object that enables a carefully curated set of terms used to describe concepts or objects in a specific field or domain. It is a standardized list of terms that are used to ensure consistency and accuracy in the indexing, searching, and retrieval of information]]></skos:definition>
-    <eira:definitionSource>Portal</eira:definitionSource>
+    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/collection/catalogue-services/document/controlled-vocabularies]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): EuroVoc - EuroVoc is a multilingual, multidisciplinary thesaurus covering the activities of the EU, the European Parliament in particular. It contains terms in 23 EU languages (Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hungarian, Italian, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Slovak, Slovenian, Spanish and Swedish), plus in three languages of countries which are candidates for EU accession: македонски (mk), shqip (sq) and cрпски (sr). (https://op.europa.eu/en/web/eu-vocabularies/th-dataset/-/resource/dataset/eurovoc)]]></skos:example>
     <eira:iopSaliency><![CDATA[The Controlled Vocabulary ABB is salient for semantic interoperability because it ensures compatible interpretations of words and phrases used to index content and/or to retrieve content through browsing or searching.]]></eira:iopSaliency>
@@ -13699,7 +13699,7 @@ Last modification: 2022-17-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Ontologies Catalogue ABB is a Data Object aiming at indexing the collection of ontologies with comprehensiveness and trustiness value
 
-Source: Portal
+Source: Interoperable Europe Portal
 
 Source reference: https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fOntologiesCatalogue
 
@@ -13736,7 +13736,7 @@ Last modification: 2023-16-01
     <dcterms:modified>2023-01-16</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Ontologies Catalogue ABB is a Data Object aiming at indexing the collection of ontologies with comprehensiveness and trustiness value]]></skos:definition>
-    <eira:definitionSource>Portal</eira:definitionSource>
+    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fOntologiesCatalogue]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): BioPortal - BioPortal is a repository of over 300 biomedical ontologies and includes tools for working with these ontologies. Holds most widely used Biomedical ontologies. Allows ontologies to be browsed, searched, and reviewed. Allows uses to create notes on ontologies terms. Allows arbitrary text to be annotated with ontology terms. Also supports search of biomedical resources (e.g. PubMed) for combinations of terms from ontologies. Allows programmatic access to ontologies through a REST interface.(http://bioportal.bioontology.org/)]]></skos:example>
     <eira:iopSaliency><![CDATA[The Ontologies catalogue ABB is a key interoperability enabler (*) for structural interoperability because it ensures the provision/consumption of ontologies by digital public services.]]></eira:iopSaliency>
@@ -14652,7 +14652,7 @@ Source reference: https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX
 
 Additional information: It is useful to remember that when a common interconnecting infrastructure for base registries is available, legislation is used to force its use. The use of interconnecting infrastructure prevents the proliferation of pointto-point interconnections. Stakeholders should be involved in developing the legislation and be given enough time to prepare for implementation.
 
-Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Union Data Portal - The European Union Open Data Portal (EU ODP) gives you access to open data published by EU institutions and bodies. All the data you can find via this catalogue are free to use and reuse for commercial or non-commercial purposes. (https://data.europa.eu/euodp/data/dataset)
+Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Union Data Interoperable Europe Portal - The European Union Open Data Interoperable Europe Portal (EU ODP) gives you access to open data published by EU institutions and bodies. All the data you can find via this catalogue are free to use and reuse for commercial or non-commercial purposes. (https://data.europa.eu/euodp/data/dataset)
 
 IoP Dimension: Structural IoP
 
@@ -14689,7 +14689,7 @@ Last modification: 2022-16-01
     <skos:definition><![CDATA[Dataset ABB is a Data Object representing a collection of related data that is organized and presented in a structured format]]></skos:definition>
     <eira:definitionSource>Inpired in the Open Data and Re-use of public sector inforamtion directive</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32019L1024&from=EN#d1e1012-56-1]]></eira:definitionSourceReference>
-    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Union Data Portal - The European Union Open Data Portal (EU ODP) gives you access to open data published by EU institutions and bodies. All the data you can find via this catalogue are free to use and reuse for commercial or non-commercial purposes. (https://data.europa.eu/euodp/data/dataset)]]></skos:example>
+    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Union Data Interoperable Europe Portal - The European Union Open Data Interoperable Europe Portal (EU ODP) gives you access to open data published by EU institutions and bodies. All the data you can find via this catalogue are free to use and reuse for commercial or non-commercial purposes. (https://data.europa.eu/euodp/data/dataset)]]></skos:example>
     <eira:iopSaliency><![CDATA[The Data Set ABB is salient for semantic interoperability because it provides a collection of data to be shared or exchanged between ICT systmes as stated in the EIF recommendation n° 30: "Perceive data and information as a public asset that should be appropriately generated, collected, managed, shared, protected and preserved."]]></eira:iopSaliency>
     <skos:note><![CDATA[It is useful to remember that when a common interconnecting infrastructure for base registries is available, legislation is used to force its use. The use of interconnecting infrastructure prevents the proliferation of pointto-point interconnections. Stakeholders should be involved in developing the legislation and be given enough time to prepare for implementation.]]></skos:note>
     <eira:concept>eira:ArchitectureBuildingBlock</eira:concept>
@@ -14705,7 +14705,7 @@ Last modification: 2022-16-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Software Components Catalogue ABB is a Data Object aiming to index information about collaborative spaces that offfers eGoverment solutions and best practices.
 
-Source: Portal
+Source: Interoperable Europe Portal
 
 Source reference: https://joinup.ec.europa.eu/topic/ict/reusable-software-components
 
@@ -14740,7 +14740,7 @@ Last modification: 2022-20-01
     <dcterms:modified>2022-01-20</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Software Components Catalogue ABB is a Data Object aiming to index information about collaborative spaces that offfers eGoverment solutions and best practices.]]></skos:definition>
-    <eira:definitionSource>Portal</eira:definitionSource>
+    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/topic/ict/reusable-software-components]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example of how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Software ReUse Catalogue (Belgium) https://joinup.ec.europa.eu/collection/belgian-interoperability-catalogue/solution/ict-reuse/about]]></skos:example>
     <eira:iopSaliency><![CDATA[The Software Components Catalogue Data Object ABB is salient for semantic interoperability because it can act as a repository with descriptive data about digital solutions and interoperable solutions and best practices. This can contribute to expanding and enabling the reuse of artefacts, solutions, and services to implement new digital public services without starting from scratch. The reuse of such elements can infer knowledge and best practices from the collaboration between parties.]]></eira:iopSaliency>
@@ -18197,7 +18197,7 @@ Synonym:
 
 Additional information:
 
-Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The Single Digital Gateway from the European Commission is implemented via Your Europe Portal. This portal allows searching and exchanging information from businesses at the European and national level.  information from EU and member states. https://europa.eu/youreurope/index_en.htm
+Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The Single Digital Gateway from the European Commission is implemented via Your Europe Interoperable Europe Portal. This portal allows searching and exchanging information from businesses at the European and national level.  information from EU and member states. https://europa.eu/youreurope/index_en.htm
 
 IoP Dimension:
 
@@ -18231,7 +18231,7 @@ Last modification:
     <skos:definition><![CDATA[Gateway ABB is a Technology Service that enables the implementation of a component that converts information, data or other communications from one protocol or format to another]]></skos:definition>
     <eira:definitionSource>Gartner</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://www.gartner.com/en/information-technology/glossary/gateway]]></eira:definitionSourceReference>
-    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The Single Digital Gateway from the European Commission is implemented via Your Europe Portal. This portal allows searching and exchanging information from businesses at the European and national level.  information from EU and member states. https://europa.eu/youreurope/index_en.htm]]></skos:example>
+    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The Single Digital Gateway from the European Commission is implemented via Your Europe Interoperable Europe Portal. This portal allows searching and exchanging information from businesses at the European and national level.  information from EU and member states. https://europa.eu/youreurope/index_en.htm]]></skos:example>
     <eira:iopSaliency><![CDATA[Gateway ABB is salient for technical interoperability because it physically transforms information, data and other communications from one protocol or format into another standard protocol format.]]></eira:iopSaliency>
     <skos:note><![CDATA[]]></skos:note>
     <eira:concept>eira:ArchitectureBuildingBlock</eira:concept>
@@ -19012,7 +19012,7 @@ EIRA concept: eira:ArchitectureBuildingBlock
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: API Gateway ABB is a Technology Service that implements the behaviour of acting as a single entry point for multiple APIs (Application Programming Interfaces)
 
-Source: Inspired in Portal
+Source: Inspired in Interoperable Europe Portal
 
 Source reference: https://joinup.ec.europa.eu/collection/api4dt/about
 
@@ -19046,7 +19046,7 @@ Last modification: 2022-31-01
     <dcterms:modified>2022-01-31</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[API Gateway ABB is a Technology Service that implements the behaviour of acting as a single entry point for multiple APIs (Application Programming Interfaces)]]></skos:definition>
-    <eira:definitionSource>Inspired in Portal</eira:definitionSource>
+    <eira:definitionSource>Inspired in Interoperable Europe Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/collection/api4dt/about]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): API Gateway Authentication Bundle. It authenticates requests from European Commission service API Gateway. https://joinup.ec.europa.eu/collection/ecphp/solution/api-gw-authentication-php/about]]></skos:example>
     <eira:iopSaliency><![CDATA[API Gateway ABB is salient for semantic interoperability due to its setting up the rules to share multiple public administration digital services to facilitate their accessibility, discovery and sharing across platforms (catalogue of APIs). These rules follow up existing standards and common practices in the API documentation and accessibility (Open APIs description).]]></eira:iopSaliency>
@@ -19236,7 +19236,7 @@ The new European Interoperability Framework (EIF) is part of the Communication (
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 EULF compliance ABB is a Principle consisting of a package of case studies, specifications, guidelines, training materials, recommendations and actions required by public administrations and stakeholder communities to facilitate the implementation, use and expansion of INSPIRE in an e-government context.
 
-Source: Portal
+Source: Interoperable Europe Portal
 (https://joinup.ec.europa.eu/sites/default/files/news/attachment/jrc103110_1-dc246-d3.2_eulf_guideline_on_location_privacy_v1.00_final_-_pubsy.pdf)
 
 EXAMPLES:
@@ -19494,7 +19494,7 @@ The following implementation is an example on how this specific Architecture Bui
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 User-centricity ABB is a Principle refering to putting users’ needs at the centre when determining which public services should be provided and how they should be delivered. Therefore, as far as possible, user needs and requirements should guide the design and development of public services, in accordance with the following expectations: i A multi-channel service delivery approach; ii A single point of contact should be made available to users; iii Users’ feedback should be systematically collected, assessed and used to design new public services and to further improve existing ones.
 
-Source: Portal
+Source: Interoperable Europe Portal
 (https://joinup.ec.europa.eu/collection/nifo-national-interoperability-framework-observatory/glossary/term/user-centricity)
 
 EXAMPLES:
@@ -19593,7 +19593,7 @@ Administrative Simplification ABB is a Principle refering to streamlined deliver
 - Proportional approach to control
 - Simplification of solutions
 
-Source: Portal
+Source: Interoperable Europe Portal
 (https://joinup.ec.europa.eu/collection/nifo-national-interoperability-framework-observatory/glossary/term/administrative-simplification)
 
 EXAMPLES:
@@ -20282,7 +20282,7 @@ Source:(https://www.brainkart.com/article/Functional-Requirements---Software-Arc
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Legal Interoperability Requirement ABB is a Requirement that must be met to help achieve legal interoperability.
 
-Source: Portal
+Source: Interoperable Europe Portal
 (https://joinup.ec.europa.eu/sites/default/files/document/2019-06/High-level%20Interoperability%20Requirements%20Solution%20Architecture%20Template%20%28HL%20SAT%29%20Design%20Guidelines_0.pdf)
 
 EXAMPLES:
@@ -20315,7 +20315,7 @@ Source: (https://ec.europa.eu/eusurvey/runner/SIQAT_v200?startQuiz=true&surveyla
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Organisational Interoperability Requirement ABB is a Requirement that must be met to help achieve organisational interoperability.
 
-Source: Portal
+Source: Interoperable Europe Portal
 (https://joinup.ec.europa.eu/sites/default/files/document/2019-06/High-level%20Interoperability%20Requirements%20Solution%20Architecture%20Template%20%28HL%20SAT%29%20Design%20Guidelines_0.pdf)
 
 EXAMPLES:
@@ -20348,7 +20348,7 @@ Source: (https://ec.europa.eu/eusurvey/runner/SIQAT_v200?startQuiz=true&surveyla
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Technical Interoperability Requirement ABB is a Requirement that must be met to help achieve technical interoperability.
 
-Source: Portal
+Source: Interoperable Europe Portal
 (https://joinup.ec.europa.eu/sites/default/files/document/2019-06/High-level%20Interoperability%20Requirements%20Solution%20Architecture%20Template%20%28HL%20SAT%29%20Design%20Guidelines_0.pdf)
 
 EXAMPLES:
@@ -20381,7 +20381,7 @@ Source: (https://ec.europa.eu/eusurvey/runner/SIQAT_v200?startQuiz=true&surveyla
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Semantic Interoperability Requirement ABB is a Requirement that must be met to help achieve semantic interoperability.
 
-Source: Portal
+Source: Interoperable Europe Portal
 (https://joinup.ec.europa.eu/sites/default/files/document/2019-06/High-level%20Interoperability%20Requirements%20Solution%20Architecture%20Template%20%28HL%20SAT%29%20Design%20Guidelines_0.pdf)
 
 EXAMPLES:
@@ -20657,7 +20657,7 @@ Source reference: http://eur-lex.europa.eu/resource.html?uri=cellar:2c2f2554-0fa
 
 Additional information: Studying the implementation orientation facilitate Member States in understanding the implementation impacts on the interoperability and the functioning of the digital public services from different perspectives.
 
-Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The four implementation orientations identified in IDPSIO, integration, technology, governance, and legal (see the Portal IDPSIO solution home page: https://joinup.ec.europa.eu/collection/european-interoperability-reference-architecture-eira/solution/egovera/release/v210).
+Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The four implementation orientations identified in IDPSIO, integration, technology, governance, and legal (see the Interoperable Europe Portal IDPSIO solution home page: https://joinup.ec.europa.eu/collection/european-interoperability-reference-architecture-eira/solution/egovera/release/v210).
 
 IoP Dimension: Governance IoP
 
@@ -20690,7 +20690,7 @@ Last modification: 2022-12-01
     <skos:definition><![CDATA[Interoperable Digital Public Service Implementation Orientation ABB is a Constraint that implements the approach that a digital public service owner has to follow to implement their digital public services.]]></skos:definition>
     <eira:definitionSource>European Interoperability Framework (EIF)</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[http://eur-lex.europa.eu/resource.html?uri=cellar:2c2f2554-0faf-11e7-8a35-01aa75ed71a1.0017.02/DOC_3&format=PDF]]></eira:definitionSourceReference>
-    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The four implementation orientations identified in IDPSIO, integration, technology, governance, and legal (see the Portal IDPSIO solution home page: https://joinup.ec.europa.eu/collection/european-interoperability-reference-architecture-eira/solution/egovera/release/v210).]]></skos:example>
+    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The four implementation orientations identified in IDPSIO, integration, technology, governance, and legal (see the Interoperable Europe Portal IDPSIO solution home page: https://joinup.ec.europa.eu/collection/european-interoperability-reference-architecture-eira/solution/egovera/release/v210).]]></skos:example>
     <eira:iopSaliency><![CDATA[Interoperable Digital Public Service Implementation Orientation ABB is salient for governance interoperability because it supports digital public service owners in deciding the approach to follow to implement their digital public services.]]></eira:iopSaliency>
     <skos:note><![CDATA[Studying the implementation orientation facilitate Member States in understanding the implementation impacts on the interoperability and the functioning of the digital public services from different perspectives.]]></skos:note>
     <eira:concept>eira:ArchitectureBuildingBlock</eira:concept>
@@ -25053,7 +25053,7 @@ Last modification: 2023-10-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Shared Infrastructure Content ABB is a Grouping that refers to the set of tools and services that pools IT infrastructure provided by the service provider (e.g. hardware, operating system software, associated operating processes and tools) that can be physically used by several users at the time, thus being "shared". In particular, the service provider ensures compliance with all security standards and the logical separation of data and applications
 
-Source: Portal
+Source: Interoperable Europe Portal
 
 Source reference: https://joinup.ec.europa.eu/collection/nifo-national-interoperability-framework-observatory/glossary/term/shared-infrastructure
 
@@ -25091,7 +25091,7 @@ Last modification: 2022-31-01
     <dcterms:modified>2022-01-31</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Shared Infrastructure Content ABB is a Grouping that refers to the set of tools and services that pools IT infrastructure provided by the service provider (e.g. hardware, operating system software, associated operating processes and tools) that can be physically used by several users at the time, thus being "shared". In particular, the service provider ensures compliance with all security standards and the logical separation of data and applications]]></skos:definition>
-    <eira:definitionSource>Portal</eira:definitionSource>
+    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/collection/nifo-national-interoperability-framework-observatory/glossary/term/shared-infrastructure]]></eira:definitionSourceReference>
     <skos:example><![CDATA[]]></skos:example>
     <eira:iopSaliency><![CDATA[Shared Infrastructure Content ABB is a key interoperability enabler (*) for structural, behavioural and governance interoperability. It is salient for technical interoperability because it determines the tools and services that can be used by stakeholders or other digital services to interconnect services and data. This ABB also technically establish security standards compliance to deliver such public services.]]></eira:iopSaliency>
diff --git a/scripts/composer/post_install b/scripts/composer/post_install
index 381a73ec8e..ce9cb493c2 100755
--- a/scripts/composer/post_install
+++ b/scripts/composer/post_install
@@ -16,7 +16,7 @@ then
   exit 0;
 fi
 
-# Parse and save the Portal version.
+# Parse and save the Interoperable Europe Portal version.
 test \"`git rev-parse --is-shallow-repository`\" = \"false\" || git fetch --unshallow
 git describe --tags 2>/dev/null | tr -d '\\n' > web/VERSION.txt
 
diff --git a/src/CodingStandards/Sniffs/NamingConventions/ValidUpdateNameSniff.php b/src/CodingStandards/Sniffs/NamingConventions/ValidUpdateNameSniff.php
index f87a1130f0..8530e75d80 100644
--- a/src/CodingStandards/Sniffs/NamingConventions/ValidUpdateNameSniff.php
+++ b/src/CodingStandards/Sniffs/NamingConventions/ValidUpdateNameSniff.php
@@ -14,13 +14,13 @@
 /**
  * Checks the naming of (post)update/deploy functions.
  *
- * Portal offers only _contiguous upgrades_. For instance, if your project is
- * currently on Portal `v1.39.2`, and the latest stable version is `v1.42.0`,
+ * Interoperable Europe Portal offers only _contiguous upgrades_. For instance, if your project is
+ * currently on Interoperable Europe Portal `v1.39.2`, and the latest stable version is `v1.42.0`,
  * then you cannot upgrade directly to the latest version. Instead, you should
  * upgrade first to `v1.40.0`, second to `v1.40.1` (if exists) and, finally, to
  * `v1.42.0`.
  *
- * The Portal update, post-update and deploy scripts namings are following this
+ * The Interoperable Europe Portal update, post-update and deploy scripts namings are following this
  * pattern:
  * @code
  * function mymodule_update_106100() {...}
@@ -38,19 +38,19 @@
  * - The last two digits are an integer that sets the weight within updates or
  *   post updates from the same extension (module or profile). `00` is the first
  *   (post)update/deploy that applies.
- * - The middle three digits are the Portal minor version.
- * - The first one or two digits are the Portal major version. It cannot start
+ * - The middle three digits are the Interoperable Europe Portal minor version.
+ * - The first one or two digits are the Interoperable Europe Portal major version. It cannot start
  *   with '0'.
  *
  * Given the above example:
  *
- * - `function mymodule_update_106100() {...}`: Was applied in Portal `v1.61.x`
+ * - `function mymodule_update_106100() {...}`: Was applied in Interoperable Europe Portal `v1.61.x`
  *   as the first update of the `mymodule` module (`1` major version, `061`
  *   minor version, `00` update weight within the module).
- * - `function mymodule_post_update_207503() {...}`: Was applied in Portal
+ * - `function mymodule_post_update_207503() {...}`: Was applied in Interoperable Europe Portal
  *   `v2.75.x` as the fourth post update of the `mymodule` module (`2` major
  *   version, `075` minor version, `03` post-update weight within the module).
- * - `function mymodule_deploy_1008101() {...}`: Was applied in Portal
+ * - `function mymodule_deploy_1008101() {...}`: Was applied in Interoperable Europe Portal
  *   `v10.81.x` as the second deploy of the `mymodule` module (`10` major
  *   version, `081` minor version, `01` deploy weight within the module).
  *
@@ -117,7 +117,7 @@ protected function processTokenOutsideScope(File $phpcsFile, $stackPtr): void {
 
     $error = NULL;
     if (!ctype_digit($name) || !in_array(strlen($name), [6, 7])) {
-      $error = "Invalid '%s' identifier. Expected 6 or 7 digits:\n- 1-2 digits: Portal major version\n- 3 digits: Portal minor version\n- 2 digits: The %s weight";
+      $error = "Invalid '%s' identifier. Expected 6 or 7 digits:\n- 1-2 digits: Interoperable Europe Portal major version\n- 3 digits: Interoperable Europe Portal minor version\n- 2 digits: The %s weight";
       $data = [$name, $updateType];
     }
     elseif ($name[0] === '0') {
diff --git a/src/Composer/load.environment.php b/src/Composer/load.environment.php
index b77a84a4ea..09af9c8604 100644
--- a/src/Composer/load.environment.php
+++ b/src/Composer/load.environment.php
@@ -21,9 +21,9 @@ function (string $file) use ($path): bool {
     return file_exists("{$path}/{$file}");
   }
 );
-// Portal has been instructed by the devops team to use getenv() to import
+// Interoperable Europe Portal has been instructed by the devops team to use getenv() to import
 // environment variables in settings.php, so we need to use the unsafe method.
-// This means Portal is not intended to be used in environments that use
+// This means Interoperable Europe Portal is not intended to be used in environments that use
 // php-fpm. Also, this file should not be included on any production environment
 // for performance reasons.
 // @see https://github.com/vlucas/phpdotenv/issues/446
diff --git a/src/Drush/Commands/JoinupDrushCommands.php b/src/Drush/Commands/JoinupDrushCommands.php
index 7219a09634..99e1811e08 100644
--- a/src/Drush/Commands/JoinupDrushCommands.php
+++ b/src/Drush/Commands/JoinupDrushCommands.php
@@ -12,7 +12,7 @@
 use Drush\Commands\DrushCommands;
 
 /**
- * Specific commands to run on Portal code deployment.
+ * Specific commands to run on Interoperable Europe Portal code deployment.
  */
 class JoinupDrushCommands extends DrushCommands {
 
diff --git a/src/TaskRunner/Commands/JoinupEnvironmentCommands.php b/src/TaskRunner/Commands/JoinupEnvironmentCommands.php
index 0b2042c9f3..72bf714396 100644
--- a/src/TaskRunner/Commands/JoinupEnvironmentCommands.php
+++ b/src/TaskRunner/Commands/JoinupEnvironmentCommands.php
@@ -15,17 +15,17 @@
 use Robo\Robo;
 
 /**
- * Portal Environment Commands.
+ * Interoperable Europe Portal Environment Commands.
  */
 class JoinupEnvironmentCommands extends AbstractCommands {
 
   /**
-   * Displays information about Portal environment.
+   * Displays information about Interoperable Europe Portal environment.
    *
    * @command joinup:environment
    *
    * @return string
-   *   A table with Portal environment info.
+   *   A table with Interoperable Europe Portal environment info.
    */
   public function joinupEnvironment(): string {
     $php_version = phpversion();
@@ -40,7 +40,7 @@ public function joinupEnvironment(): string {
       " Selenium {$this->seleniumVersion()}\n" .
       " Node     {$this->nodeVersion()}\n" .
       " NPM      {$this->npmVersion()}\n" .
-      " Portal   {$this->joinupVersion()}";
+      " Interoperable Europe Portal   {$this->joinupVersion()}";
   }
 
   /**
@@ -109,10 +109,10 @@ protected function solrVersion(): string {
   }
 
   /**
-   * Returns the Portal version.
+   * Returns the Interoperable Europe Portal version.
    *
    * @return string
-   *   The Portal version.
+   *   The Interoperable Europe Portal version.
    */
   protected function joinupVersion(): string {
     $config = $this->getConfig();
diff --git a/src/TaskRunner/Commands/VirtuosoCommands.php b/src/TaskRunner/Commands/VirtuosoCommands.php
index 9938c8cccd..3b3bfed4b6 100644
--- a/src/TaskRunner/Commands/VirtuosoCommands.php
+++ b/src/TaskRunner/Commands/VirtuosoCommands.php
@@ -9,7 +9,7 @@
 use Robo\Sparql\Tasks\Sparql\loadTasks;
 
 /**
- * Provides Portal specific commands for Virtuoso backend.
+ * Provides Interoperable Europe Portal specific commands for Virtuoso backend.
  */
 class VirtuosoCommands extends AbstractCommands {
 
diff --git a/tests/features/adms_ap_compliance.feature b/tests/features/adms_ap_compliance.feature
index d770ae64e3..60cb074b78 100644
--- a/tests/features/adms_ap_compliance.feature
+++ b/tests/features/adms_ap_compliance.feature
@@ -1,5 +1,5 @@
 @api
-Feature: Portal should be ADMS-AP compliant.
+Feature: Interoperable Europe Portal should be ADMS-AP compliant.
 
   Scenario: Validate the entities in the published graph.
     Given users:
@@ -47,4 +47,4 @@ Feature: Portal should be ADMS-AP compliant.
       | title      | description                    | creation date    | access url                        | release | downloads | licence     | format | status    | representation technique | state     |
       | Omega3.zip | The zipped version of Omega 3. | 2017-11-11T11:20 | http://www.example.org/omega3.zip | Omega3  | 232       | Foo licence | ZIP    | Completed | Datalog                  | published |
       | Omega3.rdf | The RDF version of Omega 3.    | 2017-11-11T11:20 | empty.rdf                         | Omega3  | 232       | Foo licence | ZIP    | Completed | Datalog                  | published |
-    Then the ADMS-AP data of the published entities in Portal is valid
+    Then the ADMS-AP data of the published entities in Interoperable Europe Portal is valid
diff --git a/tests/features/collection/collection.member_administration.feature b/tests/features/collection/collection.member_administration.feature
index 5d4ac69eb0..43686b5851 100644
--- a/tests/features/collection/collection.member_administration.feature
+++ b/tests/features/collection/collection.member_administration.feature
@@ -43,14 +43,14 @@ Feature: Collection membership administration
     And I go to the "Medical diagnosis" collection
     And I press "Join this collection"
     Then I should see the success message "Your membership to the Medical diagnosis collection is under approval."
-    And the email sent to "Lisa Cuddy" with subject "Portal: A user has requested to join your collection" contains the following lines of text:
+    And the email sent to "Lisa Cuddy" with subject "Interoperable Europe Portal: A user has requested to join your collection" contains the following lines of text:
       | Donald Duck has requested to join your collection "Medical diagnosis" as a member. |
       | To approve or reject this request, click on                                        |
-      | If you think this action is not clear or not due, please contact Portal Support at |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at |
       | /collection/medical-diagnosis/members                                              |
     And the following email should have been sent:
       | recipient | Turkey Ham                                                                         |
-      | subject   | Portal: A user has requested to join your collection                               |
+      | subject   | Interoperable Europe Portal: A user has requested to join your collection                               |
       | body      | Donald Duck has requested to join your collection "Medical diagnosis" as a member. |
 
   Scenario: Approve a membership
@@ -88,12 +88,12 @@ Feature: Collection membership administration
     Then I should see the following success messages:
       | success messages                                         |
       | Approve the pending membership(s) was applied to 1 item. |
-    And the email sent to "Kathie Cumbershot" with subject "Portal: Your request to join the collection Medical diagnosis was approved" contains the following lines of text:
+    And the email sent to "Kathie Cumbershot" with subject "Interoperable Europe Portal: Your request to join the collection Medical diagnosis was approved" contains the following lines of text:
       | Lisa Cuddy has approved your request to join the "Medical diagnosis" collection |
-    But the email sent to "Kathie Cumbershot" with subject "Portal: Your request to join the collection Medical diagnosis was approved" should not contain the following lines of text:
+    But the email sent to "Kathie Cumbershot" with subject "Interoperable Europe Portal: Your request to join the collection Medical diagnosis was approved" should not contain the following lines of text:
       | You will receive weekly notifications for newly created content on this collection. |
       | To manage your notifications go to "My subscriptions" in the user menu.             |
-      | If you think this action is not clear or not due, please contact Portal Support at  |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at  |
 
     # Check new privileges.
     When I am logged in as "Kathie Cumbershot"
@@ -124,11 +124,11 @@ Feature: Collection membership administration
     Then I should see the following success messages:
       | success messages                                         |
       | Approve the pending membership(s) was applied to 1 item. |
-    And the email sent to "Cam Bridge" with subject "Portal: Your request to join the collection Medical diagnosis was approved" contains the following lines of text:
+    And the email sent to "Cam Bridge" with subject "Interoperable Europe Portal: Your request to join the collection Medical diagnosis was approved" contains the following lines of text:
       | Lisa Cuddy has approved your request to join and subscribe to the "Medical diagnosis" collection |
       | You will receive weekly notifications for newly created content on this collection.              |
       | To manage your notifications go to "My subscriptions" in the user menu.                          |
-      | If you think this action is not clear or not due, please contact Portal Support at               |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at               |
 
     When I am logged in as "Cam Bridge"
     When I click the "My subscriptions" link from the email sent to "Cam Bridge"
@@ -160,7 +160,7 @@ Feature: Collection membership administration
       | The member Kathie Cumbershot has been deleted from the 'Medical diagnosis' collection. |
     And the following email should have been sent:
       | recipient | Kathie Cumbershot                                                               |
-      | subject   | Portal: Your request to join the collection Medical diagnosis was rejected      |
+      | subject   | Interoperable Europe Portal: Your request to join the collection Medical diagnosis was rejected      |
       | body      | Lisa Cuddy has rejected your request to join the "Medical diagnosis" collection |
 
     # Delete multiple members from collection.
diff --git a/tests/features/collection/collection.membership_management.feature b/tests/features/collection/collection.membership_management.feature
index f21da7ac04..7dc6fd0977 100644
--- a/tests/features/collection/collection.membership_management.feature
+++ b/tests/features/collection/collection.membership_management.feature
@@ -1,28 +1,28 @@
 @api @joinup_collection @group-a
-Feature: Tests membership to Portal collection.
+Feature: Tests membership to Interoperable Europe Portal collection.
 
   Background:
     Given the following collections:
       | title                   | state     |
       | An arbitrary collection | published |
 
-  Scenario: As a newly registered user, I'm automatically member of the 'Portal'
+  Scenario: As a newly registered user, I'm automatically member of the 'Interoperable Europe Portal'
     collection and I cannot leave.
 
     Given I am logged in as a user with the member role of the "An arbitrary collection" collection
-    Then I am member of "Portal" collection
+    Then I am member of "Interoperable Europe Portal" collection
 
     And I go to the homepage of the "An arbitrary collection" collection
     Then I should see the link "Leave this collection"
 
-    When I go to the homepage of the "Portal" collection
+    When I go to the homepage of the "Interoperable Europe Portal" collection
     Then I should not see the link "Leave this collection"
 
-    When I am about to leave the "Portal" collection
+    When I am about to leave the "Interoperable Europe Portal" collection
     Then I should get an access denied error
 
   Scenario: As a moderator I am able to revoke the membership of a user to any
-    arbitrary collection except 'Portal'.
+    arbitrary collection except 'Interoperable Europe Portal'.
 
     Given users:
       | Username | E-mail           |
@@ -31,8 +31,8 @@ Feature: Tests membership to Portal collection.
     And the following collection user membership:
       | collection              | user |
       | An arbitrary collection | joe  |
-    Then user "joe" is member of "Portal" collection
-    And user "jane" is member of "Portal" collection
+    Then user "joe" is member of "Interoperable Europe Portal" collection
+    And user "jane" is member of "Interoperable Europe Portal" collection
 
     Given I am logged in as a user with the moderator role
     And I am on the members page of "An arbitrary collection"
@@ -47,5 +47,5 @@ Feature: Tests membership to Portal collection.
     When I press "Confirm"
     Then I should see the success message "The member joe has been deleted from the 'An arbitrary collection' collection."
 
-    Given I am on the members page of "Portal"
+    Given I am on the members page of "Interoperable Europe Portal"
     Then the available options in the "Action" select should not include the "Delete the selected membership(s)" options
diff --git a/tests/features/collection/content_negotiation.feature b/tests/features/collection/content_negotiation.feature
index 456a8a9633..51109ecf9a 100644
--- a/tests/features/collection/content_negotiation.feature
+++ b/tests/features/collection/content_negotiation.feature
@@ -1,6 +1,6 @@
 @api @group-clone
 Feature: Export collection metadata
-  As a user of Portal I am able to retrieve the content of entities in a machine readable format.
+  As a user of Interoperable Europe Portal I am able to retrieve the content of entities in a machine readable format.
 
   Scenario Outline: Export node data
     Given licence content:
diff --git a/tests/features/collection/export_metadata.feature b/tests/features/collection/export_metadata.feature
index 94abe85a53..9d3b1e6822 100644
--- a/tests/features/collection/export_metadata.feature
+++ b/tests/features/collection/export_metadata.feature
@@ -1,6 +1,6 @@
 @api @group-a
 Feature: Export collection metadata
-  As a user of Portal I should be able to download the ADMS properties of the collections.
+  As a user of Interoperable Europe Portal I should be able to download the ADMS properties of the collections.
 
   Scenario: Export RDF data
     Given a "licence_type" term with the name "Sample Licence type"
diff --git a/tests/features/collection/notification.collection.feature b/tests/features/collection/notification.collection.feature
index ba1f1f8507..54e625fe28 100644
--- a/tests/features/collection/notification.collection.feature
+++ b/tests/features/collection/notification.collection.feature
@@ -80,7 +80,7 @@ Feature: Notification test for the collection transitions.
     Then the email sent to "NC moderator" with subject "User NC proposed collection NC proposed new" contains the following lines of text:
       | NC User has proposed collection "NC proposed new".                                 |
       | To approve or reject this proposal, please go to                                   |
-      | If you think this action is not clear or not due, please contact Portal Support at |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at |
 
     # Clean up the manually created entities.
     Then I delete the "NC proposed new" collection
@@ -94,7 +94,7 @@ Feature: Notification test for the collection transitions.
     Then the email sent to "NC moderator" with subject "User NC proposed collection NC to propose" contains the following lines of text:
       | NC Owner has proposed collection "NC to propose".                                  |
       | To approve or reject this proposal, please go to                                   |
-      | If you think this action is not clear or not due, please contact Portal Support at |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at |
 
     # Test 'request archival' operation.
     And I go to the homepage of the "NC to request archival" collection
@@ -103,7 +103,7 @@ Feature: Notification test for the collection transitions.
     Then the email sent to "NC moderator" with subject "User NC requested to archive collection NC to request archival" contains the following lines of text:
       | NC Owner has requested to archive the collection "NC to request archival".         |
       | To approve or reject this request, please go to                                    |
-      | If you think this action is not clear or not due, please contact Portal Support at |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at |
 
     # Test deletion of a collection by the owner.
     When I mark all emails as read
@@ -210,5 +210,5 @@ Feature: Notification test for the collection transitions.
       | body      | The collection "NC to delete by mod", of which you are a member, has been deleted. |
     And the following email should have been sent:
       | recipient | NC owner                                                              |
-      | subject   | Portal: Your collection has been deleted by the moderation team       |
-      | body      | The Portal moderation team deleted the collection NC to delete by mod |
+      | subject   | Interoperable Europe Portal: Your collection has been deleted by the moderation team       |
+      | body      | The Interoperable Europe Portal moderation team deleted the collection NC to delete by mod |
diff --git a/tests/features/collection/propose.feature b/tests/features/collection/propose.feature
index 1050dc0234..a11a4c424f 100644
--- a/tests/features/collection/propose.feature
+++ b/tests/features/collection/propose.feature
@@ -1,8 +1,8 @@
 @api @group-a
 Feature: Proposing a collection
-  In order to create a new collection on Portal
+  In order to create a new collection on Interoperable Europe Portal
   As the product owner of a collection of software solutions
-  I need to be able to propose a collection for inclusion on Portal
+  I need to be able to propose a collection for inclusion on Interoperable Europe Portal
 
   # An anonymous user should be shown the option to add a collection, so that
   # the user will be aware that collections can be added by the public, even
diff --git a/tests/features/comments/add_comment.feature b/tests/features/comments/add_comment.feature
index bfab9096de..e6799bbd33 100644
--- a/tests/features/comments/add_comment.feature
+++ b/tests/features/comments/add_comment.feature
@@ -50,23 +50,23 @@ Feature: Add comments
     # The author's full name should be shown, not the username.
     And I should see the link "Miss Tales"
     But I should not see the link "Miss tell tales"
-    And the email sent to "Comment moderator" with subject "Portal: A new comment has been created." contains the following lines of text:
+    And the email sent to "Comment moderator" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Portal Support at http |
-    And the email sent to "Layonel Sarok" with subject "Portal: A new comment has been created." contains the following lines of text:
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
+    And the email sent to "Layonel Sarok" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Portal Support at http |
-    And the email sent to "Korma Salya" with subject "Portal: A new comment has been created." contains the following lines of text:
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
+    And the email sent to "Korma Salya" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Portal Support at http |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
     # Owner receives an email.
-    And the email sent to "Salma Coster" with subject "Portal: A new comment has been created." contains the following lines of text:
+    And the email sent to "Salma Coster" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Portal Support at http |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
 
     # Verify the anchored link works properly.
     When I am logged in as "Comment moderator"
@@ -81,14 +81,14 @@ Feature: Add comments
     When I enter "I am replying in user's comment." in the "Create comment" wysiwyg editor
     And I press "Post comment"
     # Parent comment owner receives an email.
-    And the email sent to "Miss tell tales" with subject "Portal: A new comment has been created." contains the following lines of text:
+    And the email sent to "Miss tell tales" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Salma Coster posted a comment in <parent> "<parent title>".                             |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Portal Support at http |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
     # The owner of the content does not receive a notification due to being the actor.
     And the following email should not have been sent:
       | recipient | Salma Coster                            |
-      | subject   | Portal: A new comment has been created. |
+      | subject   | Interoperable Europe Portal: A new comment has been created. |
       | body      | Salma Coster posted a comment in        |
 
     Examples:
@@ -138,23 +138,23 @@ Feature: Add comments
     # The author's full name should be shown, not the username.
     And I should see the link "Miss Tales"
     But I should not see the link "Miss tell tales"
-    And the email sent to "Comment moderator" with subject "Portal: A new comment has been created." contains the following lines of text:
+    And the email sent to "Comment moderator" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Portal Support at http |
-    And the email sent to "Layonel Sarok" with subject "Portal: A new comment has been created." contains the following lines of text:
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
+    And the email sent to "Layonel Sarok" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Portal Support at http |
-    And the email sent to "Korma Salya" with subject "Portal: A new comment has been created." contains the following lines of text:
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
+    And the email sent to "Korma Salya" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Portal Support at http |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
     # Owner receives an email.
-    And the email sent to "Salma Coster" with subject "Portal: A new comment has been created." contains the following lines of text:
+    And the email sent to "Salma Coster" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Portal Support at http |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
 
     # Verify the anchored link works properly.
     When I am logged in as "Comment moderator"
@@ -169,14 +169,14 @@ Feature: Add comments
     When I enter "I am replying in user's comment." in the "Create comment" wysiwyg editor
     And I press "Post comment"
     # Parent comment owner receives an email.
-    And the email sent to "Miss tell tales" with subject "Portal: A new comment has been created." contains the following lines of text:
+    And the email sent to "Miss tell tales" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Salma Coster posted a comment in <parent> "<parent title>".                             |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Portal Support at http |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
     # The owner of the content does not receive a notification due to being the actor.
     And the following email should not have been sent:
       | recipient | Salma Coster                            |
-      | subject   | Portal: A new comment has been created. |
+      | subject   | Interoperable Europe Portal: A new comment has been created. |
       | body      | Salma Coster posted a comment in        |
 
     Examples:
diff --git a/tests/features/comments/delete_comment.feature b/tests/features/comments/delete_comment.feature
index 3a3f158616..f3b1ffc1e3 100644
--- a/tests/features/comments/delete_comment.feature
+++ b/tests/features/comments/delete_comment.feature
@@ -48,5 +48,5 @@ Feature: Delete comments
     Then I press "Delete"
     Then the following email should have been sent:
       | recipient | Tim Berners Lee                                                                                                                                                  |
-      | subject   | Portal: Your comment has been deleted.                                                                                                                            |
+      | subject   | Interoperable Europe Portal: Your comment has been deleted.                                                                                                                            |
       | body      | Do Re Mi Facilitator deleted your comment in "RDF Schemas for government use". To avoid comment moderation in the future, please read our community guidelines at |
diff --git a/tests/features/comments/edit_comment.feature b/tests/features/comments/edit_comment.feature
index b9f5bd7d5d..6fa3c1e8e9 100644
--- a/tests/features/comments/edit_comment.feature
+++ b/tests/features/comments/edit_comment.feature
@@ -24,6 +24,6 @@ Feature: Edit a comment
     And I click "Edit" in comment #1
     And I fill in "Create comment" with "Cracking the web."
     And I press "Post comment"
-    Then the email sent to "Comment edit moderator" with subject "Portal: A comment has been updated." contains the following lines of text:
+    Then the email sent to "Comment edit moderator" with subject "Interoperable Europe Portal: A comment has been updated." contains the following lines of text:
       | Sons Anarchy updated the comment in "Paying with cash".                            |
-      | If you think this action is not clear or not due, please contact Portal Support at |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at |
diff --git a/tests/features/communities/eupl/jla.feature b/tests/features/communities/eupl/jla.feature
index ce30585696..6e741b9466 100644
--- a/tests/features/communities/eupl/jla.feature
+++ b/tests/features/communities/eupl/jla.feature
@@ -125,12 +125,12 @@ Feature:
       | http://joinup.eu/spdx/LGPL-2.1   | LGPL-2.1   | LGPL-2.1   |
     And licence content:
       | uri                               | title             | spdx licence | legal type                                                            |
-      | http://joinup.eu/licence/apache20 | Portal Apache-2.0 | Apache-2.0   | Strong Community, Royalty free, Modify, Governments/EU, Use/reproduce |
-      | http://joinup.eu/licence/gpl2plus | Portal GPL-2.0+   | GPL-2.0+     | Distribute                                                            |
-      | http://joinup.eu/licence/bsl1     | Portal BSL-1.0    | BSL-1.0      | Distribute, Modify                                                    |
-      | http://joinup.eu/licence/0bsd     | Portal 0BSD       | 0BSD         | Distribute, Royalty free                                              |
-      | http://joinup.eu/licence/upl1     | Portal UPL-1.0    | UPL-1.0      | Distribute, Royalty free, Governments/EU                              |
-      | http://joinup.eu/licence/lgpl21   | Portal LGPL-2.1   | LGPL-2.1     | Distribute, Royalty free, Governments/EU, Place warranty              |
+      | http://joinup.eu/licence/apache20 | Interoperable Europe Portal Apache-2.0 | Apache-2.0   | Strong Community, Royalty free, Modify, Governments/EU, Use/reproduce |
+      | http://joinup.eu/licence/gpl2plus | Interoperable Europe Portal GPL-2.0+   | GPL-2.0+     | Distribute                                                            |
+      | http://joinup.eu/licence/bsl1     | Interoperable Europe Portal BSL-1.0    | BSL-1.0      | Distribute, Modify                                                    |
+      | http://joinup.eu/licence/0bsd     | Interoperable Europe Portal 0BSD       | 0BSD         | Distribute, Royalty free                                              |
+      | http://joinup.eu/licence/upl1     | Interoperable Europe Portal UPL-1.0    | UPL-1.0      | Distribute, Royalty free, Governments/EU                              |
+      | http://joinup.eu/licence/lgpl21   | Interoperable Europe Portal LGPL-2.1   | LGPL-2.1     | Distribute, Royalty free, Governments/EU, Place warranty              |
 
     Given I am an anonymous user
     When I visit the "JLA" custom page
@@ -205,7 +205,7 @@ Feature:
     When I am on "/licence/compare/Apache-2.0;GPL-2.0+;NOT-EXIST"
     Then I should get a 404 HTTP response
 
-    # Test the page with SPDX IDs without a corresponding Portal licence.
+    # Test the page with SPDX IDs without a corresponding Interoperable Europe Portal licence.
     When I am on "/licence/compare/Apache-2.0;GPL-2.0+;BSL-1.0"
     Then I should get a 404 HTTP response
 
@@ -411,9 +411,9 @@ Feature:
       | http://joinup.eu/spdx/BSL-1.0    | BSL-1.0    | BSL-1.0    |
     And licence content:
       | uri                               | title             | spdx licence | legal type                                                            |
-      | http://joinup.eu/licence/apache20 | Portal Apache-2.0 | Apache-2.0   | Strong Community, Royalty free, Modify, Governments/EU, Use/reproduce |
-      | http://joinup.eu/licence/gpl2plus | Portal GPL-2.0+   | GPL-2.0+     | Distribute                                                            |
-      | http://joinup.eu/licence/bsl1     | Portal BSL-1.0    | BSL-1.0      | Distribute, Modify                                                    |
+      | http://joinup.eu/licence/apache20 | Interoperable Europe Portal Apache-2.0 | Apache-2.0   | Strong Community, Royalty free, Modify, Governments/EU, Use/reproduce |
+      | http://joinup.eu/licence/gpl2plus | Interoperable Europe Portal GPL-2.0+   | GPL-2.0+     | Distribute                                                            |
+      | http://joinup.eu/licence/bsl1     | Interoperable Europe Portal BSL-1.0    | BSL-1.0      | Distribute, Modify                                                    |
 
     Given I am an anonymous user
     When I visit the "JLA" custom page
diff --git a/tests/features/communities/eupl/jlc.feature b/tests/features/communities/eupl/jlc.feature
index c7782b36b6..6084f0da6f 100644
--- a/tests/features/communities/eupl/jlc.feature
+++ b/tests/features/communities/eupl/jlc.feature
@@ -32,7 +32,7 @@ Feature:
       | http://joinup.eu/spdx/OFL-1.1          | OFL-1.1          | OFL-1.1          |
       | http://joinup.eu/spdx/OSL-3.0          | OSL-3.0          | OSL-3.0          |
       # The following two are non-existing licences tailored to test cases T17 and T18
-      # since none of the licences that are included in Portal at this time match them.
+      # since none of the licences that are included in Interoperable Europe Portal at this time match them.
       | http://joinup.eu/spdx/DATA             | DATA             | DATA             |
       | http://joinup.eu/spdx/SOFT             | SOFT             | SOFT             |
 
@@ -468,7 +468,7 @@ Feature:
     # Regression test for ISAICP-9014
     Given collection:
       | uri   | http://data.europa.eu/w21/df34e3a2-207b-4910-a804-344931654e20 |
-      | title | Portal                                                         |
+      | title | Interoperable Europe Portal                                                         |
       | state | published                                                      |
     And SPDX licences:
       | uri                             | title     | ID        |
diff --git a/tests/features/community_content/content_sharing.feature b/tests/features/community_content/content_sharing.feature
index 969949dc5f..9dd1cf4178 100644
--- a/tests/features/community_content/content_sharing.feature
+++ b/tests/features/community_content/content_sharing.feature
@@ -359,7 +359,7 @@ Feature: Sharing content between collections
       | Facebook               |
       | Twitter                |
       | Linkedin               |
-      | Other groups on Portal |
+      | Other groups on Interoperable Europe Portal |
     When I check "Gossip"
     And I press "Share" in the "Modal buttons" region
     Then I should see the success message "Item was shared on the following groups: Gossip."
diff --git a/tests/features/community_content/notification.post_moderated.discussion.feature b/tests/features/community_content/notification.post_moderated.discussion.feature
index 679fd3de71..3453b047a0 100644
--- a/tests/features/community_content/notification.post_moderated.discussion.feature
+++ b/tests/features/community_content/notification.post_moderated.discussion.feature
@@ -38,7 +38,7 @@ Feature: Notification test for the discussion transitions on a post moderated pa
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                   |
-      | subject   | Portal: Content has been published                                                                                                                                         |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                                                                                         |
       | body      | CC Member has published the new discussion - "CC notify create publish" in the collection: "CC post collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -48,7 +48,7 @@ Feature: Notification test for the discussion transitions on a post moderated pa
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                       |
-      | subject   | Portal: Content has been published                                                                             |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                             |
       | body      | CC Member has published the new discussion - "CC notify post publish" in the collection: "CC post collection". |
 
     When I am logged in as "CC facilitator"
@@ -60,7 +60,7 @@ Feature: Notification test for the discussion transitions on a post moderated pa
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                         |
-      | subject   | Portal: Content has been updated                                                                                                                                                                                  |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                                  |
       | body      | the Facilitator, CC Facilitator has requested you to modify the discussion - "CC notify post request changes" in the collection: "CC post collection", with the following motivation: "Can you do some changes?". |
 
     When I am logged in as "CC facilitator"
@@ -72,7 +72,7 @@ Feature: Notification test for the discussion transitions on a post moderated pa
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                |
-      | subject   | Portal: Content has been updated                                                                                                                                                                         |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                         |
       | body      | the Facilitator, CC Facilitator has requested you to modify the discussion - "CC notify post report" in the collection: "CC post collection", with the following motivation: "Your content is reported". |
 
     When I mark all emails as read
@@ -83,7 +83,7 @@ Feature: Notification test for the discussion transitions on a post moderated pa
     Then 1 e-mail should have been sent
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                               |
-      | subject   | Portal: Content has been updated                                                                                                                                        |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                        |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the discussion - "CC notify post approve proposed" in the collection: "CC post collection". |
 
     # Test 'delete' operation.
@@ -96,11 +96,11 @@ Feature: Notification test for the discussion transitions on a post moderated pa
     Then 1 e-mail should have been sent
     Then the following email should not have been sent:
       | recipient | CC member                                                                                                                |
-      | subject   | Portal: Content has been deleted                                                                                         |
+      | subject   | Interoperable Europe Portal: Content has been deleted                                                                                         |
       | body      | Facilitator CC Facilitator has deleted the discussion - "CC notify post delete" in the collection: "CC post collection". |
     But the following email should have been sent:
       | recipient | CC member                                                                                                          |
-      | subject   | Portal: The discussion "CC notify post delete" was deleted in the space of "CC post collection"                    |
+      | subject   | Interoperable Europe Portal: The discussion "CC notify post delete" was deleted in the space of "CC post collection"                    |
       | body      | for your information, the discussion "CC notify post delete" was deleted from the "CC post collection" collection. |
 
     Examples:
@@ -138,6 +138,6 @@ Feature: Notification test for the discussion transitions on a post moderated pa
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | Lindsey McCray                                                            |
-      | subject   | Portal: Your collection has been deleted by the moderation team           |
-      | body      | The Portal moderation team deleted the collection Event Horizon Telescope |
+      | subject   | Interoperable Europe Portal: Your collection has been deleted by the moderation team           |
+      | body      | The Interoperable Europe Portal moderation team deleted the collection Event Horizon Telescope |
     And 1 e-mail should have been sent
diff --git a/tests/features/community_content/notification.post_moderated.document.feature b/tests/features/community_content/notification.post_moderated.document.feature
index b312ee0c83..8864880777 100644
--- a/tests/features/community_content/notification.post_moderated.document.feature
+++ b/tests/features/community_content/notification.post_moderated.document.feature
@@ -42,7 +42,7 @@ Feature: Notification test for the document transitions on a post moderated pare
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                            |
-      | subject   | Portal: Content has been published                                                                                                                                  |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                                                                                  |
       | body      | CC Member has published the new document - "CC notify create publish" in the collection: "CC collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -52,7 +52,7 @@ Feature: Notification test for the document transitions on a post moderated pare
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                |
-      | subject   | Portal: Content has been published                                                                      |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                      |
       | body      | CC Member has published the new document - "CC notify post publish" in the collection: "CC collection". |
 
     When I am logged in as "CC facilitator"
@@ -64,7 +64,7 @@ Feature: Notification test for the document transitions on a post moderated pare
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                  |
-      | subject   | Portal: Content has been updated                                                                                                                                                                           |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                           |
       | body      | the Facilitator, CC Facilitator has requested you to modify the document - "CC notify post request changes" in the collection: "CC collection", with the following motivation: "Can you do some changes?". |
 
     When I am logged in as "CC facilitator"
@@ -76,7 +76,7 @@ Feature: Notification test for the document transitions on a post moderated pare
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                         |
-      | subject   | Portal: Content has been updated                                                                                                                                                                  |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                  |
       | body      | the Facilitator, CC Facilitator has requested you to modify the document - "CC notify post report" in the collection: "CC collection", with the following motivation: "Your content is reported". |
 
     When I am logged in as "CC facilitator"
@@ -85,7 +85,7 @@ Feature: Notification test for the document transitions on a post moderated pare
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                        |
-      | subject   | Portal: Content has been updated                                                                                                                                 |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                 |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the document - "CC notify post approve proposed" in the collection: "CC collection". |
 
     # Test 'delete' operation.
@@ -96,7 +96,7 @@ Feature: Notification test for the document transitions on a post moderated pare
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                         |
-      | subject   | Portal: Content has been deleted                                                                                  |
+      | subject   | Interoperable Europe Portal: Content has been deleted                                                                                  |
       | body      | Facilitator CC Facilitator has deleted the document - "CC notify post delete" in the collection: "CC collection". |
 
     Examples:
diff --git a/tests/features/community_content/notification.post_moderated.event.feature b/tests/features/community_content/notification.post_moderated.event.feature
index ad5d625dfe..e88ba3967a 100644
--- a/tests/features/community_content/notification.post_moderated.event.feature
+++ b/tests/features/community_content/notification.post_moderated.event.feature
@@ -42,7 +42,7 @@ Feature: Notification test for the event transitions on a post moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                               |
-      | subject   | Portal: Content has been published                                                                                                                                     |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                                                                                     |
       | body      | CC Member has published the new event - "CC notify create publish" in the collection: "CC post collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -52,7 +52,7 @@ Feature: Notification test for the event transitions on a post moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                  |
-      | subject   | Portal: Content has been published                                                                        |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                        |
       | body      | CC Member has published the new event - "CC notify post publish" in the collection: "CC post collection". |
 
     When I am logged in as "CC facilitator"
@@ -64,7 +64,7 @@ Feature: Notification test for the event transitions on a post moderated parent.
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                    |
-      | subject   | Portal: Content has been updated                                                                                                                                                                             |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                             |
       | body      | the Facilitator, CC Facilitator has requested you to modify the event - "CC notify post request changes" in the collection: "CC post collection", with the following motivation: "Can you do some changes?". |
 
     When I am logged in as "CC facilitator"
@@ -76,7 +76,7 @@ Feature: Notification test for the event transitions on a post moderated parent.
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                           |
-      | subject   | Portal: Content has been updated                                                                                                                                                                    |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                    |
       | body      | the Facilitator, CC Facilitator has requested you to modify the event - "CC notify post report" in the collection: "CC post collection", with the following motivation: "Your content is reported". |
 
     When I am logged in as "CC facilitator"
@@ -85,7 +85,7 @@ Feature: Notification test for the event transitions on a post moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                          |
-      | subject   | Portal: Content has been updated                                                                                                                                   |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                   |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the event - "CC notify post approve proposed" in the collection: "CC post collection". |
 
     # Test 'delete' operation.
@@ -96,7 +96,7 @@ Feature: Notification test for the event transitions on a post moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                           |
-      | subject   | Portal: Content has been deleted                                                                                    |
+      | subject   | Interoperable Europe Portal: Content has been deleted                                                                                    |
       | body      | Facilitator CC Facilitator has deleted the event - "CC notify post delete" in the collection: "CC post collection". |
 
     Examples:
diff --git a/tests/features/community_content/notification.post_moderated.news.feature b/tests/features/community_content/notification.post_moderated.news.feature
index 9ac0326987..69883158a3 100644
--- a/tests/features/community_content/notification.post_moderated.news.feature
+++ b/tests/features/community_content/notification.post_moderated.news.feature
@@ -42,7 +42,7 @@ Feature: Notification test for the news transitions on a post moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                       |
-      | subject   | Portal: Content has been published                                                                                                                             |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                                                                             |
       | body      | CC Member has published the new news - "CCN create publish" in the collection: "CC post collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -52,7 +52,7 @@ Feature: Notification test for the news transitions on a post moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                           |
-      | subject   | Portal: Content has been published                                                                 |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                 |
       | body      | CC Member has published the new news - "CCN post publish" in the collection: "CC post collection". |
 
     When I am logged in as "CC facilitator"
@@ -62,9 +62,9 @@ Feature: Notification test for the news transitions on a post moderated parent.
     Then I should see the error message "This action requires you to fill in the motivation field"
     When I fill in "Motivation" with "Can you do some changes?"
     And I press "Request changes"
-    Then the email sent to "CC member" with subject "Portal: Content has been updated" contains the following lines of text:
+    Then the email sent to "CC member" with subject "Interoperable Europe Portal: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN post request changes" in the collection: "CC post collection", with the following motivation: "Can you do some changes?". |
-      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                                    |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                                                    |
 
     When I am logged in as "CC facilitator"
     And I go to the "CCN post report" news
@@ -73,9 +73,9 @@ Feature: Notification test for the news transitions on a post moderated parent.
     Then I should see the error message "This action requires you to fill in the motivation field"
     When I fill in "Motivation" with "Your content is reported"
     And I press "Request changes"
-    Then the email sent to "CC member" with subject "Portal: Content has been updated" contains the following lines of text:
+    Then the email sent to "CC member" with subject "Interoperable Europe Portal: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN post report" in the collection: "CC post collection", with the following motivation: "Your content is reported". |
-      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                           |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                                           |
 
     When I am logged in as "CC facilitator"
     And I go to the "CCN post approve proposed" news
@@ -83,7 +83,7 @@ Feature: Notification test for the news transitions on a post moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                   |
-      | subject   | Portal: Content has been updated                                                                                                                            |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                            |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the news - "CCN post approve proposed" in the collection: "CC post collection". |
 
     # Test 'delete' operation.
@@ -94,7 +94,7 @@ Feature: Notification test for the news transitions on a post moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                    |
-      | subject   | Portal: Content has been deleted                                                                             |
+      | subject   | Interoperable Europe Portal: Content has been deleted                                                                             |
       | body      | Facilitator CC Facilitator has deleted the news - "CCN post delete" in the collection: "CC post collection". |
 
     Examples:
diff --git a/tests/features/community_content/notification.pre_moderated.discussion.feature b/tests/features/community_content/notification.pre_moderated.discussion.feature
index c9faf41991..c4523cc3d9 100644
--- a/tests/features/community_content/notification.pre_moderated.discussion.feature
+++ b/tests/features/community_content/notification.pre_moderated.discussion.feature
@@ -45,7 +45,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                      |
-      | subject   | Portal: Content has been proposed                                                                                             |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                             |
       | body      | CC Member has submitted a new discussion - "CC notify create propose" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -57,7 +57,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                       |
-      | subject   | Portal: Content has been published                                                                                                                                             |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                                                                                             |
       | body      | CC Facilitator has published the new discussion - "CC notify create publish" in the collection: "CC pre collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -67,7 +67,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                   |
-      | subject   | Portal: Content has been proposed                                                                                          |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                          |
       | body      | CC Member has submitted a new discussion - "CC notify pre propose" for publication in the collection: "CC pre collection". |
 
     When I go to the "CC notify pre propose from reported" discussion
@@ -75,7 +75,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                          |
-      | subject   | Portal: Content has been updated                                                                                                                                                  |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                  |
       | body      | CC Member has updated the content of the discussion - "CC notify pre propose from reported" as advised and requests again its publication in the collection: "CC pre collection". |
 
     When I go to the "CC notify pre request deletion" discussion
@@ -86,7 +86,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Request deletion"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                                |
-      | subject   | Portal: Content has been updated                                                                                                                                                        |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                        |
       | body      | CC Member has requested to delete the discussion - "CC notify pre request deletion" in the collection: "CC pre collection", with the following motivation: "I just want to delete it.". |
 
     When I go to the "CC notify published to revise" discussion
@@ -94,7 +94,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Propose changes"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                      |
-      | subject   | Portal: Content has been proposed                                                                                                             |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                                             |
       | body      | CC Member has submitted an update of the discussion - "CC notify published to revise" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -103,7 +103,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                          |
-      | subject   | Portal: Content has been published                                                                                |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                                |
       | body      | CC Facilitator has published the new discussion - "CC notify pre publish" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -115,11 +115,11 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                       |
-      | subject   | Portal: Content has been updated                                                                                                                                                                                |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                                |
       | body      | the Facilitator, CC Facilitator has requested you to modify the discussion - "CC notify pre request changes" in the collection: "CC pre collection", with the following motivation: "Can you do some changes?". |
     But the following email should not have been sent:
       | recipient | CC owner                                                                                                                                           |
-      | subject   | Portal: Content has been proposed                                                                                                                  |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                                                  |
       | body      | CC Facilitator has submitted an update of the discussion - "CC notify pre request changes" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -131,7 +131,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                              |
-      | subject   | Portal: Content has been updated                                                                                                                                                                       |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                       |
       | body      | the Facilitator, CC Facilitator has requested you to modify the discussion - "CC notify pre report" in the collection: "CC pre collection", with the following motivation: "Your content is reported". |
 
     When I am logged in as "CC facilitator"
@@ -140,7 +140,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                             |
-      | subject   | Portal: Content has been updated                                                                                                                                      |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                      |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the discussion - "CC notify pre approve proposed" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -152,7 +152,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Reject deletion"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                          |
-      | subject   | Portal: Content has been updated                                                                                                                                                                                   |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                                   |
       | body      | the Facilitator, CC Facilitator has not approved your request to delete the discussion - "CC notify pre reject deletion" in the collection: "CC pre collection", with the following motivation: "I still like it". |
 
     # Test 'delete' operation on an entity in 'deletion_request' state.
@@ -163,7 +163,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                            |
-      | subject   | Portal: The discussion "CC notify pre delete" was deleted in the space of "CC pre collection"                    |
+      | subject   | Interoperable Europe Portal: The discussion "CC notify pre delete" was deleted in the space of "CC pre collection"                    |
       | body      | for your information, the discussion "CC notify pre delete" was deleted from the "CC pre collection" collection. |
 
     When I am logged in as "CC facilitator"
@@ -173,7 +173,7 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                      |
-      | subject   | Portal: The discussion "CC notify pre request deletion" was deleted in the space of "CC pre collection"                    |
+      | subject   | Interoperable Europe Portal: The discussion "CC notify pre request deletion" was deleted in the space of "CC pre collection"                    |
       | body      | for your information, the discussion "CC notify pre request deletion" was deleted from the "CC pre collection" collection. |
 
     # Test 'delete' operation on an entity in 'published' state.
@@ -184,5 +184,5 @@ Feature: Notification test for the discussion transitions on a pre moderated par
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                       |
-      | subject   | Portal: The discussion "CC notify published to delete" was deleted in the space of "CC pre collection"                    |
+      | subject   | Interoperable Europe Portal: The discussion "CC notify published to delete" was deleted in the space of "CC pre collection"                    |
       | body      | for your information, the discussion "CC notify published to delete" was deleted from the "CC pre collection" collection. |
diff --git a/tests/features/community_content/notification.pre_moderated.document.feature b/tests/features/community_content/notification.pre_moderated.document.feature
index 465692c819..2f062528a3 100644
--- a/tests/features/community_content/notification.pre_moderated.document.feature
+++ b/tests/features/community_content/notification.pre_moderated.document.feature
@@ -49,7 +49,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                    |
-      | subject   | Portal: Content has been proposed                                                                                           |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                           |
       | body      | CC Member has submitted a new document - "CC notify create propose" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -65,7 +65,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                     |
-      | subject   | Portal: Content has been published                                                                                                                                           |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                                                                                           |
       | body      | CC Facilitator has published the new document - "CC notify create publish" in the collection: "CC pre collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -75,7 +75,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                 |
-      | subject   | Portal: Content has been proposed                                                                                        |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                        |
       | body      | CC Member has submitted a new document - "CC notify pre propose" for publication in the collection: "CC pre collection". |
 
     When I go to the "CC notify pre propose from reported" document
@@ -83,7 +83,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                        |
-      | subject   | Portal: Content has been updated                                                                                                                                                |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                |
       | body      | CC Member has updated the content of the document - "CC notify pre propose from reported" as advised and requests again its publication in the collection: "CC pre collection". |
 
     When I go to the "CC notify pre request deletion" document
@@ -94,7 +94,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Request deletion"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                              |
-      | subject   | Portal: Content has been updated                                                                                                                                                      |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                      |
       | body      | CC Member has requested to delete the document - "CC notify pre request deletion" in the collection: "CC pre collection", with the following motivation: "I just want to delete it.". |
 
     When I go to the "CC notify published to revise" document
@@ -102,7 +102,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Propose changes"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                    |
-      | subject   | Portal: Content has been proposed                                                                                                           |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                                           |
       | body      | CC Member has submitted an update of the document - "CC notify published to revise" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -111,7 +111,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                        |
-      | subject   | Portal: Content has been published                                                                              |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                              |
       | body      | CC Facilitator has published the new document - "CC notify pre publish" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -123,11 +123,11 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                     |
-      | subject   | Portal: Content has been updated                                                                                                                                                                              |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                              |
       | body      | the Facilitator, CC Facilitator has requested you to modify the document - "CC notify pre request changes" in the collection: "CC pre collection", with the following motivation: "Can you do some changes?". |
     But the following email should not have been sent:
       | recipient | CC owner                                                                                                                                         |
-      | subject   | Portal: Content has been proposed                                                                                                                |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                                                |
       | body      | CC Facilitator has submitted an update of the document - "CC notify pre request changes" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -139,7 +139,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                            |
-      | subject   | Portal: Content has been updated                                                                                                                                                                     |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                     |
       | body      | the Facilitator, CC Facilitator has requested you to modify the document - "CC notify pre report" in the collection: "CC pre collection", with the following motivation: "Your content is reported". |
 
     When I am logged in as "CC facilitator"
@@ -148,7 +148,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                           |
-      | subject   | Portal: Content has been updated                                                                                                                                    |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                    |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the document - "CC notify pre approve proposed" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -160,7 +160,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Reject deletion"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                        |
-      | subject   | Portal: Content has been updated                                                                                                                                                                                 |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                                 |
       | body      | the Facilitator, CC Facilitator has not approved your request to delete the document - "CC notify pre reject deletion" in the collection: "CC pre collection", with the following motivation: "I still like it". |
 
     # Test 'delete' operation on an entity in 'deletion_request' state.
@@ -171,7 +171,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                          |
-      | subject   | Portal: Content has been deleted                                                                                                                   |
+      | subject   | Interoperable Europe Portal: Content has been deleted                                                                                                                   |
       | body      | Facilitator CC Facilitator has approved your request of deletion for the document - "CC notify pre delete" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -181,7 +181,7 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                    |
-      | subject   | Portal: Content has been deleted                                                                                                                             |
+      | subject   | Interoperable Europe Portal: Content has been deleted                                                                                                                             |
       | body      | Facilitator CC Facilitator has approved your request of deletion for the document - "CC notify pre request deletion" in the collection: "CC pre collection". |
 
     # Test 'delete' operation on an entity in 'published' state.
@@ -192,5 +192,5 @@ Feature: Notification test for the document transitions on a pre moderated paren
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                     |
-      | subject   | Portal: Content has been deleted                                                                                              |
+      | subject   | Interoperable Europe Portal: Content has been deleted                                                                                              |
       | body      | Facilitator CC Facilitator has deleted the document - "CC notify published to delete" in the collection: "CC pre collection". |
diff --git a/tests/features/community_content/notification.pre_moderated.event.feature b/tests/features/community_content/notification.pre_moderated.event.feature
index 08e2b8820e..1d3b670c3a 100644
--- a/tests/features/community_content/notification.pre_moderated.event.feature
+++ b/tests/features/community_content/notification.pre_moderated.event.feature
@@ -49,7 +49,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                 |
-      | subject   | Portal: Content has been proposed                                                                                        |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                        |
       | body      | CC Member has submitted a new event - "CC notify create propose" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -65,7 +65,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                   |
-      | subject   | Portal: Content has been published                                                                                                                                         |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                                                                                         |
       | body      | CC Facilitator has published the new event - "CC notify create publish" in the collection: "CC pre collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -75,7 +75,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                              |
-      | subject   | Portal: Content has been proposed                                                                                     |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                     |
       | body      | CC Member has submitted a new event - "CC notify pre propose" for publication in the collection: "CC pre collection". |
 
     When I go to the "CC notify pre propose from reported" event
@@ -83,7 +83,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                     |
-      | subject   | Portal: Content has been updated                                                                                                                                             |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                             |
       | body      | CC Member has updated the content of the event - "CC notify pre propose from reported" as advised and requests again its publication in the collection: "CC pre collection". |
 
     When I go to the "CC notify pre request deletion" event
@@ -94,7 +94,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Request deletion"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                                           |
-      | subject   | Portal: Content has been updated                                                                                                                                                   |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                   |
       | body      | CC Member has requested to delete the event - "CC notify pre request deletion" in the collection: "CC pre collection", with the following motivation: "I just want to delete it.". |
 
     When I go to the "CC notify published to revise" event
@@ -102,7 +102,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Propose changes"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                 |
-      | subject   | Portal: Content has been proposed                                                                                                        |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                                        |
       | body      | CC Member has submitted an update of the event - "CC notify published to revise" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -111,7 +111,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                     |
-      | subject   | Portal: Content has been published                                                                           |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                           |
       | body      | CC Facilitator has published the new event - "CC notify pre publish" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -123,11 +123,11 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                  |
-      | subject   | Portal: Content has been updated                                                                                                                                                                           |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                           |
       | body      | the Facilitator, CC Facilitator has requested you to modify the event - "CC notify pre request changes" in the collection: "CC pre collection", with the following motivation: "Can you do some changes?". |
     But the following email should not have been sent:
       | recipient | CC owner                                                                                                                                      |
-      | subject   | Portal: Content has been proposed                                                                                                             |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                                             |
       | body      | CC Facilitator has submitted an update of the event - "CC notify pre request changes" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -139,7 +139,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                         |
-      | subject   | Portal: Content has been updated                                                                                                                                                                  |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                  |
       | body      | the Facilitator, CC Facilitator has requested you to modify the event - "CC notify pre report" in the collection: "CC pre collection", with the following motivation: "Your content is reported". |
 
     When I am logged in as "CC facilitator"
@@ -148,7 +148,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                        |
-      | subject   | Portal: Content has been updated                                                                                                                                 |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                 |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the event - "CC notify pre approve proposed" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -160,7 +160,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Reject deletion"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                                     |
-      | subject   | Portal: Content has been updated                                                                                                                                                                              |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                              |
       | body      | the Facilitator, CC Facilitator has not approved your request to delete the event - "CC notify pre reject deletion" in the collection: "CC pre collection", with the following motivation: "I still like it". |
 
     # Test 'delete' operation on an entity in 'deletion_request' state.
@@ -171,7 +171,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                       |
-      | subject   | Portal: Content has been deleted                                                                                                                |
+      | subject   | Interoperable Europe Portal: Content has been deleted                                                                                                                |
       | body      | Facilitator CC Facilitator has approved your request of deletion for the event - "CC notify pre delete" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -181,7 +181,7 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                 |
-      | subject   | Portal: Content has been deleted                                                                                                                          |
+      | subject   | Interoperable Europe Portal: Content has been deleted                                                                                                                          |
       | body      | Facilitator CC Facilitator has approved your request of deletion for the event - "CC notify pre request deletion" in the collection: "CC pre collection". |
 
     # Test 'delete' operation on an entity in 'published' state.
@@ -192,5 +192,5 @@ Feature: Notification test for the event transitions on a pre moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                  |
-      | subject   | Portal: Content has been deleted                                                                                           |
+      | subject   | Interoperable Europe Portal: Content has been deleted                                                                                           |
       | body      | Facilitator CC Facilitator has deleted the event - "CC notify published to delete" in the collection: "CC pre collection". |
diff --git a/tests/features/community_content/notification.pre_moderated.news.feature b/tests/features/community_content/notification.pre_moderated.news.feature
index d703967ddb..1788b17f1d 100644
--- a/tests/features/community_content/notification.pre_moderated.news.feature
+++ b/tests/features/community_content/notification.pre_moderated.news.feature
@@ -47,9 +47,9 @@ Feature: Notification test for the news transitions on a pre moderated parent.
       | field_body:format | content_editor     |
     And I select "Statistics and Analysis" from "Topic"
     And I press "Propose"
-    Then the email sent to "CC owner" with subject "Portal: Content has been proposed" contains the following lines of text:
+    Then the email sent to "CC owner" with subject "Interoperable Europe Portal: Content has been proposed" contains the following lines of text:
       | CC Member has submitted a new news - "CCN create propose" for publication in the collection: "CC pre collection". |
-      | If you think this action is not clear or not due, please contact Portal Support at                                |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                |
 
     # Regression test for proposing an item with a published version.
     When I am logged in as "CC facilitator"
@@ -64,11 +64,11 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Propose"
     Then the following email should have been sent:
       | recipient | Notify moderator                                                                                                             |
-      | subject   | Portal: Content has been proposed                                                                                            |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                            |
       | body      | CC Member has submitted an update of the news - "CCN create propose" for publication in the collection: "CC pre collection". |
-    And the email sent to "CC owner" with subject "Portal: Content has been proposed" contains the following lines of text:
+    And the email sent to "CC owner" with subject "Interoperable Europe Portal: Content has been proposed" contains the following lines of text:
       | CC Member has submitted an update of the news - "CCN create propose" for publication in the collection: "CC pre collection". |
-      | If you think this action is not clear or not due, please contact Portal Support at                                           |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                           |
 
     When I am logged in as "CC facilitator"
     And I go to the "CC pre collection" collection
@@ -83,7 +83,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                                                           |
-      | subject   | Portal: Content has been published                                                                                                                                 |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                                                                                 |
       | body      | CC Facilitator has published the new news - "CCN create publish" in the collection: "CC pre collection". You can access the new content at the following link: http |
 
     # Test 'update' operation.
@@ -91,16 +91,16 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I go to the "CCN pre propose" news
     And I click "Edit" in the "Entity actions" region
     And I press "Propose"
-    Then the email sent to "CC owner" with subject "Portal: Content has been proposed" contains the following lines of text:
+    Then the email sent to "CC owner" with subject "Interoperable Europe Portal: Content has been proposed" contains the following lines of text:
       | CC Member has submitted a new news - "CCN pre propose" for publication in the collection: "CC pre collection". |
-      | If you think this action is not clear or not due, please contact Portal Support at                             |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                             |
 
     When I go to the "CCN pre propose from reported" news
     And I click "Edit" in the "Entity actions" region
     And I press "Propose"
-    Then the email sent to "CC owner" with subject "Portal: Content has been updated" contains the following lines of text:
+    Then the email sent to "CC owner" with subject "Interoperable Europe Portal: Content has been updated" contains the following lines of text:
       | CC Member has updated the content of the news - "CCN pre propose from reported" as advised and requests again its publication in the collection: "CC pre collection". |
-      | If you think this action is not clear or not due, please contact Portal Support at                                                                                    |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                    |
 
     When I go to the "CCN pre request deletion" news
     And I click "Edit" in the "Entity actions" region
@@ -108,16 +108,16 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     Then I should see the error message "This action requires you to fill in the motivation field"
     When I fill in "Motivation" with "I just want to delete it."
     And I press "Request deletion"
-    Then the email sent to "CC owner" with subject "Portal: Content has been updated" contains the following lines of text:
+    Then the email sent to "CC owner" with subject "Interoperable Europe Portal: Content has been updated" contains the following lines of text:
       | CC Member has requested to delete the news - "CCN pre request deletion" in the collection: "CC pre collection", with the following motivation: "I just want to delete it.". |
-      | If you think this action is not clear or not due, please contact Portal Support at                                                                                          |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                          |
 
     When I go to the "CCN published to revise" news
     And I click "Edit" in the "Entity actions" region
     And I press "Propose changes"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                                                          |
-      | subject   | Portal: Content has been proposed                                                                                                 |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                                 |
       | body      | CC Member has submitted an update of the news - "CCN published to revise" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -126,7 +126,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC owner                                                                                              |
-      | subject   | Portal: Content has been published                                                                    |
+      | subject   | Interoperable Europe Portal: Content has been published                                                                    |
       | body      | CC Facilitator has published the new news - "CCN pre publish" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -136,12 +136,12 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     Then I should see the error message "This action requires you to fill in the motivation field"
     When I fill in "Motivation" with "Can you do some changes?"
     And I press "Request changes"
-    Then the email sent to "CC member" with subject "Portal: Content has been updated" contains the following lines of text:
+    Then the email sent to "CC member" with subject "Interoperable Europe Portal: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN pre request changes" in the collection: "CC pre collection", with the following motivation: "Can you do some changes?". |
-      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                                  |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                                                  |
     But the following email should not have been sent:
       | recipient | CC owner                                                                                                                               |
-      | subject   | Portal: Content has been proposed                                                                                                      |
+      | subject   | Interoperable Europe Portal: Content has been proposed                                                                                                      |
       | body      | CC Facilitator has submitted an update of the news - "CCN pre request changes" for publication in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -151,9 +151,9 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     Then I should see the error message "This action requires you to fill in the motivation field"
     When I fill in "Motivation" with "Your content is reported"
     And I press "Request changes"
-    Then the email sent to "CC member" with subject "Portal: Content has been updated" contains the following lines of text:
+    Then the email sent to "CC member" with subject "Interoperable Europe Portal: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN pre report" in the collection: "CC pre collection", with the following motivation: "Your content is reported". |
-      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                         |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                                         |
 
     When I am logged in as "CC facilitator"
     And I go to the "CCN pre approve proposed" news
@@ -161,7 +161,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                 |
-      | subject   | Portal: Content has been updated                                                                                                                          |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                          |
       | body      | the Facilitator, CC Facilitator has approved your request of publication of the news - "CCN pre approve proposed" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -173,7 +173,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Reject deletion"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                                                                              |
-      | subject   | Portal: Content has been updated                                                                                                                                                                       |
+      | subject   | Interoperable Europe Portal: Content has been updated                                                                                                                                                                       |
       | body      | the Facilitator, CC Facilitator has not approved your request to delete the news - "CCN pre reject deletion" in the collection: "CC pre collection", with the following motivation: "I still like it". |
 
     # Test 'delete' operation.
@@ -184,7 +184,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                |
-      | subject   | Portal: Content has been deleted                                                                                                         |
+      | subject   | Interoperable Europe Portal: Content has been deleted                                                                                                         |
       | body      | Facilitator CC Facilitator has approved your request of deletion for the news - "CCN pre delete" in the collection: "CC pre collection". |
 
     When I am logged in as "CC facilitator"
@@ -194,7 +194,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                                                          |
-      | subject   | Portal: Content has been deleted                                                                                                                   |
+      | subject   | Interoperable Europe Portal: Content has been deleted                                                                                                                   |
       | body      | Facilitator CC Facilitator has approved your request of deletion for the news - "CCN pre request deletion" in the collection: "CC pre collection". |
 
     # Test 'delete' operation for a published entity.
@@ -205,5 +205,5 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | CC member                                                                                                           |
-      | subject   | Portal: Content has been deleted                                                                                    |
+      | subject   | Interoperable Europe Portal: Content has been deleted                                                                                    |
       | body      | Facilitator CC Facilitator has deleted the news - "CCN published to delete" in the collection: "CC pre collection". |
diff --git a/tests/features/contact_form/report.feature b/tests/features/contact_form/report.feature
index d20e062f62..c9754e7f9c 100644
--- a/tests/features/contact_form/report.feature
+++ b/tests/features/contact_form/report.feature
@@ -37,16 +37,16 @@ Feature: Submit the contact form
     Then the following email should have been sent:
       | template  | Report contact form                                                                                                                                                                             |
       | recipient | Report moderator                                                                                                                                                                                |
-      | subject   | Portal: This content has invalid location                                                                                                                                                       |
+      | subject   | Interoperable Europe Portal: This content has invalid location                                                                                                                                                       |
       | body      | Balourdos Tsolias has reported the item "Event to report" as abusive due to The location described as "Somewhere" could not be found by my map application. You can access the reported content |
     And the following email should have been sent:
       | template  | Report contact form                                                                                                                                                                             |
       | recipient | Report owner                                                                                                                                                                                    |
-      | subject   | Portal: This content has invalid location                                                                                                                                                       |
+      | subject   | Interoperable Europe Portal: This content has invalid location                                                                                                                                                       |
       | body      | Balourdos Tsolias has reported the item "Event to report" as abusive due to The location described as "Somewhere" could not be found by my map application. You can access the reported content |
     And the following email should have been sent:
       | recipient_mail | balourdos@example.rg               |
-      | subject        | Portal: Contact form notification  |
+      | subject        | Interoperable Europe Portal: Contact form notification  |
       | body           | We will reply as soon as possible. |
     And I should see the heading "Event to report"
 
@@ -64,5 +64,5 @@ Feature: Submit the contact form
     Given I press "Submit"
     Then the following email should have been sent:
       | recipient_mail | gbelson@hooli.com                                                                                         |
-      | subject        | Portal: Contact form notification                                                                         |
+      | subject        | Interoperable Europe Portal: Contact form notification                                                                         |
       | body           | I don't want to live in a world where someone else is making the world a better place better than we are. |
diff --git a/tests/features/contact_form/submit_contact_form.feature b/tests/features/contact_form/submit_contact_form.feature
index fb8ab2c6ff..2d5992cdfc 100644
--- a/tests/features/contact_form/submit_contact_form.feature
+++ b/tests/features/contact_form/submit_contact_form.feature
@@ -14,7 +14,7 @@ Feature: Submit the contact form
     # There should be a link to the contact form in the footer.
     Given I am not logged in
     When I visit "/?destination=collections"
-    And I click "Contact Portal Support" in the "Footer" region
+    And I click "Contact Interoperable Europe Portal Support" in the "Footer" region
     And I should see the heading "Contact"
     And the "Category" select should contain the following options:
       | - Select a value -             |
@@ -40,7 +40,7 @@ Feature: Submit the contact form
     Then I should be on "collections"
 
     And I am on the homepage
-    When I click "Contact Portal Support" in the "Footer" region
+    When I click "Contact Interoperable Europe Portal Support" in the "Footer" region
     And I fill in the following:
       | First name     | Oswine                      |
       | Last name      | Wulfric                     |
@@ -57,7 +57,7 @@ Feature: Submit the contact form
       | template           | Contact form submission                       |
       | from               | digit-joinup@ec.europa.eu                     |
       | recipient_mail     | DIGIT-JOINUP-SUPPORT-EXT-FORWARD@ec.europa.eu |
-      | subject            | Portal - Contact form submission              |
+      | subject            | Interoperable Europe Portal - Contact form submission              |
       | body               | Dear sir, madam, ...                          |
       | signature_required | no                                            |
     And I should see the following success messages:
diff --git a/tests/features/eulogin/eulogin.feature b/tests/features/eulogin/eulogin.feature
index 090394ce84..79147843fb 100644
--- a/tests/features/eulogin/eulogin.feature
+++ b/tests/features/eulogin/eulogin.feature
@@ -2,7 +2,7 @@
 Feature: Log in through EU Login
   In order to access all website of the European Commission with the same credentials
   As a user with an existing EU Login account
-  I need to be able to register and log in to Portal using EU Login
+  I need to be able to register and log in to Interoperable Europe Portal using EU Login
 
   Scenario: A local account is auto-registered on user choice.
     Given CAS users:
@@ -23,7 +23,7 @@ Feature: Log in through EU Login
     And I press "Log in"
 
     # The user gets redirected back to Drupal.
-    Then I should see the success message "Fill in the fields below to let the Portal community learn more about you!"
+    Then I should see the success message "Fill in the fields below to let the Interoperable Europe Portal community learn more about you!"
 
     # The user has been redirected to its user account edit form.
     Then the following fields should be present "Email, First name, Family name, Photo, Country of origin, Professional domain, Business title"
@@ -80,7 +80,7 @@ Feature: Log in through EU Login
     When I fill in "E-mail address" with "007.changed@mi6.eu"
     And I fill in "Password" with "shaken_not_stirred"
     When I press "Log in"
-    Then I should see the error message "You've recently changed your EU Login account email but that email is already used in Portal by another user. You cannot login until, either you change your EU Login email or you contact support to fix the issue."
+    Then I should see the error message "You've recently changed your EU Login account email but that email is already used in Interoperable Europe Portal by another user. You cannot login until, either you change your EU Login email or you contact support to fix the issue."
     And I should see the link "contact support"
 
     # Change the EU Login account email to a unique value.
@@ -131,7 +131,7 @@ Feature: Log in through EU Login
     And I should not see "full_cas_profile"
     And I should see the following lines of text:
       | Account information                                                                                                                                                                                                       |
-      | Your name and E-mail are inherited from EU Login. To update this information, you can visit your EU Login account page. Synchronisation will take a few minutes and it will be visible the next time you login on Portal. |
+      | Your name and E-mail are inherited from EU Login. To update this information, you can visit your EU Login account page. Synchronisation will take a few minutes and it will be visible the next time you login on Interoperable Europe Portal. |
       | Your e-mail address is not made public. We will only send you necessary system notifications and you can opt in later if you wish to receive additional notifications about content you are subscribed to.                |
       | Your first name is publicly visible.                                                                                                                                                                                      |
       | Your last name is publicly visible.                                                                                                                                                                                       |
@@ -155,7 +155,7 @@ Feature: Log in through EU Login
     And the following fields should be disabled "Family name"
     But I should not see "Username"
     And I should not see "partial_cas_profile"
-    And I should see "Your name and E-mail are inherited from EU Login. To update this information, you can visit your EU Login account page. Synchronisation will take a few minutes and it will be visible the next time you login on Portal."
+    And I should see "Your name and E-mail are inherited from EU Login. To update this information, you can visit your EU Login account page. Synchronisation will take a few minutes and it will be visible the next time you login on Interoperable Europe Portal."
     But I should not see "Fail - Password length must be at least 8 characters."
     And I should not see "Password character length of at least 8"
     And I should not see "Fail - Password must contain at least 3 types of characters from the following character types: lowercase letters, uppercase letters, digits, special characters."
@@ -181,7 +181,7 @@ Feature: Log in through EU Login
     But I should not see "Username"
     # The username appears in the page header because this use has no first and
     # last name. But we check the absence of "Username" and this is enough.
-    And I should see "Your name and E-mail are inherited from EU Login. To update this information, you can visit your EU Login account page. Synchronisation will take a few minutes and it will be visible the next time you login on Portal."
+    And I should see "Your name and E-mail are inherited from EU Login. To update this information, you can visit your EU Login account page. Synchronisation will take a few minutes and it will be visible the next time you login on Interoperable Europe Portal."
     But I should not see "Fail - Password length must be at least 8 characters."
     And I should not see "Password character length of at least 8"
     And I should not see "Fail - Password must contain at least 3 types of characters from the following character types: lowercase letters, uppercase letters, digits, special characters."
@@ -224,7 +224,7 @@ Feature: Log in through EU Login
 
     Then I should see the following error message:
       | error messages                                                                                                                                                                                                                                           |
-      | While trying to register your account with Portal, we found that your EU Login email address joe@example.com is already in use on our site. Either change your EU Login email address or contact the Portal support if you feel that something is wrong. |
+      | While trying to register your account with Interoperable Europe Portal, we found that your EU Login email address joe@example.com is already in use on our site. Either change your EU Login email address or contact the Interoperable Europe Portal support if you feel that something is wrong. |
 
   Scenario: A new user tries to register with an existing username.
     Given users:
@@ -240,7 +240,7 @@ Feature: Log in through EU Login
     When I fill in "E-mail address" with "joe.cas@example.com"
     When I fill in "Password" with "123"
     And I press "Log in"
-    Then I should see the success message "Fill in the fields below to let the Portal community learn more about you!"
+    Then I should see the success message "Fill in the fields below to let the Interoperable Europe Portal community learn more about you!"
 
   Scenario: The Drupal registration tab has been removed and the /user/register
   route redirects to EU Login registration form.
@@ -349,7 +349,7 @@ Feature: Log in through EU Login
     When I fill in "E-mail address" with "joe@example.com"
     When I fill in "Password" with "123"
     And I press "Log in"
-    Then I should see the error message "Registering new accounts to Portal is temporarily disabled. Please come back later."
+    Then I should see the error message "Registering new accounts to Interoperable Europe Portal is temporarily disabled. Please come back later."
     # Check that the user is not logged in.
     And I should see the link "Sign in"
 
@@ -365,4 +365,4 @@ Feature: Log in through EU Login
     When I fill in "E-mail address" with "joe@example.com"
     When I fill in "Password" with "123"
     And I press "Log in"
-    Then I should see the success message "Fill in the fields below to let the Portal community learn more about you!"
+    Then I should see the success message "Fill in the fields below to let the Interoperable Europe Portal community learn more about you!"
diff --git a/tests/features/featured_entities.feature b/tests/features/featured_entities.feature
index 3f28a79be5..4dba22f69d 100644
--- a/tests/features/featured_entities.feature
+++ b/tests/features/featured_entities.feature
@@ -1,6 +1,6 @@
 @api @javascript
 Feature: Featuring content site-wide
-  As a moderator of Portal
+  As a moderator of Interoperable Europe Portal
   I want to feature content in the website
   So that important content has more visibility
 
diff --git a/tests/features/footer.feature b/tests/features/footer.feature
index b707385a33..a73823fc2e 100644
--- a/tests/features/footer.feature
+++ b/tests/features/footer.feature
@@ -8,7 +8,7 @@ Feature: Footer
     Given I am not logged in
     And I visit "<page>"
     Then I should see the Interoperable Europe logo in the footer
-    And I should see the Portal version in the footer
+    And I should see the Interoperable Europe Portal version in the footer
 
     Examples:
       | page                             |
@@ -17,7 +17,7 @@ Feature: Footer
       | /search                          |
       # Page rendered with Interoperable Europe theme.
       | /interoperable-europe            |
-      # Page rendered with the legacy Portal Theme theme.
+      # Page rendered with the legacy Interoperable Europe Portal Theme theme.
       | /collection/joinup               |
 
   Scenario: Regression test to show/hide menu item.
@@ -29,19 +29,19 @@ Feature: Footer
     And I press "Save"
     Then I should see the success message "Menu Help and support has been updated."
 
-    Then I uncheck the "Enable Contact Portal Support" row
+    Then I uncheck the "Enable Contact Interoperable Europe Portal Support" row
     And I press "Save"
 
     Given I am an anonymous user
     And I am on the homepage
     Then I should not see the link "Frequently Asked Questions (FAQ)"
-    Then I should not see the link "Contact Portal Support"
+    Then I should not see the link "Contact Interoperable Europe Portal Support"
     And I should see the link "Take a tour"
 
     Then I click "advanced search"
     And I should be on the advanced search page
     Then I should not see the link "Frequently Asked Questions (FAQ)"
-    Then I should not see the link "Contact Portal Support"
+    Then I should not see the link "Contact Interoperable Europe Portal Support"
     And I should not see the text "Take a tour"
 
     # Re-enable the Frequently Asked Questions (FAQ) menu link.
@@ -49,9 +49,9 @@ Feature: Footer
     When I click "Menus"
     And I click "List links" in the "Help and support" row
     Then I check the "Enable Frequently Asked Questions (FAQ)" row
-    Then I check the "Enable Contact Portal Support" row
+    Then I check the "Enable Contact Interoperable Europe Portal Support" row
     And I press "Save"
 
     And I am on the homepage
     Then I should see the link "Frequently Asked Questions (FAQ)"
-    Then I should see the link "Contact Portal Support"
+    Then I should see the link "Contact Interoperable Europe Portal Support"
diff --git a/tests/features/header.feature b/tests/features/header.feature
index 8433f4ba00..e50c88c4f5 100644
--- a/tests/features/header.feature
+++ b/tests/features/header.feature
@@ -35,7 +35,7 @@ Feature: Header
       | page         |
       # A page with the new Ventuno theme.
       | search page |
-      # A page with the old Portal Theme theme.
+      # A page with the old Interoperable Europe Portal Theme theme.
       | collection overview |
 
   @joinup @javascript
@@ -64,5 +64,5 @@ Feature: Header
       | page         |
       # A page with the new Ventuno theme.
       | search page |
-      # A page with the old Portal Theme theme.
+      # A page with the old Interoperable Europe Portal Theme theme.
       | collection overview |
diff --git a/tests/features/homepage.feature b/tests/features/homepage.feature
index 56380031b6..c73a5b811f 100644
--- a/tests/features/homepage.feature
+++ b/tests/features/homepage.feature
@@ -10,7 +10,7 @@ Feature: Homepage
     When I reload the page
     Then the page should be cached
     And I should see the following lines of text:
-      | The Portal is the European Union’s platform for promoting and supporting interoperability, collaboration, and knowledge sharing across public administrations, businesses, and citizens.                                                                          |
+      | The Interoperable Europe Portal is the European Union’s platform for promoting and supporting interoperability, collaboration, and knowledge sharing across public administrations, businesses, and citizens.                                                                          |
       | It acts as a one-stop shop for discovering, sharing, and reusing IT solutions and good practices.                                                                                                                                                                |
       | It’s the European Commission’s initiative for a reinforced interoperability policy showcasing news and events about government-related interoperability, along with initiatives and best practices that support the digitalisation of EU public administrations. |
       | Interoperable Europe covers the policy angle of interoperability.                                                                                                                                                                                                |
@@ -23,16 +23,16 @@ Feature: Homepage
     Given I am not logged in
     # Visit once to cache the page.
     And I am on the homepage
-    Then I should see the text "The Portal is the European Union’s platform for promoting and supporting interoperability"
+    Then I should see the text "The Interoperable Europe Portal is the European Union’s platform for promoting and supporting interoperability"
 
     Given I am logged in as a user with the "authenticated" role
     And I am on the homepage
-    Then I should not see the text "The Portal is the European Union’s platform for promoting and supporting interoperability"
+    Then I should not see the text "The Interoperable Europe Portal is the European Union’s platform for promoting and supporting interoperability"
 
     # Re check for anonymous users.
     Given I am not logged in
     And I am on the homepage
-    Then I should see the text "The Portal is the European Union’s platform for promoting and supporting interoperability"
+    Then I should see the text "The Interoperable Europe Portal is the European Union’s platform for promoting and supporting interoperability"
 
   Scenario: Latest news is shown on the homepage
     Given collection:
@@ -56,7 +56,7 @@ Feature: Homepage
 
     # There is a "More news" link that for the moment leads to the search page
     # pre-filtered on news articles. In the future this will become a dedicated
-    # page showing all the news on Portal.
+    # page showing all the news on Interoperable Europe Portal.
     Given I am on the homepage
     When I click "More news"
     Then I should be on the advanced search page
@@ -196,8 +196,8 @@ Feature: Homepage
     And I should see the "Florentine steak festival" tile
 
   @joinupVersion
-  Scenario Outline: The current version of the Portal platform is shown in the footer.
-    Given the Portal version is set to "<version>"
+  Scenario Outline: The current version of the Interoperable Europe Portal platform is shown in the footer.
+    Given the Interoperable Europe Portal version is set to "<version>"
     When I am on the homepage
     Then I should see the link "<version>" in the Footer region
     And the "<version>" link should point to "<url>"
diff --git a/tests/features/joinup_core/input_filter.feature b/tests/features/joinup_core/input_filter.feature
index a3be9c61bf..9a16228fb1 100644
--- a/tests/features/joinup_core/input_filter.feature
+++ b/tests/features/joinup_core/input_filter.feature
@@ -20,8 +20,8 @@ Feature: Input filter
       | Luke cage               | <iframe width="50" height="50" src="https://www.example.com" ></iframe>                                                                                                                                                                                                                                                                                                                                                                        | Netflix group | published |
       | Slideshare presentation | <iframe src="//www.slideshare.net/slideshow/embed_code/key/hJ3x3pTrtGaatQ" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>                                                                                                                                                            | Netflix group | published |
       | Google docs             | <iframe frameborder="0" height="800" marginheight="0" marginwidth="0" src="https://docs.google.com/forms/d/1dBGzMp9whY2Ibxf4pUQNadpE2C3ywxdDefSSM3BdwJ4/viewform?embedded=true" width="100%">Loading...</iframe>                                                                                                                                                                                                                               | Netflix group | published |
-      | Portal iframe           | <iframe frameborder="0" height="800" marginheight="0" marginwidth="0" src="/homepage" width="100%"></iframe>                                                                                                                                                                                                                                                                                                                                   | Netflix group | published |
-      | Quoted texts            | <q>This is a famous quote.</q> ~ Portal developer.                                                                                                                                                                                                                                                                                                                                                                                             | Netflix group | published |
+      | Interoperable Europe Portal iframe           | <iframe frameborder="0" height="800" marginheight="0" marginwidth="0" src="/homepage" width="100%"></iframe>                                                                                                                                                                                                                                                                                                                                   | Netflix group | published |
+      | Quoted texts            | <q>This is a famous quote.</q> ~ Interoperable Europe Portal developer.                                                                                                                                                                                                                                                                                                                                                                                             | Netflix group | published |
       # Since area coordinates contains commas and we don't want this to be interpreted as multiple values we need to enclose the value with double quotes and escape the quotes in the HTML.
       | Image map               | "<map name=""imagemap""><area shape=""circle"" coords=""50,50,25"" href=""/"" alt=""Homepage""/></map><img usemap=""imagemap"" src=""/images/my-image.png"" alt=""Imagemap example"" />"                                                                                                                                                                                                                                                       | Netflix group | published |
       | Accessibility planning  | Accessibility planning is framed in the context of social exclusion within transport planning <img src="/web/sites/default/files/logo.png" />                                                                                                                                                                                                                                                                                                  | Netflix group | published |
@@ -34,13 +34,13 @@ Feature: Input filter
     Then I see the "iframe" element with the "src" attribute set to "https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/hJ3x3pTrtGaatQ&lang=en" in the "Content" region
     When I go to the "Google docs" discussion
     Then I see the "iframe" element with the "src" attribute set to "https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//docs.google.com/forms/d/1dBGzMp9whY2Ibxf4pUQNadpE2C3ywxdDefSSM3BdwJ4/viewform%3Fembedded%3Dtrue&lang=en" in the "Content" region
-    When I go to the "Portal iframe" discussion
+    When I go to the "Interoperable Europe Portal iframe" discussion
     # Local urls are not prone to the external cookie consent check.
     Then I see the "iframe" element with the "src" attribute set to "/homepage" in the "Content" region
     When I go to the "Luke cage" discussion
     Then I should not see the "iframe" element with the "src" attribute set to "https://www.example.com" in the "Content" region
     When I go to the "Quoted texts" discussion
-    Then the response should contain "<q>This is a famous quote.</q> ~ Portal developer."
+    Then the response should contain "<q>This is a famous quote.</q> ~ Interoperable Europe Portal developer."
     When I go to the "Image map" discussion
     Then I see the "map" element with the "name" attribute set to "imagemap" in the "Content" region
     And I see the "img" element with the "usemap" attribute set to "imagemap" in the "Content" region
diff --git a/tests/features/joinup_core/persistent_uris.feature b/tests/features/joinup_core/persistent_uris.feature
index fda1176f9b..4addf2135c 100644
--- a/tests/features/joinup_core/persistent_uris.feature
+++ b/tests/features/joinup_core/persistent_uris.feature
@@ -87,7 +87,7 @@ Feature:
 
     # Our semantic content has a persistent canonical path at Europe's
     # official data portal: "http://data.europa.eu/w21/{uuid}". The data portal
-    # links back to the Portal servers.
+    # links back to the Interoperable Europe Portal servers.
     Given I am on "data/w21/ffb0ffc9-7704-45d3-95b3-42706b6320e5"
     Then I should see the heading "Persistent solution"
     And I should see "Persistent solution description"
diff --git a/tests/features/joinup_core/reporting.feature b/tests/features/joinup_core/reporting.feature
index f8373953f1..99948eded1 100644
--- a/tests/features/joinup_core/reporting.feature
+++ b/tests/features/joinup_core/reporting.feature
@@ -2,7 +2,7 @@
 Feature:
   As a site moderator/administrator
   When I'm logged in
-  I want to be able to access the Portal reporting section.
+  I want to be able to access the Interoperable Europe Portal reporting section.
 
   Scenario Outline: Test the general access to Reporting section.
     Given I am logged in as a user with the <role> role
diff --git a/tests/features/joinup_core/transfer_group_ownership.feature b/tests/features/joinup_core/transfer_group_ownership.feature
index 7db6f52a52..05481b2eb8 100644
--- a/tests/features/joinup_core/transfer_group_ownership.feature
+++ b/tests/features/joinup_core/transfer_group_ownership.feature
@@ -129,7 +129,7 @@ Feature: As a group (collection or solution) owner or site moderator
     And I am on the members page of "Babylon"
     Then the available options in the "Action" select should not include the "Transfer the ownership of the solution to the selected member" options
 
-  # In Portal every owner is also a facilitator, so if a normal member is
+  # In Interoperable Europe Portal every owner is also a facilitator, so if a normal member is
   # promoted to owner, they should also become a facilitator.
   Scenario Outline: If ownership is transferred to a normal member, it should also include the facilitator role
     Given I am logged in as "light"
diff --git a/tests/features/joinup_discussion/discussion.invite.feature b/tests/features/joinup_discussion/discussion.invite.feature
index b9c8e0d06c..bacfc7b439 100644
--- a/tests/features/joinup_discussion/discussion.invite.feature
+++ b/tests/features/joinup_discussion/discussion.invite.feature
@@ -161,12 +161,12 @@ Feature: Invite members to subscribe to discussions
     Then I should see the success message "2 user(s) have been invited to this discussion."
     And the following email should have been sent:
       | recipient | Glory Ruskin                                                                                              |
-      | subject   | Lynwood Crawford invited you to follow a discussion on Portal.                                            |
-      | body      | Lynwood Crawford invited you to participate in the discussion Concerned about dissolved gases? on Portal. |
+      | subject   | Lynwood Crawford invited you to follow a discussion on Interoperable Europe Portal.                                            |
+      | body      | Lynwood Crawford invited you to participate in the discussion Concerned about dissolved gases? on Interoperable Europe Portal. |
     And the following email should have been sent:
       | recipient | paternoster                                                                                               |
-      | subject   | Lynwood Crawford invited you to follow a discussion on Portal.                                            |
-      | body      | Lynwood Crawford invited you to participate in the discussion Concerned about dissolved gases? on Portal. |
+      | subject   | Lynwood Crawford invited you to follow a discussion on Interoperable Europe Portal.                                            |
+      | body      | Lynwood Crawford invited you to participate in the discussion Concerned about dissolved gases? on Interoperable Europe Portal. |
     And 2 e-mails should have been sent
 
     # Try if it is possible to resend an invitation.
@@ -178,8 +178,8 @@ Feature: Invite members to subscribe to discussions
     Then I should see the success message "The invitation was resent to 1 user(s) that were already invited previously but haven't yet accepted the invitation."
     And the following email should have been sent:
       | recipient | Glory Ruskin                                                                                              |
-      | subject   | Lynwood Crawford invited you to follow a discussion on Portal.                                            |
-      | body      | Lynwood Crawford invited you to participate in the discussion Concerned about dissolved gases? on Portal. |
+      | subject   | Lynwood Crawford invited you to follow a discussion on Interoperable Europe Portal.                                            |
+      | body      | Lynwood Crawford invited you to participate in the discussion Concerned about dissolved gases? on Interoperable Europe Portal. |
 
     # Accept an invitation by clicking on the link in the e-mail.
     # Initially there should not be any subscriptions.
diff --git a/tests/features/joinup_discussion/discussion.subscribe.feature b/tests/features/joinup_discussion/discussion.subscribe.feature
index 7916e2141d..14a5583471 100644
--- a/tests/features/joinup_discussion/discussion.subscribe.feature
+++ b/tests/features/joinup_discussion/discussion.subscribe.feature
@@ -1,6 +1,6 @@
 @api @group-e
 Feature: Following discussions
-  As a member of Portal
+  As a member of Interoperable Europe Portal
   I want to follow interesting discussions
   So that I can stay up to date with its evolvement
 
@@ -79,18 +79,18 @@ Feature: Following discussions
     # Subscribers are receiving the notifications.
     And the following email should have been sent:
       | recipient_mail | dale@example.com                                                                              |
-      | subject        | Portal: User Flash Gordon posted a comment in discussion "Rare Butter"                        |
+      | subject        | Interoperable Europe Portal: User Flash Gordon posted a comment in discussion "Rare Butter"                        |
       | body           | Flash Gordon has posted a comment on discussion "Rare Butter" in "Dairy products" collection. |
     # The user 'debater' is also a discussion subscriber but because he's the
     # author of the comment, he will not receive the notification.
     And the following email should not have been sent:
       | recipient_mail | flash@example.com                                                                             |
-      | subject        | Portal: User Flash Gordon posted a comment in discussion "Rare Butter"                        |
+      | subject        | Interoperable Europe Portal: User Flash Gordon posted a comment in discussion "Rare Butter"                        |
       | body           | Flash Gordon has posted a comment on discussion "Rare Butter" in "Dairy products" collection. |
     # Discussion author is receiving the notifications too.
     And the following email should have been sent:
       | recipient_mail | hans@example.com                                                                              |
-      | subject        | Portal: User Flash Gordon posted a comment in discussion "Rare Butter"                        |
+      | subject        | Interoperable Europe Portal: User Flash Gordon posted a comment in discussion "Rare Butter"                        |
       | body           | Flash Gordon has posted a comment on discussion "Rare Butter" in "Dairy products" collection. |
 
     # No E-mail notification is sent when the discussion is updated but no
@@ -108,16 +108,16 @@ Feature: Following discussions
     And I press "Update"
     Then the following email should have been sent:
       | recipient_mail | dale@example.com                                                                  |
-      | subject        | Portal: The discussion "Rare Butter" was updated in the space of "Dairy products" |
+      | subject        | Interoperable Europe Portal: The discussion "Rare Butter" was updated in the space of "Dairy products" |
       | body           | The discussion "Rare Butter" was updated in the "Dairy products" collection.      |
     And the following email should have been sent:
       | recipient_mail | flash@example.com                                                                 |
-      | subject        | Portal: The discussion "Rare Butter" was updated in the space of "Dairy products" |
+      | subject        | Interoperable Europe Portal: The discussion "Rare Butter" was updated in the space of "Dairy products" |
       | body           | The discussion "Rare Butter" was updated in the "Dairy products" collection.      |
     # The author of the discussion update doesn't receive any notification.
     But the following email should not have been sent:
       | recipient_mail | hans@example.com                                                                  |
-      | subject        | Portal: The discussion "Rare Butter" was updated in the space of "Dairy products" |
+      | subject        | Interoperable Europe Portal: The discussion "Rare Butter" was updated in the space of "Dairy products" |
       | body           | The discussion "Rare Butter" was updated in the "Dairy products" collection.      |
     # Check that no other mails have been unexpectedly sent.
     Then 2 e-mails should have been sent
@@ -145,7 +145,7 @@ Feature: Following discussions
     # sent to the content author.
     But the following email should have been sent:
       | recipient_mail | hans@example.com                                                          |
-      | subject        | Portal: Content has been updated                                          |
+      | subject        | Interoperable Europe Portal: Content has been updated                                          |
       | body           | the Moderator, has requested you to modify the discussion - "Rare Butter" |
     And 1 e-mail should have been sent
 
@@ -155,19 +155,19 @@ Feature: Following discussions
 
     Then the following email should have been sent:
       | recipient_mail | dale@example.com                                                                                     |
-      | subject        | Portal: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
+      | subject        | Interoperable Europe Portal: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare Butter" was deleted from the "Dairy products" collection. |
     And the following email should have been sent:
       | recipient_mail | flash@example.com                                                                                    |
-      | subject        | Portal: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
+      | subject        | Interoperable Europe Portal: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare Butter" was deleted from the "Dairy products" collection. |
     And the following email should have been sent:
       | recipient_mail | hans@example.com                                                                                     |
-      | subject        | Portal: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
+      | subject        | Interoperable Europe Portal: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare Butter" was deleted from the "Dairy products" collection. |
     And the following email should not have been sent:
       | recipient_mail | ming@example.com                                                                                     |
-      | subject        | Portal: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
+      | subject        | Interoperable Europe Portal: The discussion "Rare Butter" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare Butter" was deleted from the "Dairy products" collection. |
 
     # Now check the notifications sent for a published discussion.
@@ -186,22 +186,22 @@ Feature: Following discussions
 
     Then the following email should have been sent:
       | recipient_mail | dale@example.com                                                                                   |
-      | subject        | Portal: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
+      | subject        | Interoperable Europe Portal: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare feta" was deleted from the "Dairy products" collection. |
     # Discussion author is receiving the notifications too.
     And the following email should have been sent:
       | recipient_mail | hans@example.com                                                                                   |
-      | subject        | Portal: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
+      | subject        | Interoperable Europe Portal: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare feta" was deleted from the "Dairy products" collection. |
     # The user 'facilitator' is also a discussion subscriber but because she's
     # the person who has deleted the comment, she will not receive the
     # notification.
     But the following email should not have been sent:
       | recipient_mail | ming@example.com                                                                                   |
-      | subject        | Portal: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
+      | subject        | Interoperable Europe Portal: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare feta" was deleted from the "Dairy products" collection. |
     # Flash Gordon is not subscribed. He should not retrieve the message.
     And the following email should not have been sent:
       | recipient_mail | flash@example.com                                                                                  |
-      | subject        | Portal: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
+      | subject        | Interoperable Europe Portal: The discussion "Rare feta" was deleted in the space of "Dairy products"                    |
       | body           | for your information, the discussion "Rare feta" was deleted from the "Dairy products" collection. |
diff --git a/tests/features/joinup_distribution/asset_distribution.delete.feature b/tests/features/joinup_distribution/asset_distribution.delete.feature
index 59958ef213..1d5b5f9230 100644
--- a/tests/features/joinup_distribution/asset_distribution.delete.feature
+++ b/tests/features/joinup_distribution/asset_distribution.delete.feature
@@ -26,5 +26,5 @@ Feature: Asset distribution deleting.
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | Papa Roach                                                                                        |
-      | subject   | Portal: A distribution has been deleted                                                           |
+      | subject   | Interoperable Europe Portal: A distribution has been deleted                                                           |
       | body      | The distribution Francesco's cats of the solution Rough valentine's day was successfully deleted. |
diff --git a/tests/features/joinup_distribution/asset_distribution.edit.feature b/tests/features/joinup_distribution/asset_distribution.edit.feature
index d29a9ed46c..57c28941f7 100644
--- a/tests/features/joinup_distribution/asset_distribution.edit.feature
+++ b/tests/features/joinup_distribution/asset_distribution.edit.feature
@@ -73,9 +73,9 @@ Feature: Asset distribution editing.
     Then I should see the heading "Asset distribution example revised"
     And the following email should have been sent:
       | recipient | Gregg Hill                                                                                                                                          |
-      | subject   | Portal: A distribution has been updated                                                                                                             |
+      | subject   | Interoperable Europe Portal: A distribution has been updated                                                                                                             |
       | body      | The distribution Asset distribution example revised of the release Asset release example, C3PO of the solution Solution A was successfully updated. |
     And the following email should have been sent:
       | recipient | Pedro Torres                                                                                                                                        |
-      | subject   | Portal: A distribution has been updated                                                                                                             |
+      | subject   | Interoperable Europe Portal: A distribution has been updated                                                                                                             |
       | body      | The distribution Asset distribution example revised of the release Asset release example, C3PO of the solution Solution A was successfully updated. |
diff --git a/tests/features/joinup_distribution/track_download.feature b/tests/features/joinup_distribution/track_download.feature
index 9929fc9fe9..9779c47621 100644
--- a/tests/features/joinup_distribution/track_download.feature
+++ b/tests/features/joinup_distribution/track_download.feature
@@ -56,8 +56,8 @@ Feature: Asset distribution editing.
     When I click "Download" in the "OpenBSD images" distribution
     Then a modal should open
     And I should see the text "Download in progress"
-    And I should see the text "If you do not have a Portal account, please take some time to create one, at this page. It will allow you to fully exploit the functionalities of Portal to create new content, contribute to existing one and collaborate with other users."
-    And I should see the text "If you do not want to create a Portal account, please select any of the following options and provide your email address if you want to be kept updated on the status of the solution. Your personal data will be treated in compliance with the legal notice"
+    And I should see the text "If you do not have a Interoperable Europe Portal account, please take some time to create one, at this page. It will allow you to fully exploit the functionalities of Interoperable Europe Portal to create new content, contribute to existing one and collaborate with other users."
+    And I should see the text "If you do not want to create a Interoperable Europe Portal account, please select any of the following options and provide your email address if you want to be kept updated on the status of the solution. Your personal data will be treated in compliance with the legal notice"
     When I fill in "E-mail address" with "trackme@example.com" in the "Modal content" region
     Then I press "Submit" in the "Modal buttons" region
     Then the modal should be closed
diff --git a/tests/features/joinup_event/add_event.collection.feature b/tests/features/joinup_event/add_event.collection.feature
index ff2b7cb2e4..9b224b82ba 100644
--- a/tests/features/joinup_event/add_event.collection.feature
+++ b/tests/features/joinup_event/add_event.collection.feature
@@ -83,7 +83,7 @@ Feature: "Add event" visibility options.
     When I fill in "Physical location" with "Rue Belliard 28, Brussels, Belgium"
     And I enter the following for the "Virtual location" link field:
       | URL                          | Title           |
-      | https://interoperable-europe.ec.europa.eu/ | Portal homepage |
+      | https://interoperable-europe.ec.europa.eu/ | Interoperable Europe Portal homepage |
       | https://drupal.org/          |                 |
     And I select "EU and European Policies" from "Topic"
     And I press "Save as draft"
@@ -100,7 +100,7 @@ Feature: "Add event" visibility options.
       | description | Rue Belliard 28, Brussels, Belgium |
       | latitude    | 50.842291                          |
       | longitude   | 4.370476                           |
-    And I should see the link "Portal homepage"
+    And I should see the link "Interoperable Europe Portal homepage"
     And I should see the link "https://drupal.org"
     And the "Stream of Dreams" collection has a event titled "An amazing event"
     And I should not see the text "France"
diff --git a/tests/features/joinup_group/announcements.feature b/tests/features/joinup_group/announcements.feature
index 56ec168602..d1e33e1cab 100644
--- a/tests/features/joinup_group/announcements.feature
+++ b/tests/features/joinup_group/announcements.feature
@@ -145,12 +145,12 @@ Feature: Messaging group announcements
       | The recipient's subscriptions page URL                                                                                                                                                                                                                     |
       | Kind regards,                                                                                                                                                                                                                                              |
       | The Fail pension <group> team                                                                                                                                                                                                                              |
-      | You received this e-mail because, as a registered user of Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
+      | You received this e-mail because, as a registered user of Interoperable Europe Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
       | In case you do not want to receive such e-mails, you can unsubscribe from group announcement notifications or manage all your subscription notifications from the user subscriptions page.                                                                 |
       | This is an unmonitored email address, please do not reply. You can contact directly Fail pension <group> via the Overview page.                                                                                                                               |
 
     When I press "Send for approval"
-    Then I should see the success message "Your announcement has been sent for validation by Portal moderators. Once approved, will reach the Fail pension <group> members."
+    Then I should see the success message "Your announcement has been sent for validation by Interoperable Europe Portal moderators. Once approved, will reach the Fail pension <group> members."
     And I should see the link "Add announcement"
     # The facilitator has exhausted all operations they can perform, so they
     # cannot edit the announcement anymore.
@@ -166,8 +166,8 @@ Feature: Messaging group announcements
     And I should not see the button "Reject"
     And I should not see the button "Undo reject"
     And I should not see the button "Preview"
-    And the email sent to "check.edit.moderator@example.com" with subject "Portal: A new announcement 'The Big Opening is postponed' has been created" contains header "Content-Type" with value "text/html"
-    And the email sent to "check.edit.moderator@example.com" with subject "Portal: A new announcement 'The Big Opening is postponed' has been created" contains the following lines of text:
+    And the email sent to "check.edit.moderator@example.com" with subject "Interoperable Europe Portal: A new announcement 'The Big Opening is postponed' has been created" contains header "Content-Type" with value "text/html"
+    And the email sent to "check.edit.moderator@example.com" with subject "Interoperable Europe Portal: A new announcement 'The Big Opening is postponed' has been created" contains the following lines of text:
       | A new announcement 'The Big Opening is postponed' has been created by Sons of tweets for the Fail pension <group>. |
       | You can approve or reject the announcement at                                                                      |
 
@@ -175,7 +175,7 @@ Feature: Messaging group announcements
 
     When I go to the announcements page of "Hidden gems" <group>
     Then the response status code should be 403
-    And I click the link from email sent to "Check edit moderator" with subject "Portal: A new announcement 'The Big Opening is postponed' has been created"
+    And I click the link from email sent to "Check edit moderator" with subject "Interoperable Europe Portal: A new announcement 'The Big Opening is postponed' has been created"
     Then I should see "Announcement state: Pending approval"
     And I should see the button "Update"
     And I should see the button "Approve"
@@ -209,7 +209,7 @@ Feature: Messaging group announcements
       | The recipient's subscriptions page URL                                                                                                                                                                                                                     |
       | Kind regards,                                                                                                                                                                                                                                              |
       | The Fail pension <group> team                                                                                                                                                                                                                              |
-      | You received this e-mail because, as a registered user of Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
+      | You received this e-mail because, as a registered user of Interoperable Europe Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
       | In case you do not want to receive such e-mails, you can unsubscribe from group announcement notifications or manage all your subscription notifications from the user subscriptions page.                                                                 |
       | This is an unmonitored email address, please do not reply. You can contact directly Fail pension <group> via the Overview page.                                                                                                                               |
 
@@ -270,7 +270,7 @@ Feature: Messaging group announcements
       | The recipient's subscriptions page URL                                                                                                                                                                                                                     |
       | Kind regards,                                                                                                                                                                                                                                              |
       | The Fail pension <group> team                                                                                                                                                                                                                              |
-      | You received this e-mail because, as a registered user of Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
+      | You received this e-mail because, as a registered user of Interoperable Europe Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
       | In case you do not want to receive such e-mails, you can unsubscribe from group announcement notifications or manage all your subscription notifications from the user subscriptions page.                                                                 |
       | This is an unmonitored email address, please do not reply. You can contact directly Fail pension <group> via the Overview page.                                                                                                                               |
     And the email sent to "Greedy" with subject "The Big Opening is postponed" contains the following lines of text:
@@ -286,7 +286,7 @@ Feature: Messaging group announcements
       | The recipient's subscriptions page URL                                                                                                                                                                                                                     |
       | Kind regards,                                                                                                                                                                                                                                              |
       | The Fail pension <group> team                                                                                                                                                                                                                              |
-      | You received this e-mail because, as a registered user of Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
+      | You received this e-mail because, as a registered user of Interoperable Europe Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
       | In case you do not want to receive such e-mails, you can unsubscribe from group announcement notifications or manage all your subscription notifications from the user subscriptions page.                                                                 |
       | This is an unmonitored email address, please do not reply. You can contact directly Fail pension <group> via the Overview page.                                                                                                                               |
     And the email sent to "Sons of tweets" with subject "The Big Opening is postponed" contains the following lines of text:
@@ -302,7 +302,7 @@ Feature: Messaging group announcements
       | The recipient's subscriptions page URL                                                                                                                                                                                                                     |
       | Kind regards,                                                                                                                                                                                                                                              |
       | The Fail pension <group> team                                                                                                                                                                                                                              |
-      | You received this e-mail because, as a registered user of Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
+      | You received this e-mail because, as a registered user of Interoperable Europe Portal and a member of Fail pension <group>, you agreed to receive information sent to you by the Fail pension <group> owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725). |
       | In case you do not want to receive such e-mails, you can unsubscribe from group announcement notifications or manage all your subscription notifications from the user subscriptions page.                                                                 |
       | This is an unmonitored email address, please do not reply. You can contact directly Fail pension <group> via the Overview page.                                                                                                                               |
     # Accepted 'Legal notice' but it's not subscribed to group announcements.
@@ -507,7 +507,7 @@ Feature: Messaging group announcements
     Then I should see the success message "The announcement has been created as Draft. Review the announcement and, when is ready to be sent, use the 'Send' button."
 
     When I press "Send for approval"
-    Then I should see the success message "Your announcement has been sent for validation by Portal moderators. Once approved, will reach the Open Source Observatory (OSOR) collection members."
+    Then I should see the success message "Your announcement has been sent for validation by Interoperable Europe Portal moderators. Once approved, will reach the Open Source Observatory (OSOR) collection members."
     When I click "edit" in the "TEST: Mass-mailing announcement" row
     And I press "Approve"
     Then I should see the success message "The announcement has been scheduled to be delivered to the Open Source Observatory (OSOR) collection members. Because the collection has a large amount of members the emails will be sent in several batches."
diff --git a/tests/features/joinup_licence/spdx.canonical.feature b/tests/features/joinup_licence/spdx.canonical.feature
index 6c41135b18..361b0d081e 100644
--- a/tests/features/joinup_licence/spdx.canonical.feature
+++ b/tests/features/joinup_licence/spdx.canonical.feature
@@ -1,7 +1,7 @@
 @api @group-f
 Feature: SPDX Permissions
   As a moderator of the website
-  In order to better present the Portal licences
+  In order to better present the Interoperable Europe Portal licences
   I need to control over the way the SPDX licences are shown.
 
   Scenario: Do not allow access to the canonical route of the SPDX licences.
diff --git a/tests/features/joinup_release/release.moderation.feature b/tests/features/joinup_release/release.moderation.feature
index 09e9c3bdb6..17e576f8a9 100644
--- a/tests/features/joinup_release/release.moderation.feature
+++ b/tests/features/joinup_release/release.moderation.feature
@@ -54,15 +54,15 @@ Feature: Asset release moderation
     Then I should see the text "Release of the dark ship v1" in the "Page title" region
     And the following email should have been sent:
       | recipient | Felix Russell                                                                   |
-      | subject   | Portal: A release has been updated                                              |
+      | subject   | Interoperable Europe Portal: A release has been updated                                              |
       | body      | The release Release of the dark ship, v1 of the solution Dark Ship was updated. |
     And the following email should have been sent:
       | recipient | Wilson Mendoza                                                                  |
-      | subject   | Portal: A release has been updated                                              |
+      | subject   | Interoperable Europe Portal: A release has been updated                                              |
       | body      | The release Release of the dark ship, v1 of the solution Dark Ship was updated. |
     And the following email should have been sent:
       | recipient | Patric Sereira                                                                  |
-      | subject   | Portal: A release has been updated                                              |
+      | subject   | Interoperable Europe Portal: A release has been updated                                              |
       | body      | The release Release of the dark ship, v1 of the solution Dark Ship was updated. |
 
     # Archive and unarchive as moderator.
@@ -108,13 +108,13 @@ Feature: Asset release moderation
     And I press "Request changes"
     # The published version does not change.
     Then I should see the text "Release of the dark ship v1" in the "Page title" region
-    And the email sent to "Bonnie Holloway" with subject "Portal: Modification of a release of your solution has been requested" contains the following lines of text:
-      | the Portal moderation team requires editing the release Release, v1 of the solution Dark Ship due to I don't like it. |
-      | If you think this action is not clear or not due, please contact Portal Support at                                    |
+    And the email sent to "Bonnie Holloway" with subject "Interoperable Europe Portal: Modification of a release of your solution has been requested" contains the following lines of text:
+      | the Interoperable Europe Portal moderation team requires editing the release Release, v1 of the solution Dark Ship due to I don't like it. |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                    |
     And the following email should have been sent:
       | recipient | Felix Russell                                                                                                         |
-      | subject   | Portal: Modification of a release of your solution has been requested                                                 |
-      | body      | the Portal moderation team requires editing the release Release, v1 of the solution Dark Ship due to I don't like it. |
+      | subject   | Interoperable Europe Portal: Modification of a release of your solution has been requested                                                 |
+      | body      | the Interoperable Europe Portal moderation team requires editing the release Release, v1 of the solution Dark Ship due to I don't like it. |
 
     # We do not show the created time in the UI so another visit to the edit screen is required.
     When I go to the "Release of the dark ship" release
@@ -144,7 +144,7 @@ Feature: Asset release moderation
     Then I should see the text "Release fix v1" in the "Page title" region
     And the following email should have been sent:
       | recipient | Bonnie Holloway                                                                                    |
-      | subject   | Portal: Your release was accepted                                                                  |
+      | subject   | Interoperable Europe Portal: Your release was accepted                                                                  |
       | body      | Your proposed Release fix, v1 for the solution "Dark Ship" has been validated as per your request. |
 
     # Check archive permissions author and facilitator.
@@ -174,13 +174,13 @@ Feature: Asset release moderation
     And I press "Delete"
     And the following email should have been sent:
       | recipient | Bonnie Holloway                                            |
-      | subject   | Portal: A release has been deleted                         |
+      | subject   | Interoperable Europe Portal: A release has been deleted                         |
       | body      | release Release fix, v1 of Dark Ship solution was deleted. |
     And the following email should have been sent:
       | recipient | Felix Russell                                              |
-      | subject   | Portal: A release has been deleted                         |
+      | subject   | Interoperable Europe Portal: A release has been deleted                         |
       | body      | release Release fix, v1 of Dark Ship solution was deleted. |
     And the following email should have been sent:
       | recipient | Patric Sereira                                             |
-      | subject   | Portal: A release has been deleted                         |
+      | subject   | Interoperable Europe Portal: A release has been deleted                         |
       | body      | release Release fix, v1 of Dark Ship solution was deleted. |
diff --git a/tests/features/joinup_rss/collection_feed.feature b/tests/features/joinup_rss/collection_feed.feature
index 5e6d06d4cc..79ffcd8af8 100644
--- a/tests/features/joinup_rss/collection_feed.feature
+++ b/tests/features/joinup_rss/collection_feed.feature
@@ -1,7 +1,7 @@
 @api @group-g
 Feature: Collection RSS feed.
   In order to stay up to date with collection updates
-  As a user of Portal
+  As a user of Interoperable Europe Portal
   I want to subscribe to RSS feeds for each collection
 
   Scenario: Collection RSS feed.
diff --git a/tests/features/joinup_rss/solution_feed.feature b/tests/features/joinup_rss/solution_feed.feature
index a86d8ce8b6..944c8fb688 100644
--- a/tests/features/joinup_rss/solution_feed.feature
+++ b/tests/features/joinup_rss/solution_feed.feature
@@ -1,7 +1,7 @@
 @api @group-g
 Feature: Solution RSS feed.
   In order to stay up to date with solution updates
-  As a user of Portal
+  As a user of Interoperable Europe Portal
   I want to subscribe to RSS feeds for each solution
 
   Scenario: Solution RSS feed.
diff --git a/tests/features/joinup_search/group_search.feature b/tests/features/joinup_search/group_search.feature
index 2760096a8a..e759c20d0e 100644
--- a/tests/features/joinup_search/group_search.feature
+++ b/tests/features/joinup_search/group_search.feature
@@ -1,7 +1,7 @@
 @api @group-g
 Feature: Search inside groups
   In order to quickly find content inside the group I am currently perusing
-  As a user of Portal
+  As a user of Interoperable Europe Portal
   I want to be able to launch a search limited to my current collection or solution
 
   Background:
diff --git a/tests/features/joinup_search/search.feature b/tests/features/joinup_search/search.feature
index b1907661bb..524c72b272 100644
--- a/tests/features/joinup_search/search.feature
+++ b/tests/features/joinup_search/search.feature
@@ -80,7 +80,7 @@ Feature: Global search
     And the "spatial coverage" checkbox facet should allow selecting the following values "Belgium (1), European Union (1), Luxembourg (5)"
 
     # Check that only one search field is available. In an earlier version of
-    # Portal there were two search fields, but this was confusing users.
+    # Interoperable Europe Portal there were two search fields, but this was confusing users.
     And there should be exactly 1 "search field" on the page
 
     When I check the "Social and Political (6)" checkbox from the "topic" facet
@@ -798,7 +798,7 @@ Feature: Global search
 
     Given collection:
       | uri   | http://data.europa.eu/w21/df34e3a2-207b-4910-a804-344931654e20 |
-      | title | Portal                                                         |
+      | title | Interoperable Europe Portal                                                         |
       | state | published                                                      |
 
     # Check if suggestion does not generate any warnings.
diff --git a/tests/features/joinup_seo/basic_metatags.feature b/tests/features/joinup_seo/basic_metatags.feature
index 99606292f2..575c48c67c 100644
--- a/tests/features/joinup_seo/basic_metatags.feature
+++ b/tests/features/joinup_seo/basic_metatags.feature
@@ -9,14 +9,14 @@ Feature:
     When I am on the homepage
     Then the following meta tags should available in the html:
       | identifier    | value                                                                                                                                                                                                                      |
-      | description   | The Portal is the European Union’s platform for promoting and supporting interoperability, collaboration, and knowledge sharing across public administrations, businesses, and citizens. It acts as a one-stop shop for discovering, sharing, and reusing IT solutions and good practices.            |
-      | abstract      | Portal offers several services that aim to help e-Government professionals share their experience with each other. We also hope to support them to find, choose, re-use, develop and implement interoperability solutions. |
+      | description   | The Interoperable Europe Portal is the European Union’s platform for promoting and supporting interoperability, collaboration, and knowledge sharing across public administrations, businesses, and citizens. It acts as a one-stop shop for discovering, sharing, and reusing IT solutions and good practices.            |
+      | abstract      | Interoperable Europe Portal offers several services that aim to help e-Government professionals share their experience with each other. We also hope to support them to find, choose, re-use, develop and implement interoperability solutions. |
       | og:url        | __base_url__/                                                                                                                                                                                                              |
       | og:site_name  | Interoperable Europe Portal                                                                                                                                                                                                |
       | og:title      | Interoperable Europe Portal                                                                                                                                                                                                                     |
       | og:image      | __base_url__/themes/ventuno/assets/images/og-image.png                                                                                                                                                                     |
       | og:image:type | image/svg+xml                                                                                                                                                                                                              |
-    And the HTML title of the page should be "Portal"
+    And the HTML title of the page should be "Interoperable Europe Portal"
 
     When I visit the collection overview
     Then the following meta tags should available in the html:
diff --git a/tests/features/joinup_seo/discussion.feature b/tests/features/joinup_seo/discussion.feature
index ea92ca8b92..168ada1076 100644
--- a/tests/features/joinup_seo/discussion.feature
+++ b/tests/features/joinup_seo/discussion.feature
@@ -7,13 +7,13 @@ Feature: SEO for discussion forum posts.
   Scenario: Basic metatags are attached as JSON schema on the page.
     Given collections:
       | title                            | state     |
-      | Portal SEO discussion collection | published |
+      | Interoperable Europe Portal SEO discussion collection | published |
     And users:
       | Username          | E-mail                 | First name | Family name |
-      | Portal SEO author | joinup.seo@example.com | Kindle     | eReader     |
+      | Interoperable Europe Portal SEO author | joinup.seo@example.com | Kindle     | eReader     |
     And "discussion" content:
       | title                           | publication date          | changed                   | content                                                      | author            | attachments         | keywords                       | state     | collection                       |
-      | Discussions are now forum posts | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | This discussion is to ensure that SEO tags are set properly. | Portal SEO author | test.zip, test1.zip | seo, tags, metatag, schema.org | published | Portal SEO discussion collection |
+      | Discussions are now forum posts | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | This discussion is to ensure that SEO tags are set properly. | Interoperable Europe Portal SEO author | test.zip, test1.zip | seo, tags, metatag, schema.org | published | Interoperable Europe Portal SEO discussion collection |
 
     When I visit the "Discussions are now forum posts" discussion
     Then the metatag JSON should be attached in the page
@@ -38,7 +38,7 @@ Feature: SEO for discussion forum posts.
     And the metatag graph of the item with "name" "Discussions are now forum posts" should have the following "image" properties:
       | property | value                                                                                                                    |
       | @type    | http://schema.org/ImageObject                                                                                            |
-      # Discussions don't have an image field but an image is required by google. Add the Portal logo as the image of
+      # Discussions don't have an image field but an image is required by google. Add the Interoperable Europe Portal logo as the image of
       # all discussions.
       | url      | https://interoperable-europe.ec.europa.eu/sites/default/files/styles/logo/public/collection/logo/2019-04/190404-logo-JOINUP-blue-2.png |
     # The index is the delta in the field attachment, with 0 meaning the first of the values.
diff --git a/tests/features/joinup_seo/document.feature b/tests/features/joinup_seo/document.feature
index 3040b1b7f6..f4a7fffb07 100644
--- a/tests/features/joinup_seo/document.feature
+++ b/tests/features/joinup_seo/document.feature
@@ -7,18 +7,18 @@ Feature: SEO for document content.
   Background:
     Given collections:
       | title                          | state     |
-      | Portal SEO document collection | published |
+      | Interoperable Europe Portal SEO document collection | published |
     And licence content:
       | uri                          | title        | licence type  |
       | https://example.com/license1 | Some license | Public domain |
     And users:
       | Username          | E-mail                 | First name | Family name |
-      | Portal SEO author | portal.seo@example.com | Scrapper   | Jedi        |
+      | Interoperable Europe Portal SEO author | portal.seo@example.com | Scrapper   | Jedi        |
 
   Scenario: Basic metatags are attached as JSON schema on the page.
     Given document content:
       | title        | author            | document type | document publication date | changed                   | keywords         | short title | file type | file     | field_paragraphs_body | licence      | state     | collection                     |
-      | SEO document | Portal SEO author | document      | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | key1, key2, key3 | SEO         | upload    | test.zip | Document test1.zip    | Some license | published | Portal SEO document collection |
+      | SEO document | Interoperable Europe Portal SEO author | document      | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | key1, key2, key3 | SEO         | upload    | test.zip | Document test1.zip    | Some license | published | Interoperable Europe Portal SEO document collection |
 
     When I visit the "SEO document" document
     Then the metatag JSON should be attached in the page
@@ -76,7 +76,7 @@ Feature: SEO for document content.
   Scenario: Metatags for remote URL in documents.
     Given document content:
       | title        | author            | document publication date | changed                   | file type | file                                       | abstract                    | field_paragraphs_body   | state     | collection                     |
-      | SEO document | Portal SEO author | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | remote    | http://example.com/some-file-url.extension | Remote url example abstract | Remote url example body | published | Portal SEO document collection |
+      | SEO document | Interoperable Europe Portal SEO author | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | remote    | http://example.com/some-file-url.extension | Remote url example abstract | Remote url example body | published | Interoperable Europe Portal SEO document collection |
 
     When I visit the "SEO document" document
     Then the metatag JSON should be attached in the page
diff --git a/tests/features/joinup_seo/news.feature b/tests/features/joinup_seo/news.feature
index 9fc89b1b97..10e80f9e03 100644
--- a/tests/features/joinup_seo/news.feature
+++ b/tests/features/joinup_seo/news.feature
@@ -7,28 +7,28 @@ Feature: SEO for news articles.
   Scenario: Basic metatags are attached as JSON schema on the page.
     Given collections:
       | title                      | state     |
-      | Portal SEO news collection | published |
+      | Interoperable Europe Portal SEO news collection | published |
     And users:
       | Username          | E-mail                 | First name | Family name |
-      | Portal SEO author | joinup.seo@example.com | Kurk       | Smith       |
+      | Interoperable Europe Portal SEO author | joinup.seo@example.com | Kurk       | Smith       |
     And "news" content:
       | title           | headline                    | logo     | field_paragraphs_body | created                   | publication date          | changed                   | state     | author            | collection                 |
-      | Portal SEO news | Headline of Portal SEO news | logo.png | Body of news.         | Sun, 01 Dec 2019 13:00:00 | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | published | Portal SEO author | Portal SEO news collection |
+      | Interoperable Europe Portal SEO news | Headline of Interoperable Europe Portal SEO news | logo.png | Body of news.         | Sun, 01 Dec 2019 13:00:00 | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | published | Interoperable Europe Portal SEO author | Interoperable Europe Portal SEO news collection |
 
-    When I visit the "Portal SEO news" news
+    When I visit the "Interoperable Europe Portal SEO news" news
     Then the metatag JSON should be attached in the page
     And 1 metatag graph of type "http://schema.org/NewsArticle" should exist in the page
-    And the metatag graph of the item with "name" "Portal SEO news" should have the following properties:
+    And the metatag graph of the item with "name" "Interoperable Europe Portal SEO news" should have the following properties:
       | property            | value                                                                   |
       | @type               | http://schema.org/NewsArticle                                           |
-      | headline            | Headline of Portal SEO news                                             |
+      | headline            | Headline of Interoperable Europe Portal SEO news                                             |
       | description         | Body of news.                                                           |
       | isAccessibleForFree | True                                                                    |
       | datePublished       | 2019-12-25T13:00:00+0000                                                |
       | dateModified        | 2020-01-01T13:00:00+0000                                                |
       # __base_url__ will be replaced with the base url of the website.
       | mainEntityOfPage    | __base_url__/collection/portal-seo-news-collection/news/portal-seo-news |
-    And the metatag graph of the item with "name" "Portal SEO news" should have the following "image" properties:
+    And the metatag graph of the item with "name" "Interoperable Europe Portal SEO news" should have the following "image" properties:
       | property             | value                         |
       | @type                | http://schema.org/ImageObject |
       | representativeOfPage | True                          |
@@ -37,13 +37,13 @@ Feature: SEO for news articles.
       # a way.
       | width                | 377         |
       | height               | 139         |
-    And the metatag graph of the item with "name" "Portal SEO news" should have the following "author" properties:
+    And the metatag graph of the item with "name" "Interoperable Europe Portal SEO news" should have the following "author" properties:
       | property | value                             |
       | @type    | http://schema.org/Person          |
       | @id      | __base_url__/user/__random_text__ |
       | name     | Kurk Smith                        |
       | url      | __base_url__/user/__random_text__ |
-    And the metatag graph of the item with "name" "Portal SEO news" should have the following "publisher" properties:
+    And the metatag graph of the item with "name" "Interoperable Europe Portal SEO news" should have the following "publisher" properties:
       | property | value                             |
       | @type    | http://schema.org/Person          |
       | @id      | __base_url__/user/__random_text__ |
@@ -54,7 +54,7 @@ Feature: SEO for news articles.
       | description            | Body of news.                                                           |
       | og:url                 | __base_url__/collection/portal-seo-news-collection/news/portal-seo-news |
       | og:site_name           | Interoperable Europe Portal                                             |
-      | og:title               | Portal SEO news                                                         |
+      | og:title               | Interoperable Europe Portal SEO news                                                         |
       | og:description         | Body of news.                                                           |
       | og:image               | __base_url__/sites/default/files/__random_text__.jpg                    |
       | og:image:type          | image/jpeg                                                              |
@@ -65,7 +65,7 @@ Feature: SEO for news articles.
       | article:modified_time  | 2020-01-01T13:00:00+0000                                                |
 
     When I visit the content overview
-    Then I should see the "Portal SEO news" tile
+    Then I should see the "Interoperable Europe Portal SEO news" tile
     # No metatags are defined for the keep up to date page.
     # No metatags JSON in general means also that the entity metatags of the news item
     # is also not attached when the tile is present.
diff --git a/tests/features/joinup_subscription/collection.content.subscription.feature b/tests/features/joinup_subscription/collection.content.subscription.feature
index c552f790da..44691f9138 100644
--- a/tests/features/joinup_subscription/collection.content.subscription.feature
+++ b/tests/features/joinup_subscription/collection.content.subscription.feature
@@ -127,7 +127,7 @@ Feature: Subscribing to community content in collections
       | Duck liver           |
       | Rose oil             |
       | Sunflower seeds      |
-    And the content subscription digest sent to hristo should have the subject "Portal: Daily digest message"
+    And the content subscription digest sent to hristo should have the subject "Interoperable Europe Portal: Daily digest message"
 
     And the group content subscription digest sent to bisera contains the following sections:
       | title                |
@@ -138,7 +138,7 @@ Feature: Subscribing to community content in collections
       | Products of Bulgaria |
       | Canned cherries      |
       | Rose oil             |
-    And the content subscription digest sent to bisera should have the subject "Portal: Weekly digest message"
+    And the content subscription digest sent to bisera should have the subject "Interoperable Europe Portal: Weekly digest message"
 
     And the group content subscription digest sent to kalin contains the following sections:
       | title                |
@@ -150,7 +150,7 @@ Feature: Subscribing to community content in collections
       | Products of Bulgaria |
       | Canned cherries      |
       | Sunflower seeds      |
-    And the content subscription digest sent to kalin should have the subject "Portal: Monthly digest message"
+    And the content subscription digest sent to kalin should have the subject "Interoperable Europe Portal: Monthly digest message"
 
     # No message for aleks@primer.bg (blocked) and penka@primer.bg (cancelled).
     And 4 e-mails should have been sent to recipients "kalin@primer.bg, hristo@example.bg, bisera@example.bg"
diff --git a/tests/features/joinup_subscription/community.content.subscriptions.feature b/tests/features/joinup_subscription/community.content.subscriptions.feature
index 025b6063bd..3cc99f3275 100644
--- a/tests/features/joinup_subscription/community.content.subscriptions.feature
+++ b/tests/features/joinup_subscription/community.content.subscriptions.feature
@@ -1,6 +1,6 @@
 @api @group-g
 Feature: Subscribing to community content in collections and solutions
-  As an avid fan of Portal
+  As an avid fan of Interoperable Europe Portal
   I want to receive a periodic digest listing newly published content
   So that I can stay informed about everything
 
@@ -80,7 +80,7 @@ Feature: Subscribing to community content in collections and solutions
       | Null geodesics         |
       | Deflected rays         |
 
-    And the email sent to jpluminet with subject "Portal: Daily digest message" contains the following lines of text:
+    And the email sent to jpluminet with subject "Interoperable Europe Portal: Daily digest message" contains the following lines of text:
       | Daily digest message                                                     |
       | Dear Jean-Pierre,                                                        |
       | New content published in Black hole imaging                              |
@@ -111,5 +111,5 @@ Feature: Subscribing to community content in collections and solutions
       | Read more                                                                |
       | Kind regards,                                                            |
       | The Portal Support Team                                                  |
-      | You received this email because you opted in for Portal digest messages. |
+      | You received this email because you opted in for Interoperable Europe Portal digest messages. |
       | Manage your subscription notifications or unsubscribe from all.          |
diff --git a/tests/features/joinup_subscription/solution.content.subscription.feature b/tests/features/joinup_subscription/solution.content.subscription.feature
index 37bd8e5668..e66d7ea01e 100644
--- a/tests/features/joinup_subscription/solution.content.subscription.feature
+++ b/tests/features/joinup_subscription/solution.content.subscription.feature
@@ -139,7 +139,7 @@ Feature: Subscribing to community content in solutions
       | Rose oil              |
       | Spring discounts      |
       | Sunflower seeds       |
-    And the content subscription digest sent to hristo should have the subject "Portal: Daily digest message"
+    And the content subscription digest sent to hristo should have the subject "Interoperable Europe Portal: Daily digest message"
 
     And the group content subscription digest sent to bisera contains the following sections:
       | title                |
@@ -153,7 +153,7 @@ Feature: Subscribing to community content in solutions
       # @todo Re-enable this in ISAICP-8943.
       # | 21/03/2021           |
       | Spring 2021          |
-    And the content subscription digest sent to bisera should have the subject "Portal: Weekly digest message"
+    And the content subscription digest sent to bisera should have the subject "Interoperable Europe Portal: Weekly digest message"
 
     And the group content subscription digest sent to kalin contains the following sections:
       | title                 |
@@ -167,7 +167,7 @@ Feature: Subscribing to community content in solutions
       | Spring 2021           |
       | Spring discounts      |
       | Sunflower seeds       |
-    And the content subscription digest sent to kalin should have the subject "Portal: Monthly digest message"
+    And the content subscription digest sent to kalin should have the subject "Interoperable Europe Portal: Monthly digest message"
 
     # No message for aleks@primer.bg (blocked) and penka@primer.bg (cancelled).
     And 4 e-mails should have been sent to recipients "kalin@primer.bg, hristo@example.bg, bisera@example.bg"
diff --git a/tests/features/legal/legal_notice.feature b/tests/features/legal/legal_notice.feature
index 2ddb93cbfc..54bbba90ef 100644
--- a/tests/features/legal/legal_notice.feature
+++ b/tests/features/legal/legal_notice.feature
@@ -1,6 +1,6 @@
 @api @group-h
 Feature:
-  - As a visitor, in order to register to Portal, I have to accept the site's
+  - As a visitor, in order to register to Interoperable Europe Portal, I have to accept the site's
     'Legal notice', otherwise I cannot register.
   - As registered user, in order to login when a new version of 'Legal notice'
     has been released, I have to accept the new version, otherwise I cannot
@@ -36,7 +36,7 @@ Feature:
     # After accepting the agreement the user can continue.
     Given I check "I have read and accept the Legal notice"
     And I press "Submit"
-    Then I should see the success message "Fill in the fields below to let the Portal community learn more about you!"
+    Then I should see the success message "Fill in the fields below to let the Interoperable Europe Portal community learn more about you!"
 
     # The user has been redirected to its user account edit form.
     And the following fields should be present "Email, First name, Family name, Photo, Country of origin, Professional domain, Business title"
diff --git a/tests/features/machine_translation.feature b/tests/features/machine_translation.feature
index 9de9a2375e..8505dc1b73 100644
--- a/tests/features/machine_translation.feature
+++ b/tests/features/machine_translation.feature
@@ -102,5 +102,5 @@ Feature: Machine translation
     Then I should not see any Webtools eTrans elements
 
     # Pages that are not content focused should not be translatable.
-    When I click "Contact Portal Support" in the "Footer" region
+    When I click "Contact Interoperable Europe Portal Support" in the "Footer" region
     Then I should not see any Webtools eTrans elements
diff --git a/tests/features/menus/support_menu.feature b/tests/features/menus/support_menu.feature
index 1852c01531..03d237385c 100644
--- a/tests/features/menus/support_menu.feature
+++ b/tests/features/menus/support_menu.feature
@@ -45,8 +45,8 @@ Feature:
 
     When I am on the homepage
     Then I should <homepage expectation> the link "Take a tour" in the "Footer"
-    And I should see the link "Contact Portal Support"
-    Then I click "Contact Portal Support"
+    And I should see the link "Contact Interoperable Europe Portal Support"
+    Then I click "Contact Interoperable Europe Portal Support"
     And I fill in the following:
       | First name     | Rufus                       |
       | Last name      | Modric                      |
@@ -60,8 +60,8 @@ Feature:
 
     When I visit the collection overview page
     Then I should not see the link "Take a tour"
-    But I should see the link "Contact Portal Support"
-    When I click "Contact Portal Support"
+    But I should see the link "Contact Interoperable Europe Portal Support"
+    When I click "Contact Interoperable Europe Portal Support"
     And I fill in the following:
       | First name     | Oswine                      |
       | Last name      | Wulfric                     |
@@ -75,8 +75,8 @@ Feature:
 
     When I visit the content overview page
     Then I should see the link "Take a tour"
-    And I should see the link "Contact Portal Support"
-    When I click "Contact Portal Support"
+    And I should see the link "Contact Interoperable Europe Portal Support"
+    When I click "Contact Interoperable Europe Portal Support"
     And I fill in the following:
       | First name     | Roscof                      |
       | Last name      | Vulvric                     |
@@ -90,11 +90,11 @@ Feature:
 
     When I go to the homepage of the "Hotel California" collection
     Then I should see the link "Take a tour"
-    And I should see the link "Contact Portal Support"
+    And I should see the link "Contact Interoperable Europe Portal Support"
 
     When I go to "/user"
     Then I should <user page expectation> the link "Take a tour"
-    And I should see the link "Contact Portal Support"
+    And I should see the link "Contact Interoperable Europe Portal Support"
 
     Examples:
       | role                                 | user page expectation | homepage expectation |
@@ -126,12 +126,12 @@ Feature:
     When I click "Edit" in the "Take a tour" row
     Then I should see the heading "Edit menu link Take a tour"
     When I move backward one page
-    And I click "Edit" in the "Contact Portal Support" row
-    Then I should see the heading "Edit menu link Contact Portal Support"
+    And I click "Edit" in the "Contact Interoperable Europe Portal Support" row
+    Then I should see the heading "Edit menu link Contact Interoperable Europe Portal Support"
 
     Given I am an anonymous user
     And I am on the homepage
-    Then I should see the link "Contact Portal Support"
+    Then I should see the link "Contact Interoperable Europe Portal Support"
     And I should see "Arbitrary support menu link"
     # Tour has been disabled.
     But I should not see the link "Take a tour"
@@ -158,7 +158,7 @@ Feature:
 
     Given I am an anonymous user
     When I am on the homepage
-    Then I should see the link "Contact Portal Support"
+    Then I should see the link "Contact Interoperable Europe Portal Support"
     # The custom link has been deleted.
     But I should not see "Arbitrary support menu link"
     # Tour has been re-enabled.
diff --git a/tests/features/menus/whats_new.feature b/tests/features/menus/whats_new.feature
index d3a286ab66..9058afd7ef 100644
--- a/tests/features/menus/whats_new.feature
+++ b/tests/features/menus/whats_new.feature
@@ -3,7 +3,7 @@
 # but this functionality will probably be restored in the future.
 Feature:
   As a moderator of the website
-  In order to draw the attention of the users for the changes in Portal
+  In order to draw the attention of the users for the changes in Interoperable Europe Portal
   I need to be able to mark the new menu item with special styling.
 
   Background:
diff --git a/tests/features/moderator/message_overview.feature b/tests/features/moderator/message_overview.feature
index e2b8e100b4..44dd62ce91 100644
--- a/tests/features/moderator/message_overview.feature
+++ b/tests/features/moderator/message_overview.feature
@@ -7,7 +7,7 @@ Feature: Solutions message overview
   Scenario: Contact form messages are available in the message overview.
     And I am not logged in
     When I am on the homepage
-    And I click "Contact Portal Support" in the "Footer" region
+    And I click "Contact Interoperable Europe Portal Support" in the "Footer" region
     Then I should see the heading "Contact"
 
     When I fill in the following:
@@ -67,7 +67,7 @@ Feature: Solutions message overview
       | To approve or reject this proposal, please go to                                   |
       | You'll be able to provide feedback.                                                |
       | The requestor will be notified of your decision and feedback.                      |
-      | If you think this action is not clear or not due, please contact Portal Support at |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at |
 
     # Clean up the collection that was created.
     And I delete the "Message overview proposal" collection
diff --git a/tests/features/smoke_test.feature b/tests/features/smoke_test.feature
index 21b83c284b..7dbe00d173 100644
--- a/tests/features/smoke_test.feature
+++ b/tests/features/smoke_test.feature
@@ -1,11 +1,11 @@
 @group-clone @api
 Feature: Minimal install clone testing.
 
-  Scenario: Visit Portal collection.
+  Scenario: Visit Interoperable Europe Portal collection.
 
     Given I am an anonymous user
     When I visit "/search?keys=joinup&f[0]=type:collection"
-    Then I should see the "The Portal" tile
+    Then I should see the "The Interoperable Europe Portal" tile
     And I should see "The European Commission provides this common place"
 
   Scenario: Assert that the cache backend is set to memcache.
diff --git a/tests/features/solution/add_solution.feature b/tests/features/solution/add_solution.feature
index 6ed11d614e..00dd1a102b 100644
--- a/tests/features/solution/add_solution.feature
+++ b/tests/features/solution/add_solution.feature
@@ -106,9 +106,9 @@ Feature: "Add solution" visibility options.
     And the option with text "Completed" from select "Status" is selected
     And the "Show solutions related by EIRA terms" checkbox should not be checked
     And I press "Propose"
-    Then the email sent to "Ruth Lee" with subject "Portal: A new solution has been proposed" contains the following lines of text:
-      | Wendell Silva has proposed a new Interoperability solution: "Espresso is the solution" on Portal. |
-      | If you think this action is not clear or not due, please contact Portal Support at                |
+    Then the email sent to "Ruth Lee" with subject "Interoperable Europe Portal: A new solution has been proposed" contains the following lines of text:
+      | Wendell Silva has proposed a new Interoperability solution: "Espresso is the solution" on Interoperable Europe Portal. |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                |
     And I should see "Thank you for proposing a solution. Your request is currently pending approval by the site administrator."
     And Log entry with the message "A new solution entity titled Espresso is the solution has been created by Wendell Silva in Belgian barista's." should exist.
 
@@ -133,7 +133,7 @@ Feature: "Add solution" visibility options.
     But I should see the link "Demography"
     And the following email should have been sent:
       | recipient | Wendell Silva                                                                                               |
-      | subject   | Portal: Your solution has been accepted                                                                     |
+      | subject   | Interoperable Europe Portal: Your solution has been accepted                                                                     |
       | body      | Your proposed interoperability solution: "Espresso is the solution" has been validated as per your request. |
 
     When I am logged in as a facilitator of the "Belgian barista's" collection
diff --git a/tests/features/solution/manage_solutions.archive.feature b/tests/features/solution/manage_solutions.archive.feature
index 360cbb117b..439fa783a1 100644
--- a/tests/features/solution/manage_solutions.archive.feature
+++ b/tests/features/solution/manage_solutions.archive.feature
@@ -110,24 +110,24 @@ Feature: When a solution is archived then its sub-content also should be archive
     And 2 e-mails should have been sent
     And the following email should have been sent:
       | recipient | John Moderator                     |
-      | subject   | Portal: Solution has been archived |
-    And the email sent to "John Moderator" with subject "Portal: Solution has been archived" contains the following lines of text:
+      | subject   | Interoperable Europe Portal: Solution has been archived |
+    And the email sent to "John Moderator" with subject "Interoperable Europe Portal: Solution has been archived" contains the following lines of text:
       | Dear John,                                                           |
       | The Solution, along with its associated content items, has been      |
       | archived. Even though the Solution has been archived, you can still  |
       | access its pages through the Advanced Search page by selecting 'Show |
       | only Archived items' or through the Collection it belonged to.       |
-      | If you think this action is not clear, please contact Portal Support |
+      | If you think this action is not clear, please contact Interoperable Europe Portal Support |
       | at                                                                   |
     # The email sent to Liam (the contact person of the solution) won't contain
     # the "Dear Liam," greeting since Liam does not have a user account on
-    # Portal.
-    And the email sent to "liam.smith@example.com" with subject "Portal: Solution has been archived" contains the following lines of text:
+    # Interoperable Europe Portal.
+    And the email sent to "liam.smith@example.com" with subject "Interoperable Europe Portal: Solution has been archived" contains the following lines of text:
       | The Solution, along with its associated content items, has been      |
       | archived. Even though the Solution has been archived, you can still  |
       | access its pages through the Advanced Search page by selecting 'Show |
       | only Archived items' or through the Collection it belonged to.       |
-      | If you think this action is not clear, please contact Portal Support |
+      | If you think this action is not clear, please contact Interoperable Europe Portal Support |
       | at                                                                   |
 
     When I go to the homepage of the "Solution" solution
diff --git a/tests/features/solution/solution.notifications.feature b/tests/features/solution/solution.notifications.feature
index 810d7179d5..f2d3d2252b 100644
--- a/tests/features/solution/solution.notifications.feature
+++ b/tests/features/solution/solution.notifications.feature
@@ -43,9 +43,9 @@ Feature: Solution notifications
     Then I should see the error message "This action requires you to fill in the motivation field"
     When I fill in "Motivation" with "Please, check my updates"
     And I press "Propose"
-    Then the email sent to "Ramiro Myers" with subject "Portal: Changes have been proposed for your solution" contains the following lines of text:
+    Then the email sent to "Ramiro Myers" with subject "Interoperable Europe Portal: Changes have been proposed for your solution" contains the following lines of text:
       | The Portal Support Team has requested you to modify the interoperability solution "Solution notification to propose changes", with the following motivation: Please, check my updates. |
-      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                     |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                                     |
 
     # Template 13. The moderation team blacklists a solution.
     When I go to the homepage of the "Solution notification to blacklist" solution
@@ -53,7 +53,7 @@ Feature: Solution notifications
     And I press "Blacklist"
     Then the following email should have been sent:
       | recipient | Ramiro Myers                                                                                                                                                 |
-      | subject   | Portal: Your interoperability solution is blacklisted                                                                                                        |
+      | subject   | Interoperable Europe Portal: Your interoperability solution is blacklisted                                                                                                        |
       | body      | the moderator has blacklisted your interoperability solution - Solution notification to blacklist, you can contact the moderation team to resolve the issue. |
 
     # Template 14. The moderation team restores a solution from blacklisted.
@@ -62,7 +62,7 @@ Feature: Solution notifications
     And I press "Publish"
     Then the following email should have been sent:
       | recipient | Ramiro Myers                                                                                                                              |
-      | subject   | Portal: Your interoperability solution is published again                                                                                 |
+      | subject   | Interoperable Europe Portal: Your interoperability solution is published again                                                                                 |
       | body      | the moderator has published back your interoperability solution - Solution notification to publish from blacklisted that was blacklisted. |
 
     # Template 15. The moderation team requests changes.
@@ -75,12 +75,12 @@ Feature: Solution notifications
     And I press "Request changes"
     Then the following email should have been sent:
       | recipient | Ramiro Myers                                                                                                                                                              |
-      | subject   | Portal: You are requested to update your solution                                                                                                                         |
+      | subject   | Interoperable Europe Portal: You are requested to update your solution                                                                                                                         |
       | body      | the moderator has requested you to modify the interoperability solution - Solution notification to request changes following the following advises: Can you change this?. |
       | bcc       | pat.harper@example.com,jack.harper@example.com                                                                                                                            |
-    And the email sent to "Ramiro Myers" with subject "Portal: You are requested to update your solution" contains the following lines of text:
+    And the email sent to "Ramiro Myers" with subject "Interoperable Europe Portal: You are requested to update your solution" contains the following lines of text:
       | the moderator has requested you to modify the interoperability solution - Solution notification to request changes following the following advises: Can you change this?. |
-      | If you think this action is not clear or not due, please contact Portal Support at                                                                                        |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                        |
 
     # Template 18. The moderation team deletes a solution without prior request.
     When I go to the homepage of the "Solution notification to delete by moderator team" solution
@@ -89,8 +89,8 @@ Feature: Solution notifications
     And I press "Delete"
     Then the following email should have been sent:
       | recipient | Ramiro Myers                                                                                                        |
-      | subject   | Portal: Your solution has been deleted by the moderation team                                                       |
-      | body      | The Portal moderation team deleted the interoperability solution Solution notification to delete by moderator team. |
+      | subject   | Interoperable Europe Portal: Your solution has been deleted by the moderation team                                                       |
+      | body      | The Interoperable Europe Portal moderation team deleted the interoperability solution Solution notification to delete by moderator team. |
 
     When I am logged in as "Ramiro Myers"
 
@@ -98,9 +98,9 @@ Feature: Solution notifications
     When I go to the homepage of the "Solution notification to propose from request changes" solution
     And I click "Edit" in the "Entity actions" region
     And I press "Propose"
-    Then the email sent to "Pat Harper" with subject "Portal: An update of a solution has been proposed" contains the following lines of text:
-      | Ramiro Myers has proposed an update of the Interoperability solution: "Solution notification to propose from request changes" on Portal. |
-      | If you think this action is not clear or not due, please contact Portal Support at                                                       |
+    Then the email sent to "Pat Harper" with subject "Interoperable Europe Portal: An update of a solution has been proposed" contains the following lines of text:
+      | Ramiro Myers has proposed an update of the Interoperability solution: "Solution notification to propose from request changes" on Interoperable Europe Portal. |
+      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                       |
 
     # The owner deletes their own solution. No email should be sent to the owner
     # since we do not send notifications to the actor.
diff --git a/tests/features/solution/solution_overview.feature b/tests/features/solution/solution_overview.feature
index de276c4a29..8ac6c4d08b 100644
--- a/tests/features/solution/solution_overview.feature
+++ b/tests/features/solution/solution_overview.feature
@@ -1,6 +1,6 @@
 @api @group-i
 Feature: Solutions Overview
-  As a new visitor of the Portal website
+  As a new visitor of the Interoperable Europe Portal website
   To get an idea of the various solutions that are available
   I should see a list of all solutions
 
@@ -77,14 +77,14 @@ Feature: Solutions Overview
     Given I am an anonymous user
     When I visit the solution overview
     Then I should see the heading "Solutions"
-    And I should see the text "A solution on Portal is a framework, tool, or service either hosted directly on Portal or federated from third-party repositories."
+    And I should see the text "A solution on Interoperable Europe Portal is a framework, tool, or service either hosted directly on Interoperable Europe Portal or federated from third-party repositories."
     And the page should be cacheable
 
     # Access the page as a moderator to ensure proper caching.
     Given I am logged in as a "moderator"
     When I visit the solution overview
     Then I should see the heading "Solutions"
-    And I should see the text "A solution on Portal is a framework, tool, or service either hosted directly on Portal or federated from third-party repositories."
+    And I should see the text "A solution on Interoperable Europe Portal is a framework, tool, or service either hosted directly on Interoperable Europe Portal or federated from third-party repositories."
     And I should see the "Non electronic health" tile
     And I should see the "Closed data" tile
     And I should see the "Isolating Europe" tile
@@ -95,7 +95,7 @@ Feature: Solutions Overview
     Given I am logged in as "Madam Shirley"
     When I visit the solution overview
     Then I should see the heading "Solutions"
-    And I should see the text "A solution on Portal is a framework, tool, or service either hosted directly on Portal or federated from third-party repositories."
+    And I should see the text "A solution on Interoperable Europe Portal is a framework, tool, or service either hosted directly on Interoperable Europe Portal or federated from third-party repositories."
     Then I should see the "Non electronic health" tile
     And I should see the "Closed data" tile
     And I should see the "Isolating Europe" tile
@@ -106,7 +106,7 @@ Feature: Solutions Overview
     Given I am an anonymous user
     When I visit the solution overview
     Then I should see the heading "Solutions"
-    And I should see the text "A solution on Portal is a framework, tool, or service either hosted directly on Portal or federated from third-party repositories."
+    And I should see the text "A solution on Interoperable Europe Portal is a framework, tool, or service either hosted directly on Interoperable Europe Portal or federated from third-party repositories."
     And I should see the link "Non electronic health"
     And I should not see the text "Supports health-related fields"
     And I should see the link "Closed data"
diff --git a/tests/features/solution/tca.feature b/tests/features/solution/tca.feature
index 9f4ee6e975..29bb68531c 100644
--- a/tests/features/solution/tca.feature
+++ b/tests/features/solution/tca.feature
@@ -15,6 +15,6 @@ Feature: Solution TCA agreement
 
     Then I should see the heading "Terms of agreement"
     And I should see the following lines of text:
-      | The eligibility criteria of Portal's interoperability solutions have been redefined.                           |
+      | The eligibility criteria of Interoperable Europe Portal's interoperability solutions have been redefined.                           |
       | In order to create the Solution you need first check the field below and then press the Yes button to proceed. |
       | I have read and accept the legal notice and I commit to manage my solution on a regular basis.                 |
diff --git a/tests/features/user/block.feature b/tests/features/user/block.feature
index 961855ccf0..25c0938f1a 100644
--- a/tests/features/user/block.feature
+++ b/tests/features/user/block.feature
@@ -24,7 +24,7 @@ Feature: Block users
     And the following email should have been sent:
       | recipient | Liam Lego                                                                                                                 |
       | subject   | Your account was just blocked.                                                                                            |
-      | body      | Your Portal account was recently blocked by our moderators. For more information about blocked accounts, please visit our |
+      | body      | Your Interoperable Europe Portal account was recently blocked by our moderators. For more information about blocked accounts, please visit our |
 
     # Empty the inbox.
     Given I mark all emails as read
@@ -51,7 +51,7 @@ Feature: Block users
     And the following email should have been sent:
       | recipient | Liam Lego                                                                                                                 |
       | subject   | Your account was just blocked.                                                                                            |
-      | body      | Your Portal account was recently blocked by our moderators. For more information about blocked accounts, please visit our |
+      | body      | Your Interoperable Europe Portal account was recently blocked by our moderators. For more information about blocked accounts, please visit our |
 
     # Empty the inbox.
     Given I mark all emails as read
diff --git a/tests/features/user/cancel.feature b/tests/features/user/cancel.feature
index 9dca14caad..277a29b675 100644
--- a/tests/features/user/cancel.feature
+++ b/tests/features/user/cancel.feature
@@ -23,7 +23,7 @@ Feature:
     And the following email should have been sent:
       | recipient_mail | AliciaPotter@example.com                                                                                                                                                                                                                                            |
       | subject        | Your account has been deleted.                                                                                                                                                                                                                                      |
-      | body           | Your account alicia__1997 has been deleted. This action has been done in the framework of moderation activities regularly conducted on the Portal platform. If you believe that this action has been performed by mistake, please contact The Portal Support Team at |
+      | body           | Your account alicia__1997 has been deleted. This action has been done in the framework of moderation activities regularly conducted on the Interoperable Europe Portal platform. If you believe that this action has been performed by mistake, please contact The Portal Support Team at |
     And 1 e-mail should have been sent
     And the "alicia__1997" user account is cancelled
     And the "Alicia Potter" table row doesn't contain a checkbox
@@ -58,7 +58,7 @@ Feature:
     And the following email should have been sent:
       | recipient_mail | AliciaPotter@example.com                                                                                                                                                                                                                                            |
       | subject        | Your account has been deleted.                                                                                                                                                                                                                                      |
-      | body           | Your account alicia__1997 has been deleted. This action has been done in the framework of moderation activities regularly conducted on the Portal platform. If you believe that this action has been performed by mistake, please contact The Portal Support Team at |
+      | body           | Your account alicia__1997 has been deleted. This action has been done in the framework of moderation activities regularly conducted on the Interoperable Europe Portal platform. If you believe that this action has been performed by mistake, please contact The Portal Support Team at |
     # We cannot assert the number of emails because of created content that
     # sends messages to administrators and moderators. Depending on environment
     # the list of recipients might differ. That's why we're only asserting that
diff --git a/tests/features/user/profile.feature b/tests/features/user/profile.feature
index 69d84d4cfa..bef276d7d6 100644
--- a/tests/features/user/profile.feature
+++ b/tests/features/user/profile.feature
@@ -94,7 +94,7 @@ Feature: User profile
     And the following email should have been sent:
       | recipient | Leonardo Da Vinci                                                                                         |
       | subject   | The Portal Support Team updated your account Interoperable Europe Portal                                            |
-      | body      | A moderator has edited your user profile on Portal. Please check your profile to verify the changes done. |
+      | body      | A moderator has edited your user profile on Interoperable Europe Portal. Please check your profile to verify the changes done. |
 
   Scenario: The user public profile page shows the content he's author of or is member of.
     Given users:
diff --git a/tests/features/user/register.feature b/tests/features/user/register.feature
index 8381dd4756..e03a74affb 100644
--- a/tests/features/user/register.feature
+++ b/tests/features/user/register.feature
@@ -23,8 +23,8 @@ Feature: User registration
       | Active                     | 1                  |
     Then the following email should have been sent:
       | recipient | miomio                                                                                                                          |
-      | subject   | Your Portal account was created successfully.                                                                                   |
-      | body      | The Portal Support Team created your account on Portal. Please log in through the following link in order to set your password. |
+      | subject   | Your Interoperable Europe Portal account was created successfully.                                                                                   |
+      | body      | The Portal Support Team created your account on Interoperable Europe Portal. Please log in through the following link in order to set your password. |
     # Only the email about the creation of the account should be sent. This
     # check ensures that we do not accidentally trigger any other notifications.
     And 1 e-mail should have been sent
diff --git a/tests/features/user/roles.feature b/tests/features/user/roles.feature
index b8e8cf2762..70e04e3c70 100644
--- a/tests/features/user/roles.feature
+++ b/tests/features/user/roles.feature
@@ -64,7 +64,7 @@ Feature: User role management
     And the following email should have been sent:
       | recipient | Nibby Noob                                                                                                |
       | subject   | The Portal Support Team updated your account Interoperable Europe Portal                                            |
-      | body      | A moderator has edited your user profile on Portal. Please check your profile to verify the changes done. |
+      | body      | A moderator has edited your user profile on Interoperable Europe Portal. Please check your profile to verify the changes done. |
 
     Given I am on the homepage
     When I mark all emails as read
@@ -98,7 +98,7 @@ Feature: User role management
     And the following email should have been sent:
       | recipient | Nibby Noob                                                                                                |
       | subject   | The Portal Support Team updated your account Interoperable Europe Portal                                            |
-      | body      | A moderator has edited your user profile on Portal. Please check your profile to verify the changes done. |
+      | body      | A moderator has edited your user profile on Interoperable Europe Portal. Please check your profile to verify the changes done. |
 
     When I am logged in as "Nibby Noob"
     And I go to the "Open licence" licence
diff --git a/tests/fixtures/files/single_solution_valid_adms.rdf b/tests/fixtures/files/single_solution_valid_adms.rdf
index bce472c705..318d2a811b 100644
--- a/tests/fixtures/files/single_solution_valid_adms.rdf
+++ b/tests/fixtures/files/single_solution_valid_adms.rdf
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- Demo file including entities to be imported.
-     This file represents a remote repository file so no Drupal/Portal properties are included.
+     This file represents a remote repository file so no Drupal/Interoperable Europe Portal properties are included.
      After import, the following properties need to be taken care of:
      Solution:
        - Title. This is a federated property but there have been cases that it is missing.
diff --git a/tests/fixtures/files/valid_adms.rdf b/tests/fixtures/files/valid_adms.rdf
index 766eab5e3f..13baac50f2 100644
--- a/tests/fixtures/files/valid_adms.rdf
+++ b/tests/fixtures/files/valid_adms.rdf
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- Demo file including entities to be imported.
-     This file represents a remote repository file so no Drupal/Portal properties are included.
+     This file represents a remote repository file so no Drupal/Interoperable Europe Portal properties are included.
      After import, the following properties need to be taken care of:
      Solution:
        - Title. This is a federated property but there have been cases that it is missing.
diff --git a/tests/src/Context/AdmsValidatorContext.php b/tests/src/Context/AdmsValidatorContext.php
index 16fabf68e3..fb0b0de1e7 100644
--- a/tests/src/Context/AdmsValidatorContext.php
+++ b/tests/src/Context/AdmsValidatorContext.php
@@ -15,7 +15,7 @@ class AdmsValidatorContext extends RawDrupalContext {
   /**
    * Asserts that entities in the published graph are ADMS-AP compliant.
    *
-   * @Then the ADMS-AP data of the published entities in Portal is valid
+   * @Then the ADMS-AP data of the published entities in Interoperable Europe Portal is valid
    */
   public function assertValidPublishedGraph(): void {
     /** @var \Drupal\sparql_entity_storage\SparqlEntityStorageGraphHandlerInterface $sparql_graph */
diff --git a/tests/src/Context/CollectionContext.php b/tests/src/Context/CollectionContext.php
index ca389c5ad1..832e6ad653 100644
--- a/tests/src/Context/CollectionContext.php
+++ b/tests/src/Context/CollectionContext.php
@@ -125,7 +125,7 @@ public function assertCollectionPath(string $collection): void {
   /**
    * Navigates to the collections overview page.
    *
-   * @todo This is currently dependent on the Portal profile being installed,
+   * @todo This is currently dependent on the Interoperable Europe Portal profile being installed,
    *   since the view providing this overview page is exported in the profile.
    *   Remove this todo when ISAICP-5176 is fixed.
    *
@@ -665,10 +665,10 @@ public function updateCollectionName(string $collection, string $name): void {
   }
 
   /**
-   * Creates the standard 'Portal' collection.
+   * Creates the standard 'Interoperable Europe Portal' collection.
    *
    * @return \Drupal\collection\Entity\CollectionInterface
-   *   The 'Portal' collection.
+   *   The 'Interoperable Europe Portal' collection.
    *
    * @BeforeScenario @joinup_collection&&@api
    *
@@ -677,7 +677,7 @@ public function updateCollectionName(string $collection, string $name): void {
   public function createJoinupCollection(): CollectionInterface {
     return $this->createCollection([
       'id' => JoinupCollectionHelper::getCollectionId(),
-      'label' => 'Portal',
+      'label' => 'Interoperable Europe Portal',
       'field_ar_state' => 'published',
     ]);
   }
@@ -722,7 +722,7 @@ public function assertGlossaryNavigator(?string $expected_navigator = NULL): voi
    * collection the content belongs to. It is tedious to manually define a
    * collection and link it to the content for every single test. If it is
    * omitted in the definition of the test we assign an existing collection, or
-   * if none exist we assign the "Portal" collection. This ensures data
+   * if none exist we assign the "Interoperable Europe Portal" collection. This ensures data
    * integrity and prevents form validation errors.
    *
    * @param \Drupal\DrupalExtension\Hook\Scope\BeforeNodeCreateScope $scope
@@ -753,7 +753,7 @@ public function provideCollection(BeforeNodeCreateScope $scope): void {
       }
     }
 
-    // If no suitable candidate is found, use the default "Portal" collection.
+    // If no suitable candidate is found, use the default "Interoperable Europe Portal" collection.
     if (empty($collection)) {
       $collection = $this->createJoinupCollection();
     }
diff --git a/tests/src/Context/EuplContext.php b/tests/src/Context/EuplContext.php
index 91a2479442..bbe47763f6 100644
--- a/tests/src/Context/EuplContext.php
+++ b/tests/src/Context/EuplContext.php
@@ -57,13 +57,13 @@ public function setupEuplData(): void {
       'rid' => 'solution',
       'collection' => Eupl::EUPL_COMMUNITY_ID,
       'id' => Eupl::JLA_SOLUTION,
-      'label' => 'Portal Licensing Assistant',
+      'label' => 'Interoperable Europe Portal Licensing Assistant',
       'field_is_state' => 'published',
     ]);
     $solution->save();
     $this->entities['rdf_entity'][$solution->id()] = $solution;
 
-    // The 'Portal Licensing Assistant' standard custom page.
+    // The 'Interoperable Europe Portal Licensing Assistant' standard custom page.
     $this->nodeCreate((object) [
       'nid' => 701805,
       'type' => 'custom_page',
@@ -73,7 +73,7 @@ public function setupEuplData(): void {
       'field_state' => 'published',
     ]);
 
-    // The 'Portal Licensing Compatibility Check' standard custom page.
+    // The 'Interoperable Europe Portal Licensing Compatibility Check' standard custom page.
     $this->nodeCreate((object) [
       'nid' => 703242,
       'type' => 'custom_page',
diff --git a/tests/src/Context/FeatureContext.php b/tests/src/Context/FeatureContext.php
index efe6398450..6ccb5f4e21 100644
--- a/tests/src/Context/FeatureContext.php
+++ b/tests/src/Context/FeatureContext.php
@@ -66,7 +66,7 @@ class FeatureContext extends RawDrupalContext {
   use UtilityTrait;
 
   /**
-   * The Portal version, retrieved from the `VERSION` file in the project root.
+   * The Interoperable Europe Portal version, retrieved from the `VERSION` file in the project root.
    *
    * Will contain the contents of the file, or FALSE if the file is not present.
    *
@@ -1063,7 +1063,7 @@ public function assertNotLinkOptionalRegion($link, $region): void {
   /**
    * Asserts that the page title tag equals to some text.
    *
-   * The assertion strips off the possible suffix "| Portal".
+   * The assertion strips off the possible suffix "| Interoperable Europe Portal".
    *
    * @param string $text
    *   The text to search for.
@@ -1841,7 +1841,7 @@ public function backupJoinupVersion(): void {
   }
 
   /**
-   * Restores the backup of the Portal `VERSION` file.
+   * Restores the backup of the Interoperable Europe Portal `VERSION` file.
    *
    * @AfterScenario @joinupVersion&&@api
    */
@@ -1855,7 +1855,7 @@ public function restoreJoinupVersion(): void {
   }
 
   /**
-   * Sets the Portal version.
+   * Sets the Interoperable Europe Portal version.
    *
    * Since this overwrites the `VERSION.txt` file in the webroot directory, any
    * scenario that includes this step should be tagged with `@joinupVersion` so
@@ -1863,13 +1863,13 @@ public function restoreJoinupVersion(): void {
    * scenario.
    *
    * @param string $version
-   *   The Portal version to set, e.g. 'v1.57.0' or 'v1.57.0-66-g1234abcde'.
+   *   The Interoperable Europe Portal version to set, e.g. 'v1.57.0' or 'v1.57.0-66-g1234abcde'.
    *
-   * @When the Portal version is set to :version
+   * @When the Interoperable Europe Portal version is set to :version
    */
   public function setJoinupVersion(string $version): void {
     // Alert the user that the `@joinupVersion` tag is required.
-    Assert::assertTrue($this->hasTag('joinupVersion'), 'The `@joinupVersion` tag is required for scenarios that want to change the Portal version.');
+    Assert::assertTrue($this->hasTag('joinupVersion'), 'The `@joinupVersion` tag is required for scenarios that want to change the Interoperable Europe Portal version.');
 
     // We also require the Drupal API to retrieve the project root folder.
     Assert::assertTrue($this->hasTag('api'), 'The `@api` tag is required for scenarios that use the `@joinupVersion` tag.');
diff --git a/tests/src/Context/FooterContext.php b/tests/src/Context/FooterContext.php
index 95222f708f..b61939f558 100644
--- a/tests/src/Context/FooterContext.php
+++ b/tests/src/Context/FooterContext.php
@@ -29,7 +29,7 @@ public function assertLogo(): void {
   /**
    * Checks that the version is present in the footer.
    *
-   * @Then I should see the Portal version in the footer
+   * @Then I should see the Interoperable Europe Portal version in the footer
    */
   public function assertVersion(): void {
     $element = $this->getSession()->getPage()->find('css', 'footer .joinup-version a');
diff --git a/tests/src/Context/HeaderContext.php b/tests/src/Context/HeaderContext.php
index ce282e3b20..2558e38c9a 100644
--- a/tests/src/Context/HeaderContext.php
+++ b/tests/src/Context/HeaderContext.php
@@ -43,7 +43,7 @@ public function assertLogo(): void {
     Assert::assertInstanceOf(NodeElement::class, $logo_element, 'A logo is present in the navbar.');
     Assert::assertEquals('Interoperable Europe logo', $logo_element->getAttribute('alt'), 'The logo has an alt text.');
     $expected_logo_uri = base_path() . \Drupal::service('extension.list.theme')->getPath('ventuno') . '/assets/images/logo-interoperable-europe.svg';
-    Assert::assertEquals($expected_logo_uri, $logo_element->getAttribute('src'), 'The Portal logo is shown in the navbar.');
+    Assert::assertEquals($expected_logo_uri, $logo_element->getAttribute('src'), 'The Interoperable Europe Portal logo is shown in the navbar.');
   }
 
   /**
diff --git a/tests/src/Context/HomepageContext.php b/tests/src/Context/HomepageContext.php
index d22d16bdda..9314256536 100644
--- a/tests/src/Context/HomepageContext.php
+++ b/tests/src/Context/HomepageContext.php
@@ -11,7 +11,7 @@
 use PHPUnit\Framework\Assert;
 
 /**
- * Behat step definitions to interact with elements on the Portal homepage.
+ * Behat step definitions to interact with elements on the Interoperable Europe Portal homepage.
  */
 class HomepageContext extends RawDrupalContext {
 
diff --git a/tests/src/Context/JoinupCollectionContext.php b/tests/src/Context/JoinupCollectionContext.php
index 305d12604e..fc3b2e34aa 100644
--- a/tests/src/Context/JoinupCollectionContext.php
+++ b/tests/src/Context/JoinupCollectionContext.php
@@ -12,7 +12,7 @@
 use Drupal\rdf_entity\Entity\Rdf;
 
 /**
- * Behat step definitions and related methods related to the Portal collection.
+ * Behat step definitions and related methods related to the Interoperable Europe Portal collection.
  */
 class JoinupCollectionContext extends RawDrupalContext {
 
@@ -21,7 +21,7 @@ class JoinupCollectionContext extends RawDrupalContext {
   use TopicTrait;
 
   /**
-   * Creates the 'Portal' collection and related data.
+   * Creates the 'Interoperable Europe Portal' collection and related data.
    *
    * @throws \Drupal\Core\Entity\EntityStorageException
    *   Thrown when one of the entities could not be created, for example because
@@ -43,11 +43,11 @@ public function setupJoinupCollection(): void {
       'email' => 'contact.email@example.com',
     ]);
 
-    // Create the Portal collection.
+    // Create the Interoperable Europe Portal collection.
     Rdf::create([
       'rid' => 'collection',
       'id' => JoinupCollectionHelper::JOINUP_COLLECTION_DEFAULT_ENTITY_ID,
-      'label' => 'Portal',
+      'label' => 'Interoperable Europe Portal',
       'field_ar_state' => 'published',
       'field_topic' => $this->getRandomTopic()->id(),
       'field_ar_owner' => $owner->nid,
@@ -56,7 +56,7 @@ public function setupJoinupCollection(): void {
   }
 
   /**
-   * Clears the Portal collection created before the scenario.
+   * Clears the Interoperable Europe Portal collection created before the scenario.
    *
    * @throws \Drupal\Core\Entity\EntityStorageException
    *   Thrown when one of the created entities could not be deleted.
diff --git a/tests/src/Context/JoinupContext.php b/tests/src/Context/JoinupContext.php
index d20ce3e561..b27ea97079 100644
--- a/tests/src/Context/JoinupContext.php
+++ b/tests/src/Context/JoinupContext.php
@@ -47,7 +47,7 @@
 use PHPUnit\Framework\ExpectationFailedException;
 
 /**
- * Behat step definitions that are generally useful for the Portal project.
+ * Behat step definitions that are generally useful for the Interoperable Europe Portal project.
  */
 class JoinupContext extends RawDrupalContext {
 
@@ -2880,7 +2880,7 @@ public function theOutputShouldMatchTheFile($file_path): void {
    *
    * Table format:
    * | URL                          | Title  |
-   * | https://interoperable-europe.ec.europa.eu/ | Portal |
+   * | https://interoperable-europe.ec.europa.eu/ | Interoperable Europe Portal |
    * | https://www.drupal.org/      | Drupal |
    *
    * @param \Behat\Gherkin\Node\TableNode $table
diff --git a/tests/src/Context/JoinupCoreContext.php b/tests/src/Context/JoinupCoreContext.php
index 435edc86de..1e383a78df 100644
--- a/tests/src/Context/JoinupCoreContext.php
+++ b/tests/src/Context/JoinupCoreContext.php
@@ -17,7 +17,7 @@
 use PHPUnit\Framework\Assert;
 
 /**
- * Behat step definitions for functionalities provided by Portal core module.
+ * Behat step definitions for functionalities provided by Interoperable Europe Portal core module.
  */
 class JoinupCoreContext extends RawDrupalContext {
 
diff --git a/tests/src/Context/JoinupDiscussionContext.php b/tests/src/Context/JoinupDiscussionContext.php
index 485700e7c2..fc1ae00678 100644
--- a/tests/src/Context/JoinupDiscussionContext.php
+++ b/tests/src/Context/JoinupDiscussionContext.php
@@ -51,7 +51,7 @@ public function assertSubscribers(string $title, int $count): void {
   }
 
   /**
-   * Returns the Portal subscription service.
+   * Returns the Interoperable Europe Portal subscription service.
    *
    * @return \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface
    *   The subscription service.
diff --git a/tests/src/Context/JoinupLegalContext.php b/tests/src/Context/JoinupLegalContext.php
index efa9183f0b..ea9c2a6722 100644
--- a/tests/src/Context/JoinupLegalContext.php
+++ b/tests/src/Context/JoinupLegalContext.php
@@ -12,7 +12,7 @@
 use Drupal\joinup\Traits\TestingEntitiesTrait;
 
 /**
- * Behat step definitions for the Portal Legal module.
+ * Behat step definitions for the Interoperable Europe Portal Legal module.
  */
 class JoinupLegalContext extends RawDrupalContext {
 
diff --git a/tests/src/Context/JoinupSubscriptionContext.php b/tests/src/Context/JoinupSubscriptionContext.php
index 948e926779..9fc7554024 100644
--- a/tests/src/Context/JoinupSubscriptionContext.php
+++ b/tests/src/Context/JoinupSubscriptionContext.php
@@ -542,7 +542,7 @@ public function assertDigestNotContains(TableNode $table, string $interval, stri
   }
 
   /**
-   * Returns the Portal subscription service.
+   * Returns the Interoperable Europe Portal subscription service.
    *
    * @return \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface
    *   The subscription service.
@@ -666,7 +666,7 @@ protected function getGroupSubscriptionEmailsByEmail(string $email_address): arr
     $emails = [];
 
     foreach (self::MESSAGE_INTERVALS as $interval) {
-      $emails = array_merge($emails, $this->getEmailsBySubjectAndMail("Portal: $interval digest message", $email_address, FALSE));
+      $emails = array_merge($emails, $this->getEmailsBySubjectAndMail("Interoperable Europe Portal: $interval digest message", $email_address, FALSE));
     }
 
     return $emails;
diff --git a/tests/src/Context/RssContext.php b/tests/src/Context/RssContext.php
index 0282d83e71..bf6b7ab91d 100644
--- a/tests/src/Context/RssContext.php
+++ b/tests/src/Context/RssContext.php
@@ -53,7 +53,7 @@ public function assertRss(): void {
    *
    * Table format:
    * | title       | link               | description         | ... |
-   * | Portal feed | /collection/joinup | RSS feed for Portal | ... |
+   * | Interoperable Europe Portal feed | /collection/joinup | RSS feed for Interoperable Europe Portal | ... |
    *
    * @param \Behat\Gherkin\Node\TableNode $table
    *   The channel elements data.
@@ -99,7 +99,7 @@ public function assertRssItemsCount(int $count): void {
    * @codingStandardsIgnoreStart
    * Table format:
    * | title     | link            | description          | publication date                | author        | ... |
-   * | News item | /news/news-item | Content of the news. | Thu, 24 Jan 2019 14:08:09 +0100 | Portal editor | ... |
+   * | News item | /news/news-item | Content of the news. | Thu, 24 Jan 2019 14:08:09 +0100 | Interoperable Europe Portal editor | ... |
    * @codingStandardsIgnoreEnd
    *
    * @param \Behat\Gherkin\Node\TableNode $table
diff --git a/tests/src/Context/SolutionContext.php b/tests/src/Context/SolutionContext.php
index 892ab86497..e17ffc3fdb 100644
--- a/tests/src/Context/SolutionContext.php
+++ b/tests/src/Context/SolutionContext.php
@@ -95,7 +95,7 @@ public function visitSolution(string $solution): void {
   /**
    * Navigates to the solution overview page.
    *
-   * @todo This is currently dependent on the Portal profile being installed,
+   * @todo This is currently dependent on the Interoperable Europe Portal profile being installed,
    *   since the view providing this overview page is exported in the profile.
    *   Remove this todo when ISAICP-5176 is fixed.
    *
diff --git a/tests/src/Listener/FeatureTimeLoggerListener.php b/tests/src/Listener/FeatureTimeLoggerListener.php
index eac629b0b2..f401fd353a 100644
--- a/tests/src/Listener/FeatureTimeLoggerListener.php
+++ b/tests/src/Listener/FeatureTimeLoggerListener.php
@@ -95,7 +95,7 @@ public function afterExercise(): void {
   }
 
   /**
-   * Get the Portal group for the scenario.
+   * Get the Interoperable Europe Portal group for the scenario.
    */
   private function getGroup(TaggedNodeInterface $feature): string {
     foreach ($feature->getTags() as $tag) {
diff --git a/tests/src/Traits/OgTrait.php b/tests/src/Traits/OgTrait.php
index ecd7805149..f6c13f1067 100644
--- a/tests/src/Traits/OgTrait.php
+++ b/tests/src/Traits/OgTrait.php
@@ -24,7 +24,7 @@ trait OgTrait {
    * @param \Drupal\Core\Session\AccountInterface $user
    *   The user to be assigned as a group member.
    * @param \Drupal\joinup_group\Entity\GroupInterface $group
-   *   The Portal group entity.
+   *   The Interoperable Europe Portal group entity.
    * @param \Drupal\og\Entity\OgRole[] $roles
    *   An array of OgRoles to be passed to the membership.
    * @param string|null $state
@@ -75,7 +75,7 @@ protected function subscribeUserToGroup(AccountInterface $user, GroupInterface $
   protected function convertOgRoleNamesToIds(array $roles, EntityInterface $group): array {
     $role_prefix = $group->getEntityTypeId() . '-' . $group->bundle() . '-';
     foreach ($roles as $key => $role) {
-      // What is called a "collection owner" or a "solution owner" in Portal, is
+      // What is called a "collection owner" or a "solution owner" in Interoperable Europe Portal, is
       // known as an "administrator" in OG.
       $role = $role === 'owner' ? 'administrator' : $role;
       $roles[$key] = $role_prefix . $role;
@@ -235,7 +235,7 @@ protected function givenUserMembership(RdfInterface $group, array $values): void
     if (!empty($values['roles'])) {
       $role_names = explode(',', $values['roles']);
       $role_names = array_map('trim', $role_names);
-      // Every owner is also a facilitator. In Portal the facilitator role is
+      // Every owner is also a facilitator. In Interoperable Europe Portal the facilitator role is
       // assigned to the owner when they create the collection. Since in this
       // step the collections are already created, mimick this behaviour by
       // making sure every owner also has the 'facilitator' role.
diff --git a/web/modules/custom/acceptance/joinup_acceptance.info.yml b/web/modules/custom/acceptance/joinup_acceptance.info.yml
index 27d1bd34c1..b5d0295a84 100644
--- a/web/modules/custom/acceptance/joinup_acceptance.info.yml
+++ b/web/modules/custom/acceptance/joinup_acceptance.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal Acceptance'
+name: 'Interoperable Europe Portal Acceptance'
 description: 'Tasks to performed in the acceptance environment.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/acceptance/joinup_acceptance.install b/web/modules/custom/acceptance/joinup_acceptance.install
index 7feecdcdc7..02c12185f5 100644
--- a/web/modules/custom/acceptance/joinup_acceptance.install
+++ b/web/modules/custom/acceptance/joinup_acceptance.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update, uninstall tasks for Portal Acceptance module.
+ * Install, update, uninstall tasks for Interoperable Europe Portal Acceptance module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/adms_validator/adms_validator.info.yml b/web/modules/custom/adms_validator/adms_validator.info.yml
index fe462fa5fc..0b91488d0d 100644
--- a/web/modules/custom/adms_validator/adms_validator.info.yml
+++ b/web/modules/custom/adms_validator/adms_validator.info.yml
@@ -1,7 +1,7 @@
 name: ADMS-AP validator
 description: Validates ADMS-AP data.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/collection/collection.info.yml b/web/modules/custom/collection/collection.info.yml
index 1f94976d2d..f8fc538ab9 100644
--- a/web/modules/custom/collection/collection.info.yml
+++ b/web/modules/custom/collection/collection.info.yml
@@ -1,7 +1,7 @@
 name: Collection
-description: 'Provides Collections for the Portal project.'
+description: 'Provides Collections for the Interoperable Europe Portal project.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - drupal:datetime
diff --git a/web/modules/custom/collection/src/Controller/GlossaryController.php b/web/modules/custom/collection/src/Controller/GlossaryController.php
index 8e2767397d..ac71fc6a76 100644
--- a/web/modules/custom/collection/src/Controller/GlossaryController.php
+++ b/web/modules/custom/collection/src/Controller/GlossaryController.php
@@ -15,7 +15,7 @@
 use Drupal\views\Views;
 
 /**
- * Provides controllers for Portal glossary functionality.
+ * Provides controllers for Interoperable Europe Portal glossary functionality.
  */
 class GlossaryController extends ControllerBase {
 
diff --git a/web/modules/custom/collection/src/Entity/CollectionInterface.php b/web/modules/custom/collection/src/Entity/CollectionInterface.php
index 8be387cdd1..cde3b0bcca 100644
--- a/web/modules/custom/collection/src/Entity/CollectionInterface.php
+++ b/web/modules/custom/collection/src/Entity/CollectionInterface.php
@@ -15,7 +15,7 @@
 use Drupal\rdf_entity\RdfInterface;
 
 /**
- * Interface for collection entities in Portal.
+ * Interface for collection entities in Interoperable Europe Portal.
  */
 interface CollectionInterface extends RdfInterface, EntityPublicationTimeInterface, EntityWorkflowStateInterface, GroupInterface, FeaturedContentInterface, ArchivableEntityInterface, DescriptionInterface, AbstractInterface {
 
diff --git a/web/modules/custom/collection/src/Entity/GlossaryTermInterface.php b/web/modules/custom/collection/src/Entity/GlossaryTermInterface.php
index ebe34ab182..3bc2df23e6 100644
--- a/web/modules/custom/collection/src/Entity/GlossaryTermInterface.php
+++ b/web/modules/custom/collection/src/Entity/GlossaryTermInterface.php
@@ -7,7 +7,7 @@
 use Drupal\node\NodeInterface;
 
 /**
- * Interface for glossary terms in Portal.
+ * Interface for glossary terms in Interoperable Europe Portal.
  */
 interface GlossaryTermInterface extends NodeInterface, CollectionContentInterface {
 
diff --git a/web/modules/custom/collection/src/EventSubscriber/CollectionGroupSubscriber.php b/web/modules/custom/collection/src/EventSubscriber/CollectionGroupSubscriber.php
index 06a89f9e06..58f1a95874 100644
--- a/web/modules/custom/collection/src/EventSubscriber/CollectionGroupSubscriber.php
+++ b/web/modules/custom/collection/src/EventSubscriber/CollectionGroupSubscriber.php
@@ -9,7 +9,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Portal Group events.
+ * Subscribes to Interoperable Europe Portal Group events.
  */
 class CollectionGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/contact_form/contact_form.info.yml b/web/modules/custom/contact_form/contact_form.info.yml
index 0b93c5fabd..6b4488a83c 100644
--- a/web/modules/custom/contact_form/contact_form.info.yml
+++ b/web/modules/custom/contact_form/contact_form.info.yml
@@ -1,7 +1,7 @@
 name: Contact form
-description: The contact form for the Portal project.
+description: The contact form for the Interoperable Europe Portal project.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/contact_form/contact_form.links.menu.yml b/web/modules/custom/contact_form/contact_form.links.menu.yml
index c01faf103a..da3d9abdcc 100644
--- a/web/modules/custom/contact_form/contact_form.links.menu.yml
+++ b/web/modules/custom/contact_form/contact_form.links.menu.yml
@@ -1,5 +1,5 @@
 contact_form.contact:
-  title: 'Contact Portal Support'
+  title: 'Contact Interoperable Europe Portal Support'
   weight: 0
   url: 'internal:/contact'
   menu_name: footer
diff --git a/web/modules/custom/contact_form/contact_form.module b/web/modules/custom/contact_form/contact_form.module
index e4337c37d7..49550ca794 100644
--- a/web/modules/custom/contact_form/contact_form.module
+++ b/web/modules/custom/contact_form/contact_form.module
@@ -176,7 +176,7 @@ function contact_form_tokens($type, $tokens, array $data, array $options, Bubble
  * Alter the sender of outgoing mails sent from the contact form so they will be
  * handled by support desk software and turned into tickets.
  *
- * @todo This doesn't belong in the Portal distribution and should be removed.
+ * @todo This doesn't belong in the Interoperable Europe Portal distribution and should be removed.
  *
  * @see https://citnet.tech.ec.europa.eu/CITnet/jira/browse/ISAICP-3988
  */
@@ -205,10 +205,10 @@ function contact_form_mail($key, &$message, $params): void {
   $entity = $params['message'];
   $name = "{$entity->field_contact_first_name->value} {$entity->field_contact_last_name->value}";
 
-  $message['subject'] = t('Portal: Contact form notification');
+  $message['subject'] = t('Interoperable Europe Portal: Contact form notification');
 
   $message['body'][] = t('Dear @name', ['@name' => $name]);
-  $message['body'][] = t('Thank you for submitting your message to the Portal Support.');
+  $message['body'][] = t('Thank you for submitting your message to the Interoperable Europe Portal Support.');
 
   if ($entity->field_contact_copy->value) {
     $message['body'][] = t('This is the message you submitted through the online form:');
diff --git a/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php b/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
index a0571cc1bf..359f2a08cb 100644
--- a/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
+++ b/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
@@ -66,7 +66,7 @@ public function testEmailSending(bool $with_copy): void {
         'field_contact_email[0][value]' => 'jane.doe@example.com',
         'field_contact_category' => 'usage',
         'field_contact_subject[0][value]' => 'Question subject',
-        'field_contact_message[0][value]' => 'Question about Portal',
+        'field_contact_message[0][value]' => 'Question about Interoperable Europe Portal',
         'field_contact_copy[value]' => $with_copy,
       ],
       'Submit'
@@ -84,7 +84,7 @@ public function testEmailSending(bool $with_copy): void {
           'reply-to' => NULL,
           'langcode' => 'en',
           'send' => TRUE,
-          'subject' => 'Portal - Contact form submission',
+          'subject' => 'Interoperable Europe Portal - Contact form submission',
           'body' => self::NOTIFICATION_HTML,
           'headers' => [
             'content-transfer-encoding' => '8Bit',
@@ -106,7 +106,7 @@ public function testEmailSending(bool $with_copy): void {
           'reply-to' => NULL,
           'langcode' => 'en',
           'send' => TRUE,
-          'subject' => 'Portal: Contact form notification',
+          'subject' => 'Interoperable Europe Portal: Contact form notification',
           'body' => $with_copy ? self::COPY_HTML : self::WITHOUT_COPY_HTML,
           'headers' => [
             'content-transfer-encoding' => '8Bit',
@@ -178,7 +178,7 @@ public function providerTestEmailSending(): array {
 <div class="field--name-field-contact-message contact-form-submission__field-contact-message">
 <div class="field__label fw-bold">
       Message    </div>
-<div class="field__item">Question about Portal</div>
+<div class="field__item">Question about Interoperable Europe Portal</div>
 </div>
 
 
@@ -197,7 +197,7 @@ public function providerTestEmailSending(): array {
  E-mail address \njane.doe@example.com \n
  Category \nQuestion on usage \n
  Subject \nQuestion subject \n
- Message \nQuestion about Portal
+ Message \nQuestion about Interoperable Europe Portal
 EOS;
 
   const COPY_HTML = <<<'EOS'
@@ -217,11 +217,11 @@ public function providerTestEmailSending(): array {
       <td>
         <div style="padding: 0px 0px 0px 0px;">
           <p>Dear Jane Doe</p>
-<p>Thank you for submitting your message to the Portal Support.</p>
+<p>Thank you for submitting your message to the Interoperable Europe Portal Support.</p>
 <p>This is the message you submitted through the online form:</p>
 <p>Subject: <em class="placeholder">Question subject</em></p>
 <p>Content:</p>
-<blockquote><p>Question about Portal</p>
+<blockquote><p>Question about Interoperable Europe Portal</p>
 </blockquote>
 <p>Thank you for your interest, we will reply as soon as possible.</p>
 <p>Kind regards,</p>
@@ -240,7 +240,7 @@ public function providerTestEmailSending(): array {
   const COPY_PLAIN = <<<EOS
 Dear Jane Doe
 
-Thank you for submitting your message to the Portal Support.
+Thank you for submitting your message to the Interoperable Europe Portal Support.
 
 This is the message you submitted through the online form:
 
@@ -248,7 +248,7 @@ public function providerTestEmailSending(): array {
 
 Content:
 
-> Question about Portal
+> Question about Interoperable Europe Portal
 
 Thank you for your interest, we will reply as soon as possible.
 
@@ -275,7 +275,7 @@ public function providerTestEmailSending(): array {
       <td>
         <div style="padding: 0px 0px 0px 0px;">
           <p>Dear Jane Doe</p>
-<p>Thank you for submitting your message to the Portal Support.</p>
+<p>Thank you for submitting your message to the Interoperable Europe Portal Support.</p>
 <p>We will reply as soon as possible.</p>
 <p>Kind regards,</p>
 <p>The Portal Support Team</p>
@@ -293,7 +293,7 @@ public function providerTestEmailSending(): array {
   const WITHOUT_COPY_PLAIN = <<<EOS
 Dear Jane Doe
 
-Thank you for submitting your message to the Portal Support.
+Thank you for submitting your message to the Interoperable Europe Portal Support.
 
 We will reply as soon as possible.
 
diff --git a/web/modules/custom/contact_information/contact_information.info.yml b/web/modules/custom/contact_information/contact_information.info.yml
index c2ab90c626..e0d74eba83 100644
--- a/web/modules/custom/contact_information/contact_information.info.yml
+++ b/web/modules/custom/contact_information/contact_information.info.yml
@@ -1,7 +1,7 @@
 name: 'Contact information'
-description: 'Provides Contact information entities for the Portal project.'
+description: 'Provides Contact information entities for the Interoperable Europe Portal project.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/contact_information/src/Entity/ContactInformationInterface.php b/web/modules/custom/contact_information/src/Entity/ContactInformationInterface.php
index 20050eb8a3..3648200c5d 100644
--- a/web/modules/custom/contact_information/src/Entity/ContactInformationInterface.php
+++ b/web/modules/custom/contact_information/src/Entity/ContactInformationInterface.php
@@ -10,14 +10,14 @@
 use Drupal\node\NodeInterface;
 
 /**
- * Interface for contact information entities in Portal.
+ * Interface for contact information entities in Interoperable Europe Portal.
  *
  * A contact information entity provides a name - title, and contact details and
  * is used by collections, solutions and asset releases. The data is linked
  * using a standard entity reference field on the parent entity, and even though
  * it can be related to groups this is not considered group content.
  *
- * In Portal a contact information entity is not shared between groups, so every
+ * In Interoperable Europe Portal a contact information entity is not shared between groups, so every
  * contact info entity belongs only to 1 single parent group. However it can
  * belong to many asset releases within a solution.
  */
diff --git a/web/modules/custom/contact_information/src/Plugin/CKEditor5Plugin/ContactUs.php b/web/modules/custom/contact_information/src/Plugin/CKEditor5Plugin/ContactUs.php
index e8b39e58c7..b792e89b94 100644
--- a/web/modules/custom/contact_information/src/Plugin/CKEditor5Plugin/ContactUs.php
+++ b/web/modules/custom/contact_information/src/Plugin/CKEditor5Plugin/ContactUs.php
@@ -26,7 +26,7 @@ class ContactUs extends CKEditor5PluginDefault implements ContainerFactoryPlugin
    * @param mixed $plugin_definition
    *   The plugin implementation definition.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $groupManager
-   *   The Portal Group manager service.
+   *   The Interoperable Europe Portal Group manager service.
    */
   public function __construct(array $configuration, $plugin_id, $plugin_definition, protected JoinupGroupManagerInterface $groupManager) {
     parent::__construct($configuration, $plugin_id, $plugin_definition);
diff --git a/web/modules/custom/curated_content_listing/README.md b/web/modules/custom/curated_content_listing/README.md
index ca01a4a56b..c0f27bdd7f 100644
--- a/web/modules/custom/curated_content_listing/README.md
+++ b/web/modules/custom/curated_content_listing/README.md
@@ -6,4 +6,4 @@ moderators. Examples of these are the 'In the spotlight' and 'Highlighted
 solution' sections on the homepage.
 
 The listings are fully handled using the Entityqueue module. This module
-customizes the entity queue functionality to fit the desired Portal UX.
+customizes the entity queue functionality to fit the desired Interoperable Europe Portal UX.
diff --git a/web/modules/custom/curated_content_listing/curated_content_listing.info.yml b/web/modules/custom/curated_content_listing/curated_content_listing.info.yml
index c887f7e8ea..61819f6203 100644
--- a/web/modules/custom/curated_content_listing/curated_content_listing.info.yml
+++ b/web/modules/custom/curated_content_listing/curated_content_listing.info.yml
@@ -1,7 +1,7 @@
 name: Curated content listings
 type: module
 description: Provides listings of content that can be hand picked by moderators.
-package: Portal
+package: Interoperable Europe Portal
 
 core_version_requirement: ">= 9.4"
 
diff --git a/web/modules/custom/custom_page/custom_page.info.yml b/web/modules/custom/custom_page/custom_page.info.yml
index e63e3e99d9..c03097983f 100644
--- a/web/modules/custom/custom_page/custom_page.info.yml
+++ b/web/modules/custom/custom_page/custom_page.info.yml
@@ -1,7 +1,7 @@
 name: 'Custom page'
 description: 'Custom content that belongs to a collection.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/custom_page/src/EventSubscriber/CustomPageGroupSubscriber.php b/web/modules/custom/custom_page/src/EventSubscriber/CustomPageGroupSubscriber.php
index 45a04fad2d..34c1821d00 100644
--- a/web/modules/custom/custom_page/src/EventSubscriber/CustomPageGroupSubscriber.php
+++ b/web/modules/custom/custom_page/src/EventSubscriber/CustomPageGroupSubscriber.php
@@ -8,7 +8,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Portal Group events.
+ * Subscribes to Interoperable Europe Portal Group events.
  */
 class CustomPageGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/dashboard/dashboard.info.yml b/web/modules/custom/dashboard/dashboard.info.yml
index 41ac15c8a0..0597bcc2cb 100644
--- a/web/modules/custom/dashboard/dashboard.info.yml
+++ b/web/modules/custom/dashboard/dashboard.info.yml
@@ -1,7 +1,7 @@
 name: Dashboard
-description: Provides a dashboard for the Portal project.
+description: Provides a dashboard for the Interoperable Europe Portal project.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - joinup:joinup_core
diff --git a/web/modules/custom/entityqueue_block/entityqueue_block.info.yml b/web/modules/custom/entityqueue_block/entityqueue_block.info.yml
index 909de703f2..ef1dfca2de 100644
--- a/web/modules/custom/entityqueue_block/entityqueue_block.info.yml
+++ b/web/modules/custom/entityqueue_block/entityqueue_block.info.yml
@@ -1,7 +1,7 @@
 name: Entityqueue block
 type: module
 description: Provides a block type that displays the content of an entityqueue.
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - 'drupal:block'
diff --git a/web/modules/custom/isa2_analytics/isa2_analytics.info.yml b/web/modules/custom/isa2_analytics/isa2_analytics.info.yml
index 01a0defc32..5105f87522 100644
--- a/web/modules/custom/isa2_analytics/isa2_analytics.info.yml
+++ b/web/modules/custom/isa2_analytics/isa2_analytics.info.yml
@@ -1,5 +1,5 @@
 name: ISA2 Analytics
-description: Integrates the ISA2 Portal instance with Webtools Analytics for tracking user behaviour.
+description: Integrates the ISA2 Interoperable Europe Portal instance with Webtools Analytics for tracking user behaviour.
 type: module
 package: ISA2
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_bookmark/joinup_bookmark.info.yml b/web/modules/custom/joinup_bookmark/joinup_bookmark.info.yml
index 9e88ce9ed6..d81391181d 100644
--- a/web/modules/custom/joinup_bookmark/joinup_bookmark.info.yml
+++ b/web/modules/custom/joinup_bookmark/joinup_bookmark.info.yml
@@ -1,7 +1,7 @@
 name: Bookmark
 description: 'bookmark functionality'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_bookmark/joinup_bookmark.module b/web/modules/custom/joinup_bookmark/joinup_bookmark.module
index e66ea82d6d..8162a0c092 100644
--- a/web/modules/custom/joinup_bookmark/joinup_bookmark.module
+++ b/web/modules/custom/joinup_bookmark/joinup_bookmark.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal bookmark module.
+ * Hook implementations for the Interoperable Europe Portal bookmark module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_bundle_class/joinup_bundle_class.info.yml b/web/modules/custom/joinup_bundle_class/joinup_bundle_class.info.yml
index 1f3d094831..f0f50cf6c3 100644
--- a/web/modules/custom/joinup_bundle_class/joinup_bundle_class.info.yml
+++ b/web/modules/custom/joinup_bundle_class/joinup_bundle_class.info.yml
@@ -1,5 +1,5 @@
-name: 'Portal Bundle Class'
-description: 'Shared code for entity types that implement bundle classes in Portal.'
+name: 'Interoperable Europe Portal Bundle Class'
+description: 'Shared code for entity types that implement bundle classes in Interoperable Europe Portal.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_cas_mock_server/joinup_cas_mock_server.info.yml b/web/modules/custom/joinup_cas_mock_server/joinup_cas_mock_server.info.yml
index 6b9d6040d9..c5a49204a2 100644
--- a/web/modules/custom/joinup_cas_mock_server/joinup_cas_mock_server.info.yml
+++ b/web/modules/custom/joinup_cas_mock_server/joinup_cas_mock_server.info.yml
@@ -1,7 +1,7 @@
-name: Portal CAS Mock Server
-description: CAS mock server customized for Portal.
+name: Interoperable Europe Portal CAS Mock Server
+description: CAS mock server customized for Interoperable Europe Portal.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - cas_mock_server:cas_mock_server
diff --git a/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php b/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php
index 8aa15d70a4..6207922295 100644
--- a/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php
+++ b/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php
@@ -45,7 +45,7 @@ public function loadOverrides($names): array {
           'email' => 'E-mail address',
         ],
       ],
-      // The Portal EU Login module customizes the validation path of the CAS
+      // The Interoperable Europe Portal EU Login module customizes the validation path of the CAS
       // ticket validation service. Restore it to the value that corresponds to
       // the CAS 3.0 specification which is implemented by the CAS mock server.
       'joinup_eulogin.settings' => [
diff --git a/web/modules/custom/joinup_communities/eif/eif.info.yml b/web/modules/custom/joinup_communities/eif/eif.info.yml
index 28fc20ee4e..ba0f28d447 100644
--- a/web/modules/custom/joinup_communities/eif/eif.info.yml
+++ b/web/modules/custom/joinup_communities/eif/eif.info.yml
@@ -2,7 +2,7 @@ name: European Interoperability Framework
 type: module
 description: Custom functionality for the European Interoperability Framework community.
 core_version_requirement: ">= 9.4"
-package: Portal communities
+package: Interoperable Europe Portal communities
 dependencies:
   - drupal:text
   - joinup:custom_page
diff --git a/web/modules/custom/joinup_communities/eira/eira.info.yml b/web/modules/custom/joinup_communities/eira/eira.info.yml
index d05c3a2f92..5b46b445e9 100644
--- a/web/modules/custom/joinup_communities/eira/eira.info.yml
+++ b/web/modules/custom/joinup_communities/eira/eira.info.yml
@@ -2,7 +2,7 @@ name: EIRA
 type: module
 description: 'Customizations for the EIRA community.'
 core_version_requirement: ">= 9.4"
-package: 'Portal communities'
+package: 'Interoperable Europe Portal communities'
 
 dependencies:
   - drupal:filter
diff --git a/web/modules/custom/joinup_communities/eupl/eupl.info.yml b/web/modules/custom/joinup_communities/eupl/eupl.info.yml
index 1de0ec5e80..378098baec 100644
--- a/web/modules/custom/joinup_communities/eupl/eupl.info.yml
+++ b/web/modules/custom/joinup_communities/eupl/eupl.info.yml
@@ -2,6 +2,6 @@ name: EUPL
 type: module
 description: 'Customizations for the EUPL community.'
 core_version_requirement: ">= 9.4"
-package: 'Portal communities'
+package: 'Interoperable Europe Portal communities'
 
 dependencies: {  }
diff --git a/web/modules/custom/joinup_communities/eupl/src/Eupl.php b/web/modules/custom/joinup_communities/eupl/src/Eupl.php
index fe755bc0bc..de86fd4402 100644
--- a/web/modules/custom/joinup_communities/eupl/src/Eupl.php
+++ b/web/modules/custom/joinup_communities/eupl/src/Eupl.php
@@ -17,7 +17,7 @@ class Eupl {
   const EUPL_COMMUNITY_ID = 'http://data.europa.eu/w21/b4be085f-c669-4ead-82a9-b2020fabd40b';
 
   /**
-   * The Portal Licensing Assistant (JLA) solution ID.
+   * The Interoperable Europe Portal Licensing Assistant (JLA) solution ID.
    *
    * @var string
    */
diff --git a/web/modules/custom/joinup_communities/interoperable_europe/interoperable_europe.info.yml b/web/modules/custom/joinup_communities/interoperable_europe/interoperable_europe.info.yml
index 96823bb5a4..974f3c3d0a 100644
--- a/web/modules/custom/joinup_communities/interoperable_europe/interoperable_europe.info.yml
+++ b/web/modules/custom/joinup_communities/interoperable_europe/interoperable_europe.info.yml
@@ -1,7 +1,7 @@
 name: Interoperable Europe
 type: module
-description: Custom code for the Interoperable Europe community of the Portal project.
-package: Portal communities
+description: Custom code for the Interoperable Europe community of the Interoperable Europe Portal project.
+package: Interoperable Europe Portal communities
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.info.yml b/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.info.yml
index ba83e5a19b..b8a42682f0 100644
--- a/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.info.yml
+++ b/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.info.yml
@@ -1,8 +1,8 @@
-name: Portal
+name: Interoperable Europe Portal
 type: module
-description: Specificities for the Portal community.
+description: Specificities for the Interoperable Europe Portal community.
 core_version_requirement: ">= 9.4"
-package: Portal communities
+package: Interoperable Europe Portal communities
 
 dependencies:
   - og:og
diff --git a/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module b/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module
index ae38cece47..19d5473d47 100644
--- a/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module
+++ b/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main file of Portal module.
+ * Main file of Interoperable Europe Portal module.
  */
 
 declare(strict_types=1);
@@ -19,7 +19,7 @@
 /**
  * Implements hook_ENTITY_TYPE_insert().
  *
- * Add the 'Portal' collection membership to every new user.
+ * Add the 'Interoperable Europe Portal' collection membership to every new user.
  */
 function joinup_collection_user_insert(UserInterface $account): void {
   /** @var \Drupal\collection\Entity\CollectionInterface $joinup_collection */
@@ -61,9 +61,9 @@ function joinup_collection_form_views_form_og_members_overview_default_alter(&$f
  */
 function joinup_collection_rdf_entity_insert(EntityInterface $entity): void {
   // Invalidate a custom cache tag, used to rebuild the hamburger menu so that
-  // the 'About us' link can be shown dependending on whether the Portal
+  // the 'About us' link can be shown dependending on whether the Interoperable Europe Portal
   // collection exists. Mainly intended for tests since in the production site
-  // the Portal collection is not regularly deleted.
+  // the Interoperable Europe Portal collection is not regularly deleted.
   if ($entity->id() === JoinupCollectionHelper::getCollectionId()) {
     Cache::invalidateTags(['joinup_collection:exists']);
   }
diff --git a/web/modules/custom/joinup_communities/joinup_collection/src/Controller/JoinupCollectionLeaveController.php b/web/modules/custom/joinup_communities/joinup_collection/src/Controller/JoinupCollectionLeaveController.php
index 6fdc8e1427..e2d5b7ad54 100644
--- a/web/modules/custom/joinup_communities/joinup_collection/src/Controller/JoinupCollectionLeaveController.php
+++ b/web/modules/custom/joinup_communities/joinup_collection/src/Controller/JoinupCollectionLeaveController.php
@@ -25,7 +25,7 @@ class JoinupCollectionLeaveController {
    *   The access result object.
    */
   public static function access(RdfInterface $rdf_entity): AccessResultInterface {
-    // The 'Portal' membership can not be revoked.
+    // The 'Interoperable Europe Portal' membership can not be revoked.
     if ($rdf_entity->id() === JoinupCollectionHelper::getCollectionId()) {
       return AccessResult::forbidden();
     }
diff --git a/web/modules/custom/joinup_communities/joinup_collection/src/JoinupCollectionHelper.php b/web/modules/custom/joinup_communities/joinup_collection/src/JoinupCollectionHelper.php
index dc0f8e0b46..6627024d99 100644
--- a/web/modules/custom/joinup_communities/joinup_collection/src/JoinupCollectionHelper.php
+++ b/web/modules/custom/joinup_communities/joinup_collection/src/JoinupCollectionHelper.php
@@ -7,12 +7,12 @@
 use Drupal\Core\Site\Settings;
 
 /**
- * Helper class for the Portal Collection module.
+ * Helper class for the Interoperable Europe Portal Collection module.
  */
 class JoinupCollectionHelper {
 
   /**
-   * The default entity ID of the Portal collection.
+   * The default entity ID of the Interoperable Europe Portal collection.
    */
   public const JOINUP_COLLECTION_DEFAULT_ENTITY_ID = 'http://data.europa.eu/w21/df34e3a2-207b-4910-a804-344931654e20';
 
@@ -22,7 +22,7 @@ class JoinupCollectionHelper {
   public const INTEROPERABILITY_SOLUTIONS_ENTITY_ID = 704741;
 
   /**
-   * Returns the entity ID of the Portal collection.
+   * Returns the entity ID of the Interoperable Europe Portal collection.
    *
    * This will return the collection ID that is defined in `settings.php`, or a
    * fallback default ID if not defined in the settings.
diff --git a/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.info.yml b/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.info.yml
index 2a475c3d31..61bd7f1ea0 100644
--- a/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.info.yml
+++ b/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.info.yml
@@ -1,8 +1,8 @@
-name: Portal OSS Catalogue
+name: Interoperable Europe Portal OSS Catalogue
 type: module
 description: EU OSS Catalogue customisation
 core_version_requirement: ">= 9.4"
-package: Portal communities
+package: Interoperable Europe Portal communities
 
 dependencies:
   - eu_oss_catalogue:eu_oss_catalogue
diff --git a/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.module b/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.module
index 4f4ad4462e..8b4ae0b131 100644
--- a/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.module
+++ b/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main file of Portal OSS Catalogue module.
+ * Main file of Interoperable Europe Portal OSS Catalogue module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Entity/JoinupOssSolution.php b/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Entity/JoinupOssSolution.php
index e3f99ac002..f414b685ef 100644
--- a/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Entity/JoinupOssSolution.php
+++ b/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Entity/JoinupOssSolution.php
@@ -18,7 +18,7 @@
 use Drupal\joinup_oss_catalogue\Plugin\LanguageNegotiation\OssContentNegotiation;
 
 /**
- * Portal OSS solution.
+ * Interoperable Europe Portal OSS solution.
  */
 class JoinupOssSolution extends OssSolution implements DescriptionInterface, LogoInterface {
 
diff --git a/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Plugin/QueueWorker/JoinupOssCatalogueImagecacheWarmerQueue.php b/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Plugin/QueueWorker/JoinupOssCatalogueImagecacheWarmerQueue.php
index 225bc2fa28..a46108b6f1 100644
--- a/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Plugin/QueueWorker/JoinupOssCatalogueImagecacheWarmerQueue.php
+++ b/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Plugin/QueueWorker/JoinupOssCatalogueImagecacheWarmerQueue.php
@@ -11,7 +11,7 @@
  *
  * @QueueWorker(
  *   id = "joinup_oss_catalogue_imagecache_warmer",
- *   title = @Translation("Portal OSS Catalogue remote image cache warmer"),
+ *   title = @Translation("Interoperable Europe Portal OSS Catalogue remote image cache warmer"),
  *   cron = {"time" = 60},
  * )
  */
diff --git a/web/modules/custom/joinup_communities/osor/static_pages/implementation.html b/web/modules/custom/joinup_communities/osor/static_pages/implementation.html
index 9e7afacd31..c6bae6da33 100644
--- a/web/modules/custom/joinup_communities/osor/static_pages/implementation.html
+++ b/web/modules/custom/joinup_communities/osor/static_pages/implementation.html
@@ -42,7 +42,7 @@
         <div class="top" style="border-bottom-color: rgb(19, 96, 189);">
           &nbsp;</div>
         <div class="middle" style="background: rgb(19, 96, 189); cursor: pointer;">
-          <span><a target="_parent" href="/search?keys=Portal+Open+Source+News+Service">Newsletters</a></span></div>
+          <span><a target="_parent" href="/search?keys=Interoperable Europe Portal+Open+Source+News+Service">Newsletters</a></span></div>
         <div class="bottom" style="border-top-color: rgb(19, 96, 189);">
           &nbsp;</div>
       </div>
diff --git a/web/modules/custom/joinup_communities/semic/adopters.xml b/web/modules/custom/joinup_communities/semic/adopters.xml
index f8da9aa941..8bf00880d3 100644
--- a/web/modules/custom/joinup_communities/semic/adopters.xml
+++ b/web/modules/custom/joinup_communities/semic/adopters.xml
@@ -7,15 +7,15 @@
 			<name>Adopters of data standards developed by SEMIC in Europe</name>
 			<Placemark>
 				<name>BRIS</name>
-				<description><![CDATA[The EU Business Registers Interconnection System (BRIS) facilitates the distribution of information from each of the Member States’ business registers to the registers of other Member States in a standard message format and in the relevant language version. The BRIS XML schema makes basic company information searchable and exchangeable, and is based on the XML syntax of the Core Business Vocabularies.<br><br>BRIS uses the XML schema representation format to describe the information exchange model and the domain model. BRIS is aligned with the Core Business Vocabulary at the conceptual level, and BRIS XML messages are based on Core Business Vocabulary XML syntax. Class properties and associations that were not needed from the Core Business Registry were removed, and new classes, properties or associations needed by BRIS were added. You can read more about it <a href="https://joinup.ec.europa.eu/sites/default/files/eu_core_vocabularies_in_action_using_core_business_vocabulary_in_the_eu_.pdf" target="_blank">here</a>.<br><br>Owners: <a href="http://ec.europa.eu/dgs/informatics/index_en.htm" target="_blank">DG DIGIT</a>, <a href="http://ec.europa.eu/justice/index_en.htm" target="_blank">DG JUST</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/core_vocabularies/description" target="_blank">Core Business Vocabulary</a><br><br>You can visit the <a href="https://joinup.ec.europa.eu/community/semic/news/core-business-vocabulary-action-case-eu-business-registers-interconnection-syst" target="_blank">BRIS homepage on Portal</a> for more information.]]></description>
+				<description><![CDATA[The EU Business Registers Interconnection System (BRIS) facilitates the distribution of information from each of the Member States’ business registers to the registers of other Member States in a standard message format and in the relevant language version. The BRIS XML schema makes basic company information searchable and exchangeable, and is based on the XML syntax of the Core Business Vocabularies.<br><br>BRIS uses the XML schema representation format to describe the information exchange model and the domain model. BRIS is aligned with the Core Business Vocabulary at the conceptual level, and BRIS XML messages are based on Core Business Vocabulary XML syntax. Class properties and associations that were not needed from the Core Business Registry were removed, and new classes, properties or associations needed by BRIS were added. You can read more about it <a href="https://joinup.ec.europa.eu/sites/default/files/eu_core_vocabularies_in_action_using_core_business_vocabulary_in_the_eu_.pdf" target="_blank">here</a>.<br><br>Owners: <a href="http://ec.europa.eu/dgs/informatics/index_en.htm" target="_blank">DG DIGIT</a>, <a href="http://ec.europa.eu/justice/index_en.htm" target="_blank">DG JUST</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/core_vocabularies/description" target="_blank">Core Business Vocabulary</a><br><br>You can visit the <a href="https://joinup.ec.europa.eu/community/semic/news/core-business-vocabulary-action-case-eu-business-registers-interconnection-syst" target="_blank">BRIS homepage on Interoperable Europe Portal</a> for more information.]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>4.3712711,50.8422893,0.0</coordinates>
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>Portal</name>
-				<description><![CDATA[Portal is a collaborative platform, and a federated repository of more than 40 repositories across Europe for interoperability solutions created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other. It also supports them to find, choose, re-use, develop and implement interoperability solutions.<br><br>ADMS-AP for Portal aims to extend the use of ADMS for the description of other types of interoperability solutions, meaning solutions covering the political, legal, organisational and technical interoperability layers defined by the <a href="http://ec.europa.eu/isa/documents/isa_annex_ii_eif_en.pdf" target="_blank">European Interoperability Framework</a>. You can read more about it <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">here</a>.<br><br>Owner: <a href="http://ec.europa.eu/isa/" target="_blank">ISA Programme</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">ADMS-AP</a><br><br><a href="https://joinup.ec.europa.eu" target="_blank">joinup.ec.europa.eu</a>]]></description>
+				<name>Interoperable Europe Portal</name>
+				<description><![CDATA[Interoperable Europe Portal is a collaborative platform, and a federated repository of more than 40 repositories across Europe for interoperability solutions created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other. It also supports them to find, choose, re-use, develop and implement interoperability solutions.<br><br>ADMS-AP for Interoperable Europe Portal aims to extend the use of ADMS for the description of other types of interoperability solutions, meaning solutions covering the political, legal, organisational and technical interoperability layers defined by the <a href="http://ec.europa.eu/isa/documents/isa_annex_ii_eif_en.pdf" target="_blank">European Interoperability Framework</a>. You can read more about it <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">here</a>.<br><br>Owner: <a href="http://ec.europa.eu/isa/" target="_blank">ISA Programme</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">ADMS-AP</a><br><br><a href="https://joinup.ec.europa.eu" target="_blank">joinup.ec.europa.eu</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>4.3710887,50.8420996,0.0</coordinates>
@@ -30,8 +30,8 @@
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>The European Union Open Data Portal</name>
-				<description><![CDATA[The European Union Open Data Portal is the single point of access to a growing range of data from the institutions and other bodies of the European Union (EU). Data are free to use and reuse for commercial or non-commercial purposes. By providing easy and free access to data, the portal aims to promote their innovative use and unleash their economic potential. It also aims to help foster the transparency and the accountability of the institutions and other bodies of the EU. The core feature of the European Data Portal is a metadata repository harvesting metadata references to data published by public administrations in those countries and present those metadata references in the DCAT-AP format.<br><br>The European Union Open Data Portal implements the DCAT-AP as the common vocabulary for harmonising descriptions of over 258,000 datasets harvested from 67 data portals of 34 countries. The vocabulary is provided as a <a href="https://open-data.europa.eu/files/MetadataVocabulary.ods" target="_blank">worksheet specification</a> and as an <a href="https://open-data.europa.eu/files/ec-odp.owl" target="_blank">ontology</a>. It has been aligned in general terms to be compatible with the <a href="https://joinup.ec.europa.eu/asset/adms/description" target="_blank">ADMS</a>. You can read more about it <a href="https://open-data.europa.eu/en/linked-data" target="_blank">here</a>.<br><br>Owner: <a href="http://publications.europa.eu/en/web/about-us/who-we-are" target="_blank">Publications Office of the European Union</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="https://open-data.europa.eu" target="_blank">https://open-data.europa.eu</a>]]></description>
+				<name>The European Union Open Data Interoperable Europe Portal</name>
+				<description><![CDATA[The European Union Open Data Interoperable Europe Portal is the single point of access to a growing range of data from the institutions and other bodies of the European Union (EU). Data are free to use and reuse for commercial or non-commercial purposes. By providing easy and free access to data, the portal aims to promote their innovative use and unleash their economic potential. It also aims to help foster the transparency and the accountability of the institutions and other bodies of the EU. The core feature of the European Data Interoperable Europe Portal is a metadata repository harvesting metadata references to data published by public administrations in those countries and present those metadata references in the DCAT-AP format.<br><br>The European Union Open Data Interoperable Europe Portal implements the DCAT-AP as the common vocabulary for harmonising descriptions of over 258,000 datasets harvested from 67 data portals of 34 countries. The vocabulary is provided as a <a href="https://open-data.europa.eu/files/MetadataVocabulary.ods" target="_blank">worksheet specification</a> and as an <a href="https://open-data.europa.eu/files/ec-odp.owl" target="_blank">ontology</a>. It has been aligned in general terms to be compatible with the <a href="https://joinup.ec.europa.eu/asset/adms/description" target="_blank">ADMS</a>. You can read more about it <a href="https://open-data.europa.eu/en/linked-data" target="_blank">here</a>.<br><br>Owner: <a href="http://publications.europa.eu/en/web/about-us/who-we-are" target="_blank">Publications Office of the European Union</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="https://open-data.europa.eu" target="_blank">https://open-data.europa.eu</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>6.1313099,49.5987394,0.0</coordinates>
@@ -46,8 +46,8 @@
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>Swedish Open Data Portal</name>
-				<description><![CDATA[The Swedish innovation agency VINNOVA, which runs the Swedish Open Data Portal, in collaboration with Open Knowledge UK and MetaSolutions have undertaken many activities to support the implementation of DCAT-AP in the Swedish Open Data Portal, including: preliminary support for DCAT-AP in CKAN, and the development of a DCAT-AP validator and editors.<br><br>The Swedish Open Data Portal uses a <a href="https://docs.google.com/document/d/1A7OUPTqWIvKGdaArOORIJKlowFynA0UWBO1M4BnE4Ak/edit" target="_blank">DCAT application profile</a> specifically created for Sweden by <a href="https://metasolutions.se/" target="_blank">Metasolutions</a> to describe datasets in more details. For example, datasets classifications according to <a href="http://eurovoc.europa.eu/drupal/?q=navigation&cl=en" target="_blank">Eurovoc classification system</a>. The Swedish Open Data Portal uses CKAN to automatically harvest datasets from a range of DCAT sources and to expose DCAT metadata in different formats. You can read more about it <a href="http://ckan.org/tag/oppnadata-se/" target="_blank">here</a>.<br><br>Owner: <a href="http://www.vinnova.se/sv/" target="_blank">Swedish innovation agency Vinnova</a><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="http://oppnadata.se" target="_blank">http://oppnadata.se</a>]]></description>
+				<name>Swedish Open Data Interoperable Europe Portal</name>
+				<description><![CDATA[The Swedish innovation agency VINNOVA, which runs the Swedish Open Data Interoperable Europe Portal, in collaboration with Open Knowledge UK and MetaSolutions have undertaken many activities to support the implementation of DCAT-AP in the Swedish Open Data Interoperable Europe Portal, including: preliminary support for DCAT-AP in CKAN, and the development of a DCAT-AP validator and editors.<br><br>The Swedish Open Data Interoperable Europe Portal uses a <a href="https://docs.google.com/document/d/1A7OUPTqWIvKGdaArOORIJKlowFynA0UWBO1M4BnE4Ak/edit" target="_blank">DCAT application profile</a> specifically created for Sweden by <a href="https://metasolutions.se/" target="_blank">Metasolutions</a> to describe datasets in more details. For example, datasets classifications according to <a href="http://eurovoc.europa.eu/drupal/?q=navigation&cl=en" target="_blank">Eurovoc classification system</a>. The Swedish Open Data Interoperable Europe Portal uses CKAN to automatically harvest datasets from a range of DCAT sources and to expose DCAT metadata in different formats. You can read more about it <a href="http://ckan.org/tag/oppnadata-se/" target="_blank">here</a>.<br><br>Owner: <a href="http://www.vinnova.se/sv/" target="_blank">Swedish innovation agency Vinnova</a><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="http://oppnadata.se" target="_blank">http://oppnadata.se</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>18.0609781,59.3326049,0.0</coordinates>
@@ -79,7 +79,7 @@
 			</Placemark>
 			<Placemark>
 				<name>The German XRepository</name>
-				<description><![CDATA[The XRepository provides a central location for storing and managing subject-specific and interdisciplinary interoperability solutions for public administrations. These interoperability solutions support data exchange between public authorities or between a public authority and citizens. XRepository provides a serialisation of its metadata in ADMS-AP format which is federated in Portal.<br><br>Owner: <a href="http://www.bmi.bund.de/EN/Home/home_node.html" target="_blank">German Federal Ministry of the Interior</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">ADMS-AP</a><br><br><a href="https://www.xrepository.de" target="_blank">https://www.xrepository.de</a>]]></description>
+				<description><![CDATA[The XRepository provides a central location for storing and managing subject-specific and interdisciplinary interoperability solutions for public administrations. These interoperability solutions support data exchange between public authorities or between a public authority and citizens. XRepository provides a serialisation of its metadata in ADMS-AP format which is federated in Interoperable Europe Portal.<br><br>Owner: <a href="http://www.bmi.bund.de/EN/Home/home_node.html" target="_blank">German Federal Ministry of the Interior</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">ADMS-AP</a><br><br><a href="https://www.xrepository.de" target="_blank">https://www.xrepository.de</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>8.8125172,53.0791566,0.0</coordinates>
@@ -102,7 +102,7 @@
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>Dutch Open Data Portal</name>
+				<name>Dutch Open Data Interoperable Europe Portal</name>
 				<description><![CDATA[The Dutch data portal provides an overview of all available datasets provided by government organisations in the Netherlands. There are over 150 Dutch government organisations that provide over 7100 datasets. The Dutch data portal implements DCAT-AP standard as a NL application profile. The Dutch data portal provides export of their metadata in DCAT-AP-NL format. You can read more about it <a href="https://data.overheid.nl/IPM-Datamodel" target="_blank">here</a>.<br><br>Owner: <a href="https://www.rijksoverheid.nl/ministeries/ministerie-van-binnenlandse-zaken-en-koninkrijksrelaties" target="_blank">Dutch Ministry of Interior and Kingdom Relations</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="https://data.overheid.nl" target="_blank">https://data.overheid.nl</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
@@ -110,7 +110,7 @@
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>The Swiss Open Data Portal</name>
+				<name>The Swiss Open Data Interoperable Europe Portal</name>
 				<description><![CDATA[The Confederation, cantons and communes as well as other organisations with a mandate from the state publish their open data on opendata.swiss. The portal brings together a wide range of datasets such as Swiss communal boundaries, population statistics, current weather data, historical documents and health insurance premiums. DCAT-AP Switzerland metadata standard helps publishers get their data on the Swiss open data portal. You can read more about it <a href="http://dcat-ap-switzerland.readthedocs.org/en/latest/" target="_blank">here</a>.<br><br>Owner: <a href="https://www.bar.admin.ch/bar/en/home.html" target="_blank">Swiss federal archives</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="http://www.opendata.admin.ch/en" target="_blank">http://www.opendata.admin.ch/en</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
@@ -118,8 +118,8 @@
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>The Irish Open Data Portal</name>
-				<description><![CDATA[The Irish Open Data Portal promotes innovation and transparency through the publication of Irish Public Sector data in open, free and reusable formats. The Open Data listed in data.gov.ie is published by over 80 Government Departments and Public Bodies. Many datasets are individually published and updated by public organisations. Other datasets are harvested daily from existing, domain-specific data catalogues. Datasets on https://data.gov.ie are accompanied by metadata compliant to DCAT-AP (with the Geo extension, if appropriate to the dataset). You can read more about it <a href="https://data.gov.ie/developers" target="_blank">here</a>.<br><br>Owner: <a href="http://www.per.gov.ie/en/" target="_blank">The Department of Public Expenditure & Reform</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="https://data.gov.ie" target="_blank">https://data.gov.ie</a>]]></description>
+				<name>The Irish Open Data Interoperable Europe Portal</name>
+				<description><![CDATA[The Irish Open Data Interoperable Europe Portal promotes innovation and transparency through the publication of Irish Public Sector data in open, free and reusable formats. The Open Data listed in data.gov.ie is published by over 80 Government Departments and Public Bodies. Many datasets are individually published and updated by public organisations. Other datasets are harvested daily from existing, domain-specific data catalogues. Datasets on https://data.gov.ie are accompanied by metadata compliant to DCAT-AP (with the Geo extension, if appropriate to the dataset). You can read more about it <a href="https://data.gov.ie/developers" target="_blank">here</a>.<br><br>Owner: <a href="http://www.per.gov.ie/en/" target="_blank">The Department of Public Expenditure & Reform</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="https://data.gov.ie" target="_blank">https://data.gov.ie</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>-6.2529284,53.3386354,0.0</coordinates>
@@ -135,7 +135,7 @@
 			</Placemark>
 			<Placemark>
 				<name>Geocat CKAN Harvester</name>
-				<description><![CDATA[Geocat CKAN Harvester is an extension of CKAN for data harvesting from the Swiss CSW service geocat.ch to the Swiss open data portal opendata.swiss. The source format is ISO-19139_che (Swiss version of ISO-19139), the target format is DCAT-AP Switzerland.<br><br>Owner: <a href="https://opendata.swiss/en/" target="_blank">Open Data Portal Switzerland</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="https://github.com/opendata-swiss/ckanext-geocat" target="_blank">https://github.com/opendata-swiss/ckanext-geocat</a>]]></description>
+				<description><![CDATA[Geocat CKAN Harvester is an extension of CKAN for data harvesting from the Swiss CSW service geocat.ch to the Swiss open data portal opendata.swiss. The source format is ISO-19139_che (Swiss version of ISO-19139), the target format is DCAT-AP Switzerland.<br><br>Owner: <a href="https://opendata.swiss/en/" target="_blank">Open Data Interoperable Europe Portal Switzerland</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="https://github.com/opendata-swiss/ckanext-geocat" target="_blank">https://github.com/opendata-swiss/ckanext-geocat</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>7.446687500000001,46.9404132,0.0</coordinates>
@@ -174,7 +174,7 @@
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>Belgian Open Data Portal</name>
+				<name>Belgian Open Data Interoperable Europe Portal</name>
 				<description><![CDATA[The Federal Public Service for Information and Communication Technology (Fedict) defines and implements the federal e-government strategy. Fedict works to develop and follow up on e-Government solutions and applications on behalf of the Federal Government. To this end, Fedict assists the Federal public services in enhancing the delivery of their services to citizens, businesses and civil servants with the aid of innovative information and communication technologies (ICT). In doing so, Fedict actively contributes to the exchange of data between various public services and to the development and modernisation of software giving access to online government applications.<br>You can read more about it here:<a href="http://www.fedict.belgium.be/en/"target="_blank">Fedict</a><br><br>Fedict uses a command-line DCAT-AP validator and other tools for harvesting local open data portals, and for updating the data.gov.be portal. A dump of all the metadata is available on github.<br><br>The command line DCAT-AP validator is an open source tool for DCAT-AP 1.1 developed initially for improving the data.gov.be metadata as an offline alternative to online validators. Following the validation action, the output is an HTML report with a list of subjects violating the rule.<br><br>The validation rules check: (1) mandatory classes and properties, (2) recommended properties, (3) the use of the EU Publication Office's MDR Authority lists (controlled vocabularies), and (4) best practices (e.g. language tags on literals).<br><br>Owner: <br><a href=http://www.fedict.belgium.be/en"target="_blank">Fedict</a><br><br>ISA specification used: <br><a href=https://joinup.ec.europa.eu/node/145618"target="_blank">DCAT-AP validator</a> <br><br>Project: <br><a href=http://data.gov.be"target="_blank">DCAT-AP validator</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
@@ -182,16 +182,16 @@
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>The Open Data Portal of Ghent</name>
-				<description><![CDATA[The City of Ghent publishes most of the content which is availble on its public website <a href="http://stad.gent"target="_blank">Stad Gent</a> as Linked Open Data (RDF). This includes all the public services it offers to citizens. These services are described using the Core Public Service Vocabulary and are extended in some cases with more specfic information. An example of such a service is <br><a href="https://stad.gent/id/products/208"target="_blank">example</a> . At the bottom of the page a link to the RDF representation, and this representation can also be acquired through content negotiation.<br>This allows semantic web agents and other applications to retreive structured, semantic information on the City's services.<br><br>The City of Ghent is long-standing publisher of open data. The metadata of every dataset it publishes on its data portal, <a href=http://data.stad.gent"target="_blank">Ghent Data Portal</a>, is available through a DCAT feed. This feed also allows other data portals (specifically that of the Flemish government, the Belgian federal government and the European data portal) to harvest and aggregate its data.<br><br>Owner: <br><a href=https://stad.gent/"target="_blank">Stad Gent</a><br><br>ISA specifications used: <br><a href=https://joinup.ec.europa.eu/node/52597"target="_blank">Core Public Service Vocabulary</a>, and DCAT-AP <a href=https://joinup.ec.europa.eu/node/63567"target="_blank">DCAT-AP</a><br><br><a href=https://stad.gent/data/products/"target="_blank">Gent Public Services</a>,]]></description>
+				<name>The Open Data Interoperable Europe Portal of Ghent</name>
+				<description><![CDATA[The City of Ghent publishes most of the content which is availble on its public website <a href="http://stad.gent"target="_blank">Stad Gent</a> as Linked Open Data (RDF). This includes all the public services it offers to citizens. These services are described using the Core Public Service Vocabulary and are extended in some cases with more specfic information. An example of such a service is <br><a href="https://stad.gent/id/products/208"target="_blank">example</a> . At the bottom of the page a link to the RDF representation, and this representation can also be acquired through content negotiation.<br>This allows semantic web agents and other applications to retreive structured, semantic information on the City's services.<br><br>The City of Ghent is long-standing publisher of open data. The metadata of every dataset it publishes on its data portal, <a href=http://data.stad.gent"target="_blank">Ghent Data Interoperable Europe Portal</a>, is available through a DCAT feed. This feed also allows other data portals (specifically that of the Flemish government, the Belgian federal government and the European data portal) to harvest and aggregate its data.<br><br>Owner: <br><a href=https://stad.gent/"target="_blank">Stad Gent</a><br><br>ISA specifications used: <br><a href=https://joinup.ec.europa.eu/node/52597"target="_blank">Core Public Service Vocabulary</a>, and DCAT-AP <a href=https://joinup.ec.europa.eu/node/63567"target="_blank">DCAT-AP</a><br><br><a href=https://stad.gent/data/products/"target="_blank">Gent Public Services</a>,]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>3.7253208,51.0545313,0.0</coordinates>
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>The European Data Portal - EDP</name>
-				<description><![CDATA[The European Data Portal <a href="http://www.europeandataportal.eu" target="_blank">European Data Portal</a> harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included.<br><br>Mapping into the GeoDCAT-AP profile – a transdisciplinary metadata exchange format for EU data portals – the exchange and reuse of EU member states' spatial data and that of other European countries can be simplified and their quality improved. Moreover, all metadata is automatically translated during harvesting. For example, French metadata is automatically translated to German and vice versa, to simplify the Europe-wide search for data.<br>Another feature available from the portal is the search for place names, for the purpose of simplifying the discovery of datasets by means of spatial search criteria. To this end, con terra employs the smart.finder, a solution that allows rapid discovery and structured access to extensive, heterogeneous datasets. The basic data is drawn from such sources as the geographical names according to INSPIRE Annex I and open data from geonames.org, which are harmonised and combined with the aid of the FME spatial data hub. The INSPIRE-compliant OGC Web Feature Service that has recently been made available by the Federal Agency for Cartography and Geodesy (BKG) is also used for geographical names in the construction of this so-called gazetteer.<br><br>Project participants: <a href="http://www.conterra.de" target="_blank">con terra GmbH</a>,  <a href="https://www.fokus.fraunhofer.de/en" target="_blank">fraunhofer</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/node/139283" target="_blank">GeoDCAT-AP</a><br><br>Project:<br><a href="http://www.europeandataportal.eu/en"  target="_blank">European Data Portal</a>]]></description>
+				<name>The European Data Interoperable Europe Portal - EDP</name>
+				<description><![CDATA[The European Data Interoperable Europe Portal <a href="http://www.europeandataportal.eu" target="_blank">European Data Interoperable Europe Portal</a> harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included.<br><br>Mapping into the GeoDCAT-AP profile – a transdisciplinary metadata exchange format for EU data portals – the exchange and reuse of EU member states' spatial data and that of other European countries can be simplified and their quality improved. Moreover, all metadata is automatically translated during harvesting. For example, French metadata is automatically translated to German and vice versa, to simplify the Europe-wide search for data.<br>Another feature available from the portal is the search for place names, for the purpose of simplifying the discovery of datasets by means of spatial search criteria. To this end, con terra employs the smart.finder, a solution that allows rapid discovery and structured access to extensive, heterogeneous datasets. The basic data is drawn from such sources as the geographical names according to INSPIRE Annex I and open data from geonames.org, which are harmonised and combined with the aid of the FME spatial data hub. The INSPIRE-compliant OGC Web Feature Service that has recently been made available by the Federal Agency for Cartography and Geodesy (BKG) is also used for geographical names in the construction of this so-called gazetteer.<br><br>Project participants: <a href="http://www.conterra.de" target="_blank">con terra GmbH</a>,  <a href="https://www.fokus.fraunhofer.de/en" target="_blank">fraunhofer</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/node/139283" target="_blank">GeoDCAT-AP</a><br><br>Project:<br><a href="http://www.europeandataportal.eu/en"  target="_blank">European Data Interoperable Europe Portal</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>6.125537,49.5995608,0.0</coordinates>
@@ -264,7 +264,7 @@
 			</Placemark>
 			<Placemark>
 				<name>Technical Interoperability Standard for Data Models</name>
-				<description><![CDATA[The National Technical Interoperability Standard to reuse public information (NTIS) establishes a minimum of common specification to describe data sets within the Spanish Public. The NTIS is an application profile of DCAT.<br><br>The NTIS is federated with European Data Portal (EDP).<br><br>Owner: <a href="http://www.minhap.gob.es/en-GB/El%20Ministerio/Paginas/El%20Ministerio.aspx" target="_blank">Directorate for Information Technologies & Communications, Ministry of Finance & Public Administration</a><br><br>ISA specification: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="www.datos.gob.es" target="_blank">www.datos.gob.es</a>]]></description>
+				<description><![CDATA[The National Technical Interoperability Standard to reuse public information (NTIS) establishes a minimum of common specification to describe data sets within the Spanish Public. The NTIS is an application profile of DCAT.<br><br>The NTIS is federated with European Data Interoperable Europe Portal (EDP).<br><br>Owner: <a href="http://www.minhap.gob.es/en-GB/El%20Ministerio/Paginas/El%20Ministerio.aspx" target="_blank">Directorate for Information Technologies & Communications, Ministry of Finance & Public Administration</a><br><br>ISA specification: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="www.datos.gob.es" target="_blank">www.datos.gob.es</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>-3.6960411,40.4209456,0.0</coordinates>
diff --git a/web/modules/custom/joinup_communities/semic/semic.info.yml b/web/modules/custom/joinup_communities/semic/semic.info.yml
index e43053d77a..55e892856e 100644
--- a/web/modules/custom/joinup_communities/semic/semic.info.yml
+++ b/web/modules/custom/joinup_communities/semic/semic.info.yml
@@ -2,4 +2,4 @@ name: Semic
 type: module
 description: Specificities for the SEMIC community.
 core_version_requirement: ">= 9.4"
-package: Portal communities
+package: Interoperable Europe Portal communities
diff --git a/web/modules/custom/joinup_community_content/joinup_community_content.info.yml b/web/modules/custom/joinup_community_content/joinup_community_content.info.yml
index 58e42ef328..c3c55acdd4 100644
--- a/web/modules/custom/joinup_community_content/joinup_community_content.info.yml
+++ b/web/modules/custom/joinup_community_content/joinup_community_content.info.yml
@@ -1,7 +1,7 @@
-name: Portal Community Content
-description: Portal Community Content base module
+name: Interoperable Europe Portal Community Content
+description: Interoperable Europe Portal Community Content base module
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_community_content/src/CommunityContentWorkflowAccessControlHandler.php b/web/modules/custom/joinup_community_content/src/CommunityContentWorkflowAccessControlHandler.php
index 2a8f3078e2..6f0986ec96 100644
--- a/web/modules/custom/joinup_community_content/src/CommunityContentWorkflowAccessControlHandler.php
+++ b/web/modules/custom/joinup_community_content/src/CommunityContentWorkflowAccessControlHandler.php
@@ -52,7 +52,7 @@ public function __construct(
   }
 
   /**
-   * Main handler for access checks for group content in Portal.
+   * Main handler for access checks for group content in Interoperable Europe Portal.
    *
    * @param \Drupal\joinup_community_content\Entity\CommunityContentInterface $content
    *   The group content entity object.
diff --git a/web/modules/custom/joinup_community_content/src/EventSubscriber/CommunityContentGroupSubscriber.php b/web/modules/custom/joinup_community_content/src/EventSubscriber/CommunityContentGroupSubscriber.php
index d16c3f15b7..e61144bb9d 100644
--- a/web/modules/custom/joinup_community_content/src/EventSubscriber/CommunityContentGroupSubscriber.php
+++ b/web/modules/custom/joinup_community_content/src/EventSubscriber/CommunityContentGroupSubscriber.php
@@ -8,7 +8,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Portal Group events.
+ * Subscribes to Interoperable Europe Portal Group events.
  */
 class CommunityContentGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/joinup_community_content/src/EventSubscriber/EventSubscriber.php b/web/modules/custom/joinup_community_content/src/EventSubscriber/EventSubscriber.php
index 613c0b8d61..080198a6c9 100644
--- a/web/modules/custom/joinup_community_content/src/EventSubscriber/EventSubscriber.php
+++ b/web/modules/custom/joinup_community_content/src/EventSubscriber/EventSubscriber.php
@@ -15,7 +15,7 @@
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 
 /**
- * Event subscribers for the Portal community content module.
+ * Event subscribers for the Interoperable Europe Portal community content module.
  */
 class EventSubscriber implements EventSubscriberInterface {
 
diff --git a/web/modules/custom/joinup_community_content/src/Plugin/views/filter/JoinupContentState.php b/web/modules/custom/joinup_community_content/src/Plugin/views/filter/JoinupContentState.php
index 9f998ed046..6ace91054d 100644
--- a/web/modules/custom/joinup_community_content/src/Plugin/views/filter/JoinupContentState.php
+++ b/web/modules/custom/joinup_community_content/src/Plugin/views/filter/JoinupContentState.php
@@ -13,7 +13,7 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Portal content state.
+ * Interoperable Europe Portal content state.
  *
  * Workflow for nodes are calculated based on the associated group. We can not
  * use the standard approach because state filter does not use a real entity,
diff --git a/web/modules/custom/joinup_community_content/tests/src/ExistingSite/CommunityContentWorkflowTestBase.php b/web/modules/custom/joinup_community_content/tests/src/ExistingSite/CommunityContentWorkflowTestBase.php
index 5c7235a668..11ff3e1e75 100644
--- a/web/modules/custom/joinup_community_content/tests/src/ExistingSite/CommunityContentWorkflowTestBase.php
+++ b/web/modules/custom/joinup_community_content/tests/src/ExistingSite/CommunityContentWorkflowTestBase.php
@@ -16,7 +16,7 @@
 use Drupal\rdf_entity\RdfInterface;
 
 /**
- * Base setup for a Portal workflow test for community content.
+ * Base setup for a Interoperable Europe Portal workflow test for community content.
  *
  * @group rdf_entity
  */
diff --git a/web/modules/custom/joinup_core/config/schema/joinup_core.schema.yml b/web/modules/custom/joinup_core/config/schema/joinup_core.schema.yml
index 6244d6066b..785ba13ed1 100644
--- a/web/modules/custom/joinup_core/config/schema/joinup_core.schema.yml
+++ b/web/modules/custom/joinup_core/config/schema/joinup_core.schema.yml
@@ -19,7 +19,7 @@ joinup_core.outdated_content_threshold:
 
 field.formatter.third_party.joinup:
   type: mapping
-  label: 'Theme settings for Portal project.'
+  label: 'Theme settings for Interoperable Europe Portal project.'
   mapping:
     template_suggestion:
       type: string
@@ -159,7 +159,7 @@ condition.plugin.request_route:
 
 condition.plugin.joinup_content:
   type: condition.plugin
-  label: Portal content condition
+  label: Interoperable Europe Portal content condition
   mapping:
     content:
       type: sequence
@@ -214,7 +214,7 @@ entity_reference_selection.grouped_taxonomy_term_selection:
 
 filter_settings.joinup_iframe:
   type: filter
-  label: 'Portal iframe filter'
+  label: 'Interoperable Europe Portal iframe filter'
   mapping:
     allowed_domains:
       type: sequence
diff --git a/web/modules/custom/joinup_core/joinup_core.deploy.php b/web/modules/custom/joinup_core/joinup_core.deploy.php
index 2f8854a873..15c9c6a596 100644
--- a/web/modules/custom/joinup_core/joinup_core.deploy.php
+++ b/web/modules/custom/joinup_core/joinup_core.deploy.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Deploy functions for Portal.
+ * Deploy functions for Interoperable Europe Portal.
  *
  * This should only contain update functions that rely on the Drupal API and
  * need to run _after_ the configuration is imported.
diff --git a/web/modules/custom/joinup_core/joinup_core.info.yml b/web/modules/custom/joinup_core/joinup_core.info.yml
index 3fa13f1688..32924395a9 100644
--- a/web/modules/custom/joinup_core/joinup_core.info.yml
+++ b/web/modules/custom/joinup_core/joinup_core.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal core'
-description: 'Contains shared code for Portal.'
+name: 'Interoperable Europe Portal core'
+description: 'Contains shared code for Interoperable Europe Portal.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - 'drupal:comment'
diff --git a/web/modules/custom/joinup_core/joinup_core.install b/web/modules/custom/joinup_core/joinup_core.install
index 557c7a3c52..d884cce79f 100644
--- a/web/modules/custom/joinup_core/joinup_core.install
+++ b/web/modules/custom/joinup_core/joinup_core.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update, and uninstall functions for the Portal core module.
+ * Install, update, and uninstall functions for the Interoperable Europe Portal core module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_core/joinup_core.links.menu.yml b/web/modules/custom/joinup_core/joinup_core.links.menu.yml
index eeb59b6707..4e6a6277f9 100644
--- a/web/modules/custom/joinup_core/joinup_core.links.menu.yml
+++ b/web/modules/custom/joinup_core/joinup_core.links.menu.yml
@@ -28,7 +28,7 @@ joinup_core.support.contact:
   destination: true
 
 joinup_core.support.homepage_contact:
-  title: 'Contact Portal Support'
+  title: 'Contact Interoperable Europe Portal Support'
   menu_name: footer-help-and-support
   url: 'internal:/contact'
   weight: -100
diff --git a/web/modules/custom/joinup_core/joinup_core.module b/web/modules/custom/joinup_core/joinup_core.module
index 97f3295aca..c22c2635b3 100644
--- a/web/modules/custom/joinup_core/joinup_core.module
+++ b/web/modules/custom/joinup_core/joinup_core.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal core module.
+ * Hook implementations for the Interoperable Europe Portal core module.
  */
 
 declare(strict_types=1);
@@ -460,7 +460,7 @@ function joinup_core_menu_local_tasks_alter(&$data, $route_name, RefinableCachea
  * Implements hook_page_attachments().
  */
 function joinup_core_page_attachments(array &$attachments): void {
-  // As Portal uses multiple themes, we pass the active theme to the page to be
+  // As Interoperable Europe Portal uses multiple themes, we pass the active theme to the page to be
   // used in various contexts.
   $attachments['#attached']['drupalSettings']['theme'] = \Drupal::theme()->getActiveTheme()->getName();
 }
diff --git a/web/modules/custom/joinup_core/joinup_core.post_update.php b/web/modules/custom/joinup_core/joinup_core.post_update.php
index 92d3c1f9b8..e734b69d9c 100644
--- a/web/modules/custom/joinup_core/joinup_core.post_update.php
+++ b/web/modules/custom/joinup_core/joinup_core.post_update.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Post update functions for Portal.
+ * Post update functions for Interoperable Europe Portal.
  *
  * This should only contain update functions that rely on the Drupal API but
  * need to run _before_ the configuration is imported.
diff --git a/web/modules/custom/joinup_core/joinup_core.tokens.inc b/web/modules/custom/joinup_core/joinup_core.tokens.inc
index 6f8c88f289..a4d2f61768 100644
--- a/web/modules/custom/joinup_core/joinup_core.tokens.inc
+++ b/web/modules/custom/joinup_core/joinup_core.tokens.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Tokens support for Portal Core module.
+ * Tokens support for Interoperable Europe Portal Core module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_core/src/JoinupVersion.php b/web/modules/custom/joinup_core/src/JoinupVersion.php
index dc56bed5a1..f2324b4275 100644
--- a/web/modules/custom/joinup_core/src/JoinupVersion.php
+++ b/web/modules/custom/joinup_core/src/JoinupVersion.php
@@ -7,7 +7,7 @@
 use Drupal\Core\Url;
 
 /**
- * A service that retrieves the current Portal version.
+ * A service that retrieves the current Interoperable Europe Portal version.
  *
  * The version is saved during building the codebase in a `VERSION.txt` file, in
  * the project's webroot directory.
@@ -22,7 +22,7 @@ class JoinupVersion implements JoinupVersionInterface {
   const UNTAGGED = 'untagged.version';
 
   /**
-   * The current Portal version.
+   * The current Interoperable Europe Portal version.
    *
    * @var string
    */
diff --git a/web/modules/custom/joinup_core/src/JoinupVersionInterface.php b/web/modules/custom/joinup_core/src/JoinupVersionInterface.php
index 28d185bdf3..efeb9c15e3 100644
--- a/web/modules/custom/joinup_core/src/JoinupVersionInterface.php
+++ b/web/modules/custom/joinup_core/src/JoinupVersionInterface.php
@@ -7,7 +7,7 @@
 use Drupal\Core\Url;
 
 /**
- * Interface for services that retrieve the current Portal version.
+ * Interface for services that retrieve the current Interoperable Europe Portal version.
  *
  * The version is saved during building the codebase in a `VERSION.txt` file, in
  * the project's webroot directory.
@@ -15,7 +15,7 @@
 interface JoinupVersionInterface {
 
   /**
-   * The path to the file that contains the Portal version.
+   * The path to the file that contains the Interoperable Europe Portal version.
    */
   const PATH = DRUPAL_ROOT . '/VERSION.txt';
 
@@ -25,10 +25,10 @@ interface JoinupVersionInterface {
   const REPO_BASE_URL = 'https://git.fpfis.tech.ec.europa.eu/ec-europa/digit-joinup-reference/';
 
   /**
-   * Returns a string that uniquely identifies the current Portal version.
+   * Returns a string that uniquely identifies the current Interoperable Europe Portal version.
    *
    * @return string
-   *   The Portal version. This is in the format as returned by `git describe`.
+   *   The Interoperable Europe Portal version. This is in the format as returned by `git describe`.
    *   - If a release is checked out this will be the git tag, e.g. 'v1.56.0'.
    *   - If a development version is checked out, the version is composed of the
    *     closest git tag, followed by a dash, the number of commits that follow
@@ -42,7 +42,7 @@ interface JoinupVersionInterface {
   public function getVersion(): string;
 
   /**
-   * Returns the URL of the current Portal release or code snapshot.
+   * Returns the URL of the current Interoperable Europe Portal release or code snapshot.
    *
    * @return \Drupal\Core\Url
    *   The URL.
diff --git a/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php b/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php
index 166c7f32f6..fea89f290a 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php
@@ -17,7 +17,7 @@
  * always visible so if there is only 1 tab active, it is the current one and
  * the user does not need to click to go to the current page.
  *
- * In Portal, we are hiding off the "View" tab for canonical paths. This can
+ * In Interoperable Europe Portal, we are hiding off the "View" tab for canonical paths. This can
  * result in cases where there is only 1 tab left but it is not the current one.
  * Thus, we need to override the primary tabs block in order to allow a single
  * tab to be viewed.
diff --git a/web/modules/custom/joinup_core/src/Plugin/Condition/JoinupContent.php b/web/modules/custom/joinup_core/src/Plugin/Condition/JoinupContent.php
index c494e31794..74d7037c40 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Condition/JoinupContent.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Condition/JoinupContent.php
@@ -16,7 +16,7 @@
  *
  * @Condition(
  *   id = "joinup_content",
- *   label = @Translation("Portal content"),
+ *   label = @Translation("Interoperable Europe Portal content"),
  *   context_definitions = {
  *     "node" = @ContextDefinition("entity:node", label = @Translation("Node"),
  *   required = FALSE),
@@ -76,7 +76,7 @@ public function defaultConfiguration(): array {
    */
   public function buildConfigurationForm(array $form, FormStateInterface $form_state): array {
     $form['content'] = [
-      '#title' => $this->t('Portal content'),
+      '#title' => $this->t('Interoperable Europe Portal content'),
       '#type' => 'checkboxes',
       '#options' => $this->getContentOptions(),
       '#default_value' => $this->configuration['content'],
diff --git a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingEmailWidget.php b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingEmailWidget.php
index 3ba325053f..62f99574ac 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingEmailWidget.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingEmailWidget.php
@@ -10,7 +10,7 @@
 /**
  * Widget for e-mail fields that support multiple cardinality for existing data.
  *
- * In the Drupal 6 version of Portal it was possible to enter multiple e-mail
+ * In the Drupal 6 version of Interoperable Europe Portal it was possible to enter multiple e-mail
  * addresses for some e-mail fields. In the new version we only allow to enter a
  * single e-mail address for these fields. However, it should still be possible
  * to edit existing multivalue data for content that was migrated from Drupal 6.
diff --git a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingLinkWidget.php b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingLinkWidget.php
index 247aa9b88e..b9d72a9078 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingLinkWidget.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingLinkWidget.php
@@ -12,7 +12,7 @@
 /**
  * Widget for link fields that support multiple cardinality for existing data.
  *
- * In the Drupal 6 version of Portal it was possible to enter multiple values
+ * In the Drupal 6 version of Interoperable Europe Portal it was possible to enter multiple values
  * for some link fields, but in the new version we only allow to enter a single
  * value. However, it should still be possible to edit existing multivalue data
  * for content that was migrated from Drupal 6.
diff --git a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingTextFieldWidget.php b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingTextFieldWidget.php
index fe2c3ca9f4..42894096a2 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingTextFieldWidget.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingTextFieldWidget.php
@@ -10,7 +10,7 @@
 /**
  * Widget for text fields that support multiple cardinality for existing data.
  *
- * In the Drupal 6 version of Portal it was possible to enter multiple values
+ * In the Drupal 6 version of Interoperable Europe Portal it was possible to enter multiple values
  * for some text fields, but in the new version we only allow to enter a single
  * value. However, it should still be possible to edit existing multivalue data
  * for content that was migrated from Drupal 6.
diff --git a/web/modules/custom/joinup_core/src/Plugin/Filter/FilterIframe.php b/web/modules/custom/joinup_core/src/Plugin/Filter/FilterIframe.php
index 3aa03f03d3..968bf88aca 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Filter/FilterIframe.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Filter/FilterIframe.php
@@ -22,7 +22,7 @@
  */
 #[Filter(
   id: "joinup_iframe",
-  title: new TranslatableMarkup("Portal iframe filter"),
+  title: new TranslatableMarkup("Interoperable Europe Portal iframe filter"),
   type: FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE,
   description: new TranslatableMarkup("Filters <code>iframe</code> tags according to allowed domains."),
   settings: [
diff --git a/web/modules/custom/joinup_core/src/Plugin/SocialMediaLinks/Iconset/JoinupIcons.php b/web/modules/custom/joinup_core/src/Plugin/SocialMediaLinks/Iconset/JoinupIcons.php
index ea5bd79a42..32e0135244 100644
--- a/web/modules/custom/joinup_core/src/Plugin/SocialMediaLinks/Iconset/JoinupIcons.php
+++ b/web/modules/custom/joinup_core/src/Plugin/SocialMediaLinks/Iconset/JoinupIcons.php
@@ -8,15 +8,15 @@
 use Drupal\social_media_links\IconsetBase;
 
 /**
- * Provides the Portal icons set.
+ * Provides the Interoperable Europe Portal icons set.
  *
  * Since the user social media field requires this class in its configuration,
- * we cannot put this in the Portal profile.
+ * we cannot put this in the Interoperable Europe Portal profile.
  *
  * @Iconset(
  *   id = "joinup",
- *   publisher = "Portal",
- *   name = "Portal icons",
+ *   publisher = "Interoperable Europe Portal",
+ *   name = "Interoperable Europe Portal icons",
  * )
  */
 class JoinupIcons extends IconsetBase {
diff --git a/web/modules/custom/joinup_core/src/Plugin/sparql_entity_storage/Id/JoinupEntityIdGenerator.php b/web/modules/custom/joinup_core/src/Plugin/sparql_entity_storage/Id/JoinupEntityIdGenerator.php
index e55757e010..dd6fe225a2 100644
--- a/web/modules/custom/joinup_core/src/Plugin/sparql_entity_storage/Id/JoinupEntityIdGenerator.php
+++ b/web/modules/custom/joinup_core/src/Plugin/sparql_entity_storage/Id/JoinupEntityIdGenerator.php
@@ -14,7 +14,7 @@
  *
  * @SparqlEntityIdGenerator(
  *   id = "joinup_po_namespace",
- *   name = @Translation("Portal PO namespace (data.europa.eu/w21)"),
+ *   name = @Translation("Interoperable Europe Portal PO namespace (data.europa.eu/w21)"),
  * )
  */
 class JoinupEntityIdGenerator extends SparqlEntityStorageEntityIdPluginBase {
diff --git a/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.info.yml b/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.info.yml
index ddaf3df244..c64783484d 100644
--- a/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.info.yml
+++ b/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.info.yml
@@ -1,4 +1,4 @@
-name: 'Portal ETrans Debugger'
+name: 'Interoperable Europe Portal ETrans Debugger'
 type: module
 description: 'Developer module which visually reveals which parts of the page are translated by the ETrans service'
 package: Testing
diff --git a/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.module b/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.module
index 5b91fa1576..5a85ed699d 100644
--- a/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.module
+++ b/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains hooks of Portal ETrans Debugger.
+ * Contains hooks of Interoperable Europe Portal ETrans Debugger.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_core/tests/modules/joinup_test_time/joinup_test_time.info.yml b/web/modules/custom/joinup_core/tests/modules/joinup_test_time/joinup_test_time.info.yml
index 6a18fc674a..d3584de0f5 100644
--- a/web/modules/custom/joinup_core/tests/modules/joinup_test_time/joinup_test_time.info.yml
+++ b/web/modules/custom/joinup_core/tests/modules/joinup_test_time/joinup_test_time.info.yml
@@ -1,4 +1,4 @@
-name: 'Portal request time mock'
+name: 'Interoperable Europe Portal request time mock'
 type: module
 description: 'Support module for testing with mocked request time.'
 package: Testing
diff --git a/web/modules/custom/joinup_core/tests/src/ExistingSite/BlockContextSatisfactionTest.php b/web/modules/custom/joinup_core/tests/src/ExistingSite/BlockContextSatisfactionTest.php
index 2d463feb42..bc1d3222e4 100644
--- a/web/modules/custom/joinup_core/tests/src/ExistingSite/BlockContextSatisfactionTest.php
+++ b/web/modules/custom/joinup_core/tests/src/ExistingSite/BlockContextSatisfactionTest.php
@@ -17,7 +17,7 @@
 class BlockContextSatisfactionTest extends JoinupExistingSiteTestBase {
 
   /**
-   * An array containing the paths that contain custom Portal code.
+   * An array containing the paths that contain custom Interoperable Europe Portal code.
    *
    * All custom blocks whose definitions reside in these paths will be subjected
    * to this test.
@@ -94,7 +94,7 @@ protected function getBlockDefinitionsFilteredByAvailableContexts(): array {
   }
 
   /**
-   * Returns the block definitions that are defined in custom Portal code.
+   * Returns the block definitions that are defined in custom Interoperable Europe Portal code.
    *
    * @return array[]
    *   An associative array of block definitions, keyed by block ID.
@@ -109,7 +109,7 @@ protected function getJoinupBlockDefinitions(): array {
   }
 
   /**
-   * Returns the custom extensions that are provided by Portal.
+   * Returns the custom extensions that are provided by Interoperable Europe Portal.
    *
    * @return \Drupal\Core\Extension\Extension[]
    *   The extensions.
diff --git a/web/modules/custom/joinup_core/tests/src/ExistingSite/ConfigTest.php b/web/modules/custom/joinup_core/tests/src/ExistingSite/ConfigTest.php
index 31e0d7d50c..b61ef1ad3c 100644
--- a/web/modules/custom/joinup_core/tests/src/ExistingSite/ConfigTest.php
+++ b/web/modules/custom/joinup_core/tests/src/ExistingSite/ConfigTest.php
@@ -8,7 +8,7 @@
 use Drush\TestTraits\DrushTestTrait;
 
 /**
- * Tests the Portal configuration.
+ * Tests the Interoperable Europe Portal configuration.
  *
  * @group joinup_core
  */
diff --git a/web/modules/custom/joinup_core/tests/src/Kernel/JoinupConfigSyncTest.php b/web/modules/custom/joinup_core/tests/src/Kernel/JoinupConfigSyncTest.php
index 3be2d6bceb..6078a0bbfa 100644
--- a/web/modules/custom/joinup_core/tests/src/Kernel/JoinupConfigSyncTest.php
+++ b/web/modules/custom/joinup_core/tests/src/Kernel/JoinupConfigSyncTest.php
@@ -13,7 +13,7 @@
 use Symfony\Component\DependencyInjection\Reference;
 
 /**
- * Tests Portal sync configuration.
+ * Tests Interoperable Europe Portal sync configuration.
  *
  * @group joinup_core
  */
diff --git a/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupMailKernelTestBase.php b/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupMailKernelTestBase.php
index 547957df0e..ffc8e13214 100644
--- a/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupMailKernelTestBase.php
+++ b/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupMailKernelTestBase.php
@@ -42,7 +42,7 @@ abstract class JoinupMailKernelTestBase extends KernelTestBase {
     'mailsystem',
     'symfony_mailer_lite',
 
-    // Portal Notification + its dependencies.
+    // Interoperable Europe Portal Notification + its dependencies.
     'joinup_notification',
     'field',
     'options',
diff --git a/web/modules/custom/joinup_debug/joinup_debug.info.yml b/web/modules/custom/joinup_debug/joinup_debug.info.yml
index d360226c62..a79cd7a920 100644
--- a/web/modules/custom/joinup_debug/joinup_debug.info.yml
+++ b/web/modules/custom/joinup_debug/joinup_debug.info.yml
@@ -1,5 +1,5 @@
-name: 'Portal debug'
+name: 'Interoperable Europe Portal debug'
 description: 'Provides additional logging when unexpected behavior occurs.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_debug/joinup_debug.module b/web/modules/custom/joinup_debug/joinup_debug.module
index 6ef6f8d9f2..c4187532ad 100644
--- a/web/modules/custom/joinup_debug/joinup_debug.module
+++ b/web/modules/custom/joinup_debug/joinup_debug.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal Debug module.
+ * Hook implementations for the Interoperable Europe Portal Debug module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_debug/src/Form/SparqlConsoleForm.php b/web/modules/custom/joinup_debug/src/Form/SparqlConsoleForm.php
index 00aa3abc96..cd75278d92 100644
--- a/web/modules/custom/joinup_debug/src/Form/SparqlConsoleForm.php
+++ b/web/modules/custom/joinup_debug/src/Form/SparqlConsoleForm.php
@@ -11,7 +11,7 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Provides a Portal RDF form.
+ * Provides a Interoperable Europe Portal RDF form.
  */
 final class SparqlConsoleForm extends FormBase {
 
diff --git a/web/modules/custom/joinup_debug/src/Form/VocabularyIndexForm.php b/web/modules/custom/joinup_debug/src/Form/VocabularyIndexForm.php
index 8cb06bba00..8b79c0ef43 100644
--- a/web/modules/custom/joinup_debug/src/Form/VocabularyIndexForm.php
+++ b/web/modules/custom/joinup_debug/src/Form/VocabularyIndexForm.php
@@ -13,7 +13,7 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Provides a Portal debug form.
+ * Provides a Interoperable Europe Portal debug form.
  */
 final class VocabularyIndexForm extends FormBase {
 
diff --git a/web/modules/custom/joinup_discussion/joinup_discussion.info.yml b/web/modules/custom/joinup_discussion/joinup_discussion.info.yml
index a949f16f8e..279071cea5 100644
--- a/web/modules/custom/joinup_discussion/joinup_discussion.info.yml
+++ b/web/modules/custom/joinup_discussion/joinup_discussion.info.yml
@@ -1,7 +1,7 @@
 name: Discussion
-description: 'A discussion content bundle for the Portal project.'
+description: 'A discussion content bundle for the Interoperable Europe Portal project.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_discussion/joinup_discussion.module b/web/modules/custom/joinup_discussion/joinup_discussion.module
index 31be45617a..ac11ef2515 100644
--- a/web/modules/custom/joinup_discussion/joinup_discussion.module
+++ b/web/modules/custom/joinup_discussion/joinup_discussion.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal Discussion module.
+ * Hook implementations for the Interoperable Europe Portal Discussion module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_discussion/src/Entity/DiscussionInterface.php b/web/modules/custom/joinup_discussion/src/Entity/DiscussionInterface.php
index 9d344592b0..e63cf027d8 100644
--- a/web/modules/custom/joinup_discussion/src/Entity/DiscussionInterface.php
+++ b/web/modules/custom/joinup_discussion/src/Entity/DiscussionInterface.php
@@ -9,7 +9,7 @@
 use Drupal\joinup_workflow\ArchivableEntityInterface;
 
 /**
- * Interface for discussion entities in Portal.
+ * Interface for discussion entities in Interoperable Europe Portal.
  */
 interface DiscussionInterface extends CommunityContentInterface, ArchivableEntityInterface, LogoInterface {
 
diff --git a/web/modules/custom/joinup_discussion/src/Event/DiscussionEvents.php b/web/modules/custom/joinup_discussion/src/Event/DiscussionEvents.php
index ba26324e83..569fb54bb6 100644
--- a/web/modules/custom/joinup_discussion/src/Event/DiscussionEvents.php
+++ b/web/modules/custom/joinup_discussion/src/Event/DiscussionEvents.php
@@ -5,7 +5,7 @@
 namespace Drupal\joinup_discussion\Event;
 
 /**
- * Defines events for the Portal Discussion module.
+ * Defines events for the Interoperable Europe Portal Discussion module.
  */
 final class DiscussionEvents {
 
diff --git a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php
index ff592c2e30..a8b91ab431 100644
--- a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php
+++ b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php
@@ -17,14 +17,14 @@
 class SubscribedDiscussionCommentSubscriber implements EventSubscriberInterface {
 
   /**
-   * The Portal subscribe service.
+   * The Interoperable Europe Portal subscribe service.
    *
    * @var \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface
    */
   protected $subscribeService;
 
   /**
-   * The Portal message delivery service.
+   * The Interoperable Europe Portal message delivery service.
    *
    * @var \Drupal\joinup_notification\JoinupMessageDeliveryInterface
    */
@@ -62,9 +62,9 @@ class SubscribedDiscussionCommentSubscriber implements EventSubscriberInterface
    * Constructs a new event subscriber object.
    *
    * @param \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface $subscribe_service
-   *   The Portal subscribe service.
+   *   The Interoperable Europe Portal subscribe service.
    * @param \Drupal\joinup_notification\JoinupMessageDeliveryInterface $message_delivery
-   *   The Portal message delivery service.
+   *   The Interoperable Europe Portal message delivery service.
    */
   public function __construct(JoinupDiscussionSubscriptionInterface $subscribe_service, JoinupMessageDeliveryInterface $message_delivery) {
     $this->subscribeService = $subscribe_service;
@@ -84,7 +84,7 @@ public static function getSubscribedEvents(): array {
    * Normally we should have split the events into more specific events, like
    * 'comment create', 'comment update', 'comment delete'. Just 'comment crud'
    * is too generic and is not actually an event. In order to keep the
-   * compatibility with Portal Notification module, we use this proxy method to
+   * compatibility with Interoperable Europe Portal Notification module, we use this proxy method to
    * delegate the reaction to a specific protected method, based on the real
    * operation being performed.
    *
diff --git a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php
index d697e50b55..79ea5c3357 100644
--- a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php
+++ b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php
@@ -30,14 +30,14 @@
 class SubscribedDiscussionSubscriber implements EventSubscriberInterface {
 
   /**
-   * The Portal subscribe service.
+   * The Interoperable Europe Portal subscribe service.
    *
    * @var \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface
    */
   protected $subscribeService;
 
   /**
-   * The Portal message delivery service.
+   * The Interoperable Europe Portal message delivery service.
    *
    * @var \Drupal\joinup_notification\JoinupMessageDeliveryInterface
    */
@@ -68,9 +68,9 @@ class SubscribedDiscussionSubscriber implements EventSubscriberInterface {
    * Constructs a new event subscriber object.
    *
    * @param \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface $subscribe_service
-   *   The Portal subscribe service.
+   *   The Interoperable Europe Portal subscribe service.
    * @param \Drupal\joinup_notification\JoinupMessageDeliveryInterface $message_delivery
-   *   The Portal message delivery service.
+   *   The Interoperable Europe Portal message delivery service.
    * @param \Drupal\Core\Session\AccountProxyInterface $current_user
    *   The current user.
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
diff --git a/web/modules/custom/joinup_discussion/src/Plugin/views/access/DiscussionOverviewAccess.php b/web/modules/custom/joinup_discussion/src/Plugin/views/access/DiscussionOverviewAccess.php
index 695e48824c..f249b61494 100644
--- a/web/modules/custom/joinup_discussion/src/Plugin/views/access/DiscussionOverviewAccess.php
+++ b/web/modules/custom/joinup_discussion/src/Plugin/views/access/DiscussionOverviewAccess.php
@@ -62,7 +62,7 @@ public static function create(ContainerInterface $container, array $configuratio
    */
   public function access(AccountInterface $account): bool {
     if (!$this->groupManager->getGroupFromContext()) {
-      throw new \LogicException("The Views 'joinup_group_discussion_overview' can be used only in the context of a Portal group.");
+      throw new \LogicException("The Views 'joinup_group_discussion_overview' can be used only in the context of a Interoperable Europe Portal group.");
     }
 
     return TRUE;
diff --git a/web/modules/custom/joinup_distribution/joinup_distribution.info.yml b/web/modules/custom/joinup_distribution/joinup_distribution.info.yml
index be501b76fa..9d65efd67a 100644
--- a/web/modules/custom/joinup_distribution/joinup_distribution.info.yml
+++ b/web/modules/custom/joinup_distribution/joinup_distribution.info.yml
@@ -1,7 +1,7 @@
 type: module
 name: Distribution
 description: Distribution functionality
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 10.2"
 
 dependencies:
diff --git a/web/modules/custom/joinup_distribution/src/EventSubscriber/DistributionGroupSubscriber.php b/web/modules/custom/joinup_distribution/src/EventSubscriber/DistributionGroupSubscriber.php
index 9476c9df35..2b7f912c36 100644
--- a/web/modules/custom/joinup_distribution/src/EventSubscriber/DistributionGroupSubscriber.php
+++ b/web/modules/custom/joinup_distribution/src/EventSubscriber/DistributionGroupSubscriber.php
@@ -12,7 +12,7 @@
 use Drupal\solution\Entity\SolutionInterface;
 
 /**
- * Subscribes to Portal Group events.
+ * Subscribes to Interoperable Europe Portal Group events.
  */
 class DistributionGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/joinup_distribution/src/Form/AnonymousDownloadForm.php b/web/modules/custom/joinup_distribution/src/Form/AnonymousDownloadForm.php
index a7e1ec49bf..a7a8514865 100644
--- a/web/modules/custom/joinup_distribution/src/Form/AnonymousDownloadForm.php
+++ b/web/modules/custom/joinup_distribution/src/Form/AnonymousDownloadForm.php
@@ -73,7 +73,7 @@ public function buildForm(array $form, FormStateInterface $form_state, ?FileInte
     $form['#id'] = Html::getId($this->getFormId());
 
     $form['notice'] = [
-      '#markup' => $this->t('If you do not have a Portal account, please take some time to create one, at <a href=":register">this page</a>. It will allow you to fully exploit the functionalities of Portal to create new content, contribute to existing one and collaborate with other users.<br />If you do not want to create a Portal account, please select any of the following options and provide your email address if you want to be kept updated on the status of the solution. Your personal data will be treated in compliance with the <a href=":legal">legal notice</a>', [
+      '#markup' => $this->t('If you do not have a Interoperable Europe Portal account, please take some time to create one, at <a href=":register">this page</a>. It will allow you to fully exploit the functionalities of Interoperable Europe Portal to create new content, contribute to existing one and collaborate with other users.<br />If you do not want to create a Interoperable Europe Portal account, please select any of the following options and provide your email address if you want to be kept updated on the status of the solution. Your personal data will be treated in compliance with the <a href=":legal">legal notice</a>', [
         ':register' => Url::fromRoute('user.register')->toString(),
         ':legal' => Url::fromRoute('entity.entity_legal_document.canonical', ['entity_legal_document' => 'legal_notice'])->toString(),
       ]),
diff --git a/web/modules/custom/joinup_document/joinup_document.info.yml b/web/modules/custom/joinup_document/joinup_document.info.yml
index e536817c6b..1eb58404cf 100644
--- a/web/modules/custom/joinup_document/joinup_document.info.yml
+++ b/web/modules/custom/joinup_document/joinup_document.info.yml
@@ -1,7 +1,7 @@
-name: Portal Document
-description: The document content type used in Portal.
+name: Interoperable Europe Portal Document
+description: The document content type used in Interoperable Europe Portal.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_document/joinup_document.module b/web/modules/custom/joinup_document/joinup_document.module
index 37cf3f95f7..8357315ab7 100644
--- a/web/modules/custom/joinup_document/joinup_document.module
+++ b/web/modules/custom/joinup_document/joinup_document.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal Document module.
+ * Hook implementations for the Interoperable Europe Portal Document module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_document/src/Entity/DocumentInterface.php b/web/modules/custom/joinup_document/src/Entity/DocumentInterface.php
index 7924941a44..2090e2871f 100644
--- a/web/modules/custom/joinup_document/src/Entity/DocumentInterface.php
+++ b/web/modules/custom/joinup_document/src/Entity/DocumentInterface.php
@@ -10,7 +10,7 @@
 use Drupal\joinup_workflow\ArchivableEntityInterface;
 
 /**
- * Interface for document entities in Portal.
+ * Interface for document entities in Interoperable Europe Portal.
  */
 interface DocumentInterface extends CommunityContentInterface, LogoInterface, ArchivableEntityInterface, AbstractInterface {
 
diff --git a/web/modules/custom/joinup_eulogin/config/schema/joinup_eulogin.schema.yml b/web/modules/custom/joinup_eulogin/config/schema/joinup_eulogin.schema.yml
index 525b91ab6c..345f301465 100644
--- a/web/modules/custom/joinup_eulogin/config/schema/joinup_eulogin.schema.yml
+++ b/web/modules/custom/joinup_eulogin/config/schema/joinup_eulogin.schema.yml
@@ -1,6 +1,6 @@
 joinup_eulogin.settings:
   type: config_object
-  label: 'Portal EU Login Settings'
+  label: 'Interoperable Europe Portal EU Login Settings'
   mapping:
     ticket_validation:
       type: mapping
diff --git a/web/modules/custom/joinup_eulogin/joinup_eulogin.info.yml b/web/modules/custom/joinup_eulogin/joinup_eulogin.info.yml
index 222a06cc19..9691f55978 100644
--- a/web/modules/custom/joinup_eulogin/joinup_eulogin.info.yml
+++ b/web/modules/custom/joinup_eulogin/joinup_eulogin.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal EU Login'
+name: 'Interoperable Europe Portal EU Login'
 description: 'Provides integration with EU Login.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_eulogin/joinup_eulogin.module b/web/modules/custom/joinup_eulogin/joinup_eulogin.module
index 73bdb33ee1..28394dab03 100644
--- a/web/modules/custom/joinup_eulogin/joinup_eulogin.module
+++ b/web/modules/custom/joinup_eulogin/joinup_eulogin.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main functions and hook implementations of the Portal EU Login module.
+ * Main functions and hook implementations of the Interoperable Europe Portal EU Login module.
  */
 
 declare(strict_types=1);
@@ -51,7 +51,7 @@ function joinup_eulogin_form_user_form_alter(array &$form, FormStateInterface $f
   $account = $form_state->getFormObject()->getEntity();
   // This hook implementation runs after cas_form_user_form_alter() because the
   // two modules have the same weight but the module list is sorted by weight
-  // and then alphabetically, making the CAS module to be placed before 'Portal
+  // and then alphabetically, making the CAS module to be placed before 'Interoperable Europe Portal
   // EU Login'. For this reason, it's safe to use the form alter to overwrite
   // the behavior of CAS module hook implementation.
   // @see module_config_sort()
@@ -98,7 +98,7 @@ function joinup_eulogin_form_user_form_alter(array &$form, FormStateInterface $f
     '#weight' => -99,
     '#type' => 'html_tag',
     '#tag' => 'p',
-    '#value' => t('Your name and E-mail are inherited from EU Login. To update this information, you can visit <a href="https://webgate.ec.europa.eu/cas/eim/external/restricted/edit.cgi" rel="nofollow" target="_blank">your EU Login account page</a>. Synchronisation will take a few minutes and it will be visible the next time you login on Portal.'),
+    '#value' => t('Your name and E-mail are inherited from EU Login. To update this information, you can visit <a href="https://webgate.ec.europa.eu/cas/eim/external/restricted/edit.cgi" rel="nofollow" target="_blank">your EU Login account page</a>. Synchronisation will take a few minutes and it will be visible the next time you login on Interoperable Europe Portal.'),
   ];
 
   $form['account']['mail']['#description'] = t('Your e-mail address is not made public. We will only send you necessary system notifications and you can opt in later if you wish to receive additional notifications about content you are subscribed to.');
diff --git a/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php b/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php
index a602cfd363..f29770f0b5 100644
--- a/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php
+++ b/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php
@@ -149,7 +149,7 @@ public function prepareAttributes(CasPostValidateEvent $event): void {
   public function blockedUserMessage(CasPostValidateEvent $event): void {
     $uid = $this->authmap->getUid($event->getCasPropertyBag()->getUsername(), 'cas');
     if ($uid && ($user = $this->entityTypeManager->getStorage('user')->load($uid)) && $user->isBlocked()) {
-      $this->messenger->addError('You cannot sign in yet. Your Portal account is currently being verified. You will be notified by email once it is activated.');
+      $this->messenger->addError('You cannot sign in yet. Your Interoperable Europe Portal account is currently being verified. You will be notified by email once it is activated.');
     }
   }
 
@@ -208,7 +208,7 @@ public function preventRegisterEmailCollision(CasPreRegisterEvent $event): void
     ]);
 
     if ($sameMailAccounts) {
-      $event->cancelAutomaticRegistration($this->t('While trying to register your account with Portal, we found that your EU Login email address %mail is already in use on our site. Either change your EU Login email address or contact the <a href=":contact">Portal support</a> if you feel that something is wrong.', [
+      $event->cancelAutomaticRegistration($this->t('While trying to register your account with Interoperable Europe Portal, we found that your EU Login email address %mail is already in use on our site. Either change your EU Login email address or contact the <a href=":contact">Interoperable Europe Portal support</a> if you feel that something is wrong.', [
         '%mail' => $mail,
         ':contact' => Url::fromRoute('contact_form.contact_page')->toString(),
       ]))->stopPropagation();
@@ -220,9 +220,9 @@ public function preventRegisterEmailCollision(CasPreRegisterEvent $event): void
    *
    * When users are changing their EU Login account email, upstream, it might
    * happen that another user is registered with the same email address on
-   * Portal. This would lead to duplicate emails on Portal which is unacceptable
+   * Interoperable Europe Portal. This would lead to duplicate emails on Interoperable Europe Portal which is unacceptable
    * with respect to data integrity. Note that Drupal allows email duplicates at
-   * API level but not when using the UI. However, Portal is enforcing email
+   * API level but not when using the UI. However, Interoperable Europe Portal is enforcing email
    * uniqueness across users. As this edge case is very rare and unlikely, we
    * only throw an exception.
    *
@@ -231,7 +231,7 @@ public function preventRegisterEmailCollision(CasPreRegisterEvent $event): void
    *
    * @throws \Exception
    *   When a user changes its EU Login email to a value that is already taken
-   *   by other Portal user.
+   *   by other Interoperable Europe Portal user.
    */
   public function handlePotentialMailCollision(CasPreLoginEvent $event): void {
     $account = $event->getAccount();
@@ -244,7 +244,7 @@ public function handlePotentialMailCollision(CasPreLoginEvent $event): void {
     // the correct case sensitivity email.
     if (strtolower($account->getEmail()) !== strtolower($euloginEmail)) {
       if (user_load_by_mail($euloginEmail)) {
-        $event->cancelLogin($this->t("You've recently changed your EU Login account email but that email is already used in Portal by another user. You cannot login until, either you change your EU Login email or you <a href=':url'>contact support</a> to fix the issue.", [
+        $event->cancelLogin($this->t("You've recently changed your EU Login account email but that email is already used in Interoperable Europe Portal by another user. You cannot login until, either you change your EU Login email or you <a href=':url'>contact support</a> to fix the issue.", [
           ':url' => Url::fromRoute('contact_form.contact_page')->setAbsolute()->toString(),
         ]));
       }
@@ -271,7 +271,7 @@ public function setRedirectAndStatusOnNewAccount(CasPostLoginEvent $event): void
     if ($event->getCasPropertyBag()->hasAttribute('newAccountRegistered')) {
       $url = $event->getAccount()->toUrl('edit-form');
       $this->currentRequest->query->set('destination', $url->toString());
-      $this->messenger->addStatus('Fill in the fields below to let the Portal community learn more about you!');
+      $this->messenger->addStatus('Fill in the fields below to let the Interoperable Europe Portal community learn more about you!');
     }
   }
 
diff --git a/web/modules/custom/joinup_event/joinup_event.info.yml b/web/modules/custom/joinup_event/joinup_event.info.yml
index 6ea018dfc5..1da0d9b548 100644
--- a/web/modules/custom/joinup_event/joinup_event.info.yml
+++ b/web/modules/custom/joinup_event/joinup_event.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal Event'
+name: 'Interoperable Europe Portal Event'
 description: 'Events content type for joinup.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_event/joinup_event.module b/web/modules/custom/joinup_event/joinup_event.module
index 4604377858..8d95ffdecd 100644
--- a/web/modules/custom/joinup_event/joinup_event.module
+++ b/web/modules/custom/joinup_event/joinup_event.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal Event module.
+ * Hook implementations for the Interoperable Europe Portal Event module.
  */
 
 declare(strict_types=1);
@@ -149,7 +149,7 @@ function joinup_event_field_formatter_info_alter(array &$info): void {
 function joinup_event_token_info_alter(&$info): void {
   $info['tokens']['node']['event_url'] = [
     'name' => t('Url of the event'),
-    'description' => t('The website provided if available or the Portal event URL.'),
+    'description' => t('The website provided if available or the Interoperable Europe Portal event URL.'),
   ];
 }
 
@@ -166,7 +166,7 @@ function joinup_event_tokens($type, array $tokens, array $data = [], array $opti
     foreach ($tokens as $name => $original) {
       switch ($name) {
         // Returns the event URL. If the event has a web URL, then this is the
-        // event URL. Otherwise use the Portal URL.
+        // event URL. Otherwise use the Interoperable Europe Portal URL.
         case 'event_url':
           if ($node->isNew() || !$node instanceof EventInterface) {
             break;
diff --git a/web/modules/custom/joinup_event/src/Entity/EventInterface.php b/web/modules/custom/joinup_event/src/Entity/EventInterface.php
index b9b073cbfb..a60425b64d 100644
--- a/web/modules/custom/joinup_event/src/Entity/EventInterface.php
+++ b/web/modules/custom/joinup_event/src/Entity/EventInterface.php
@@ -11,7 +11,7 @@
 use Drupal\joinup_workflow\ArchivableEntityInterface;
 
 /**
- * Interface for event entities in Portal.
+ * Interface for event entities in Interoperable Europe Portal.
  */
 interface EventInterface extends CommunityContentInterface, LogoInterface, ArchivableEntityInterface, AbstractInterface {
 
diff --git a/web/modules/custom/joinup_featured/joinup_featured.info.yml b/web/modules/custom/joinup_featured/joinup_featured.info.yml
index c082cd469a..e26857231c 100644
--- a/web/modules/custom/joinup_featured/joinup_featured.info.yml
+++ b/web/modules/custom/joinup_featured/joinup_featured.info.yml
@@ -1,5 +1,5 @@
-name: Portal Featured
+name: Interoperable Europe Portal Featured
 description: Allows to feature content site wide. The content will appear at the top of lists.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_featured/joinup_featured.module b/web/modules/custom/joinup_featured/joinup_featured.module
index 2aa45b28a5..a0a71c697f 100644
--- a/web/modules/custom/joinup_featured/joinup_featured.module
+++ b/web/modules/custom/joinup_featured/joinup_featured.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal Featured module.
+ * Hook implementations for the Interoperable Europe Portal Featured module.
  */
 
 declare(strict_types=1);
@@ -85,7 +85,7 @@ function joinup_featured_meta_entity_delete(MetaEntityInterface $entity): void {
  */
 function joinup_featured_entity_view_alter(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display): void {
   if ($entity instanceof FeaturedContentInterface) {
-    // Note: the 'entity' contextual link group is added by the Portal profile.
+    // Note: the 'entity' contextual link group is added by the Interoperable Europe Portal profile.
     // @see joinup_entity_view_alter()
     $build['#contextual_links']['entity']['metadata']['is_featured'] = (int) $entity->isFeatured();
     $build['#contextual_links']['entity']['metadata']['token'] = \Drupal::service('csrf_token')->get(__FUNCTION__);
diff --git a/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php b/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php
index 673e303b61..4f7e6e2029 100644
--- a/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php
+++ b/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php
@@ -9,7 +9,7 @@
 /**
  * Interface for content entities that can be featured.
  *
- * In Portal moderators can designate important content to be "featured site
+ * In Interoperable Europe Portal moderators can designate important content to be "featured site
  * wide". Featured content will show prominently at the top of lists, is
  * highlighted with an icon, and the user can use facet filters to only see
  * featured content.
diff --git a/web/modules/custom/joinup_flag/config/schema/joinup_flag.schema.yml b/web/modules/custom/joinup_flag/config/schema/joinup_flag.schema.yml
index 6cadc61aa5..ffa7668693 100644
--- a/web/modules/custom/joinup_flag/config/schema/joinup_flag.schema.yml
+++ b/web/modules/custom/joinup_flag/config/schema/joinup_flag.schema.yml
@@ -1,10 +1,10 @@
 block.settings.joinup_flag_block:
   type: block_settings
-  label: 'Portal flag block settings'
+  label: 'Interoperable Europe Portal flag block settings'
   mapping:
     flag_type:
       type: string
-      label: 'Portal flag type.'
+      label: 'Interoperable Europe Portal flag type.'
 
 views.field.joinup_flag_flagged_entity:
   type: views.field.field
diff --git a/web/modules/custom/joinup_flag/joinup_flag.info.yml b/web/modules/custom/joinup_flag/joinup_flag.info.yml
index 8143809e91..3a992693d5 100644
--- a/web/modules/custom/joinup_flag/joinup_flag.info.yml
+++ b/web/modules/custom/joinup_flag/joinup_flag.info.yml
@@ -1,7 +1,7 @@
-name: Portal Flag
+name: Interoperable Europe Portal Flag
 description: 'Flag functionality'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_flag/joinup_flag.module b/web/modules/custom/joinup_flag/joinup_flag.module
index 50eb10f7a7..4d58bf704f 100644
--- a/web/modules/custom/joinup_flag/joinup_flag.module
+++ b/web/modules/custom/joinup_flag/joinup_flag.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal flag module.
+ * Hook implementations for the Interoperable Europe Portal flag module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_flag/joinup_flag.views.inc b/web/modules/custom/joinup_flag/joinup_flag.views.inc
index f247a7a52c..2693c4149d 100644
--- a/web/modules/custom/joinup_flag/joinup_flag.views.inc
+++ b/web/modules/custom/joinup_flag/joinup_flag.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains views API hooks for Portal flag module.
+ * Contains views API hooks for Interoperable Europe Portal flag module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_flag/src/Plugin/search_api/processor/JoinupEntityBundle.php b/web/modules/custom/joinup_flag/src/Plugin/search_api/processor/JoinupEntityBundle.php
index b37bdac0ba..28e0dec077 100644
--- a/web/modules/custom/joinup_flag/src/Plugin/search_api/processor/JoinupEntityBundle.php
+++ b/web/modules/custom/joinup_flag/src/Plugin/search_api/processor/JoinupEntityBundle.php
@@ -15,7 +15,7 @@
  *
  * @SearchApiProcessor(
  *   id = "joinup_entity_bundle",
- *   label = @Translation("Portal entity bundle"),
+ *   label = @Translation("Interoperable Europe Portal entity bundle"),
  *   description = @Translation("Get entity bundle from flagging item."),
  *   stages = {
  *     "add_properties" = 0,
diff --git a/web/modules/custom/joinup_front_page/joinup_front_page.info.yml b/web/modules/custom/joinup_front_page/joinup_front_page.info.yml
index 027e10a92f..e762d1c486 100644
--- a/web/modules/custom/joinup_front_page/joinup_front_page.info.yml
+++ b/web/modules/custom/joinup_front_page/joinup_front_page.info.yml
@@ -1,5 +1,5 @@
-name: 'Portal front page'
-description: 'Contains functionality related to the Portal front page.'
+name: 'Interoperable Europe Portal front page'
+description: 'Contains functionality related to the Interoperable Europe Portal front page.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_front_page/joinup_front_page.module b/web/modules/custom/joinup_front_page/joinup_front_page.module
index 66b5a5d83d..17ff44fd05 100644
--- a/web/modules/custom/joinup_front_page/joinup_front_page.module
+++ b/web/modules/custom/joinup_front_page/joinup_front_page.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal front page module.
+ * Hook implementations for the Interoperable Europe Portal front page module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php b/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php
index e99b8fa0d1..e496cbeb6c 100644
--- a/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php
+++ b/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php
@@ -15,7 +15,7 @@
  *
  * This block is placed on the front page and shows a swipeable list of recently
  * published content of 4 types: collections, solutions, news and events. The
- * intention is that users can get a quick view of what is new on Portal.
+ * intention is that users can get a quick view of what is new on Interoperable Europe Portal.
  *
  * For each content type the 12 most recent items are shown. They are rendered
  * using the `explore_item` view mode which is exclusive for this block.
diff --git a/web/modules/custom/joinup_group/config/schema/joinup_group.schema.yml b/web/modules/custom/joinup_group/config/schema/joinup_group.schema.yml
index 9cd718aeaa..959c0b573c 100644
--- a/web/modules/custom/joinup_group/config/schema/joinup_group.schema.yml
+++ b/web/modules/custom/joinup_group/config/schema/joinup_group.schema.yml
@@ -64,7 +64,7 @@ views.argument_validator.joinup_group_user_permission:
 
 views.argument_validator.joinup_group:
   type: views.argument_validator.joinup_group_user_permission
-  label: Portal group
+  label: Interoperable Europe Portal group
 
 views.argument_validator.joinup_group_announcements_enabled:
   type: views.argument_validator.joinup_group_user_permission
diff --git a/web/modules/custom/joinup_group/config/schema/joinup_group.views.schema.yml b/web/modules/custom/joinup_group/config/schema/joinup_group.views.schema.yml
index cba78321bd..99eec6353f 100644
--- a/web/modules/custom/joinup_group/config/schema/joinup_group.views.schema.yml
+++ b/web/modules/custom/joinup_group/config/schema/joinup_group.views.schema.yml
@@ -1,8 +1,8 @@
-# Schema for the views plugins of the Portal group module.
+# Schema for the views plugins of the Interoperable Europe Portal group module.
 
 views.argument_validator.joinup_group_entity_id:
   type: views.argument_validator_entity
-  label: 'Portal group entity ID'
+  label: 'Interoperable Europe Portal group entity ID'
   mapping:
     rdf_entity_id:
       type: string
diff --git a/web/modules/custom/joinup_group/joinup_group.info.yml b/web/modules/custom/joinup_group/joinup_group.info.yml
index ac241e3978..c1b8cbf3f6 100644
--- a/web/modules/custom/joinup_group/joinup_group.info.yml
+++ b/web/modules/custom/joinup_group/joinup_group.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal Group'
-description: 'Services and API methods useful for Portal groups.'
+name: 'Interoperable Europe Portal Group'
+description: 'Services and API methods useful for Interoperable Europe Portal groups.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_group/joinup_group.install b/web/modules/custom/joinup_group/joinup_group.install
index 1e2e2c320d..e5d7fc9c6b 100644
--- a/web/modules/custom/joinup_group/joinup_group.install
+++ b/web/modules/custom/joinup_group/joinup_group.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains the schema hook for the Portal Group module.
+ * Contains the schema hook for the Interoperable Europe Portal Group module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_group/joinup_group.module b/web/modules/custom/joinup_group/joinup_group.module
index 2af032e002..2b3d8e576e 100644
--- a/web/modules/custom/joinup_group/joinup_group.module
+++ b/web/modules/custom/joinup_group/joinup_group.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal Group module.
+ * Hook implementations for the Interoperable Europe Portal Group module.
  */
 
 declare(strict_types=1);
@@ -883,7 +883,7 @@ function joinup_group_user_predelete(EntityInterface $entity): void {
  *
  * If a user gets blocked in the entire site we no longer want to include this
  * user in the collection membership counts. We handle this use case here in
- * Portal Core since Organic Groups currently only handles users that are
+ * Interoperable Europe Portal Core since Organic Groups currently only handles users that are
  * blocked on group level through the membership state; at this time OG is not
  * acting on users that are blocked on user level.
  */
@@ -1119,7 +1119,7 @@ function joinup_group_mail(string $key, array &$message, array $params): void {
         'announcement' => $announcement->id(),
       ])->setAbsolute()->toString(),
     ];
-    $message['subject'] = t("Portal: A new announcement '@subject' has been created", $args);
+    $message['subject'] = t("Interoperable Europe Portal: A new announcement '@subject' has been created", $args);
     $message['body'] = [
       t("A new announcement '@subject' has been created by @author for the @group @type.", $args),
       t('You can approve or reject the announcement at <a href=":url">:url</a>.', $args),
diff --git a/web/modules/custom/joinup_group/joinup_group.views.inc b/web/modules/custom/joinup_group/joinup_group.views.inc
index 4781272986..27a86f3c59 100644
--- a/web/modules/custom/joinup_group/joinup_group.views.inc
+++ b/web/modules/custom/joinup_group/joinup_group.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Views integration for Portal Group module.
+ * Views integration for Interoperable Europe Portal Group module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_group/src/AnnouncementsAccessTrait.php b/web/modules/custom/joinup_group/src/AnnouncementsAccessTrait.php
index 2fa6ea1966..8ce4108abc 100644
--- a/web/modules/custom/joinup_group/src/AnnouncementsAccessTrait.php
+++ b/web/modules/custom/joinup_group/src/AnnouncementsAccessTrait.php
@@ -15,15 +15,15 @@
 trait AnnouncementsAccessTrait {
 
   /**
-   * The Portal Group manager service.
+   * The Interoperable Europe Portal Group manager service.
    */
   protected JoinupGroupManagerInterface $groupManager;
 
   /**
-   * Injects the Portal group manager service.
+   * Injects the Interoperable Europe Portal group manager service.
    *
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $group_manager
-   *   The Portal Group manager service.
+   *   The Interoperable Europe Portal Group manager service.
    *
    * @return $this
    */
diff --git a/web/modules/custom/joinup_group/src/Controller/UnpublishedContentPageController.php b/web/modules/custom/joinup_group/src/Controller/UnpublishedContentPageController.php
index 213ba99a24..5284defe8f 100644
--- a/web/modules/custom/joinup_group/src/Controller/UnpublishedContentPageController.php
+++ b/web/modules/custom/joinup_group/src/Controller/UnpublishedContentPageController.php
@@ -25,7 +25,7 @@ class UnpublishedContentPageController extends ControllerBase {
    * @param \Drupal\Core\Render\RendererInterface $renderer
    *   The renderer.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $group_manager
-   *   The Portal group manager service.
+   *   The Interoperable Europe Portal group manager service.
    */
   public function __construct(protected BlockManagerInterface $block_plugin_manager, protected RendererInterface $renderer, protected JoinupGroupManagerInterface $group_manager) {}
 
diff --git a/web/modules/custom/joinup_group/src/Entity/GroupInterface.php b/web/modules/custom/joinup_group/src/Entity/GroupInterface.php
index 75bea06ae3..82efa52986 100644
--- a/web/modules/custom/joinup_group/src/Entity/GroupInterface.php
+++ b/web/modules/custom/joinup_group/src/Entity/GroupInterface.php
@@ -111,7 +111,7 @@ public function getGroupAccess(string $permission, ?AccountInterface $user = NUL
   /**
    * Returns the group owners.
    *
-   * In Portal every new group has exactly one owner. However there are still a
+   * In Interoperable Europe Portal every new group has exactly one owner. However there are still a
    * number of solutions which were migrated from the legacy platform which have
    * multiple owners. Since we enforce a single owner when an ownership transfer
    * is initiated, the number of groups with multiple owners will reduce over
@@ -129,7 +129,7 @@ public function getGroupOwners(): array;
   /**
    * Returns the user IDs of the group owners.
    *
-   * In Portal every new group has exactly one owner. However there are still a
+   * In Interoperable Europe Portal every new group has exactly one owner. However there are still a
    * number of solutions which were migrated from the legacy platform which have
    * multiple owners. Since we enforce a single owner when an ownership transfer
    * is initiated, the number of groups with multiple owners will reduce over
@@ -158,7 +158,7 @@ public function isGroupOwner(int $uid): bool;
   /**
    * Returns whether the user with the given ID is the sole group owner.
    *
-   * In Portal every new group has exactly one owner. However there are still a
+   * In Interoperable Europe Portal every new group has exactly one owner. However there are still a
    * number of solutions which were migrated from the legacy platform which have
    * multiple owners. In some cases (such as transferring group ownership) we
    * need to be able to ascertain that a user is the sole owner of a group.
diff --git a/web/modules/custom/joinup_group/src/Entity/GroupTrait.php b/web/modules/custom/joinup_group/src/Entity/GroupTrait.php
index 032566c300..b0fd3c45ad 100644
--- a/web/modules/custom/joinup_group/src/Entity/GroupTrait.php
+++ b/web/modules/custom/joinup_group/src/Entity/GroupTrait.php
@@ -78,7 +78,7 @@ public function createMembership(?int $uid = NULL, ?string $role = 'member', ?st
     }
 
     // Validate the role. We cannot create additional memberships for owners /
-    // administrators since in Portal every group has a single owner.
+    // administrators since in Interoperable Europe Portal every group has a single owner.
     if (!in_array($role, ['member', 'author', 'facilitator'])) {
       throw new \InvalidArgumentException("Cannot create membership with role '$role'.");
     }
diff --git a/web/modules/custom/joinup_group/src/Entity/PinnableGroupContentInterface.php b/web/modules/custom/joinup_group/src/Entity/PinnableGroupContentInterface.php
index 3c561feb5f..00821e9f21 100644
--- a/web/modules/custom/joinup_group/src/Entity/PinnableGroupContentInterface.php
+++ b/web/modules/custom/joinup_group/src/Entity/PinnableGroupContentInterface.php
@@ -62,7 +62,7 @@ public function unpin(?GroupInterface $group = NULL): PinnableGroupContentInterf
    *
    * @return string[]
    *   A list of group IDs in which the content is pinned. Since all groups in
-   *   Portal are RDF entities, these are RDF entity IDs.
+   *   Interoperable Europe Portal are RDF entities, these are RDF entity IDs.
    */
   public function getPinnedGroupIds(): array;
 
diff --git a/web/modules/custom/joinup_group/src/EventSubscriber/AnnouncementTransitionSubscriber.php b/web/modules/custom/joinup_group/src/EventSubscriber/AnnouncementTransitionSubscriber.php
index 5f26ec8537..1c18fadcb6 100644
--- a/web/modules/custom/joinup_group/src/EventSubscriber/AnnouncementTransitionSubscriber.php
+++ b/web/modules/custom/joinup_group/src/EventSubscriber/AnnouncementTransitionSubscriber.php
@@ -36,7 +36,7 @@ class AnnouncementTransitionSubscriber implements EventSubscriberInterface {
   protected LanguageManagerInterface $languageManager;
 
   /**
-   * The Portal message delivery service.
+   * The Interoperable Europe Portal message delivery service.
    */
   protected JoinupMessageDeliveryInterface $messageDelivery;
 
@@ -55,7 +55,7 @@ class AnnouncementTransitionSubscriber implements EventSubscriberInterface {
    * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
    *   The language manager service.
    * @param \Drupal\joinup_notification\JoinupMessageDeliveryInterface $message_delivery
-   *   The Portal message delivery service.
+   *   The Interoperable Europe Portal message delivery service.
    * @param \Drupal\Core\Queue\QueueFactory $queue_factory
    *   The queue factory service.
    */
diff --git a/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php b/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php
index 0d7399d715..9cf0da79c7 100644
--- a/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php
+++ b/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php
@@ -25,7 +25,7 @@ public static function getSubscribedEvents(): array {
   }
 
   /**
-   * Selects the Portal group page display variant when case.
+   * Selects the Interoperable Europe Portal group page display variant when case.
    *
    * @param \Drupal\Core\Render\PageDisplayVariantSelectionEvent $event
    *   The event to process.
diff --git a/web/modules/custom/joinup_group/src/Form/AnnouncementForm.php b/web/modules/custom/joinup_group/src/Form/AnnouncementForm.php
index e1a4481b1b..62cf00dcff 100644
--- a/web/modules/custom/joinup_group/src/Form/AnnouncementForm.php
+++ b/web/modules/custom/joinup_group/src/Form/AnnouncementForm.php
@@ -262,7 +262,7 @@ public function submitForm(array &$form, FormStateInterface $form_state): void {
       $status = $this->t("The announcement has been updated but it's still in @to state. Review the announcement and, when is ready to be sent, use the 'Send' button.", $args);
     }
     elseif ($initial_state->getId() === 'draft' && $this->announcement->getWorkflowState() === 'sent') {
-      $status = $this->t("Your announcement has been sent for validation by Portal moderators. Once approved, will reach the %group @type members.", $args);
+      $status = $this->t("Your announcement has been sent for validation by Interoperable Europe Portal moderators. Once approved, will reach the %group @type members.", $args);
       $redirect = Url::fromRoute('view.announcements.group', [
         'rdf_entity' => $this->announcement->getGroupId(),
       ]);
diff --git a/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php b/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php
index 93fb99e14e..79b644ed6e 100644
--- a/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php
+++ b/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php
@@ -182,7 +182,7 @@ public function submitForm(array &$form, FormStateInterface $form_state): void {
       $membership->save();
     }
 
-    // Add the 'owner' role, and also the 'facilitator' role, since in Portal
+    // Add the 'owner' role, and also the 'facilitator' role, since in Interoperable Europe Portal
     // every owner is also a facilitator.
     $administrator_role = OgRole::loadByGroupAndName($group, 'administrator');
     $this->membership
diff --git a/web/modules/custom/joinup_group/src/Form/UserCancelForm.php b/web/modules/custom/joinup_group/src/Form/UserCancelForm.php
index fa7785de71..f6020181e3 100644
--- a/web/modules/custom/joinup_group/src/Form/UserCancelForm.php
+++ b/web/modules/custom/joinup_group/src/Form/UserCancelForm.php
@@ -38,7 +38,7 @@ class UserCancelForm extends CoreUserCancelForm {
    * @param \Drupal\Component\Datetime\TimeInterface $time
    *   The time service.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $group_manager
-   *   The Portal group manager.
+   *   The Interoperable Europe Portal group manager.
    */
   public function __construct(EntityRepositoryInterface $entity_repository, EntityTypeBundleInfoInterface $entity_type_bundle_info, TimeInterface $time, JoinupGroupManagerInterface $group_manager) {
     parent::__construct($entity_repository, $entity_type_bundle_info, $time);
diff --git a/web/modules/custom/joinup_group/src/Form/UserMultipleCancelConfirm.php b/web/modules/custom/joinup_group/src/Form/UserMultipleCancelConfirm.php
index 837f2fd355..cd7be26bd4 100644
--- a/web/modules/custom/joinup_group/src/Form/UserMultipleCancelConfirm.php
+++ b/web/modules/custom/joinup_group/src/Form/UserMultipleCancelConfirm.php
@@ -47,7 +47,7 @@ class UserMultipleCancelConfirm extends CoreUserMultipleCancelConfirm {
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The entity type manager.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $joinup_group_manager
-   *   The Portal group manager.
+   *   The Interoperable Europe Portal group manager.
    * @param \Drupal\Core\Entity\EntityTypeBundleInfoInterface $bundle_info
    *   The entity type bundle info service.
    */
diff --git a/web/modules/custom/joinup_group/src/JoinupGroupHelper.php b/web/modules/custom/joinup_group/src/JoinupGroupHelper.php
index 438631b0b2..93e5648241 100644
--- a/web/modules/custom/joinup_group/src/JoinupGroupHelper.php
+++ b/web/modules/custom/joinup_group/src/JoinupGroupHelper.php
@@ -11,7 +11,7 @@
 use Drupal\joinup_group\Exception\MissingGroupException;
 
 /**
- * Static helper methods for dealing with groups in Portal.
+ * Static helper methods for dealing with groups in Interoperable Europe Portal.
  */
 class JoinupGroupHelper {
 
@@ -26,7 +26,7 @@ class JoinupGroupHelper {
   /**
    * Returns the group the entity belongs to.
    *
-   * This relies on the fact that in Portal every group content entity only
+   * This relies on the fact that in Interoperable Europe Portal every group content entity only
    * belongs to a single group.
    *
    * Call this only if you transparently need to support both comment entities
diff --git a/web/modules/custom/joinup_group/src/JoinupGroupManager.php b/web/modules/custom/joinup_group/src/JoinupGroupManager.php
index 0b7cf152f0..813bb82d75 100644
--- a/web/modules/custom/joinup_group/src/JoinupGroupManager.php
+++ b/web/modules/custom/joinup_group/src/JoinupGroupManager.php
@@ -18,7 +18,7 @@
 use Drupal\og\OgMembershipInterface;
 
 /**
- * Helper methods related to the Portal groups.
+ * Helper methods related to the Interoperable Europe Portal groups.
  */
 class JoinupGroupManager implements JoinupGroupManagerInterface {
 
diff --git a/web/modules/custom/joinup_group/src/Plugin/Action/DeleteGroupMembership.php b/web/modules/custom/joinup_group/src/Plugin/Action/DeleteGroupMembership.php
index 9e1447f901..90695ce614 100644
--- a/web/modules/custom/joinup_group/src/Plugin/Action/DeleteGroupMembership.php
+++ b/web/modules/custom/joinup_group/src/Plugin/Action/DeleteGroupMembership.php
@@ -83,7 +83,7 @@ public function execute(?OgMembership $membership = NULL): void {
    */
   public function access($membership, ?AccountInterface $account = NULL, $return_as_object = FALSE) {
     /** @var \Drupal\og\Entity\OgMembership $membership */
-    // 'Portal' collection membership cannot be revoked.
+    // 'Interoperable Europe Portal' collection membership cannot be revoked.
     if ($membership->getGroupId() === JoinupCollectionHelper::getCollectionId()) {
       return $return_as_object ? AccessResult::forbidden() : FALSE;
     }
diff --git a/web/modules/custom/joinup_group/src/Plugin/Action/TransferGroupOwnershipAction.php b/web/modules/custom/joinup_group/src/Plugin/Action/TransferGroupOwnershipAction.php
index 341d66bfa2..48bbaed5a0 100644
--- a/web/modules/custom/joinup_group/src/Plugin/Action/TransferGroupOwnershipAction.php
+++ b/web/modules/custom/joinup_group/src/Plugin/Action/TransferGroupOwnershipAction.php
@@ -30,7 +30,7 @@ class TransferGroupOwnershipAction extends ActionBase implements ContainerFactor
   use StringTranslationTrait;
 
   /**
-   * The Portal group transfer temporary storage.
+   * The Interoperable Europe Portal group transfer temporary storage.
    *
    * @var \Drupal\Core\TempStore\PrivateTempStore
    */
diff --git a/web/modules/custom/joinup_group/src/Plugin/views/access/GroupAnnouncementsAccess.php b/web/modules/custom/joinup_group/src/Plugin/views/access/GroupAnnouncementsAccess.php
index bdbe833f8e..7495da20e4 100644
--- a/web/modules/custom/joinup_group/src/Plugin/views/access/GroupAnnouncementsAccess.php
+++ b/web/modules/custom/joinup_group/src/Plugin/views/access/GroupAnnouncementsAccess.php
@@ -45,7 +45,7 @@ public function access(AccountInterface $account): bool {
     if ($group = $this->groupManager->getGroupFromContext()) {
       return $this->accessAnnouncements($group)->isAllowed();
     }
-    throw new \LogicException("The Views 'joinup_group_announcements' can be used only in the context of a Portal group.");
+    throw new \LogicException("The Views 'joinup_group_announcements' can be used only in the context of a Interoperable Europe Portal group.");
   }
 
   /**
diff --git a/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php b/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php
index ea5835573d..c7ed806ed6 100644
--- a/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php
+++ b/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php
@@ -9,11 +9,11 @@
 use Drupal\views\Plugin\views\argument_validator\Entity;
 
 /**
- * Defines argument validator plugin for the Portal group entity ID.
+ * Defines argument validator plugin for the Interoperable Europe Portal group entity ID.
  *
  * @ViewsArgumentValidator(
  *    id = "joinup_group_entity_id",
- *    title = @Translation("Portal group entity ID"),
+ *    title = @Translation("Interoperable Europe Portal group entity ID"),
  *    entity_type = "rdf_entity",
  * )
  */
diff --git a/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupValidator.php b/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupValidator.php
index 61dd9230ec..4e0a3f794d 100644
--- a/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupValidator.php
+++ b/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupValidator.php
@@ -16,7 +16,7 @@
  *
  * @ViewsArgumentValidator(
  *   id = "joinup_group",
- *   title = @Translation("Portal group"),
+ *   title = @Translation("Interoperable Europe Portal group"),
  *   entity_type = "rdf_entity",
  * )
  */
diff --git a/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php b/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php
index 84ddccd558..144d00366d 100644
--- a/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php
+++ b/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php
@@ -8,7 +8,7 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Alters existing routes for the Portal user multiple cancel form.
+ * Alters existing routes for the Interoperable Europe Portal user multiple cancel form.
  */
 class RouteSubscriber extends RouteSubscriberBase {
 
diff --git a/web/modules/custom/joinup_group_content_management/README.md b/web/modules/custom/joinup_group_content_management/README.md
index f2f20df907..e918ca6d54 100644
--- a/web/modules/custom/joinup_group_content_management/README.md
+++ b/web/modules/custom/joinup_group_content_management/README.md
@@ -1,4 +1,4 @@
-Portal Group Content Management
+Interoperable Europe Portal Group Content Management
 ===============================
 
 This module contains business logic related to managing content in groups.
diff --git a/web/modules/custom/joinup_group_content_management/joinup_group_content_management.info.yml b/web/modules/custom/joinup_group_content_management/joinup_group_content_management.info.yml
index a625f7d5df..fa5ae5ca05 100644
--- a/web/modules/custom/joinup_group_content_management/joinup_group_content_management.info.yml
+++ b/web/modules/custom/joinup_group_content_management/joinup_group_content_management.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal Group Content Management'
+name: 'Interoperable Europe Portal Group Content Management'
 description: 'Contains functionality related to managing group content.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_html_stripper/config/schema/joinup_html_stripper.schema.yml b/web/modules/custom/joinup_html_stripper/config/schema/joinup_html_stripper.schema.yml
index e8970d8b8e..4866a0fd7f 100644
--- a/web/modules/custom/joinup_html_stripper/config/schema/joinup_html_stripper.schema.yml
+++ b/web/modules/custom/joinup_html_stripper/config/schema/joinup_html_stripper.schema.yml
@@ -1,6 +1,6 @@
 field.formatter.settings.joinup_html_stripper_stripped:
   type: mapping
-  label: 'Portal HTML stripper formatter settings'
+  label: 'Interoperable Europe Portal HTML stripper formatter settings'
   mapping:
     trim_length:
       type: integer
diff --git a/web/modules/custom/joinup_html_stripper/joinup_html_stripper.info.yml b/web/modules/custom/joinup_html_stripper/joinup_html_stripper.info.yml
index 0f630a7e34..27f4d0155d 100644
--- a/web/modules/custom/joinup_html_stripper/joinup_html_stripper.info.yml
+++ b/web/modules/custom/joinup_html_stripper/joinup_html_stripper.info.yml
@@ -1,7 +1,7 @@
-name: Portal HTML stripper
+name: Interoperable Europe Portal HTML stripper
 type: module
-description: Field formatter that strips all HTML, tailored for use in Portal.
-package: Portal
+description: Field formatter that strips all HTML, tailored for use in Interoperable Europe Portal.
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php b/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php
index fb07fd7c41..5148bc73d9 100644
--- a/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php
+++ b/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php
@@ -12,9 +12,9 @@
 /**
  * Field formatter which strips all HTML.
  *
- * This is tailored to the use case of Portal. It relies on a custom text filter
+ * This is tailored to the use case of Interoperable Europe Portal. It relies on a custom text filter
  * format `stripped_html` which includes all of the filters that are commonly
- * used in Portal, such as Portal Video, Glossary items, etc.
+ * used in Interoperable Europe Portal, such as Interoperable Europe Portal Video, Glossary items, etc.
  *
  * The goal of this is to be able to not only strip vanilla HTML elements that
  * are present in the content but also placeholder tokens which are included by
diff --git a/web/modules/custom/joinup_invite/joinup_invite.info.yml b/web/modules/custom/joinup_invite/joinup_invite.info.yml
index 7f933007e8..4a02f820c6 100644
--- a/web/modules/custom/joinup_invite/joinup_invite.info.yml
+++ b/web/modules/custom/joinup_invite/joinup_invite.info.yml
@@ -1,7 +1,7 @@
-name: Portal invite
+name: Interoperable Europe Portal invite
 description: A light invitation system for joinup.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_invite/joinup_invite.module b/web/modules/custom/joinup_invite/joinup_invite.module
index 28786da661..a60ed1d4b4 100644
--- a/web/modules/custom/joinup_invite/joinup_invite.module
+++ b/web/modules/custom/joinup_invite/joinup_invite.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal Invite module.
+ * Hook implementations for the Interoperable Europe Portal Invite module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_invite/src/Event/InvitationEvents.php b/web/modules/custom/joinup_invite/src/Event/InvitationEvents.php
index ab9fb0a8b5..5c8a2678fe 100644
--- a/web/modules/custom/joinup_invite/src/Event/InvitationEvents.php
+++ b/web/modules/custom/joinup_invite/src/Event/InvitationEvents.php
@@ -5,7 +5,7 @@
 namespace Drupal\joinup_invite\Event;
 
 /**
- * Events for the Portal Invite module.
+ * Events for the Interoperable Europe Portal Invite module.
  */
 final class InvitationEvents {
 
diff --git a/web/modules/custom/joinup_invite/src/Form/InviteFormBase.php b/web/modules/custom/joinup_invite/src/Form/InviteFormBase.php
index 327e8e4eea..200480f4ac 100644
--- a/web/modules/custom/joinup_invite/src/Form/InviteFormBase.php
+++ b/web/modules/custom/joinup_invite/src/Form/InviteFormBase.php
@@ -110,7 +110,7 @@ public function build(array $form, FormStateInterface $form_state) {
     $form['autocomplete'] = [
       '#type' => 'textfield',
       '#title' => $this->t('Name'),
-      '#description' => $this->t("Enter a Portal user's name to search for a user and select it with the mouse or the keyboard."),
+      '#description' => $this->t("Enter a Interoperable Europe Portal user's name to search for a user and select it with the mouse or the keyboard."),
       '#autocomplete_route_name' => 'joinup_invite.user_auto_complete',
       '#attributes' => [
         'class' => ['invite-autocomplete'],
diff --git a/web/modules/custom/joinup_layout/joinup_layout.info.yml b/web/modules/custom/joinup_layout/joinup_layout.info.yml
index 1572b74982..b0a724f4d4 100644
--- a/web/modules/custom/joinup_layout/joinup_layout.info.yml
+++ b/web/modules/custom/joinup_layout/joinup_layout.info.yml
@@ -1,5 +1,5 @@
-name: 'Portal layout'
+name: 'Interoperable Europe Portal layout'
 type: module
-description: 'Contains custom layouts for Portal.'
+description: 'Contains custom layouts for Interoperable Europe Portal.'
 core_version_requirement: ">= 9.4"
-package: Portal
+package: Interoperable Europe Portal
diff --git a/web/modules/custom/joinup_layout/joinup_layout.layouts.yml b/web/modules/custom/joinup_layout/joinup_layout.layouts.yml
index 66e8f5d8d8..db46e43398 100644
--- a/web/modules/custom/joinup_layout/joinup_layout.layouts.yml
+++ b/web/modules/custom/joinup_layout/joinup_layout.layouts.yml
@@ -1,5 +1,5 @@
 joinup_layout_group_heading:
-  label: 'Portal group heading'
+  label: 'Interoperable Europe Portal group heading'
   path: layouts/group
   template: joinup-layout--group-heading
   default_region: main
@@ -17,7 +17,7 @@ joinup_layout_group_heading:
       label: Aside
 
 joinup_layout_twocol_60_40:
-  label: 'Portal 60/40'
+  label: 'Interoperable Europe Portal 60/40'
   path: layouts/twocol-60-40
   template: joinup-layout--twocol-60-40
   library: joinup_layout/twocol_60_40
@@ -38,7 +38,7 @@ joinup_layout_twocol_60_40:
       label: Bottom
 
 joinup_layout_twocolfooter_onecol_67_33:
-  label: 'Portal three columns, two with common footer'
+  label: 'Interoperable Europe Portal three columns, two with common footer'
   path: layouts/twocolfooter-onecol-67-33
   template: joinup-layout--twocolfooter-onecol-67-33
   library: joinup_layout/twocolfooter_onecol_67_33
@@ -58,7 +58,7 @@ joinup_layout_twocolfooter_onecol_67_33:
       label: Two column footer
 
 joinup_layout_oss_heading:
-  label: 'Portal OSS heading'
+  label: 'Interoperable Europe Portal OSS heading'
   path: layouts/oss-heading
   template: joinup-layout--oss-heading
   library: joinup_layout/oss_heading
@@ -89,7 +89,7 @@ joinup_layout_oss_heading:
       label: Aside
 
 joinup_layout_four_column_grid:
-  label: 'Portal Four column grid'
+  label: 'Interoperable Europe Portal Four column grid'
   path: layouts/four-column-grid
   template: joinup-layout--four-column-grid
   library: joinup_layout/four_column_grid
diff --git a/web/modules/custom/joinup_licence/README.md b/web/modules/custom/joinup_licence/README.md
index a96278eba3..221ae33fb4 100644
--- a/web/modules/custom/joinup_licence/README.md
+++ b/web/modules/custom/joinup_licence/README.md
@@ -1,8 +1,8 @@
-Portal Licence
+Interoperable Europe Portal Licence
 ==============
 
 This module imports licences from the [SPDX Licence
-List](https://spdx.org/licenses/) and makes them available in Portal as RDF
+List](https://spdx.org/licenses/) and makes them available in Interoperable Europe Portal as RDF
 data for use in distributions.
 
 Importing licences from SPDX
diff --git a/web/modules/custom/joinup_licence/joinup_licence.info.yml b/web/modules/custom/joinup_licence/joinup_licence.info.yml
index b8503540c2..ac3ddd82cc 100644
--- a/web/modules/custom/joinup_licence/joinup_licence.info.yml
+++ b/web/modules/custom/joinup_licence/joinup_licence.info.yml
@@ -1,7 +1,7 @@
 name: Licence
-description: 'Licence entity for Portal'
+description: 'Licence entity for Interoperable Europe Portal'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_licence/joinup_licence.routing.yml b/web/modules/custom/joinup_licence/joinup_licence.routing.yml
index b7c5cee174..61a4c162e4 100644
--- a/web/modules/custom/joinup_licence/joinup_licence.routing.yml
+++ b/web/modules/custom/joinup_licence/joinup_licence.routing.yml
@@ -2,7 +2,7 @@ joinup_licence.comparer:
   path: '/licence/compare/{licences}'
   defaults:
     _controller: 'Drupal\joinup_licence\Controller\LicenceComparerController::compare'
-    _title: 'Portal Licensing Assistant (JLA)'
+    _title: 'Interoperable Europe Portal Licensing Assistant (JLA)'
   requirements:
     _access: 'TRUE'
     licences: '([a-zA-Z0-9][a-zA-Z0-9. -]+;)+[a-zA-Z0-9][a-zA-Z0-9. -]+'
diff --git a/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php b/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php
index d098a05975..d4b88aeeb9 100644
--- a/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php
+++ b/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php
@@ -9,12 +9,12 @@
 use Drupal\joinup_licence\LicenceComparerHelper;
 
 /**
- * Controller for the Portal Licensing Assistant (JLA).
+ * Controller for the Interoperable Europe Portal Licensing Assistant (JLA).
  */
 class LicenceComparerController extends ControllerBase {
 
   /**
-   * An ordered list of Portal licence entities keyed by their SPDX ID.
+   * An ordered list of Interoperable Europe Portal licence entities keyed by their SPDX ID.
    *
    * @var \Drupal\joinup_licence\Entity\LicenceInterface[]
    */
@@ -31,7 +31,7 @@ class LicenceComparerController extends ControllerBase {
    * Responds to a request made to 'joinup_licence.comparer' route.
    *
    * @param \Drupal\joinup_licence\Entity\LicenceInterface[] $licences
-   *   An ordered list of Portal licence entities keyed by their SPDX ID.
+   *   An ordered list of Interoperable Europe Portal licence entities keyed by their SPDX ID.
    *
    * @return array
    *   A render array.
diff --git a/web/modules/custom/joinup_licence/src/Entity/LicenceLegalTypeInterface.php b/web/modules/custom/joinup_licence/src/Entity/LicenceLegalTypeInterface.php
index df0b3af53e..ba4fbd9a8e 100644
--- a/web/modules/custom/joinup_licence/src/Entity/LicenceLegalTypeInterface.php
+++ b/web/modules/custom/joinup_licence/src/Entity/LicenceLegalTypeInterface.php
@@ -8,7 +8,7 @@
 use Drupal\taxonomy\TermInterface;
 
 /**
- * Interface for licence legal type terms in Portal.
+ * Interface for licence legal type terms in Interoperable Europe Portal.
  */
 interface LicenceLegalTypeInterface extends TermInterface, RdfSyncEntityInterface {
 
diff --git a/web/modules/custom/joinup_licence/src/EventSubscriber/LicenceGroupSubscriber.php b/web/modules/custom/joinup_licence/src/EventSubscriber/LicenceGroupSubscriber.php
index 940617e988..f5189ad868 100644
--- a/web/modules/custom/joinup_licence/src/EventSubscriber/LicenceGroupSubscriber.php
+++ b/web/modules/custom/joinup_licence/src/EventSubscriber/LicenceGroupSubscriber.php
@@ -7,7 +7,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Portal Group events.
+ * Subscribes to Interoperable Europe Portal Group events.
  */
 class LicenceGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php b/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php
index beb948474c..56d2e9c8d9 100644
--- a/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php
+++ b/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php
@@ -11,7 +11,7 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Converts a list of SPDX IDs into a list of Portal licences.
+ * Converts a list of SPDX IDs into a list of Interoperable Europe Portal licences.
  */
 class SpdxIdsParamConverter implements ParamConverterInterface {
 
@@ -71,7 +71,7 @@ public function convert($value, $definition, $name, array $defaults) {
       ->condition('spdx_licence.target_id', $actual_spdx_ids, 'IN')
       ->execute();
 
-    // Some of the passed SPDX IDs don't have a related Portal licence.
+    // Some of the passed SPDX IDs don't have a related Interoperable Europe Portal licence.
     if (count($spdx_ids) > count($actual_licence_ids)) {
       return NULL;
     }
@@ -85,7 +85,7 @@ public function convert($value, $definition, $name, array $defaults) {
       return $spdx_ids_order[$licence_a_spdx_id] <=> $spdx_ids_order[$licence_b_spdx_id];
     });
 
-    // An ordered list of Portal licence entities keyed by their SPDX ID.
+    // An ordered list of Interoperable Europe Portal licence entities keyed by their SPDX ID.
     return array_combine($spdx_ids, $licences);
   }
 
diff --git a/web/modules/custom/joinup_licence/src/Plugin/Block/LicenceFilterBlock.php b/web/modules/custom/joinup_licence/src/Plugin/Block/LicenceFilterBlock.php
index 5577d8de68..7341eabf4b 100644
--- a/web/modules/custom/joinup_licence/src/Plugin/Block/LicenceFilterBlock.php
+++ b/web/modules/custom/joinup_licence/src/Plugin/Block/LicenceFilterBlock.php
@@ -17,7 +17,7 @@
  * @Block(
  *   id = "licence_filter_block",
  *   admin_label = @Translation("Licence filter block"),
- *   category = @Translation("Portal")
+ *   category = @Translation("Interoperable Europe Portal")
  * )
  */
 class LicenceFilterBlock extends BlockBase implements ContainerFactoryPluginInterface {
diff --git a/web/modules/custom/joinup_like/joinup_like.info.yml b/web/modules/custom/joinup_like/joinup_like.info.yml
index 9e47b3f188..f3727148b1 100644
--- a/web/modules/custom/joinup_like/joinup_like.info.yml
+++ b/web/modules/custom/joinup_like/joinup_like.info.yml
@@ -1,7 +1,7 @@
 name: Like
 description: 'Like functionality'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_like/src/Plugin/ActionLink/NodeCountLink.php b/web/modules/custom/joinup_like/src/Plugin/ActionLink/NodeCountLink.php
index 6308964fe1..e501db29d5 100644
--- a/web/modules/custom/joinup_like/src/Plugin/ActionLink/NodeCountLink.php
+++ b/web/modules/custom/joinup_like/src/Plugin/ActionLink/NodeCountLink.php
@@ -14,7 +14,7 @@
  *
  * @ActionLinkType(
  *   id = "count_link_node",
- *   label = @Translation("Portal Count link node entity"),
+ *   label = @Translation("Interoperable Europe Portal Count link node entity"),
  *   description = "An AJAX action link which displays the count with the flag."
  * )
  */
diff --git a/web/modules/custom/joinup_like/src/Plugin/ActionLink/RdfCountLink.php b/web/modules/custom/joinup_like/src/Plugin/ActionLink/RdfCountLink.php
index 7ccfd6c65b..2bb6fde124 100644
--- a/web/modules/custom/joinup_like/src/Plugin/ActionLink/RdfCountLink.php
+++ b/web/modules/custom/joinup_like/src/Plugin/ActionLink/RdfCountLink.php
@@ -15,7 +15,7 @@
  *
  * @ActionLinkType(
  *   id = "count_link_rdf",
- *   label = @Translation("Portal Count link Rdf entity"),
+ *   label = @Translation("Interoperable Europe Portal Count link Rdf entity"),
  *   description = "An AJAX action link which displays the count with the flag."
  * )
  */
diff --git a/web/modules/custom/joinup_log/joinup_log.info.yml b/web/modules/custom/joinup_log/joinup_log.info.yml
index 0776f5ba3a..e523cbd493 100644
--- a/web/modules/custom/joinup_log/joinup_log.info.yml
+++ b/web/modules/custom/joinup_log/joinup_log.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal log'
+name: 'Interoperable Europe Portal log'
 description: 'Contains log-related features.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 10.1"
 dependencies:
   - drupal:user
diff --git a/web/modules/custom/joinup_log/joinup_log.module b/web/modules/custom/joinup_log/joinup_log.module
index 3d27699942..733ced42ec 100644
--- a/web/modules/custom/joinup_log/joinup_log.module
+++ b/web/modules/custom/joinup_log/joinup_log.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal Log module.
+ * Hook implementations for the Interoperable Europe Portal Log module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_log/src/Entity/JoinupLog.php b/web/modules/custom/joinup_log/src/Entity/JoinupLog.php
index f139ac2b0a..3fa7ef3ca9 100644
--- a/web/modules/custom/joinup_log/src/Entity/JoinupLog.php
+++ b/web/modules/custom/joinup_log/src/Entity/JoinupLog.php
@@ -19,8 +19,8 @@
  *
  * @ContentEntityType(
  *   id = "joinup_log",
- *   label = @Translation("Portal log"),
- *   label_collection = @Translation("Portal logs"),
+ *   label = @Translation("Interoperable Europe Portal log"),
+ *   label_collection = @Translation("Interoperable Europe Portal logs"),
  *   label_singular = @Translation("joinup log"),
  *   label_plural = @Translation("joinup logs"),
  *   label_count = @PluralTranslation(
diff --git a/web/modules/custom/joinup_log/src/JoinupLogStorage.php b/web/modules/custom/joinup_log/src/JoinupLogStorage.php
index 177c3ca868..7f393a820b 100644
--- a/web/modules/custom/joinup_log/src/JoinupLogStorage.php
+++ b/web/modules/custom/joinup_log/src/JoinupLogStorage.php
@@ -9,7 +9,7 @@
 use Drupal\Core\Entity\Sql\SqlContentEntityStorage;
 
 /**
- * Defines the storage handler class for Portal log entity.
+ * Defines the storage handler class for Interoperable Europe Portal log entity.
  */
 class JoinupLogStorage extends SqlContentEntityStorage {
 
@@ -18,7 +18,7 @@ class JoinupLogStorage extends SqlContentEntityStorage {
    */
   public function save(EntityInterface $entity): void {
     if (!$entity->isNew()) {
-      throw new EntityStorageException('Portal log entities are read only entities. Saving them once created is not allowed.');
+      throw new EntityStorageException('Interoperable Europe Portal log entities are read only entities. Saving them once created is not allowed.');
     }
     parent::save($entity);
   }
diff --git a/web/modules/custom/joinup_log/src/JoinupLogStorageSchema.php b/web/modules/custom/joinup_log/src/JoinupLogStorageSchema.php
index 93583587d1..67dd8612f0 100644
--- a/web/modules/custom/joinup_log/src/JoinupLogStorageSchema.php
+++ b/web/modules/custom/joinup_log/src/JoinupLogStorageSchema.php
@@ -8,7 +8,7 @@
 use Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema;
 
 /**
- * Defines the Portal log entity schema handler.
+ * Defines the Interoperable Europe Portal log entity schema handler.
  */
 class JoinupLogStorageSchema extends SqlContentEntityStorageSchema {
 
diff --git a/web/modules/custom/joinup_log/src/JoinupLogViewsData.php b/web/modules/custom/joinup_log/src/JoinupLogViewsData.php
index abfea66039..48879a9fe3 100644
--- a/web/modules/custom/joinup_log/src/JoinupLogViewsData.php
+++ b/web/modules/custom/joinup_log/src/JoinupLogViewsData.php
@@ -9,7 +9,7 @@
 use Drupal\views\EntityViewsData;
 
 /**
- * Provides the views data for Portal log entity type.
+ * Provides the views data for Interoperable Europe Portal log entity type.
  */
 class JoinupLogViewsData extends EntityViewsData {
 
diff --git a/web/modules/custom/joinup_log/tests/src/Kernel/JoinupLogEntityTest.php b/web/modules/custom/joinup_log/tests/src/Kernel/JoinupLogEntityTest.php
index 3460fd2021..03f1ef7c2a 100644
--- a/web/modules/custom/joinup_log/tests/src/Kernel/JoinupLogEntityTest.php
+++ b/web/modules/custom/joinup_log/tests/src/Kernel/JoinupLogEntityTest.php
@@ -12,7 +12,7 @@
 use Drupal\joinup_log\Entity\JoinupLogInterface;
 
 /**
- * Test the Portal log entity functionality.
+ * Test the Interoperable Europe Portal log entity functionality.
  */
 class JoinupLogEntityTest extends KernelTestBase {
 
@@ -77,7 +77,7 @@ public function testUpdate(): void {
     $log_entity = $this->generateLogEntity();
 
     $this->expectException(EntityStorageException::class);
-    $this->expectExceptionMessage('Portal log entities are read only entities. Saving them once created is not allowed.');
+    $this->expectExceptionMessage('Interoperable Europe Portal log entities are read only entities. Saving them once created is not allowed.');
     $log_entity->save();
   }
 
@@ -92,13 +92,13 @@ public function testDelete(): void {
   }
 
   /**
-   * Generates a Portal log entity.
+   * Generates a Interoperable Europe Portal log entity.
    *
    * @param array $values
    *   Overrides the defaults values.
    *
    * @return \Drupal\joinup_log\Entity\JoinupLogInterface
-   *   The Portal log entity.
+   *   The Interoperable Europe Portal log entity.
    */
   private function generateLogEntity(array $values = []): JoinupLogInterface {
     global $base_root;
@@ -106,7 +106,7 @@ private function generateLogEntity(array $values = []): JoinupLogInterface {
     $user = !empty($this->adminUser) ? $this->adminUser : new AnonymousUserSession();
     $values = $values + [
       'type'        => 'custom',
-      'message'     => 'Portal log test log message',
+      'message'     => 'Interoperable Europe Portal log test log message',
       'severity'    => RfcLogLevel::NOTICE,
       'uid'         => $user->id(),
       'location'    => $base_root . \Drupal::request()->getRequestUri(),
diff --git a/web/modules/custom/joinup_media/config/schema/joinup_media.schema.yml b/web/modules/custom/joinup_media/config/schema/joinup_media.schema.yml
index 8475a70e9e..fafeea1d38 100644
--- a/web/modules/custom/joinup_media/config/schema/joinup_media.schema.yml
+++ b/web/modules/custom/joinup_media/config/schema/joinup_media.schema.yml
@@ -1,3 +1,3 @@
 field.widget.settings.joinup_media_video_url:
   type: field.widget.settings.inline_entity_form_simple
-  label: 'Portal Media video URL'
+  label: 'Interoperable Europe Portal Media video URL'
diff --git a/web/modules/custom/joinup_media/joinup_media.info.yml b/web/modules/custom/joinup_media/joinup_media.info.yml
index 83c0107ed7..9a1373c535 100644
--- a/web/modules/custom/joinup_media/joinup_media.info.yml
+++ b/web/modules/custom/joinup_media/joinup_media.info.yml
@@ -1,7 +1,7 @@
 type: module
-name: Portal Media
+name: Interoperable Europe Portal Media
 description: Drupal Media adaptation.
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">=9.4"
 dependencies:
   - drupal:media
diff --git a/web/modules/custom/joinup_media/joinup_media.module b/web/modules/custom/joinup_media/joinup_media.module
index 0741263fe8..159b88a667 100644
--- a/web/modules/custom/joinup_media/joinup_media.module
+++ b/web/modules/custom/joinup_media/joinup_media.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for Portal Media module.
+ * Hook implementations for Interoperable Europe Portal Media module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_media/joinup_media.post_update.php b/web/modules/custom/joinup_media/joinup_media.post_update.php
index afef437fb2..b051cb0af7 100644
--- a/web/modules/custom/joinup_media/joinup_media.post_update.php
+++ b/web/modules/custom/joinup_media/joinup_media.post_update.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Post-update functions for Portal Media module.
+ * Post-update functions for Interoperable Europe Portal Media module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_media/joinup_media.views.inc b/web/modules/custom/joinup_media/joinup_media.views.inc
index 1a0e7b4f03..4e018d1128 100644
--- a/web/modules/custom/joinup_media/joinup_media.views.inc
+++ b/web/modules/custom/joinup_media/joinup_media.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Views integration for Portal Group module.
+ * Views integration for Interoperable Europe Portal Group module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_media/src/JoinupMediaLibrary.php b/web/modules/custom/joinup_media/src/JoinupMediaLibrary.php
index 69eb401907..cb9b3d9a29 100644
--- a/web/modules/custom/joinup_media/src/JoinupMediaLibrary.php
+++ b/web/modules/custom/joinup_media/src/JoinupMediaLibrary.php
@@ -37,7 +37,7 @@ class JoinupMediaLibrary extends MediaLibrary {
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entityTypeManager
    *   The entity type manager.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $groupManager
-   *   The Portal group manager service.
+   *   The Interoperable Europe Portal group manager service.
    */
   public function __construct(array $configuration, string $pluginId, CKEditor5PluginDefinition $pluginDefinition, EntityTypeManagerInterface $entityTypeManager, protected JoinupGroupManagerInterface $groupManager) {
     parent::__construct($configuration, $pluginId, $pluginDefinition, $entityTypeManager);
diff --git a/web/modules/custom/joinup_media/src/Plugin/Field/FieldWidget/MediaVideoUrlWidget.php b/web/modules/custom/joinup_media/src/Plugin/Field/FieldWidget/MediaVideoUrlWidget.php
index 46d82fee00..98e1c84c1f 100644
--- a/web/modules/custom/joinup_media/src/Plugin/Field/FieldWidget/MediaVideoUrlWidget.php
+++ b/web/modules/custom/joinup_media/src/Plugin/Field/FieldWidget/MediaVideoUrlWidget.php
@@ -25,7 +25,7 @@
  */
 #[FieldWidget(
   id: 'joinup_media_video_url',
-  label: new TranslatableMarkup('Portal Media video URL'),
+  label: new TranslatableMarkup('Interoperable Europe Portal Media video URL'),
   field_types: [
     'entity_reference',
   ],
diff --git a/web/modules/custom/joinup_menu/joinup_menu.info.yml b/web/modules/custom/joinup_menu/joinup_menu.info.yml
index 6447b55b4e..7ff05c9468 100644
--- a/web/modules/custom/joinup_menu/joinup_menu.info.yml
+++ b/web/modules/custom/joinup_menu/joinup_menu.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal Menu'
-description: 'Reusable code to interact with menus in Portal.'
+name: 'Interoperable Europe Portal Menu'
+description: 'Reusable code to interact with menus in Interoperable Europe Portal.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_menu/src/MenuHelper.php b/web/modules/custom/joinup_menu/src/MenuHelper.php
index 7b41c0f2e2..4659650e05 100644
--- a/web/modules/custom/joinup_menu/src/MenuHelper.php
+++ b/web/modules/custom/joinup_menu/src/MenuHelper.php
@@ -98,7 +98,7 @@ public function getBclAnonymousMenu(): array {
       'cta' => [
         // Even though the link claims to lead to an account creation form, we
         // are linking to the EU Login portal. Account creation is not handled
-        // inside the Portal domain.
+        // inside the Interoperable Europe Portal domain.
         'link' => $cas_login_link,
         'attributes' => 'tabindex="0"',
         'text' => $this->t('Create an account'),
@@ -111,7 +111,7 @@ public function getBclAnonymousMenu(): array {
       'popover' => $popover,
     ];
 
-    // Generate a link to the Portal collection, to show as
+    // Generate a link to the Interoperable Europe Portal collection, to show as
     // the "About us" link in the hamburger menu for anonymous users.
     $rdf_storage = $this->entityTypeManager->getStorage('rdf_entity');
     try {
@@ -127,15 +127,15 @@ public function getBclAnonymousMenu(): array {
       ];
     }
     catch (Exception $e) {
-      // The Portal collection could not be loaded or the link to the About page
+      // The Interoperable Europe Portal collection could not be loaded or the link to the About page
       // could not be generated. This should not crash the page since the
       // collection is considered to be optional. It is for example possible for
-      // a project to reuse the Portal open source code without hosting a
-      // "Portal" collection.
+      // a project to reuse the Interoperable Europe Portal open source code without hosting a
+      // "Interoperable Europe Portal" collection.
       // However, in scope of the Ventuno theme the About Us link is considered
       // to be an important element, so we log a warning to alert the webmaster
       // that corrective action is required.
-      $this->logger->get('joinup_menu')->warning('"About us" link could not be rendered because the Portal collection is not defined or doesn\'t have an About page.');
+      $this->logger->get('joinup_menu')->warning('"About us" link could not be rendered because the Interoperable Europe Portal collection is not defined or doesn\'t have an About page.');
     }
 
     return $anonymous_links;
diff --git a/web/modules/custom/joinup_menu/src/MenuHelperInterface.php b/web/modules/custom/joinup_menu/src/MenuHelperInterface.php
index b0b76e9178..56231077c2 100644
--- a/web/modules/custom/joinup_menu/src/MenuHelperInterface.php
+++ b/web/modules/custom/joinup_menu/src/MenuHelperInterface.php
@@ -38,7 +38,7 @@ public function getBclAnonymousMenu(): array;
    *
    * The landing pages returned are:
    *   - Interoperable Europe collection landing page.
-   *   - Portal collection landing page.
+   *   - Interoperable Europe Portal collection landing page.
    *
    * @return array[]
    *   An array of menu links for the anonymous menu in the BCL header template
diff --git a/web/modules/custom/joinup_modal/joinup_modal.info.yml b/web/modules/custom/joinup_modal/joinup_modal.info.yml
index 72bd0aa409..b415ac41e2 100644
--- a/web/modules/custom/joinup_modal/joinup_modal.info.yml
+++ b/web/modules/custom/joinup_modal/joinup_modal.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal modal'
-description: 'Reusable modal for Portal.'
+name: 'Interoperable Europe Portal modal'
+description: 'Reusable modal for Interoperable Europe Portal.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - user:user
diff --git a/web/modules/custom/joinup_news/joinup_news.info.yml b/web/modules/custom/joinup_news/joinup_news.info.yml
index 219ee2227b..5ce406efbb 100644
--- a/web/modules/custom/joinup_news/joinup_news.info.yml
+++ b/web/modules/custom/joinup_news/joinup_news.info.yml
@@ -1,7 +1,7 @@
-name: Portal News
+name: Interoperable Europe Portal News
 description: News content type.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_news/src/Entity/NewsInterface.php b/web/modules/custom/joinup_news/src/Entity/NewsInterface.php
index 68263a8222..85cb6daa73 100644
--- a/web/modules/custom/joinup_news/src/Entity/NewsInterface.php
+++ b/web/modules/custom/joinup_news/src/Entity/NewsInterface.php
@@ -10,7 +10,7 @@
 use Drupal\joinup_workflow\ArchivableEntityInterface;
 
 /**
- * Interface for news entities in Portal.
+ * Interface for news entities in Interoperable Europe Portal.
  */
 interface NewsInterface extends CommunityContentInterface, LogoInterface, ArchivableEntityInterface, AbstractInterface {
 
diff --git a/web/modules/custom/joinup_newsletter/joinup_newsletter.info.yml b/web/modules/custom/joinup_newsletter/joinup_newsletter.info.yml
index 97ee4c8de9..1c6d1bfd9c 100644
--- a/web/modules/custom/joinup_newsletter/joinup_newsletter.info.yml
+++ b/web/modules/custom/joinup_newsletter/joinup_newsletter.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal Newsletter'
-description: 'Provides newsletter functionality to Portal'
+name: 'Interoperable Europe Portal Newsletter'
+description: 'Provides newsletter functionality to Interoperable Europe Portal'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_newsletter/joinup_newsletter.module b/web/modules/custom/joinup_newsletter/joinup_newsletter.module
index 67b867fecd..2fc286be91 100644
--- a/web/modules/custom/joinup_newsletter/joinup_newsletter.module
+++ b/web/modules/custom/joinup_newsletter/joinup_newsletter.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main functions and hook implementations of the Portal Newsletter module.
+ * Main functions and hook implementations of the Interoperable Europe Portal Newsletter module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_notification/README.md b/web/modules/custom/joinup_notification/README.md
index 11030301e2..462a40a28b 100644
--- a/web/modules/custom/joinup_notification/README.md
+++ b/web/modules/custom/joinup_notification/README.md
@@ -1,4 +1,4 @@
-# Portal notification module
+# Interoperable Europe Portal notification module
 
 The joinup notification module is a custom module that depends only on message,
 message_notify, og and state machine.
diff --git a/web/modules/custom/joinup_notification/joinup_notification.info.yml b/web/modules/custom/joinup_notification/joinup_notification.info.yml
index d307361b3e..f443d73425 100644
--- a/web/modules/custom/joinup_notification/joinup_notification.info.yml
+++ b/web/modules/custom/joinup_notification/joinup_notification.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal notification'
+name: 'Interoperable Europe Portal notification'
 description: 'Handles notifications for joinup project.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - 'joinup:joinup_workflow'
diff --git a/web/modules/custom/joinup_notification/joinup_notification.module b/web/modules/custom/joinup_notification/joinup_notification.module
index f1ff44e755..bf1e1dae09 100644
--- a/web/modules/custom/joinup_notification/joinup_notification.module
+++ b/web/modules/custom/joinup_notification/joinup_notification.module
@@ -239,7 +239,7 @@ function joinup_notification_mail_alter(array &$message): void {
     if ($message['key'] !== 'announcement') {
       $user = user_load_by_mail($message['to']);
       if ($user) {
-        $first_name = !empty($user->get('field_user_first_name')->value) ? $user->get('field_user_first_name')->value : 'Portal user';
+        $first_name = !empty($user->get('field_user_first_name')->value) ? $user->get('field_user_first_name')->value : 'Interoperable Europe Portal user';
         $prefix = t('<p>Dear @first_name,</p>', ['@first_name' => $first_name]);
         $suffix = t('<p>Kind regards,</p><p>The Portal Support Team</p>');
         $message['body'] = array_merge([$prefix], $message['body'], [$suffix]);
diff --git a/web/modules/custom/joinup_notification/src/EntityMessageHelper.php b/web/modules/custom/joinup_notification/src/EntityMessageHelper.php
index 60b9ff953a..8780d2c125 100644
--- a/web/modules/custom/joinup_notification/src/EntityMessageHelper.php
+++ b/web/modules/custom/joinup_notification/src/EntityMessageHelper.php
@@ -113,7 +113,7 @@ public function getMessageEntityStorage(): EntityStorageInterface {
       $storage = $this->entityTypeManager->getStorage('message');
     }
     catch (InvalidPluginDefinitionException $e) {
-      // Since the Portal Notification module depends on the Message module we
+      // Since the Interoperable Europe Portal Notification module depends on the Message module we
       // can reasonably expect that the Message entity type is available at
       // runtime and we don't need to handle the possibility that it is not
       // defined.
diff --git a/web/modules/custom/joinup_notification/src/EventSubscriber/CommentSubscriber.php b/web/modules/custom/joinup_notification/src/EventSubscriber/CommentSubscriber.php
index e7cf787c81..7aed057f62 100644
--- a/web/modules/custom/joinup_notification/src/EventSubscriber/CommentSubscriber.php
+++ b/web/modules/custom/joinup_notification/src/EventSubscriber/CommentSubscriber.php
@@ -268,7 +268,7 @@ protected function generateArguments(EntityInterface $entity): array {
     $arguments += MessageArgumentGenerator::getGroupArguments($this->group);
 
     if ($this->currentUser->isAnonymous() || empty($arguments['@actor:full_name'])) {
-      $arguments['@actor:full_name'] = $this->currentUser->isAnonymous() ? $this->t('an anonymous user') : $this->t('a Portal user');
+      $arguments['@actor:full_name'] = $this->currentUser->isAnonymous() ? $this->t('an anonymous user') : $this->t('a Interoperable Europe Portal user');
     }
 
     return $arguments;
diff --git a/web/modules/custom/joinup_notification/src/EventSubscriber/OgMembershipSubscriber.php b/web/modules/custom/joinup_notification/src/EventSubscriber/OgMembershipSubscriber.php
index 71b6295386..e03ca94504 100644
--- a/web/modules/custom/joinup_notification/src/EventSubscriber/OgMembershipSubscriber.php
+++ b/web/modules/custom/joinup_notification/src/EventSubscriber/OgMembershipSubscriber.php
@@ -219,7 +219,7 @@ protected function generateArguments(EntityInterface $message): array {
 
     // Ensure that the full name is not empty.
     if (empty($actor_first_name) && empty(($actor_last_name))) {
-      $arguments['@actor:full_name'] = 'A Portal user';
+      $arguments['@actor:full_name'] = 'A Interoperable Europe Portal user';
     }
     else {
       /** @var \Drupal\user\UserInterface $actor */
diff --git a/web/modules/custom/joinup_notification/src/JoinupMessageDelivery.php b/web/modules/custom/joinup_notification/src/JoinupMessageDelivery.php
index 68da5fe7e8..27d425b4f3 100644
--- a/web/modules/custom/joinup_notification/src/JoinupMessageDelivery.php
+++ b/web/modules/custom/joinup_notification/src/JoinupMessageDelivery.php
@@ -33,7 +33,7 @@ class JoinupMessageDelivery implements JoinupMessageDeliveryInterface {
   protected $messageNotifier;
 
   /**
-   * Constructs a new Portal deliver service object.
+   * Constructs a new Interoperable Europe Portal deliver service object.
    *
    * @param \Drupal\message_notify\MessageNotifier $message_notifier
    *   The message notifier service.
diff --git a/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php b/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
index 286ffbf16f..9924fec5ca 100644
--- a/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
+++ b/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
@@ -51,10 +51,10 @@ public static function getActorArguments(?UserInterface $actor = NULL): array {
 
     if ($actor->isAnonymous()) {
       // If an anonymous is creating content, set the first name to also be 'the
-      // Portal Moderation Team' because some emails use only the first name
+      // Interoperable Europe Portal Moderation Team' because some emails use only the first name
       // instead of the full name.
       $arguments['@actor:role'] = 'moderator';
-      $arguments['@actor:full_name'] = $arguments['@actor:field_user_first_name'] = 'the Portal Moderation Team';
+      $arguments['@actor:full_name'] = $arguments['@actor:field_user_first_name'] = 'the Interoperable Europe Portal Moderation Team';
     }
     elseif ($actor->hasRole('moderator')) {
       /** @var \Drupal\user\RoleInterface $role */
@@ -144,7 +144,7 @@ public static function getOgMembershipArguments(OgMembershipInterface $membershi
       // If the user is an administrator they will also have inherited the
       // facilitator role. Having multiple roles might be confusing for
       // non-technical users. Let's just call them the 'owner'.
-      // Note that in Portal the OG admin roles don't have the `is_admin` flag
+      // Note that in Interoperable Europe Portal the OG admin roles don't have the `is_admin` flag
       // set because this would unlock unwanted permissions, so we cannot use
       // `$role->isAdmin()` here. Instead we check if the role name matches.
       if ($role->getName() === OgRoleInterface::ADMINISTRATOR) {
diff --git a/web/modules/custom/joinup_paragraphs/joinup_paragraphs.info.yml b/web/modules/custom/joinup_paragraphs/joinup_paragraphs.info.yml
index 9155b1a8a0..95d15074dc 100644
--- a/web/modules/custom/joinup_paragraphs/joinup_paragraphs.info.yml
+++ b/web/modules/custom/joinup_paragraphs/joinup_paragraphs.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal paragraphs'
-description: 'Contains settings, installation config and functionality related to paragraphs needed in Portal.'
+name: 'Interoperable Europe Portal paragraphs'
+description: 'Contains settings, installation config and functionality related to paragraphs needed in Interoperable Europe Portal.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_paragraphs/joinup_paragraphs.module b/web/modules/custom/joinup_paragraphs/joinup_paragraphs.module
index 178d74729f..3146a54e22 100644
--- a/web/modules/custom/joinup_paragraphs/joinup_paragraphs.module
+++ b/web/modules/custom/joinup_paragraphs/joinup_paragraphs.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for Portal Paragraphs module.
+ * Hook implementations for Interoperable Europe Portal Paragraphs module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_poll/joinup_poll.info.yml b/web/modules/custom/joinup_poll/joinup_poll.info.yml
index 8f4b3d006e..360123fb6b 100644
--- a/web/modules/custom/joinup_poll/joinup_poll.info.yml
+++ b/web/modules/custom/joinup_poll/joinup_poll.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal Poll'
+name: 'Interoperable Europe Portal Poll'
 description: 'Poll customisation.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_poll/joinup_poll.module b/web/modules/custom/joinup_poll/joinup_poll.module
index db121834e1..47318620d9 100644
--- a/web/modules/custom/joinup_poll/joinup_poll.module
+++ b/web/modules/custom/joinup_poll/joinup_poll.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main functions and hook implementations of the Portal Poll module.
+ * Main functions and hook implementations of the Interoperable Europe Portal Poll module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_publication_date/joinup_publication_date.info.yml b/web/modules/custom/joinup_publication_date/joinup_publication_date.info.yml
index 4bc7254f92..bd8d55c338 100644
--- a/web/modules/custom/joinup_publication_date/joinup_publication_date.info.yml
+++ b/web/modules/custom/joinup_publication_date/joinup_publication_date.info.yml
@@ -1,7 +1,7 @@
-name: Portal Publication Date
+name: Interoperable Europe Portal Publication Date
 description: Extends the contributed Publication Date module with goodies such as support for bundle classes.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - publication_date:publication_date
diff --git a/web/modules/custom/joinup_publication_date/joinup_publication_date.module b/web/modules/custom/joinup_publication_date/joinup_publication_date.module
index c86107e2c1..a679e090c8 100644
--- a/web/modules/custom/joinup_publication_date/joinup_publication_date.module
+++ b/web/modules/custom/joinup_publication_date/joinup_publication_date.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal Publication Date module.
+ * Hook implementations for the Interoperable Europe Portal Publication Date module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php b/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php
index 3b9dbce092..39ac09566f 100644
--- a/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php
+++ b/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Deploy hooks for Portal RDF module.
+ * Deploy hooks for Interoperable Europe Portal RDF module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_rdf/joinup_rdf.info.yml b/web/modules/custom/joinup_rdf/joinup_rdf.info.yml
index ca85a295d7..3604c6afde 100644
--- a/web/modules/custom/joinup_rdf/joinup_rdf.info.yml
+++ b/web/modules/custom/joinup_rdf/joinup_rdf.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal RDF'
-description: 'Integrates the RDF data model in Portal.'
+name: 'Interoperable Europe Portal RDF'
+description: 'Integrates the RDF data model in Interoperable Europe Portal.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_rdf/joinup_rdf.install b/web/modules/custom/joinup_rdf/joinup_rdf.install
index 99fd210016..a331f263c0 100644
--- a/web/modules/custom/joinup_rdf/joinup_rdf.install
+++ b/web/modules/custom/joinup_rdf/joinup_rdf.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Post update functions for the Portal RDF module.
+ * Post update functions for the Interoperable Europe Portal RDF module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_rdf/joinup_rdf.module b/web/modules/custom/joinup_rdf/joinup_rdf.module
index 9cb27ce6d7..1d88054c62 100644
--- a/web/modules/custom/joinup_rdf/joinup_rdf.module
+++ b/web/modules/custom/joinup_rdf/joinup_rdf.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal RDF module.
+ * Hook implementations for the Interoperable Europe Portal RDF module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_rdf/src/Plugin/rdf_sync/RdfUriGenerator/JoinupRdfUriGenerator.php b/web/modules/custom/joinup_rdf/src/Plugin/rdf_sync/RdfUriGenerator/JoinupRdfUriGenerator.php
index 7d4f82e8b4..b854bfb16a 100644
--- a/web/modules/custom/joinup_rdf/src/Plugin/rdf_sync/RdfUriGenerator/JoinupRdfUriGenerator.php
+++ b/web/modules/custom/joinup_rdf/src/Plugin/rdf_sync/RdfUriGenerator/JoinupRdfUriGenerator.php
@@ -13,7 +13,7 @@
  *
  * @RdfUriGenerator(
  *   id = "joinup_po_namespace",
- *   name = @Translation("Portal PO namespace (data.europa.eu/w21)"),
+ *   name = @Translation("Interoperable Europe Portal PO namespace (data.europa.eu/w21)"),
  * )
  */
 class JoinupRdfUriGenerator extends RdfUriGeneratorPluginBase {
diff --git a/web/modules/custom/joinup_release/joinup_release.info.yml b/web/modules/custom/joinup_release/joinup_release.info.yml
index d976329a42..1661a13a3f 100644
--- a/web/modules/custom/joinup_release/joinup_release.info.yml
+++ b/web/modules/custom/joinup_release/joinup_release.info.yml
@@ -1,4 +1,4 @@
-name: 'Portal release'
+name: 'Interoperable Europe Portal release'
 type: module
 description: 'Custom functionality related to releases.'
 package: Custom
diff --git a/web/modules/custom/joinup_release/joinup_release.module b/web/modules/custom/joinup_release/joinup_release.module
index 71c62aace0..c2e16f17b7 100644
--- a/web/modules/custom/joinup_release/joinup_release.module
+++ b/web/modules/custom/joinup_release/joinup_release.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Primary module hooks for Portal release module.
+ * Primary module hooks for Interoperable Europe Portal release module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_release/src/Entity/ReleaseInterface.php b/web/modules/custom/joinup_release/src/Entity/ReleaseInterface.php
index 4d9063cd80..d5039357cc 100644
--- a/web/modules/custom/joinup_release/src/Entity/ReleaseInterface.php
+++ b/web/modules/custom/joinup_release/src/Entity/ReleaseInterface.php
@@ -17,7 +17,7 @@
 use Drupal\solution\Entity\SolutionInterface;
 
 /**
- * Interface for asset release entities in Portal.
+ * Interface for asset release entities in Interoperable Europe Portal.
  */
 interface ReleaseInterface extends NodeInterface, RdfSyncEntityInterface, CollectionContentInterface, SolutionContentInterface, EntityPublicationTimeInterface, EntityWorkflowStateInterface, DistributionsParentInterface, DescriptionInterface, ArchivableEntityInterface, PermalinkInterface {
 
diff --git a/web/modules/custom/joinup_release/src/EventSubscriber/ReleaseGroupSubscriber.php b/web/modules/custom/joinup_release/src/EventSubscriber/ReleaseGroupSubscriber.php
index c0d0af87dc..ff9e9d62a5 100644
--- a/web/modules/custom/joinup_release/src/EventSubscriber/ReleaseGroupSubscriber.php
+++ b/web/modules/custom/joinup_release/src/EventSubscriber/ReleaseGroupSubscriber.php
@@ -9,7 +9,7 @@
 use Drupal\solution\Entity\SolutionInterface;
 
 /**
- * Subscribes to Portal Group events.
+ * Subscribes to Interoperable Europe Portal Group events.
  */
 class ReleaseGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/joinup_release/templates/joinup-release-releases-download.html.twig b/web/modules/custom/joinup_release/templates/joinup-release-releases-download.html.twig
index 373cb89713..5664120817 100644
--- a/web/modules/custom/joinup_release/templates/joinup-release-releases-download.html.twig
+++ b/web/modules/custom/joinup_release/templates/joinup-release-releases-download.html.twig
@@ -1,7 +1,7 @@
 {#
 /**
  * @file
- * Default template for the Portal release Releases download page.
+ * Default template for the Interoperable Europe Portal release Releases download page.
  *
  * Available variables:
  * - releases: An array of release render arrays.
diff --git a/web/modules/custom/joinup_replicate/joinup_replicate.info.yml b/web/modules/custom/joinup_replicate/joinup_replicate.info.yml
index 8eff0077e3..e97289f9a1 100644
--- a/web/modules/custom/joinup_replicate/joinup_replicate.info.yml
+++ b/web/modules/custom/joinup_replicate/joinup_replicate.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal Replicate'
-description: 'Integrates the Replicate module in Portal.'
+name: 'Interoperable Europe Portal Replicate'
+description: 'Integrates the Replicate module in Interoperable Europe Portal.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 10.2"
 
 dependencies:
diff --git a/web/modules/custom/joinup_replicate/joinup_replicate.module b/web/modules/custom/joinup_replicate/joinup_replicate.module
index 12851e28de..5a1f043716 100644
--- a/web/modules/custom/joinup_replicate/joinup_replicate.module
+++ b/web/modules/custom/joinup_replicate/joinup_replicate.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hooks of Portal Replicate module.
+ * Hooks of Interoperable Europe Portal Replicate module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_replicate/src/RouteSubscriber/RouteSubscriber.php b/web/modules/custom/joinup_replicate/src/RouteSubscriber/RouteSubscriber.php
index e7cb41195a..69c5c47243 100644
--- a/web/modules/custom/joinup_replicate/src/RouteSubscriber/RouteSubscriber.php
+++ b/web/modules/custom/joinup_replicate/src/RouteSubscriber/RouteSubscriber.php
@@ -29,7 +29,7 @@ class RouteSubscriber extends RouteSubscriberBase {
    */
   protected function alterRoutes(RouteCollection $collection): void {
     // @todo Consider making this configurable by additional configuration
-    // options either in Portal or in the contrib module.
+    // options either in Interoperable Europe Portal or in the contrib module.
     foreach (static::ALLOWED_BUNDLES_PER_TYPE as $entityTypeId => $allowedBundles) {
       if (!$route = $collection->get("entity.$entityTypeId.replicate")) {
         continue;
diff --git a/web/modules/custom/joinup_rss/joinup_rss.info.yml b/web/modules/custom/joinup_rss/joinup_rss.info.yml
index b7926ece2f..636d958f70 100644
--- a/web/modules/custom/joinup_rss/joinup_rss.info.yml
+++ b/web/modules/custom/joinup_rss/joinup_rss.info.yml
@@ -1,7 +1,7 @@
-name: Portal RSS
-description: Exposes RSS feeds in Portal.
+name: Interoperable Europe Portal RSS
+description: Exposes RSS feeds in Interoperable Europe Portal.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_rss/joinup_rss.module b/web/modules/custom/joinup_rss/joinup_rss.module
index f7eda6495a..1808777b8e 100644
--- a/web/modules/custom/joinup_rss/joinup_rss.module
+++ b/web/modules/custom/joinup_rss/joinup_rss.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Provides functionality for the Portal RSS module.
+ * Provides functionality for the Interoperable Europe Portal RSS module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/config/schema/joinup_search.schema.yml b/web/modules/custom/joinup_search/config/schema/joinup_search.schema.yml
index f0cd7ea999..2b1c003cec 100644
--- a/web/modules/custom/joinup_search/config/schema/joinup_search.schema.yml
+++ b/web/modules/custom/joinup_search/config/schema/joinup_search.schema.yml
@@ -23,7 +23,7 @@ joinup_search_filter_plugin_entity_autocomplete:
 
 plugin.plugin_configuration.search_api_processor.joinup_entity_status:
   type: search_api.default_processor_configuration
-  label: 'Portal entity status processor'
+  label: 'Interoperable Europe Portal entity status processor'
   mapping:
     inverse:
       type: boolean
diff --git a/web/modules/custom/joinup_search/joinup_search.info.yml b/web/modules/custom/joinup_search/joinup_search.info.yml
index f1ea9870ad..fca0b865db 100644
--- a/web/modules/custom/joinup_search/joinup_search.info.yml
+++ b/web/modules/custom/joinup_search/joinup_search.info.yml
@@ -1,7 +1,7 @@
-name: Portal search
-description: Integrates the Portal project with Solr.
+name: Interoperable Europe Portal search
+description: Integrates the Interoperable Europe Portal project with Solr.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_search/joinup_search.install b/web/modules/custom/joinup_search/joinup_search.install
index 27eee31280..05583e09c2 100644
--- a/web/modules/custom/joinup_search/joinup_search.install
+++ b/web/modules/custom/joinup_search/joinup_search.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update and uninstall functions for Portal Search module.
+ * Install, update and uninstall functions for Interoperable Europe Portal Search module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/joinup_search.module b/web/modules/custom/joinup_search/joinup_search.module
index 6e5f7e330c..7d8500ab9b 100644
--- a/web/modules/custom/joinup_search/joinup_search.module
+++ b/web/modules/custom/joinup_search/joinup_search.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Provides functionality for the Portal search module.
+ * Provides functionality for the Interoperable Europe Portal search module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/joinup_search.views.inc b/web/modules/custom/joinup_search/joinup_search.views.inc
index c0c71876ff..7001d519d3 100644
--- a/web/modules/custom/joinup_search/joinup_search.views.inc
+++ b/web/modules/custom/joinup_search/joinup_search.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Views hook implementations for the Portal search module.
+ * Views hook implementations for the Interoperable Europe Portal search module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.info.yml b/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.info.yml
index b333d776f4..d3f07cdeef 100644
--- a/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.info.yml
+++ b/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.info.yml
@@ -1,8 +1,8 @@
-name: Portal search arbitrary facet
+name: Interoperable Europe Portal search arbitrary facet
 type: module
 description: Allows adding facets based on arbitrary queries.
 core_version_requirement: ">= 9.4"
-package: Portal
+package: Interoperable Europe Portal
 
 dependencies:
   - facets:facets
diff --git a/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.module b/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.module
index ebdd795ece..4052b6bbbb 100644
--- a/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.module
+++ b/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Provides functionality for the Portal search arbitrary facet.
+ * Provides functionality for the Interoperable Europe Portal search arbitrary facet.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/src/EventSubscriber/JoinupGlobalSearchApiAlter.php b/web/modules/custom/joinup_search/src/EventSubscriber/JoinupGlobalSearchApiAlter.php
index 94c3279e98..da4336e9a3 100644
--- a/web/modules/custom/joinup_search/src/EventSubscriber/JoinupGlobalSearchApiAlter.php
+++ b/web/modules/custom/joinup_search/src/EventSubscriber/JoinupGlobalSearchApiAlter.php
@@ -11,7 +11,7 @@
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 
 /**
- * Apply the global settings to all search_api_field solarium queries on Portal.
+ * Apply the global settings to all search_api_field solarium queries on Interoperable Europe Portal.
  */
 class JoinupGlobalSearchApiAlter implements EventSubscriberInterface {
 
diff --git a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityLatestRevision.php b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityLatestRevision.php
index b829e2232b..a3406084c0 100644
--- a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityLatestRevision.php
+++ b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityLatestRevision.php
@@ -17,7 +17,7 @@
  *
  * @SearchApiProcessor(
  *   id = "joinup_entity_latest_revision",
- *   label = @Translation("Portal entity latest revision"),
+ *   label = @Translation("Interoperable Europe Portal entity latest revision"),
  *   description = @Translation("Ensures that the version of the entity is the latest revision."),
  *   stages = {
  *     "alter_items" = -20,
diff --git a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityPublishedRevision.php b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityPublishedRevision.php
index 893a83a5fd..94ddc46220 100644
--- a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityPublishedRevision.php
+++ b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityPublishedRevision.php
@@ -16,7 +16,7 @@
  *
  * @SearchApiProcessor(
  *   id = "joinup_entity_published_revision",
- *   label = @Translation("Portal entity published revision"),
+ *   label = @Translation("Interoperable Europe Portal entity published revision"),
  *   description = @Translation("Ensures that the version of the entity is the published revision."),
  *   stages = {
  *     "alter_items" = -20,
diff --git a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityStatus.php b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityStatus.php
index 5eedb067f4..6a08fe1e5f 100644
--- a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityStatus.php
+++ b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityStatus.php
@@ -23,7 +23,7 @@
  *
  * @SearchApiProcessor(
  *   id = "joinup_entity_status",
- *   label = @Translation("Portal entity status"),
+ *   label = @Translation("Interoperable Europe Portal entity status"),
  *   description = @Translation("Exclude unpublished content, rdf entities and users."),
  *   stages = {
  *     "alter_items" = 0,
diff --git a/web/modules/custom/joinup_seo/joinup_seo.info.yml b/web/modules/custom/joinup_seo/joinup_seo.info.yml
index 49ceea4a08..bc316a8b42 100644
--- a/web/modules/custom/joinup_seo/joinup_seo.info.yml
+++ b/web/modules/custom/joinup_seo/joinup_seo.info.yml
@@ -1,7 +1,7 @@
-name: Portal SEO
+name: Interoperable Europe Portal SEO
 description: Contains specific functionality that helps visibility of the platform in search engines.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_seo/joinup_seo.module b/web/modules/custom/joinup_seo/joinup_seo.module
index 5524a70693..db2666d3ba 100644
--- a/web/modules/custom/joinup_seo/joinup_seo.module
+++ b/web/modules/custom/joinup_seo/joinup_seo.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains hook implementations for the Portal SEO module.
+ * Contains hook implementations for the Interoperable Europe Portal SEO module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupEntityUrlGenerator.php b/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupEntityUrlGenerator.php
index 874a99e545..f0f424ebd4 100755
--- a/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupEntityUrlGenerator.php
+++ b/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupEntityUrlGenerator.php
@@ -7,11 +7,11 @@
 use Drupal\Core\Entity\Query\QueryInterface;
 
 /**
- * Generates URLs to content on Portal for inclusion in the sitemap.
+ * Generates URLs to content on Interoperable Europe Portal for inclusion in the sitemap.
  *
  * @UrlGenerator(
  *   id = "joinup_entity",
- *   label = @Translation("Portal URL generator"),
+ *   label = @Translation("Interoperable Europe Portal URL generator"),
  *   description = @Translation("Generates URLs for entities ignoring recent news."),
  * )
  */
diff --git a/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupUrlGeneratorBase.php b/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupUrlGeneratorBase.php
index b365375350..11185193b5 100644
--- a/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupUrlGeneratorBase.php
+++ b/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupUrlGeneratorBase.php
@@ -10,7 +10,7 @@
 use Drupal\simple_sitemap\Plugin\simple_sitemap\UrlGenerator\EntityUrlGenerator;
 
 /**
- * Base class for Portal Url Generators.
+ * Base class for Interoperable Europe Portal Url Generators.
  */
 abstract class JoinupUrlGeneratorBase extends EntityUrlGenerator {
 
diff --git a/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.info.yml b/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.info.yml
index 62cf3b4b11..a409ee0d55 100644
--- a/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.info.yml
+++ b/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.info.yml
@@ -1,7 +1,7 @@
-name: Portal Sitewide alerts
+name: Interoperable Europe Portal Sitewide alerts
 description: Contains customisation for sitewide_alert module.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.module b/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.module
index 43541b627d..a3cce844e0 100644
--- a/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.module
+++ b/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal Sitewide Alert module.
+ * Hook implementations for the Interoperable Europe Portal Sitewide Alert module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_slick/joinup_slick.info.yml b/web/modules/custom/joinup_slick/joinup_slick.info.yml
index 40f901f8b6..4b94584fd5 100644
--- a/web/modules/custom/joinup_slick/joinup_slick.info.yml
+++ b/web/modules/custom/joinup_slick/joinup_slick.info.yml
@@ -1,7 +1,7 @@
-name: Portal Slick
+name: Interoperable Europe Portal Slick
 description: Formats multi-item fields with Slick Carousel
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 10.1"
 dependencies:
   - slick:slick
diff --git a/web/modules/custom/joinup_slick/joinup_slick.module b/web/modules/custom/joinup_slick/joinup_slick.module
index 3b295c3aa2..21ca91a6f0 100644
--- a/web/modules/custom/joinup_slick/joinup_slick.module
+++ b/web/modules/custom/joinup_slick/joinup_slick.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hooks and custom functions of Portal Slick module.
+ * Hooks and custom functions of Interoperable Europe Portal Slick module.
  */
 
 declare(strict_types=1);
@@ -159,7 +159,7 @@ function joinup_slick_preprocess_slick(array &$variables): void {
  * Implements hook_preprocess_HOOK() for "slick_slide".
  */
 function joinup_slick_preprocess_slick_slide(array &$variables): void {
-  // Always use wrapper and content attributes if this is a Portal Slick
+  // Always use wrapper and content attributes if this is a Interoperable Europe Portal Slick
   // instance.
   if (!empty($variables['settings']['joinup_slick'])) {
     $variables['settings']['wrapper'] = TRUE;
diff --git a/web/modules/custom/joinup_solution/joinup_solution.info.yml b/web/modules/custom/joinup_solution/joinup_solution.info.yml
index 418817221b..22c264455d 100644
--- a/web/modules/custom/joinup_solution/joinup_solution.info.yml
+++ b/web/modules/custom/joinup_solution/joinup_solution.info.yml
@@ -1,4 +1,4 @@
-name: 'Portal solution'
+name: 'Interoperable Europe Portal solution'
 type: module
 description: 'Contains functionality related to the solution entity.'
 package: Joinuo
diff --git a/web/modules/custom/joinup_solution/joinup_solution.module b/web/modules/custom/joinup_solution/joinup_solution.module
index 59d123a4b2..cce744bfaf 100644
--- a/web/modules/custom/joinup_solution/joinup_solution.module
+++ b/web/modules/custom/joinup_solution/joinup_solution.module
@@ -9,7 +9,7 @@
 
 /**
  * @file
- * Primary module hooks for Portal solution module.
+ * Primary module hooks for Interoperable Europe Portal solution module.
  */
 
 use Drupal\joinup_solution\Entity\Solution;
diff --git a/web/modules/custom/joinup_sparql/joinup_sparql.info.yml b/web/modules/custom/joinup_sparql/joinup_sparql.info.yml
index d8df7dbbcb..e304e24d47 100644
--- a/web/modules/custom/joinup_sparql/joinup_sparql.info.yml
+++ b/web/modules/custom/joinup_sparql/joinup_sparql.info.yml
@@ -1,7 +1,7 @@
-name: Portal SPARQL
-description: Contains Portal specific overrides related to the RDF entity and the SPARQL endpoint.
+name: Interoperable Europe Portal SPARQL
+description: Contains Interoperable Europe Portal specific overrides related to the RDF entity and the SPARQL endpoint.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php b/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php
index 53969ce2cd..0951856483 100644
--- a/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php
+++ b/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php
@@ -18,7 +18,7 @@
  */
 
 /**
- * SPARQL connection service set up for virtuoso and Portal.
+ * SPARQL connection service set up for virtuoso and Interoperable Europe Portal.
  */
 class Connection extends BaseConnection implements ConnectionInterface {
 
diff --git a/web/modules/custom/joinup_sparql/tests/modules/joinup_content_negotiation_test/joinup_content_negotiation_test.info.yml b/web/modules/custom/joinup_sparql/tests/modules/joinup_content_negotiation_test/joinup_content_negotiation_test.info.yml
index 913142c93e..585236a03d 100644
--- a/web/modules/custom/joinup_sparql/tests/modules/joinup_content_negotiation_test/joinup_content_negotiation_test.info.yml
+++ b/web/modules/custom/joinup_sparql/tests/modules/joinup_content_negotiation_test/joinup_content_negotiation_test.info.yml
@@ -1,4 +1,4 @@
-name: 'Portal Content Negotiation  Test'
+name: 'Interoperable Europe Portal Content Negotiation  Test'
 type: module
 description: 'Provides a module for testing content negotiation.'
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_stats/README.md b/web/modules/custom/joinup_stats/README.md
index c4c75a598a..b09b2d69f4 100644
--- a/web/modules/custom/joinup_stats/README.md
+++ b/web/modules/custom/joinup_stats/README.md
@@ -1,4 +1,4 @@
-Portal Stats
+Interoperable Europe Portal Stats
 ============
 
 This module allows entities to store usage statistics in a related meta entity.
diff --git a/web/modules/custom/joinup_stats/config/schema/joinup_stats.schema.yml b/web/modules/custom/joinup_stats/config/schema/joinup_stats.schema.yml
index fdb52f9aed..446aa4fe37 100644
--- a/web/modules/custom/joinup_stats/config/schema/joinup_stats.schema.yml
+++ b/web/modules/custom/joinup_stats/config/schema/joinup_stats.schema.yml
@@ -1,6 +1,6 @@
 meta_entity.type.*.third_party.joinup_stats:
   type: mapping
-  label: 'Portal Statistics settings'
+  label: 'Interoperable Europe Portal Statistics settings'
   mapping:
     matomo_method:
       type: string
diff --git a/web/modules/custom/joinup_stats/joinup_stats.info.yml b/web/modules/custom/joinup_stats/joinup_stats.info.yml
index d4beb3891b..42c388850e 100644
--- a/web/modules/custom/joinup_stats/joinup_stats.info.yml
+++ b/web/modules/custom/joinup_stats/joinup_stats.info.yml
@@ -1,7 +1,7 @@
 name: Statistics
-description: 'Provide statistics for Portal entities.'
+description: 'Provide statistics for Interoperable Europe Portal entities.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_stats/joinup_stats.module b/web/modules/custom/joinup_stats/joinup_stats.module
index 3aec2013ce..eeaf7d68fb 100644
--- a/web/modules/custom/joinup_stats/joinup_stats.module
+++ b/web/modules/custom/joinup_stats/joinup_stats.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Portal Statistics module main file.
+ * Interoperable Europe Portal Statistics module main file.
  */
 
 declare(strict_types=1);
@@ -128,7 +128,7 @@ function joinup_stats_form_meta_entity_type_edit_form_alter(array &$form, FormSt
 
   $form['third_party_settings']['joinup_stats'] = [
     '#type' => 'details',
-    '#title' => t('Portal Statistics'),
+    '#title' => t('Interoperable Europe Portal Statistics'),
     'matomo_method' => [
       '#type' => 'textfield',
       '#title' => t('Matomo method'),
diff --git a/web/modules/custom/joinup_stats/tests/modules/stats_test/config/install/field.field.node.distribution.access_url.yml b/web/modules/custom/joinup_stats/tests/modules/stats_test/config/install/field.field.node.distribution.access_url.yml
index 781ed2c7bf..0b6a673b86 100644
--- a/web/modules/custom/joinup_stats/tests/modules/stats_test/config/install/field.field.node.distribution.access_url.yml
+++ b/web/modules/custom/joinup_stats/tests/modules/stats_test/config/install/field.field.node.distribution.access_url.yml
@@ -16,7 +16,7 @@ field_name: access_url
 entity_type: node
 bundle: distribution
 label: 'Access URL'
-description: 'If the file(s) exist in an external server, you can provide the URL here directly. You can alternatively host your distribution in Portal by using the Distribution file field above.'
+description: 'If the file(s) exist in an external server, you can provide the URL here directly. You can alternatively host your distribution in Interoperable Europe Portal by using the Distribution file field above.'
 required: false
 translatable: false
 default_value: {  }
diff --git a/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.info.yml b/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.info.yml
index 6e850b584d..7fc801996a 100644
--- a/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.info.yml
+++ b/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.info.yml
@@ -1,6 +1,6 @@
 type: module
 name: 'Statistics test'
-description: 'Used to test Portal Statistics.'
+description: 'Used to test Interoperable Europe Portal Statistics.'
 core_version_requirement: ">= 9.4"
 package: Testing
 dependecies:
diff --git a/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.module b/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.module
index 62eb880311..91b9c0287d 100644
--- a/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.module
+++ b/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal Stats test module.
+ * Hook implementations for the Interoperable Europe Portal Stats test module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_subscription/README.md b/web/modules/custom/joinup_subscription/README.md
index 3c8ea24a07..077143b6e8 100644
--- a/web/modules/custom/joinup_subscription/README.md
+++ b/web/modules/custom/joinup_subscription/README.md
@@ -1,7 +1,7 @@
-Portal Subscription
+Interoperable Europe Portal Subscription
 ===================
 
-This module handles subscribing to content in Portal. If a user is subscribed
+This module handles subscribing to content in Interoperable Europe Portal. If a user is subscribed
 they will receive email notifications when new content is being published. At
 the moment there are two distinct subscription systems offered by the module:
 
diff --git a/web/modules/custom/joinup_subscription/config/schema/joinup_subscription.schema.yml b/web/modules/custom/joinup_subscription/config/schema/joinup_subscription.schema.yml
index 9aac3f2c1c..d01a91fb32 100644
--- a/web/modules/custom/joinup_subscription/config/schema/joinup_subscription.schema.yml
+++ b/web/modules/custom/joinup_subscription/config/schema/joinup_subscription.schema.yml
@@ -1,6 +1,6 @@
 joinup_subscription.settings:
   type: config_object
-  label: 'Portal subscription settings'
+  label: 'Interoperable Europe Portal subscription settings'
   mapping:
     frequency:
       type: string
diff --git a/web/modules/custom/joinup_subscription/joinup_subscription.info.yml b/web/modules/custom/joinup_subscription/joinup_subscription.info.yml
index 8c6d7a66dc..425ded24f5 100644
--- a/web/modules/custom/joinup_subscription/joinup_subscription.info.yml
+++ b/web/modules/custom/joinup_subscription/joinup_subscription.info.yml
@@ -1,7 +1,7 @@
-name: Portal subscription
+name: Interoperable Europe Portal subscription
 description: Allows users to subscribe to collection content.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_subscription/joinup_subscription.module b/web/modules/custom/joinup_subscription/joinup_subscription.module
index 85a5c0d356..978f95fe12 100644
--- a/web/modules/custom/joinup_subscription/joinup_subscription.module
+++ b/web/modules/custom/joinup_subscription/joinup_subscription.module
@@ -135,7 +135,7 @@ function joinup_subscription_mail_alter(array &$message): void {
     $notifier = $message['params']['notifier'] ?? NULL;
     if ($notifier instanceof MessageNotifierInterface) {
       $interval = $notifier->getPluginDefinition()['title'];
-      $message['subject'] = t('Portal: @interval digest message', [
+      $message['subject'] = t('Interoperable Europe Portal: @interval digest message', [
         '@interval' => $interval,
       ]);
     }
diff --git a/web/modules/custom/joinup_subscription/src/EventSubscriber/GroupContentSubscriptionSubscriber.php b/web/modules/custom/joinup_subscription/src/EventSubscriber/GroupContentSubscriptionSubscriber.php
index 36c0d9edf6..f97c0e33f7 100644
--- a/web/modules/custom/joinup_subscription/src/EventSubscriber/GroupContentSubscriptionSubscriber.php
+++ b/web/modules/custom/joinup_subscription/src/EventSubscriber/GroupContentSubscriptionSubscriber.php
@@ -32,7 +32,7 @@ class GroupContentSubscriptionSubscriber implements EventSubscriberInterface {
   protected $entityTypeManager;
 
   /**
-   * The Portal message delivery service.
+   * The Interoperable Europe Portal message delivery service.
    *
    * @var \Drupal\joinup_notification\JoinupMessageDeliveryInterface
    */
@@ -51,7 +51,7 @@ class GroupContentSubscriptionSubscriber implements EventSubscriberInterface {
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entityTypeManager
    *   The entity type manager.
    * @param \Drupal\joinup_notification\JoinupMessageDeliveryInterface $joinupMessageDelivery
-   *   The Portal message delivery service.
+   *   The Interoperable Europe Portal message delivery service.
    * @param \Drupal\Core\Logger\LoggerChannelFactoryInterface $logger
    *   The logger channel factory.
    */
diff --git a/web/modules/custom/joinup_subscription/src/Form/SubscriptionsForm.php b/web/modules/custom/joinup_subscription/src/Form/SubscriptionsForm.php
index 4351d3225c..56e63661bc 100644
--- a/web/modules/custom/joinup_subscription/src/Form/SubscriptionsForm.php
+++ b/web/modules/custom/joinup_subscription/src/Form/SubscriptionsForm.php
@@ -23,7 +23,7 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Provides a Portal subscription form.
+ * Provides a Interoperable Europe Portal subscription form.
  */
 class SubscriptionsForm extends FormBase {
 
@@ -42,7 +42,7 @@ class SubscriptionsForm extends FormBase {
   protected EntityTypeBundleInfoInterface $entityTypeBundleInfo;
 
   /**
-   * The Portal group manager service.
+   * The Interoperable Europe Portal group manager service.
    *
    * @var \Drupal\joinup_group\JoinupGroupManagerInterface
    */
@@ -63,7 +63,7 @@ class SubscriptionsForm extends FormBase {
    * @param \Drupal\Core\Entity\EntityTypeBundleInfoInterface $entityTypeBundleInfo
    *   The entity type bundle info service.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $groupManager
-   *   The Portal group manager service.
+   *   The Interoperable Europe Portal group manager service.
    * @param \Drupal\og\MembershipManagerInterface $membershipManager
    *   The OG membership manager.
    */
diff --git a/web/modules/custom/joinup_subscription/src/JoinupDiscussionSubscription.php b/web/modules/custom/joinup_subscription/src/JoinupDiscussionSubscription.php
index 0b86fb96e1..93d15d018b 100644
--- a/web/modules/custom/joinup_subscription/src/JoinupDiscussionSubscription.php
+++ b/web/modules/custom/joinup_subscription/src/JoinupDiscussionSubscription.php
@@ -31,7 +31,7 @@ class JoinupDiscussionSubscription implements JoinupDiscussionSubscriptionInterf
   protected $flagService;
 
   /**
-   * Constructs a new Portal subscription service.
+   * Constructs a new Interoperable Europe Portal subscription service.
    *
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The entity type manager service.
diff --git a/web/modules/custom/joinup_subscription/src/JoinupSubscriptionsHelper.php b/web/modules/custom/joinup_subscription/src/JoinupSubscriptionsHelper.php
index 8f1300fcb7..30745e3f3d 100644
--- a/web/modules/custom/joinup_subscription/src/JoinupSubscriptionsHelper.php
+++ b/web/modules/custom/joinup_subscription/src/JoinupSubscriptionsHelper.php
@@ -7,7 +7,7 @@
 use Drupal\joinup_community_content\CommunityContentHelper;
 
 /**
- * Helper class for Portal subscriptions.
+ * Helper class for Interoperable Europe Portal subscriptions.
  */
 class JoinupSubscriptionsHelper {
 
diff --git a/web/modules/custom/joinup_subscription/src/Plugin/Field/FieldType/EntityBundlePairItem.php b/web/modules/custom/joinup_subscription/src/Plugin/Field/FieldType/EntityBundlePairItem.php
index 512446d455..79ec851f9b 100644
--- a/web/modules/custom/joinup_subscription/src/Plugin/Field/FieldType/EntityBundlePairItem.php
+++ b/web/modules/custom/joinup_subscription/src/Plugin/Field/FieldType/EntityBundlePairItem.php
@@ -16,7 +16,7 @@
  * This is a pseudo reference field that references bundles by storing the
  * entity type and the bundle machine name.
  *
- * @todo If this is useful for other subsystems in Portal this can be split off
+ * @todo If this is useful for other subsystems in Interoperable Europe Portal this can be split off
  *   to a separate module.
  *
  * @FieldType(
diff --git a/web/modules/custom/joinup_taxonomy/config/schema/joinup_taxonomy.schema.yml b/web/modules/custom/joinup_taxonomy/config/schema/joinup_taxonomy.schema.yml
index 7e4a92b379..edcc5389d9 100644
--- a/web/modules/custom/joinup_taxonomy/config/schema/joinup_taxonomy.schema.yml
+++ b/web/modules/custom/joinup_taxonomy/config/schema/joinup_taxonomy.schema.yml
@@ -1,6 +1,6 @@
 taxonomy.vocabulary.*.third_party.joinup_taxonomy:
   type: mapping
-  label: 'Portal Taxonomy third party settings'
+  label: 'Interoperable Europe Portal Taxonomy third party settings'
   mapping:
     locked:
       type: boolean
diff --git a/web/modules/custom/joinup_taxonomy/joinup_taxonomy.info.yml b/web/modules/custom/joinup_taxonomy/joinup_taxonomy.info.yml
index 351ddaa4d9..1c18ac22a2 100644
--- a/web/modules/custom/joinup_taxonomy/joinup_taxonomy.info.yml
+++ b/web/modules/custom/joinup_taxonomy/joinup_taxonomy.info.yml
@@ -1,7 +1,7 @@
-name: Portal Taxonomy
+name: Interoperable Europe Portal Taxonomy
 description: Customizing the core's Taxonomy module.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - drupal:taxonomy
diff --git a/web/modules/custom/joinup_taxonomy/joinup_taxonomy.module b/web/modules/custom/joinup_taxonomy/joinup_taxonomy.module
index 36f0fe7685..af934e3240 100644
--- a/web/modules/custom/joinup_taxonomy/joinup_taxonomy.module
+++ b/web/modules/custom/joinup_taxonomy/joinup_taxonomy.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for Portal taxonomy module.
+ * Hook implementations for Interoperable Europe Portal taxonomy module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_test/joinup_test.info.yml b/web/modules/custom/joinup_test/joinup_test.info.yml
index 0d2474c4da..4b981364ae 100644
--- a/web/modules/custom/joinup_test/joinup_test.info.yml
+++ b/web/modules/custom/joinup_test/joinup_test.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal Test'
-description: 'Contains functionality to test Portal.'
+name: 'Interoperable Europe Portal Test'
+description: 'Contains functionality to test Interoperable Europe Portal.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - http_request_mock:http_request_mock
diff --git a/web/modules/custom/joinup_test/joinup_test.install b/web/modules/custom/joinup_test/joinup_test.install
index cbe13cf994..66dc783714 100644
--- a/web/modules/custom/joinup_test/joinup_test.install
+++ b/web/modules/custom/joinup_test/joinup_test.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update and uninstall hooks for Portal Test module.
+ * Install, update and uninstall hooks for Interoperable Europe Portal Test module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_test/joinup_test.module b/web/modules/custom/joinup_test/joinup_test.module
index 08f75aca78..4425b7f1d6 100644
--- a/web/modules/custom/joinup_test/joinup_test.module
+++ b/web/modules/custom/joinup_test/joinup_test.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for Portal Test module.
+ * Hook implementations for Interoperable Europe Portal Test module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_test/tests/src/ExistingSite/JoinupExistingSiteTestBase.php b/web/modules/custom/joinup_test/tests/src/ExistingSite/JoinupExistingSiteTestBase.php
index f4f8ed3850..5b03ef53d2 100644
--- a/web/modules/custom/joinup_test/tests/src/ExistingSite/JoinupExistingSiteTestBase.php
+++ b/web/modules/custom/joinup_test/tests/src/ExistingSite/JoinupExistingSiteTestBase.php
@@ -13,7 +13,7 @@
 use weitzman\DrupalTestTraits\ExistingSiteBase;
 
 /**
- * Base class for Portal ExistingSite tests.
+ * Base class for Interoperable Europe Portal ExistingSite tests.
  */
 abstract class JoinupExistingSiteTestBase extends ExistingSiteBase {
 
diff --git a/web/modules/custom/joinup_test/tests/src/Kernel/JoinupKernelTestBase.php b/web/modules/custom/joinup_test/tests/src/Kernel/JoinupKernelTestBase.php
index a3b6b30b9a..4e1f39d5b1 100644
--- a/web/modules/custom/joinup_test/tests/src/Kernel/JoinupKernelTestBase.php
+++ b/web/modules/custom/joinup_test/tests/src/Kernel/JoinupKernelTestBase.php
@@ -7,7 +7,7 @@
 use Drupal\Tests\rdf_entity\Kernel\RdfKernelTestBase;
 
 /**
- * Provides a base class for entity tests in Portal.
+ * Provides a base class for entity tests in Interoperable Europe Portal.
  *
  * This class is not intended for generic kernel tests but only for entity
  * tests. It will be renamed to JoinupEntityKernelTestBase to avoid confusion.
diff --git a/web/modules/custom/joinup_tiles/joinup_tiles.info.yml b/web/modules/custom/joinup_tiles/joinup_tiles.info.yml
index 4b11d17f65..fca20779cc 100644
--- a/web/modules/custom/joinup_tiles/joinup_tiles.info.yml
+++ b/web/modules/custom/joinup_tiles/joinup_tiles.info.yml
@@ -1,5 +1,5 @@
-name: Portal Tiles
-description: Tiles components for Portal
+name: Interoperable Europe Portal Tiles
+description: Tiles components for Interoperable Europe Portal
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_tiles/joinup_tiles.module b/web/modules/custom/joinup_tiles/joinup_tiles.module
index 7cd44c274b..ee1a106bbf 100644
--- a/web/modules/custom/joinup_tiles/joinup_tiles.module
+++ b/web/modules/custom/joinup_tiles/joinup_tiles.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal Tiles module.
+ * Hook implementations for the Interoperable Europe Portal Tiles module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_tiles/src/Plugin/views/style/Tiles.php b/web/modules/custom/joinup_tiles/src/Plugin/views/style/Tiles.php
index 3dbd241ec1..64d072dac8 100644
--- a/web/modules/custom/joinup_tiles/src/Plugin/views/style/Tiles.php
+++ b/web/modules/custom/joinup_tiles/src/Plugin/views/style/Tiles.php
@@ -9,7 +9,7 @@
 /**
  * A Views style that renders markup for "Tiles".
  *
- * A "tile" is Portal terminology for a "card".
+ * A "tile" is Interoperable Europe Portal terminology for a "card".
  *
  * How to use this:
  * 1. Create a view that uses the 'Tiles' style (called 'format' in the UI).
diff --git a/web/modules/custom/joinup_tour/joinup_tour.info.yml b/web/modules/custom/joinup_tour/joinup_tour.info.yml
index 022b40110f..5d04b484f5 100644
--- a/web/modules/custom/joinup_tour/joinup_tour.info.yml
+++ b/web/modules/custom/joinup_tour/joinup_tour.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal Tour'
-description: 'Contains tours for Portal.'
+name: 'Interoperable Europe Portal Tour'
+description: 'Contains tours for Interoperable Europe Portal.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_tour/joinup_tour.module b/web/modules/custom/joinup_tour/joinup_tour.module
index 0e89e66b1e..ee783bdf6c 100644
--- a/web/modules/custom/joinup_tour/joinup_tour.module
+++ b/web/modules/custom/joinup_tour/joinup_tour.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal Tour module.
+ * Hook implementations for the Interoperable Europe Portal Tour module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_tour/src/TourHelper.php b/web/modules/custom/joinup_tour/src/TourHelper.php
index 23750b91bc..6fa630b3ee 100644
--- a/web/modules/custom/joinup_tour/src/TourHelper.php
+++ b/web/modules/custom/joinup_tour/src/TourHelper.php
@@ -8,7 +8,7 @@
 use Drupal\Core\Routing\RouteMatchInterface;
 
 /**
- * Helper methods for dealing with tours on Portal.
+ * Helper methods for dealing with tours on Interoperable Europe Portal.
  */
 class TourHelper implements TourHelperInterface {
 
diff --git a/web/modules/custom/joinup_tour/src/TourHelperInterface.php b/web/modules/custom/joinup_tour/src/TourHelperInterface.php
index 45c82fdfc3..99423fdf5a 100644
--- a/web/modules/custom/joinup_tour/src/TourHelperInterface.php
+++ b/web/modules/custom/joinup_tour/src/TourHelperInterface.php
@@ -5,7 +5,7 @@
 namespace Drupal\joinup_tour;
 
 /**
- * Helper methods for dealing with tours on Portal.
+ * Helper methods for dealing with tours on Interoperable Europe Portal.
  */
 interface TourHelperInterface {
 
diff --git a/web/modules/custom/joinup_user/config/install/joinup_user.mail.yml b/web/modules/custom/joinup_user/config/install/joinup_user.mail.yml
index c91df72750..ded8be3b7e 100644
--- a/web/modules/custom/joinup_user/config/install/joinup_user.mail.yml
+++ b/web/modules/custom/joinup_user/config/install/joinup_user.mail.yml
@@ -1,6 +1,6 @@
 email_admin_update:
-  body: "Dear [user:display-name],\n\nA moderator has edited your user profile on Portal. Please check your profile to verify the changes done.\n\nKind regards,\n\nThe Portal Support Team"
+  body: "Dear [user:display-name],\n\nA moderator has edited your user profile on Interoperable Europe Portal. Please check your profile to verify the changes done.\n\nKind regards,\n\nThe Portal Support Team"
   subject: 'The Portal Support Team updated your account for you at [site:name]'
 password_reset_confirm:
   subject: 'Your password has been changed'
-  body: "Dear [user:field_user_first_name],\n\nYour Portal password has been successfully changed.\n\nKind regards,\n\nThe Portal Support Team"
+  body: "Dear [user:field_user_first_name],\n\nYour Interoperable Europe Portal password has been successfully changed.\n\nKind regards,\n\nThe Portal Support Team"
diff --git a/web/modules/custom/joinup_user/config/schema/joinup_user.schema.yml b/web/modules/custom/joinup_user/config/schema/joinup_user.schema.yml
index 37851d5bf3..de3071c94d 100644
--- a/web/modules/custom/joinup_user/config/schema/joinup_user.schema.yml
+++ b/web/modules/custom/joinup_user/config/schema/joinup_user.schema.yml
@@ -1,4 +1,4 @@
-# Schema for the configuration files of the Portal user module.
+# Schema for the configuration files of the Interoperable Europe Portal user module.
 joinup_user.mail:
   type: config_object
   label: 'Email settings'
@@ -16,4 +16,4 @@ views.filter.user_tristate_status:
 
 views.field.joinup_user_bulk_form:
   type: views.field.user_bulk_form
-  label: 'Portal user operations bulk form'
+  label: 'Interoperable Europe Portal user operations bulk form'
diff --git a/web/modules/custom/joinup_user/joinup_user.info.yml b/web/modules/custom/joinup_user/joinup_user.info.yml
index 11a00a18be..ce841289ae 100644
--- a/web/modules/custom/joinup_user/joinup_user.info.yml
+++ b/web/modules/custom/joinup_user/joinup_user.info.yml
@@ -1,7 +1,7 @@
-name: 'Portal user'
+name: 'Interoperable Europe Portal user'
 description: 'User profile fields, user notifications, ...'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_user/joinup_user.install b/web/modules/custom/joinup_user/joinup_user.install
index d26cc369c3..859da8bbea 100644
--- a/web/modules/custom/joinup_user/joinup_user.install
+++ b/web/modules/custom/joinup_user/joinup_user.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install functions of the Portal user module.
+ * Install functions of the Interoperable Europe Portal user module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_user/joinup_user.module b/web/modules/custom/joinup_user/joinup_user.module
index 5ca6bfb0a9..8ca884812e 100644
--- a/web/modules/custom/joinup_user/joinup_user.module
+++ b/web/modules/custom/joinup_user/joinup_user.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main functions and hook implementations of the Portal user module.
+ * Main functions and hook implementations of the Interoperable Europe Portal user module.
  */
 
 declare(strict_types=1);
@@ -152,7 +152,7 @@ function joinup_user_mail_alter(&$message): void {
     $moderation_text = '</p><p>';
   }
   else {
-    $moderation_text = '</p><p>This action has been done in the framework of moderation activities regularly conducted on the Portal platform.</p><p>';
+    $moderation_text = '</p><p>This action has been done in the framework of moderation activities regularly conducted on the Interoperable Europe Portal platform.</p><p>';
   }
 
   $message['body'] = array_map(function ($text) use ($moderation_text) {
diff --git a/web/modules/custom/joinup_user/src/JoinupUserViewsData.php b/web/modules/custom/joinup_user/src/JoinupUserViewsData.php
index 0567dc01a9..4c182a9d98 100644
--- a/web/modules/custom/joinup_user/src/JoinupUserViewsData.php
+++ b/web/modules/custom/joinup_user/src/JoinupUserViewsData.php
@@ -7,7 +7,7 @@
 use Drupal\user\UserViewsData;
 
 /**
- * Provides the views data for the Portal user entity type.
+ * Provides the views data for the Interoperable Europe Portal user entity type.
  */
 class JoinupUserViewsData extends UserViewsData {
 
diff --git a/web/modules/custom/joinup_user/src/Plugin/Block/WarningMessageBlock.php b/web/modules/custom/joinup_user/src/Plugin/Block/WarningMessageBlock.php
index 53065f3202..04f2850a67 100644
--- a/web/modules/custom/joinup_user/src/Plugin/Block/WarningMessageBlock.php
+++ b/web/modules/custom/joinup_user/src/Plugin/Block/WarningMessageBlock.php
@@ -17,7 +17,7 @@
 #[Block(
   id: "developer_warning_message",
   admin_label: new TranslatableMarkup("Developers warning message"),
-  category: new TranslatableMarkup("Portal"),
+  category: new TranslatableMarkup("Interoperable Europe Portal"),
 )]
 final class WarningMessageBlock extends BlockBase {
 
diff --git a/web/modules/custom/joinup_user/src/Plugin/views/field/JoinupUserBulkForm.php b/web/modules/custom/joinup_user/src/Plugin/views/field/JoinupUserBulkForm.php
index ee5ef04588..b546b62dae 100644
--- a/web/modules/custom/joinup_user/src/Plugin/views/field/JoinupUserBulkForm.php
+++ b/web/modules/custom/joinup_user/src/Plugin/views/field/JoinupUserBulkForm.php
@@ -62,7 +62,7 @@ class JoinupUserBulkForm extends RoleDelegationUserBulkForm {
    * @param \Drupal\Core\Session\AccountInterface $currentUser
    *   The currently logged in user.
    * @param \Drupal\joinup_user\JoinupUserNotificationHelperInterface $notificationHelper
-   *   The notification helper for the Portal User module.
+   *   The notification helper for the Interoperable Europe Portal User module.
    *
    * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
    * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
diff --git a/web/modules/custom/joinup_validation/joinup_validation.info.yml b/web/modules/custom/joinup_validation/joinup_validation.info.yml
index 7819a6ee28..93f9bf800a 100644
--- a/web/modules/custom/joinup_validation/joinup_validation.info.yml
+++ b/web/modules/custom/joinup_validation/joinup_validation.info.yml
@@ -1,5 +1,5 @@
-name: 'Portal Validation'
-description: 'Validation constraints that are useful for Portal.'
+name: 'Interoperable Europe Portal Validation'
+description: 'Validation constraints that are useful for Interoperable Europe Portal.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_video/joinup_video.info.yml b/web/modules/custom/joinup_video/joinup_video.info.yml
index 28b122e787..a6a2e7735c 100644
--- a/web/modules/custom/joinup_video/joinup_video.info.yml
+++ b/web/modules/custom/joinup_video/joinup_video.info.yml
@@ -1,5 +1,5 @@
-name: Portal video
+name: Interoperable Europe Portal video
 description: Provides video functionality
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_video/joinup_video.install b/web/modules/custom/joinup_video/joinup_video.install
index 344613ddb9..98c0d9b162 100644
--- a/web/modules/custom/joinup_video/joinup_video.install
+++ b/web/modules/custom/joinup_video/joinup_video.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Post-update functions for Portal Video module.
+ * Post-update functions for Interoperable Europe Portal Video module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_workflow/README.md b/web/modules/custom/joinup_workflow/README.md
index 4c60d56f66..75b7b7ed3b 100644
--- a/web/modules/custom/joinup_workflow/README.md
+++ b/web/modules/custom/joinup_workflow/README.md
@@ -85,7 +85,7 @@ the module, it needs to be defined in its schema. The structure of the file is:
 #    this action.
 <module_name>.settings:
   type: config_object
-  label: 'Portal workflow permission settings'
+  label: 'Interoperable Europe Portal workflow permission settings'
   mapping:
     transitions:
       type: sequence
diff --git a/web/modules/custom/joinup_workflow/joinup_workflow.info.yml b/web/modules/custom/joinup_workflow/joinup_workflow.info.yml
index 1079c96f7a..9e5a943114 100644
--- a/web/modules/custom/joinup_workflow/joinup_workflow.info.yml
+++ b/web/modules/custom/joinup_workflow/joinup_workflow.info.yml
@@ -1,5 +1,5 @@
-name: Portal Workflow
-description: Shared code for handling workflows in Portal.
+name: Interoperable Europe Portal Workflow
+description: Shared code for handling workflows in Interoperable Europe Portal.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_workflow/joinup_workflow.module b/web/modules/custom/joinup_workflow/joinup_workflow.module
index 6fc173ebc7..5237ffe9bc 100644
--- a/web/modules/custom/joinup_workflow/joinup_workflow.module
+++ b/web/modules/custom/joinup_workflow/joinup_workflow.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Portal workflow module.
+ * Hook implementations for the Interoperable Europe Portal workflow module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/legal/joinup_legal.info.yml b/web/modules/custom/legal/joinup_legal.info.yml
index 5972e5e622..4a5a8ddbc3 100644
--- a/web/modules/custom/legal/joinup_legal.info.yml
+++ b/web/modules/custom/legal/joinup_legal.info.yml
@@ -1,7 +1,7 @@
 name: Legal
-description: 'Deals with the legal aspects of using Portal as an end-user.'
+description: 'Deals with the legal aspects of using Interoperable Europe Portal as an end-user.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/legal/joinup_legal.install b/web/modules/custom/legal/joinup_legal.install
index 95b2ae1321..be758cd71b 100644
--- a/web/modules/custom/legal/joinup_legal.install
+++ b/web/modules/custom/legal/joinup_legal.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update and uninstall functionality for Portal Legal module.
+ * Install, update and uninstall functionality for Interoperable Europe Portal Legal module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/legal/joinup_legal.module b/web/modules/custom/legal/joinup_legal.module
index 74a2de5120..498e717e46 100644
--- a/web/modules/custom/legal/joinup_legal.module
+++ b/web/modules/custom/legal/joinup_legal.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains the Portal Legal module main file.
+ * Contains the Interoperable Europe Portal Legal module main file.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/moderation/moderation.info.yml b/web/modules/custom/moderation/moderation.info.yml
index dfe184d4df..8347660b22 100644
--- a/web/modules/custom/moderation/moderation.info.yml
+++ b/web/modules/custom/moderation/moderation.info.yml
@@ -1,7 +1,7 @@
 name: Moderation
 description: Provides a moderation overview.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/oe_gisco_geocoding/README.md b/web/modules/custom/oe_gisco_geocoding/README.md
index fed739f64b..e6b86b3b87 100644
--- a/web/modules/custom/oe_gisco_geocoding/README.md
+++ b/web/modules/custom/oe_gisco_geocoding/README.md
@@ -1,2 +1,2 @@
-This module is temporarily hosted in Portal but will be moved in OpenEuropa
+This module is temporarily hosted in Interoperable Europe Portal but will be moved in OpenEuropa
 space. See https://github.com/openeuropa/oe_gisco_geocoding/pull/1.
diff --git a/web/modules/custom/owner/owner.info.yml b/web/modules/custom/owner/owner.info.yml
index 00e519eae5..c4787fbe3d 100644
--- a/web/modules/custom/owner/owner.info.yml
+++ b/web/modules/custom/owner/owner.info.yml
@@ -1,7 +1,7 @@
 name: Owner
-description: 'Provides Owners for the Portal project.'
+description: 'Provides Owners for the Interoperable Europe Portal project.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/owner/src/Entity/OwnerInterface.php b/web/modules/custom/owner/src/Entity/OwnerInterface.php
index 1912715826..b1c2e58bab 100644
--- a/web/modules/custom/owner/src/Entity/OwnerInterface.php
+++ b/web/modules/custom/owner/src/Entity/OwnerInterface.php
@@ -9,7 +9,7 @@
 use Drupal\node\NodeInterface;
 
 /**
- * Interface for owner entities in Portal.
+ * Interface for owner entities in Interoperable Europe Portal.
  */
 interface OwnerInterface extends NodeInterface, EntityWorkflowStateInterface, RdfSyncEntityInterface {
 
diff --git a/web/modules/custom/solution/solution.info.yml b/web/modules/custom/solution/solution.info.yml
index 273dfeebd3..09b611e4ba 100644
--- a/web/modules/custom/solution/solution.info.yml
+++ b/web/modules/custom/solution/solution.info.yml
@@ -1,7 +1,7 @@
 name: Solution
 description: 'The interoperability solution RDF entity.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/solution/src/Entity/SolutionInterface.php b/web/modules/custom/solution/src/Entity/SolutionInterface.php
index 20e173d9b6..a115336e72 100644
--- a/web/modules/custom/solution/src/Entity/SolutionInterface.php
+++ b/web/modules/custom/solution/src/Entity/SolutionInterface.php
@@ -18,7 +18,7 @@
 use Drupal\rdf_entity\RdfInterface;
 
 /**
- * Interface for solution entities in Portal.
+ * Interface for solution entities in Interoperable Europe Portal.
  */
 interface SolutionInterface extends RdfInterface, CollectionContentInterface, EntityPublicationTimeInterface, EntityWorkflowStateInterface, FeaturedContentInterface, PinnableGroupContentInterface, GroupInterface, DistributionsParentInterface, ArchivableEntityInterface, DescriptionInterface, AbstractInterface {
 
diff --git a/web/modules/custom/solution/src/EventSubscriber/SolutionGroupSubscriber.php b/web/modules/custom/solution/src/EventSubscriber/SolutionGroupSubscriber.php
index adfda2fc15..64cdcd4f68 100644
--- a/web/modules/custom/solution/src/EventSubscriber/SolutionGroupSubscriber.php
+++ b/web/modules/custom/solution/src/EventSubscriber/SolutionGroupSubscriber.php
@@ -9,7 +9,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Portal Group events.
+ * Subscribes to Interoperable Europe Portal Group events.
  */
 class SolutionGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/solution/src/Form/ChangeCollectionForm.php b/web/modules/custom/solution/src/Form/ChangeCollectionForm.php
index 5ed1e57122..e7fe97f3df 100644
--- a/web/modules/custom/solution/src/Form/ChangeCollectionForm.php
+++ b/web/modules/custom/solution/src/Form/ChangeCollectionForm.php
@@ -41,7 +41,7 @@ class ChangeCollectionForm extends FormBase {
   protected $selectionPluginManager;
 
   /**
-   * The Portal logger channel.
+   * The Interoperable Europe Portal logger channel.
    *
    * @var \Drupal\Core\Logger\LoggerChannelInterface
    */
diff --git a/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php b/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php
index 7c1de909f1..e80eff1cb8 100644
--- a/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php
+++ b/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php
@@ -153,7 +153,7 @@ public function submitForm(array &$form, FormStateInterface $form_state): void {
         )
       );
 
-      // In Portal, Search API indexes are updated "immediately". Actually, this
+      // In Interoperable Europe Portal, Search API indexes are updated "immediately". Actually, this
       // means that when an indexed entity is changed (or an entity is added) in
       // a PHP thread, re-indexing is triggered by
       // \Drupal\search_api\Utility\PostRequestIndexing after the response is
diff --git a/web/modules/custom/template_suggestion/template_suggestion.info.yml b/web/modules/custom/template_suggestion/template_suggestion.info.yml
index c88ef9b7d8..a36a59698f 100644
--- a/web/modules/custom/template_suggestion/template_suggestion.info.yml
+++ b/web/modules/custom/template_suggestion/template_suggestion.info.yml
@@ -1,5 +1,5 @@
 name: 'Template suggestion'
 description: 'Allows fields to declare custom template suggestions in third party settings.'
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/topic/src/Entity/TopicInterface.php b/web/modules/custom/topic/src/Entity/TopicInterface.php
index fb2fec126b..5bbb8f2f3b 100644
--- a/web/modules/custom/topic/src/Entity/TopicInterface.php
+++ b/web/modules/custom/topic/src/Entity/TopicInterface.php
@@ -8,6 +8,6 @@
 use Drupal\taxonomy\TermInterface;
 
 /**
- * Interface for topic entities in Portal.
+ * Interface for topic entities in Interoperable Europe Portal.
  */
 interface TopicInterface extends TermInterface, RdfSyncEntityInterface {}
diff --git a/web/modules/custom/topic/src/Entity/TopicMetaEntityInterface.php b/web/modules/custom/topic/src/Entity/TopicMetaEntityInterface.php
index 07d2941ea6..d1c262be4a 100644
--- a/web/modules/custom/topic/src/Entity/TopicMetaEntityInterface.php
+++ b/web/modules/custom/topic/src/Entity/TopicMetaEntityInterface.php
@@ -7,7 +7,7 @@
 use Drupal\meta_entity\Entity\MetaEntityInterface;
 
 /**
- * Interface for meta entity topic in Portal.
+ * Interface for meta entity topic in Interoperable Europe Portal.
  */
 interface TopicMetaEntityInterface extends MetaEntityInterface {
 }
diff --git a/web/modules/custom/topic/src/EventSubscriber/QueryPresetSubscriber.php b/web/modules/custom/topic/src/EventSubscriber/QueryPresetSubscriber.php
index b4ff71b221..c1953b6dff 100644
--- a/web/modules/custom/topic/src/EventSubscriber/QueryPresetSubscriber.php
+++ b/web/modules/custom/topic/src/EventSubscriber/QueryPresetSubscriber.php
@@ -10,7 +10,7 @@
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 
 /**
- * Portal Topic event subscriber.
+ * Interoperable Europe Portal Topic event subscriber.
  */
 class QueryPresetSubscriber implements EventSubscriberInterface {
 
diff --git a/web/modules/custom/topic/topic.info.yml b/web/modules/custom/topic/topic.info.yml
index 882d42ab08..34b9f8dae4 100644
--- a/web/modules/custom/topic/topic.info.yml
+++ b/web/modules/custom/topic/topic.info.yml
@@ -1,7 +1,7 @@
-name: Portal Topic
+name: Interoperable Europe Portal Topic
 type: module
 description: Contains custom code related to the Topic vocabulary.
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 dependencies:
   - joinup:joinup_taxonomy
diff --git a/web/modules/custom/topic/topic.views.inc b/web/modules/custom/topic/topic.views.inc
index 76c5e8ab78..b351e378a1 100644
--- a/web/modules/custom/topic/topic.views.inc
+++ b/web/modules/custom/topic/topic.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Views support for Portal Topic module.
+ * Views support for Interoperable Europe Portal Topic module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/whats_new/whats_new.info.yml b/web/modules/custom/whats_new/whats_new.info.yml
index 0911e58bc5..1d7a05a9c0 100644
--- a/web/modules/custom/whats_new/whats_new.info.yml
+++ b/web/modules/custom/whats_new/whats_new.info.yml
@@ -1,7 +1,7 @@
 name: Whats new
 description: Provides a way to feature a menu item and remember users that visited the entity linked.
 type: module
-package: Portal
+package: Interoperable Europe Portal
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/whats_new/whats_new.module b/web/modules/custom/whats_new/whats_new.module
index 61c118ca02..1d0e65a552 100644
--- a/web/modules/custom/whats_new/whats_new.module
+++ b/web/modules/custom/whats_new/whats_new.module
@@ -24,7 +24,7 @@ function whats_new_entity_prepare_view(string $entity_type_id, array $entities,
     return;
   }
 
-  // The only case in Portal that the entity is presented in full view is the
+  // The only case in Interoperable Europe Portal that the entity is presented in full view is the
   // entity's canonical page.
   /** @var \Drupal\Core\Entity\EntityInterface $entity */
   $entity = reset($entities);
diff --git a/web/profiles/joinup/joinup.info.yml b/web/profiles/joinup/joinup.info.yml
index a15b4be3b1..17400e3b5d 100644
--- a/web/profiles/joinup/joinup.info.yml
+++ b/web/profiles/joinup/joinup.info.yml
@@ -1,10 +1,10 @@
-name: Portal
+name: Interoperable Europe Portal
 type: profile
-description: 'Portal is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other.'
+description: 'Interoperable Europe Portal is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other.'
 core_version_requirement: ">= 9.4"
 
 distribution:
-  name: Portal
+  name: Interoperable Europe Portal
 themes:
   - ventuno
   - iop
diff --git a/web/profiles/joinup/joinup.links.menu.yml b/web/profiles/joinup/joinup.links.menu.yml
index 4b1a93f9b5..cef613ecca 100644
--- a/web/profiles/joinup/joinup.links.menu.yml
+++ b/web/profiles/joinup/joinup.links.menu.yml
@@ -1,7 +1,7 @@
 joinup.admin_reporting:
   route_name: joinup.admin_reporting
   parent: system.admin
-  description: 'Access Portal reports.'
+  description: 'Access Interoperable Europe Portal reports.'
   title: 'Reporting'
   weight: 75
 
diff --git a/web/profiles/joinup/joinup.permissions.yml b/web/profiles/joinup/joinup.permissions.yml
index 133b1d2bde..92719bc8cf 100644
--- a/web/profiles/joinup/joinup.permissions.yml
+++ b/web/profiles/joinup/joinup.permissions.yml
@@ -5,8 +5,8 @@
   title: 'Alter parent groups of group content'
 
 access joinup reports:
-  title: 'Access Portal reports'
-  description: 'Users granted with this permission are able to access the Portal reports.'
+  title: 'Access Interoperable Europe Portal reports'
+  description: 'Users granted with this permission are able to access the Interoperable Europe Portal reports.'
 
 # Move in joinup_reports module in ISAICP-7180.
 # See https://citnet.tech.ec.europa.eu/CITnet/jira/browse/ISAICP-7180.
diff --git a/web/profiles/joinup/joinup.profile b/web/profiles/joinup/joinup.profile
index 80ca8919e4..b1c09fa1a7 100644
--- a/web/profiles/joinup/joinup.profile
+++ b/web/profiles/joinup/joinup.profile
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Enables modules and site configuration for the Portal profile.
+ * Enables modules and site configuration for the Interoperable Europe Portal profile.
  */
 
 declare(strict_types=1);
diff --git a/web/profiles/joinup/joinup.routing.yml b/web/profiles/joinup/joinup.routing.yml
index 904f8b1f32..747feefe26 100644
--- a/web/profiles/joinup/joinup.routing.yml
+++ b/web/profiles/joinup/joinup.routing.yml
@@ -1,6 +1,6 @@
-# The route definition of the Collection propose form is located in the Portal
+# The route definition of the Collection propose form is located in the Interoperable Europe Portal
 # profile rather than in the Collection module to avoid a circular dependency.
-# This route depends on the JoinupController, but Portal already depends on the
+# This route depends on the JoinupController, but Interoperable Europe Portal already depends on the
 # Collection module.
 rdf_entity.propose_form:
   path: '/propose/{rdf_type}'
diff --git a/web/profiles/joinup/src/Controller/JoinupController.php b/web/profiles/joinup/src/Controller/JoinupController.php
index 9ddbfb6e9b..bc45d030df 100644
--- a/web/profiles/joinup/src/Controller/JoinupController.php
+++ b/web/profiles/joinup/src/Controller/JoinupController.php
@@ -10,7 +10,7 @@
 use Drupal\rdf_entity\RdfEntityTypeInterface;
 
 /**
- * Provides route responses for Portal.
+ * Provides route responses for Interoperable Europe Portal.
  */
 class JoinupController extends ControllerBase {
 
diff --git a/web/profiles/joinup/src/JoinupPermissions.php b/web/profiles/joinup/src/JoinupPermissions.php
index 27e85eaa07..bd150c8a8f 100644
--- a/web/profiles/joinup/src/JoinupPermissions.php
+++ b/web/profiles/joinup/src/JoinupPermissions.php
@@ -8,7 +8,7 @@
 use Drupal\rdf_entity\Entity\RdfEntityType;
 
 /**
- * Provides dynamic permissions for the Portal installation profile.
+ * Provides dynamic permissions for the Interoperable Europe Portal installation profile.
  */
 class JoinupPermissions {
 
@@ -17,7 +17,7 @@ class JoinupPermissions {
   /**
    * Returns an array of permissions related to Rdf types.
    *
-   * The Portal profile alters a new form display mode into the Rdf entity type,
+   * The Interoperable Europe Portal profile alters a new form display mode into the Rdf entity type,
    * and this provides permissions to use those forms for each type.
    *
    * @return array
diff --git a/web/profiles/joinup/src/Routing/RouteSubscriber.php b/web/profiles/joinup/src/Routing/RouteSubscriber.php
index e6cd92ad07..1b6d7a318a 100644
--- a/web/profiles/joinup/src/Routing/RouteSubscriber.php
+++ b/web/profiles/joinup/src/Routing/RouteSubscriber.php
@@ -8,7 +8,7 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Alters existing routes for Portal specific use cases.
+ * Alters existing routes for Interoperable Europe Portal specific use cases.
  */
 class RouteSubscriber extends RouteSubscriberBase {
 
@@ -16,7 +16,7 @@ class RouteSubscriber extends RouteSubscriberBase {
    * {@inheritdoc}
    */
   protected function alterRoutes(RouteCollection $collection) {
-    // Since all content in Portal is related to a collection we use custom
+    // Since all content in Interoperable Europe Portal is related to a collection we use custom
     // forms that allow people to add content inside a collection. The standard
     // node / RDF entity forms should not be used for creating new content - the
     // group audience fields are hidden and dangling content would be created
diff --git a/web/profiles/joinup/templates/joinup-eligibility-criteria.html.twig b/web/profiles/joinup/templates/joinup-eligibility-criteria.html.twig
index 5ff2599917..1c4b46f0b6 100644
--- a/web/profiles/joinup/templates/joinup-eligibility-criteria.html.twig
+++ b/web/profiles/joinup/templates/joinup-eligibility-criteria.html.twig
@@ -7,11 +7,11 @@
 {% trans %}
 <div class="eligibility-criteria">
     <p>
-        The eligibility criteria for Portal's interoperability solutions have
+        The eligibility criteria for Interoperable Europe Portal's interoperability solutions have
         been redefined. The litmus test considers language, licence, relevance,
         quality, Interface &amp; Location (Services) and Unicity of
-        interoperability solutions submitted for inclusion in the Portal
-        catalogue. By overhauling the Portal catalogue qualification process we
+        interoperability solutions submitted for inclusion in the Interoperable Europe Portal
+        catalogue. By overhauling the Interoperable Europe Portal catalogue qualification process we
         aim to ensure that we list only relevant and reusable solutions in the
         Catalogue. In addition to the criteria, you will also find some
         guidelines below to help you describe the solutions in a way which
@@ -20,7 +20,7 @@
     <h2>The criteria</h2>
     <p>
         We use the term solution to refer to services, specifications, and
-        software. The Portal catalogue will only accept solutions that meet
+        software. The Interoperable Europe Portal catalogue will only accept solutions that meet
         these criteria:
     </p>
     <dl>
@@ -42,7 +42,7 @@
         </dd>
         <dt>Relevance</dt>
         <dd>
-            The Portal catalogue lists solutions that are relevant for public
+            The Interoperable Europe Portal catalogue lists solutions that are relevant for public
             administrations. The solution MUST be, or be planned to be used by
             at least one public administration. The solution provider SHOULD
             explain the link between the solution and a public administration.
@@ -54,7 +54,7 @@
         <dt>Quality</dt>
         <dd>
             To ensure the basic quality of the interoperability solutions on the
-            Portal catalogue, the solutions MUST be described in conformance to
+            Interoperable Europe Portal catalogue, the solutions MUST be described in conformance to
             the latest official release of <a href="https://interoperable-europe.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup">ADMS-AP</a>.
             The description SHALL also follow the compliance guidelines defined
             below as closely as possible.
diff --git a/web/profiles/joinup/templates/joinup-modal-close-button.html.twig b/web/profiles/joinup/templates/joinup-modal-close-button.html.twig
index 14fd698088..2eb734c188 100644
--- a/web/profiles/joinup/templates/joinup-modal-close-button.html.twig
+++ b/web/profiles/joinup/templates/joinup-modal-close-button.html.twig
@@ -1,7 +1,7 @@
 {#
 /**
  * @file
- * The Portal Modal Close Buttonâ„¢.
+ * The Interoperable Europe Portal Modal Close Buttonâ„¢.
  */
 #}
 {%
diff --git a/web/publiccode-editor/app.bundle.js b/web/publiccode-editor/app.bundle.js
index 482ccd862c..07ef532988 100644
--- a/web/publiccode-editor/app.bundle.js
+++ b/web/publiccode-editor/app.bundle.js
@@ -123,7 +123,7 @@ function(e){var t,n,r,i,o,a,s,u,l,c,d,f,p,h,m,g,y,v,b,_="sizzle"+1*new Date,w=e.
  *
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
- */var r=n(0),i=n(286),o=n(577);function a(e){for(var t=arguments.length-1,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);!function(e,t,n,r,i,o,a,s){if(!e){if(e=void 0,void 0===t)e=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,i,o,a,s],l=0;(e=Error(t.replace(/%s/g,function(){return u[l++]}))).name="Invariant Violation"}throw e.framesToPop=1,e}}(!1,"Minified React error #"+e+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",n)}r||a("227");var s=!1,u=null,l=!1,c=null,d={onError:function(e){s=!0,u=e}};function f(e,t,n,r,i,o,a,l,c){s=!1,u=null,function(e,t,n,r,i,o,a,s,u){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(e){this.onError(e)}}.apply(d,arguments)}var p=null,h={};function m(){if(p)for(var e in h){var t=h[e],n=p.indexOf(e);if(-1<n||a("96",e),!y[n])for(var r in t.extractEvents||a("97",e),y[n]=t,n=t.eventTypes){var i=void 0,o=n[r],s=t,u=r;v.hasOwnProperty(u)&&a("99",u),v[u]=o;var l=o.phasedRegistrationNames;if(l){for(i in l)l.hasOwnProperty(i)&&g(l[i],s,u);i=!0}else o.registrationName?(g(o.registrationName,s,u),i=!0):i=!1;i||a("98",r,e)}}}function g(e,t,n){b[e]&&a("100",e),b[e]=t,_[e]=t.eventTypes[n].dependencies}var y=[],v={},b={},_={},w=null,A=null,x=null;function k(e,t,n){var r=e.type||"unknown-event";e.currentTarget=x(n),function(e,t,n,r,i,o,d,p,h){if(f.apply(this,arguments),s){if(s){var m=u;s=!1,u=null}else a("198"),m=void 0;l||(l=!0,c=m)}}(r,t,void 0,e),e.currentTarget=null}function M(e,t){return null==t&&a("30"),null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function E(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var L=null;function S(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))for(var r=0;r<t.length&&!e.isPropagationStopped();r++)k(e,t[r],n[r]);else t&&k(e,t,n);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}var D={injectEventPluginOrder:function(e){p&&a("101"),p=Array.prototype.slice.call(e),m()},injectEventPluginsByName:function(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var r=e[t];h.hasOwnProperty(t)&&h[t]===r||(h[t]&&a("102",t),h[t]=r,n=!0)}n&&m()}};function T(e,t){var n=e.stateNode;if(!n)return null;var r=w(n);if(!r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}return e?null:(n&&"function"!=typeof n&&a("231",t,typeof n),n)}function C(e){if(null!==e&&(L=M(L,e)),e=L,L=null,e&&(E(e,S),L&&a("95"),l))throw e=c,l=!1,c=null,e}var O=Math.random().toString(36).slice(2),$="__reactInternalInstance$"+O,j="__reactEventHandlers$"+O;function P(e){if(e[$])return e[$];for(;!e[$];){if(!e.parentNode)return null;e=e.parentNode}return 5===(e=e[$]).tag||6===e.tag?e:null}function I(e){return!(e=e[$])||5!==e.tag&&6!==e.tag?null:e}function N(e){if(5===e.tag||6===e.tag)return e.stateNode;a("33")}function F(e){return e[j]||null}function R(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function Y(e,t,n){(t=T(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=M(n._dispatchListeners,t),n._dispatchInstances=M(n._dispatchInstances,e))}function B(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,n=[];t;)n.push(t),t=R(t);for(t=n.length;0<t--;)Y(n[t],"captured",e);for(t=0;t<n.length;t++)Y(n[t],"bubbled",e)}}function z(e,t,n){e&&n&&n.dispatchConfig.registrationName&&(t=T(e,n.dispatchConfig.registrationName))&&(n._dispatchListeners=M(n._dispatchListeners,t),n._dispatchInstances=M(n._dispatchInstances,e))}function H(e){e&&e.dispatchConfig.registrationName&&z(e._targetInst,null,e)}function U(e){E(e,B)}var Z=!("undefined"==typeof window||!window.document||!window.document.createElement);function K(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var q={animationend:K("Animation","AnimationEnd"),animationiteration:K("Animation","AnimationIteration"),animationstart:K("Animation","AnimationStart"),transitionend:K("Transition","TransitionEnd")},W={},G={};function V(e){if(W[e])return W[e];if(!q[e])return e;var t,n=q[e];for(t in n)if(n.hasOwnProperty(t)&&t in G)return W[e]=n[t];return e}Z&&(G=document.createElement("div").style,"AnimationEvent"in window||(delete q.animationend.animation,delete q.animationiteration.animation,delete q.animationstart.animation),"TransitionEvent"in window||delete q.transitionend.transition);var J=V("animationend"),Q=V("animationiteration"),X=V("animationstart"),ee=V("transitionend"),te="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),ne=null,re=null,ie=null;function oe(){if(ie)return ie;var e,t,n=re,r=n.length,i="value"in ne?ne.value:ne.textContent,o=i.length;for(e=0;e<r&&n[e]===i[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===i[o-t];t++);return ie=i.slice(e,1<t?1-t:void 0)}function ae(){return!0}function se(){return!1}function ue(e,t,n,r){for(var i in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n,e=this.constructor.Interface)e.hasOwnProperty(i)&&((t=e[i])?this[i]=t(n):"target"===i?this.target=r:this[i]=n[i]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?ae:se,this.isPropagationStopped=se,this}function le(e,t,n,r){if(this.eventPool.length){var i=this.eventPool.pop();return this.call(i,e,t,n,r),i}return new this(e,t,n,r)}function ce(e){e instanceof this||a("279"),e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function de(e){e.eventPool=[],e.getPooled=le,e.release=ce}i(ue.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ae)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ae)},persist:function(){this.isPersistent=ae},isPersistent:se,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=se,this._dispatchInstances=this._dispatchListeners=null}}),ue.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},ue.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var o=new t;return i(o,n.prototype),n.prototype=o,n.prototype.constructor=n,n.Interface=i({},r.Interface,e),n.extend=r.extend,de(n),n},de(ue);var fe=ue.extend({data:null}),pe=ue.extend({data:null}),he=[9,13,27,32],me=Z&&"CompositionEvent"in window,ge=null;Z&&"documentMode"in document&&(ge=document.documentMode);var ye=Z&&"TextEvent"in window&&!ge,ve=Z&&(!me||ge&&8<ge&&11>=ge),be=String.fromCharCode(32),_e={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},we=!1;function Ae(e,t){switch(e){case"keyup":return-1!==he.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function xe(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var ke=!1;var Me={eventTypes:_e,extractEvents:function(e,t,n,r){var i=void 0,o=void 0;if(me)e:{switch(e){case"compositionstart":i=_e.compositionStart;break e;case"compositionend":i=_e.compositionEnd;break e;case"compositionupdate":i=_e.compositionUpdate;break e}i=void 0}else ke?Ae(e,n)&&(i=_e.compositionEnd):"keydown"===e&&229===n.keyCode&&(i=_e.compositionStart);return i?(ve&&"ko"!==n.locale&&(ke||i!==_e.compositionStart?i===_e.compositionEnd&&ke&&(o=oe()):(re="value"in(ne=r)?ne.value:ne.textContent,ke=!0)),i=fe.getPooled(i,t,n,r),o?i.data=o:null!==(o=xe(n))&&(i.data=o),U(i),o=i):o=null,(e=ye?function(e,t){switch(e){case"compositionend":return xe(t);case"keypress":return 32!==t.which?null:(we=!0,be);case"textInput":return(e=t.data)===be&&we?null:e;default:return null}}(e,n):function(e,t){if(ke)return"compositionend"===e||!me&&Ae(e,t)?(e=oe(),ie=re=ne=null,ke=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return ve&&"ko"!==t.locale?null:t.data;default:return null}}(e,n))?((t=pe.getPooled(_e.beforeInput,t,n,r)).data=e,U(t)):t=null,null===o?t:null===t?o:[o,t]}},Ee=null,Le=null,Se=null;function De(e){if(e=A(e)){"function"!=typeof Ee&&a("280");var t=w(e.stateNode);Ee(e.stateNode,e.type,t)}}function Te(e){Le?Se?Se.push(e):Se=[e]:Le=e}function Ce(){if(Le){var e=Le,t=Se;if(Se=Le=null,De(e),t)for(e=0;e<t.length;e++)De(t[e])}}function Oe(e,t){return e(t)}function $e(e,t,n){return e(t,n)}function je(){}var Pe=!1;function Ie(e,t){if(Pe)return e(t);Pe=!0;try{return Oe(e,t)}finally{Pe=!1,(null!==Le||null!==Se)&&(je(),Ce())}}var Ne={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Fe(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Ne[e.type]:"textarea"===t}function Re(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function Ye(e){if(!Z)return!1;var t=(e="on"+e)in document;return t||((t=document.createElement("div")).setAttribute(e,"return;"),t="function"==typeof t[e]),t}function Be(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function ze(e){e._valueTracker||(e._valueTracker=function(e){var t=Be(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function He(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Be(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}var Ue=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Ue.hasOwnProperty("ReactCurrentDispatcher")||(Ue.ReactCurrentDispatcher={current:null});var Ze=/^(.*)[\\\/]/,Ke="function"==typeof Symbol&&Symbol.for,qe=Ke?Symbol.for("react.element"):60103,We=Ke?Symbol.for("react.portal"):60106,Ge=Ke?Symbol.for("react.fragment"):60107,Ve=Ke?Symbol.for("react.strict_mode"):60108,Je=Ke?Symbol.for("react.profiler"):60114,Qe=Ke?Symbol.for("react.provider"):60109,Xe=Ke?Symbol.for("react.context"):60110,et=Ke?Symbol.for("react.concurrent_mode"):60111,tt=Ke?Symbol.for("react.forward_ref"):60112,nt=Ke?Symbol.for("react.suspense"):60113,rt=Ke?Symbol.for("react.memo"):60115,it=Ke?Symbol.for("react.lazy"):60116,ot="function"==typeof Symbol&&Symbol.iterator;function at(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=ot&&e[ot]||e["@@iterator"])?e:null}function st(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case et:return"ConcurrentMode";case Ge:return"Fragment";case We:return"Portal";case Je:return"Profiler";case Ve:return"StrictMode";case nt:return"Suspense"}if("object"==typeof e)switch(e.$$typeof){case Xe:return"Context.Consumer";case Qe:return"Context.Provider";case tt:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case rt:return st(e.type);case it:if(e=1===e._status?e._result:null)return st(e)}return null}function ut(e){var t="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var n="";break e;default:var r=e._debugOwner,i=e._debugSource,o=st(e.type);n=null,r&&(n=st(r.type)),r=o,o="",i?o=" (at "+i.fileName.replace(Ze,"")+":"+i.lineNumber+")":n&&(o=" (created by "+n+")"),n="\n    in "+(r||"Unknown")+o}t+=n,e=e.return}while(e);return t}var lt=/^[: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]*$/,ct=Object.prototype.hasOwnProperty,dt={},ft={};function pt(e,t,n,r,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t}var ht={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ht[e]=new pt(e,0,!1,e,null)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ht[t]=new pt(t,1,!1,e[1],null)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){ht[e]=new pt(e,2,!1,e.toLowerCase(),null)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ht[e]=new pt(e,2,!1,e,null)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ht[e]=new pt(e,3,!1,e.toLowerCase(),null)}),["checked","multiple","muted","selected"].forEach(function(e){ht[e]=new pt(e,3,!0,e,null)}),["capture","download"].forEach(function(e){ht[e]=new pt(e,4,!1,e,null)}),["cols","rows","size","span"].forEach(function(e){ht[e]=new pt(e,6,!1,e,null)}),["rowSpan","start"].forEach(function(e){ht[e]=new pt(e,5,!1,e.toLowerCase(),null)});var mt=/[\-:]([a-z])/g;function gt(e){return e[1].toUpperCase()}function yt(e,t,n,r){var i=ht.hasOwnProperty(t)?ht[t]:null;(null!==i?0===i.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,i,r)&&(n=null),r||null===i?function(e){return!!ct.call(ft,e)||!ct.call(dt,e)&&(lt.test(e)?ft[e]=!0:(dt[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):i.mustUseProperty?e[i.propertyName]=null===n?3!==i.type&&"":n:(t=i.attributeName,r=i.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(i=i.type)||4===i&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}function vt(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function bt(e,t){var n=t.checked;return i({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function _t(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=vt(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function wt(e,t){null!=(t=t.checked)&&yt(e,"checked",t,!1)}function At(e,t){wt(e,t);var n=vt(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?kt(e,t.type,n):t.hasOwnProperty("defaultValue")&&kt(e,t.type,vt(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function xt(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function kt(e,t,n){"number"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}"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(mt,gt);ht[t]=new pt(t,1,!1,e,null)}),"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(mt,gt);ht[t]=new pt(t,1,!1,e,"http://www.w3.org/1999/xlink")}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(mt,gt);ht[t]=new pt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace")}),["tabIndex","crossOrigin"].forEach(function(e){ht[e]=new pt(e,1,!1,e.toLowerCase(),null)});var Mt={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function Et(e,t,n){return(e=ue.getPooled(Mt.change,e,t,n)).type="change",Te(n),U(e),e}var Lt=null,St=null;function Dt(e){C(e)}function Tt(e){if(He(N(e)))return e}function Ct(e,t){if("change"===e)return t}var Ot=!1;function $t(){Lt&&(Lt.detachEvent("onpropertychange",jt),St=Lt=null)}function jt(e){"value"===e.propertyName&&Tt(St)&&Ie(Dt,e=Et(St,e,Re(e)))}function Pt(e,t,n){"focus"===e?($t(),St=n,(Lt=t).attachEvent("onpropertychange",jt)):"blur"===e&&$t()}function It(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Tt(St)}function Nt(e,t){if("click"===e)return Tt(t)}function Ft(e,t){if("input"===e||"change"===e)return Tt(t)}Z&&(Ot=Ye("input")&&(!document.documentMode||9<document.documentMode));var Rt={eventTypes:Mt,_isInputEventSupported:Ot,extractEvents:function(e,t,n,r){var i=t?N(t):window,o=void 0,a=void 0,s=i.nodeName&&i.nodeName.toLowerCase();if("select"===s||"input"===s&&"file"===i.type?o=Ct:Fe(i)?Ot?o=Ft:(o=It,a=Pt):(s=i.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===i.type||"radio"===i.type)&&(o=Nt),o&&(o=o(e,t)))return Et(o,n,r);a&&a(e,i,t),"blur"===e&&(e=i._wrapperState)&&e.controlled&&"number"===i.type&&kt(i,"number",i.value)}},Yt=ue.extend({view:null,detail:null}),Bt={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function zt(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Bt[e])&&!!t[e]}function Ht(){return zt}var Ut=0,Zt=0,Kt=!1,qt=!1,Wt=Yt.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Ht,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if("movementX"in e)return e.movementX;var t=Ut;return Ut=e.screenX,Kt?"mousemove"===e.type?e.screenX-t:0:(Kt=!0,0)},movementY:function(e){if("movementY"in e)return e.movementY;var t=Zt;return Zt=e.screenY,qt?"mousemove"===e.type?e.screenY-t:0:(qt=!0,0)}}),Gt=Wt.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Vt={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},Jt={eventTypes:Vt,extractEvents:function(e,t,n,r){var i="mouseover"===e||"pointerover"===e,o="mouseout"===e||"pointerout"===e;if(i&&(n.relatedTarget||n.fromElement)||!o&&!i)return null;if(i=r.window===r?r:(i=r.ownerDocument)?i.defaultView||i.parentWindow:window,o?(o=t,t=(t=n.relatedTarget||n.toElement)?P(t):null):o=null,o===t)return null;var a=void 0,s=void 0,u=void 0,l=void 0;"mouseout"===e||"mouseover"===e?(a=Wt,s=Vt.mouseLeave,u=Vt.mouseEnter,l="mouse"):"pointerout"!==e&&"pointerover"!==e||(a=Gt,s=Vt.pointerLeave,u=Vt.pointerEnter,l="pointer");var c=null==o?i:N(o);if(i=null==t?i:N(t),(e=a.getPooled(s,o,n,r)).type=l+"leave",e.target=c,e.relatedTarget=i,(n=a.getPooled(u,t,n,r)).type=l+"enter",n.target=i,n.relatedTarget=c,r=t,o&&r)e:{for(i=r,l=0,a=t=o;a;a=R(a))l++;for(a=0,u=i;u;u=R(u))a++;for(;0<l-a;)t=R(t),l--;for(;0<a-l;)i=R(i),a--;for(;l--;){if(t===i||t===i.alternate)break e;t=R(t),i=R(i)}t=null}else t=null;for(i=t,t=[];o&&o!==i&&(null===(l=o.alternate)||l!==i);)t.push(o),o=R(o);for(o=[];r&&r!==i&&(null===(l=r.alternate)||l!==i);)o.push(r),r=R(r);for(r=0;r<t.length;r++)z(t[r],"bubbled",e);for(r=o.length;0<r--;)z(o[r],"captured",n);return[e,n]}};function Qt(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}var Xt=Object.prototype.hasOwnProperty;function en(e,t){if(Qt(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!Xt.call(t,n[r])||!Qt(e[n[r]],t[n[r]]))return!1;return!0}function tn(e){var t=e;if(e.alternate)for(;t.return;)t=t.return;else{if(0!=(2&t.effectTag))return 1;for(;t.return;)if(0!=(2&(t=t.return).effectTag))return 1}return 3===t.tag?2:3}function nn(e){2!==tn(e)&&a("188")}function rn(e){if(!(e=function(e){var t=e.alternate;if(!t)return 3===(t=tn(e))&&a("188"),1===t?null:e;for(var n=e,r=t;;){var i=n.return,o=i?i.alternate:null;if(!i||!o)break;if(i.child===o.child){for(var s=i.child;s;){if(s===n)return nn(i),e;if(s===r)return nn(i),t;s=s.sibling}a("188")}if(n.return!==r.return)n=i,r=o;else{s=!1;for(var u=i.child;u;){if(u===n){s=!0,n=i,r=o;break}if(u===r){s=!0,r=i,n=o;break}u=u.sibling}if(!s){for(u=o.child;u;){if(u===n){s=!0,n=o,r=i;break}if(u===r){s=!0,r=o,n=i;break}u=u.sibling}s||a("189")}}n.alternate!==r&&a("190")}return 3!==n.tag&&a("188"),n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}var on=ue.extend({animationName:null,elapsedTime:null,pseudoElement:null}),an=ue.extend({clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),sn=Yt.extend({relatedTarget:null});function un(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}var ln={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},cn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},dn=Yt.extend({key:function(e){if(e.key){var t=ln[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=un(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?cn[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Ht,charCode:function(e){return"keypress"===e.type?un(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?un(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),fn=Wt.extend({dataTransfer:null}),pn=Yt.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Ht}),hn=ue.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),mn=Wt.extend({deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),gn=[["abort","abort"],[J,"animationEnd"],[Q,"animationIteration"],[X,"animationStart"],["canplay","canPlay"],["canplaythrough","canPlayThrough"],["drag","drag"],["dragenter","dragEnter"],["dragexit","dragExit"],["dragleave","dragLeave"],["dragover","dragOver"],["durationchange","durationChange"],["emptied","emptied"],["encrypted","encrypted"],["ended","ended"],["error","error"],["gotpointercapture","gotPointerCapture"],["load","load"],["loadeddata","loadedData"],["loadedmetadata","loadedMetadata"],["loadstart","loadStart"],["lostpointercapture","lostPointerCapture"],["mousemove","mouseMove"],["mouseout","mouseOut"],["mouseover","mouseOver"],["playing","playing"],["pointermove","pointerMove"],["pointerout","pointerOut"],["pointerover","pointerOver"],["progress","progress"],["scroll","scroll"],["seeking","seeking"],["stalled","stalled"],["suspend","suspend"],["timeupdate","timeUpdate"],["toggle","toggle"],["touchmove","touchMove"],[ee,"transitionEnd"],["waiting","waiting"],["wheel","wheel"]],yn={},vn={};function bn(e,t){var n=e[0],r="on"+((e=e[1])[0].toUpperCase()+e.slice(1));t={phasedRegistrationNames:{bubbled:r,captured:r+"Capture"},dependencies:[n],isInteractive:t},yn[e]=t,vn[n]=t}[["blur","blur"],["cancel","cancel"],["click","click"],["close","close"],["contextmenu","contextMenu"],["copy","copy"],["cut","cut"],["auxclick","auxClick"],["dblclick","doubleClick"],["dragend","dragEnd"],["dragstart","dragStart"],["drop","drop"],["focus","focus"],["input","input"],["invalid","invalid"],["keydown","keyDown"],["keypress","keyPress"],["keyup","keyUp"],["mousedown","mouseDown"],["mouseup","mouseUp"],["paste","paste"],["pause","pause"],["play","play"],["pointercancel","pointerCancel"],["pointerdown","pointerDown"],["pointerup","pointerUp"],["ratechange","rateChange"],["reset","reset"],["seeked","seeked"],["submit","submit"],["touchcancel","touchCancel"],["touchend","touchEnd"],["touchstart","touchStart"],["volumechange","volumeChange"]].forEach(function(e){bn(e,!0)}),gn.forEach(function(e){bn(e,!1)});var _n={eventTypes:yn,isInteractiveTopLevelEventType:function(e){return void 0!==(e=vn[e])&&!0===e.isInteractive},extractEvents:function(e,t,n,r){var i=vn[e];if(!i)return null;switch(e){case"keypress":if(0===un(n))return null;case"keydown":case"keyup":e=dn;break;case"blur":case"focus":e=sn;break;case"click":if(2===n.button)return null;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":e=Wt;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":e=fn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":e=pn;break;case J:case Q:case X:e=on;break;case ee:e=hn;break;case"scroll":e=Yt;break;case"wheel":e=mn;break;case"copy":case"cut":case"paste":e=an;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":e=Gt;break;default:e=ue}return U(t=e.getPooled(i,t,n,r)),t}},wn=_n.isInteractiveTopLevelEventType,An=[];function xn(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);break}var r;for(r=n;r.return;)r=r.return;if(!(r=3!==r.tag?null:r.stateNode.containerInfo))break;e.ancestors.push(n),n=P(r)}while(n);for(n=0;n<e.ancestors.length;n++){t=e.ancestors[n];var i=Re(e.nativeEvent);r=e.topLevelType;for(var o=e.nativeEvent,a=null,s=0;s<y.length;s++){var u=y[s];u&&(u=u.extractEvents(r,t,o,i))&&(a=M(a,u))}C(a)}}var kn=!0;function Mn(e,t){if(!t)return null;var n=(wn(e)?Ln:Sn).bind(null,e);t.addEventListener(e,n,!1)}function En(e,t){if(!t)return null;var n=(wn(e)?Ln:Sn).bind(null,e);t.addEventListener(e,n,!0)}function Ln(e,t){$e(Sn,e,t)}function Sn(e,t){if(kn){var n=Re(t);if(null===(n=P(n))||"number"!=typeof n.tag||2===tn(n)||(n=null),An.length){var r=An.pop();r.topLevelType=e,r.nativeEvent=t,r.targetInst=n,e=r}else e={topLevelType:e,nativeEvent:t,targetInst:n,ancestors:[]};try{Ie(xn,e)}finally{e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,10>An.length&&An.push(e)}}}var Dn={},Tn=0,Cn="_reactListenersID"+(""+Math.random()).slice(2);function On(e){return Object.prototype.hasOwnProperty.call(e,Cn)||(e[Cn]=Tn++,Dn[e[Cn]]={}),Dn[e[Cn]]}function $n(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function jn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Pn(e,t){var n,r=jn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=jn(r)}}function In(){for(var e=window,t=$n();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=$n((e=t.contentWindow).document)}return t}function Nn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function Fn(e){var t=In(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&function e(t,n){return!(!t||!n)&&(t===n||(!t||3!==t.nodeType)&&(n&&3===n.nodeType?e(t,n.parentNode):"contains"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}(n.ownerDocument.documentElement,n)){if(null!==r&&Nn(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=void 0===r.end?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=Pn(n,o);var a=Pn(n,r);i&&a&&(1!==e.rangeCount||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&((t=t.createRange()).setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Rn=Z&&"documentMode"in document&&11>=document.documentMode,Yn={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},Bn=null,zn=null,Hn=null,Un=!1;function Zn(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;return Un||null==Bn||Bn!==$n(n)?null:("selectionStart"in(n=Bn)&&Nn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},Hn&&en(Hn,n)?null:(Hn=n,(e=ue.getPooled(Yn.select,zn,e,t)).type="select",e.target=Bn,U(e),e))}var Kn={eventTypes:Yn,extractEvents:function(e,t,n,r){var i,o=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;if(!(i=!o)){e:{o=On(o),i=_.onSelect;for(var a=0;a<i.length;a++){var s=i[a];if(!o.hasOwnProperty(s)||!o[s]){o=!1;break e}}o=!0}i=!o}if(i)return null;switch(o=t?N(t):window,e){case"focus":(Fe(o)||"true"===o.contentEditable)&&(Bn=o,zn=t,Hn=null);break;case"blur":Hn=zn=Bn=null;break;case"mousedown":Un=!0;break;case"contextmenu":case"mouseup":case"dragend":return Un=!1,Zn(n,r);case"selectionchange":if(Rn)break;case"keydown":case"keyup":return Zn(n,r)}return null}};function qn(e,t){return e=i({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,function(e){null!=e&&(t+=e)}),t}(t.children))&&(e.children=t),e}function Wn(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=""+vt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n)return e[i].selected=!0,void(r&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function Gn(e,t){return null!=t.dangerouslySetInnerHTML&&a("91"),i({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Vn(e,t){var n=t.value;null==n&&(n=t.defaultValue,null!=(t=t.children)&&(null!=n&&a("92"),Array.isArray(t)&&(1>=t.length||a("93"),t=t[0]),n=t),null==n&&(n="")),e._wrapperState={initialValue:vt(n)}}function Jn(e,t){var n=vt(t.value),r=vt(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function Qn(e){var t=e.textContent;t===e._wrapperState.initialValue&&(e.value=t)}D.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")),w=F,A=I,x=N,D.injectEventPluginsByName({SimpleEventPlugin:_n,EnterLeaveEventPlugin:Jt,ChangeEventPlugin:Rt,SelectEventPlugin:Kn,BeforeInputEventPlugin:Me});var Xn={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function er(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function tr(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?er(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var nr,rr=void 0,ir=(nr=function(e,t){if(e.namespaceURI!==Xn.svg||"innerHTML"in e)e.innerHTML=t;else{for((rr=rr||document.createElement("div")).innerHTML="<svg>"+t+"</svg>",t=rr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction(function(){return nr(e,t)})}:nr);function or(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var ar={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},sr=["Webkit","ms","Moz","O"];function ur(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||ar.hasOwnProperty(e)&&ar[e]?(""+t).trim():t+"px"}function lr(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),i=ur(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}Object.keys(ar).forEach(function(e){sr.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ar[t]=ar[e]})});var cr=i({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function dr(e,t){t&&(cr[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&a("137",e,""),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&a("60"),"object"==typeof t.dangerouslySetInnerHTML&&"__html"in t.dangerouslySetInnerHTML||a("61")),null!=t.style&&"object"!=typeof t.style&&a("62",""))}function fr(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function pr(e,t){var n=On(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=_[t];for(var r=0;r<t.length;r++){var i=t[r];if(!n.hasOwnProperty(i)||!n[i]){switch(i){case"scroll":En("scroll",e);break;case"focus":case"blur":En("focus",e),En("blur",e),n.blur=!0,n.focus=!0;break;case"cancel":case"close":Ye(i)&&En(i,e);break;case"invalid":case"submit":case"reset":break;default:-1===te.indexOf(i)&&Mn(i,e)}n[i]=!0}}}function hr(){}var mr=null,gr=null;function yr(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function vr(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var br="function"==typeof setTimeout?setTimeout:void 0,_r="function"==typeof clearTimeout?clearTimeout:void 0,wr=o.unstable_scheduleCallback,Ar=o.unstable_cancelCallback;function xr(e){for(e=e.nextSibling;e&&1!==e.nodeType&&3!==e.nodeType;)e=e.nextSibling;return e}function kr(e){for(e=e.firstChild;e&&1!==e.nodeType&&3!==e.nodeType;)e=e.nextSibling;return e}new Set;var Mr=[],Er=-1;function Lr(e){0>Er||(e.current=Mr[Er],Mr[Er]=null,Er--)}function Sr(e,t){Mr[++Er]=e.current,e.current=t}var Dr={},Tr={current:Dr},Cr={current:!1},Or=Dr;function $r(e,t){var n=e.type.contextTypes;if(!n)return Dr;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in n)o[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function jr(e){return null!=(e=e.childContextTypes)}function Pr(e){Lr(Cr),Lr(Tr)}function Ir(e){Lr(Cr),Lr(Tr)}function Nr(e,t,n){Tr.current!==Dr&&a("168"),Sr(Tr,t),Sr(Cr,n)}function Fr(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())o in e||a("108",st(t)||"Unknown",o);return i({},n,r)}function Rr(e){var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||Dr,Or=Tr.current,Sr(Tr,t),Sr(Cr,Cr.current),!0}function Yr(e,t,n){var r=e.stateNode;r||a("169"),n?(t=Fr(e,t,Or),r.__reactInternalMemoizedMergedChildContext=t,Lr(Cr),Lr(Tr),Sr(Tr,t)):Lr(Cr),Sr(Cr,n)}var Br=null,zr=null;function Hr(e){return function(t){try{return e(t)}catch(e){}}}function Ur(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.contextDependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Zr(e,t,n,r){return new Ur(e,t,n,r)}function Kr(e){return!(!(e=e.prototype)||!e.isReactComponent)}function qr(e,t){var n=e.alternate;return null===n?((n=Zr(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.effectTag=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childExpirationTime=e.childExpirationTime,n.expirationTime=e.expirationTime,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,n.contextDependencies=e.contextDependencies,n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Wr(e,t,n,r,i,o){var s=2;if(r=e,"function"==typeof e)Kr(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case Ge:return Gr(n.children,i,o,t);case et:return Vr(n,3|i,o,t);case Ve:return Vr(n,2|i,o,t);case Je:return(e=Zr(12,n,t,4|i)).elementType=Je,e.type=Je,e.expirationTime=o,e;case nt:return(e=Zr(13,n,t,i)).elementType=nt,e.type=nt,e.expirationTime=o,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case Qe:s=10;break e;case Xe:s=9;break e;case tt:s=11;break e;case rt:s=14;break e;case it:s=16,r=null;break e}a("130",null==e?e:typeof e,"")}return(t=Zr(s,n,t,i)).elementType=e,t.type=r,t.expirationTime=o,t}function Gr(e,t,n,r){return(e=Zr(7,e,r,t)).expirationTime=n,e}function Vr(e,t,n,r){return e=Zr(8,e,r,t),t=0==(1&t)?Ve:et,e.elementType=t,e.type=t,e.expirationTime=n,e}function Jr(e,t,n){return(e=Zr(6,e,null,t)).expirationTime=n,e}function Qr(e,t,n){return(t=Zr(4,null!==e.children?e.children:[],e.key,t)).expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Xr(e,t){e.didError=!1;var n=e.earliestPendingTime;0===n?e.earliestPendingTime=e.latestPendingTime=t:n<t?e.earliestPendingTime=t:e.latestPendingTime>t&&(e.latestPendingTime=t),ni(t,e)}function ei(e,t){e.didError=!1,e.latestPingedTime>=t&&(e.latestPingedTime=0);var n=e.earliestPendingTime,r=e.latestPendingTime;n===t?e.earliestPendingTime=r===t?e.latestPendingTime=0:r:r===t&&(e.latestPendingTime=n),n=e.earliestSuspendedTime,r=e.latestSuspendedTime,0===n?e.earliestSuspendedTime=e.latestSuspendedTime=t:n<t?e.earliestSuspendedTime=t:r>t&&(e.latestSuspendedTime=t),ni(t,e)}function ti(e,t){var n=e.earliestPendingTime;return n>t&&(t=n),(e=e.earliestSuspendedTime)>t&&(t=e),t}function ni(e,t){var n=t.earliestSuspendedTime,r=t.latestSuspendedTime,i=t.earliestPendingTime,o=t.latestPingedTime;0===(i=0!==i?i:o)&&(0===e||r<e)&&(i=r),0!==(e=i)&&n>e&&(e=n),t.nextExpirationTimeToWorkOn=i,t.expirationTime=e}function ri(e,t){if(e&&e.defaultProps)for(var n in t=i({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}var ii=(new r.Component).refs;function oi(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:i({},t,n),e.memoizedState=n,null!==(r=e.updateQueue)&&0===e.expirationTime&&(r.baseState=n)}var ai={isMounted:function(e){return!!(e=e._reactInternalFiber)&&2===tn(e)},enqueueSetState:function(e,t,n){e=e._reactInternalFiber;var r=As(),i=Vo(r=Ga(r,e));i.payload=t,null!=n&&(i.callback=n),Ha(),Qo(e,i),Qa(e,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternalFiber;var r=As(),i=Vo(r=Ga(r,e));i.tag=Uo,i.payload=t,null!=n&&(i.callback=n),Ha(),Qo(e,i),Qa(e,r)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var n=As(),r=Vo(n=Ga(n,e));r.tag=Zo,null!=t&&(r.callback=t),Ha(),Qo(e,r),Qa(e,n)}};function si(e,t,n,r,i,o,a){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,a):!t.prototype||!t.prototype.isPureReactComponent||(!en(n,r)||!en(i,o))}function ui(e,t,n){var r=!1,i=Dr,o=t.contextType;return"object"==typeof o&&null!==o?o=zo(o):(i=jr(t)?Or:Tr.current,o=(r=null!=(r=t.contextTypes))?$r(e,i):Dr),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=ai,e.stateNode=t,t._reactInternalFiber=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=o),t}function li(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&ai.enqueueReplaceState(t,t.state,null)}function ci(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs=ii;var o=t.contextType;"object"==typeof o&&null!==o?i.context=zo(o):(o=jr(t)?Or:Tr.current,i.context=$r(e,o)),null!==(o=e.updateQueue)&&(na(e,o,n,i,r),i.state=e.memoizedState),"function"==typeof(o=t.getDerivedStateFromProps)&&(oi(e,t,o,n),i.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(t=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&ai.enqueueReplaceState(i,i.state,null),null!==(o=e.updateQueue)&&(na(e,o,n,i,r),i.state=e.memoizedState)),"function"==typeof i.componentDidMount&&(e.effectTag|=4)}var di=Array.isArray;function fi(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){n=n._owner;var r=void 0;n&&(1!==n.tag&&a("309"),r=n.stateNode),r||a("147",e);var i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:((t=function(e){var t=r.refs;t===ii&&(t=r.refs={}),null===e?delete t[i]:t[i]=e})._stringRef=i,t)}"string"!=typeof e&&a("284"),n._owner||a("290",e)}return e}function pi(e,t){"textarea"!==e.type&&a("31","[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t,"")}function hi(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.effectTag=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t,n){return(e=qr(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.effectTag=2,n):r:(t.effectTag=2,n):n}function s(t){return e&&null===t.alternate&&(t.effectTag=2),t}function u(e,t,n,r){return null===t||6!==t.tag?((t=Jr(n,e.mode,r)).return=e,t):((t=i(t,n)).return=e,t)}function l(e,t,n,r){return null!==t&&t.elementType===n.type?((r=i(t,n.props)).ref=fi(e,t,n),r.return=e,r):((r=Wr(n.type,n.key,n.props,null,e.mode,r)).ref=fi(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Qr(n,e.mode,r)).return=e,t):((t=i(t,n.children||[])).return=e,t)}function d(e,t,n,r,o){return null===t||7!==t.tag?((t=Gr(n,e.mode,r,o)).return=e,t):((t=i(t,n)).return=e,t)}function f(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=Jr(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case qe:return(n=Wr(t.type,t.key,t.props,null,e.mode,n)).ref=fi(e,null,t),n.return=e,n;case We:return(t=Qr(t,e.mode,n)).return=e,t}if(di(t)||at(t))return(t=Gr(t,e.mode,n,null)).return=e,t;pi(e,t)}return null}function p(e,t,n,r){var i=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==i?null:u(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case qe:return n.key===i?n.type===Ge?d(e,t,n.props.children,r,i):l(e,t,n,r):null;case We:return n.key===i?c(e,t,n,r):null}if(di(n)||at(n))return null!==i?null:d(e,t,n,r,null);pi(e,n)}return null}function h(e,t,n,r,i){if("string"==typeof r||"number"==typeof r)return u(t,e=e.get(n)||null,""+r,i);if("object"==typeof r&&null!==r){switch(r.$$typeof){case qe:return e=e.get(null===r.key?n:r.key)||null,r.type===Ge?d(t,e,r.props.children,i,r.key):l(t,e,r,i);case We:return c(t,e=e.get(null===r.key?n:r.key)||null,r,i)}if(di(r)||at(r))return d(t,e=e.get(n)||null,r,i,null);pi(t,r)}return null}function m(i,a,s,u){for(var l=null,c=null,d=a,m=a=0,g=null;null!==d&&m<s.length;m++){d.index>m?(g=d,d=null):g=d.sibling;var y=p(i,d,s[m],u);if(null===y){null===d&&(d=g);break}e&&d&&null===y.alternate&&t(i,d),a=o(y,a,m),null===c?l=y:c.sibling=y,c=y,d=g}if(m===s.length)return n(i,d),l;if(null===d){for(;m<s.length;m++)(d=f(i,s[m],u))&&(a=o(d,a,m),null===c?l=d:c.sibling=d,c=d);return l}for(d=r(i,d);m<s.length;m++)(g=h(d,i,m,s[m],u))&&(e&&null!==g.alternate&&d.delete(null===g.key?m:g.key),a=o(g,a,m),null===c?l=g:c.sibling=g,c=g);return e&&d.forEach(function(e){return t(i,e)}),l}function g(i,s,u,l){var c=at(u);"function"!=typeof c&&a("150"),null==(u=c.call(u))&&a("151");for(var d=c=null,m=s,g=s=0,y=null,v=u.next();null!==m&&!v.done;g++,v=u.next()){m.index>g?(y=m,m=null):y=m.sibling;var b=p(i,m,v.value,l);if(null===b){m||(m=y);break}e&&m&&null===b.alternate&&t(i,m),s=o(b,s,g),null===d?c=b:d.sibling=b,d=b,m=y}if(v.done)return n(i,m),c;if(null===m){for(;!v.done;g++,v=u.next())null!==(v=f(i,v.value,l))&&(s=o(v,s,g),null===d?c=v:d.sibling=v,d=v);return c}for(m=r(i,m);!v.done;g++,v=u.next())null!==(v=h(m,i,g,v.value,l))&&(e&&null!==v.alternate&&m.delete(null===v.key?g:v.key),s=o(v,s,g),null===d?c=v:d.sibling=v,d=v);return e&&m.forEach(function(e){return t(i,e)}),c}return function(e,r,o,u){var l="object"==typeof o&&null!==o&&o.type===Ge&&null===o.key;l&&(o=o.props.children);var c="object"==typeof o&&null!==o;if(c)switch(o.$$typeof){case qe:e:{for(c=o.key,l=r;null!==l;){if(l.key===c){if(7===l.tag?o.type===Ge:l.elementType===o.type){n(e,l.sibling),(r=i(l,o.type===Ge?o.props.children:o.props)).ref=fi(e,l,o),r.return=e,e=r;break e}n(e,l);break}t(e,l),l=l.sibling}o.type===Ge?((r=Gr(o.props.children,e.mode,u,o.key)).return=e,e=r):((u=Wr(o.type,o.key,o.props,null,e.mode,u)).ref=fi(e,r,o),u.return=e,e=u)}return s(e);case We:e:{for(l=o.key;null!==r;){if(r.key===l){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Qr(o,e.mode,u)).return=e,e=r}return s(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o)).return=e,e=r):(n(e,r),(r=Jr(o,e.mode,u)).return=e,e=r),s(e);if(di(o))return m(e,r,o,u);if(at(o))return g(e,r,o,u);if(c&&pi(e,o),void 0===o&&!l)switch(e.tag){case 1:case 0:a("152",(u=e.type).displayName||u.name||"Component")}return n(e,r)}}var mi=hi(!0),gi=hi(!1),yi={},vi={current:yi},bi={current:yi},_i={current:yi};function wi(e){return e===yi&&a("174"),e}function Ai(e,t){Sr(_i,t),Sr(bi,e),Sr(vi,yi);var n=t.nodeType;switch(n){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:tr(null,"");break;default:t=tr(t=(n=8===n?t.parentNode:t).namespaceURI||null,n=n.tagName)}Lr(vi),Sr(vi,t)}function xi(e){Lr(vi),Lr(bi),Lr(_i)}function ki(e){wi(_i.current);var t=wi(vi.current),n=tr(t,e.type);t!==n&&(Sr(bi,e),Sr(vi,n))}function Mi(e){bi.current===e&&(Lr(vi),Lr(bi))}var Ei=0,Li=2,Si=4,Di=8,Ti=16,Ci=32,Oi=64,$i=128,ji=Ue.ReactCurrentDispatcher,Pi=0,Ii=null,Ni=null,Fi=null,Ri=null,Yi=null,Bi=null,zi=0,Hi=null,Ui=0,Zi=!1,Ki=null,qi=0;function Wi(){a("321")}function Gi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Qt(e[n],t[n]))return!1;return!0}function Vi(e,t,n,r,i,o){if(Pi=o,Ii=t,Fi=null!==e?e.memoizedState:null,ji.current=null===Fi?lo:co,t=n(r,i),Zi){do{Zi=!1,qi+=1,Fi=null!==e?e.memoizedState:null,Bi=Ri,Hi=Yi=Ni=null,ji.current=co,t=n(r,i)}while(Zi);Ki=null,qi=0}return ji.current=uo,(e=Ii).memoizedState=Ri,e.expirationTime=zi,e.updateQueue=Hi,e.effectTag|=Ui,e=null!==Ni&&null!==Ni.next,Pi=0,Bi=Yi=Ri=Fi=Ni=Ii=null,zi=0,Hi=null,Ui=0,e&&a("300"),t}function Ji(){ji.current=uo,Pi=0,Bi=Yi=Ri=Fi=Ni=Ii=null,zi=0,Hi=null,Ui=0,Zi=!1,Ki=null,qi=0}function Qi(){var e={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return null===Yi?Ri=Yi=e:Yi=Yi.next=e,Yi}function Xi(){if(null!==Bi)Bi=(Yi=Bi).next,Fi=null!==(Ni=Fi)?Ni.next:null;else{null===Fi&&a("310");var e={memoizedState:(Ni=Fi).memoizedState,baseState:Ni.baseState,queue:Ni.queue,baseUpdate:Ni.baseUpdate,next:null};Yi=null===Yi?Ri=e:Yi.next=e,Fi=Ni.next}return Yi}function eo(e,t){return"function"==typeof t?t(e):t}function to(e){var t=Xi(),n=t.queue;if(null===n&&a("311"),n.lastRenderedReducer=e,0<qi){var r=n.dispatch;if(null!==Ki){var i=Ki.get(n);if(void 0!==i){Ki.delete(n);var o=t.memoizedState;do{o=e(o,i.action),i=i.next}while(null!==i);return Qt(o,t.memoizedState)||(Ao=!0),t.memoizedState=o,t.baseUpdate===n.last&&(t.baseState=o),n.lastRenderedState=o,[o,r]}}return[t.memoizedState,r]}r=n.last;var s=t.baseUpdate;if(o=t.baseState,null!==s?(null!==r&&(r.next=null),r=s.next):r=null!==r?r.next:null,null!==r){var u=i=null,l=r,c=!1;do{var d=l.expirationTime;d<Pi?(c||(c=!0,u=s,i=o),d>zi&&(zi=d)):o=l.eagerReducer===e?l.eagerState:e(o,l.action),s=l,l=l.next}while(null!==l&&l!==r);c||(u=s,i=o),Qt(o,t.memoizedState)||(Ao=!0),t.memoizedState=o,t.baseUpdate=u,t.baseState=i,n.lastRenderedState=o}return[t.memoizedState,n.dispatch]}function no(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===Hi?(Hi={lastEffect:null}).lastEffect=e.next=e:null===(t=Hi.lastEffect)?Hi.lastEffect=e.next=e:(n=t.next,t.next=e,e.next=n,Hi.lastEffect=e),e}function ro(e,t,n,r){var i=Qi();Ui|=e,i.memoizedState=no(t,n,void 0,void 0===r?null:r)}function io(e,t,n,r){var i=Xi();r=void 0===r?null:r;var o=void 0;if(null!==Ni){var a=Ni.memoizedState;if(o=a.destroy,null!==r&&Gi(r,a.deps))return void no(Ei,n,o,r)}Ui|=e,i.memoizedState=no(t,n,o,r)}function oo(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function ao(){}function so(e,t,n){25>qi||a("301");var r=e.alternate;if(e===Ii||null!==r&&r===Ii)if(Zi=!0,e={expirationTime:Pi,action:n,eagerReducer:null,eagerState:null,next:null},null===Ki&&(Ki=new Map),void 0===(n=Ki.get(t)))Ki.set(t,e);else{for(t=n;null!==t.next;)t=t.next;t.next=e}else{Ha();var i=As(),o={expirationTime:i=Ga(i,e),action:n,eagerReducer:null,eagerState:null,next:null},s=t.last;if(null===s)o.next=o;else{var u=s.next;null!==u&&(o.next=u),s.next=o}if(t.last=o,0===e.expirationTime&&(null===r||0===r.expirationTime)&&null!==(r=t.lastRenderedReducer))try{var l=t.lastRenderedState,c=r(l,n);if(o.eagerReducer=r,o.eagerState=c,Qt(c,l))return}catch(e){}Qa(e,i)}}var uo={readContext:zo,useCallback:Wi,useContext:Wi,useEffect:Wi,useImperativeHandle:Wi,useLayoutEffect:Wi,useMemo:Wi,useReducer:Wi,useRef:Wi,useState:Wi,useDebugValue:Wi},lo={readContext:zo,useCallback:function(e,t){return Qi().memoizedState=[e,void 0===t?null:t],e},useContext:zo,useEffect:function(e,t){return ro(516,$i|Oi,e,t)},useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,ro(4,Si|Ci,oo.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ro(4,Si|Ci,e,t)},useMemo:function(e,t){var n=Qi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Qi();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={last:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=so.bind(null,Ii,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Qi().memoizedState=e},useState:function(e){var t=Qi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={last:null,dispatch:null,lastRenderedReducer:eo,lastRenderedState:e}).dispatch=so.bind(null,Ii,e),[t.memoizedState,e]},useDebugValue:ao},co={readContext:zo,useCallback:function(e,t){var n=Xi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Gi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)},useContext:zo,useEffect:function(e,t){return io(516,$i|Oi,e,t)},useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,io(4,Si|Ci,oo.bind(null,t,e),n)},useLayoutEffect:function(e,t){return io(4,Si|Ci,e,t)},useMemo:function(e,t){var n=Xi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Gi(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)},useReducer:to,useRef:function(){return Xi().memoizedState},useState:function(e){return to(eo)},useDebugValue:ao},fo=null,po=null,ho=!1;function mo(e,t){var n=Zr(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function go(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function yo(e){if(ho){var t=po;if(t){var n=t;if(!go(e,t)){if(!(t=xr(n))||!go(e,t))return e.effectTag|=2,ho=!1,void(fo=e);mo(fo,n)}fo=e,po=kr(t)}else e.effectTag|=2,ho=!1,fo=e}}function vo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&18!==e.tag;)e=e.return;fo=e}function bo(e){if(e!==fo)return!1;if(!ho)return vo(e),ho=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!vr(t,e.memoizedProps))for(t=po;t;)mo(e,t),t=xr(t);return vo(e),po=fo?xr(e.stateNode):null,!0}function _o(){po=fo=null,ho=!1}var wo=Ue.ReactCurrentOwner,Ao=!1;function xo(e,t,n,r){t.child=null===e?gi(t,null,n,r):mi(t,e.child,n,r)}function ko(e,t,n,r,i){n=n.render;var o=t.ref;return Bo(t,i),r=Vi(e,t,n,r,o,i),null===e||Ao?(t.effectTag|=1,xo(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),$o(e,t,i))}function Mo(e,t,n,r,i,o){if(null===e){var a=n.type;return"function"!=typeof a||Kr(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Wr(n.type,null,r,null,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Eo(e,t,a,r,i,o))}return a=e.child,i<o&&(i=a.memoizedProps,(n=null!==(n=n.compare)?n:en)(i,r)&&e.ref===t.ref)?$o(e,t,o):(t.effectTag|=1,(e=qr(a,r)).ref=t.ref,e.return=t,t.child=e)}function Eo(e,t,n,r,i,o){return null!==e&&en(e.memoizedProps,r)&&e.ref===t.ref&&(Ao=!1,i<o)?$o(e,t,o):So(e,t,n,r,o)}function Lo(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function So(e,t,n,r,i){var o=jr(n)?Or:Tr.current;return o=$r(t,o),Bo(t,i),n=Vi(e,t,n,r,o,i),null===e||Ao?(t.effectTag|=1,xo(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),$o(e,t,i))}function Do(e,t,n,r,i){if(jr(n)){var o=!0;Rr(t)}else o=!1;if(Bo(t,i),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),ui(t,n,r),ci(t,n,r,i),r=!0;else if(null===e){var a=t.stateNode,s=t.memoizedProps;a.props=s;var u=a.context,l=n.contextType;"object"==typeof l&&null!==l?l=zo(l):l=$r(t,l=jr(n)?Or:Tr.current);var c=n.getDerivedStateFromProps,d="function"==typeof c||"function"==typeof a.getSnapshotBeforeUpdate;d||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(s!==r||u!==l)&&li(t,a,r,l),qo=!1;var f=t.memoizedState;u=a.state=f;var p=t.updateQueue;null!==p&&(na(t,p,r,a,i),u=t.memoizedState),s!==r||f!==u||Cr.current||qo?("function"==typeof c&&(oi(t,n,c,r),u=t.memoizedState),(s=qo||si(t,n,s,r,f,u,l))?(d||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||("function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"==typeof a.componentDidMount&&(t.effectTag|=4)):("function"==typeof a.componentDidMount&&(t.effectTag|=4),t.memoizedProps=r,t.memoizedState=u),a.props=r,a.state=u,a.context=l,r=s):("function"==typeof a.componentDidMount&&(t.effectTag|=4),r=!1)}else a=t.stateNode,s=t.memoizedProps,a.props=t.type===t.elementType?s:ri(t.type,s),u=a.context,"object"==typeof(l=n.contextType)&&null!==l?l=zo(l):l=$r(t,l=jr(n)?Or:Tr.current),(d="function"==typeof(c=n.getDerivedStateFromProps)||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(s!==r||u!==l)&&li(t,a,r,l),qo=!1,u=t.memoizedState,f=a.state=u,null!==(p=t.updateQueue)&&(na(t,p,r,a,i),f=t.memoizedState),s!==r||u!==f||Cr.current||qo?("function"==typeof c&&(oi(t,n,c,r),f=t.memoizedState),(c=qo||si(t,n,s,r,u,f,l))?(d||"function"!=typeof a.UNSAFE_componentWillUpdate&&"function"!=typeof a.componentWillUpdate||("function"==typeof a.componentWillUpdate&&a.componentWillUpdate(r,f,l),"function"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(r,f,l)),"function"==typeof a.componentDidUpdate&&(t.effectTag|=4),"function"==typeof a.getSnapshotBeforeUpdate&&(t.effectTag|=256)):("function"!=typeof a.componentDidUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),"function"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),t.memoizedProps=r,t.memoizedState=f),a.props=r,a.state=f,a.context=l,r=c):("function"!=typeof a.componentDidUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),"function"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),r=!1);return To(e,t,n,r,o,i)}function To(e,t,n,r,i,o){Lo(e,t);var a=0!=(64&t.effectTag);if(!r&&!a)return i&&Yr(t,n,!1),$o(e,t,o);r=t.stateNode,wo.current=t;var s=a&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.effectTag|=1,null!==e&&a?(t.child=mi(t,e.child,null,o),t.child=mi(t,null,s,o)):xo(e,t,s,o),t.memoizedState=r.state,i&&Yr(t,n,!0),t.child}function Co(e){var t=e.stateNode;t.pendingContext?Nr(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Nr(0,t.context,!1),Ai(e,t.containerInfo)}function Oo(e,t,n){var r=t.mode,i=t.pendingProps,o=t.memoizedState;if(0==(64&t.effectTag)){o=null;var a=!1}else o={timedOutAt:null!==o?o.timedOutAt:0},a=!0,t.effectTag&=-65;if(null===e)if(a){var s=i.fallback;e=Gr(null,r,0,null),0==(1&t.mode)&&(e.child=null!==t.memoizedState?t.child.child:t.child),r=Gr(s,r,n,null),e.sibling=r,(n=e).return=r.return=t}else n=r=gi(t,null,i.children,n);else null!==e.memoizedState?(s=(r=e.child).sibling,a?(n=i.fallback,i=qr(r,r.pendingProps),0==(1&t.mode)&&((a=null!==t.memoizedState?t.child.child:t.child)!==r.child&&(i.child=a)),r=i.sibling=qr(s,n,s.expirationTime),n=i,i.childExpirationTime=0,n.return=r.return=t):n=r=mi(t,r.child,i.children,n)):(s=e.child,a?(a=i.fallback,(i=Gr(null,r,0,null)).child=s,0==(1&t.mode)&&(i.child=null!==t.memoizedState?t.child.child:t.child),(r=i.sibling=Gr(a,r,n,null)).effectTag|=2,n=i,i.childExpirationTime=0,n.return=r.return=t):r=n=mi(t,s,i.children,n)),t.stateNode=e.stateNode;return t.memoizedState=o,t.child=n,r}function $o(e,t,n){if(null!==e&&(t.contextDependencies=e.contextDependencies),t.childExpirationTime<n)return null;if(null!==e&&t.child!==e.child&&a("153"),null!==t.child){for(n=qr(e=t.child,e.pendingProps,e.expirationTime),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=qr(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}function jo(e,t,n){var r=t.expirationTime;if(null!==e){if(e.memoizedProps!==t.pendingProps||Cr.current)Ao=!0;else if(r<n){switch(Ao=!1,t.tag){case 3:Co(t),_o();break;case 5:ki(t);break;case 1:jr(t.type)&&Rr(t);break;case 4:Ai(t,t.stateNode.containerInfo);break;case 10:Ro(t,t.memoizedProps.value);break;case 13:if(null!==t.memoizedState)return 0!==(r=t.child.childExpirationTime)&&r>=n?Oo(e,t,n):null!==(t=$o(e,t,n))?t.sibling:null}return $o(e,t,n)}}else Ao=!1;switch(t.expirationTime=0,t.tag){case 2:r=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps;var i=$r(t,Tr.current);if(Bo(t,n),i=Vi(null,t,r,e,i,n),t.effectTag|=1,"object"==typeof i&&null!==i&&"function"==typeof i.render&&void 0===i.$$typeof){if(t.tag=1,Ji(),jr(r)){var o=!0;Rr(t)}else o=!1;t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null;var s=r.getDerivedStateFromProps;"function"==typeof s&&oi(t,r,s,e),i.updater=ai,t.stateNode=i,i._reactInternalFiber=t,ci(t,r,e,n),t=To(null,t,r,!0,o,n)}else t.tag=0,xo(null,t,i,n),t=t.child;return t;case 16:switch(i=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),o=t.pendingProps,e=function(e){var t=e._result;switch(e._status){case 1:return t;case 2:case 0:throw t;default:switch(e._status=0,(t=(t=e._ctor)()).then(function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)},function(t){0===e._status&&(e._status=2,e._result=t)}),e._status){case 1:return e._result;case 2:throw e._result}throw e._result=t,t}}(i),t.type=e,i=t.tag=function(e){if("function"==typeof e)return Kr(e)?1:0;if(null!=e){if((e=e.$$typeof)===tt)return 11;if(e===rt)return 14}return 2}(e),o=ri(e,o),s=void 0,i){case 0:s=So(null,t,e,o,n);break;case 1:s=Do(null,t,e,o,n);break;case 11:s=ko(null,t,e,o,n);break;case 14:s=Mo(null,t,e,ri(e.type,o),r,n);break;default:a("306",e,"")}return s;case 0:return r=t.type,i=t.pendingProps,So(e,t,r,i=t.elementType===r?i:ri(r,i),n);case 1:return r=t.type,i=t.pendingProps,Do(e,t,r,i=t.elementType===r?i:ri(r,i),n);case 3:return Co(t),null===(r=t.updateQueue)&&a("282"),i=null!==(i=t.memoizedState)?i.element:null,na(t,r,t.pendingProps,null,n),(r=t.memoizedState.element)===i?(_o(),t=$o(e,t,n)):(i=t.stateNode,(i=(null===e||null===e.child)&&i.hydrate)&&(po=kr(t.stateNode.containerInfo),fo=t,i=ho=!0),i?(t.effectTag|=2,t.child=gi(t,null,r,n)):(xo(e,t,r,n),_o()),t=t.child),t;case 5:return ki(t),null===e&&yo(t),r=t.type,i=t.pendingProps,o=null!==e?e.memoizedProps:null,s=i.children,vr(r,i)?s=null:null!==o&&vr(r,o)&&(t.effectTag|=16),Lo(e,t),1!==n&&1&t.mode&&i.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(xo(e,t,s,n),t=t.child),t;case 6:return null===e&&yo(t),null;case 13:return Oo(e,t,n);case 4:return Ai(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=mi(t,null,r,n):xo(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,ko(e,t,r,i=t.elementType===r?i:ri(r,i),n);case 7:return xo(e,t,t.pendingProps,n),t.child;case 8:case 12:return xo(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,s=t.memoizedProps,Ro(t,o=i.value),null!==s){var u=s.value;if(0===(o=Qt(u,o)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(u,o):1073741823))){if(s.children===i.children&&!Cr.current){t=$o(e,t,n);break e}}else for(null!==(u=t.child)&&(u.return=t);null!==u;){var l=u.contextDependencies;if(null!==l){s=u.child;for(var c=l.first;null!==c;){if(c.context===r&&0!=(c.observedBits&o)){1===u.tag&&((c=Vo(n)).tag=Zo,Qo(u,c)),u.expirationTime<n&&(u.expirationTime=n),null!==(c=u.alternate)&&c.expirationTime<n&&(c.expirationTime=n),c=n;for(var d=u.return;null!==d;){var f=d.alternate;if(d.childExpirationTime<c)d.childExpirationTime=c,null!==f&&f.childExpirationTime<c&&(f.childExpirationTime=c);else{if(!(null!==f&&f.childExpirationTime<c))break;f.childExpirationTime=c}d=d.return}l.expirationTime<n&&(l.expirationTime=n);break}c=c.next}}else s=10===u.tag&&u.type===t.type?null:u.child;if(null!==s)s.return=u;else for(s=u;null!==s;){if(s===t){s=null;break}if(null!==(u=s.sibling)){u.return=s.return,s=u;break}s=s.return}u=s}}xo(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=(o=t.pendingProps).children,Bo(t,n),r=r(i=zo(i,o.unstable_observedBits)),t.effectTag|=1,xo(e,t,r,n),t.child;case 14:return o=ri(i=t.type,t.pendingProps),Mo(e,t,i,o=ri(i.type,o),r,n);case 15:return Eo(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ri(r,i),null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,jr(r)?(e=!0,Rr(t)):e=!1,Bo(t,n),ui(t,r,i),ci(t,r,i,n),To(null,t,r,!0,e,n)}a("156")}var Po={current:null},Io=null,No=null,Fo=null;function Ro(e,t){var n=e.type._context;Sr(Po,n._currentValue),n._currentValue=t}function Yo(e){var t=Po.current;Lr(Po),e.type._context._currentValue=t}function Bo(e,t){Io=e,Fo=No=null;var n=e.contextDependencies;null!==n&&n.expirationTime>=t&&(Ao=!0),e.contextDependencies=null}function zo(e,t){return Fo!==e&&!1!==t&&0!==t&&("number"==typeof t&&1073741823!==t||(Fo=e,t=1073741823),t={context:e,observedBits:t,next:null},null===No?(null===Io&&a("308"),No=t,Io.contextDependencies={first:t,expirationTime:0}):No=No.next=t),e._currentValue}var Ho=0,Uo=1,Zo=2,Ko=3,qo=!1;function Wo(e){return{baseState:e,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Go(e){return{baseState:e.baseState,firstUpdate:e.firstUpdate,lastUpdate:e.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Vo(e){return{expirationTime:e,tag:Ho,payload:null,callback:null,next:null,nextEffect:null}}function Jo(e,t){null===e.lastUpdate?e.firstUpdate=e.lastUpdate=t:(e.lastUpdate.next=t,e.lastUpdate=t)}function Qo(e,t){var n=e.alternate;if(null===n){var r=e.updateQueue,i=null;null===r&&(r=e.updateQueue=Wo(e.memoizedState))}else r=e.updateQueue,i=n.updateQueue,null===r?null===i?(r=e.updateQueue=Wo(e.memoizedState),i=n.updateQueue=Wo(n.memoizedState)):r=e.updateQueue=Go(i):null===i&&(i=n.updateQueue=Go(r));null===i||r===i?Jo(r,t):null===r.lastUpdate||null===i.lastUpdate?(Jo(r,t),Jo(i,t)):(Jo(r,t),i.lastUpdate=t)}function Xo(e,t){var n=e.updateQueue;null===(n=null===n?e.updateQueue=Wo(e.memoizedState):ea(e,n)).lastCapturedUpdate?n.firstCapturedUpdate=n.lastCapturedUpdate=t:(n.lastCapturedUpdate.next=t,n.lastCapturedUpdate=t)}function ea(e,t){var n=e.alternate;return null!==n&&t===n.updateQueue&&(t=e.updateQueue=Go(t)),t}function ta(e,t,n,r,o,a){switch(n.tag){case Uo:return"function"==typeof(e=n.payload)?e.call(a,r,o):e;case Ko:e.effectTag=-2049&e.effectTag|64;case Ho:if(null==(o="function"==typeof(e=n.payload)?e.call(a,r,o):e))break;return i({},r,o);case Zo:qo=!0}return r}function na(e,t,n,r,i){qo=!1;for(var o=(t=ea(e,t)).baseState,a=null,s=0,u=t.firstUpdate,l=o;null!==u;){var c=u.expirationTime;c<i?(null===a&&(a=u,o=l),s<c&&(s=c)):(l=ta(e,0,u,l,n,r),null!==u.callback&&(e.effectTag|=32,u.nextEffect=null,null===t.lastEffect?t.firstEffect=t.lastEffect=u:(t.lastEffect.nextEffect=u,t.lastEffect=u))),u=u.next}for(c=null,u=t.firstCapturedUpdate;null!==u;){var d=u.expirationTime;d<i?(null===c&&(c=u,null===a&&(o=l)),s<d&&(s=d)):(l=ta(e,0,u,l,n,r),null!==u.callback&&(e.effectTag|=32,u.nextEffect=null,null===t.lastCapturedEffect?t.firstCapturedEffect=t.lastCapturedEffect=u:(t.lastCapturedEffect.nextEffect=u,t.lastCapturedEffect=u))),u=u.next}null===a&&(t.lastUpdate=null),null===c?t.lastCapturedUpdate=null:e.effectTag|=32,null===a&&null===c&&(o=l),t.baseState=o,t.firstUpdate=a,t.firstCapturedUpdate=c,e.expirationTime=s,e.memoizedState=l}function ra(e,t,n){null!==t.firstCapturedUpdate&&(null!==t.lastUpdate&&(t.lastUpdate.next=t.firstCapturedUpdate,t.lastUpdate=t.lastCapturedUpdate),t.firstCapturedUpdate=t.lastCapturedUpdate=null),ia(t.firstEffect,n),t.firstEffect=t.lastEffect=null,ia(t.firstCapturedEffect,n),t.firstCapturedEffect=t.lastCapturedEffect=null}function ia(e,t){for(;null!==e;){var n=e.callback;if(null!==n){e.callback=null;var r=t;"function"!=typeof n&&a("191",n),n.call(r)}e=e.nextEffect}}function oa(e,t){return{value:e,source:t,stack:ut(t)}}function aa(e){e.effectTag|=4}var sa=void 0,ua=void 0,la=void 0,ca=void 0;sa=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},ua=function(){},la=function(e,t,n,r,o){var a=e.memoizedProps;if(a!==r){var s=t.stateNode;switch(wi(vi.current),e=null,n){case"input":a=bt(s,a),r=bt(s,r),e=[];break;case"option":a=qn(s,a),r=qn(s,r),e=[];break;case"select":a=i({},a,{value:void 0}),r=i({},r,{value:void 0}),e=[];break;case"textarea":a=Gn(s,a),r=Gn(s,r),e=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(s.onclick=hr)}dr(n,r),s=n=void 0;var u=null;for(n in a)if(!r.hasOwnProperty(n)&&a.hasOwnProperty(n)&&null!=a[n])if("style"===n){var l=a[n];for(s in l)l.hasOwnProperty(s)&&(u||(u={}),u[s]="")}else"dangerouslySetInnerHTML"!==n&&"children"!==n&&"suppressContentEditableWarning"!==n&&"suppressHydrationWarning"!==n&&"autoFocus"!==n&&(b.hasOwnProperty(n)?e||(e=[]):(e=e||[]).push(n,null));for(n in r){var c=r[n];if(l=null!=a?a[n]:void 0,r.hasOwnProperty(n)&&c!==l&&(null!=c||null!=l))if("style"===n)if(l){for(s in l)!l.hasOwnProperty(s)||c&&c.hasOwnProperty(s)||(u||(u={}),u[s]="");for(s in c)c.hasOwnProperty(s)&&l[s]!==c[s]&&(u||(u={}),u[s]=c[s])}else u||(e||(e=[]),e.push(n,u)),u=c;else"dangerouslySetInnerHTML"===n?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(e=e||[]).push(n,""+c)):"children"===n?l===c||"string"!=typeof c&&"number"!=typeof c||(e=e||[]).push(n,""+c):"suppressContentEditableWarning"!==n&&"suppressHydrationWarning"!==n&&(b.hasOwnProperty(n)?(null!=c&&pr(o,n),e||l===c||(e=[])):(e=e||[]).push(n,c))}u&&(e=e||[]).push("style",u),o=e,(t.updateQueue=o)&&aa(t)}},ca=function(e,t,n,r){n!==r&&aa(t)};var da="function"==typeof WeakSet?WeakSet:Set;function fa(e,t){var n=t.source,r=t.stack;null===r&&null!==n&&(r=ut(n)),null!==n&&st(n.type),t=t.value,null!==e&&1===e.tag&&st(e.type);try{console.error(t)}catch(e){setTimeout(function(){throw e})}}function pa(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(t){Wa(e,t)}else t.current=null}function ha(e,t,n){if(null!==(n=null!==(n=n.updateQueue)?n.lastEffect:null)){var r=n=n.next;do{if((r.tag&e)!==Ei){var i=r.destroy;r.destroy=void 0,void 0!==i&&i()}(r.tag&t)!==Ei&&(i=r.create,r.destroy=i()),r=r.next}while(r!==n)}}function ma(e){switch("function"==typeof zr&&zr(e),e.tag){case 0:case 11:case 14:case 15:var t=e.updateQueue;if(null!==t&&null!==(t=t.lastEffect)){var n=t=t.next;do{var r=n.destroy;if(void 0!==r){var i=e;try{r()}catch(e){Wa(i,e)}}n=n.next}while(n!==t)}break;case 1:if(pa(e),"function"==typeof(t=e.stateNode).componentWillUnmount)try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(t){Wa(e,t)}break;case 5:pa(e);break;case 4:va(e)}}function ga(e){return 5===e.tag||3===e.tag||4===e.tag}function ya(e){e:{for(var t=e.return;null!==t;){if(ga(t)){var n=t;break e}t=t.return}a("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:a("161")}16&n.effectTag&&(or(t,""),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||ga(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)if(n)if(r){var o=t,s=i.stateNode,u=n;8===o.nodeType?o.parentNode.insertBefore(s,u):o.insertBefore(s,u)}else t.insertBefore(i.stateNode,n);else r?(s=t,u=i.stateNode,8===s.nodeType?(o=s.parentNode).insertBefore(u,s):(o=s).appendChild(u),null!=(s=s._reactRootContainer)||null!==o.onclick||(o.onclick=hr)):t.appendChild(i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}}function va(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&a("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag){e:for(var o=t,s=o;;)if(ma(s),null!==s.child&&4!==s.tag)s.child.return=s,s=s.child;else{if(s===o)break;for(;null===s.sibling;){if(null===s.return||s.return===o)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}i?(o=r,s=t.stateNode,8===o.nodeType?o.parentNode.removeChild(s):o.removeChild(s)):r.removeChild(t.stateNode)}else if(4===t.tag){if(null!==t.child){r=t.stateNode.containerInfo,i=!0,t.child.return=t,t=t.child;continue}}else if(ma(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}function ba(e,t){switch(t.tag){case 0:case 11:case 14:case 15:ha(Si,Di,t);break;case 1:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&function(e,t,n,r,i){e[j]=i,"input"===n&&"radio"===i.type&&null!=i.name&&wt(e,i),fr(n,r),r=fr(n,i);for(var o=0;o<t.length;o+=2){var a=t[o],s=t[o+1];"style"===a?lr(e,s):"dangerouslySetInnerHTML"===a?ir(e,s):"children"===a?or(e,s):yt(e,a,s,r)}switch(n){case"input":At(e,i);break;case"textarea":Jn(e,i);break;case"select":t=e._wrapperState.wasMultiple,e._wrapperState.wasMultiple=!!i.multiple,null!=(n=i.value)?Wn(e,!!i.multiple,n,!1):t!==!!i.multiple&&(null!=i.defaultValue?Wn(e,!!i.multiple,i.defaultValue,!0):Wn(e,!!i.multiple,i.multiple?[]:"",!1))}}(n,o,i,e,r)}break;case 6:null===t.stateNode&&a("162"),t.stateNode.nodeValue=t.memoizedProps;break;case 3:case 12:break;case 13:if(n=t.memoizedState,r=void 0,e=t,null===n?r=!1:(r=!0,e=t.child,0===n.timedOutAt&&(n.timedOutAt=As())),null!==e&&function(e,t){for(var n=e;;){if(5===n.tag){var r=n.stateNode;if(t)r.style.display="none";else{r=n.stateNode;var i=n.memoizedProps.style;i=null!=i&&i.hasOwnProperty("display")?i.display:null,r.style.display=ur("display",i)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else{if(13===n.tag&&null!==n.memoizedState){(r=n.child.sibling).return=n,n=r;continue}if(null!==n.child){n.child.return=n,n=n.child;continue}}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}(e,r),null!==(n=t.updateQueue)){t.updateQueue=null;var s=t.stateNode;null===s&&(s=t.stateNode=new da),n.forEach(function(e){var n=function(e,t){var n=e.stateNode;null!==n&&n.delete(t),t=Ga(t=As(),e),null!==(e=Ja(e,t))&&(Xr(e,t),0!==(t=e.expirationTime)&&xs(e,t))}.bind(null,t,e);s.has(e)||(s.add(e),e.then(n,n))})}break;case 17:break;default:a("163")}}var _a="function"==typeof WeakMap?WeakMap:Map;function wa(e,t,n){(n=Vo(n)).tag=Ko,n.payload={element:null};var r=t.value;return n.callback=function(){Os(r),fa(e,t)},n}function Aa(e,t,n){(n=Vo(n)).tag=Ko;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var i=t.value;n.payload=function(){return r(i)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===Fa?Fa=new Set([this]):Fa.add(this));var n=t.value,i=t.stack;fa(e,t),this.componentDidCatch(n,{componentStack:null!==i?i:""})}),n}function xa(e){switch(e.tag){case 1:jr(e.type)&&Pr();var t=e.effectTag;return 2048&t?(e.effectTag=-2049&t|64,e):null;case 3:return xi(),Ir(),0!=(64&(t=e.effectTag))&&a("285"),e.effectTag=-2049&t|64,e;case 5:return Mi(e),null;case 13:return 2048&(t=e.effectTag)?(e.effectTag=-2049&t|64,e):null;case 18:return null;case 4:return xi(),null;case 10:return Yo(e),null;default:return null}}var ka=Ue.ReactCurrentDispatcher,Ma=Ue.ReactCurrentOwner,Ea=1073741822,La=!1,Sa=null,Da=null,Ta=0,Ca=-1,Oa=!1,$a=null,ja=!1,Pa=null,Ia=null,Na=null,Fa=null;function Ra(){if(null!==Sa)for(var e=Sa.return;null!==e;){var t=e;switch(t.tag){case 1:var n=t.type.childContextTypes;null!=n&&Pr();break;case 3:xi(),Ir();break;case 5:Mi(t);break;case 4:xi();break;case 10:Yo(t)}e=e.return}Da=null,Ta=0,Ca=-1,Oa=!1,Sa=null}function Ya(){for(;null!==$a;){var e=$a.effectTag;if(16&e&&or($a.stateNode,""),128&e){var t=$a.alternate;null!==t&&(null!==(t=t.ref)&&("function"==typeof t?t(null):t.current=null))}switch(14&e){case 2:ya($a),$a.effectTag&=-3;break;case 6:ya($a),$a.effectTag&=-3,ba($a.alternate,$a);break;case 4:ba($a.alternate,$a);break;case 8:va(e=$a),e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null,null!==(e=e.alternate)&&(e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null)}$a=$a.nextEffect}}function Ba(){for(;null!==$a;){if(256&$a.effectTag)e:{var e=$a.alternate,t=$a;switch(t.tag){case 0:case 11:case 15:ha(Li,Ei,t);break e;case 1:if(256&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:ri(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}break e;case 3:case 5:case 6:case 4:case 17:break e;default:a("163")}}$a=$a.nextEffect}}function za(e,t){for(;null!==$a;){var n=$a.effectTag;if(36&n){var r=$a.alternate,i=$a,o=t;switch(i.tag){case 0:case 11:case 15:ha(Ti,Ci,i);break;case 1:var s=i.stateNode;if(4&i.effectTag)if(null===r)s.componentDidMount();else{var u=i.elementType===i.type?r.memoizedProps:ri(i.type,r.memoizedProps);s.componentDidUpdate(u,r.memoizedState,s.__reactInternalSnapshotBeforeUpdate)}null!==(r=i.updateQueue)&&ra(0,r,s);break;case 3:if(null!==(r=i.updateQueue)){if(s=null,null!==i.child)switch(i.child.tag){case 5:s=i.child.stateNode;break;case 1:s=i.child.stateNode}ra(0,r,s)}break;case 5:o=i.stateNode,null===r&&4&i.effectTag&&yr(i.type,i.memoizedProps)&&o.focus();break;case 6:case 4:case 12:case 13:case 17:break;default:a("163")}}128&n&&(null!==(i=$a.ref)&&(o=$a.stateNode,"function"==typeof i?i(o):i.current=o)),512&n&&(Pa=e),$a=$a.nextEffect}}function Ha(){null!==Ia&&Ar(Ia),null!==Na&&Na()}function Ua(e,t){ja=La=!0,e.current===t&&a("177");var n=e.pendingCommitExpirationTime;0===n&&a("261"),e.pendingCommitExpirationTime=0;var r=t.expirationTime,i=t.childExpirationTime;for(function(e,t){if(e.didError=!1,0===t)e.earliestPendingTime=0,e.latestPendingTime=0,e.earliestSuspendedTime=0,e.latestSuspendedTime=0,e.latestPingedTime=0;else{t<e.latestPingedTime&&(e.latestPingedTime=0);var n=e.latestPendingTime;0!==n&&(n>t?e.earliestPendingTime=e.latestPendingTime=0:e.earliestPendingTime>t&&(e.earliestPendingTime=e.latestPendingTime)),0===(n=e.earliestSuspendedTime)?Xr(e,t):t<e.latestSuspendedTime?(e.earliestSuspendedTime=0,e.latestSuspendedTime=0,e.latestPingedTime=0,Xr(e,t)):t>n&&Xr(e,t)}ni(0,e)}(e,i>r?i:r),Ma.current=null,r=void 0,1<t.effectTag?null!==t.lastEffect?(t.lastEffect.nextEffect=t,r=t.firstEffect):r=t:r=t.firstEffect,mr=kn,gr=function(){var e=In();if(Nn(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{var n=(t=(t=e.ownerDocument)&&t.defaultView||window).getSelection&&t.getSelection();if(n&&0!==n.rangeCount){t=n.anchorNode;var r=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{t.nodeType,i.nodeType}catch(e){t=null;break e}var o=0,a=-1,s=-1,u=0,l=0,c=e,d=null;t:for(;;){for(var f;c!==t||0!==r&&3!==c.nodeType||(a=o+r),c!==i||0!==n&&3!==c.nodeType||(s=o+n),3===c.nodeType&&(o+=c.nodeValue.length),null!==(f=c.firstChild);)d=c,c=f;for(;;){if(c===e)break t;if(d===t&&++u===r&&(a=o),d===i&&++l===n&&(s=o),null!==(f=c.nextSibling))break;d=(c=d).parentNode}c=f}t=-1===a||-1===s?null:{start:a,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;return{focusedElem:e,selectionRange:t}}(),kn=!1,$a=r;null!==$a;){i=!1;var s=void 0;try{Ba()}catch(e){i=!0,s=e}i&&(null===$a&&a("178"),Wa($a,s),null!==$a&&($a=$a.nextEffect))}for($a=r;null!==$a;){i=!1,s=void 0;try{Ya()}catch(e){i=!0,s=e}i&&(null===$a&&a("178"),Wa($a,s),null!==$a&&($a=$a.nextEffect))}for(Fn(gr),gr=null,kn=!!mr,mr=null,e.current=t,$a=r;null!==$a;){i=!1,s=void 0;try{za(e,n)}catch(e){i=!0,s=e}i&&(null===$a&&a("178"),Wa($a,s),null!==$a&&($a=$a.nextEffect))}if(null!==r&&null!==Pa){var u=function(e,t){Na=Ia=Pa=null;var n=is;is=!0;do{if(512&t.effectTag){var r=!1,i=void 0;try{var o=t;ha($i,Ei,o),ha(Ei,Oi,o)}catch(e){r=!0,i=e}r&&Wa(t,i)}t=t.nextEffect}while(null!==t);is=n,0!==(n=e.expirationTime)&&xs(e,n),cs||is||Ss(1073741823,!1)}.bind(null,e,r);Ia=o.unstable_runWithPriority(o.unstable_NormalPriority,function(){return wr(u)}),Na=u}La=ja=!1,"function"==typeof Br&&Br(t.stateNode),n=t.expirationTime,0===(t=(t=t.childExpirationTime)>n?t:n)&&(Fa=null),function(e,t){e.expirationTime=t,e.finishedWork=null}(e,t)}function Za(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(1024&e.effectTag)){Sa=e;e:{var o=t,s=Ta,u=(t=e).pendingProps;switch(t.tag){case 2:case 16:break;case 15:case 0:break;case 1:jr(t.type)&&Pr();break;case 3:xi(),Ir(),(u=t.stateNode).pendingContext&&(u.context=u.pendingContext,u.pendingContext=null),null!==o&&null!==o.child||(bo(t),t.effectTag&=-3),ua(t);break;case 5:Mi(t);var l=wi(_i.current);if(s=t.type,null!==o&&null!=t.stateNode)la(o,t,s,u,l),o.ref!==t.ref&&(t.effectTag|=128);else if(u){var c=wi(vi.current);if(bo(t)){o=(u=t).stateNode;var d=u.type,f=u.memoizedProps,p=l;switch(o[$]=u,o[j]=f,s=void 0,l=d){case"iframe":case"object":Mn("load",o);break;case"video":case"audio":for(d=0;d<te.length;d++)Mn(te[d],o);break;case"source":Mn("error",o);break;case"img":case"image":case"link":Mn("error",o),Mn("load",o);break;case"form":Mn("reset",o),Mn("submit",o);break;case"details":Mn("toggle",o);break;case"input":_t(o,f),Mn("invalid",o),pr(p,"onChange");break;case"select":o._wrapperState={wasMultiple:!!f.multiple},Mn("invalid",o),pr(p,"onChange");break;case"textarea":Vn(o,f),Mn("invalid",o),pr(p,"onChange")}for(s in dr(l,f),d=null,f)f.hasOwnProperty(s)&&(c=f[s],"children"===s?"string"==typeof c?o.textContent!==c&&(d=["children",c]):"number"==typeof c&&o.textContent!==""+c&&(d=["children",""+c]):b.hasOwnProperty(s)&&null!=c&&pr(p,s));switch(l){case"input":ze(o),xt(o,f,!0);break;case"textarea":ze(o),Qn(o);break;case"select":case"option":break;default:"function"==typeof f.onClick&&(o.onclick=hr)}s=d,u.updateQueue=s,(u=null!==s)&&aa(t)}else{f=t,p=s,o=u,d=9===l.nodeType?l:l.ownerDocument,c===Xn.html&&(c=er(p)),c===Xn.html?"script"===p?((o=d.createElement("div")).innerHTML="<script><\/script>",d=o.removeChild(o.firstChild)):"string"==typeof o.is?d=d.createElement(p,{is:o.is}):(d=d.createElement(p),"select"===p&&(p=d,o.multiple?p.multiple=!0:o.size&&(p.size=o.size))):d=d.createElementNS(c,p),(o=d)[$]=f,o[j]=u,sa(o,t,!1,!1),p=o;var h=l,m=fr(d=s,f=u);switch(d){case"iframe":case"object":Mn("load",p),l=f;break;case"video":case"audio":for(l=0;l<te.length;l++)Mn(te[l],p);l=f;break;case"source":Mn("error",p),l=f;break;case"img":case"image":case"link":Mn("error",p),Mn("load",p),l=f;break;case"form":Mn("reset",p),Mn("submit",p),l=f;break;case"details":Mn("toggle",p),l=f;break;case"input":_t(p,f),l=bt(p,f),Mn("invalid",p),pr(h,"onChange");break;case"option":l=qn(p,f);break;case"select":p._wrapperState={wasMultiple:!!f.multiple},l=i({},f,{value:void 0}),Mn("invalid",p),pr(h,"onChange");break;case"textarea":Vn(p,f),l=Gn(p,f),Mn("invalid",p),pr(h,"onChange");break;default:l=f}dr(d,l),c=void 0;var g=d,y=p,v=l;for(c in v)if(v.hasOwnProperty(c)){var _=v[c];"style"===c?lr(y,_):"dangerouslySetInnerHTML"===c?null!=(_=_?_.__html:void 0)&&ir(y,_):"children"===c?"string"==typeof _?("textarea"!==g||""!==_)&&or(y,_):"number"==typeof _&&or(y,""+_):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(b.hasOwnProperty(c)?null!=_&&pr(h,c):null!=_&&yt(y,c,_,m))}switch(d){case"input":ze(p),xt(p,f,!1);break;case"textarea":ze(p),Qn(p);break;case"option":null!=f.value&&p.setAttribute("value",""+vt(f.value));break;case"select":(l=p).multiple=!!f.multiple,null!=(p=f.value)?Wn(l,!!f.multiple,p,!1):null!=f.defaultValue&&Wn(l,!!f.multiple,f.defaultValue,!0);break;default:"function"==typeof l.onClick&&(p.onclick=hr)}(u=yr(s,u))&&aa(t),t.stateNode=o}null!==t.ref&&(t.effectTag|=128)}else null===t.stateNode&&a("166");break;case 6:o&&null!=t.stateNode?ca(o,t,o.memoizedProps,u):("string"!=typeof u&&(null===t.stateNode&&a("166")),o=wi(_i.current),wi(vi.current),bo(t)?(s=(u=t).stateNode,o=u.memoizedProps,s[$]=u,(u=s.nodeValue!==o)&&aa(t)):(s=t,(u=(9===o.nodeType?o:o.ownerDocument).createTextNode(u))[$]=t,s.stateNode=u));break;case 11:break;case 13:if(u=t.memoizedState,0!=(64&t.effectTag)){t.expirationTime=s,Sa=t;break e}u=null!==u,s=null!==o&&null!==o.memoizedState,null!==o&&!u&&s&&(null!==(o=o.child.sibling)&&(null!==(l=t.firstEffect)?(t.firstEffect=o,o.nextEffect=l):(t.firstEffect=t.lastEffect=o,o.nextEffect=null),o.effectTag=8)),(u||s)&&(t.effectTag|=4);break;case 7:case 8:case 12:break;case 4:xi(),ua(t);break;case 10:Yo(t);break;case 9:case 14:break;case 17:jr(t.type)&&Pr();break;case 18:break;default:a("156")}Sa=null}if(t=e,1===Ta||1!==t.childExpirationTime){for(u=0,s=t.child;null!==s;)(o=s.expirationTime)>u&&(u=o),(l=s.childExpirationTime)>u&&(u=l),s=s.sibling;t.childExpirationTime=u}if(null!==Sa)return Sa;null!==n&&0==(1024&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1<e.effectTag&&(null!==n.lastEffect?n.lastEffect.nextEffect=e:n.firstEffect=e,n.lastEffect=e))}else{if(null!==(e=xa(e)))return e.effectTag&=1023,e;null!==n&&(n.firstEffect=n.lastEffect=null,n.effectTag|=1024)}if(null!==r)return r;if(null===n)break;e=n}return null}function Ka(e){var t=jo(e.alternate,e,Ta);return e.memoizedProps=e.pendingProps,null===t&&(t=Za(e)),Ma.current=null,t}function qa(e,t){La&&a("243"),Ha(),La=!0;var n=ka.current;ka.current=uo;var r=e.nextExpirationTimeToWorkOn;r===Ta&&e===Da&&null!==Sa||(Ra(),Ta=r,Sa=qr((Da=e).current,null),e.pendingCommitExpirationTime=0);for(var i=!1;;){try{if(t)for(;null!==Sa&&!Es();)Sa=Ka(Sa);else for(;null!==Sa;)Sa=Ka(Sa)}catch(t){if(Fo=No=Io=null,Ji(),null===Sa)i=!0,Os(t);else{null===Sa&&a("271");var o=Sa,s=o.return;if(null!==s){e:{var u=e,l=s,c=o,d=t;if(s=Ta,c.effectTag|=1024,c.firstEffect=c.lastEffect=null,null!==d&&"object"==typeof d&&"function"==typeof d.then){var f=d;d=l;var p=-1,h=-1;do{if(13===d.tag){var m=d.alternate;if(null!==m&&null!==(m=m.memoizedState)){h=10*(1073741822-m.timedOutAt);break}"number"==typeof(m=d.pendingProps.maxDuration)&&(0>=m?p=0:(-1===p||m<p)&&(p=m))}d=d.return}while(null!==d);d=l;do{if((m=13===d.tag)&&(m=void 0!==d.memoizedProps.fallback&&null===d.memoizedState),m){if(null===(l=d.updateQueue)?((l=new Set).add(f),d.updateQueue=l):l.add(f),0==(1&d.mode)){d.effectTag|=64,c.effectTag&=-1957,1===c.tag&&(null===c.alternate?c.tag=17:((s=Vo(1073741823)).tag=Zo,Qo(c,s))),c.expirationTime=1073741823;break e}l=s;var g=(c=u).pingCache;null===g?(g=c.pingCache=new _a,m=new Set,g.set(f,m)):void 0===(m=g.get(f))&&(m=new Set,g.set(f,m)),m.has(l)||(m.add(l),c=Va.bind(null,c,f,l),f.then(c,c)),-1===p?u=1073741823:(-1===h&&(h=10*(1073741822-ti(u,s))-5e3),u=h+p),0<=u&&Ca<u&&(Ca=u),d.effectTag|=2048,d.expirationTime=s;break e}d=d.return}while(null!==d);d=Error((st(c.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+ut(c))}Oa=!0,d=oa(d,c),u=l;do{switch(u.tag){case 3:u.effectTag|=2048,u.expirationTime=s,Xo(u,s=wa(u,d,s));break e;case 1:if(p=d,h=u.type,c=u.stateNode,0==(64&u.effectTag)&&("function"==typeof h.getDerivedStateFromError||null!==c&&"function"==typeof c.componentDidCatch&&(null===Fa||!Fa.has(c)))){u.effectTag|=2048,u.expirationTime=s,Xo(u,s=Aa(u,p,s));break e}}u=u.return}while(null!==u)}Sa=Za(o);continue}i=!0,Os(t)}}break}if(La=!1,ka.current=n,Fo=No=Io=null,Ji(),i)Da=null,e.finishedWork=null;else if(null!==Sa)e.finishedWork=null;else{if(null===(n=e.current.alternate)&&a("281"),Da=null,Oa){if(i=e.latestPendingTime,o=e.latestSuspendedTime,s=e.latestPingedTime,0!==i&&i<r||0!==o&&o<r||0!==s&&s<r)return ei(e,r),void ws(e,n,r,e.expirationTime,-1);if(!e.didError&&t)return e.didError=!0,r=e.nextExpirationTimeToWorkOn=r,t=e.expirationTime=1073741823,void ws(e,n,r,t,-1)}t&&-1!==Ca?(ei(e,r),(t=10*(1073741822-ti(e,r)))<Ca&&(Ca=t),t=10*(1073741822-As()),t=Ca-t,ws(e,n,r,e.expirationTime,0>t?0:t)):(e.pendingCommitExpirationTime=r,e.finishedWork=n)}}function Wa(e,t){for(var n=e.return;null!==n;){switch(n.tag){case 1:var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Fa||!Fa.has(r)))return Qo(n,e=Aa(n,e=oa(t,e),1073741823)),void Qa(n,1073741823);break;case 3:return Qo(n,e=wa(n,e=oa(t,e),1073741823)),void Qa(n,1073741823)}n=n.return}3===e.tag&&(Qo(e,n=wa(e,n=oa(t,e),1073741823)),Qa(e,1073741823))}function Ga(e,t){var n=o.unstable_getCurrentPriorityLevel(),r=void 0;if(0==(1&t.mode))r=1073741823;else if(La&&!ja)r=Ta;else{switch(n){case o.unstable_ImmediatePriority:r=1073741823;break;case o.unstable_UserBlockingPriority:r=1073741822-10*(1+((1073741822-e+15)/10|0));break;case o.unstable_NormalPriority:r=1073741822-25*(1+((1073741822-e+500)/25|0));break;case o.unstable_LowPriority:case o.unstable_IdlePriority:r=1;break;default:a("313")}null!==Da&&r===Ta&&--r}return n===o.unstable_UserBlockingPriority&&(0===ss||r<ss)&&(ss=r),r}function Va(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),null!==Da&&Ta===n?Da=null:(t=e.earliestSuspendedTime,r=e.latestSuspendedTime,0!==t&&n<=t&&n>=r&&(e.didError=!1,(0===(t=e.latestPingedTime)||t>n)&&(e.latestPingedTime=n),ni(n,e),0!==(n=e.expirationTime)&&xs(e,n)))}function Ja(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t);var r=e.return,i=null;if(null===r&&3===e.tag)i=e.stateNode;else for(;null!==r;){if(n=r.alternate,r.childExpirationTime<t&&(r.childExpirationTime=t),null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t),null===r.return&&3===r.tag){i=r.stateNode;break}r=r.return}return i}function Qa(e,t){null!==(e=Ja(e,t))&&(!La&&0!==Ta&&t>Ta&&Ra(),Xr(e,t),La&&!ja&&Da===e||xs(e,e.expirationTime),ys>gs&&(ys=0,a("185")))}function Xa(e,t,n,r,i){return o.unstable_runWithPriority(o.unstable_ImmediatePriority,function(){return e(t,n,r,i)})}var es=null,ts=null,ns=0,rs=void 0,is=!1,os=null,as=0,ss=0,us=!1,ls=null,cs=!1,ds=!1,fs=null,ps=o.unstable_now(),hs=1073741822-(ps/10|0),ms=hs,gs=50,ys=0,vs=null;function bs(){hs=1073741822-((o.unstable_now()-ps)/10|0)}function _s(e,t){if(0!==ns){if(t<ns)return;null!==rs&&o.unstable_cancelCallback(rs)}ns=t,e=o.unstable_now()-ps,rs=o.unstable_scheduleCallback(Ls,{timeout:10*(1073741822-t)-e})}function ws(e,t,n,r,i){e.expirationTime=r,0!==i||Es()?0<i&&(e.timeoutHandle=br(function(e,t,n){e.pendingCommitExpirationTime=n,e.finishedWork=t,bs(),ms=hs,Ds(e,n)}.bind(null,e,t,n),i)):(e.pendingCommitExpirationTime=n,e.finishedWork=t)}function As(){return is?ms:(ks(),0!==as&&1!==as||(bs(),ms=hs),ms)}function xs(e,t){null===e.nextScheduledRoot?(e.expirationTime=t,null===ts?(es=ts=e,e.nextScheduledRoot=e):(ts=ts.nextScheduledRoot=e).nextScheduledRoot=es):t>e.expirationTime&&(e.expirationTime=t),is||(cs?ds&&(os=e,as=1073741823,Ts(e,1073741823,!1)):1073741823===t?Ss(1073741823,!1):_s(e,t))}function ks(){var e=0,t=null;if(null!==ts)for(var n=ts,r=es;null!==r;){var i=r.expirationTime;if(0===i){if((null===n||null===ts)&&a("244"),r===r.nextScheduledRoot){es=ts=r.nextScheduledRoot=null;break}if(r===es)es=i=r.nextScheduledRoot,ts.nextScheduledRoot=i,r.nextScheduledRoot=null;else{if(r===ts){(ts=n).nextScheduledRoot=es,r.nextScheduledRoot=null;break}n.nextScheduledRoot=r.nextScheduledRoot,r.nextScheduledRoot=null}r=n.nextScheduledRoot}else{if(i>e&&(e=i,t=r),r===ts)break;if(1073741823===e)break;n=r,r=r.nextScheduledRoot}}os=t,as=e}var Ms=!1;function Es(){return!!Ms||!!o.unstable_shouldYield()&&(Ms=!0)}function Ls(){try{if(!Es()&&null!==es){bs();var e=es;do{var t=e.expirationTime;0!==t&&hs<=t&&(e.nextExpirationTimeToWorkOn=hs),e=e.nextScheduledRoot}while(e!==es)}Ss(0,!0)}finally{Ms=!1}}function Ss(e,t){if(ks(),t)for(bs(),ms=hs;null!==os&&0!==as&&e<=as&&!(Ms&&hs>as);)Ts(os,as,hs>as),ks(),bs(),ms=hs;else for(;null!==os&&0!==as&&e<=as;)Ts(os,as,!1),ks();if(t&&(ns=0,rs=null),0!==as&&_s(os,as),ys=0,vs=null,null!==fs)for(e=fs,fs=null,t=0;t<e.length;t++){var n=e[t];try{n._onComplete()}catch(e){us||(us=!0,ls=e)}}if(us)throw e=ls,ls=null,us=!1,e}function Ds(e,t){is&&a("253"),os=e,as=t,Ts(e,t,!1),Ss(1073741823,!1)}function Ts(e,t,n){if(is&&a("245"),is=!0,n){var r=e.finishedWork;null!==r?Cs(e,r,t):(e.finishedWork=null,-1!==(r=e.timeoutHandle)&&(e.timeoutHandle=-1,_r(r)),qa(e,n),null!==(r=e.finishedWork)&&(Es()?e.finishedWork=r:Cs(e,r,t)))}else null!==(r=e.finishedWork)?Cs(e,r,t):(e.finishedWork=null,-1!==(r=e.timeoutHandle)&&(e.timeoutHandle=-1,_r(r)),qa(e,n),null!==(r=e.finishedWork)&&Cs(e,r,t));is=!1}function Cs(e,t,n){var r=e.firstBatch;if(null!==r&&r._expirationTime>=n&&(null===fs?fs=[r]:fs.push(r),r._defer))return e.finishedWork=t,void(e.expirationTime=0);e.finishedWork=null,e===vs?ys++:(vs=e,ys=0),o.unstable_runWithPriority(o.unstable_ImmediatePriority,function(){Ua(e,t)})}function Os(e){null===os&&a("246"),os.expirationTime=0,us||(us=!0,ls=e)}function $s(e,t){var n=cs;cs=!0;try{return e(t)}finally{(cs=n)||is||Ss(1073741823,!1)}}function js(e,t){if(cs&&!ds){ds=!0;try{return e(t)}finally{ds=!1}}return e(t)}function Ps(e,t,n){cs||is||0===ss||(Ss(ss,!1),ss=0);var r=cs;cs=!0;try{return o.unstable_runWithPriority(o.unstable_UserBlockingPriority,function(){return e(t,n)})}finally{(cs=r)||is||Ss(1073741823,!1)}}function Is(e,t,n,r,i){var o=t.current;e:if(n){t:{2===tn(n=n._reactInternalFiber)&&1===n.tag||a("170");var s=n;do{switch(s.tag){case 3:s=s.stateNode.context;break t;case 1:if(jr(s.type)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break t}}s=s.return}while(null!==s);a("171"),s=void 0}if(1===n.tag){var u=n.type;if(jr(u)){n=Fr(n,u,s);break e}}n=s}else n=Dr;return null===t.context?t.context=n:t.pendingContext=n,t=i,(i=Vo(r)).payload={element:e},null!==(t=void 0===t?null:t)&&(i.callback=t),Ha(),Qo(o,i),Qa(o,r),r}function Ns(e,t,n,r){var i=t.current;return Is(e,t,n,i=Ga(As(),i),r)}function Fs(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Rs(e){var t=1073741822-25*(1+((1073741822-As()+500)/25|0));t>=Ea&&(t=Ea-1),this._expirationTime=Ea=t,this._root=e,this._callbacks=this._next=null,this._hasChildren=this._didComplete=!1,this._children=null,this._defer=!0}function Ys(){this._callbacks=null,this._didCommit=!1,this._onCommit=this._onCommit.bind(this)}function Bs(e,t,n){e={current:t=Zr(3,null,null,t?3:0),containerInfo:e,pendingChildren:null,pingCache:null,earliestPendingTime:0,latestPendingTime:0,earliestSuspendedTime:0,latestSuspendedTime:0,latestPingedTime:0,didError:!1,pendingCommitExpirationTime:0,finishedWork:null,timeoutHandle:-1,context:null,pendingContext:null,hydrate:n,nextExpirationTimeToWorkOn:0,expirationTime:0,firstBatch:null,nextScheduledRoot:null},this._internalRoot=t.stateNode=e}function zs(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Hs(e,t,n,r,i){var o=n._reactRootContainer;if(o){if("function"==typeof i){var a=i;i=function(){var e=Fs(o._internalRoot);a.call(e)}}null!=e?o.legacy_renderSubtreeIntoContainer(e,t,i):o.render(t,i)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new Bs(e,!1,t)}(n,r),"function"==typeof i){var s=i;i=function(){var e=Fs(o._internalRoot);s.call(e)}}js(function(){null!=e?o.legacy_renderSubtreeIntoContainer(e,t,i):o.render(t,i)})}return Fs(o._internalRoot)}function Us(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;return zs(t)||a("200"),function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:We,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)}Ee=function(e,t,n){switch(t){case"input":if(At(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=F(r);i||a("90"),He(r),At(r,i)}}}break;case"textarea":Jn(e,n);break;case"select":null!=(t=n.value)&&Wn(e,!!n.multiple,t,!1)}},Rs.prototype.render=function(e){this._defer||a("250"),this._hasChildren=!0,this._children=e;var t=this._root._internalRoot,n=this._expirationTime,r=new Ys;return Is(e,t,null,n,r._onCommit),r},Rs.prototype.then=function(e){if(this._didComplete)e();else{var t=this._callbacks;null===t&&(t=this._callbacks=[]),t.push(e)}},Rs.prototype.commit=function(){var e=this._root._internalRoot,t=e.firstBatch;if(this._defer&&null!==t||a("251"),this._hasChildren){var n=this._expirationTime;if(t!==this){this._hasChildren&&(n=this._expirationTime=t._expirationTime,this.render(this._children));for(var r=null,i=t;i!==this;)r=i,i=i._next;null===r&&a("251"),r._next=i._next,this._next=t,e.firstBatch=this}this._defer=!1,Ds(e,n),t=this._next,this._next=null,null!==(t=e.firstBatch=t)&&t._hasChildren&&t.render(t._children)}else this._next=null,this._defer=!1},Rs.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var e=this._callbacks;if(null!==e)for(var t=0;t<e.length;t++)(0,e[t])()}},Ys.prototype.then=function(e){if(this._didCommit)e();else{var t=this._callbacks;null===t&&(t=this._callbacks=[]),t.push(e)}},Ys.prototype._onCommit=function(){if(!this._didCommit){this._didCommit=!0;var e=this._callbacks;if(null!==e)for(var t=0;t<e.length;t++){var n=e[t];"function"!=typeof n&&a("191",n),n()}}},Bs.prototype.render=function(e,t){var n=this._internalRoot,r=new Ys;return null!==(t=void 0===t?null:t)&&r.then(t),Ns(e,n,null,r._onCommit),r},Bs.prototype.unmount=function(e){var t=this._internalRoot,n=new Ys;return null!==(e=void 0===e?null:e)&&n.then(e),Ns(null,t,null,n._onCommit),n},Bs.prototype.legacy_renderSubtreeIntoContainer=function(e,t,n){var r=this._internalRoot,i=new Ys;return null!==(n=void 0===n?null:n)&&i.then(n),Ns(t,r,e,i._onCommit),i},Bs.prototype.createBatch=function(){var e=new Rs(this),t=e._expirationTime,n=this._internalRoot,r=n.firstBatch;if(null===r)n.firstBatch=e,e._next=null;else{for(n=null;null!==r&&r._expirationTime>=t;)n=r,r=r._next;e._next=r,null!==n&&(n._next=e)}return e},Oe=$s,$e=Ps,je=function(){is||0===ss||(Ss(ss,!1),ss=0)};var Zs={createPortal:Us,findDOMNode:function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternalFiber;return void 0===t&&("function"==typeof e.render?a("188"):a("268",Object.keys(e))),e=null===(e=rn(t))?null:e.stateNode},hydrate:function(e,t,n){return zs(t)||a("200"),Hs(null,e,t,!0,n)},render:function(e,t,n){return zs(t)||a("200"),Hs(null,e,t,!1,n)},unstable_renderSubtreeIntoContainer:function(e,t,n,r){return zs(n)||a("200"),(null==e||void 0===e._reactInternalFiber)&&a("38"),Hs(e,t,n,!1,r)},unmountComponentAtNode:function(e){return zs(e)||a("40"),!!e._reactRootContainer&&(js(function(){Hs(null,null,e,!1,function(){e._reactRootContainer=null})}),!0)},unstable_createPortal:function(){return Us.apply(void 0,arguments)},unstable_batchedUpdates:$s,unstable_interactiveUpdates:Ps,flushSync:function(e,t){is&&a("187");var n=cs;cs=!0;try{return Xa(e,t)}finally{cs=n,Ss(1073741823,!1)}},unstable_createRoot:function(e,t){return zs(e)||a("299","unstable_createRoot"),new Bs(e,!0,null!=t&&!0===t.hydrate)},unstable_flushControlled:function(e){var t=cs;cs=!0;try{Xa(e)}finally{(cs=t)||is||Ss(1073741823,!1)}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[I,N,F,D.injectEventPluginsByName,v,U,function(e){E(e,H)},Te,Ce,Sn,C]}};!function(e){var t=e.findFiberByHostInstance;(function(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);Br=Hr(function(e){return t.onCommitFiberRoot(n,e)}),zr=Hr(function(e){return t.onCommitFiberUnmount(n,e)})}catch(e){}})(i({},e,{overrideProps:null,currentDispatcherRef:Ue.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=rn(e))?null:e.stateNode},findFiberByHostInstance:function(e){return t?t(e):null}}))}({findFiberByHostInstance:P,bundleType:0,version:"16.8.6",rendererPackageName:"react-dom"});var Ks={default:Zs},qs=Ks&&Zs||Ks;e.exports=qs.default||qs},function(e,t,n){"use strict";e.exports=n(578)},function(e,t,n){"use strict";(function(e){
+ */var r=n(0),i=n(286),o=n(577);function a(e){for(var t=arguments.length-1,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);!function(e,t,n,r,i,o,a,s){if(!e){if(e=void 0,void 0===t)e=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,i,o,a,s],l=0;(e=Error(t.replace(/%s/g,function(){return u[l++]}))).name="Invariant Violation"}throw e.framesToPop=1,e}}(!1,"Minified React error #"+e+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",n)}r||a("227");var s=!1,u=null,l=!1,c=null,d={onError:function(e){s=!0,u=e}};function f(e,t,n,r,i,o,a,l,c){s=!1,u=null,function(e,t,n,r,i,o,a,s,u){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(e){this.onError(e)}}.apply(d,arguments)}var p=null,h={};function m(){if(p)for(var e in h){var t=h[e],n=p.indexOf(e);if(-1<n||a("96",e),!y[n])for(var r in t.extractEvents||a("97",e),y[n]=t,n=t.eventTypes){var i=void 0,o=n[r],s=t,u=r;v.hasOwnProperty(u)&&a("99",u),v[u]=o;var l=o.phasedRegistrationNames;if(l){for(i in l)l.hasOwnProperty(i)&&g(l[i],s,u);i=!0}else o.registrationName?(g(o.registrationName,s,u),i=!0):i=!1;i||a("98",r,e)}}}function g(e,t,n){b[e]&&a("100",e),b[e]=t,_[e]=t.eventTypes[n].dependencies}var y=[],v={},b={},_={},w=null,A=null,x=null;function k(e,t,n){var r=e.type||"unknown-event";e.currentTarget=x(n),function(e,t,n,r,i,o,d,p,h){if(f.apply(this,arguments),s){if(s){var m=u;s=!1,u=null}else a("198"),m=void 0;l||(l=!0,c=m)}}(r,t,void 0,e),e.currentTarget=null}function M(e,t){return null==t&&a("30"),null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function E(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var L=null;function S(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))for(var r=0;r<t.length&&!e.isPropagationStopped();r++)k(e,t[r],n[r]);else t&&k(e,t,n);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}var D={injectEventPluginOrder:function(e){p&&a("101"),p=Array.prototype.slice.call(e),m()},injectEventPluginsByName:function(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var r=e[t];h.hasOwnProperty(t)&&h[t]===r||(h[t]&&a("102",t),h[t]=r,n=!0)}n&&m()}};function T(e,t){var n=e.stateNode;if(!n)return null;var r=w(n);if(!r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}return e?null:(n&&"function"!=typeof n&&a("231",t,typeof n),n)}function C(e){if(null!==e&&(L=M(L,e)),e=L,L=null,e&&(E(e,S),L&&a("95"),l))throw e=c,l=!1,c=null,e}var O=Math.random().toString(36).slice(2),$="__reactInternalInstance$"+O,j="__reactEventHandlers$"+O;function P(e){if(e[$])return e[$];for(;!e[$];){if(!e.parentNode)return null;e=e.parentNode}return 5===(e=e[$]).tag||6===e.tag?e:null}function I(e){return!(e=e[$])||5!==e.tag&&6!==e.tag?null:e}function N(e){if(5===e.tag||6===e.tag)return e.stateNode;a("33")}function F(e){return e[j]||null}function R(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function Y(e,t,n){(t=T(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=M(n._dispatchListeners,t),n._dispatchInstances=M(n._dispatchInstances,e))}function B(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,n=[];t;)n.push(t),t=R(t);for(t=n.length;0<t--;)Y(n[t],"captured",e);for(t=0;t<n.length;t++)Y(n[t],"bubbled",e)}}function z(e,t,n){e&&n&&n.dispatchConfig.registrationName&&(t=T(e,n.dispatchConfig.registrationName))&&(n._dispatchListeners=M(n._dispatchListeners,t),n._dispatchInstances=M(n._dispatchInstances,e))}function H(e){e&&e.dispatchConfig.registrationName&&z(e._targetInst,null,e)}function U(e){E(e,B)}var Z=!("undefined"==typeof window||!window.document||!window.document.createElement);function K(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var q={animationend:K("Animation","AnimationEnd"),animationiteration:K("Animation","AnimationIteration"),animationstart:K("Animation","AnimationStart"),transitionend:K("Transition","TransitionEnd")},W={},G={};function V(e){if(W[e])return W[e];if(!q[e])return e;var t,n=q[e];for(t in n)if(n.hasOwnProperty(t)&&t in G)return W[e]=n[t];return e}Z&&(G=document.createElement("div").style,"AnimationEvent"in window||(delete q.animationend.animation,delete q.animationiteration.animation,delete q.animationstart.animation),"TransitionEvent"in window||delete q.transitionend.transition);var J=V("animationend"),Q=V("animationiteration"),X=V("animationstart"),ee=V("transitionend"),te="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),ne=null,re=null,ie=null;function oe(){if(ie)return ie;var e,t,n=re,r=n.length,i="value"in ne?ne.value:ne.textContent,o=i.length;for(e=0;e<r&&n[e]===i[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===i[o-t];t++);return ie=i.slice(e,1<t?1-t:void 0)}function ae(){return!0}function se(){return!1}function ue(e,t,n,r){for(var i in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n,e=this.constructor.Interface)e.hasOwnProperty(i)&&((t=e[i])?this[i]=t(n):"target"===i?this.target=r:this[i]=n[i]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?ae:se,this.isPropagationStopped=se,this}function le(e,t,n,r){if(this.eventPool.length){var i=this.eventPool.pop();return this.call(i,e,t,n,r),i}return new this(e,t,n,r)}function ce(e){e instanceof this||a("279"),e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function de(e){e.eventPool=[],e.getPooled=le,e.release=ce}i(ue.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ae)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ae)},persist:function(){this.isPersistent=ae},isPersistent:se,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=se,this._dispatchInstances=this._dispatchListeners=null}}),ue.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},ue.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var o=new t;return i(o,n.prototype),n.prototype=o,n.prototype.constructor=n,n.Interface=i({},r.Interface,e),n.extend=r.extend,de(n),n},de(ue);var fe=ue.extend({data:null}),pe=ue.extend({data:null}),he=[9,13,27,32],me=Z&&"CompositionEvent"in window,ge=null;Z&&"documentMode"in document&&(ge=document.documentMode);var ye=Z&&"TextEvent"in window&&!ge,ve=Z&&(!me||ge&&8<ge&&11>=ge),be=String.fromCharCode(32),_e={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},we=!1;function Ae(e,t){switch(e){case"keyup":return-1!==he.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function xe(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var ke=!1;var Me={eventTypes:_e,extractEvents:function(e,t,n,r){var i=void 0,o=void 0;if(me)e:{switch(e){case"compositionstart":i=_e.compositionStart;break e;case"compositionend":i=_e.compositionEnd;break e;case"compositionupdate":i=_e.compositionUpdate;break e}i=void 0}else ke?Ae(e,n)&&(i=_e.compositionEnd):"keydown"===e&&229===n.keyCode&&(i=_e.compositionStart);return i?(ve&&"ko"!==n.locale&&(ke||i!==_e.compositionStart?i===_e.compositionEnd&&ke&&(o=oe()):(re="value"in(ne=r)?ne.value:ne.textContent,ke=!0)),i=fe.getPooled(i,t,n,r),o?i.data=o:null!==(o=xe(n))&&(i.data=o),U(i),o=i):o=null,(e=ye?function(e,t){switch(e){case"compositionend":return xe(t);case"keypress":return 32!==t.which?null:(we=!0,be);case"textInput":return(e=t.data)===be&&we?null:e;default:return null}}(e,n):function(e,t){if(ke)return"compositionend"===e||!me&&Ae(e,t)?(e=oe(),ie=re=ne=null,ke=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return ve&&"ko"!==t.locale?null:t.data;default:return null}}(e,n))?((t=pe.getPooled(_e.beforeInput,t,n,r)).data=e,U(t)):t=null,null===o?t:null===t?o:[o,t]}},Ee=null,Le=null,Se=null;function De(e){if(e=A(e)){"function"!=typeof Ee&&a("280");var t=w(e.stateNode);Ee(e.stateNode,e.type,t)}}function Te(e){Le?Se?Se.push(e):Se=[e]:Le=e}function Ce(){if(Le){var e=Le,t=Se;if(Se=Le=null,De(e),t)for(e=0;e<t.length;e++)De(t[e])}}function Oe(e,t){return e(t)}function $e(e,t,n){return e(t,n)}function je(){}var Pe=!1;function Ie(e,t){if(Pe)return e(t);Pe=!0;try{return Oe(e,t)}finally{Pe=!1,(null!==Le||null!==Se)&&(je(),Ce())}}var Ne={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Fe(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Ne[e.type]:"textarea"===t}function Re(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function Ye(e){if(!Z)return!1;var t=(e="on"+e)in document;return t||((t=document.createElement("div")).setAttribute(e,"return;"),t="function"==typeof t[e]),t}function Be(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function ze(e){e._valueTracker||(e._valueTracker=function(e){var t=Be(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function He(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Be(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}var Ue=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Ue.hasOwnProperty("ReactCurrentDispatcher")||(Ue.ReactCurrentDispatcher={current:null});var Ze=/^(.*)[\\\/]/,Ke="function"==typeof Symbol&&Symbol.for,qe=Ke?Symbol.for("react.element"):60103,We=Ke?Symbol.for("react.portal"):60106,Ge=Ke?Symbol.for("react.fragment"):60107,Ve=Ke?Symbol.for("react.strict_mode"):60108,Je=Ke?Symbol.for("react.profiler"):60114,Qe=Ke?Symbol.for("react.provider"):60109,Xe=Ke?Symbol.for("react.context"):60110,et=Ke?Symbol.for("react.concurrent_mode"):60111,tt=Ke?Symbol.for("react.forward_ref"):60112,nt=Ke?Symbol.for("react.suspense"):60113,rt=Ke?Symbol.for("react.memo"):60115,it=Ke?Symbol.for("react.lazy"):60116,ot="function"==typeof Symbol&&Symbol.iterator;function at(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=ot&&e[ot]||e["@@iterator"])?e:null}function st(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case et:return"ConcurrentMode";case Ge:return"Fragment";case We:return"Interoperable Europe Portal";case Je:return"Profiler";case Ve:return"StrictMode";case nt:return"Suspense"}if("object"==typeof e)switch(e.$$typeof){case Xe:return"Context.Consumer";case Qe:return"Context.Provider";case tt:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case rt:return st(e.type);case it:if(e=1===e._status?e._result:null)return st(e)}return null}function ut(e){var t="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var n="";break e;default:var r=e._debugOwner,i=e._debugSource,o=st(e.type);n=null,r&&(n=st(r.type)),r=o,o="",i?o=" (at "+i.fileName.replace(Ze,"")+":"+i.lineNumber+")":n&&(o=" (created by "+n+")"),n="\n    in "+(r||"Unknown")+o}t+=n,e=e.return}while(e);return t}var lt=/^[: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]*$/,ct=Object.prototype.hasOwnProperty,dt={},ft={};function pt(e,t,n,r,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t}var ht={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ht[e]=new pt(e,0,!1,e,null)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ht[t]=new pt(t,1,!1,e[1],null)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){ht[e]=new pt(e,2,!1,e.toLowerCase(),null)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ht[e]=new pt(e,2,!1,e,null)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ht[e]=new pt(e,3,!1,e.toLowerCase(),null)}),["checked","multiple","muted","selected"].forEach(function(e){ht[e]=new pt(e,3,!0,e,null)}),["capture","download"].forEach(function(e){ht[e]=new pt(e,4,!1,e,null)}),["cols","rows","size","span"].forEach(function(e){ht[e]=new pt(e,6,!1,e,null)}),["rowSpan","start"].forEach(function(e){ht[e]=new pt(e,5,!1,e.toLowerCase(),null)});var mt=/[\-:]([a-z])/g;function gt(e){return e[1].toUpperCase()}function yt(e,t,n,r){var i=ht.hasOwnProperty(t)?ht[t]:null;(null!==i?0===i.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,i,r)&&(n=null),r||null===i?function(e){return!!ct.call(ft,e)||!ct.call(dt,e)&&(lt.test(e)?ft[e]=!0:(dt[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):i.mustUseProperty?e[i.propertyName]=null===n?3!==i.type&&"":n:(t=i.attributeName,r=i.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(i=i.type)||4===i&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}function vt(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function bt(e,t){var n=t.checked;return i({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function _t(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=vt(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function wt(e,t){null!=(t=t.checked)&&yt(e,"checked",t,!1)}function At(e,t){wt(e,t);var n=vt(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?kt(e,t.type,n):t.hasOwnProperty("defaultValue")&&kt(e,t.type,vt(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function xt(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function kt(e,t,n){"number"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}"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(mt,gt);ht[t]=new pt(t,1,!1,e,null)}),"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(mt,gt);ht[t]=new pt(t,1,!1,e,"http://www.w3.org/1999/xlink")}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(mt,gt);ht[t]=new pt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace")}),["tabIndex","crossOrigin"].forEach(function(e){ht[e]=new pt(e,1,!1,e.toLowerCase(),null)});var Mt={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function Et(e,t,n){return(e=ue.getPooled(Mt.change,e,t,n)).type="change",Te(n),U(e),e}var Lt=null,St=null;function Dt(e){C(e)}function Tt(e){if(He(N(e)))return e}function Ct(e,t){if("change"===e)return t}var Ot=!1;function $t(){Lt&&(Lt.detachEvent("onpropertychange",jt),St=Lt=null)}function jt(e){"value"===e.propertyName&&Tt(St)&&Ie(Dt,e=Et(St,e,Re(e)))}function Pt(e,t,n){"focus"===e?($t(),St=n,(Lt=t).attachEvent("onpropertychange",jt)):"blur"===e&&$t()}function It(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Tt(St)}function Nt(e,t){if("click"===e)return Tt(t)}function Ft(e,t){if("input"===e||"change"===e)return Tt(t)}Z&&(Ot=Ye("input")&&(!document.documentMode||9<document.documentMode));var Rt={eventTypes:Mt,_isInputEventSupported:Ot,extractEvents:function(e,t,n,r){var i=t?N(t):window,o=void 0,a=void 0,s=i.nodeName&&i.nodeName.toLowerCase();if("select"===s||"input"===s&&"file"===i.type?o=Ct:Fe(i)?Ot?o=Ft:(o=It,a=Pt):(s=i.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===i.type||"radio"===i.type)&&(o=Nt),o&&(o=o(e,t)))return Et(o,n,r);a&&a(e,i,t),"blur"===e&&(e=i._wrapperState)&&e.controlled&&"number"===i.type&&kt(i,"number",i.value)}},Yt=ue.extend({view:null,detail:null}),Bt={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function zt(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Bt[e])&&!!t[e]}function Ht(){return zt}var Ut=0,Zt=0,Kt=!1,qt=!1,Wt=Yt.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Ht,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if("movementX"in e)return e.movementX;var t=Ut;return Ut=e.screenX,Kt?"mousemove"===e.type?e.screenX-t:0:(Kt=!0,0)},movementY:function(e){if("movementY"in e)return e.movementY;var t=Zt;return Zt=e.screenY,qt?"mousemove"===e.type?e.screenY-t:0:(qt=!0,0)}}),Gt=Wt.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Vt={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},Jt={eventTypes:Vt,extractEvents:function(e,t,n,r){var i="mouseover"===e||"pointerover"===e,o="mouseout"===e||"pointerout"===e;if(i&&(n.relatedTarget||n.fromElement)||!o&&!i)return null;if(i=r.window===r?r:(i=r.ownerDocument)?i.defaultView||i.parentWindow:window,o?(o=t,t=(t=n.relatedTarget||n.toElement)?P(t):null):o=null,o===t)return null;var a=void 0,s=void 0,u=void 0,l=void 0;"mouseout"===e||"mouseover"===e?(a=Wt,s=Vt.mouseLeave,u=Vt.mouseEnter,l="mouse"):"pointerout"!==e&&"pointerover"!==e||(a=Gt,s=Vt.pointerLeave,u=Vt.pointerEnter,l="pointer");var c=null==o?i:N(o);if(i=null==t?i:N(t),(e=a.getPooled(s,o,n,r)).type=l+"leave",e.target=c,e.relatedTarget=i,(n=a.getPooled(u,t,n,r)).type=l+"enter",n.target=i,n.relatedTarget=c,r=t,o&&r)e:{for(i=r,l=0,a=t=o;a;a=R(a))l++;for(a=0,u=i;u;u=R(u))a++;for(;0<l-a;)t=R(t),l--;for(;0<a-l;)i=R(i),a--;for(;l--;){if(t===i||t===i.alternate)break e;t=R(t),i=R(i)}t=null}else t=null;for(i=t,t=[];o&&o!==i&&(null===(l=o.alternate)||l!==i);)t.push(o),o=R(o);for(o=[];r&&r!==i&&(null===(l=r.alternate)||l!==i);)o.push(r),r=R(r);for(r=0;r<t.length;r++)z(t[r],"bubbled",e);for(r=o.length;0<r--;)z(o[r],"captured",n);return[e,n]}};function Qt(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}var Xt=Object.prototype.hasOwnProperty;function en(e,t){if(Qt(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!Xt.call(t,n[r])||!Qt(e[n[r]],t[n[r]]))return!1;return!0}function tn(e){var t=e;if(e.alternate)for(;t.return;)t=t.return;else{if(0!=(2&t.effectTag))return 1;for(;t.return;)if(0!=(2&(t=t.return).effectTag))return 1}return 3===t.tag?2:3}function nn(e){2!==tn(e)&&a("188")}function rn(e){if(!(e=function(e){var t=e.alternate;if(!t)return 3===(t=tn(e))&&a("188"),1===t?null:e;for(var n=e,r=t;;){var i=n.return,o=i?i.alternate:null;if(!i||!o)break;if(i.child===o.child){for(var s=i.child;s;){if(s===n)return nn(i),e;if(s===r)return nn(i),t;s=s.sibling}a("188")}if(n.return!==r.return)n=i,r=o;else{s=!1;for(var u=i.child;u;){if(u===n){s=!0,n=i,r=o;break}if(u===r){s=!0,r=i,n=o;break}u=u.sibling}if(!s){for(u=o.child;u;){if(u===n){s=!0,n=o,r=i;break}if(u===r){s=!0,r=o,n=i;break}u=u.sibling}s||a("189")}}n.alternate!==r&&a("190")}return 3!==n.tag&&a("188"),n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}var on=ue.extend({animationName:null,elapsedTime:null,pseudoElement:null}),an=ue.extend({clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),sn=Yt.extend({relatedTarget:null});function un(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}var ln={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},cn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},dn=Yt.extend({key:function(e){if(e.key){var t=ln[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=un(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?cn[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Ht,charCode:function(e){return"keypress"===e.type?un(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?un(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),fn=Wt.extend({dataTransfer:null}),pn=Yt.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Ht}),hn=ue.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),mn=Wt.extend({deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),gn=[["abort","abort"],[J,"animationEnd"],[Q,"animationIteration"],[X,"animationStart"],["canplay","canPlay"],["canplaythrough","canPlayThrough"],["drag","drag"],["dragenter","dragEnter"],["dragexit","dragExit"],["dragleave","dragLeave"],["dragover","dragOver"],["durationchange","durationChange"],["emptied","emptied"],["encrypted","encrypted"],["ended","ended"],["error","error"],["gotpointercapture","gotPointerCapture"],["load","load"],["loadeddata","loadedData"],["loadedmetadata","loadedMetadata"],["loadstart","loadStart"],["lostpointercapture","lostPointerCapture"],["mousemove","mouseMove"],["mouseout","mouseOut"],["mouseover","mouseOver"],["playing","playing"],["pointermove","pointerMove"],["pointerout","pointerOut"],["pointerover","pointerOver"],["progress","progress"],["scroll","scroll"],["seeking","seeking"],["stalled","stalled"],["suspend","suspend"],["timeupdate","timeUpdate"],["toggle","toggle"],["touchmove","touchMove"],[ee,"transitionEnd"],["waiting","waiting"],["wheel","wheel"]],yn={},vn={};function bn(e,t){var n=e[0],r="on"+((e=e[1])[0].toUpperCase()+e.slice(1));t={phasedRegistrationNames:{bubbled:r,captured:r+"Capture"},dependencies:[n],isInteractive:t},yn[e]=t,vn[n]=t}[["blur","blur"],["cancel","cancel"],["click","click"],["close","close"],["contextmenu","contextMenu"],["copy","copy"],["cut","cut"],["auxclick","auxClick"],["dblclick","doubleClick"],["dragend","dragEnd"],["dragstart","dragStart"],["drop","drop"],["focus","focus"],["input","input"],["invalid","invalid"],["keydown","keyDown"],["keypress","keyPress"],["keyup","keyUp"],["mousedown","mouseDown"],["mouseup","mouseUp"],["paste","paste"],["pause","pause"],["play","play"],["pointercancel","pointerCancel"],["pointerdown","pointerDown"],["pointerup","pointerUp"],["ratechange","rateChange"],["reset","reset"],["seeked","seeked"],["submit","submit"],["touchcancel","touchCancel"],["touchend","touchEnd"],["touchstart","touchStart"],["volumechange","volumeChange"]].forEach(function(e){bn(e,!0)}),gn.forEach(function(e){bn(e,!1)});var _n={eventTypes:yn,isInteractiveTopLevelEventType:function(e){return void 0!==(e=vn[e])&&!0===e.isInteractive},extractEvents:function(e,t,n,r){var i=vn[e];if(!i)return null;switch(e){case"keypress":if(0===un(n))return null;case"keydown":case"keyup":e=dn;break;case"blur":case"focus":e=sn;break;case"click":if(2===n.button)return null;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":e=Wt;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":e=fn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":e=pn;break;case J:case Q:case X:e=on;break;case ee:e=hn;break;case"scroll":e=Yt;break;case"wheel":e=mn;break;case"copy":case"cut":case"paste":e=an;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":e=Gt;break;default:e=ue}return U(t=e.getPooled(i,t,n,r)),t}},wn=_n.isInteractiveTopLevelEventType,An=[];function xn(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);break}var r;for(r=n;r.return;)r=r.return;if(!(r=3!==r.tag?null:r.stateNode.containerInfo))break;e.ancestors.push(n),n=P(r)}while(n);for(n=0;n<e.ancestors.length;n++){t=e.ancestors[n];var i=Re(e.nativeEvent);r=e.topLevelType;for(var o=e.nativeEvent,a=null,s=0;s<y.length;s++){var u=y[s];u&&(u=u.extractEvents(r,t,o,i))&&(a=M(a,u))}C(a)}}var kn=!0;function Mn(e,t){if(!t)return null;var n=(wn(e)?Ln:Sn).bind(null,e);t.addEventListener(e,n,!1)}function En(e,t){if(!t)return null;var n=(wn(e)?Ln:Sn).bind(null,e);t.addEventListener(e,n,!0)}function Ln(e,t){$e(Sn,e,t)}function Sn(e,t){if(kn){var n=Re(t);if(null===(n=P(n))||"number"!=typeof n.tag||2===tn(n)||(n=null),An.length){var r=An.pop();r.topLevelType=e,r.nativeEvent=t,r.targetInst=n,e=r}else e={topLevelType:e,nativeEvent:t,targetInst:n,ancestors:[]};try{Ie(xn,e)}finally{e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,10>An.length&&An.push(e)}}}var Dn={},Tn=0,Cn="_reactListenersID"+(""+Math.random()).slice(2);function On(e){return Object.prototype.hasOwnProperty.call(e,Cn)||(e[Cn]=Tn++,Dn[e[Cn]]={}),Dn[e[Cn]]}function $n(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function jn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Pn(e,t){var n,r=jn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=jn(r)}}function In(){for(var e=window,t=$n();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=$n((e=t.contentWindow).document)}return t}function Nn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function Fn(e){var t=In(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&function e(t,n){return!(!t||!n)&&(t===n||(!t||3!==t.nodeType)&&(n&&3===n.nodeType?e(t,n.parentNode):"contains"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}(n.ownerDocument.documentElement,n)){if(null!==r&&Nn(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=void 0===r.end?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=Pn(n,o);var a=Pn(n,r);i&&a&&(1!==e.rangeCount||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&((t=t.createRange()).setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Rn=Z&&"documentMode"in document&&11>=document.documentMode,Yn={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},Bn=null,zn=null,Hn=null,Un=!1;function Zn(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;return Un||null==Bn||Bn!==$n(n)?null:("selectionStart"in(n=Bn)&&Nn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},Hn&&en(Hn,n)?null:(Hn=n,(e=ue.getPooled(Yn.select,zn,e,t)).type="select",e.target=Bn,U(e),e))}var Kn={eventTypes:Yn,extractEvents:function(e,t,n,r){var i,o=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;if(!(i=!o)){e:{o=On(o),i=_.onSelect;for(var a=0;a<i.length;a++){var s=i[a];if(!o.hasOwnProperty(s)||!o[s]){o=!1;break e}}o=!0}i=!o}if(i)return null;switch(o=t?N(t):window,e){case"focus":(Fe(o)||"true"===o.contentEditable)&&(Bn=o,zn=t,Hn=null);break;case"blur":Hn=zn=Bn=null;break;case"mousedown":Un=!0;break;case"contextmenu":case"mouseup":case"dragend":return Un=!1,Zn(n,r);case"selectionchange":if(Rn)break;case"keydown":case"keyup":return Zn(n,r)}return null}};function qn(e,t){return e=i({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,function(e){null!=e&&(t+=e)}),t}(t.children))&&(e.children=t),e}function Wn(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=""+vt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n)return e[i].selected=!0,void(r&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function Gn(e,t){return null!=t.dangerouslySetInnerHTML&&a("91"),i({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Vn(e,t){var n=t.value;null==n&&(n=t.defaultValue,null!=(t=t.children)&&(null!=n&&a("92"),Array.isArray(t)&&(1>=t.length||a("93"),t=t[0]),n=t),null==n&&(n="")),e._wrapperState={initialValue:vt(n)}}function Jn(e,t){var n=vt(t.value),r=vt(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function Qn(e){var t=e.textContent;t===e._wrapperState.initialValue&&(e.value=t)}D.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")),w=F,A=I,x=N,D.injectEventPluginsByName({SimpleEventPlugin:_n,EnterLeaveEventPlugin:Jt,ChangeEventPlugin:Rt,SelectEventPlugin:Kn,BeforeInputEventPlugin:Me});var Xn={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function er(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function tr(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?er(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var nr,rr=void 0,ir=(nr=function(e,t){if(e.namespaceURI!==Xn.svg||"innerHTML"in e)e.innerHTML=t;else{for((rr=rr||document.createElement("div")).innerHTML="<svg>"+t+"</svg>",t=rr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction(function(){return nr(e,t)})}:nr);function or(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var ar={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},sr=["Webkit","ms","Moz","O"];function ur(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||ar.hasOwnProperty(e)&&ar[e]?(""+t).trim():t+"px"}function lr(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),i=ur(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}Object.keys(ar).forEach(function(e){sr.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ar[t]=ar[e]})});var cr=i({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function dr(e,t){t&&(cr[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&a("137",e,""),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&a("60"),"object"==typeof t.dangerouslySetInnerHTML&&"__html"in t.dangerouslySetInnerHTML||a("61")),null!=t.style&&"object"!=typeof t.style&&a("62",""))}function fr(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function pr(e,t){var n=On(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=_[t];for(var r=0;r<t.length;r++){var i=t[r];if(!n.hasOwnProperty(i)||!n[i]){switch(i){case"scroll":En("scroll",e);break;case"focus":case"blur":En("focus",e),En("blur",e),n.blur=!0,n.focus=!0;break;case"cancel":case"close":Ye(i)&&En(i,e);break;case"invalid":case"submit":case"reset":break;default:-1===te.indexOf(i)&&Mn(i,e)}n[i]=!0}}}function hr(){}var mr=null,gr=null;function yr(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function vr(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var br="function"==typeof setTimeout?setTimeout:void 0,_r="function"==typeof clearTimeout?clearTimeout:void 0,wr=o.unstable_scheduleCallback,Ar=o.unstable_cancelCallback;function xr(e){for(e=e.nextSibling;e&&1!==e.nodeType&&3!==e.nodeType;)e=e.nextSibling;return e}function kr(e){for(e=e.firstChild;e&&1!==e.nodeType&&3!==e.nodeType;)e=e.nextSibling;return e}new Set;var Mr=[],Er=-1;function Lr(e){0>Er||(e.current=Mr[Er],Mr[Er]=null,Er--)}function Sr(e,t){Mr[++Er]=e.current,e.current=t}var Dr={},Tr={current:Dr},Cr={current:!1},Or=Dr;function $r(e,t){var n=e.type.contextTypes;if(!n)return Dr;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in n)o[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function jr(e){return null!=(e=e.childContextTypes)}function Pr(e){Lr(Cr),Lr(Tr)}function Ir(e){Lr(Cr),Lr(Tr)}function Nr(e,t,n){Tr.current!==Dr&&a("168"),Sr(Tr,t),Sr(Cr,n)}function Fr(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())o in e||a("108",st(t)||"Unknown",o);return i({},n,r)}function Rr(e){var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||Dr,Or=Tr.current,Sr(Tr,t),Sr(Cr,Cr.current),!0}function Yr(e,t,n){var r=e.stateNode;r||a("169"),n?(t=Fr(e,t,Or),r.__reactInternalMemoizedMergedChildContext=t,Lr(Cr),Lr(Tr),Sr(Tr,t)):Lr(Cr),Sr(Cr,n)}var Br=null,zr=null;function Hr(e){return function(t){try{return e(t)}catch(e){}}}function Ur(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.contextDependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Zr(e,t,n,r){return new Ur(e,t,n,r)}function Kr(e){return!(!(e=e.prototype)||!e.isReactComponent)}function qr(e,t){var n=e.alternate;return null===n?((n=Zr(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.effectTag=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childExpirationTime=e.childExpirationTime,n.expirationTime=e.expirationTime,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,n.contextDependencies=e.contextDependencies,n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Wr(e,t,n,r,i,o){var s=2;if(r=e,"function"==typeof e)Kr(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case Ge:return Gr(n.children,i,o,t);case et:return Vr(n,3|i,o,t);case Ve:return Vr(n,2|i,o,t);case Je:return(e=Zr(12,n,t,4|i)).elementType=Je,e.type=Je,e.expirationTime=o,e;case nt:return(e=Zr(13,n,t,i)).elementType=nt,e.type=nt,e.expirationTime=o,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case Qe:s=10;break e;case Xe:s=9;break e;case tt:s=11;break e;case rt:s=14;break e;case it:s=16,r=null;break e}a("130",null==e?e:typeof e,"")}return(t=Zr(s,n,t,i)).elementType=e,t.type=r,t.expirationTime=o,t}function Gr(e,t,n,r){return(e=Zr(7,e,r,t)).expirationTime=n,e}function Vr(e,t,n,r){return e=Zr(8,e,r,t),t=0==(1&t)?Ve:et,e.elementType=t,e.type=t,e.expirationTime=n,e}function Jr(e,t,n){return(e=Zr(6,e,null,t)).expirationTime=n,e}function Qr(e,t,n){return(t=Zr(4,null!==e.children?e.children:[],e.key,t)).expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Xr(e,t){e.didError=!1;var n=e.earliestPendingTime;0===n?e.earliestPendingTime=e.latestPendingTime=t:n<t?e.earliestPendingTime=t:e.latestPendingTime>t&&(e.latestPendingTime=t),ni(t,e)}function ei(e,t){e.didError=!1,e.latestPingedTime>=t&&(e.latestPingedTime=0);var n=e.earliestPendingTime,r=e.latestPendingTime;n===t?e.earliestPendingTime=r===t?e.latestPendingTime=0:r:r===t&&(e.latestPendingTime=n),n=e.earliestSuspendedTime,r=e.latestSuspendedTime,0===n?e.earliestSuspendedTime=e.latestSuspendedTime=t:n<t?e.earliestSuspendedTime=t:r>t&&(e.latestSuspendedTime=t),ni(t,e)}function ti(e,t){var n=e.earliestPendingTime;return n>t&&(t=n),(e=e.earliestSuspendedTime)>t&&(t=e),t}function ni(e,t){var n=t.earliestSuspendedTime,r=t.latestSuspendedTime,i=t.earliestPendingTime,o=t.latestPingedTime;0===(i=0!==i?i:o)&&(0===e||r<e)&&(i=r),0!==(e=i)&&n>e&&(e=n),t.nextExpirationTimeToWorkOn=i,t.expirationTime=e}function ri(e,t){if(e&&e.defaultProps)for(var n in t=i({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}var ii=(new r.Component).refs;function oi(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:i({},t,n),e.memoizedState=n,null!==(r=e.updateQueue)&&0===e.expirationTime&&(r.baseState=n)}var ai={isMounted:function(e){return!!(e=e._reactInternalFiber)&&2===tn(e)},enqueueSetState:function(e,t,n){e=e._reactInternalFiber;var r=As(),i=Vo(r=Ga(r,e));i.payload=t,null!=n&&(i.callback=n),Ha(),Qo(e,i),Qa(e,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternalFiber;var r=As(),i=Vo(r=Ga(r,e));i.tag=Uo,i.payload=t,null!=n&&(i.callback=n),Ha(),Qo(e,i),Qa(e,r)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var n=As(),r=Vo(n=Ga(n,e));r.tag=Zo,null!=t&&(r.callback=t),Ha(),Qo(e,r),Qa(e,n)}};function si(e,t,n,r,i,o,a){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,a):!t.prototype||!t.prototype.isPureReactComponent||(!en(n,r)||!en(i,o))}function ui(e,t,n){var r=!1,i=Dr,o=t.contextType;return"object"==typeof o&&null!==o?o=zo(o):(i=jr(t)?Or:Tr.current,o=(r=null!=(r=t.contextTypes))?$r(e,i):Dr),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=ai,e.stateNode=t,t._reactInternalFiber=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=o),t}function li(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&ai.enqueueReplaceState(t,t.state,null)}function ci(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs=ii;var o=t.contextType;"object"==typeof o&&null!==o?i.context=zo(o):(o=jr(t)?Or:Tr.current,i.context=$r(e,o)),null!==(o=e.updateQueue)&&(na(e,o,n,i,r),i.state=e.memoizedState),"function"==typeof(o=t.getDerivedStateFromProps)&&(oi(e,t,o,n),i.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(t=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&ai.enqueueReplaceState(i,i.state,null),null!==(o=e.updateQueue)&&(na(e,o,n,i,r),i.state=e.memoizedState)),"function"==typeof i.componentDidMount&&(e.effectTag|=4)}var di=Array.isArray;function fi(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){n=n._owner;var r=void 0;n&&(1!==n.tag&&a("309"),r=n.stateNode),r||a("147",e);var i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:((t=function(e){var t=r.refs;t===ii&&(t=r.refs={}),null===e?delete t[i]:t[i]=e})._stringRef=i,t)}"string"!=typeof e&&a("284"),n._owner||a("290",e)}return e}function pi(e,t){"textarea"!==e.type&&a("31","[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t,"")}function hi(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.effectTag=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t,n){return(e=qr(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.effectTag=2,n):r:(t.effectTag=2,n):n}function s(t){return e&&null===t.alternate&&(t.effectTag=2),t}function u(e,t,n,r){return null===t||6!==t.tag?((t=Jr(n,e.mode,r)).return=e,t):((t=i(t,n)).return=e,t)}function l(e,t,n,r){return null!==t&&t.elementType===n.type?((r=i(t,n.props)).ref=fi(e,t,n),r.return=e,r):((r=Wr(n.type,n.key,n.props,null,e.mode,r)).ref=fi(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Qr(n,e.mode,r)).return=e,t):((t=i(t,n.children||[])).return=e,t)}function d(e,t,n,r,o){return null===t||7!==t.tag?((t=Gr(n,e.mode,r,o)).return=e,t):((t=i(t,n)).return=e,t)}function f(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=Jr(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case qe:return(n=Wr(t.type,t.key,t.props,null,e.mode,n)).ref=fi(e,null,t),n.return=e,n;case We:return(t=Qr(t,e.mode,n)).return=e,t}if(di(t)||at(t))return(t=Gr(t,e.mode,n,null)).return=e,t;pi(e,t)}return null}function p(e,t,n,r){var i=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==i?null:u(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case qe:return n.key===i?n.type===Ge?d(e,t,n.props.children,r,i):l(e,t,n,r):null;case We:return n.key===i?c(e,t,n,r):null}if(di(n)||at(n))return null!==i?null:d(e,t,n,r,null);pi(e,n)}return null}function h(e,t,n,r,i){if("string"==typeof r||"number"==typeof r)return u(t,e=e.get(n)||null,""+r,i);if("object"==typeof r&&null!==r){switch(r.$$typeof){case qe:return e=e.get(null===r.key?n:r.key)||null,r.type===Ge?d(t,e,r.props.children,i,r.key):l(t,e,r,i);case We:return c(t,e=e.get(null===r.key?n:r.key)||null,r,i)}if(di(r)||at(r))return d(t,e=e.get(n)||null,r,i,null);pi(t,r)}return null}function m(i,a,s,u){for(var l=null,c=null,d=a,m=a=0,g=null;null!==d&&m<s.length;m++){d.index>m?(g=d,d=null):g=d.sibling;var y=p(i,d,s[m],u);if(null===y){null===d&&(d=g);break}e&&d&&null===y.alternate&&t(i,d),a=o(y,a,m),null===c?l=y:c.sibling=y,c=y,d=g}if(m===s.length)return n(i,d),l;if(null===d){for(;m<s.length;m++)(d=f(i,s[m],u))&&(a=o(d,a,m),null===c?l=d:c.sibling=d,c=d);return l}for(d=r(i,d);m<s.length;m++)(g=h(d,i,m,s[m],u))&&(e&&null!==g.alternate&&d.delete(null===g.key?m:g.key),a=o(g,a,m),null===c?l=g:c.sibling=g,c=g);return e&&d.forEach(function(e){return t(i,e)}),l}function g(i,s,u,l){var c=at(u);"function"!=typeof c&&a("150"),null==(u=c.call(u))&&a("151");for(var d=c=null,m=s,g=s=0,y=null,v=u.next();null!==m&&!v.done;g++,v=u.next()){m.index>g?(y=m,m=null):y=m.sibling;var b=p(i,m,v.value,l);if(null===b){m||(m=y);break}e&&m&&null===b.alternate&&t(i,m),s=o(b,s,g),null===d?c=b:d.sibling=b,d=b,m=y}if(v.done)return n(i,m),c;if(null===m){for(;!v.done;g++,v=u.next())null!==(v=f(i,v.value,l))&&(s=o(v,s,g),null===d?c=v:d.sibling=v,d=v);return c}for(m=r(i,m);!v.done;g++,v=u.next())null!==(v=h(m,i,g,v.value,l))&&(e&&null!==v.alternate&&m.delete(null===v.key?g:v.key),s=o(v,s,g),null===d?c=v:d.sibling=v,d=v);return e&&m.forEach(function(e){return t(i,e)}),c}return function(e,r,o,u){var l="object"==typeof o&&null!==o&&o.type===Ge&&null===o.key;l&&(o=o.props.children);var c="object"==typeof o&&null!==o;if(c)switch(o.$$typeof){case qe:e:{for(c=o.key,l=r;null!==l;){if(l.key===c){if(7===l.tag?o.type===Ge:l.elementType===o.type){n(e,l.sibling),(r=i(l,o.type===Ge?o.props.children:o.props)).ref=fi(e,l,o),r.return=e,e=r;break e}n(e,l);break}t(e,l),l=l.sibling}o.type===Ge?((r=Gr(o.props.children,e.mode,u,o.key)).return=e,e=r):((u=Wr(o.type,o.key,o.props,null,e.mode,u)).ref=fi(e,r,o),u.return=e,e=u)}return s(e);case We:e:{for(l=o.key;null!==r;){if(r.key===l){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Qr(o,e.mode,u)).return=e,e=r}return s(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o)).return=e,e=r):(n(e,r),(r=Jr(o,e.mode,u)).return=e,e=r),s(e);if(di(o))return m(e,r,o,u);if(at(o))return g(e,r,o,u);if(c&&pi(e,o),void 0===o&&!l)switch(e.tag){case 1:case 0:a("152",(u=e.type).displayName||u.name||"Component")}return n(e,r)}}var mi=hi(!0),gi=hi(!1),yi={},vi={current:yi},bi={current:yi},_i={current:yi};function wi(e){return e===yi&&a("174"),e}function Ai(e,t){Sr(_i,t),Sr(bi,e),Sr(vi,yi);var n=t.nodeType;switch(n){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:tr(null,"");break;default:t=tr(t=(n=8===n?t.parentNode:t).namespaceURI||null,n=n.tagName)}Lr(vi),Sr(vi,t)}function xi(e){Lr(vi),Lr(bi),Lr(_i)}function ki(e){wi(_i.current);var t=wi(vi.current),n=tr(t,e.type);t!==n&&(Sr(bi,e),Sr(vi,n))}function Mi(e){bi.current===e&&(Lr(vi),Lr(bi))}var Ei=0,Li=2,Si=4,Di=8,Ti=16,Ci=32,Oi=64,$i=128,ji=Ue.ReactCurrentDispatcher,Pi=0,Ii=null,Ni=null,Fi=null,Ri=null,Yi=null,Bi=null,zi=0,Hi=null,Ui=0,Zi=!1,Ki=null,qi=0;function Wi(){a("321")}function Gi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Qt(e[n],t[n]))return!1;return!0}function Vi(e,t,n,r,i,o){if(Pi=o,Ii=t,Fi=null!==e?e.memoizedState:null,ji.current=null===Fi?lo:co,t=n(r,i),Zi){do{Zi=!1,qi+=1,Fi=null!==e?e.memoizedState:null,Bi=Ri,Hi=Yi=Ni=null,ji.current=co,t=n(r,i)}while(Zi);Ki=null,qi=0}return ji.current=uo,(e=Ii).memoizedState=Ri,e.expirationTime=zi,e.updateQueue=Hi,e.effectTag|=Ui,e=null!==Ni&&null!==Ni.next,Pi=0,Bi=Yi=Ri=Fi=Ni=Ii=null,zi=0,Hi=null,Ui=0,e&&a("300"),t}function Ji(){ji.current=uo,Pi=0,Bi=Yi=Ri=Fi=Ni=Ii=null,zi=0,Hi=null,Ui=0,Zi=!1,Ki=null,qi=0}function Qi(){var e={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return null===Yi?Ri=Yi=e:Yi=Yi.next=e,Yi}function Xi(){if(null!==Bi)Bi=(Yi=Bi).next,Fi=null!==(Ni=Fi)?Ni.next:null;else{null===Fi&&a("310");var e={memoizedState:(Ni=Fi).memoizedState,baseState:Ni.baseState,queue:Ni.queue,baseUpdate:Ni.baseUpdate,next:null};Yi=null===Yi?Ri=e:Yi.next=e,Fi=Ni.next}return Yi}function eo(e,t){return"function"==typeof t?t(e):t}function to(e){var t=Xi(),n=t.queue;if(null===n&&a("311"),n.lastRenderedReducer=e,0<qi){var r=n.dispatch;if(null!==Ki){var i=Ki.get(n);if(void 0!==i){Ki.delete(n);var o=t.memoizedState;do{o=e(o,i.action),i=i.next}while(null!==i);return Qt(o,t.memoizedState)||(Ao=!0),t.memoizedState=o,t.baseUpdate===n.last&&(t.baseState=o),n.lastRenderedState=o,[o,r]}}return[t.memoizedState,r]}r=n.last;var s=t.baseUpdate;if(o=t.baseState,null!==s?(null!==r&&(r.next=null),r=s.next):r=null!==r?r.next:null,null!==r){var u=i=null,l=r,c=!1;do{var d=l.expirationTime;d<Pi?(c||(c=!0,u=s,i=o),d>zi&&(zi=d)):o=l.eagerReducer===e?l.eagerState:e(o,l.action),s=l,l=l.next}while(null!==l&&l!==r);c||(u=s,i=o),Qt(o,t.memoizedState)||(Ao=!0),t.memoizedState=o,t.baseUpdate=u,t.baseState=i,n.lastRenderedState=o}return[t.memoizedState,n.dispatch]}function no(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===Hi?(Hi={lastEffect:null}).lastEffect=e.next=e:null===(t=Hi.lastEffect)?Hi.lastEffect=e.next=e:(n=t.next,t.next=e,e.next=n,Hi.lastEffect=e),e}function ro(e,t,n,r){var i=Qi();Ui|=e,i.memoizedState=no(t,n,void 0,void 0===r?null:r)}function io(e,t,n,r){var i=Xi();r=void 0===r?null:r;var o=void 0;if(null!==Ni){var a=Ni.memoizedState;if(o=a.destroy,null!==r&&Gi(r,a.deps))return void no(Ei,n,o,r)}Ui|=e,i.memoizedState=no(t,n,o,r)}function oo(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function ao(){}function so(e,t,n){25>qi||a("301");var r=e.alternate;if(e===Ii||null!==r&&r===Ii)if(Zi=!0,e={expirationTime:Pi,action:n,eagerReducer:null,eagerState:null,next:null},null===Ki&&(Ki=new Map),void 0===(n=Ki.get(t)))Ki.set(t,e);else{for(t=n;null!==t.next;)t=t.next;t.next=e}else{Ha();var i=As(),o={expirationTime:i=Ga(i,e),action:n,eagerReducer:null,eagerState:null,next:null},s=t.last;if(null===s)o.next=o;else{var u=s.next;null!==u&&(o.next=u),s.next=o}if(t.last=o,0===e.expirationTime&&(null===r||0===r.expirationTime)&&null!==(r=t.lastRenderedReducer))try{var l=t.lastRenderedState,c=r(l,n);if(o.eagerReducer=r,o.eagerState=c,Qt(c,l))return}catch(e){}Qa(e,i)}}var uo={readContext:zo,useCallback:Wi,useContext:Wi,useEffect:Wi,useImperativeHandle:Wi,useLayoutEffect:Wi,useMemo:Wi,useReducer:Wi,useRef:Wi,useState:Wi,useDebugValue:Wi},lo={readContext:zo,useCallback:function(e,t){return Qi().memoizedState=[e,void 0===t?null:t],e},useContext:zo,useEffect:function(e,t){return ro(516,$i|Oi,e,t)},useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,ro(4,Si|Ci,oo.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ro(4,Si|Ci,e,t)},useMemo:function(e,t){var n=Qi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Qi();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={last:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=so.bind(null,Ii,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Qi().memoizedState=e},useState:function(e){var t=Qi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={last:null,dispatch:null,lastRenderedReducer:eo,lastRenderedState:e}).dispatch=so.bind(null,Ii,e),[t.memoizedState,e]},useDebugValue:ao},co={readContext:zo,useCallback:function(e,t){var n=Xi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Gi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)},useContext:zo,useEffect:function(e,t){return io(516,$i|Oi,e,t)},useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,io(4,Si|Ci,oo.bind(null,t,e),n)},useLayoutEffect:function(e,t){return io(4,Si|Ci,e,t)},useMemo:function(e,t){var n=Xi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Gi(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)},useReducer:to,useRef:function(){return Xi().memoizedState},useState:function(e){return to(eo)},useDebugValue:ao},fo=null,po=null,ho=!1;function mo(e,t){var n=Zr(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function go(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function yo(e){if(ho){var t=po;if(t){var n=t;if(!go(e,t)){if(!(t=xr(n))||!go(e,t))return e.effectTag|=2,ho=!1,void(fo=e);mo(fo,n)}fo=e,po=kr(t)}else e.effectTag|=2,ho=!1,fo=e}}function vo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&18!==e.tag;)e=e.return;fo=e}function bo(e){if(e!==fo)return!1;if(!ho)return vo(e),ho=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!vr(t,e.memoizedProps))for(t=po;t;)mo(e,t),t=xr(t);return vo(e),po=fo?xr(e.stateNode):null,!0}function _o(){po=fo=null,ho=!1}var wo=Ue.ReactCurrentOwner,Ao=!1;function xo(e,t,n,r){t.child=null===e?gi(t,null,n,r):mi(t,e.child,n,r)}function ko(e,t,n,r,i){n=n.render;var o=t.ref;return Bo(t,i),r=Vi(e,t,n,r,o,i),null===e||Ao?(t.effectTag|=1,xo(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),$o(e,t,i))}function Mo(e,t,n,r,i,o){if(null===e){var a=n.type;return"function"!=typeof a||Kr(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Wr(n.type,null,r,null,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Eo(e,t,a,r,i,o))}return a=e.child,i<o&&(i=a.memoizedProps,(n=null!==(n=n.compare)?n:en)(i,r)&&e.ref===t.ref)?$o(e,t,o):(t.effectTag|=1,(e=qr(a,r)).ref=t.ref,e.return=t,t.child=e)}function Eo(e,t,n,r,i,o){return null!==e&&en(e.memoizedProps,r)&&e.ref===t.ref&&(Ao=!1,i<o)?$o(e,t,o):So(e,t,n,r,o)}function Lo(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function So(e,t,n,r,i){var o=jr(n)?Or:Tr.current;return o=$r(t,o),Bo(t,i),n=Vi(e,t,n,r,o,i),null===e||Ao?(t.effectTag|=1,xo(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),$o(e,t,i))}function Do(e,t,n,r,i){if(jr(n)){var o=!0;Rr(t)}else o=!1;if(Bo(t,i),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),ui(t,n,r),ci(t,n,r,i),r=!0;else if(null===e){var a=t.stateNode,s=t.memoizedProps;a.props=s;var u=a.context,l=n.contextType;"object"==typeof l&&null!==l?l=zo(l):l=$r(t,l=jr(n)?Or:Tr.current);var c=n.getDerivedStateFromProps,d="function"==typeof c||"function"==typeof a.getSnapshotBeforeUpdate;d||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(s!==r||u!==l)&&li(t,a,r,l),qo=!1;var f=t.memoizedState;u=a.state=f;var p=t.updateQueue;null!==p&&(na(t,p,r,a,i),u=t.memoizedState),s!==r||f!==u||Cr.current||qo?("function"==typeof c&&(oi(t,n,c,r),u=t.memoizedState),(s=qo||si(t,n,s,r,f,u,l))?(d||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||("function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"==typeof a.componentDidMount&&(t.effectTag|=4)):("function"==typeof a.componentDidMount&&(t.effectTag|=4),t.memoizedProps=r,t.memoizedState=u),a.props=r,a.state=u,a.context=l,r=s):("function"==typeof a.componentDidMount&&(t.effectTag|=4),r=!1)}else a=t.stateNode,s=t.memoizedProps,a.props=t.type===t.elementType?s:ri(t.type,s),u=a.context,"object"==typeof(l=n.contextType)&&null!==l?l=zo(l):l=$r(t,l=jr(n)?Or:Tr.current),(d="function"==typeof(c=n.getDerivedStateFromProps)||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(s!==r||u!==l)&&li(t,a,r,l),qo=!1,u=t.memoizedState,f=a.state=u,null!==(p=t.updateQueue)&&(na(t,p,r,a,i),f=t.memoizedState),s!==r||u!==f||Cr.current||qo?("function"==typeof c&&(oi(t,n,c,r),f=t.memoizedState),(c=qo||si(t,n,s,r,u,f,l))?(d||"function"!=typeof a.UNSAFE_componentWillUpdate&&"function"!=typeof a.componentWillUpdate||("function"==typeof a.componentWillUpdate&&a.componentWillUpdate(r,f,l),"function"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(r,f,l)),"function"==typeof a.componentDidUpdate&&(t.effectTag|=4),"function"==typeof a.getSnapshotBeforeUpdate&&(t.effectTag|=256)):("function"!=typeof a.componentDidUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),"function"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),t.memoizedProps=r,t.memoizedState=f),a.props=r,a.state=f,a.context=l,r=c):("function"!=typeof a.componentDidUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),"function"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),r=!1);return To(e,t,n,r,o,i)}function To(e,t,n,r,i,o){Lo(e,t);var a=0!=(64&t.effectTag);if(!r&&!a)return i&&Yr(t,n,!1),$o(e,t,o);r=t.stateNode,wo.current=t;var s=a&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.effectTag|=1,null!==e&&a?(t.child=mi(t,e.child,null,o),t.child=mi(t,null,s,o)):xo(e,t,s,o),t.memoizedState=r.state,i&&Yr(t,n,!0),t.child}function Co(e){var t=e.stateNode;t.pendingContext?Nr(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Nr(0,t.context,!1),Ai(e,t.containerInfo)}function Oo(e,t,n){var r=t.mode,i=t.pendingProps,o=t.memoizedState;if(0==(64&t.effectTag)){o=null;var a=!1}else o={timedOutAt:null!==o?o.timedOutAt:0},a=!0,t.effectTag&=-65;if(null===e)if(a){var s=i.fallback;e=Gr(null,r,0,null),0==(1&t.mode)&&(e.child=null!==t.memoizedState?t.child.child:t.child),r=Gr(s,r,n,null),e.sibling=r,(n=e).return=r.return=t}else n=r=gi(t,null,i.children,n);else null!==e.memoizedState?(s=(r=e.child).sibling,a?(n=i.fallback,i=qr(r,r.pendingProps),0==(1&t.mode)&&((a=null!==t.memoizedState?t.child.child:t.child)!==r.child&&(i.child=a)),r=i.sibling=qr(s,n,s.expirationTime),n=i,i.childExpirationTime=0,n.return=r.return=t):n=r=mi(t,r.child,i.children,n)):(s=e.child,a?(a=i.fallback,(i=Gr(null,r,0,null)).child=s,0==(1&t.mode)&&(i.child=null!==t.memoizedState?t.child.child:t.child),(r=i.sibling=Gr(a,r,n,null)).effectTag|=2,n=i,i.childExpirationTime=0,n.return=r.return=t):r=n=mi(t,s,i.children,n)),t.stateNode=e.stateNode;return t.memoizedState=o,t.child=n,r}function $o(e,t,n){if(null!==e&&(t.contextDependencies=e.contextDependencies),t.childExpirationTime<n)return null;if(null!==e&&t.child!==e.child&&a("153"),null!==t.child){for(n=qr(e=t.child,e.pendingProps,e.expirationTime),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=qr(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}function jo(e,t,n){var r=t.expirationTime;if(null!==e){if(e.memoizedProps!==t.pendingProps||Cr.current)Ao=!0;else if(r<n){switch(Ao=!1,t.tag){case 3:Co(t),_o();break;case 5:ki(t);break;case 1:jr(t.type)&&Rr(t);break;case 4:Ai(t,t.stateNode.containerInfo);break;case 10:Ro(t,t.memoizedProps.value);break;case 13:if(null!==t.memoizedState)return 0!==(r=t.child.childExpirationTime)&&r>=n?Oo(e,t,n):null!==(t=$o(e,t,n))?t.sibling:null}return $o(e,t,n)}}else Ao=!1;switch(t.expirationTime=0,t.tag){case 2:r=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps;var i=$r(t,Tr.current);if(Bo(t,n),i=Vi(null,t,r,e,i,n),t.effectTag|=1,"object"==typeof i&&null!==i&&"function"==typeof i.render&&void 0===i.$$typeof){if(t.tag=1,Ji(),jr(r)){var o=!0;Rr(t)}else o=!1;t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null;var s=r.getDerivedStateFromProps;"function"==typeof s&&oi(t,r,s,e),i.updater=ai,t.stateNode=i,i._reactInternalFiber=t,ci(t,r,e,n),t=To(null,t,r,!0,o,n)}else t.tag=0,xo(null,t,i,n),t=t.child;return t;case 16:switch(i=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),o=t.pendingProps,e=function(e){var t=e._result;switch(e._status){case 1:return t;case 2:case 0:throw t;default:switch(e._status=0,(t=(t=e._ctor)()).then(function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)},function(t){0===e._status&&(e._status=2,e._result=t)}),e._status){case 1:return e._result;case 2:throw e._result}throw e._result=t,t}}(i),t.type=e,i=t.tag=function(e){if("function"==typeof e)return Kr(e)?1:0;if(null!=e){if((e=e.$$typeof)===tt)return 11;if(e===rt)return 14}return 2}(e),o=ri(e,o),s=void 0,i){case 0:s=So(null,t,e,o,n);break;case 1:s=Do(null,t,e,o,n);break;case 11:s=ko(null,t,e,o,n);break;case 14:s=Mo(null,t,e,ri(e.type,o),r,n);break;default:a("306",e,"")}return s;case 0:return r=t.type,i=t.pendingProps,So(e,t,r,i=t.elementType===r?i:ri(r,i),n);case 1:return r=t.type,i=t.pendingProps,Do(e,t,r,i=t.elementType===r?i:ri(r,i),n);case 3:return Co(t),null===(r=t.updateQueue)&&a("282"),i=null!==(i=t.memoizedState)?i.element:null,na(t,r,t.pendingProps,null,n),(r=t.memoizedState.element)===i?(_o(),t=$o(e,t,n)):(i=t.stateNode,(i=(null===e||null===e.child)&&i.hydrate)&&(po=kr(t.stateNode.containerInfo),fo=t,i=ho=!0),i?(t.effectTag|=2,t.child=gi(t,null,r,n)):(xo(e,t,r,n),_o()),t=t.child),t;case 5:return ki(t),null===e&&yo(t),r=t.type,i=t.pendingProps,o=null!==e?e.memoizedProps:null,s=i.children,vr(r,i)?s=null:null!==o&&vr(r,o)&&(t.effectTag|=16),Lo(e,t),1!==n&&1&t.mode&&i.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(xo(e,t,s,n),t=t.child),t;case 6:return null===e&&yo(t),null;case 13:return Oo(e,t,n);case 4:return Ai(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=mi(t,null,r,n):xo(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,ko(e,t,r,i=t.elementType===r?i:ri(r,i),n);case 7:return xo(e,t,t.pendingProps,n),t.child;case 8:case 12:return xo(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,s=t.memoizedProps,Ro(t,o=i.value),null!==s){var u=s.value;if(0===(o=Qt(u,o)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(u,o):1073741823))){if(s.children===i.children&&!Cr.current){t=$o(e,t,n);break e}}else for(null!==(u=t.child)&&(u.return=t);null!==u;){var l=u.contextDependencies;if(null!==l){s=u.child;for(var c=l.first;null!==c;){if(c.context===r&&0!=(c.observedBits&o)){1===u.tag&&((c=Vo(n)).tag=Zo,Qo(u,c)),u.expirationTime<n&&(u.expirationTime=n),null!==(c=u.alternate)&&c.expirationTime<n&&(c.expirationTime=n),c=n;for(var d=u.return;null!==d;){var f=d.alternate;if(d.childExpirationTime<c)d.childExpirationTime=c,null!==f&&f.childExpirationTime<c&&(f.childExpirationTime=c);else{if(!(null!==f&&f.childExpirationTime<c))break;f.childExpirationTime=c}d=d.return}l.expirationTime<n&&(l.expirationTime=n);break}c=c.next}}else s=10===u.tag&&u.type===t.type?null:u.child;if(null!==s)s.return=u;else for(s=u;null!==s;){if(s===t){s=null;break}if(null!==(u=s.sibling)){u.return=s.return,s=u;break}s=s.return}u=s}}xo(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=(o=t.pendingProps).children,Bo(t,n),r=r(i=zo(i,o.unstable_observedBits)),t.effectTag|=1,xo(e,t,r,n),t.child;case 14:return o=ri(i=t.type,t.pendingProps),Mo(e,t,i,o=ri(i.type,o),r,n);case 15:return Eo(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ri(r,i),null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,jr(r)?(e=!0,Rr(t)):e=!1,Bo(t,n),ui(t,r,i),ci(t,r,i,n),To(null,t,r,!0,e,n)}a("156")}var Po={current:null},Io=null,No=null,Fo=null;function Ro(e,t){var n=e.type._context;Sr(Po,n._currentValue),n._currentValue=t}function Yo(e){var t=Po.current;Lr(Po),e.type._context._currentValue=t}function Bo(e,t){Io=e,Fo=No=null;var n=e.contextDependencies;null!==n&&n.expirationTime>=t&&(Ao=!0),e.contextDependencies=null}function zo(e,t){return Fo!==e&&!1!==t&&0!==t&&("number"==typeof t&&1073741823!==t||(Fo=e,t=1073741823),t={context:e,observedBits:t,next:null},null===No?(null===Io&&a("308"),No=t,Io.contextDependencies={first:t,expirationTime:0}):No=No.next=t),e._currentValue}var Ho=0,Uo=1,Zo=2,Ko=3,qo=!1;function Wo(e){return{baseState:e,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Go(e){return{baseState:e.baseState,firstUpdate:e.firstUpdate,lastUpdate:e.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Vo(e){return{expirationTime:e,tag:Ho,payload:null,callback:null,next:null,nextEffect:null}}function Jo(e,t){null===e.lastUpdate?e.firstUpdate=e.lastUpdate=t:(e.lastUpdate.next=t,e.lastUpdate=t)}function Qo(e,t){var n=e.alternate;if(null===n){var r=e.updateQueue,i=null;null===r&&(r=e.updateQueue=Wo(e.memoizedState))}else r=e.updateQueue,i=n.updateQueue,null===r?null===i?(r=e.updateQueue=Wo(e.memoizedState),i=n.updateQueue=Wo(n.memoizedState)):r=e.updateQueue=Go(i):null===i&&(i=n.updateQueue=Go(r));null===i||r===i?Jo(r,t):null===r.lastUpdate||null===i.lastUpdate?(Jo(r,t),Jo(i,t)):(Jo(r,t),i.lastUpdate=t)}function Xo(e,t){var n=e.updateQueue;null===(n=null===n?e.updateQueue=Wo(e.memoizedState):ea(e,n)).lastCapturedUpdate?n.firstCapturedUpdate=n.lastCapturedUpdate=t:(n.lastCapturedUpdate.next=t,n.lastCapturedUpdate=t)}function ea(e,t){var n=e.alternate;return null!==n&&t===n.updateQueue&&(t=e.updateQueue=Go(t)),t}function ta(e,t,n,r,o,a){switch(n.tag){case Uo:return"function"==typeof(e=n.payload)?e.call(a,r,o):e;case Ko:e.effectTag=-2049&e.effectTag|64;case Ho:if(null==(o="function"==typeof(e=n.payload)?e.call(a,r,o):e))break;return i({},r,o);case Zo:qo=!0}return r}function na(e,t,n,r,i){qo=!1;for(var o=(t=ea(e,t)).baseState,a=null,s=0,u=t.firstUpdate,l=o;null!==u;){var c=u.expirationTime;c<i?(null===a&&(a=u,o=l),s<c&&(s=c)):(l=ta(e,0,u,l,n,r),null!==u.callback&&(e.effectTag|=32,u.nextEffect=null,null===t.lastEffect?t.firstEffect=t.lastEffect=u:(t.lastEffect.nextEffect=u,t.lastEffect=u))),u=u.next}for(c=null,u=t.firstCapturedUpdate;null!==u;){var d=u.expirationTime;d<i?(null===c&&(c=u,null===a&&(o=l)),s<d&&(s=d)):(l=ta(e,0,u,l,n,r),null!==u.callback&&(e.effectTag|=32,u.nextEffect=null,null===t.lastCapturedEffect?t.firstCapturedEffect=t.lastCapturedEffect=u:(t.lastCapturedEffect.nextEffect=u,t.lastCapturedEffect=u))),u=u.next}null===a&&(t.lastUpdate=null),null===c?t.lastCapturedUpdate=null:e.effectTag|=32,null===a&&null===c&&(o=l),t.baseState=o,t.firstUpdate=a,t.firstCapturedUpdate=c,e.expirationTime=s,e.memoizedState=l}function ra(e,t,n){null!==t.firstCapturedUpdate&&(null!==t.lastUpdate&&(t.lastUpdate.next=t.firstCapturedUpdate,t.lastUpdate=t.lastCapturedUpdate),t.firstCapturedUpdate=t.lastCapturedUpdate=null),ia(t.firstEffect,n),t.firstEffect=t.lastEffect=null,ia(t.firstCapturedEffect,n),t.firstCapturedEffect=t.lastCapturedEffect=null}function ia(e,t){for(;null!==e;){var n=e.callback;if(null!==n){e.callback=null;var r=t;"function"!=typeof n&&a("191",n),n.call(r)}e=e.nextEffect}}function oa(e,t){return{value:e,source:t,stack:ut(t)}}function aa(e){e.effectTag|=4}var sa=void 0,ua=void 0,la=void 0,ca=void 0;sa=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},ua=function(){},la=function(e,t,n,r,o){var a=e.memoizedProps;if(a!==r){var s=t.stateNode;switch(wi(vi.current),e=null,n){case"input":a=bt(s,a),r=bt(s,r),e=[];break;case"option":a=qn(s,a),r=qn(s,r),e=[];break;case"select":a=i({},a,{value:void 0}),r=i({},r,{value:void 0}),e=[];break;case"textarea":a=Gn(s,a),r=Gn(s,r),e=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(s.onclick=hr)}dr(n,r),s=n=void 0;var u=null;for(n in a)if(!r.hasOwnProperty(n)&&a.hasOwnProperty(n)&&null!=a[n])if("style"===n){var l=a[n];for(s in l)l.hasOwnProperty(s)&&(u||(u={}),u[s]="")}else"dangerouslySetInnerHTML"!==n&&"children"!==n&&"suppressContentEditableWarning"!==n&&"suppressHydrationWarning"!==n&&"autoFocus"!==n&&(b.hasOwnProperty(n)?e||(e=[]):(e=e||[]).push(n,null));for(n in r){var c=r[n];if(l=null!=a?a[n]:void 0,r.hasOwnProperty(n)&&c!==l&&(null!=c||null!=l))if("style"===n)if(l){for(s in l)!l.hasOwnProperty(s)||c&&c.hasOwnProperty(s)||(u||(u={}),u[s]="");for(s in c)c.hasOwnProperty(s)&&l[s]!==c[s]&&(u||(u={}),u[s]=c[s])}else u||(e||(e=[]),e.push(n,u)),u=c;else"dangerouslySetInnerHTML"===n?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(e=e||[]).push(n,""+c)):"children"===n?l===c||"string"!=typeof c&&"number"!=typeof c||(e=e||[]).push(n,""+c):"suppressContentEditableWarning"!==n&&"suppressHydrationWarning"!==n&&(b.hasOwnProperty(n)?(null!=c&&pr(o,n),e||l===c||(e=[])):(e=e||[]).push(n,c))}u&&(e=e||[]).push("style",u),o=e,(t.updateQueue=o)&&aa(t)}},ca=function(e,t,n,r){n!==r&&aa(t)};var da="function"==typeof WeakSet?WeakSet:Set;function fa(e,t){var n=t.source,r=t.stack;null===r&&null!==n&&(r=ut(n)),null!==n&&st(n.type),t=t.value,null!==e&&1===e.tag&&st(e.type);try{console.error(t)}catch(e){setTimeout(function(){throw e})}}function pa(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(t){Wa(e,t)}else t.current=null}function ha(e,t,n){if(null!==(n=null!==(n=n.updateQueue)?n.lastEffect:null)){var r=n=n.next;do{if((r.tag&e)!==Ei){var i=r.destroy;r.destroy=void 0,void 0!==i&&i()}(r.tag&t)!==Ei&&(i=r.create,r.destroy=i()),r=r.next}while(r!==n)}}function ma(e){switch("function"==typeof zr&&zr(e),e.tag){case 0:case 11:case 14:case 15:var t=e.updateQueue;if(null!==t&&null!==(t=t.lastEffect)){var n=t=t.next;do{var r=n.destroy;if(void 0!==r){var i=e;try{r()}catch(e){Wa(i,e)}}n=n.next}while(n!==t)}break;case 1:if(pa(e),"function"==typeof(t=e.stateNode).componentWillUnmount)try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(t){Wa(e,t)}break;case 5:pa(e);break;case 4:va(e)}}function ga(e){return 5===e.tag||3===e.tag||4===e.tag}function ya(e){e:{for(var t=e.return;null!==t;){if(ga(t)){var n=t;break e}t=t.return}a("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:a("161")}16&n.effectTag&&(or(t,""),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||ga(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){if(5===i.tag||6===i.tag)if(n)if(r){var o=t,s=i.stateNode,u=n;8===o.nodeType?o.parentNode.insertBefore(s,u):o.insertBefore(s,u)}else t.insertBefore(i.stateNode,n);else r?(s=t,u=i.stateNode,8===s.nodeType?(o=s.parentNode).insertBefore(u,s):(o=s).appendChild(u),null!=(s=s._reactRootContainer)||null!==o.onclick||(o.onclick=hr)):t.appendChild(i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}}function va(e){for(var t=e,n=!1,r=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&a("160"),n.tag){case 5:r=n.stateNode,i=!1;break e;case 3:case 4:r=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag){e:for(var o=t,s=o;;)if(ma(s),null!==s.child&&4!==s.tag)s.child.return=s,s=s.child;else{if(s===o)break;for(;null===s.sibling;){if(null===s.return||s.return===o)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}i?(o=r,s=t.stateNode,8===o.nodeType?o.parentNode.removeChild(s):o.removeChild(s)):r.removeChild(t.stateNode)}else if(4===t.tag){if(null!==t.child){r=t.stateNode.containerInfo,i=!0,t.child.return=t,t=t.child;continue}}else if(ma(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}function ba(e,t){switch(t.tag){case 0:case 11:case 14:case 15:ha(Si,Di,t);break;case 1:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&function(e,t,n,r,i){e[j]=i,"input"===n&&"radio"===i.type&&null!=i.name&&wt(e,i),fr(n,r),r=fr(n,i);for(var o=0;o<t.length;o+=2){var a=t[o],s=t[o+1];"style"===a?lr(e,s):"dangerouslySetInnerHTML"===a?ir(e,s):"children"===a?or(e,s):yt(e,a,s,r)}switch(n){case"input":At(e,i);break;case"textarea":Jn(e,i);break;case"select":t=e._wrapperState.wasMultiple,e._wrapperState.wasMultiple=!!i.multiple,null!=(n=i.value)?Wn(e,!!i.multiple,n,!1):t!==!!i.multiple&&(null!=i.defaultValue?Wn(e,!!i.multiple,i.defaultValue,!0):Wn(e,!!i.multiple,i.multiple?[]:"",!1))}}(n,o,i,e,r)}break;case 6:null===t.stateNode&&a("162"),t.stateNode.nodeValue=t.memoizedProps;break;case 3:case 12:break;case 13:if(n=t.memoizedState,r=void 0,e=t,null===n?r=!1:(r=!0,e=t.child,0===n.timedOutAt&&(n.timedOutAt=As())),null!==e&&function(e,t){for(var n=e;;){if(5===n.tag){var r=n.stateNode;if(t)r.style.display="none";else{r=n.stateNode;var i=n.memoizedProps.style;i=null!=i&&i.hasOwnProperty("display")?i.display:null,r.style.display=ur("display",i)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else{if(13===n.tag&&null!==n.memoizedState){(r=n.child.sibling).return=n,n=r;continue}if(null!==n.child){n.child.return=n,n=n.child;continue}}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}(e,r),null!==(n=t.updateQueue)){t.updateQueue=null;var s=t.stateNode;null===s&&(s=t.stateNode=new da),n.forEach(function(e){var n=function(e,t){var n=e.stateNode;null!==n&&n.delete(t),t=Ga(t=As(),e),null!==(e=Ja(e,t))&&(Xr(e,t),0!==(t=e.expirationTime)&&xs(e,t))}.bind(null,t,e);s.has(e)||(s.add(e),e.then(n,n))})}break;case 17:break;default:a("163")}}var _a="function"==typeof WeakMap?WeakMap:Map;function wa(e,t,n){(n=Vo(n)).tag=Ko,n.payload={element:null};var r=t.value;return n.callback=function(){Os(r),fa(e,t)},n}function Aa(e,t,n){(n=Vo(n)).tag=Ko;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var i=t.value;n.payload=function(){return r(i)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===Fa?Fa=new Set([this]):Fa.add(this));var n=t.value,i=t.stack;fa(e,t),this.componentDidCatch(n,{componentStack:null!==i?i:""})}),n}function xa(e){switch(e.tag){case 1:jr(e.type)&&Pr();var t=e.effectTag;return 2048&t?(e.effectTag=-2049&t|64,e):null;case 3:return xi(),Ir(),0!=(64&(t=e.effectTag))&&a("285"),e.effectTag=-2049&t|64,e;case 5:return Mi(e),null;case 13:return 2048&(t=e.effectTag)?(e.effectTag=-2049&t|64,e):null;case 18:return null;case 4:return xi(),null;case 10:return Yo(e),null;default:return null}}var ka=Ue.ReactCurrentDispatcher,Ma=Ue.ReactCurrentOwner,Ea=1073741822,La=!1,Sa=null,Da=null,Ta=0,Ca=-1,Oa=!1,$a=null,ja=!1,Pa=null,Ia=null,Na=null,Fa=null;function Ra(){if(null!==Sa)for(var e=Sa.return;null!==e;){var t=e;switch(t.tag){case 1:var n=t.type.childContextTypes;null!=n&&Pr();break;case 3:xi(),Ir();break;case 5:Mi(t);break;case 4:xi();break;case 10:Yo(t)}e=e.return}Da=null,Ta=0,Ca=-1,Oa=!1,Sa=null}function Ya(){for(;null!==$a;){var e=$a.effectTag;if(16&e&&or($a.stateNode,""),128&e){var t=$a.alternate;null!==t&&(null!==(t=t.ref)&&("function"==typeof t?t(null):t.current=null))}switch(14&e){case 2:ya($a),$a.effectTag&=-3;break;case 6:ya($a),$a.effectTag&=-3,ba($a.alternate,$a);break;case 4:ba($a.alternate,$a);break;case 8:va(e=$a),e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null,null!==(e=e.alternate)&&(e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null)}$a=$a.nextEffect}}function Ba(){for(;null!==$a;){if(256&$a.effectTag)e:{var e=$a.alternate,t=$a;switch(t.tag){case 0:case 11:case 15:ha(Li,Ei,t);break e;case 1:if(256&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:ri(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}break e;case 3:case 5:case 6:case 4:case 17:break e;default:a("163")}}$a=$a.nextEffect}}function za(e,t){for(;null!==$a;){var n=$a.effectTag;if(36&n){var r=$a.alternate,i=$a,o=t;switch(i.tag){case 0:case 11:case 15:ha(Ti,Ci,i);break;case 1:var s=i.stateNode;if(4&i.effectTag)if(null===r)s.componentDidMount();else{var u=i.elementType===i.type?r.memoizedProps:ri(i.type,r.memoizedProps);s.componentDidUpdate(u,r.memoizedState,s.__reactInternalSnapshotBeforeUpdate)}null!==(r=i.updateQueue)&&ra(0,r,s);break;case 3:if(null!==(r=i.updateQueue)){if(s=null,null!==i.child)switch(i.child.tag){case 5:s=i.child.stateNode;break;case 1:s=i.child.stateNode}ra(0,r,s)}break;case 5:o=i.stateNode,null===r&&4&i.effectTag&&yr(i.type,i.memoizedProps)&&o.focus();break;case 6:case 4:case 12:case 13:case 17:break;default:a("163")}}128&n&&(null!==(i=$a.ref)&&(o=$a.stateNode,"function"==typeof i?i(o):i.current=o)),512&n&&(Pa=e),$a=$a.nextEffect}}function Ha(){null!==Ia&&Ar(Ia),null!==Na&&Na()}function Ua(e,t){ja=La=!0,e.current===t&&a("177");var n=e.pendingCommitExpirationTime;0===n&&a("261"),e.pendingCommitExpirationTime=0;var r=t.expirationTime,i=t.childExpirationTime;for(function(e,t){if(e.didError=!1,0===t)e.earliestPendingTime=0,e.latestPendingTime=0,e.earliestSuspendedTime=0,e.latestSuspendedTime=0,e.latestPingedTime=0;else{t<e.latestPingedTime&&(e.latestPingedTime=0);var n=e.latestPendingTime;0!==n&&(n>t?e.earliestPendingTime=e.latestPendingTime=0:e.earliestPendingTime>t&&(e.earliestPendingTime=e.latestPendingTime)),0===(n=e.earliestSuspendedTime)?Xr(e,t):t<e.latestSuspendedTime?(e.earliestSuspendedTime=0,e.latestSuspendedTime=0,e.latestPingedTime=0,Xr(e,t)):t>n&&Xr(e,t)}ni(0,e)}(e,i>r?i:r),Ma.current=null,r=void 0,1<t.effectTag?null!==t.lastEffect?(t.lastEffect.nextEffect=t,r=t.firstEffect):r=t:r=t.firstEffect,mr=kn,gr=function(){var e=In();if(Nn(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{var n=(t=(t=e.ownerDocument)&&t.defaultView||window).getSelection&&t.getSelection();if(n&&0!==n.rangeCount){t=n.anchorNode;var r=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{t.nodeType,i.nodeType}catch(e){t=null;break e}var o=0,a=-1,s=-1,u=0,l=0,c=e,d=null;t:for(;;){for(var f;c!==t||0!==r&&3!==c.nodeType||(a=o+r),c!==i||0!==n&&3!==c.nodeType||(s=o+n),3===c.nodeType&&(o+=c.nodeValue.length),null!==(f=c.firstChild);)d=c,c=f;for(;;){if(c===e)break t;if(d===t&&++u===r&&(a=o),d===i&&++l===n&&(s=o),null!==(f=c.nextSibling))break;d=(c=d).parentNode}c=f}t=-1===a||-1===s?null:{start:a,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;return{focusedElem:e,selectionRange:t}}(),kn=!1,$a=r;null!==$a;){i=!1;var s=void 0;try{Ba()}catch(e){i=!0,s=e}i&&(null===$a&&a("178"),Wa($a,s),null!==$a&&($a=$a.nextEffect))}for($a=r;null!==$a;){i=!1,s=void 0;try{Ya()}catch(e){i=!0,s=e}i&&(null===$a&&a("178"),Wa($a,s),null!==$a&&($a=$a.nextEffect))}for(Fn(gr),gr=null,kn=!!mr,mr=null,e.current=t,$a=r;null!==$a;){i=!1,s=void 0;try{za(e,n)}catch(e){i=!0,s=e}i&&(null===$a&&a("178"),Wa($a,s),null!==$a&&($a=$a.nextEffect))}if(null!==r&&null!==Pa){var u=function(e,t){Na=Ia=Pa=null;var n=is;is=!0;do{if(512&t.effectTag){var r=!1,i=void 0;try{var o=t;ha($i,Ei,o),ha(Ei,Oi,o)}catch(e){r=!0,i=e}r&&Wa(t,i)}t=t.nextEffect}while(null!==t);is=n,0!==(n=e.expirationTime)&&xs(e,n),cs||is||Ss(1073741823,!1)}.bind(null,e,r);Ia=o.unstable_runWithPriority(o.unstable_NormalPriority,function(){return wr(u)}),Na=u}La=ja=!1,"function"==typeof Br&&Br(t.stateNode),n=t.expirationTime,0===(t=(t=t.childExpirationTime)>n?t:n)&&(Fa=null),function(e,t){e.expirationTime=t,e.finishedWork=null}(e,t)}function Za(e){for(;;){var t=e.alternate,n=e.return,r=e.sibling;if(0==(1024&e.effectTag)){Sa=e;e:{var o=t,s=Ta,u=(t=e).pendingProps;switch(t.tag){case 2:case 16:break;case 15:case 0:break;case 1:jr(t.type)&&Pr();break;case 3:xi(),Ir(),(u=t.stateNode).pendingContext&&(u.context=u.pendingContext,u.pendingContext=null),null!==o&&null!==o.child||(bo(t),t.effectTag&=-3),ua(t);break;case 5:Mi(t);var l=wi(_i.current);if(s=t.type,null!==o&&null!=t.stateNode)la(o,t,s,u,l),o.ref!==t.ref&&(t.effectTag|=128);else if(u){var c=wi(vi.current);if(bo(t)){o=(u=t).stateNode;var d=u.type,f=u.memoizedProps,p=l;switch(o[$]=u,o[j]=f,s=void 0,l=d){case"iframe":case"object":Mn("load",o);break;case"video":case"audio":for(d=0;d<te.length;d++)Mn(te[d],o);break;case"source":Mn("error",o);break;case"img":case"image":case"link":Mn("error",o),Mn("load",o);break;case"form":Mn("reset",o),Mn("submit",o);break;case"details":Mn("toggle",o);break;case"input":_t(o,f),Mn("invalid",o),pr(p,"onChange");break;case"select":o._wrapperState={wasMultiple:!!f.multiple},Mn("invalid",o),pr(p,"onChange");break;case"textarea":Vn(o,f),Mn("invalid",o),pr(p,"onChange")}for(s in dr(l,f),d=null,f)f.hasOwnProperty(s)&&(c=f[s],"children"===s?"string"==typeof c?o.textContent!==c&&(d=["children",c]):"number"==typeof c&&o.textContent!==""+c&&(d=["children",""+c]):b.hasOwnProperty(s)&&null!=c&&pr(p,s));switch(l){case"input":ze(o),xt(o,f,!0);break;case"textarea":ze(o),Qn(o);break;case"select":case"option":break;default:"function"==typeof f.onClick&&(o.onclick=hr)}s=d,u.updateQueue=s,(u=null!==s)&&aa(t)}else{f=t,p=s,o=u,d=9===l.nodeType?l:l.ownerDocument,c===Xn.html&&(c=er(p)),c===Xn.html?"script"===p?((o=d.createElement("div")).innerHTML="<script><\/script>",d=o.removeChild(o.firstChild)):"string"==typeof o.is?d=d.createElement(p,{is:o.is}):(d=d.createElement(p),"select"===p&&(p=d,o.multiple?p.multiple=!0:o.size&&(p.size=o.size))):d=d.createElementNS(c,p),(o=d)[$]=f,o[j]=u,sa(o,t,!1,!1),p=o;var h=l,m=fr(d=s,f=u);switch(d){case"iframe":case"object":Mn("load",p),l=f;break;case"video":case"audio":for(l=0;l<te.length;l++)Mn(te[l],p);l=f;break;case"source":Mn("error",p),l=f;break;case"img":case"image":case"link":Mn("error",p),Mn("load",p),l=f;break;case"form":Mn("reset",p),Mn("submit",p),l=f;break;case"details":Mn("toggle",p),l=f;break;case"input":_t(p,f),l=bt(p,f),Mn("invalid",p),pr(h,"onChange");break;case"option":l=qn(p,f);break;case"select":p._wrapperState={wasMultiple:!!f.multiple},l=i({},f,{value:void 0}),Mn("invalid",p),pr(h,"onChange");break;case"textarea":Vn(p,f),l=Gn(p,f),Mn("invalid",p),pr(h,"onChange");break;default:l=f}dr(d,l),c=void 0;var g=d,y=p,v=l;for(c in v)if(v.hasOwnProperty(c)){var _=v[c];"style"===c?lr(y,_):"dangerouslySetInnerHTML"===c?null!=(_=_?_.__html:void 0)&&ir(y,_):"children"===c?"string"==typeof _?("textarea"!==g||""!==_)&&or(y,_):"number"==typeof _&&or(y,""+_):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(b.hasOwnProperty(c)?null!=_&&pr(h,c):null!=_&&yt(y,c,_,m))}switch(d){case"input":ze(p),xt(p,f,!1);break;case"textarea":ze(p),Qn(p);break;case"option":null!=f.value&&p.setAttribute("value",""+vt(f.value));break;case"select":(l=p).multiple=!!f.multiple,null!=(p=f.value)?Wn(l,!!f.multiple,p,!1):null!=f.defaultValue&&Wn(l,!!f.multiple,f.defaultValue,!0);break;default:"function"==typeof l.onClick&&(p.onclick=hr)}(u=yr(s,u))&&aa(t),t.stateNode=o}null!==t.ref&&(t.effectTag|=128)}else null===t.stateNode&&a("166");break;case 6:o&&null!=t.stateNode?ca(o,t,o.memoizedProps,u):("string"!=typeof u&&(null===t.stateNode&&a("166")),o=wi(_i.current),wi(vi.current),bo(t)?(s=(u=t).stateNode,o=u.memoizedProps,s[$]=u,(u=s.nodeValue!==o)&&aa(t)):(s=t,(u=(9===o.nodeType?o:o.ownerDocument).createTextNode(u))[$]=t,s.stateNode=u));break;case 11:break;case 13:if(u=t.memoizedState,0!=(64&t.effectTag)){t.expirationTime=s,Sa=t;break e}u=null!==u,s=null!==o&&null!==o.memoizedState,null!==o&&!u&&s&&(null!==(o=o.child.sibling)&&(null!==(l=t.firstEffect)?(t.firstEffect=o,o.nextEffect=l):(t.firstEffect=t.lastEffect=o,o.nextEffect=null),o.effectTag=8)),(u||s)&&(t.effectTag|=4);break;case 7:case 8:case 12:break;case 4:xi(),ua(t);break;case 10:Yo(t);break;case 9:case 14:break;case 17:jr(t.type)&&Pr();break;case 18:break;default:a("156")}Sa=null}if(t=e,1===Ta||1!==t.childExpirationTime){for(u=0,s=t.child;null!==s;)(o=s.expirationTime)>u&&(u=o),(l=s.childExpirationTime)>u&&(u=l),s=s.sibling;t.childExpirationTime=u}if(null!==Sa)return Sa;null!==n&&0==(1024&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1<e.effectTag&&(null!==n.lastEffect?n.lastEffect.nextEffect=e:n.firstEffect=e,n.lastEffect=e))}else{if(null!==(e=xa(e)))return e.effectTag&=1023,e;null!==n&&(n.firstEffect=n.lastEffect=null,n.effectTag|=1024)}if(null!==r)return r;if(null===n)break;e=n}return null}function Ka(e){var t=jo(e.alternate,e,Ta);return e.memoizedProps=e.pendingProps,null===t&&(t=Za(e)),Ma.current=null,t}function qa(e,t){La&&a("243"),Ha(),La=!0;var n=ka.current;ka.current=uo;var r=e.nextExpirationTimeToWorkOn;r===Ta&&e===Da&&null!==Sa||(Ra(),Ta=r,Sa=qr((Da=e).current,null),e.pendingCommitExpirationTime=0);for(var i=!1;;){try{if(t)for(;null!==Sa&&!Es();)Sa=Ka(Sa);else for(;null!==Sa;)Sa=Ka(Sa)}catch(t){if(Fo=No=Io=null,Ji(),null===Sa)i=!0,Os(t);else{null===Sa&&a("271");var o=Sa,s=o.return;if(null!==s){e:{var u=e,l=s,c=o,d=t;if(s=Ta,c.effectTag|=1024,c.firstEffect=c.lastEffect=null,null!==d&&"object"==typeof d&&"function"==typeof d.then){var f=d;d=l;var p=-1,h=-1;do{if(13===d.tag){var m=d.alternate;if(null!==m&&null!==(m=m.memoizedState)){h=10*(1073741822-m.timedOutAt);break}"number"==typeof(m=d.pendingProps.maxDuration)&&(0>=m?p=0:(-1===p||m<p)&&(p=m))}d=d.return}while(null!==d);d=l;do{if((m=13===d.tag)&&(m=void 0!==d.memoizedProps.fallback&&null===d.memoizedState),m){if(null===(l=d.updateQueue)?((l=new Set).add(f),d.updateQueue=l):l.add(f),0==(1&d.mode)){d.effectTag|=64,c.effectTag&=-1957,1===c.tag&&(null===c.alternate?c.tag=17:((s=Vo(1073741823)).tag=Zo,Qo(c,s))),c.expirationTime=1073741823;break e}l=s;var g=(c=u).pingCache;null===g?(g=c.pingCache=new _a,m=new Set,g.set(f,m)):void 0===(m=g.get(f))&&(m=new Set,g.set(f,m)),m.has(l)||(m.add(l),c=Va.bind(null,c,f,l),f.then(c,c)),-1===p?u=1073741823:(-1===h&&(h=10*(1073741822-ti(u,s))-5e3),u=h+p),0<=u&&Ca<u&&(Ca=u),d.effectTag|=2048,d.expirationTime=s;break e}d=d.return}while(null!==d);d=Error((st(c.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+ut(c))}Oa=!0,d=oa(d,c),u=l;do{switch(u.tag){case 3:u.effectTag|=2048,u.expirationTime=s,Xo(u,s=wa(u,d,s));break e;case 1:if(p=d,h=u.type,c=u.stateNode,0==(64&u.effectTag)&&("function"==typeof h.getDerivedStateFromError||null!==c&&"function"==typeof c.componentDidCatch&&(null===Fa||!Fa.has(c)))){u.effectTag|=2048,u.expirationTime=s,Xo(u,s=Aa(u,p,s));break e}}u=u.return}while(null!==u)}Sa=Za(o);continue}i=!0,Os(t)}}break}if(La=!1,ka.current=n,Fo=No=Io=null,Ji(),i)Da=null,e.finishedWork=null;else if(null!==Sa)e.finishedWork=null;else{if(null===(n=e.current.alternate)&&a("281"),Da=null,Oa){if(i=e.latestPendingTime,o=e.latestSuspendedTime,s=e.latestPingedTime,0!==i&&i<r||0!==o&&o<r||0!==s&&s<r)return ei(e,r),void ws(e,n,r,e.expirationTime,-1);if(!e.didError&&t)return e.didError=!0,r=e.nextExpirationTimeToWorkOn=r,t=e.expirationTime=1073741823,void ws(e,n,r,t,-1)}t&&-1!==Ca?(ei(e,r),(t=10*(1073741822-ti(e,r)))<Ca&&(Ca=t),t=10*(1073741822-As()),t=Ca-t,ws(e,n,r,e.expirationTime,0>t?0:t)):(e.pendingCommitExpirationTime=r,e.finishedWork=n)}}function Wa(e,t){for(var n=e.return;null!==n;){switch(n.tag){case 1:var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Fa||!Fa.has(r)))return Qo(n,e=Aa(n,e=oa(t,e),1073741823)),void Qa(n,1073741823);break;case 3:return Qo(n,e=wa(n,e=oa(t,e),1073741823)),void Qa(n,1073741823)}n=n.return}3===e.tag&&(Qo(e,n=wa(e,n=oa(t,e),1073741823)),Qa(e,1073741823))}function Ga(e,t){var n=o.unstable_getCurrentPriorityLevel(),r=void 0;if(0==(1&t.mode))r=1073741823;else if(La&&!ja)r=Ta;else{switch(n){case o.unstable_ImmediatePriority:r=1073741823;break;case o.unstable_UserBlockingPriority:r=1073741822-10*(1+((1073741822-e+15)/10|0));break;case o.unstable_NormalPriority:r=1073741822-25*(1+((1073741822-e+500)/25|0));break;case o.unstable_LowPriority:case o.unstable_IdlePriority:r=1;break;default:a("313")}null!==Da&&r===Ta&&--r}return n===o.unstable_UserBlockingPriority&&(0===ss||r<ss)&&(ss=r),r}function Va(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),null!==Da&&Ta===n?Da=null:(t=e.earliestSuspendedTime,r=e.latestSuspendedTime,0!==t&&n<=t&&n>=r&&(e.didError=!1,(0===(t=e.latestPingedTime)||t>n)&&(e.latestPingedTime=n),ni(n,e),0!==(n=e.expirationTime)&&xs(e,n)))}function Ja(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t);var r=e.return,i=null;if(null===r&&3===e.tag)i=e.stateNode;else for(;null!==r;){if(n=r.alternate,r.childExpirationTime<t&&(r.childExpirationTime=t),null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t),null===r.return&&3===r.tag){i=r.stateNode;break}r=r.return}return i}function Qa(e,t){null!==(e=Ja(e,t))&&(!La&&0!==Ta&&t>Ta&&Ra(),Xr(e,t),La&&!ja&&Da===e||xs(e,e.expirationTime),ys>gs&&(ys=0,a("185")))}function Xa(e,t,n,r,i){return o.unstable_runWithPriority(o.unstable_ImmediatePriority,function(){return e(t,n,r,i)})}var es=null,ts=null,ns=0,rs=void 0,is=!1,os=null,as=0,ss=0,us=!1,ls=null,cs=!1,ds=!1,fs=null,ps=o.unstable_now(),hs=1073741822-(ps/10|0),ms=hs,gs=50,ys=0,vs=null;function bs(){hs=1073741822-((o.unstable_now()-ps)/10|0)}function _s(e,t){if(0!==ns){if(t<ns)return;null!==rs&&o.unstable_cancelCallback(rs)}ns=t,e=o.unstable_now()-ps,rs=o.unstable_scheduleCallback(Ls,{timeout:10*(1073741822-t)-e})}function ws(e,t,n,r,i){e.expirationTime=r,0!==i||Es()?0<i&&(e.timeoutHandle=br(function(e,t,n){e.pendingCommitExpirationTime=n,e.finishedWork=t,bs(),ms=hs,Ds(e,n)}.bind(null,e,t,n),i)):(e.pendingCommitExpirationTime=n,e.finishedWork=t)}function As(){return is?ms:(ks(),0!==as&&1!==as||(bs(),ms=hs),ms)}function xs(e,t){null===e.nextScheduledRoot?(e.expirationTime=t,null===ts?(es=ts=e,e.nextScheduledRoot=e):(ts=ts.nextScheduledRoot=e).nextScheduledRoot=es):t>e.expirationTime&&(e.expirationTime=t),is||(cs?ds&&(os=e,as=1073741823,Ts(e,1073741823,!1)):1073741823===t?Ss(1073741823,!1):_s(e,t))}function ks(){var e=0,t=null;if(null!==ts)for(var n=ts,r=es;null!==r;){var i=r.expirationTime;if(0===i){if((null===n||null===ts)&&a("244"),r===r.nextScheduledRoot){es=ts=r.nextScheduledRoot=null;break}if(r===es)es=i=r.nextScheduledRoot,ts.nextScheduledRoot=i,r.nextScheduledRoot=null;else{if(r===ts){(ts=n).nextScheduledRoot=es,r.nextScheduledRoot=null;break}n.nextScheduledRoot=r.nextScheduledRoot,r.nextScheduledRoot=null}r=n.nextScheduledRoot}else{if(i>e&&(e=i,t=r),r===ts)break;if(1073741823===e)break;n=r,r=r.nextScheduledRoot}}os=t,as=e}var Ms=!1;function Es(){return!!Ms||!!o.unstable_shouldYield()&&(Ms=!0)}function Ls(){try{if(!Es()&&null!==es){bs();var e=es;do{var t=e.expirationTime;0!==t&&hs<=t&&(e.nextExpirationTimeToWorkOn=hs),e=e.nextScheduledRoot}while(e!==es)}Ss(0,!0)}finally{Ms=!1}}function Ss(e,t){if(ks(),t)for(bs(),ms=hs;null!==os&&0!==as&&e<=as&&!(Ms&&hs>as);)Ts(os,as,hs>as),ks(),bs(),ms=hs;else for(;null!==os&&0!==as&&e<=as;)Ts(os,as,!1),ks();if(t&&(ns=0,rs=null),0!==as&&_s(os,as),ys=0,vs=null,null!==fs)for(e=fs,fs=null,t=0;t<e.length;t++){var n=e[t];try{n._onComplete()}catch(e){us||(us=!0,ls=e)}}if(us)throw e=ls,ls=null,us=!1,e}function Ds(e,t){is&&a("253"),os=e,as=t,Ts(e,t,!1),Ss(1073741823,!1)}function Ts(e,t,n){if(is&&a("245"),is=!0,n){var r=e.finishedWork;null!==r?Cs(e,r,t):(e.finishedWork=null,-1!==(r=e.timeoutHandle)&&(e.timeoutHandle=-1,_r(r)),qa(e,n),null!==(r=e.finishedWork)&&(Es()?e.finishedWork=r:Cs(e,r,t)))}else null!==(r=e.finishedWork)?Cs(e,r,t):(e.finishedWork=null,-1!==(r=e.timeoutHandle)&&(e.timeoutHandle=-1,_r(r)),qa(e,n),null!==(r=e.finishedWork)&&Cs(e,r,t));is=!1}function Cs(e,t,n){var r=e.firstBatch;if(null!==r&&r._expirationTime>=n&&(null===fs?fs=[r]:fs.push(r),r._defer))return e.finishedWork=t,void(e.expirationTime=0);e.finishedWork=null,e===vs?ys++:(vs=e,ys=0),o.unstable_runWithPriority(o.unstable_ImmediatePriority,function(){Ua(e,t)})}function Os(e){null===os&&a("246"),os.expirationTime=0,us||(us=!0,ls=e)}function $s(e,t){var n=cs;cs=!0;try{return e(t)}finally{(cs=n)||is||Ss(1073741823,!1)}}function js(e,t){if(cs&&!ds){ds=!0;try{return e(t)}finally{ds=!1}}return e(t)}function Ps(e,t,n){cs||is||0===ss||(Ss(ss,!1),ss=0);var r=cs;cs=!0;try{return o.unstable_runWithPriority(o.unstable_UserBlockingPriority,function(){return e(t,n)})}finally{(cs=r)||is||Ss(1073741823,!1)}}function Is(e,t,n,r,i){var o=t.current;e:if(n){t:{2===tn(n=n._reactInternalFiber)&&1===n.tag||a("170");var s=n;do{switch(s.tag){case 3:s=s.stateNode.context;break t;case 1:if(jr(s.type)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break t}}s=s.return}while(null!==s);a("171"),s=void 0}if(1===n.tag){var u=n.type;if(jr(u)){n=Fr(n,u,s);break e}}n=s}else n=Dr;return null===t.context?t.context=n:t.pendingContext=n,t=i,(i=Vo(r)).payload={element:e},null!==(t=void 0===t?null:t)&&(i.callback=t),Ha(),Qo(o,i),Qa(o,r),r}function Ns(e,t,n,r){var i=t.current;return Is(e,t,n,i=Ga(As(),i),r)}function Fs(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Rs(e){var t=1073741822-25*(1+((1073741822-As()+500)/25|0));t>=Ea&&(t=Ea-1),this._expirationTime=Ea=t,this._root=e,this._callbacks=this._next=null,this._hasChildren=this._didComplete=!1,this._children=null,this._defer=!0}function Ys(){this._callbacks=null,this._didCommit=!1,this._onCommit=this._onCommit.bind(this)}function Bs(e,t,n){e={current:t=Zr(3,null,null,t?3:0),containerInfo:e,pendingChildren:null,pingCache:null,earliestPendingTime:0,latestPendingTime:0,earliestSuspendedTime:0,latestSuspendedTime:0,latestPingedTime:0,didError:!1,pendingCommitExpirationTime:0,finishedWork:null,timeoutHandle:-1,context:null,pendingContext:null,hydrate:n,nextExpirationTimeToWorkOn:0,expirationTime:0,firstBatch:null,nextScheduledRoot:null},this._internalRoot=t.stateNode=e}function zs(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Hs(e,t,n,r,i){var o=n._reactRootContainer;if(o){if("function"==typeof i){var a=i;i=function(){var e=Fs(o._internalRoot);a.call(e)}}null!=e?o.legacy_renderSubtreeIntoContainer(e,t,i):o.render(t,i)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new Bs(e,!1,t)}(n,r),"function"==typeof i){var s=i;i=function(){var e=Fs(o._internalRoot);s.call(e)}}js(function(){null!=e?o.legacy_renderSubtreeIntoContainer(e,t,i):o.render(t,i)})}return Fs(o._internalRoot)}function Us(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;return zs(t)||a("200"),function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:We,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)}Ee=function(e,t,n){switch(t){case"input":if(At(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=F(r);i||a("90"),He(r),At(r,i)}}}break;case"textarea":Jn(e,n);break;case"select":null!=(t=n.value)&&Wn(e,!!n.multiple,t,!1)}},Rs.prototype.render=function(e){this._defer||a("250"),this._hasChildren=!0,this._children=e;var t=this._root._internalRoot,n=this._expirationTime,r=new Ys;return Is(e,t,null,n,r._onCommit),r},Rs.prototype.then=function(e){if(this._didComplete)e();else{var t=this._callbacks;null===t&&(t=this._callbacks=[]),t.push(e)}},Rs.prototype.commit=function(){var e=this._root._internalRoot,t=e.firstBatch;if(this._defer&&null!==t||a("251"),this._hasChildren){var n=this._expirationTime;if(t!==this){this._hasChildren&&(n=this._expirationTime=t._expirationTime,this.render(this._children));for(var r=null,i=t;i!==this;)r=i,i=i._next;null===r&&a("251"),r._next=i._next,this._next=t,e.firstBatch=this}this._defer=!1,Ds(e,n),t=this._next,this._next=null,null!==(t=e.firstBatch=t)&&t._hasChildren&&t.render(t._children)}else this._next=null,this._defer=!1},Rs.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var e=this._callbacks;if(null!==e)for(var t=0;t<e.length;t++)(0,e[t])()}},Ys.prototype.then=function(e){if(this._didCommit)e();else{var t=this._callbacks;null===t&&(t=this._callbacks=[]),t.push(e)}},Ys.prototype._onCommit=function(){if(!this._didCommit){this._didCommit=!0;var e=this._callbacks;if(null!==e)for(var t=0;t<e.length;t++){var n=e[t];"function"!=typeof n&&a("191",n),n()}}},Bs.prototype.render=function(e,t){var n=this._internalRoot,r=new Ys;return null!==(t=void 0===t?null:t)&&r.then(t),Ns(e,n,null,r._onCommit),r},Bs.prototype.unmount=function(e){var t=this._internalRoot,n=new Ys;return null!==(e=void 0===e?null:e)&&n.then(e),Ns(null,t,null,n._onCommit),n},Bs.prototype.legacy_renderSubtreeIntoContainer=function(e,t,n){var r=this._internalRoot,i=new Ys;return null!==(n=void 0===n?null:n)&&i.then(n),Ns(t,r,e,i._onCommit),i},Bs.prototype.createBatch=function(){var e=new Rs(this),t=e._expirationTime,n=this._internalRoot,r=n.firstBatch;if(null===r)n.firstBatch=e,e._next=null;else{for(n=null;null!==r&&r._expirationTime>=t;)n=r,r=r._next;e._next=r,null!==n&&(n._next=e)}return e},Oe=$s,$e=Ps,je=function(){is||0===ss||(Ss(ss,!1),ss=0)};var Zs={createPortal:Us,findDOMNode:function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternalFiber;return void 0===t&&("function"==typeof e.render?a("188"):a("268",Object.keys(e))),e=null===(e=rn(t))?null:e.stateNode},hydrate:function(e,t,n){return zs(t)||a("200"),Hs(null,e,t,!0,n)},render:function(e,t,n){return zs(t)||a("200"),Hs(null,e,t,!1,n)},unstable_renderSubtreeIntoContainer:function(e,t,n,r){return zs(n)||a("200"),(null==e||void 0===e._reactInternalFiber)&&a("38"),Hs(e,t,n,!1,r)},unmountComponentAtNode:function(e){return zs(e)||a("40"),!!e._reactRootContainer&&(js(function(){Hs(null,null,e,!1,function(){e._reactRootContainer=null})}),!0)},unstable_createPortal:function(){return Us.apply(void 0,arguments)},unstable_batchedUpdates:$s,unstable_interactiveUpdates:Ps,flushSync:function(e,t){is&&a("187");var n=cs;cs=!0;try{return Xa(e,t)}finally{cs=n,Ss(1073741823,!1)}},unstable_createRoot:function(e,t){return zs(e)||a("299","unstable_createRoot"),new Bs(e,!0,null!=t&&!0===t.hydrate)},unstable_flushControlled:function(e){var t=cs;cs=!0;try{Xa(e)}finally{(cs=t)||is||Ss(1073741823,!1)}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[I,N,F,D.injectEventPluginsByName,v,U,function(e){E(e,H)},Te,Ce,Sn,C]}};!function(e){var t=e.findFiberByHostInstance;(function(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);Br=Hr(function(e){return t.onCommitFiberRoot(n,e)}),zr=Hr(function(e){return t.onCommitFiberUnmount(n,e)})}catch(e){}})(i({},e,{overrideProps:null,currentDispatcherRef:Ue.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=rn(e))?null:e.stateNode},findFiberByHostInstance:function(e){return t?t(e):null}}))}({findFiberByHostInstance:P,bundleType:0,version:"16.8.6",rendererPackageName:"react-dom"});var Ks={default:Zs},qs=Ks&&Zs||Ks;e.exports=qs.default||qs},function(e,t,n){"use strict";e.exports=n(578)},function(e,t,n){"use strict";(function(e){
 /** @license React v0.13.6
  * scheduler.production.min.js
  *
@@ -140,7 +140,7 @@ Object.defineProperty(t,"__esModule",{value:!0});var n=null,r=!1,i=3,o=-1,a=-1,s
  *
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
- */Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&Symbol.for,i=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,a=r?Symbol.for("react.fragment"):60107,s=r?Symbol.for("react.strict_mode"):60108,u=r?Symbol.for("react.profiler"):60114,l=r?Symbol.for("react.provider"):60109,c=r?Symbol.for("react.context"):60110,d=r?Symbol.for("react.async_mode"):60111,f=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,h=r?Symbol.for("react.suspense"):60113,m=r?Symbol.for("react.memo"):60115,g=r?Symbol.for("react.lazy"):60116;function y(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case i:switch(e=e.type){case d:case f:case a:case u:case s:case h:return e;default:switch(e=e&&e.$$typeof){case c:case p:case l:return e;default:return t}}case g:case m:case o:return t}}}function v(e){return y(e)===f}t.typeOf=y,t.AsyncMode=d,t.ConcurrentMode=f,t.ContextConsumer=c,t.ContextProvider=l,t.Element=i,t.ForwardRef=p,t.Fragment=a,t.Lazy=g,t.Memo=m,t.Portal=o,t.Profiler=u,t.StrictMode=s,t.Suspense=h,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===f||e===u||e===s||e===h||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===m||e.$$typeof===l||e.$$typeof===c||e.$$typeof===p)},t.isAsyncMode=function(e){return v(e)||y(e)===d},t.isConcurrentMode=v,t.isContextConsumer=function(e){return y(e)===c},t.isContextProvider=function(e){return y(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===i},t.isForwardRef=function(e){return y(e)===p},t.isFragment=function(e){return y(e)===a},t.isLazy=function(e){return y(e)===g},t.isMemo=function(e){return y(e)===m},t.isPortal=function(e){return y(e)===o},t.isProfiler=function(e){return y(e)===u},t.isStrictMode=function(e){return y(e)===s},t.isSuspense=function(e){return y(e)===h}},function(e,t,n){var r=n(152),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=a.call(e);return r&&(t?e[s]=n:delete e[s]),i}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){var r=n(586),i=500;e.exports=function(e){var t=r(e,function(e){return n.size===i&&n.clear(),e}),n=t.cache;return t}},function(e,t,n){var r=n(208),i="Expected a function";function o(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(i);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(o.Cache||r),n}o.Cache=r,e.exports=o},function(e,t,n){var r=n(588),i=n(154),o=n(209);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},function(e,t,n){var r=n(589),i=n(594),o=n(595),a=n(596),s=n(597);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=i,u.prototype.get=o,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(153);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},function(e,t,n){var r=n(144),i=n(591),o=n(59),a=n(292),s=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,d=l.hasOwnProperty,f=RegExp("^"+c.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||i(e))&&(r(e)?f:s).test(a(e))}},function(e,t,n){var r,i=n(592),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!o&&o in e}},function(e,t,n){var r=n(44)["__core-js_shared__"];e.exports=r},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},function(e,t,n){var r=n(153),i="__lodash_hash_undefined__",o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return n===i?void 0:n}return o.call(t,e)?t[e]:void 0}},function(e,t,n){var r=n(153),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},function(e,t,n){var r=n(153),i="__lodash_hash_undefined__";e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?i:t,this}},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,n){var r=n(155),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():i.call(t,n,1),--this.size,0))}},function(e,t,n){var r=n(155);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},function(e,t,n){var r=n(155);e.exports=function(e){return r(this.__data__,e)>-1}},function(e,t,n){var r=n(155);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},function(e,t,n){var r=n(156);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,n){var r=n(156);e.exports=function(e){return r(this,e).get(e)}},function(e,t,n){var r=n(156);e.exports=function(e){return r(this,e).has(e)}},function(e,t,n){var r=n(156);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},function(e,t,n){var r=n(152),i=n(288),o=n(38),a=n(151),s=1/0,u=r?r.prototype:void 0,l=u?u.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return i(t,e)+"";if(a(t))return l?l.call(t):"";var n=t+"";return"0"==n&&1/t==-s?"-0":n}},function(e,t,n){var r=n(210),i=n(294),o=n(620),a=n(623),s=n(299),u=n(38),l=n(159),c=n(160),d=1,f="[object Arguments]",p="[object Array]",h="[object Object]",m=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,g,y,v){var b=u(e),_=u(t),w=b?p:s(e),A=_?p:s(t),x=(w=w==f?h:w)==h,k=(A=A==f?h:A)==h,M=w==A;if(M&&l(e)){if(!l(t))return!1;b=!0,x=!1}if(M&&!x)return v||(v=new r),b||c(e)?i(e,t,n,g,y,v):o(e,t,w,n,g,y,v);if(!(n&d)){var E=x&&m.call(e,"__wrapped__"),L=k&&m.call(t,"__wrapped__");if(E||L){var S=E?e.value():e,D=L?t.value():t;return v||(v=new r),y(S,D,n,g,v)}}return!!M&&(v||(v=new r),a(e,t,n,g,y,v))}},function(e,t,n){var r=n(154);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var r=n(154),i=n(209),o=n(208),a=200;e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var s=n.__data__;if(!i||s.length<a-1)return s.push([e,t]),this.size=++n.size,this;n=this.__data__=new o(s)}return n.set(e,t),this.size=n.size,this}},function(e,t,n){var r=n(208),i=n(616),o=n(617);function a(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new r;++t<n;)this.add(e[t])}a.prototype.add=a.prototype.push=i,a.prototype.has=o,e.exports=a},function(e,t){var n="__lodash_hash_undefined__";e.exports=function(e){return this.__data__.set(e,n),this}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}},function(e,t){e.exports=function(e,t){return e.has(t)}},function(e,t,n){var r=n(152),i=n(295),o=n(124),a=n(294),s=n(621),u=n(622),l=1,c=2,d="[object Boolean]",f="[object Date]",p="[object Error]",h="[object Map]",m="[object Number]",g="[object RegExp]",y="[object Set]",v="[object String]",b="[object Symbol]",_="[object ArrayBuffer]",w="[object DataView]",A=r?r.prototype:void 0,x=A?A.valueOf:void 0;e.exports=function(e,t,n,r,A,k,M){switch(n){case w:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case _:return!(e.byteLength!=t.byteLength||!k(new i(e),new i(t)));case d:case f:case m:return o(+e,+t);case p:return e.name==t.name&&e.message==t.message;case g:case v:return e==t+"";case h:var E=s;case y:var L=r&l;if(E||(E=u),e.size!=t.size&&!L)return!1;var S=M.get(e);if(S)return S==t;r|=c,M.set(e,t);var D=a(E(e),E(t),r,A,k,M);return M.delete(e),D;case b:if(x)return x.call(e)==x.call(t)}return!1}},function(e,t){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}},function(e,t){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}},function(e,t,n){var r=n(624),i=1,o=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,a,s,u){var l=n&i,c=r(e),d=c.length;if(d!=r(t).length&&!l)return!1;for(var f=d;f--;){var p=c[f];if(!(l?p in t:o.call(t,p)))return!1}var h=u.get(e),m=u.get(t);if(h&&m)return h==t&&m==e;var g=!0;u.set(e,t),u.set(t,e);for(var y=l;++f<d;){var v=e[p=c[f]],b=t[p];if(a)var _=l?a(b,v,p,t,e,u):a(v,b,p,e,t,u);if(!(void 0===_?v===b||s(v,b,n,a,u):_)){g=!1;break}y||(y="constructor"==p)}if(g&&!y){var w=e.constructor,A=t.constructor;w!=A&&"constructor"in e&&"constructor"in t&&!("function"==typeof w&&w instanceof w&&"function"==typeof A&&A instanceof A)&&(g=!1)}return u.delete(e),u.delete(t),g}},function(e,t,n){var r=n(625),i=n(627),o=n(211);e.exports=function(e){return r(e,o,i)}},function(e,t,n){var r=n(626),i=n(38);e.exports=function(e,t,n){var o=t(e);return i(e)?o:r(o,n(e))}},function(e,t){e.exports=function(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}},function(e,t,n){var r=n(628),i=n(629),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(e){return null==e?[]:(e=Object(e),r(a(e),function(t){return o.call(e,t)}))}:i;e.exports=s},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}},function(e,t){e.exports=function(){return[]}},function(e,t){e.exports=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}},function(e,t,n){var r=n(93),i=n(75),o="[object Arguments]";e.exports=function(e){return i(e)&&r(e)==o}},function(e,t){e.exports=function(){return!1}},function(e,t,n){var r=n(93),i=n(213),o=n(75),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,e.exports=function(e){return o(e)&&i(e.length)&&!!a[r(e)]}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,n){(function(e){var r=n(290),i=t&&!t.nodeType&&t,o=i&&"object"==typeof e&&e&&!e.nodeType&&e,a=o&&o.exports===i&&r.process,s=function(){try{var e=o&&o.require&&o.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=s}).call(this,n(45)(e))},function(e,t,n){var r=n(298)(Object.keys,Object);e.exports=r},function(e,t,n){var r=n(76)(n(44),"DataView");e.exports=r},function(e,t,n){var r=n(76)(n(44),"Promise");e.exports=r},function(e,t,n){var r=n(76)(n(44),"Set");e.exports=r},function(e,t,n){var r=n(76)(n(44),"WeakMap");e.exports=r},function(e,t,n){var r=n(303),i=n(211);e.exports=function(e,t){return e&&r(e,t,i)}},function(e,t){e.exports=function(e){return function(t,n,r){for(var i=-1,o=Object(t),a=r(t),s=a.length;s--;){var u=a[e?s:++i];if(!1===n(o[u],u,o))break}return t}}},function(e,t,n){var r=n(644),i=n(647),o=n(215),a=n(38),s=n(651);e.exports=function(e){return"function"==typeof e?e:null==e?o:"object"==typeof e?a(e)?i(e[0],e[1]):r(e):s(e)}},function(e,t,n){var r=n(645),i=n(646),o=n(305);e.exports=function(e){var t=i(e);return 1==t.length&&t[0][2]?o(t[0][0],t[0][1]):function(n){return n===e||r(n,e,t)}}},function(e,t,n){var r=n(210),i=n(157),o=1,a=2;e.exports=function(e,t,n,s){var u=n.length,l=u,c=!s;if(null==e)return!l;for(e=Object(e);u--;){var d=n[u];if(c&&d[2]?d[1]!==e[d[0]]:!(d[0]in e))return!1}for(;++u<l;){var f=(d=n[u])[0],p=e[f],h=d[1];if(c&&d[2]){if(void 0===p&&!(f in e))return!1}else{var m=new r;if(s)var g=s(p,h,f,e,t,m);if(!(void 0===g?i(h,p,o|a,s,m):g))return!1}}return!0}},function(e,t,n){var r=n(304),i=n(211);e.exports=function(e){for(var t=i(e),n=t.length;n--;){var o=t[n],a=e[o];t[n]=[o,a,r(a)]}return t}},function(e,t,n){var r=n(157),i=n(270),o=n(648),a=n(214),s=n(304),u=n(305),l=n(125),c=1,d=2;e.exports=function(e,t){return a(e)&&s(t)?u(l(e),t):function(n){var a=i(n,e);return void 0===a&&a===t?o(n,e):r(t,a,c|d)}}},function(e,t,n){var r=n(649),i=n(650);e.exports=function(e,t){return null!=e&&i(e,t,r)}},function(e,t){e.exports=function(e,t){return null!=e&&t in Object(e)}},function(e,t,n){var r=n(301),i=n(158),o=n(38),a=n(212),s=n(213),u=n(125);e.exports=function(e,t,n){for(var l=-1,c=(t=r(t,e)).length,d=!1;++l<c;){var f=u(t[l]);if(!(d=null!=e&&n(e,f)))break;e=e[f]}return d||++l!=c?d:!!(c=null==e?0:e.length)&&s(c)&&a(f,c)&&(o(e)||i(e))}},function(e,t,n){var r=n(652),i=n(653),o=n(214),a=n(125);e.exports=function(e){return o(e)?r(a(e)):i(e)}},function(e,t){e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},function(e,t,n){var r=n(300);e.exports=function(e){return function(t){return r(t,e)}}},function(e,t,n){var r=n(210),i=n(306),o=n(303),a=n(655),s=n(59),u=n(309),l=n(308);e.exports=function e(t,n,c,d,f){t!==n&&o(n,function(o,u){if(f||(f=new r),s(o))a(t,n,u,c,e,d,f);else{var p=d?d(l(t,u),o,u+"",t,n,f):void 0;void 0===p&&(p=o),i(t,u,p)}},u)}},function(e,t,n){var r=n(306),i=n(656),o=n(657),a=n(289),s=n(659),u=n(158),l=n(38),c=n(661),d=n(159),f=n(144),p=n(59),h=n(662),m=n(160),g=n(308),y=n(663);e.exports=function(e,t,n,v,b,_,w){var A=g(e,n),x=g(t,n),k=w.get(x);if(k)r(e,n,k);else{var M=_?_(A,x,n+"",e,t,w):void 0,E=void 0===M;if(E){var L=l(x),S=!L&&d(x),D=!L&&!S&&m(x);M=x,L||S||D?l(A)?M=A:c(A)?M=a(A):S?(E=!1,M=i(x,!0)):D?(E=!1,M=o(x,!0)):M=[]:h(x)||u(x)?(M=A,u(A)?M=y(A):p(A)&&!f(A)||(M=s(x))):E=!1}E&&(w.set(x,M),b(M,x,v,_,w),w.delete(x)),r(e,n,M)}}},function(e,t,n){(function(e){var r=n(44),i=t&&!t.nodeType&&t,o=i&&"object"==typeof e&&e&&!e.nodeType&&e,a=o&&o.exports===i?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var n=e.length,r=s?s(n):new e.constructor(n);return e.copy(r),r}}).call(this,n(45)(e))},function(e,t,n){var r=n(658);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}},function(e,t,n){var r=n(295);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},function(e,t,n){var r=n(660),i=n(307),o=n(161);e.exports=function(e){return"function"!=typeof e.constructor||o(e)?{}:r(i(e))}},function(e,t,n){var r=n(59),i=Object.create,o=function(){function e(){}return function(t){if(!r(t))return{};if(i)return i(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();e.exports=o},function(e,t,n){var r=n(126),i=n(75);e.exports=function(e){return i(e)&&r(e)}},function(e,t,n){var r=n(93),i=n(307),o=n(75),a="[object Object]",s=Function.prototype,u=Object.prototype,l=s.toString,c=u.hasOwnProperty,d=l.call(Object);e.exports=function(e){if(!o(e)||r(e)!=a)return!1;var t=i(e);if(null===t)return!0;var n=c.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&l.call(n)==d}},function(e,t,n){var r=n(664),i=n(309);e.exports=function(e){return r(e,i(e))}},function(e,t,n){var r=n(665),i=n(162);e.exports=function(e,t,n,o){var a=!n;n||(n={});for(var s=-1,u=t.length;++s<u;){var l=t[s],c=o?o(n[l],e[l],l,n,e):void 0;void 0===c&&(c=e[l]),a?i(n,l,c):r(n,l,c)}return n}},function(e,t,n){var r=n(162),i=n(124),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var a=e[t];o.call(e,t)&&i(a,n)&&(void 0!==n||t in e)||r(e,t,n)}},function(e,t,n){var r=n(59),i=n(161),o=n(667),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return o(e);var t=i(e),n=[];for(var s in e)("constructor"!=s||!t&&a.call(e,s))&&n.push(s);return n}},function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},function(e,t,n){var r=n(669),i=n(676);e.exports=function(e){return r(function(t,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=e.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),t=Object(t);++r<o;){var u=n[r];u&&e(t,u,r,a)}return t})}},function(e,t,n){var r=n(215),i=n(670),o=n(672);e.exports=function(e,t){return o(i(e,t,r),e+"")}},function(e,t,n){var r=n(671),i=Math.max;e.exports=function(e,t,n){return t=i(void 0===t?e.length-1:t,0),function(){for(var o=arguments,a=-1,s=i(o.length-t,0),u=Array(s);++a<s;)u[a]=o[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=o[a];return l[t]=n(u),r(e,this,l)}}},function(e,t){e.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},function(e,t,n){var r=n(673),i=n(675)(r);e.exports=i},function(e,t,n){var r=n(674),i=n(302),o=n(215),a=i?function(e,t){return i(e,"toString",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:o;e.exports=a},function(e,t){e.exports=function(e){return function(){return e}}},function(e,t){var n=800,r=16,i=Date.now;e.exports=function(e){var t=0,o=0;return function(){var a=i(),s=r-(a-o);if(o=a,s>0){if(++t>=n)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,n){var r=n(124),i=n(126),o=n(212),a=n(59);e.exports=function(e,t,n){if(!a(n))return!1;var s=typeof t;return!!("number"==s?i(n)&&o(t,n.length):"string"==s&&t in n)&&r(n[t],e)}},function(e,t,n){e.exports=function(){"use strict";var e=Array.prototype.slice;function t(e,t){t&&(e.prototype=Object.create(t.prototype)),e.prototype.constructor=e}function n(e){return a(e)?e:K(e)}function r(e){return s(e)?e:q(e)}function i(e){return u(e)?e:W(e)}function o(e){return a(e)&&!l(e)?e:G(e)}function a(e){return!(!e||!e[d])}function s(e){return!(!e||!e[f])}function u(e){return!(!e||!e[p])}function l(e){return s(e)||u(e)}function c(e){return!(!e||!e[h])}t(r,n),t(i,n),t(o,n),n.isIterable=a,n.isKeyed=s,n.isIndexed=u,n.isAssociative=l,n.isOrdered=c,n.Keyed=r,n.Indexed=i,n.Set=o;var d="@@__IMMUTABLE_ITERABLE__@@",f="@@__IMMUTABLE_KEYED__@@",p="@@__IMMUTABLE_INDEXED__@@",h="@@__IMMUTABLE_ORDERED__@@",m=5,g=1<<m,y=g-1,v={},b={value:!1},_={value:!1};function w(e){return e.value=!1,e}function A(e){e&&(e.value=!0)}function x(){}function k(e,t){t=t||0;for(var n=Math.max(0,e.length-t),r=new Array(n),i=0;i<n;i++)r[i]=e[i+t];return r}function M(e){return void 0===e.size&&(e.size=e.__iterate(L)),e.size}function E(e,t){if("number"!=typeof t){var n=t>>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?M(e)+t:t}function L(){return!0}function S(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function D(e,t){return C(e,t,0)}function T(e,t){return C(e,t,t)}function C(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}var O=0,$=1,j=2,P="function"==typeof Symbol&&Symbol.iterator,I="@@iterator",N=P||I;function F(e){this.next=e}function R(e,t,n,r){var i=0===e?t:1===e?n:[t,n];return r?r.value=i:r={value:i,done:!1},r}function Y(){return{value:void 0,done:!0}}function B(e){return!!U(e)}function z(e){return e&&"function"==typeof e.next}function H(e){var t=U(e);return t&&t.call(e)}function U(e){var t=e&&(P&&e[P]||e[I]);if("function"==typeof t)return t}function Z(e){return e&&"number"==typeof e.length}function K(e){return null==e?oe():a(e)?e.toSeq():function(e){var t=ue(e)||"object"==typeof e&&new te(e);if(!t)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+e);return t}(e)}function q(e){return null==e?oe().toKeyedSeq():a(e)?s(e)?e.toSeq():e.fromEntrySeq():ae(e)}function W(e){return null==e?oe():a(e)?s(e)?e.entrySeq():e.toIndexedSeq():se(e)}function G(e){return(null==e?oe():a(e)?s(e)?e.entrySeq():e:se(e)).toSetSeq()}F.prototype.toString=function(){return"[Iterator]"},F.KEYS=O,F.VALUES=$,F.ENTRIES=j,F.prototype.inspect=F.prototype.toSource=function(){return this.toString()},F.prototype[N]=function(){return this},t(K,n),K.of=function(){return K(arguments)},K.prototype.toSeq=function(){return this},K.prototype.toString=function(){return this.__toString("Seq {","}")},K.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},K.prototype.__iterate=function(e,t){return le(this,e,t,!0)},K.prototype.__iterator=function(e,t){return ce(this,e,t,!0)},t(q,K),q.prototype.toKeyedSeq=function(){return this},t(W,K),W.of=function(){return W(arguments)},W.prototype.toIndexedSeq=function(){return this},W.prototype.toString=function(){return this.__toString("Seq [","]")},W.prototype.__iterate=function(e,t){return le(this,e,t,!1)},W.prototype.__iterator=function(e,t){return ce(this,e,t,!1)},t(G,K),G.of=function(){return G(arguments)},G.prototype.toSetSeq=function(){return this},K.isSeq=ie,K.Keyed=q,K.Set=G,K.Indexed=W;var V,J,Q,X="@@__IMMUTABLE_SEQ__@@";function ee(e){this._array=e,this.size=e.length}function te(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function ne(e){this._iterable=e,this.size=e.length||e.size}function re(e){this._iterator=e,this._iteratorCache=[]}function ie(e){return!(!e||!e[X])}function oe(){return V||(V=new ee([]))}function ae(e){var t=Array.isArray(e)?new ee(e).fromEntrySeq():z(e)?new re(e).fromEntrySeq():B(e)?new ne(e).fromEntrySeq():"object"==typeof e?new te(e):void 0;if(!t)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+e);return t}function se(e){var t=ue(e);if(!t)throw new TypeError("Expected Array or iterable object of values: "+e);return t}function ue(e){return Z(e)?new ee(e):z(e)?new re(e):B(e)?new ne(e):void 0}function le(e,t,n,r){var i=e._cache;if(i){for(var o=i.length-1,a=0;a<=o;a++){var s=i[n?o-a:a];if(!1===t(s[1],r?s[0]:a,e))return a+1}return a}return e.__iterateUncached(t,n)}function ce(e,t,n,r){var i=e._cache;if(i){var o=i.length-1,a=0;return new F(function(){var e=i[n?o-a:a];return a++>o?{value:void 0,done:!0}:R(t,r?e[0]:a-1,e[1])})}return e.__iteratorUncached(t,n)}function de(e,t){return t?function e(t,n,r,i){return Array.isArray(n)?t.call(i,r,W(n).map(function(r,i){return e(t,r,i,n)})):pe(n)?t.call(i,r,q(n).map(function(r,i){return e(t,r,i,n)})):n}(t,e,"",{"":e}):fe(e)}function fe(e){return Array.isArray(e)?W(e).map(fe).toList():pe(e)?q(e).map(fe).toMap():e}function pe(e){return e&&(e.constructor===Object||void 0===e.constructor)}function he(e,t){if(e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1;if("function"==typeof e.valueOf&&"function"==typeof t.valueOf){if(e=e.valueOf(),t=t.valueOf(),e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1}return!("function"!=typeof e.equals||"function"!=typeof t.equals||!e.equals(t))}function me(e,t){if(e===t)return!0;if(!a(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||s(e)!==s(t)||u(e)!==u(t)||c(e)!==c(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!l(e);if(c(e)){var r=e.entries();return t.every(function(e,t){var i=r.next().value;return i&&he(i[1],e)&&(n||he(i[0],t))})&&r.next().done}var i=!1;if(void 0===e.size)if(void 0===t.size)"function"==typeof e.cacheResult&&e.cacheResult();else{i=!0;var o=e;e=t,t=o}var d=!0,f=t.__iterate(function(t,r){if(n?!e.has(t):i?!he(t,e.get(r,v)):!he(e.get(r,v),t))return d=!1,!1});return d&&e.size===f}function ge(e,t){if(!(this instanceof ge))return new ge(e,t);if(this._value=e,this.size=void 0===t?1/0:Math.max(0,t),0===this.size){if(J)return J;J=this}}function ye(e,t){if(!e)throw new Error(t)}function ve(e,t,n){if(!(this instanceof ve))return new ve(e,t,n);if(ye(0!==n,"Cannot step a Range by 0"),e=e||0,void 0===t&&(t=1/0),n=void 0===n?1:Math.abs(n),t<e&&(n=-n),this._start=e,this._end=t,this._step=n,this.size=Math.max(0,Math.ceil((t-e)/n-1)+1),0===this.size){if(Q)return Q;Q=this}}function be(){throw TypeError("Abstract")}function _e(){}function we(){}function Ae(){}K.prototype[X]=!0,t(ee,W),ee.prototype.get=function(e,t){return this.has(e)?this._array[E(this,e)]:t},ee.prototype.__iterate=function(e,t){for(var n=this._array,r=n.length-1,i=0;i<=r;i++)if(!1===e(n[t?r-i:i],i,this))return i+1;return i},ee.prototype.__iterator=function(e,t){var n=this._array,r=n.length-1,i=0;return new F(function(){return i>r?{value:void 0,done:!0}:R(e,i,n[t?r-i++:i++])})},t(te,q),te.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},te.prototype.has=function(e){return this._object.hasOwnProperty(e)},te.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,i=r.length-1,o=0;o<=i;o++){var a=r[t?i-o:o];if(!1===e(n[a],a,this))return o+1}return o},te.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,i=r.length-1,o=0;return new F(function(){var a=r[t?i-o:o];return o++>i?{value:void 0,done:!0}:R(e,a,n[a])})},te.prototype[h]=!0,t(ne,W),ne.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=this._iterable,r=H(n),i=0;if(z(r))for(var o;!(o=r.next()).done&&!1!==e(o.value,i++,this););return i},ne.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterable,r=H(n);if(!z(r))return new F(Y);var i=0;return new F(function(){var t=r.next();return t.done?t:R(e,i++,t.value)})},t(re,W),re.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);for(var n,r=this._iterator,i=this._iteratorCache,o=0;o<i.length;)if(!1===e(i[o],o++,this))return o;for(;!(n=r.next()).done;){var a=n.value;if(i[o]=a,!1===e(a,o++,this))break}return o},re.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterator,r=this._iteratorCache,i=0;return new F(function(){if(i>=r.length){var t=n.next();if(t.done)return t;r[i]=t.value}return R(e,i,r[i++])})},t(ge,W),ge.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},ge.prototype.get=function(e,t){return this.has(e)?this._value:t},ge.prototype.includes=function(e){return he(this._value,e)},ge.prototype.slice=function(e,t){var n=this.size;return S(e,t,n)?this:new ge(this._value,T(t,n)-D(e,n))},ge.prototype.reverse=function(){return this},ge.prototype.indexOf=function(e){return he(this._value,e)?0:-1},ge.prototype.lastIndexOf=function(e){return he(this._value,e)?this.size:-1},ge.prototype.__iterate=function(e,t){for(var n=0;n<this.size;n++)if(!1===e(this._value,n,this))return n+1;return n},ge.prototype.__iterator=function(e,t){var n=this,r=0;return new F(function(){return r<n.size?R(e,r++,n._value):{value:void 0,done:!0}})},ge.prototype.equals=function(e){return e instanceof ge?he(this._value,e._value):me(e)},t(ve,W),ve.prototype.toString=function(){return 0===this.size?"Range []":"Range [ "+this._start+"..."+this._end+(1!==this._step?" by "+this._step:"")+" ]"},ve.prototype.get=function(e,t){return this.has(e)?this._start+E(this,e)*this._step:t},ve.prototype.includes=function(e){var t=(e-this._start)/this._step;return t>=0&&t<this.size&&t===Math.floor(t)},ve.prototype.slice=function(e,t){return S(e,t,this.size)?this:(e=D(e,this.size),(t=T(t,this.size))<=e?new ve(0,0):new ve(this.get(e,this._end),this.get(t,this._end),this._step))},ve.prototype.indexOf=function(e){var t=e-this._start;if(t%this._step==0){var n=t/this._step;if(n>=0&&n<this.size)return n}return-1},ve.prototype.lastIndexOf=function(e){return this.indexOf(e)},ve.prototype.__iterate=function(e,t){for(var n=this.size-1,r=this._step,i=t?this._start+n*r:this._start,o=0;o<=n;o++){if(!1===e(i,o,this))return o+1;i+=t?-r:r}return o},ve.prototype.__iterator=function(e,t){var n=this.size-1,r=this._step,i=t?this._start+n*r:this._start,o=0;return new F(function(){var a=i;return i+=t?-r:r,o>n?{value:void 0,done:!0}:R(e,o++,a)})},ve.prototype.equals=function(e){return e instanceof ve?this._start===e._start&&this._end===e._end&&this._step===e._step:me(this,e)},t(be,n),t(_e,be),t(we,be),t(Ae,be),be.Keyed=_e,be.Indexed=we,be.Set=Ae;var xe="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var n=65535&(e|=0),r=65535&(t|=0);return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0};function ke(e){return e>>>1&1073741824|3221225471&e}function Me(e){if(!1===e||null==e)return 0;if("function"==typeof e.valueOf&&(!1===(e=e.valueOf())||null==e))return 0;if(!0===e)return 1;var t=typeof e;if("number"===t){if(e!=e||e===1/0)return 0;var n=0|e;for(n!==e&&(n^=4294967295*e);e>4294967295;)n^=e/=4294967295;return ke(n)}if("string"===t)return e.length>$e?function(e){var t=Ie[e];return void 0===t&&(t=Ee(e),Pe===je&&(Pe=0,Ie={}),Pe++,Ie[e]=t),t}(e):Ee(e);if("function"==typeof e.hashCode)return e.hashCode();if("object"===t)return function(e){var t;if(Te&&void 0!==(t=Le.get(e)))return t;if(void 0!==(t=e[Oe]))return t;if(!De){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[Oe]))return t;if(void 0!==(t=function(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}(e)))return t}if(t=++Ce,1073741824&Ce&&(Ce=0),Te)Le.set(e,t);else{if(void 0!==Se&&!1===Se(e))throw new Error("Non-extensible objects are not allowed as keys.");if(De)Object.defineProperty(e,Oe,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[Oe]=t;else{if(void 0===e.nodeType)throw new Error("Unable to set a non-enumerable property on object.");e[Oe]=t}}return t}(e);if("function"==typeof e.toString)return Ee(e.toString());throw new Error("Value type "+t+" cannot be hashed.")}function Ee(e){for(var t=0,n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return ke(t)}var Le,Se=Object.isExtensible,De=function(){try{return Object.defineProperty({},"@",{}),!0}catch(e){return!1}}(),Te="function"==typeof WeakMap;Te&&(Le=new WeakMap);var Ce=0,Oe="__immutablehash__";"function"==typeof Symbol&&(Oe=Symbol(Oe));var $e=16,je=255,Pe=0,Ie={};function Ne(e){ye(e!==1/0,"Cannot perform this action with an infinite size.")}function Fe(e){return null==e?Qe():Re(e)&&!c(e)?e:Qe().withMutations(function(t){var n=r(e);Ne(n.size),n.forEach(function(e,n){return t.set(n,e)})})}function Re(e){return!(!e||!e[Be])}t(Fe,_e),Fe.of=function(){var t=e.call(arguments,0);return Qe().withMutations(function(e){for(var n=0;n<t.length;n+=2){if(n+1>=t.length)throw new Error("Missing value for key: "+t[n]);e.set(t[n],t[n+1])}})},Fe.prototype.toString=function(){return this.__toString("Map {","}")},Fe.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},Fe.prototype.set=function(e,t){return Xe(this,e,t)},Fe.prototype.setIn=function(e,t){return this.updateIn(e,v,function(){return t})},Fe.prototype.remove=function(e){return Xe(this,e,v)},Fe.prototype.deleteIn=function(e){return this.updateIn(e,function(){return v})},Fe.prototype.update=function(e,t,n){return 1===arguments.length?e(this):this.updateIn([e],t,n)},Fe.prototype.updateIn=function(e,t,n){n||(n=t,t=void 0);var r=function e(t,n,r,i){var o=t===v,a=n.next();if(a.done){var s=o?r:t,u=i(s);return u===s?t:u}ye(o||t&&t.set,"invalid keyPath");var l=a.value,c=o?v:t.get(l,v),d=e(c,n,r,i);return d===c?t:d===v?t.remove(l):(o?Qe():t).set(l,d)}(this,nn(e),t,n);return r===v?void 0:r},Fe.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Qe()},Fe.prototype.merge=function(){return rt(this,void 0,arguments)},Fe.prototype.mergeWith=function(t){var n=e.call(arguments,1);return rt(this,t,n)},Fe.prototype.mergeIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,Qe(),function(e){return"function"==typeof e.merge?e.merge.apply(e,n):n[n.length-1]})},Fe.prototype.mergeDeep=function(){return rt(this,it,arguments)},Fe.prototype.mergeDeepWith=function(t){var n=e.call(arguments,1);return rt(this,ot(t),n)},Fe.prototype.mergeDeepIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,Qe(),function(e){return"function"==typeof e.mergeDeep?e.mergeDeep.apply(e,n):n[n.length-1]})},Fe.prototype.sort=function(e){return Dt(Zt(this,e))},Fe.prototype.sortBy=function(e,t){return Dt(Zt(this,t,e))},Fe.prototype.withMutations=function(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this},Fe.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new x)},Fe.prototype.asImmutable=function(){return this.__ensureOwner()},Fe.prototype.wasAltered=function(){return this.__altered},Fe.prototype.__iterator=function(e,t){return new We(this,e,t)},Fe.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate(function(t){return r++,e(t[1],t[0],n)},t),r},Fe.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Je(this.size,this._root,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},Fe.isMap=Re;var Ye,Be="@@__IMMUTABLE_MAP__@@",ze=Fe.prototype;function He(e,t){this.ownerID=e,this.entries=t}function Ue(e,t,n){this.ownerID=e,this.bitmap=t,this.nodes=n}function Ze(e,t,n){this.ownerID=e,this.count=t,this.nodes=n}function Ke(e,t,n){this.ownerID=e,this.keyHash=t,this.entries=n}function qe(e,t,n){this.ownerID=e,this.keyHash=t,this.entry=n}function We(e,t,n){this._type=t,this._reverse=n,this._stack=e._root&&Ve(e._root)}function Ge(e,t){return R(e,t[0],t[1])}function Ve(e,t){return{node:e,index:0,__prev:t}}function Je(e,t,n,r){var i=Object.create(ze);return i.size=e,i._root=t,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function Qe(){return Ye||(Ye=Je(0))}function Xe(e,t,n){var r,i;if(e._root){var o=w(b),a=w(_);if(r=et(e._root,e.__ownerID,0,void 0,t,n,o,a),!a.value)return e;i=e.size+(o.value?n===v?-1:1:0)}else{if(n===v)return e;i=1,r=new He(e.__ownerID,[[t,n]])}return e.__ownerID?(e.size=i,e._root=r,e.__hash=void 0,e.__altered=!0,e):r?Je(i,r):Qe()}function et(e,t,n,r,i,o,a,s){return e?e.update(t,n,r,i,o,a,s):o===v?e:(A(s),A(a),new qe(t,r,[i,o]))}function tt(e){return e.constructor===qe||e.constructor===Ke}function nt(e,t,n,r,i){if(e.keyHash===r)return new Ke(t,r,[e.entry,i]);var o,a=(0===n?e.keyHash:e.keyHash>>>n)&y,s=(0===n?r:r>>>n)&y,u=a===s?[nt(e,t,n+m,r,i)]:(o=new qe(t,r,i),a<s?[e,o]:[o,e]);return new Ue(t,1<<a|1<<s,u)}function rt(e,t,n){for(var i=[],o=0;o<n.length;o++){var s=n[o],u=r(s);a(s)||(u=u.map(function(e){return de(e)})),i.push(u)}return at(e,t,i)}function it(e,t,n){return e&&e.mergeDeep&&a(t)?e.mergeDeep(t):he(e,t)?e:t}function ot(e){return function(t,n,r){if(t&&t.mergeDeepWith&&a(n))return t.mergeDeepWith(e,n);var i=e(t,n,r);return he(t,i)?t:i}}function at(e,t,n){return 0===(n=n.filter(function(e){return 0!==e.size})).length?e:0!==e.size||e.__ownerID||1!==n.length?e.withMutations(function(e){for(var r=t?function(n,r){e.update(r,v,function(e){return e===v?n:t(e,n,r)})}:function(t,n){e.set(n,t)},i=0;i<n.length;i++)n[i].forEach(r)}):e.constructor(n[0])}function st(e){return e=(e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function ut(e,t,n,r){var i=r?e:k(e);return i[t]=n,i}ze[Be]=!0,ze.delete=ze.remove,ze.removeIn=ze.deleteIn,He.prototype.get=function(e,t,n,r){for(var i=this.entries,o=0,a=i.length;o<a;o++)if(he(n,i[o][0]))return i[o][1];return r},He.prototype.update=function(e,t,n,r,i,o,a){for(var s=i===v,u=this.entries,l=0,c=u.length;l<c&&!he(r,u[l][0]);l++);var d=l<c;if(d?u[l][1]===i:s)return this;if(A(a),(s||!d)&&A(o),!s||1!==u.length){if(!d&&!s&&u.length>=lt)return function(e,t,n,r){e||(e=new x);for(var i=new qe(e,Me(n),[n,r]),o=0;o<t.length;o++){var a=t[o];i=i.update(e,0,void 0,a[0],a[1])}return i}(e,u,r,i);var f=e&&e===this.ownerID,p=f?u:k(u);return d?s?l===c-1?p.pop():p[l]=p.pop():p[l]=[r,i]:p.push([r,i]),f?(this.entries=p,this):new He(e,p)}},Ue.prototype.get=function(e,t,n,r){void 0===t&&(t=Me(n));var i=1<<((0===e?t:t>>>e)&y),o=this.bitmap;return 0==(o&i)?r:this.nodes[st(o&i-1)].get(e+m,t,n,r)},Ue.prototype.update=function(e,t,n,r,i,o,a){void 0===n&&(n=Me(r));var s=(0===t?n:n>>>t)&y,u=1<<s,l=this.bitmap,c=0!=(l&u);if(!c&&i===v)return this;var d=st(l&u-1),f=this.nodes,p=c?f[d]:void 0,h=et(p,e,t+m,n,r,i,o,a);if(h===p)return this;if(!c&&h&&f.length>=ct)return function(e,t,n,r,i){for(var o=0,a=new Array(g),s=0;0!==n;s++,n>>>=1)a[s]=1&n?t[o++]:void 0;return a[r]=i,new Ze(e,o+1,a)}(e,f,l,s,h);if(c&&!h&&2===f.length&&tt(f[1^d]))return f[1^d];if(c&&h&&1===f.length&&tt(h))return h;var b=e&&e===this.ownerID,_=c?h?l:l^u:l|u,w=c?h?ut(f,d,h,b):function(e,t,n){var r=e.length-1;if(n&&t===r)return e.pop(),e;for(var i=new Array(r),o=0,a=0;a<r;a++)a===t&&(o=1),i[a]=e[a+o];return i}(f,d,b):function(e,t,n,r){var i=e.length+1;if(r&&t+1===i)return e[t]=n,e;for(var o=new Array(i),a=0,s=0;s<i;s++)s===t?(o[s]=n,a=-1):o[s]=e[s+a];return o}(f,d,h,b);return b?(this.bitmap=_,this.nodes=w,this):new Ue(e,_,w)},Ze.prototype.get=function(e,t,n,r){void 0===t&&(t=Me(n));var i=(0===e?t:t>>>e)&y,o=this.nodes[i];return o?o.get(e+m,t,n,r):r},Ze.prototype.update=function(e,t,n,r,i,o,a){void 0===n&&(n=Me(r));var s=(0===t?n:n>>>t)&y,u=i===v,l=this.nodes,c=l[s];if(u&&!c)return this;var d=et(c,e,t+m,n,r,i,o,a);if(d===c)return this;var f=this.count;if(c){if(!d&&--f<dt)return function(e,t,n,r){for(var i=0,o=0,a=new Array(n),s=0,u=1,l=t.length;s<l;s++,u<<=1){var c=t[s];void 0!==c&&s!==r&&(i|=u,a[o++]=c)}return new Ue(e,i,a)}(e,l,f,s)}else f++;var p=e&&e===this.ownerID,h=ut(l,s,d,p);return p?(this.count=f,this.nodes=h,this):new Ze(e,f,h)},Ke.prototype.get=function(e,t,n,r){for(var i=this.entries,o=0,a=i.length;o<a;o++)if(he(n,i[o][0]))return i[o][1];return r},Ke.prototype.update=function(e,t,n,r,i,o,a){void 0===n&&(n=Me(r));var s=i===v;if(n!==this.keyHash)return s?this:(A(a),A(o),nt(this,e,t,n,[r,i]));for(var u=this.entries,l=0,c=u.length;l<c&&!he(r,u[l][0]);l++);var d=l<c;if(d?u[l][1]===i:s)return this;if(A(a),(s||!d)&&A(o),s&&2===c)return new qe(e,this.keyHash,u[1^l]);var f=e&&e===this.ownerID,p=f?u:k(u);return d?s?l===c-1?p.pop():p[l]=p.pop():p[l]=[r,i]:p.push([r,i]),f?(this.entries=p,this):new Ke(e,this.keyHash,p)},qe.prototype.get=function(e,t,n,r){return he(n,this.entry[0])?this.entry[1]:r},qe.prototype.update=function(e,t,n,r,i,o,a){var s=i===v,u=he(r,this.entry[0]);return(u?i===this.entry[1]:s)?this:(A(a),s?void A(o):u?e&&e===this.ownerID?(this.entry[1]=i,this):new qe(e,this.keyHash,[r,i]):(A(o),nt(this,e,t,Me(r),[r,i])))},He.prototype.iterate=Ke.prototype.iterate=function(e,t){for(var n=this.entries,r=0,i=n.length-1;r<=i;r++)if(!1===e(n[t?i-r:r]))return!1},Ue.prototype.iterate=Ze.prototype.iterate=function(e,t){for(var n=this.nodes,r=0,i=n.length-1;r<=i;r++){var o=n[t?i-r:r];if(o&&!1===o.iterate(e,t))return!1}},qe.prototype.iterate=function(e,t){return e(this.entry)},t(We,F),We.prototype.next=function(){for(var e=this._type,t=this._stack;t;){var n,r=t.node,i=t.index++;if(r.entry){if(0===i)return Ge(e,r.entry)}else if(r.entries){if(n=r.entries.length-1,i<=n)return Ge(e,r.entries[this._reverse?n-i:i])}else if(n=r.nodes.length-1,i<=n){var o=r.nodes[this._reverse?n-i:i];if(o){if(o.entry)return Ge(e,o.entry);t=this._stack=Ve(o,t)}continue}t=this._stack=this._stack.__prev}return{value:void 0,done:!0}};var lt=g/4,ct=g/2,dt=g/4;function ft(e){var t=At();if(null==e)return t;if(pt(e))return e;var n=i(e),r=n.size;return 0===r?t:(Ne(r),r>0&&r<g?wt(0,r,m,null,new gt(n.toArray())):t.withMutations(function(e){e.setSize(r),n.forEach(function(t,n){return e.set(n,t)})}))}function pt(e){return!(!e||!e[ht])}t(ft,we),ft.of=function(){return this(arguments)},ft.prototype.toString=function(){return this.__toString("List [","]")},ft.prototype.get=function(e,t){if((e=E(this,e))>=0&&e<this.size){var n=Mt(this,e+=this._origin);return n&&n.array[e&y]}return t},ft.prototype.set=function(e,t){return function(e,t,n){if((t=E(e,t))!=t)return e;if(t>=e.size||t<0)return e.withMutations(function(e){t<0?Et(e,t).set(0,n):Et(e,0,t+1).set(t,n)});t+=e._origin;var r=e._tail,i=e._root,o=w(_);return t>=St(e._capacity)?r=xt(r,e.__ownerID,0,t,n,o):i=xt(i,e.__ownerID,e._level,t,n,o),o.value?e.__ownerID?(e._root=i,e._tail=r,e.__hash=void 0,e.__altered=!0,e):wt(e._origin,e._capacity,e._level,i,r):e}(this,e,t)},ft.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},ft.prototype.insert=function(e,t){return this.splice(e,0,t)},ft.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=m,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):At()},ft.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations(function(n){Et(n,0,t+e.length);for(var r=0;r<e.length;r++)n.set(t+r,e[r])})},ft.prototype.pop=function(){return Et(this,0,-1)},ft.prototype.unshift=function(){var e=arguments;return this.withMutations(function(t){Et(t,-e.length);for(var n=0;n<e.length;n++)t.set(n,e[n])})},ft.prototype.shift=function(){return Et(this,1)},ft.prototype.merge=function(){return Lt(this,void 0,arguments)},ft.prototype.mergeWith=function(t){var n=e.call(arguments,1);return Lt(this,t,n)},ft.prototype.mergeDeep=function(){return Lt(this,it,arguments)},ft.prototype.mergeDeepWith=function(t){var n=e.call(arguments,1);return Lt(this,ot(t),n)},ft.prototype.setSize=function(e){return Et(this,0,e)},ft.prototype.slice=function(e,t){var n=this.size;return S(e,t,n)?this:Et(this,D(e,n),T(t,n))},ft.prototype.__iterator=function(e,t){var n=0,r=_t(this,t);return new F(function(){var t=r();return t===bt?{value:void 0,done:!0}:R(e,n++,t)})},ft.prototype.__iterate=function(e,t){for(var n,r=0,i=_t(this,t);(n=i())!==bt&&!1!==e(n,r++,this););return r},ft.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?wt(this._origin,this._capacity,this._level,this._root,this._tail,e,this.__hash):(this.__ownerID=e,this)},ft.isList=pt;var ht="@@__IMMUTABLE_LIST__@@",mt=ft.prototype;function gt(e,t){this.array=e,this.ownerID=t}mt[ht]=!0,mt.delete=mt.remove,mt.setIn=ze.setIn,mt.deleteIn=mt.removeIn=ze.removeIn,mt.update=ze.update,mt.updateIn=ze.updateIn,mt.mergeIn=ze.mergeIn,mt.mergeDeepIn=ze.mergeDeepIn,mt.withMutations=ze.withMutations,mt.asMutable=ze.asMutable,mt.asImmutable=ze.asImmutable,mt.wasAltered=ze.wasAltered,gt.prototype.removeBefore=function(e,t,n){if(n===t?1<<t:0===this.array.length)return this;var r=n>>>t&y;if(r>=this.array.length)return new gt([],e);var i,o=0===r;if(t>0){var a=this.array[r];if((i=a&&a.removeBefore(e,t-m,n))===a&&o)return this}if(o&&!i)return this;var s=kt(this,e);if(!o)for(var u=0;u<r;u++)s.array[u]=void 0;return i&&(s.array[r]=i),s},gt.prototype.removeAfter=function(e,t,n){if(n===(t?1<<t:0)||0===this.array.length)return this;var r,i=n-1>>>t&y;if(i>=this.array.length)return this;if(t>0){var o=this.array[i];if((r=o&&o.removeAfter(e,t-m,n))===o&&i===this.array.length-1)return this}var a=kt(this,e);return a.array.splice(i+1),r&&(a.array[i]=r),a};var yt,vt,bt={};function _t(e,t){var n=e._origin,r=e._capacity,i=St(r),o=e._tail;return a(e._root,e._level,0);function a(e,s,u){return 0===s?function(e,a){var s=a===i?o&&o.array:e&&e.array,u=a>n?0:n-a,l=r-a;return l>g&&(l=g),function(){if(u===l)return bt;var e=t?--l:u++;return s&&s[e]}}(e,u):function(e,i,o){var s,u=e&&e.array,l=o>n?0:n-o>>i,c=1+(r-o>>i);return c>g&&(c=g),function(){for(;;){if(s){var e=s();if(e!==bt)return e;s=null}if(l===c)return bt;var n=t?--c:l++;s=a(u&&u[n],i-m,o+(n<<i))}}}(e,s,u)}}function wt(e,t,n,r,i,o,a){var s=Object.create(mt);return s.size=t-e,s._origin=e,s._capacity=t,s._level=n,s._root=r,s._tail=i,s.__ownerID=o,s.__hash=a,s.__altered=!1,s}function At(){return yt||(yt=wt(0,0,m))}function xt(e,t,n,r,i,o){var a,s=r>>>n&y,u=e&&s<e.array.length;if(!u&&void 0===i)return e;if(n>0){var l=e&&e.array[s],c=xt(l,t,n-m,r,i,o);return c===l?e:((a=kt(e,t)).array[s]=c,a)}return u&&e.array[s]===i?e:(A(o),a=kt(e,t),void 0===i&&s===a.array.length-1?a.array.pop():a.array[s]=i,a)}function kt(e,t){return t&&e&&t===e.ownerID?e:new gt(e?e.array.slice():[],t)}function Mt(e,t){if(t>=St(e._capacity))return e._tail;if(t<1<<e._level+m){for(var n=e._root,r=e._level;n&&r>0;)n=n.array[t>>>r&y],r-=m;return n}}function Et(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new x,i=e._origin,o=e._capacity,a=i+t,s=void 0===n?o:n<0?o+n:i+n;if(a===i&&s===o)return e;if(a>=s)return e.clear();for(var u=e._level,l=e._root,c=0;a+c<0;)l=new gt(l&&l.array.length?[void 0,l]:[],r),c+=1<<(u+=m);c&&(a+=c,i+=c,s+=c,o+=c);for(var d=St(o),f=St(s);f>=1<<u+m;)l=new gt(l&&l.array.length?[l]:[],r),u+=m;var p=e._tail,h=f<d?Mt(e,s-1):f>d?new gt([],r):p;if(p&&f>d&&a<o&&p.array.length){for(var g=l=kt(l,r),v=u;v>m;v-=m){var b=d>>>v&y;g=g.array[b]=kt(g.array[b],r)}g.array[d>>>m&y]=p}if(s<o&&(h=h&&h.removeAfter(r,0,s)),a>=f)a-=f,s-=f,u=m,l=null,h=h&&h.removeBefore(r,0,a);else if(a>i||f<d){for(c=0;l;){var _=a>>>u&y;if(_!==f>>>u&y)break;_&&(c+=(1<<u)*_),u-=m,l=l.array[_]}l&&a>i&&(l=l.removeBefore(r,u,a-c)),l&&f<d&&(l=l.removeAfter(r,u,f-c)),c&&(a-=c,s-=c)}return e.__ownerID?(e.size=s-a,e._origin=a,e._capacity=s,e._level=u,e._root=l,e._tail=h,e.__hash=void 0,e.__altered=!0,e):wt(a,s,u,l,h)}function Lt(e,t,n){for(var r=[],o=0,s=0;s<n.length;s++){var u=n[s],l=i(u);l.size>o&&(o=l.size),a(u)||(l=l.map(function(e){return de(e)})),r.push(l)}return o>e.size&&(e=e.setSize(o)),at(e,t,r)}function St(e){return e<g?0:e-1>>>m<<m}function Dt(e){return null==e?Ot():Tt(e)?e:Ot().withMutations(function(t){var n=r(e);Ne(n.size),n.forEach(function(e,n){return t.set(n,e)})})}function Tt(e){return Re(e)&&c(e)}function Ct(e,t,n,r){var i=Object.create(Dt.prototype);return i.size=e?e.size:0,i._map=e,i._list=t,i.__ownerID=n,i.__hash=r,i}function Ot(){return vt||(vt=Ct(Qe(),At()))}function $t(e,t,n){var r,i,o=e._map,a=e._list,s=o.get(t),u=void 0!==s;if(n===v){if(!u)return e;a.size>=g&&a.size>=2*o.size?(i=a.filter(function(e,t){return void 0!==e&&s!==t}),r=i.toKeyedSeq().map(function(e){return e[0]}).flip().toMap(),e.__ownerID&&(r.__ownerID=i.__ownerID=e.__ownerID)):(r=o.remove(t),i=s===a.size-1?a.pop():a.set(s,void 0))}else if(u){if(n===a.get(s)[1])return e;r=o,i=a.set(s,[t,n])}else r=o.set(t,a.size),i=a.set(a.size,[t,n]);return e.__ownerID?(e.size=r.size,e._map=r,e._list=i,e.__hash=void 0,e):Ct(r,i)}function jt(e,t){this._iter=e,this._useKeys=t,this.size=e.size}function Pt(e){this._iter=e,this.size=e.size}function It(e){this._iter=e,this.size=e.size}function Nt(e){this._iter=e,this.size=e.size}function Ft(e){var t=Xt(e);return t._iter=e,t.size=e.size,t.flip=function(){return e},t.reverse=function(){var t=e.reverse.apply(this);return t.flip=function(){return e.reverse()},t},t.has=function(t){return e.includes(t)},t.includes=function(t){return e.has(t)},t.cacheResult=en,t.__iterateUncached=function(t,n){var r=this;return e.__iterate(function(e,n){return!1!==t(n,e,r)},n)},t.__iteratorUncached=function(t,n){if(t===j){var r=e.__iterator(t,n);return new F(function(){var e=r.next();if(!e.done){var t=e.value[0];e.value[0]=e.value[1],e.value[1]=t}return e})}return e.__iterator(t===$?O:$,n)},t}function Rt(e,t,n){var r=Xt(e);return r.size=e.size,r.has=function(t){return e.has(t)},r.get=function(r,i){var o=e.get(r,v);return o===v?i:t.call(n,o,r,e)},r.__iterateUncached=function(r,i){var o=this;return e.__iterate(function(e,i,a){return!1!==r(t.call(n,e,i,a),i,o)},i)},r.__iteratorUncached=function(r,i){var o=e.__iterator(j,i);return new F(function(){var i=o.next();if(i.done)return i;var a=i.value,s=a[0];return R(r,s,t.call(n,a[1],s,e),i)})},r}function Yt(e,t){var n=Xt(e);return n._iter=e,n.size=e.size,n.reverse=function(){return e},e.flip&&(n.flip=function(){var t=Ft(e);return t.reverse=function(){return e.flip()},t}),n.get=function(n,r){return e.get(t?n:-1-n,r)},n.has=function(n){return e.has(t?n:-1-n)},n.includes=function(t){return e.includes(t)},n.cacheResult=en,n.__iterate=function(t,n){var r=this;return e.__iterate(function(e,n){return t(e,n,r)},!n)},n.__iterator=function(t,n){return e.__iterator(t,!n)},n}function Bt(e,t,n,r){var i=Xt(e);return r&&(i.has=function(r){var i=e.get(r,v);return i!==v&&!!t.call(n,i,r,e)},i.get=function(r,i){var o=e.get(r,v);return o!==v&&t.call(n,o,r,e)?o:i}),i.__iterateUncached=function(i,o){var a=this,s=0;return e.__iterate(function(e,o,u){if(t.call(n,e,o,u))return s++,i(e,r?o:s-1,a)},o),s},i.__iteratorUncached=function(i,o){var a=e.__iterator(j,o),s=0;return new F(function(){for(;;){var o=a.next();if(o.done)return o;var u=o.value,l=u[0],c=u[1];if(t.call(n,c,l,e))return R(i,r?l:s++,c,o)}})},i}function zt(e,t,n,r){var i=e.size;if(void 0!==t&&(t|=0),void 0!==n&&(n===1/0?n=i:n|=0),S(t,n,i))return e;var o=D(t,i),a=T(n,i);if(o!=o||a!=a)return zt(e.toSeq().cacheResult(),t,n,r);var s,u=a-o;u==u&&(s=u<0?0:u);var l=Xt(e);return l.size=0===s?s:e.size&&s||void 0,!r&&ie(e)&&s>=0&&(l.get=function(t,n){return(t=E(this,t))>=0&&t<s?e.get(t+o,n):n}),l.__iterateUncached=function(t,n){var i=this;if(0===s)return 0;if(n)return this.cacheResult().__iterate(t,n);var a=0,u=!0,l=0;return e.__iterate(function(e,n){if(!u||!(u=a++<o))return l++,!1!==t(e,r?n:l-1,i)&&l!==s}),l},l.__iteratorUncached=function(t,n){if(0!==s&&n)return this.cacheResult().__iterator(t,n);var i=0!==s&&e.__iterator(t,n),a=0,u=0;return new F(function(){for(;a++<o;)i.next();if(++u>s)return{value:void 0,done:!0};var e=i.next();return r||t===$?e:R(t,u-1,t===O?void 0:e.value[1],e)})},l}function Ht(e,t,n,r){var i=Xt(e);return i.__iterateUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,u=0;return e.__iterate(function(e,o,l){if(!s||!(s=t.call(n,e,o,l)))return u++,i(e,r?o:u-1,a)}),u},i.__iteratorUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterator(i,o);var s=e.__iterator(j,o),u=!0,l=0;return new F(function(){var e,o,c;do{if((e=s.next()).done)return r||i===$?e:R(i,l++,i===O?void 0:e.value[1],e);var d=e.value;o=d[0],c=d[1],u&&(u=t.call(n,c,o,a))}while(u);return i===j?e:R(i,o,c,e)})},i}function Ut(e,t,n){var r=Xt(e);return r.__iterateUncached=function(r,i){var o=0,s=!1;return function e(u,l){var c=this;u.__iterate(function(i,u){return(!t||l<t)&&a(i)?e(i,l+1):!1===r(i,n?u:o++,c)&&(s=!0),!s},i)}(e,0),o},r.__iteratorUncached=function(r,i){var o=e.__iterator(r,i),s=[],u=0;return new F(function(){for(;o;){var e=o.next();if(!1===e.done){var l=e.value;if(r===j&&(l=l[1]),t&&!(s.length<t)||!a(l))return n?e:R(r,u++,l,e);s.push(o),o=l.__iterator(r,i)}else o=s.pop()}return{value:void 0,done:!0}})},r}function Zt(e,t,n){t||(t=tn);var r=s(e),i=0,o=e.toSeq().map(function(t,r){return[r,t,i++,n?n(t,r,e):t]}).toArray();return o.sort(function(e,n){return t(e[3],n[3])||e[2]-n[2]}).forEach(r?function(e,t){o[t].length=2}:function(e,t){o[t]=e[1]}),r?q(o):u(e)?W(o):G(o)}function Kt(e,t,n){if(t||(t=tn),n){var r=e.toSeq().map(function(t,r){return[t,n(t,r,e)]}).reduce(function(e,n){return qt(t,e[1],n[1])?n:e});return r&&r[0]}return e.reduce(function(e,n){return qt(t,e,n)?n:e})}function qt(e,t,n){var r=e(n,t);return 0===r&&n!==t&&(null==n||n!=n)||r>0}function Wt(e,t,r){var i=Xt(e);return i.size=new ee(r).map(function(e){return e.size}).min(),i.__iterate=function(e,t){for(var n,r=this.__iterator($,t),i=0;!(n=r.next()).done&&!1!==e(n.value,i++,this););return i},i.__iteratorUncached=function(e,i){var o=r.map(function(e){return e=n(e),H(i?e.reverse():e)}),a=0,s=!1;return new F(function(){var n;return s||(n=o.map(function(e){return e.next()}),s=n.some(function(e){return e.done})),s?{value:void 0,done:!0}:R(e,a++,t.apply(null,n.map(function(e){return e.value})))})},i}function Gt(e,t){return ie(e)?t:e.constructor(t)}function Vt(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function Jt(e){return Ne(e.size),M(e)}function Qt(e){return s(e)?r:u(e)?i:o}function Xt(e){return Object.create((s(e)?q:u(e)?W:G).prototype)}function en(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):K.prototype.cacheResult.call(this)}function tn(e,t){return e>t?1:e<t?-1:0}function nn(e){var t=H(e);if(!t){if(!Z(e))throw new TypeError("Expected iterable or array-like: "+e);t=H(n(e))}return t}function rn(e,t){var n,r=function(o){if(o instanceof r)return o;if(!(this instanceof r))return new r(o);if(!n){n=!0;var a=Object.keys(e);!function(e,t){try{t.forEach(function(e,t){Object.defineProperty(e,t,{get:function(){return this.get(t)},set:function(e){ye(this.__ownerID,"Cannot set on an immutable record."),this.set(t,e)}})}.bind(void 0,e))}catch(e){}}(i,a),i.size=a.length,i._name=t,i._keys=a,i._defaultValues=e}this._map=Fe(o)},i=r.prototype=Object.create(on);return i.constructor=r,r}t(Dt,Fe),Dt.of=function(){return this(arguments)},Dt.prototype.toString=function(){return this.__toString("OrderedMap {","}")},Dt.prototype.get=function(e,t){var n=this._map.get(e);return void 0!==n?this._list.get(n)[1]:t},Dt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):Ot()},Dt.prototype.set=function(e,t){return $t(this,e,t)},Dt.prototype.remove=function(e){return $t(this,e,v)},Dt.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},Dt.prototype.__iterate=function(e,t){var n=this;return this._list.__iterate(function(t){return t&&e(t[1],t[0],n)},t)},Dt.prototype.__iterator=function(e,t){return this._list.fromEntrySeq().__iterator(e,t)},Dt.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e),n=this._list.__ensureOwner(e);return e?Ct(t,n,e,this.__hash):(this.__ownerID=e,this._map=t,this._list=n,this)},Dt.isOrderedMap=Tt,Dt.prototype[h]=!0,Dt.prototype.delete=Dt.prototype.remove,t(jt,q),jt.prototype.get=function(e,t){return this._iter.get(e,t)},jt.prototype.has=function(e){return this._iter.has(e)},jt.prototype.valueSeq=function(){return this._iter.valueSeq()},jt.prototype.reverse=function(){var e=this,t=Yt(this,!0);return this._useKeys||(t.valueSeq=function(){return e._iter.toSeq().reverse()}),t},jt.prototype.map=function(e,t){var n=this,r=Rt(this,e,t);return this._useKeys||(r.valueSeq=function(){return n._iter.toSeq().map(e,t)}),r},jt.prototype.__iterate=function(e,t){var n,r=this;return this._iter.__iterate(this._useKeys?function(t,n){return e(t,n,r)}:(n=t?Jt(this):0,function(i){return e(i,t?--n:n++,r)}),t)},jt.prototype.__iterator=function(e,t){if(this._useKeys)return this._iter.__iterator(e,t);var n=this._iter.__iterator($,t),r=t?Jt(this):0;return new F(function(){var i=n.next();return i.done?i:R(e,t?--r:r++,i.value,i)})},jt.prototype[h]=!0,t(Pt,W),Pt.prototype.includes=function(e){return this._iter.includes(e)},Pt.prototype.__iterate=function(e,t){var n=this,r=0;return this._iter.__iterate(function(t){return e(t,r++,n)},t)},Pt.prototype.__iterator=function(e,t){var n=this._iter.__iterator($,t),r=0;return new F(function(){var t=n.next();return t.done?t:R(e,r++,t.value,t)})},t(It,G),It.prototype.has=function(e){return this._iter.includes(e)},It.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){return e(t,t,n)},t)},It.prototype.__iterator=function(e,t){var n=this._iter.__iterator($,t);return new F(function(){var t=n.next();return t.done?t:R(e,t.value,t.value,t)})},t(Nt,q),Nt.prototype.entrySeq=function(){return this._iter.toSeq()},Nt.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){if(t){Vt(t);var r=a(t);return e(r?t.get(1):t[1],r?t.get(0):t[0],n)}},t)},Nt.prototype.__iterator=function(e,t){var n=this._iter.__iterator($,t);return new F(function(){for(;;){var t=n.next();if(t.done)return t;var r=t.value;if(r){Vt(r);var i=a(r);return R(e,i?r.get(0):r[0],i?r.get(1):r[1],t)}}})},Pt.prototype.cacheResult=jt.prototype.cacheResult=It.prototype.cacheResult=Nt.prototype.cacheResult=en,t(rn,_e),rn.prototype.toString=function(){return this.__toString(sn(this)+" {","}")},rn.prototype.has=function(e){return this._defaultValues.hasOwnProperty(e)},rn.prototype.get=function(e,t){if(!this.has(e))return t;var n=this._defaultValues[e];return this._map?this._map.get(e,n):n},rn.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var e=this.constructor;return e._empty||(e._empty=an(this,Qe()))},rn.prototype.set=function(e,t){if(!this.has(e))throw new Error('Cannot set unknown key "'+e+'" on '+sn(this));if(this._map&&!this._map.has(e)){var n=this._defaultValues[e];if(t===n)return this}var r=this._map&&this._map.set(e,t);return this.__ownerID||r===this._map?this:an(this,r)},rn.prototype.remove=function(e){if(!this.has(e))return this;var t=this._map&&this._map.remove(e);return this.__ownerID||t===this._map?this:an(this,t)},rn.prototype.wasAltered=function(){return this._map.wasAltered()},rn.prototype.__iterator=function(e,t){var n=this;return r(this._defaultValues).map(function(e,t){return n.get(t)}).__iterator(e,t)},rn.prototype.__iterate=function(e,t){var n=this;return r(this._defaultValues).map(function(e,t){return n.get(t)}).__iterate(e,t)},rn.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map&&this._map.__ensureOwner(e);return e?an(this,t,e):(this.__ownerID=e,this._map=t,this)};var on=rn.prototype;function an(e,t,n){var r=Object.create(Object.getPrototypeOf(e));return r._map=t,r.__ownerID=n,r}function sn(e){return e._name||e.constructor.name||"Record"}function un(e){return null==e?mn():ln(e)&&!c(e)?e:mn().withMutations(function(t){var n=o(e);Ne(n.size),n.forEach(function(e){return t.add(e)})})}function ln(e){return!(!e||!e[dn])}on.delete=on.remove,on.deleteIn=on.removeIn=ze.removeIn,on.merge=ze.merge,on.mergeWith=ze.mergeWith,on.mergeIn=ze.mergeIn,on.mergeDeep=ze.mergeDeep,on.mergeDeepWith=ze.mergeDeepWith,on.mergeDeepIn=ze.mergeDeepIn,on.setIn=ze.setIn,on.update=ze.update,on.updateIn=ze.updateIn,on.withMutations=ze.withMutations,on.asMutable=ze.asMutable,on.asImmutable=ze.asImmutable,t(un,Ae),un.of=function(){return this(arguments)},un.fromKeys=function(e){return this(r(e).keySeq())},un.prototype.toString=function(){return this.__toString("Set {","}")},un.prototype.has=function(e){return this._map.has(e)},un.prototype.add=function(e){return pn(this,this._map.set(e,!0))},un.prototype.remove=function(e){return pn(this,this._map.remove(e))},un.prototype.clear=function(){return pn(this,this._map.clear())},un.prototype.union=function(){var t=e.call(arguments,0);return 0===(t=t.filter(function(e){return 0!==e.size})).length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations(function(e){for(var n=0;n<t.length;n++)o(t[n]).forEach(function(t){return e.add(t)})}):this.constructor(t[0])},un.prototype.intersect=function(){var t=e.call(arguments,0);if(0===t.length)return this;t=t.map(function(e){return o(e)});var n=this;return this.withMutations(function(e){n.forEach(function(n){t.every(function(e){return e.includes(n)})||e.remove(n)})})},un.prototype.subtract=function(){var t=e.call(arguments,0);if(0===t.length)return this;t=t.map(function(e){return o(e)});var n=this;return this.withMutations(function(e){n.forEach(function(n){t.some(function(e){return e.includes(n)})&&e.remove(n)})})},un.prototype.merge=function(){return this.union.apply(this,arguments)},un.prototype.mergeWith=function(t){var n=e.call(arguments,1);return this.union.apply(this,n)},un.prototype.sort=function(e){return gn(Zt(this,e))},un.prototype.sortBy=function(e,t){return gn(Zt(this,t,e))},un.prototype.wasAltered=function(){return this._map.wasAltered()},un.prototype.__iterate=function(e,t){var n=this;return this._map.__iterate(function(t,r){return e(r,r,n)},t)},un.prototype.__iterator=function(e,t){return this._map.map(function(e,t){return t}).__iterator(e,t)},un.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e);return e?this.__make(t,e):(this.__ownerID=e,this._map=t,this)},un.isSet=ln;var cn,dn="@@__IMMUTABLE_SET__@@",fn=un.prototype;function pn(e,t){return e.__ownerID?(e.size=t.size,e._map=t,e):t===e._map?e:0===t.size?e.__empty():e.__make(t)}function hn(e,t){var n=Object.create(fn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function mn(){return cn||(cn=hn(Qe()))}function gn(e){return null==e?wn():yn(e)?e:wn().withMutations(function(t){var n=o(e);Ne(n.size),n.forEach(function(e){return t.add(e)})})}function yn(e){return ln(e)&&c(e)}fn[dn]=!0,fn.delete=fn.remove,fn.mergeDeep=fn.merge,fn.mergeDeepWith=fn.mergeWith,fn.withMutations=ze.withMutations,fn.asMutable=ze.asMutable,fn.asImmutable=ze.asImmutable,fn.__empty=mn,fn.__make=hn,t(gn,un),gn.of=function(){return this(arguments)},gn.fromKeys=function(e){return this(r(e).keySeq())},gn.prototype.toString=function(){return this.__toString("OrderedSet {","}")},gn.isOrderedSet=yn;var vn,bn=gn.prototype;function _n(e,t){var n=Object.create(bn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function wn(){return vn||(vn=_n(Ot()))}function An(e){return null==e?Sn():xn(e)?e:Sn().unshiftAll(e)}function xn(e){return!(!e||!e[Mn])}bn[h]=!0,bn.__empty=wn,bn.__make=_n,t(An,we),An.of=function(){return this(arguments)},An.prototype.toString=function(){return this.__toString("Stack [","]")},An.prototype.get=function(e,t){var n=this._head;for(e=E(this,e);n&&e--;)n=n.next;return n?n.value:t},An.prototype.peek=function(){return this._head&&this._head.value},An.prototype.push=function(){if(0===arguments.length)return this;for(var e=this.size+arguments.length,t=this._head,n=arguments.length-1;n>=0;n--)t={value:arguments[n],next:t};return this.__ownerID?(this.size=e,this._head=t,this.__hash=void 0,this.__altered=!0,this):Ln(e,t)},An.prototype.pushAll=function(e){if(0===(e=i(e)).size)return this;Ne(e.size);var t=this.size,n=this._head;return e.reverse().forEach(function(e){t++,n={value:e,next:n}}),this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):Ln(t,n)},An.prototype.pop=function(){return this.slice(1)},An.prototype.unshift=function(){return this.push.apply(this,arguments)},An.prototype.unshiftAll=function(e){return this.pushAll(e)},An.prototype.shift=function(){return this.pop.apply(this,arguments)},An.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Sn()},An.prototype.slice=function(e,t){if(S(e,t,this.size))return this;var n=D(e,this.size),r=T(t,this.size);if(r!==this.size)return we.prototype.slice.call(this,e,t);for(var i=this.size-n,o=this._head;n--;)o=o.next;return this.__ownerID?(this.size=i,this._head=o,this.__hash=void 0,this.__altered=!0,this):Ln(i,o)},An.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Ln(this.size,this._head,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},An.prototype.__iterate=function(e,t){if(t)return this.reverse().__iterate(e);for(var n=0,r=this._head;r&&!1!==e(r.value,n++,this);)r=r.next;return n},An.prototype.__iterator=function(e,t){if(t)return this.reverse().__iterator(e);var n=0,r=this._head;return new F(function(){if(r){var t=r.value;return r=r.next,R(e,n++,t)}return{value:void 0,done:!0}})},An.isStack=xn;var kn,Mn="@@__IMMUTABLE_STACK__@@",En=An.prototype;function Ln(e,t,n,r){var i=Object.create(En);return i.size=e,i._head=t,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function Sn(){return kn||(kn=Ln(0))}function Dn(e,t){var n=function(n){e.prototype[n]=t[n]};return Object.keys(t).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(n),e}En[Mn]=!0,En.withMutations=ze.withMutations,En.asMutable=ze.asMutable,En.asImmutable=ze.asImmutable,En.wasAltered=ze.wasAltered,n.Iterator=F,Dn(n,{toArray:function(){Ne(this.size);var e=new Array(this.size||0);return this.valueSeq().__iterate(function(t,n){e[n]=t}),e},toIndexedSeq:function(){return new Pt(this)},toJS:function(){return this.toSeq().map(function(e){return e&&"function"==typeof e.toJS?e.toJS():e}).__toJS()},toJSON:function(){return this.toSeq().map(function(e){return e&&"function"==typeof e.toJSON?e.toJSON():e}).__toJS()},toKeyedSeq:function(){return new jt(this,!0)},toMap:function(){return Fe(this.toKeyedSeq())},toObject:function(){Ne(this.size);var e={};return this.__iterate(function(t,n){e[n]=t}),e},toOrderedMap:function(){return Dt(this.toKeyedSeq())},toOrderedSet:function(){return gn(s(this)?this.valueSeq():this)},toSet:function(){return un(s(this)?this.valueSeq():this)},toSetSeq:function(){return new It(this)},toSeq:function(){return u(this)?this.toIndexedSeq():s(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return An(s(this)?this.valueSeq():this)},toList:function(){return ft(s(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(e,t){return 0===this.size?e+t:e+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+t},concat:function(){var t=e.call(arguments,0);return Gt(this,function(e,t){var n=s(e),i=[e].concat(t).map(function(e){return a(e)?n&&(e=r(e)):e=n?ae(e):se(Array.isArray(e)?e:[e]),e}).filter(function(e){return 0!==e.size});if(0===i.length)return e;if(1===i.length){var o=i[0];if(o===e||n&&s(o)||u(e)&&u(o))return o}var l=new ee(i);return n?l=l.toKeyedSeq():u(e)||(l=l.toSetSeq()),(l=l.flatten(!0)).size=i.reduce(function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}},0),l}(this,t))},includes:function(e){return this.some(function(t){return he(t,e)})},entries:function(){return this.__iterator(j)},every:function(e,t){Ne(this.size);var n=!0;return this.__iterate(function(r,i,o){if(!e.call(t,r,i,o))return n=!1,!1}),n},filter:function(e,t){return Gt(this,Bt(this,e,t,!0))},find:function(e,t,n){var r=this.findEntry(e,t);return r?r[1]:n},forEach:function(e,t){return Ne(this.size),this.__iterate(t?e.bind(t):e)},join:function(e){Ne(this.size),e=void 0!==e?""+e:",";var t="",n=!0;return this.__iterate(function(r){n?n=!1:t+=e,t+=null!=r?r.toString():""}),t},keys:function(){return this.__iterator(O)},map:function(e,t){return Gt(this,Rt(this,e,t))},reduce:function(e,t,n){var r,i;return Ne(this.size),arguments.length<2?i=!0:r=t,this.__iterate(function(t,o,a){i?(i=!1,r=t):r=e.call(n,r,t,o,a)}),r},reduceRight:function(e,t,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return Gt(this,Yt(this,!0))},slice:function(e,t){return Gt(this,zt(this,e,t,!0))},some:function(e,t){return!this.every(jn(e),t)},sort:function(e){return Gt(this,Zt(this,e))},values:function(){return this.__iterator($)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(e,t){return M(e?this.toSeq().filter(e,t):this)},countBy:function(e,t){return function(e,t,n){var r=Fe().asMutable();return e.__iterate(function(i,o){r.update(t.call(n,i,o,e),0,function(e){return e+1})}),r.asImmutable()}(this,e,t)},equals:function(e){return me(this,e)},entrySeq:function(){var e=this;if(e._cache)return new ee(e._cache);var t=e.toSeq().map($n).toIndexedSeq();return t.fromEntrySeq=function(){return e.toSeq()},t},filterNot:function(e,t){return this.filter(jn(e),t)},findEntry:function(e,t,n){var r=n;return this.__iterate(function(n,i,o){if(e.call(t,n,i,o))return r=[i,n],!1}),r},findKey:function(e,t){var n=this.findEntry(e,t);return n&&n[0]},findLast:function(e,t,n){return this.toKeyedSeq().reverse().find(e,t,n)},findLastEntry:function(e,t,n){return this.toKeyedSeq().reverse().findEntry(e,t,n)},findLastKey:function(e,t){return this.toKeyedSeq().reverse().findKey(e,t)},first:function(){return this.find(L)},flatMap:function(e,t){return Gt(this,function(e,t,n){var r=Qt(e);return e.toSeq().map(function(i,o){return r(t.call(n,i,o,e))}).flatten(!0)}(this,e,t))},flatten:function(e){return Gt(this,Ut(this,e,!0))},fromEntrySeq:function(){return new Nt(this)},get:function(e,t){return this.find(function(t,n){return he(n,e)},void 0,t)},getIn:function(e,t){for(var n,r=this,i=nn(e);!(n=i.next()).done;){var o=n.value;if((r=r&&r.get?r.get(o,v):v)===v)return t}return r},groupBy:function(e,t){return function(e,t,n){var r=s(e),i=(c(e)?Dt():Fe()).asMutable();e.__iterate(function(o,a){i.update(t.call(n,o,a,e),function(e){return(e=e||[]).push(r?[a,o]:o),e})});var o=Qt(e);return i.map(function(t){return Gt(e,o(t))})}(this,e,t)},has:function(e){return this.get(e,v)!==v},hasIn:function(e){return this.getIn(e,v)!==v},isSubset:function(e){return e="function"==typeof e.includes?e:n(e),this.every(function(t){return e.includes(t)})},isSuperset:function(e){return(e="function"==typeof e.isSubset?e:n(e)).isSubset(this)},keyOf:function(e){return this.findKey(function(t){return he(t,e)})},keySeq:function(){return this.toSeq().map(On).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(e){return this.toKeyedSeq().reverse().keyOf(e)},max:function(e){return Kt(this,e)},maxBy:function(e,t){return Kt(this,t,e)},min:function(e){return Kt(this,e?Pn(e):Fn)},minBy:function(e,t){return Kt(this,t?Pn(t):Fn,e)},rest:function(){return this.slice(1)},skip:function(e){return this.slice(Math.max(0,e))},skipLast:function(e){return Gt(this,this.toSeq().reverse().skip(e).reverse())},skipWhile:function(e,t){return Gt(this,Ht(this,e,t,!0))},skipUntil:function(e,t){return this.skipWhile(jn(e),t)},sortBy:function(e,t){return Gt(this,Zt(this,t,e))},take:function(e){return this.slice(0,Math.max(0,e))},takeLast:function(e){return Gt(this,this.toSeq().reverse().take(e).reverse())},takeWhile:function(e,t){return Gt(this,function(e,t,n){var r=Xt(e);return r.__iterateUncached=function(r,i){var o=this;if(i)return this.cacheResult().__iterate(r,i);var a=0;return e.__iterate(function(e,i,s){return t.call(n,e,i,s)&&++a&&r(e,i,o)}),a},r.__iteratorUncached=function(r,i){var o=this;if(i)return this.cacheResult().__iterator(r,i);var a=e.__iterator(j,i),s=!0;return new F(function(){if(!s)return{value:void 0,done:!0};var e=a.next();if(e.done)return e;var i=e.value,u=i[0],l=i[1];return t.call(n,l,u,o)?r===j?e:R(r,u,l,e):(s=!1,{value:void 0,done:!0})})},r}(this,e,t))},takeUntil:function(e,t){return this.takeWhile(jn(e),t)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=function(e){if(e.size===1/0)return 0;var t=c(e),n=s(e),r=t?1:0;return function(e,t){return t=xe(t,3432918353),t=xe(t<<15|t>>>-15,461845907),t=xe(t<<13|t>>>-13,5),t=xe((t=(t+3864292196|0)^e)^t>>>16,2246822507),t=ke((t=xe(t^t>>>13,3266489909))^t>>>16)}(e.__iterate(n?t?function(e,t){r=31*r+Rn(Me(e),Me(t))|0}:function(e,t){r=r+Rn(Me(e),Me(t))|0}:t?function(e){r=31*r+Me(e)|0}:function(e){r=r+Me(e)|0}),r)}(this))}});var Tn=n.prototype;Tn[d]=!0,Tn[N]=Tn.values,Tn.__toJS=Tn.toArray,Tn.__toStringMapper=In,Tn.inspect=Tn.toSource=function(){return this.toString()},Tn.chain=Tn.flatMap,Tn.contains=Tn.includes,Dn(r,{flip:function(){return Gt(this,Ft(this))},mapEntries:function(e,t){var n=this,r=0;return Gt(this,this.toSeq().map(function(i,o){return e.call(t,[o,i],r++,n)}).fromEntrySeq())},mapKeys:function(e,t){var n=this;return Gt(this,this.toSeq().flip().map(function(r,i){return e.call(t,r,i,n)}).flip())}});var Cn=r.prototype;function On(e,t){return t}function $n(e,t){return[t,e]}function jn(e){return function(){return!e.apply(this,arguments)}}function Pn(e){return function(){return-e.apply(this,arguments)}}function In(e){return"string"==typeof e?JSON.stringify(e):String(e)}function Nn(){return k(arguments)}function Fn(e,t){return e<t?1:e>t?-1:0}function Rn(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}return Cn[f]=!0,Cn[N]=Tn.entries,Cn.__toJS=Tn.toObject,Cn.__toStringMapper=function(e,t){return JSON.stringify(t)+": "+In(e)},Dn(i,{toKeyedSeq:function(){return new jt(this,!1)},filter:function(e,t){return Gt(this,Bt(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return Gt(this,Yt(this,!1))},slice:function(e,t){return Gt(this,zt(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(0|t,0),0===n||2===n&&!t)return this;e=D(e,e<0?this.count():this.size);var r=this.slice(0,e);return Gt(this,1===n?r:r.concat(k(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.findLastEntry(e,t);return n?n[0]:-1},first:function(){return this.get(0)},flatten:function(e){return Gt(this,Ut(this,e,!1))},get:function(e,t){return(e=E(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find(function(t,n){return n===e},void 0,t)},has:function(e){return(e=E(this,e))>=0&&(void 0!==this.size?this.size===1/0||e<this.size:-1!==this.indexOf(e))},interpose:function(e){return Gt(this,function(e,t){var n=Xt(e);return n.size=e.size&&2*e.size-1,n.__iterateUncached=function(n,r){var i=this,o=0;return e.__iterate(function(e,r){return(!o||!1!==n(t,o++,i))&&!1!==n(e,o++,i)},r),o},n.__iteratorUncached=function(n,r){var i,o=e.__iterator($,r),a=0;return new F(function(){return(!i||a%2)&&(i=o.next()).done?i:a%2?R(n,a++,t):R(n,a++,i.value,i)})},n}(this,e))},interleave:function(){var e=[this].concat(k(arguments)),t=Wt(this.toSeq(),W.of,e),n=t.flatten(!0);return t.size&&(n.size=t.size*e.length),Gt(this,n)},keySeq:function(){return ve(0,this.size)},last:function(){return this.get(-1)},skipWhile:function(e,t){return Gt(this,Ht(this,e,t,!1))},zip:function(){return Gt(this,Wt(this,Nn,[this].concat(k(arguments))))},zipWith:function(e){var t=k(arguments);return t[0]=this,Gt(this,Wt(this,e,t))}}),i.prototype[p]=!0,i.prototype[h]=!0,Dn(o,{get:function(e,t){return this.has(e)?e:t},includes:function(e){return this.has(e)},keySeq:function(){return this.valueSeq()}}),o.prototype.has=Tn.includes,o.prototype.contains=o.prototype.includes,Dn(q,r.prototype),Dn(W,i.prototype),Dn(G,o.prototype),Dn(_e,r.prototype),Dn(we,i.prototype),Dn(Ae,o.prototype),{Iterable:n,Seq:K,Collection:be,Map:Fe,OrderedMap:Dt,List:ft,Stack:An,Set:un,OrderedSet:gn,Record:rn,Range:ve,Repeat:ge,is:he,fromJS:de}}()},function(e,t,n){n(679),e.exports=n(16).Object.assign},function(e,t,n){var r=n(36);r(r.S+r.F,"Object",{assign:n(680)})},function(e,t,n){"use strict";var r=n(42),i=n(92),o=n(207),a=n(123),s=n(88),u=n(281),l=Object.assign;e.exports=!l||n(90)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=l({},e)[n]||Object.keys(l({},t)).join("")!=r})?function(e,t){for(var n=s(e),l=arguments.length,c=1,d=o.f,f=a.f;l>c;)for(var p,h=u(arguments[c++]),m=d?i(h).concat(d(h)):i(h),g=m.length,y=0;g>y;)p=m[y++],r&&!f.call(h,p)||(n[p]=h[p]);return n}:l},function(e,t,n){var r=n(682);e.exports=function(e){return r(e).replace(/[\W_]+(.|$)/g,function(e,t){return t?" "+t:""}).trim()}},function(e,t){e.exports=function(e){return n.test(e)?e.toLowerCase():r.test(e)?(function(e){return e.replace(o,function(e,t){return t?" "+t:""})}(e)||e).toLowerCase():i.test(e)?function(e){return e.replace(a,function(e,t,n){return t+" "+n.toLowerCase().split("").join(" ")})}(e).toLowerCase():e.toLowerCase()};var n=/\s/,r=/(_|-|\.|:)/,i=/([a-z][A-Z]|[A-Z][a-z])/;var o=/[\W_]+(.|$)/g;var a=/(.)([A-Z]+)/g},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=f(n(30)),o=f(n(21)),a=f(n(22)),s=f(n(23)),u=f(n(24)),l=n(0),c=f(l);n(684),n(716);var d=f(n(725));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,n(15).connect)(function(e){return{notifications:e.notifications}})(r=function(e){function t(){return(0,o.default)(this,t),(0,s.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,u.default)(t,e),(0,a.default)(t,[{key:"componentWillReceiveProps",value:function(e){if(e.notifications&&e.notifications!=this.props.notifications&&e.notifications.item){var t=e.notifications.item,n=t.type,r=t.title,i=t.msg,o=t.millis;"success"==n?this.refs.notificator.success(r||"",i,o||2e3):"info"==n?this.refs.notificator.info(r||"",i,o||2e3):this.refs.notificator.error(r||"",i,o||3e3)}}},{key:"render",value:function(){var e=this.props.loadingRemote?"wrapper loadingRemote":"wrapper";return c.default.createElement("div",{className:e},c.default.createElement(d.default,{ref:"notificator"}),this.props.children)}}]),t}(l.Component))||r;t.default=p},function(e,t,n){var r=n(685);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(219)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(t=e.exports=n(163)(!1)).i(n(686),"");var r=n(218),i=r(n(691)),o=r(n(692)),a=r(n(693)),s=r(n(694)),u=r(n(695)),l=r(n(696)),c=r(n(697)),d=r(n(698)),f=r(n(699)),p=r(n(700)),h=r(n(701)),m=r(n(702)),g=r(n(703)),y=r(n(704)),v=r(n(705)),b=r(n(706)),_=r(n(707)),w=r(n(708)),A=r(n(709)),x=r(n(710)),k=r(n(711)),M=r(n(712)),E=r(n(713)),L=r(n(714));t.push([e.i,'.system_rudeway {\n  font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }\n\n.system {\n  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }\n\n/* Define the "system" font family */\n@font-face {\n  font-family: system;\n  font-style: normal;\n  font-weight: 300;\n  src: local(".SFNSText-Light"), local(".HelveticaNeueDeskInterface-Light"), local(".LucidaGrandeUI"), local("Ubuntu Light"), local("Segoe UI Light"), local("Roboto-Light"), local("DroidSans"), local("Tahoma"); }\n\n/* Titillium+Web:300,400,600,700 */\n/* latin-ext */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 300;\n  src: local("Titillium Web Light"), local("TitilliumWeb-Light"), url('+i+') format("woff2"), url('+o+') format("woff"), url('+a+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 300;\n  src: local("Titillium Web Light"), local("TitilliumWeb-Light"), url('+i+') format("woff2"), url('+o+') format("woff"), url('+a+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n/* latin-ext */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 400;\n  src: local("Titillium Web Regular"), local("TitilliumWeb-Regular"), url('+s+') format("woff2"), url('+u+') format("woff"), url('+l+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 400;\n  src: local("Titillium Web Regular"), local("TitilliumWeb-Regular"), url('+s+') format("woff2"), url('+u+') format("woff"), url('+l+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n/* latin-ext */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 600;\n  src: local("Titillium Web SemiBold"), local("TitilliumWeb-SemiBold"), url('+c+') format("woff2"), url('+d+') format("woff"), url('+f+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 600;\n  src: local("Titillium Web SemiBold"), local("TitilliumWeb-SemiBold"), url('+c+') format("woff2"), url('+d+') format("woff"), url('+f+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n/* latin-ext */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 700;\n  src: local("Titillium Web Bold"), local("TitilliumWeb-Bold"), url('+p+') format("woff2"), url('+h+') format("woff"), url('+m+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 700;\n  src: local("Titillium Web Bold"), local("TitilliumWeb-Bold"), url('+p+') format("woff2"), url('+h+') format("woff"), url('+m+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n/* Lora:400,700 */\n/* latin-ext */\n@font-face {\n  font-family: \'Lora\';\n  font-style: normal;\n  font-weight: 400;\n  src: local("Lora Regular"), local("Lora-Regular"), url('+g+') format("woff2"), url('+y+') format("woff"), url('+v+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Lora\';\n  font-style: normal;\n  font-weight: 400;\n  src: local("Lora Regular"), local("Lora-Regular"), url('+g+') format("woff2"), url('+y+') format("woff"), url('+v+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n/* latin-ext */\n@font-face {\n  font-family: \'Lora\';\n  font-style: normal;\n  font-weight: 700;\n  src: local("Lora Bold"), local("Lora-Bold"), url('+b+') format("woff2"), url('+_+') format("woff"), url('+w+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Lora\';\n  font-style: normal;\n  font-weight: 700;\n  src: local("Lora Bold"), local("Lora-Bold"), url('+b+') format("woff2"), url('+_+') format("woff"), url('+w+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n/* Roboto+Mono:400,700 */\n/* latin-ext */\n@font-face {\n  font-family: \'Roboto Mono\';\n  font-style: normal;\n  font-weight: 400;\n  src: local("Roboto Mono"), local("RobotoMono-Regular"), url('+A+') format("woff2"), url('+x+') format("woff"), url('+k+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Roboto Mono\';\n  font-style: normal;\n  font-weight: 400;\n  src: local("Roboto Mono"), local("RobotoMono-Regular"), url('+A+') format("woff2"), url('+x+') format("woff"), url('+k+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n/* latin-ext */\n@font-face {\n  font-family: \'Roboto Mono\';\n  font-style: normal;\n  font-weight: 700;\n  src: local("Roboto Mono Bold"), local("RobotoMono-Bold"), url('+M+') format("woff2"), url('+E+') format("woff"), url('+L+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Roboto Mono\';\n  font-style: normal;\n  font-weight: 700;\n  src: local("Roboto Mono Bold"), local("RobotoMono-Bold"), url('+M+') format("woff2"), url('+E+') format("woff"), url('+L+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n* {\n  font-family: "Titillium Web", "Roboto Mono", "system", sans-serif; }\n\n.info__box {\n  background-color: rgba(0, 0, 0, 0.3);\n  z-index: 10;\n  -webkit-justify-content: center;\n          justify-content: center;\n  -webkit-align-items: center;\n          align-items: center;\n  width: 100%;\n  height: 100%;\n  position: absolute;\n  display: none; }\n  .info__box.info__box__visible {\n    display: -webkit-flex;\n    display: flex;\n    -webkit-justify-content: center;\n            justify-content: center;\n    -webkit-align-items: center;\n            align-items: center; }\n\n.info__box__body {\n  position: relative;\n  width: 640px;\n  height: 400px;\n  max-width: 100%;\n  max-height: 100%;\n  background-color: #fff;\n  border: 3px solid #32d6d6;\n  overflow: auto; }\n\n.info__box__title {\n  color: #0066cc; }\n\n.info__box__content {\n  padding: 40px;\n  font-size: 18px;\n  color: #5a768a;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  -webkit-justify-content: center;\n          justify-content: center; }\n\n.info__box__close {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: row;\n          flex-direction: row;\n  -webkit-justify-content: flex-end;\n          justify-content: flex-end;\n  -webkit-align-items: flex-end;\n          align-items: flex-end;\n  text-align: right;\n  font-size: 14px;\n  margin: 10px; }\n\n.close__button {\n  display: inline-block;\n  opacity: 0.5;\n  cursor: pointer; }\n\n.close__button:hover {\n  opacity: 1; }\n\n.editor__widget {\n  padding: 0 10px; }\n\n.editor__toolbar {\n  margin: 0 !important; }\n\n.editor__content {\n  border-bottom: 1px solid #979797; }\n\n.has-error .editor__content {\n  border-bottom: 1px solid #f83e5a; }\n\n.editor__wrapper, .editor__component {\n  border: none !important;\n  margin: 0 !important;\n  padding: 0 !important; }\n\n.editor__component .public-DraftEditor-content {\n  min-height: 300px;\n  border-size: 0; }\n\ninput.rw-widget-input {\n  border: none !important; }\n\n.editor__component .public-DraftEditor-content {\n  word-break: break-all; }\n\n.rectangle-5-copy-34 {\n  height: 48px;\n  width: 186px;\n  background-color: #0073e6; }\n\n.editor_button {\n  display: -webkit-flex;\n  display: flex;\n  overflow: hidden;\n  margin: 10px;\n  padding: 12px 12px;\n  height: 56px;\n  width: 242px;\n  cursor: pointer;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  transition: all 150ms linear;\n  text-align: center;\n  white-space: nowrap;\n  text-decoration: none !important;\n  text-transform: none;\n  text-transform: capitalize;\n  color: #fff;\n  background-color: #0073e6;\n  border: 0 none;\n  border-radius: 4px;\n  font-family: "Titillium Web";\n  font-size: 18px;\n  font-weight: bold;\n  line-height: 28px;\n  text-align: center;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n  -webkit-justify-content: center;\n          justify-content: center;\n  -webkit-align-items: center;\n          align-items: center;\n  -webkit-flex: 0 0 240px;\n          flex: 0 0 240px;\n  box-shadow: 2px 5px 10px var(--color-smoke); }\n  .editor_button:hover {\n    transition: all 150ms linear;\n    background-color: #0059b3;\n    opacity: 0.85; }\n  .editor_button:active {\n    transition: all 150ms linear;\n    opacity: 0.75; }\n  .editor_button:focus {\n    outline: 0;\n    outline-offset: -4px; }\n  .editor_button:disabled {\n    opacity: 0.5;\n    background-color: #0059b3; }\n\n.editor_button--primary {\n  color: #ffffff;\n  background-color: #0073e6; }\n  .editor_button--primary:hover {\n    color: #ffffff;\n    background-color: #0059b3;\n    opacity: 1; }\n  .editor_button--primary:active {\n    color: #ffffff;\n    background-color: #0059b3;\n    opacity: 1; }\n\n.editor_button--secondary {\n  border: 2px solid #0073e6;\n  background-color: #ffff;\n  color: #0073e6; }\n  .editor_button--secondary:hover {\n    color: #0059b3;\n    background-color: #ffff;\n    opacity: 1; }\n  .editor_button--secondary:active {\n    color: #0059b3;\n    background-color: #ffff;\n    opacity: 1; }\n\n.editor_button--quaternary {\n  height: 56px;\n  width: 242px;\n  border: 2px solid #e6e9f2;\n  background-color: #fcfdff;\n  color: #5c6f82; }\n  .editor_button--quaternary:hover {\n    color: #38444f;\n    background-color: #fcfdff;\n    opacity: 1; }\n  .editor_button--quaternary:active {\n    color: #38444f;\n    background-color: #fcfdff;\n    opacity: 1; }\n\n.editor_button--custom {\n  height: 56px;\n  width: 242px;\n  border: 0;\n  background-color: #fff;\n  color: #5c6f82; }\n  .editor_button--custom:hover {\n    color: #38444f;\n    background-color: #fcfdff;\n    opacity: 1; }\n\ninput[type="date"],\ninput[type="datetime-local"],\ninput[type="email"],\ninput[type="number"],\ninput[type="password"],\ninput[type="search"],\ninput[type="tel"],\ninput[type="text"],\ninput[type="time"],\ninput[type="url"],\ninput[type="date"],\nselect.form-control,\ntextarea.form-control {\n  background-color: transparent;\n  border: none;\n  border-bottom: 1px solid #979797;\n  border-radius: 0;\n  outline: 0;\n  height: 2.5rem;\n  width: 100%;\n  box-shadow: none;\n  transition: all 0.3s;\n  font-weight: 600;\n  color: #17324d; }\n\n.has-error input[type="date"],\n.has-error input[type="datetime-local"],\n.has-error input[type="email"],\n.has-error input[type="number"],\n.has-error input[type="password"],\n.has-error input[type="search"],\n.has-error input[type="tel"],\n.has-error input[type="text"],\n.has-error input[type="time"],\n.has-error input[type="url"],\n.has-error input[type="date"],\n.has-error select.form-control,\n.has-error textarea.form-control {\n  border-bottom: 1px solid #f83e5a; }\n\n.control-label,\n.control-link,\nlegend {\n  color: #5a768a;\n  font-weight: 400;\n  display: block;\n  font-size: 18px; }\n\nlegend {\n  padding: 0 10px !important; }\n\n.form-check-label {\n  color: #5a768a;\n  font-weight: 400;\n  display: block;\n  font-size: 16px; }\n\n.help-block,\n.help-block small,\n.help-block .form-text .text-muted {\n  font-size: 14px;\n  color: #5a768a;\n  font-weight: 400;\n  display: inline; }\n\n.has-error .help-block {\n  background-color: #f83e5a;\n  padding: 0px 12px;\n  color: #fff; }\n\n/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n  --blue: #007bff;\n  --indigo: #6610f2;\n  --purple: #6f42c1;\n  --pink: #e83e8c;\n  --red: #dc3545;\n  --orange: #fd7e14;\n  --yellow: #ffc107;\n  --green: #28a745;\n  --teal: #20c997;\n  --cyan: #17a2b8;\n  --white: #fff;\n  --gray: #6c757d;\n  --gray-dark: #343a40;\n  --primary: #0074d9;\n  --secondary: #6c757d;\n  --success: #28a745;\n  --info: #17a2b8;\n  --warning: #ffc107;\n  --danger: #ff4136;\n  --light: #f8f9fa;\n  --dark: #343a40;\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 992px;\n  --breakpoint-xl: 1200px;\n  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box; }\n\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block; }\n\nbody {\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #212529;\n  text-align: left;\n  background-color: #fff; }\n\n[tabindex="-1"]:focus {\n  outline: 0 !important; }\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible; }\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\np {\n  margin-top: 0;\n  margin-bottom: 1rem; }\n\nabbr[title],\nabbr[data-original-title] {\n  text-decoration: underline;\n  -webkit-text-decoration: underline dotted;\n          text-decoration: underline dotted;\n  cursor: help;\n  border-bottom: 0;\n  -webkit-text-decoration-skip-ink: none;\n          text-decoration-skip-ink: none; }\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit; }\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem; }\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0; }\n\ndt {\n  font-weight: 700; }\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0; }\n\nblockquote {\n  margin: 0 0 1rem; }\n\nb,\nstrong {\n  font-weight: bolder; }\n\nsmall {\n  font-size: 80%; }\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline; }\n\nsub {\n  bottom: -.25em; }\n\nsup {\n  top: -.5em; }\n\na {\n  color: #0074d9;\n  text-decoration: none;\n  background-color: transparent; }\n  a:hover {\n    color: #004b8d;\n    text-decoration: underline; }\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none; }\n  a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n    color: inherit;\n    text-decoration: none; }\n  a:not([href]):not([tabindex]):focus {\n    outline: 0; }\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;\n  font-size: 1em; }\n\npre {\n  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto; }\n\nfigure {\n  margin: 0 0 1rem; }\n\nimg {\n  vertical-align: middle;\n  border-style: none; }\n\nsvg {\n  overflow: hidden;\n  vertical-align: middle; }\n\ntable {\n  border-collapse: collapse; }\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\n  color: #6c757d;\n  text-align: left;\n  caption-side: bottom; }\n\nth {\n  text-align: inherit; }\n\nlabel {\n  display: inline-block;\n  margin-bottom: 0.5rem; }\n\nbutton {\n  border-radius: 0; }\n\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color; }\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit; }\n\nbutton,\ninput {\n  overflow: visible; }\n\nbutton,\nselect {\n  text-transform: none; }\n\nselect {\n  word-wrap: normal; }\n\nbutton,\n[type="button"],\n[type="reset"],\n[type="submit"] {\n  -webkit-appearance: button; }\n\nbutton:not(:disabled),\n[type="button"]:not(:disabled),\n[type="reset"]:not(:disabled),\n[type="submit"]:not(:disabled) {\n  cursor: pointer; }\n\nbutton::-moz-focus-inner,\n[type="button"]::-moz-focus-inner,\n[type="reset"]::-moz-focus-inner,\n[type="submit"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none; }\n\ninput[type="radio"],\ninput[type="checkbox"] {\n  box-sizing: border-box;\n  padding: 0; }\n\ninput[type="date"],\ninput[type="time"],\ninput[type="datetime-local"],\ninput[type="month"] {\n  -webkit-appearance: listbox; }\n\ntextarea {\n  overflow: auto;\n  resize: vertical; }\n\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0; }\n\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal; }\n\nprogress {\n  vertical-align: baseline; }\n\n[type="number"]::-webkit-inner-spin-button,\n[type="number"]::-webkit-outer-spin-button {\n  height: auto; }\n\n[type="search"] {\n  outline-offset: -2px;\n  -webkit-appearance: none; }\n\n[type="search"]::-webkit-search-decoration {\n  -webkit-appearance: none; }\n\n::-webkit-file-upload-button {\n  font: inherit;\n  -webkit-appearance: button; }\n\noutput {\n  display: inline-block; }\n\nsummary {\n  display: list-item;\n  cursor: pointer; }\n\ntemplate {\n  display: none; }\n\n[hidden] {\n  display: none !important; }\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  margin-bottom: 0.5rem;\n  font-weight: 500;\n  line-height: 1.2; }\n\nh1, .h1 {\n  font-size: 2.5rem; }\n\nh2, .h2 {\n  font-size: 2rem; }\n\nh3, .h3 {\n  font-size: 1.75rem; }\n\nh4, .h4 {\n  font-size: 1.5rem; }\n\nh5, .h5 {\n  font-size: 1.25rem; }\n\nh6, .h6 {\n  font-size: 1rem; }\n\n.lead {\n  font-size: 1.25rem;\n  font-weight: 300; }\n\n.display-1 {\n  font-size: 6rem;\n  font-weight: 300;\n  line-height: 1.2; }\n\n.display-2 {\n  font-size: 5.5rem;\n  font-weight: 300;\n  line-height: 1.2; }\n\n.display-3 {\n  font-size: 4.5rem;\n  font-weight: 300;\n  line-height: 1.2; }\n\n.display-4 {\n  font-size: 3.5rem;\n  font-weight: 300;\n  line-height: 1.2; }\n\nhr {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  border: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1); }\n\nsmall,\n.small {\n  font-size: 80%;\n  font-weight: 400; }\n\nmark,\n.mark {\n  padding: 0.2em;\n  background-color: #fcf8e3; }\n\n.list-unstyled {\n  padding-left: 0;\n  list-style: none; }\n\n.list-inline {\n  padding-left: 0;\n  list-style: none; }\n\n.list-inline-item {\n  display: inline-block; }\n  .list-inline-item:not(:last-child) {\n    margin-right: 0.5rem; }\n\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase; }\n\n.blockquote {\n  margin-bottom: 1rem;\n  font-size: 1.25rem; }\n\n.blockquote-footer {\n  display: block;\n  font-size: 80%;\n  color: #6c757d; }\n  .blockquote-footer::before {\n    content: "\\2014\\00A0"; }\n\n.img-fluid {\n  max-width: 100%;\n  height: auto; }\n\n.img-thumbnail {\n  padding: 0.25rem;\n  background-color: #fff;\n  border: 1px solid #dee2e6;\n  border-radius: 0.25rem;\n  max-width: 100%;\n  height: auto; }\n\n.figure {\n  display: inline-block; }\n\n.figure-img {\n  margin-bottom: 0.5rem;\n  line-height: 1; }\n\n.figure-caption {\n  font-size: 90%;\n  color: #6c757d; }\n\ncode {\n  font-size: 87.5%;\n  color: #e83e8c;\n  word-break: break-word; }\n  a > code {\n    color: inherit; }\n\nkbd {\n  padding: 0.2rem 0.4rem;\n  font-size: 87.5%;\n  color: #fff;\n  background-color: #212529;\n  border-radius: 0.2rem; }\n  kbd kbd {\n    padding: 0;\n    font-size: 100%;\n    font-weight: 700; }\n\npre {\n  display: block;\n  font-size: 87.5%;\n  color: #212529; }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal; }\n\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll; }\n\n.container {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto; }\n  @media (min-width: 576px) {\n    .container {\n      max-width: 540px; } }\n  @media (min-width: 768px) {\n    .container {\n      max-width: 720px; } }\n  @media (min-width: 992px) {\n    .container {\n      max-width: 960px; } }\n  @media (min-width: 1200px) {\n    .container {\n      max-width: 1140px; } }\n\n.container-fluid {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto; }\n\n.row {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  margin-right: -15px;\n  margin-left: -15px; }\n\n.no-gutters {\n  margin-right: 0;\n  margin-left: 0; }\n  .no-gutters > .col,\n  .no-gutters > [class*="col-"] {\n    padding-right: 0;\n    padding-left: 0; }\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n  position: relative;\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px; }\n\n.col {\n  -webkit-flex-basis: 0;\n          flex-basis: 0;\n  -webkit-flex-grow: 1;\n          flex-grow: 1;\n  max-width: 100%; }\n\n.col-auto {\n  -webkit-flex: 0 0 auto;\n          flex: 0 0 auto;\n  width: auto;\n  max-width: 100%; }\n\n.col-1 {\n  -webkit-flex: 0 0 8.33333%;\n          flex: 0 0 8.33333%;\n  max-width: 8.33333%; }\n\n.col-2 {\n  -webkit-flex: 0 0 16.66667%;\n          flex: 0 0 16.66667%;\n  max-width: 16.66667%; }\n\n.col-3 {\n  -webkit-flex: 0 0 25%;\n          flex: 0 0 25%;\n  max-width: 25%; }\n\n.col-4 {\n  -webkit-flex: 0 0 33.33333%;\n          flex: 0 0 33.33333%;\n  max-width: 33.33333%; }\n\n.col-5 {\n  -webkit-flex: 0 0 41.66667%;\n          flex: 0 0 41.66667%;\n  max-width: 41.66667%; }\n\n.col-6 {\n  -webkit-flex: 0 0 50%;\n          flex: 0 0 50%;\n  max-width: 50%; }\n\n.col-7 {\n  -webkit-flex: 0 0 58.33333%;\n          flex: 0 0 58.33333%;\n  max-width: 58.33333%; }\n\n.col-8 {\n  -webkit-flex: 0 0 66.66667%;\n          flex: 0 0 66.66667%;\n  max-width: 66.66667%; }\n\n.col-9 {\n  -webkit-flex: 0 0 75%;\n          flex: 0 0 75%;\n  max-width: 75%; }\n\n.col-10 {\n  -webkit-flex: 0 0 83.33333%;\n          flex: 0 0 83.33333%;\n  max-width: 83.33333%; }\n\n.col-11 {\n  -webkit-flex: 0 0 91.66667%;\n          flex: 0 0 91.66667%;\n  max-width: 91.66667%; }\n\n.col-12 {\n  -webkit-flex: 0 0 100%;\n          flex: 0 0 100%;\n  max-width: 100%; }\n\n.order-first {\n  -webkit-order: -1;\n          order: -1; }\n\n.order-last {\n  -webkit-order: 13;\n          order: 13; }\n\n.order-0 {\n  -webkit-order: 0;\n          order: 0; }\n\n.order-1 {\n  -webkit-order: 1;\n          order: 1; }\n\n.order-2 {\n  -webkit-order: 2;\n          order: 2; }\n\n.order-3 {\n  -webkit-order: 3;\n          order: 3; }\n\n.order-4 {\n  -webkit-order: 4;\n          order: 4; }\n\n.order-5 {\n  -webkit-order: 5;\n          order: 5; }\n\n.order-6 {\n  -webkit-order: 6;\n          order: 6; }\n\n.order-7 {\n  -webkit-order: 7;\n          order: 7; }\n\n.order-8 {\n  -webkit-order: 8;\n          order: 8; }\n\n.order-9 {\n  -webkit-order: 9;\n          order: 9; }\n\n.order-10 {\n  -webkit-order: 10;\n          order: 10; }\n\n.order-11 {\n  -webkit-order: 11;\n          order: 11; }\n\n.order-12 {\n  -webkit-order: 12;\n          order: 12; }\n\n.offset-1 {\n  margin-left: 8.33333%; }\n\n.offset-2 {\n  margin-left: 16.66667%; }\n\n.offset-3 {\n  margin-left: 25%; }\n\n.offset-4 {\n  margin-left: 33.33333%; }\n\n.offset-5 {\n  margin-left: 41.66667%; }\n\n.offset-6 {\n  margin-left: 50%; }\n\n.offset-7 {\n  margin-left: 58.33333%; }\n\n.offset-8 {\n  margin-left: 66.66667%; }\n\n.offset-9 {\n  margin-left: 75%; }\n\n.offset-10 {\n  margin-left: 83.33333%; }\n\n.offset-11 {\n  margin-left: 91.66667%; }\n\n@media (min-width: 576px) {\n  .col-sm {\n    -webkit-flex-basis: 0;\n            flex-basis: 0;\n    -webkit-flex-grow: 1;\n            flex-grow: 1;\n    max-width: 100%; }\n  .col-sm-auto {\n    -webkit-flex: 0 0 auto;\n            flex: 0 0 auto;\n    width: auto;\n    max-width: 100%; }\n  .col-sm-1 {\n    -webkit-flex: 0 0 8.33333%;\n            flex: 0 0 8.33333%;\n    max-width: 8.33333%; }\n  .col-sm-2 {\n    -webkit-flex: 0 0 16.66667%;\n            flex: 0 0 16.66667%;\n    max-width: 16.66667%; }\n  .col-sm-3 {\n    -webkit-flex: 0 0 25%;\n            flex: 0 0 25%;\n    max-width: 25%; }\n  .col-sm-4 {\n    -webkit-flex: 0 0 33.33333%;\n            flex: 0 0 33.33333%;\n    max-width: 33.33333%; }\n  .col-sm-5 {\n    -webkit-flex: 0 0 41.66667%;\n            flex: 0 0 41.66667%;\n    max-width: 41.66667%; }\n  .col-sm-6 {\n    -webkit-flex: 0 0 50%;\n            flex: 0 0 50%;\n    max-width: 50%; }\n  .col-sm-7 {\n    -webkit-flex: 0 0 58.33333%;\n            flex: 0 0 58.33333%;\n    max-width: 58.33333%; }\n  .col-sm-8 {\n    -webkit-flex: 0 0 66.66667%;\n            flex: 0 0 66.66667%;\n    max-width: 66.66667%; }\n  .col-sm-9 {\n    -webkit-flex: 0 0 75%;\n            flex: 0 0 75%;\n    max-width: 75%; }\n  .col-sm-10 {\n    -webkit-flex: 0 0 83.33333%;\n            flex: 0 0 83.33333%;\n    max-width: 83.33333%; }\n  .col-sm-11 {\n    -webkit-flex: 0 0 91.66667%;\n            flex: 0 0 91.66667%;\n    max-width: 91.66667%; }\n  .col-sm-12 {\n    -webkit-flex: 0 0 100%;\n            flex: 0 0 100%;\n    max-width: 100%; }\n  .order-sm-first {\n    -webkit-order: -1;\n            order: -1; }\n  .order-sm-last {\n    -webkit-order: 13;\n            order: 13; }\n  .order-sm-0 {\n    -webkit-order: 0;\n            order: 0; }\n  .order-sm-1 {\n    -webkit-order: 1;\n            order: 1; }\n  .order-sm-2 {\n    -webkit-order: 2;\n            order: 2; }\n  .order-sm-3 {\n    -webkit-order: 3;\n            order: 3; }\n  .order-sm-4 {\n    -webkit-order: 4;\n            order: 4; }\n  .order-sm-5 {\n    -webkit-order: 5;\n            order: 5; }\n  .order-sm-6 {\n    -webkit-order: 6;\n            order: 6; }\n  .order-sm-7 {\n    -webkit-order: 7;\n            order: 7; }\n  .order-sm-8 {\n    -webkit-order: 8;\n            order: 8; }\n  .order-sm-9 {\n    -webkit-order: 9;\n            order: 9; }\n  .order-sm-10 {\n    -webkit-order: 10;\n            order: 10; }\n  .order-sm-11 {\n    -webkit-order: 11;\n            order: 11; }\n  .order-sm-12 {\n    -webkit-order: 12;\n            order: 12; }\n  .offset-sm-0 {\n    margin-left: 0; }\n  .offset-sm-1 {\n    margin-left: 8.33333%; }\n  .offset-sm-2 {\n    margin-left: 16.66667%; }\n  .offset-sm-3 {\n    margin-left: 25%; }\n  .offset-sm-4 {\n    margin-left: 33.33333%; }\n  .offset-sm-5 {\n    margin-left: 41.66667%; }\n  .offset-sm-6 {\n    margin-left: 50%; }\n  .offset-sm-7 {\n    margin-left: 58.33333%; }\n  .offset-sm-8 {\n    margin-left: 66.66667%; }\n  .offset-sm-9 {\n    margin-left: 75%; }\n  .offset-sm-10 {\n    margin-left: 83.33333%; }\n  .offset-sm-11 {\n    margin-left: 91.66667%; } }\n\n@media (min-width: 768px) {\n  .col-md {\n    -webkit-flex-basis: 0;\n            flex-basis: 0;\n    -webkit-flex-grow: 1;\n            flex-grow: 1;\n    max-width: 100%; }\n  .col-md-auto {\n    -webkit-flex: 0 0 auto;\n            flex: 0 0 auto;\n    width: auto;\n    max-width: 100%; }\n  .col-md-1 {\n    -webkit-flex: 0 0 8.33333%;\n            flex: 0 0 8.33333%;\n    max-width: 8.33333%; }\n  .col-md-2 {\n    -webkit-flex: 0 0 16.66667%;\n            flex: 0 0 16.66667%;\n    max-width: 16.66667%; }\n  .col-md-3 {\n    -webkit-flex: 0 0 25%;\n            flex: 0 0 25%;\n    max-width: 25%; }\n  .col-md-4 {\n    -webkit-flex: 0 0 33.33333%;\n            flex: 0 0 33.33333%;\n    max-width: 33.33333%; }\n  .col-md-5 {\n    -webkit-flex: 0 0 41.66667%;\n            flex: 0 0 41.66667%;\n    max-width: 41.66667%; }\n  .col-md-6 {\n    -webkit-flex: 0 0 50%;\n            flex: 0 0 50%;\n    max-width: 50%; }\n  .col-md-7 {\n    -webkit-flex: 0 0 58.33333%;\n            flex: 0 0 58.33333%;\n    max-width: 58.33333%; }\n  .col-md-8 {\n    -webkit-flex: 0 0 66.66667%;\n            flex: 0 0 66.66667%;\n    max-width: 66.66667%; }\n  .col-md-9 {\n    -webkit-flex: 0 0 75%;\n            flex: 0 0 75%;\n    max-width: 75%; }\n  .col-md-10 {\n    -webkit-flex: 0 0 83.33333%;\n            flex: 0 0 83.33333%;\n    max-width: 83.33333%; }\n  .col-md-11 {\n    -webkit-flex: 0 0 91.66667%;\n            flex: 0 0 91.66667%;\n    max-width: 91.66667%; }\n  .col-md-12 {\n    -webkit-flex: 0 0 100%;\n            flex: 0 0 100%;\n    max-width: 100%; }\n  .order-md-first {\n    -webkit-order: -1;\n            order: -1; }\n  .order-md-last {\n    -webkit-order: 13;\n            order: 13; }\n  .order-md-0 {\n    -webkit-order: 0;\n            order: 0; }\n  .order-md-1 {\n    -webkit-order: 1;\n            order: 1; }\n  .order-md-2 {\n    -webkit-order: 2;\n            order: 2; }\n  .order-md-3 {\n    -webkit-order: 3;\n            order: 3; }\n  .order-md-4 {\n    -webkit-order: 4;\n            order: 4; }\n  .order-md-5 {\n    -webkit-order: 5;\n            order: 5; }\n  .order-md-6 {\n    -webkit-order: 6;\n            order: 6; }\n  .order-md-7 {\n    -webkit-order: 7;\n            order: 7; }\n  .order-md-8 {\n    -webkit-order: 8;\n            order: 8; }\n  .order-md-9 {\n    -webkit-order: 9;\n            order: 9; }\n  .order-md-10 {\n    -webkit-order: 10;\n            order: 10; }\n  .order-md-11 {\n    -webkit-order: 11;\n            order: 11; }\n  .order-md-12 {\n    -webkit-order: 12;\n            order: 12; }\n  .offset-md-0 {\n    margin-left: 0; }\n  .offset-md-1 {\n    margin-left: 8.33333%; }\n  .offset-md-2 {\n    margin-left: 16.66667%; }\n  .offset-md-3 {\n    margin-left: 25%; }\n  .offset-md-4 {\n    margin-left: 33.33333%; }\n  .offset-md-5 {\n    margin-left: 41.66667%; }\n  .offset-md-6 {\n    margin-left: 50%; }\n  .offset-md-7 {\n    margin-left: 58.33333%; }\n  .offset-md-8 {\n    margin-left: 66.66667%; }\n  .offset-md-9 {\n    margin-left: 75%; }\n  .offset-md-10 {\n    margin-left: 83.33333%; }\n  .offset-md-11 {\n    margin-left: 91.66667%; } }\n\n@media (min-width: 992px) {\n  .col-lg {\n    -webkit-flex-basis: 0;\n            flex-basis: 0;\n    -webkit-flex-grow: 1;\n            flex-grow: 1;\n    max-width: 100%; }\n  .col-lg-auto {\n    -webkit-flex: 0 0 auto;\n            flex: 0 0 auto;\n    width: auto;\n    max-width: 100%; }\n  .col-lg-1 {\n    -webkit-flex: 0 0 8.33333%;\n            flex: 0 0 8.33333%;\n    max-width: 8.33333%; }\n  .col-lg-2 {\n    -webkit-flex: 0 0 16.66667%;\n            flex: 0 0 16.66667%;\n    max-width: 16.66667%; }\n  .col-lg-3 {\n    -webkit-flex: 0 0 25%;\n            flex: 0 0 25%;\n    max-width: 25%; }\n  .col-lg-4 {\n    -webkit-flex: 0 0 33.33333%;\n            flex: 0 0 33.33333%;\n    max-width: 33.33333%; }\n  .col-lg-5 {\n    -webkit-flex: 0 0 41.66667%;\n            flex: 0 0 41.66667%;\n    max-width: 41.66667%; }\n  .col-lg-6 {\n    -webkit-flex: 0 0 50%;\n            flex: 0 0 50%;\n    max-width: 50%; }\n  .col-lg-7 {\n    -webkit-flex: 0 0 58.33333%;\n            flex: 0 0 58.33333%;\n    max-width: 58.33333%; }\n  .col-lg-8 {\n    -webkit-flex: 0 0 66.66667%;\n            flex: 0 0 66.66667%;\n    max-width: 66.66667%; }\n  .col-lg-9 {\n    -webkit-flex: 0 0 75%;\n            flex: 0 0 75%;\n    max-width: 75%; }\n  .col-lg-10 {\n    -webkit-flex: 0 0 83.33333%;\n            flex: 0 0 83.33333%;\n    max-width: 83.33333%; }\n  .col-lg-11 {\n    -webkit-flex: 0 0 91.66667%;\n            flex: 0 0 91.66667%;\n    max-width: 91.66667%; }\n  .col-lg-12 {\n    -webkit-flex: 0 0 100%;\n            flex: 0 0 100%;\n    max-width: 100%; }\n  .order-lg-first {\n    -webkit-order: -1;\n            order: -1; }\n  .order-lg-last {\n    -webkit-order: 13;\n            order: 13; }\n  .order-lg-0 {\n    -webkit-order: 0;\n            order: 0; }\n  .order-lg-1 {\n    -webkit-order: 1;\n            order: 1; }\n  .order-lg-2 {\n    -webkit-order: 2;\n            order: 2; }\n  .order-lg-3 {\n    -webkit-order: 3;\n            order: 3; }\n  .order-lg-4 {\n    -webkit-order: 4;\n            order: 4; }\n  .order-lg-5 {\n    -webkit-order: 5;\n            order: 5; }\n  .order-lg-6 {\n    -webkit-order: 6;\n            order: 6; }\n  .order-lg-7 {\n    -webkit-order: 7;\n            order: 7; }\n  .order-lg-8 {\n    -webkit-order: 8;\n            order: 8; }\n  .order-lg-9 {\n    -webkit-order: 9;\n            order: 9; }\n  .order-lg-10 {\n    -webkit-order: 10;\n            order: 10; }\n  .order-lg-11 {\n    -webkit-order: 11;\n            order: 11; }\n  .order-lg-12 {\n    -webkit-order: 12;\n            order: 12; }\n  .offset-lg-0 {\n    margin-left: 0; }\n  .offset-lg-1 {\n    margin-left: 8.33333%; }\n  .offset-lg-2 {\n    margin-left: 16.66667%; }\n  .offset-lg-3 {\n    margin-left: 25%; }\n  .offset-lg-4 {\n    margin-left: 33.33333%; }\n  .offset-lg-5 {\n    margin-left: 41.66667%; }\n  .offset-lg-6 {\n    margin-left: 50%; }\n  .offset-lg-7 {\n    margin-left: 58.33333%; }\n  .offset-lg-8 {\n    margin-left: 66.66667%; }\n  .offset-lg-9 {\n    margin-left: 75%; }\n  .offset-lg-10 {\n    margin-left: 83.33333%; }\n  .offset-lg-11 {\n    margin-left: 91.66667%; } }\n\n@media (min-width: 1200px) {\n  .col-xl {\n    -webkit-flex-basis: 0;\n            flex-basis: 0;\n    -webkit-flex-grow: 1;\n            flex-grow: 1;\n    max-width: 100%; }\n  .col-xl-auto {\n    -webkit-flex: 0 0 auto;\n            flex: 0 0 auto;\n    width: auto;\n    max-width: 100%; }\n  .col-xl-1 {\n    -webkit-flex: 0 0 8.33333%;\n            flex: 0 0 8.33333%;\n    max-width: 8.33333%; }\n  .col-xl-2 {\n    -webkit-flex: 0 0 16.66667%;\n            flex: 0 0 16.66667%;\n    max-width: 16.66667%; }\n  .col-xl-3 {\n    -webkit-flex: 0 0 25%;\n            flex: 0 0 25%;\n    max-width: 25%; }\n  .col-xl-4 {\n    -webkit-flex: 0 0 33.33333%;\n            flex: 0 0 33.33333%;\n    max-width: 33.33333%; }\n  .col-xl-5 {\n    -webkit-flex: 0 0 41.66667%;\n            flex: 0 0 41.66667%;\n    max-width: 41.66667%; }\n  .col-xl-6 {\n    -webkit-flex: 0 0 50%;\n            flex: 0 0 50%;\n    max-width: 50%; }\n  .col-xl-7 {\n    -webkit-flex: 0 0 58.33333%;\n            flex: 0 0 58.33333%;\n    max-width: 58.33333%; }\n  .col-xl-8 {\n    -webkit-flex: 0 0 66.66667%;\n            flex: 0 0 66.66667%;\n    max-width: 66.66667%; }\n  .col-xl-9 {\n    -webkit-flex: 0 0 75%;\n            flex: 0 0 75%;\n    max-width: 75%; }\n  .col-xl-10 {\n    -webkit-flex: 0 0 83.33333%;\n            flex: 0 0 83.33333%;\n    max-width: 83.33333%; }\n  .col-xl-11 {\n    -webkit-flex: 0 0 91.66667%;\n            flex: 0 0 91.66667%;\n    max-width: 91.66667%; }\n  .col-xl-12 {\n    -webkit-flex: 0 0 100%;\n            flex: 0 0 100%;\n    max-width: 100%; }\n  .order-xl-first {\n    -webkit-order: -1;\n            order: -1; }\n  .order-xl-last {\n    -webkit-order: 13;\n            order: 13; }\n  .order-xl-0 {\n    -webkit-order: 0;\n            order: 0; }\n  .order-xl-1 {\n    -webkit-order: 1;\n            order: 1; }\n  .order-xl-2 {\n    -webkit-order: 2;\n            order: 2; }\n  .order-xl-3 {\n    -webkit-order: 3;\n            order: 3; }\n  .order-xl-4 {\n    -webkit-order: 4;\n            order: 4; }\n  .order-xl-5 {\n    -webkit-order: 5;\n            order: 5; }\n  .order-xl-6 {\n    -webkit-order: 6;\n            order: 6; }\n  .order-xl-7 {\n    -webkit-order: 7;\n            order: 7; }\n  .order-xl-8 {\n    -webkit-order: 8;\n            order: 8; }\n  .order-xl-9 {\n    -webkit-order: 9;\n            order: 9; }\n  .order-xl-10 {\n    -webkit-order: 10;\n            order: 10; }\n  .order-xl-11 {\n    -webkit-order: 11;\n            order: 11; }\n  .order-xl-12 {\n    -webkit-order: 12;\n            order: 12; }\n  .offset-xl-0 {\n    margin-left: 0; }\n  .offset-xl-1 {\n    margin-left: 8.33333%; }\n  .offset-xl-2 {\n    margin-left: 16.66667%; }\n  .offset-xl-3 {\n    margin-left: 25%; }\n  .offset-xl-4 {\n    margin-left: 33.33333%; }\n  .offset-xl-5 {\n    margin-left: 41.66667%; }\n  .offset-xl-6 {\n    margin-left: 50%; }\n  .offset-xl-7 {\n    margin-left: 58.33333%; }\n  .offset-xl-8 {\n    margin-left: 66.66667%; }\n  .offset-xl-9 {\n    margin-left: 75%; }\n  .offset-xl-10 {\n    margin-left: 83.33333%; }\n  .offset-xl-11 {\n    margin-left: 91.66667%; } }\n\n.table {\n  width: 100%;\n  margin-bottom: 1rem;\n  color: #212529; }\n  .table th,\n  .table td {\n    padding: 0.75rem;\n    vertical-align: top;\n    border-top: 1px solid #dee2e6; }\n  .table thead th {\n    vertical-align: bottom;\n    border-bottom: 2px solid #dee2e6; }\n  .table tbody + tbody {\n    border-top: 2px solid #dee2e6; }\n\n.table-sm th,\n.table-sm td {\n  padding: 0.3rem; }\n\n.table-bordered {\n  border: 1px solid #dee2e6; }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #dee2e6; }\n  .table-bordered thead th,\n  .table-bordered thead td {\n    border-bottom-width: 2px; }\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n  border: 0; }\n\n.table-striped tbody tr:nth-of-type(odd) {\n  background-color: rgba(0, 0, 0, 0.05); }\n\n.table-hover tbody tr:hover {\n  color: #212529;\n  background-color: rgba(0, 0, 0, 0.075); }\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n  background-color: #b8d8f4; }\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n  border-color: #7ab7eb; }\n\n.table-hover .table-primary:hover {\n  background-color: #a2ccf1; }\n  .table-hover .table-primary:hover > td,\n  .table-hover .table-primary:hover > th {\n    background-color: #a2ccf1; }\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n  background-color: #d6d8db; }\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n  border-color: #b3b7bb; }\n\n.table-hover .table-secondary:hover {\n  background-color: #c8cbcf; }\n  .table-hover .table-secondary:hover > td,\n  .table-hover .table-secondary:hover > th {\n    background-color: #c8cbcf; }\n\n.table-success,\n.table-success > th,\n.table-success > td {\n  background-color: #c3e6cb; }\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n  border-color: #8fd19e; }\n\n.table-hover .table-success:hover {\n  background-color: #b1dfbb; }\n  .table-hover .table-success:hover > td,\n  .table-hover .table-success:hover > th {\n    background-color: #b1dfbb; }\n\n.table-info,\n.table-info > th,\n.table-info > td {\n  background-color: #bee5eb; }\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n  border-color: #86cfda; }\n\n.table-hover .table-info:hover {\n  background-color: #abdde5; }\n  .table-hover .table-info:hover > td,\n  .table-hover .table-info:hover > th {\n    background-color: #abdde5; }\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n  background-color: #ffeeba; }\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n  border-color: #ffdf7e; }\n\n.table-hover .table-warning:hover {\n  background-color: #ffe8a1; }\n  .table-hover .table-warning:hover > td,\n  .table-hover .table-warning:hover > th {\n    background-color: #ffe8a1; }\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n  background-color: #ffcac7; }\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n  border-color: #ff9c96; }\n\n.table-hover .table-danger:hover {\n  background-color: #ffb2ae; }\n  .table-hover .table-danger:hover > td,\n  .table-hover .table-danger:hover > th {\n    background-color: #ffb2ae; }\n\n.table-light,\n.table-light > th,\n.table-light > td {\n  background-color: #fdfdfe; }\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n  border-color: #fbfcfc; }\n\n.table-hover .table-light:hover {\n  background-color: #ececf6; }\n  .table-hover .table-light:hover > td,\n  .table-hover .table-light:hover > th {\n    background-color: #ececf6; }\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n  background-color: #c6c8ca; }\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n  border-color: #95999c; }\n\n.table-hover .table-dark:hover {\n  background-color: #b9bbbe; }\n  .table-hover .table-dark:hover > td,\n  .table-hover .table-dark:hover > th {\n    background-color: #b9bbbe; }\n\n.table-active,\n.table-active > th,\n.table-active > td {\n  background-color: rgba(0, 0, 0, 0.075); }\n\n.table-hover .table-active:hover {\n  background-color: rgba(0, 0, 0, 0.075); }\n  .table-hover .table-active:hover > td,\n  .table-hover .table-active:hover > th {\n    background-color: rgba(0, 0, 0, 0.075); }\n\n.table .thead-dark th {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #454d55; }\n\n.table .thead-light th {\n  color: #495057;\n  background-color: #e9ecef;\n  border-color: #dee2e6; }\n\n.table-dark {\n  color: #fff;\n  background-color: #343a40; }\n  .table-dark th,\n  .table-dark td,\n  .table-dark thead th {\n    border-color: #454d55; }\n  .table-dark.table-bordered {\n    border: 0; }\n  .table-dark.table-striped tbody tr:nth-of-type(odd) {\n    background-color: rgba(255, 255, 255, 0.05); }\n  .table-dark.table-hover tbody tr:hover {\n    color: #fff;\n    background-color: rgba(255, 255, 255, 0.075); }\n\n@media (max-width: 575.98px) {\n  .table-responsive-sm {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch; }\n    .table-responsive-sm > .table-bordered {\n      border: 0; } }\n\n@media (max-width: 767.98px) {\n  .table-responsive-md {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch; }\n    .table-responsive-md > .table-bordered {\n      border: 0; } }\n\n@media (max-width: 991.98px) {\n  .table-responsive-lg {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch; }\n    .table-responsive-lg > .table-bordered {\n      border: 0; } }\n\n@media (max-width: 1199.98px) {\n  .table-responsive-xl {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch; }\n    .table-responsive-xl > .table-bordered {\n      border: 0; } }\n\n.table-responsive {\n  display: block;\n  width: 100%;\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch; }\n  .table-responsive > .table-bordered {\n    border: 0; }\n\n.form-control {\n  display: block;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control {\n      transition: none; } }\n  .form-control::-ms-expand {\n    background-color: transparent;\n    border: 0; }\n  .form-control:focus {\n    color: #495057;\n    background-color: #fff;\n    border-color: #5ab2ff;\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n  .form-control::-webkit-input-placeholder {\n    color: #6c757d;\n    opacity: 1; }\n  .form-control:-ms-input-placeholder {\n    color: #6c757d;\n    opacity: 1; }\n  .form-control::-ms-input-placeholder {\n    color: #6c757d;\n    opacity: 1; }\n  .form-control::placeholder {\n    color: #6c757d;\n    opacity: 1; }\n  .form-control:disabled, .form-control[readonly] {\n    background-color: #e9ecef;\n    opacity: 1; }\n\nselect.form-control:focus::-ms-value {\n  color: #495057;\n  background-color: #fff; }\n\n.form-control-file,\n.form-control-range {\n  display: block;\n  width: 100%; }\n\n.col-form-label {\n  padding-top: calc(0.375rem + 1px);\n  padding-bottom: calc(0.375rem + 1px);\n  margin-bottom: 0;\n  font-size: inherit;\n  line-height: 1.5; }\n\n.col-form-label-lg {\n  padding-top: calc(0.5rem + 1px);\n  padding-bottom: calc(0.5rem + 1px);\n  font-size: 1.25rem;\n  line-height: 1.5; }\n\n.col-form-label-sm {\n  padding-top: calc(0.25rem + 1px);\n  padding-bottom: calc(0.25rem + 1px);\n  font-size: 0.875rem;\n  line-height: 1.5; }\n\n.form-control-plaintext {\n  display: block;\n  width: 100%;\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\n  margin-bottom: 0;\n  line-height: 1.5;\n  color: #212529;\n  background-color: transparent;\n  border: solid transparent;\n  border-width: 1px 0; }\n  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n    padding-right: 0;\n    padding-left: 0; }\n\n.form-control-sm {\n  height: calc(1.5em + 0.5rem + 2px);\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem; }\n\n.form-control-lg {\n  height: calc(1.5em + 1rem + 2px);\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem; }\n\nselect.form-control[size], select.form-control[multiple] {\n  height: auto; }\n\ntextarea.form-control {\n  height: auto; }\n\n.form-group {\n  margin-bottom: 1rem; }\n\n.form-text {\n  display: block;\n  margin-top: 0.25rem; }\n\n.form-row {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  margin-right: -5px;\n  margin-left: -5px; }\n  .form-row > .col,\n  .form-row > [class*="col-"] {\n    padding-right: 5px;\n    padding-left: 5px; }\n\n.form-check {\n  position: relative;\n  display: block;\n  padding-left: 1.25rem; }\n\n.form-check-input {\n  position: absolute;\n  margin-top: 0.3rem;\n  margin-left: -1.25rem; }\n  .form-check-input:disabled ~ .form-check-label {\n    color: #6c757d; }\n\n.form-check-label {\n  margin-bottom: 0; }\n\n.form-check-inline {\n  display: -webkit-inline-flex;\n  display: inline-flex;\n  -webkit-align-items: center;\n          align-items: center;\n  padding-left: 0;\n  margin-right: 0.75rem; }\n  .form-check-inline .form-check-input {\n    position: static;\n    margin-top: 0;\n    margin-right: 0.3125rem;\n    margin-left: 0; }\n\n.valid-feedback {\n  display: none;\n  width: 100%;\n  margin-top: 0.25rem;\n  font-size: 80%;\n  color: #28a745; }\n\n.valid-tooltip {\n  position: absolute;\n  top: 100%;\n  z-index: 5;\n  display: none;\n  max-width: 100%;\n  padding: 0.25rem 0.5rem;\n  margin-top: .1rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  color: #fff;\n  background-color: rgba(40, 167, 69, 0.9);\n  border-radius: 0.25rem; }\n\n.was-validated .form-control:valid, .form-control.is-valid {\n  border-color: #28a745;\n  padding-right: calc(1.5em + 0.75rem);\n  background-image: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e");\n  background-repeat: no-repeat;\n  background-position: center right calc(0.375em + 0.1875rem);\n  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n    border-color: #28a745;\n    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\n  .was-validated .form-control:valid ~ .valid-feedback,\n  .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n  .form-control.is-valid ~ .valid-tooltip {\n    display: block; }\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n  padding-right: calc(1.5em + 0.75rem);\n  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n  border-color: #28a745;\n  padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n  background: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n  .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n    border-color: #28a745;\n    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\n  .was-validated .custom-select:valid ~ .valid-feedback,\n  .was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\n  .custom-select.is-valid ~ .valid-tooltip {\n    display: block; }\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n  display: block; }\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n  color: #28a745; }\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n  display: block; }\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n  color: #28a745; }\n  .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n    border-color: #28a745; }\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n  display: block; }\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n  border-color: #34ce57;\n  background-color: #34ce57; }\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #28a745; }\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n  border-color: #28a745; }\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n  display: block; }\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n  border-color: #28a745;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\n\n.invalid-feedback {\n  display: none;\n  width: 100%;\n  margin-top: 0.25rem;\n  font-size: 80%;\n  color: #ff4136; }\n\n.invalid-tooltip {\n  position: absolute;\n  top: 100%;\n  z-index: 5;\n  display: none;\n  max-width: 100%;\n  padding: 0.25rem 0.5rem;\n  margin-top: .1rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  color: #fff;\n  background-color: rgba(255, 65, 54, 0.9);\n  border-radius: 0.25rem; }\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n  border-color: #ff4136;\n  padding-right: calc(1.5em + 0.75rem);\n  background-image: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23ff4136\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23ff4136\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E");\n  background-repeat: no-repeat;\n  background-position: center right calc(0.375em + 0.1875rem);\n  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n    border-color: #ff4136;\n    box-shadow: 0 0 0 0.2rem rgba(255, 65, 54, 0.25); }\n  .was-validated .form-control:invalid ~ .invalid-feedback,\n  .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n  .form-control.is-invalid ~ .invalid-tooltip {\n    display: block; }\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n  padding-right: calc(1.5em + 0.75rem);\n  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n  border-color: #ff4136;\n  padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n  background: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23ff4136\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23ff4136\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n  .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n    border-color: #ff4136;\n    box-shadow: 0 0 0 0.2rem rgba(255, 65, 54, 0.25); }\n  .was-validated .custom-select:invalid ~ .invalid-feedback,\n  .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\n  .custom-select.is-invalid ~ .invalid-tooltip {\n    display: block; }\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n  display: block; }\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n  color: #ff4136; }\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n  display: block; }\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n  color: #ff4136; }\n  .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n    border-color: #ff4136; }\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n  display: block; }\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n  border-color: #ff7169;\n  background-color: #ff7169; }\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(255, 65, 54, 0.25); }\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #ff4136; }\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n  border-color: #ff4136; }\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n  display: block; }\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n  border-color: #ff4136;\n  box-shadow: 0 0 0 0.2rem rgba(255, 65, 54, 0.25); }\n\n.form-inline {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-flow: row wrap;\n          flex-flow: row wrap;\n  -webkit-align-items: center;\n          align-items: center; }\n  .form-inline .form-check {\n    width: 100%; }\n  @media (min-width: 576px) {\n    .form-inline label {\n      display: -webkit-flex;\n      display: flex;\n      -webkit-align-items: center;\n              align-items: center;\n      -webkit-justify-content: center;\n              justify-content: center;\n      margin-bottom: 0; }\n    .form-inline .form-group {\n      display: -webkit-flex;\n      display: flex;\n      -webkit-flex: 0 0 auto;\n              flex: 0 0 auto;\n      -webkit-flex-flow: row wrap;\n              flex-flow: row wrap;\n      -webkit-align-items: center;\n              align-items: center;\n      margin-bottom: 0; }\n    .form-inline .form-control {\n      display: inline-block;\n      width: auto;\n      vertical-align: middle; }\n    .form-inline .form-control-plaintext {\n      display: inline-block; }\n    .form-inline .input-group,\n    .form-inline .custom-select {\n      width: auto; }\n    .form-inline .form-check {\n      display: -webkit-flex;\n      display: flex;\n      -webkit-align-items: center;\n              align-items: center;\n      -webkit-justify-content: center;\n              justify-content: center;\n      width: auto;\n      padding-left: 0; }\n    .form-inline .form-check-input {\n      position: relative;\n      -webkit-flex-shrink: 0;\n              flex-shrink: 0;\n      margin-top: 0;\n      margin-right: 0.25rem;\n      margin-left: 0; }\n    .form-inline .custom-control {\n      -webkit-align-items: center;\n              align-items: center;\n      -webkit-justify-content: center;\n              justify-content: center; }\n    .form-inline .custom-control-label {\n      margin-bottom: 0; } }\n\n.btn {\n  display: inline-block;\n  font-weight: 400;\n  color: #212529;\n  text-align: center;\n  vertical-align: middle;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  background-color: transparent;\n  border: 1px solid transparent;\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  line-height: 1.5;\n  border-radius: 0.25rem;\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n  @media (prefers-reduced-motion: reduce) {\n    .btn {\n      transition: none; } }\n  .btn:hover {\n    color: #212529;\n    text-decoration: none; }\n  .btn:focus, .btn.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n  .btn.disabled, .btn:disabled {\n    opacity: 0.65; }\n\na.btn.disabled,\nfieldset:disabled a.btn {\n  pointer-events: none; }\n\n.btn-primary {\n  color: #fff;\n  background-color: #0074d9;\n  border-color: #0074d9; }\n  .btn-primary:hover {\n    color: #fff;\n    background-color: #0060b3;\n    border-color: #0059a6; }\n  .btn-primary:focus, .btn-primary.focus {\n    box-shadow: 0 0 0 0.2rem rgba(38, 137, 223, 0.5); }\n  .btn-primary.disabled, .btn-primary:disabled {\n    color: #fff;\n    background-color: #0074d9;\n    border-color: #0074d9; }\n  .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n  .show > .btn-primary.dropdown-toggle {\n    color: #fff;\n    background-color: #0059a6;\n    border-color: #005299; }\n    .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-primary.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(38, 137, 223, 0.5); }\n\n.btn-secondary {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d; }\n  .btn-secondary:hover {\n    color: #fff;\n    background-color: #5a6268;\n    border-color: #545b62; }\n  .btn-secondary:focus, .btn-secondary.focus {\n    box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }\n  .btn-secondary.disabled, .btn-secondary:disabled {\n    color: #fff;\n    background-color: #6c757d;\n    border-color: #6c757d; }\n  .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n  .show > .btn-secondary.dropdown-toggle {\n    color: #fff;\n    background-color: #545b62;\n    border-color: #4e555b; }\n    .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-secondary.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }\n\n.btn-success {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745; }\n  .btn-success:hover {\n    color: #fff;\n    background-color: #218838;\n    border-color: #1e7e34; }\n  .btn-success:focus, .btn-success.focus {\n    box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }\n  .btn-success.disabled, .btn-success:disabled {\n    color: #fff;\n    background-color: #28a745;\n    border-color: #28a745; }\n  .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n  .show > .btn-success.dropdown-toggle {\n    color: #fff;\n    background-color: #1e7e34;\n    border-color: #1c7430; }\n    .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-success.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }\n\n.btn-info {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8; }\n  .btn-info:hover {\n    color: #fff;\n    background-color: #138496;\n    border-color: #117a8b; }\n  .btn-info:focus, .btn-info.focus {\n    box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }\n  .btn-info.disabled, .btn-info:disabled {\n    color: #fff;\n    background-color: #17a2b8;\n    border-color: #17a2b8; }\n  .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n  .show > .btn-info.dropdown-toggle {\n    color: #fff;\n    background-color: #117a8b;\n    border-color: #10707f; }\n    .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-info.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }\n\n.btn-warning {\n  color: #212529;\n  background-color: #ffc107;\n  border-color: #ffc107; }\n  .btn-warning:hover {\n    color: #212529;\n    background-color: #e0a800;\n    border-color: #d39e00; }\n  .btn-warning:focus, .btn-warning.focus {\n    box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }\n  .btn-warning.disabled, .btn-warning:disabled {\n    color: #212529;\n    background-color: #ffc107;\n    border-color: #ffc107; }\n  .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n  .show > .btn-warning.dropdown-toggle {\n    color: #212529;\n    background-color: #d39e00;\n    border-color: #c69500; }\n    .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-warning.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }\n\n.btn-danger {\n  color: #fff;\n  background-color: #ff4136;\n  border-color: #ff4136; }\n  .btn-danger:hover {\n    color: #fff;\n    background-color: #ff1d10;\n    border-color: #ff1103; }\n  .btn-danger:focus, .btn-danger.focus {\n    box-shadow: 0 0 0 0.2rem rgba(255, 94, 84, 0.5); }\n  .btn-danger.disabled, .btn-danger:disabled {\n    color: #fff;\n    background-color: #ff4136;\n    border-color: #ff4136; }\n  .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n  .show > .btn-danger.dropdown-toggle {\n    color: #fff;\n    background-color: #ff1103;\n    border-color: #f50d00; }\n    .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-danger.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(255, 94, 84, 0.5); }\n\n.btn-light {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa; }\n  .btn-light:hover {\n    color: #212529;\n    background-color: #e2e6ea;\n    border-color: #dae0e5; }\n  .btn-light:focus, .btn-light.focus {\n    box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\n  .btn-light.disabled, .btn-light:disabled {\n    color: #212529;\n    background-color: #f8f9fa;\n    border-color: #f8f9fa; }\n  .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n  .show > .btn-light.dropdown-toggle {\n    color: #212529;\n    background-color: #dae0e5;\n    border-color: #d3d9df; }\n    .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-light.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\n\n.btn-dark {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40; }\n  .btn-dark:hover {\n    color: #fff;\n    background-color: #23272b;\n    border-color: #1d2124; }\n  .btn-dark:focus, .btn-dark.focus {\n    box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\n  .btn-dark.disabled, .btn-dark:disabled {\n    color: #fff;\n    background-color: #343a40;\n    border-color: #343a40; }\n  .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n  .show > .btn-dark.dropdown-toggle {\n    color: #fff;\n    background-color: #1d2124;\n    border-color: #171a1d; }\n    .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-dark.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\n\n.btn-outline-primary {\n  color: #0074d9;\n  border-color: #0074d9; }\n  .btn-outline-primary:hover {\n    color: #fff;\n    background-color: #0074d9;\n    border-color: #0074d9; }\n  .btn-outline-primary:focus, .btn-outline-primary.focus {\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.5); }\n  .btn-outline-primary.disabled, .btn-outline-primary:disabled {\n    color: #0074d9;\n    background-color: transparent; }\n  .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-primary.dropdown-toggle {\n    color: #fff;\n    background-color: #0074d9;\n    border-color: #0074d9; }\n    .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-primary.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.5); }\n\n.btn-outline-secondary {\n  color: #6c757d;\n  border-color: #6c757d; }\n  .btn-outline-secondary:hover {\n    color: #fff;\n    background-color: #6c757d;\n    border-color: #6c757d; }\n  .btn-outline-secondary:focus, .btn-outline-secondary.focus {\n    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }\n  .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n    color: #6c757d;\n    background-color: transparent; }\n  .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-secondary.dropdown-toggle {\n    color: #fff;\n    background-color: #6c757d;\n    border-color: #6c757d; }\n    .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-secondary.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }\n\n.btn-outline-success {\n  color: #28a745;\n  border-color: #28a745; }\n  .btn-outline-success:hover {\n    color: #fff;\n    background-color: #28a745;\n    border-color: #28a745; }\n  .btn-outline-success:focus, .btn-outline-success.focus {\n    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\n  .btn-outline-success.disabled, .btn-outline-success:disabled {\n    color: #28a745;\n    background-color: transparent; }\n  .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-success.dropdown-toggle {\n    color: #fff;\n    background-color: #28a745;\n    border-color: #28a745; }\n    .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-success.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\n\n.btn-outline-info {\n  color: #17a2b8;\n  border-color: #17a2b8; }\n  .btn-outline-info:hover {\n    color: #fff;\n    background-color: #17a2b8;\n    border-color: #17a2b8; }\n  .btn-outline-info:focus, .btn-outline-info.focus {\n    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\n  .btn-outline-info.disabled, .btn-outline-info:disabled {\n    color: #17a2b8;\n    background-color: transparent; }\n  .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-info.dropdown-toggle {\n    color: #fff;\n    background-color: #17a2b8;\n    border-color: #17a2b8; }\n    .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-info.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\n\n.btn-outline-warning {\n  color: #ffc107;\n  border-color: #ffc107; }\n  .btn-outline-warning:hover {\n    color: #212529;\n    background-color: #ffc107;\n    border-color: #ffc107; }\n  .btn-outline-warning:focus, .btn-outline-warning.focus {\n    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }\n  .btn-outline-warning.disabled, .btn-outline-warning:disabled {\n    color: #ffc107;\n    background-color: transparent; }\n  .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-warning.dropdown-toggle {\n    color: #212529;\n    background-color: #ffc107;\n    border-color: #ffc107; }\n    .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-warning.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }\n\n.btn-outline-danger {\n  color: #ff4136;\n  border-color: #ff4136; }\n  .btn-outline-danger:hover {\n    color: #fff;\n    background-color: #ff4136;\n    border-color: #ff4136; }\n  .btn-outline-danger:focus, .btn-outline-danger.focus {\n    box-shadow: 0 0 0 0.2rem rgba(255, 65, 54, 0.5); }\n  .btn-outline-danger.disabled, .btn-outline-danger:disabled {\n    color: #ff4136;\n    background-color: transparent; }\n  .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-danger.dropdown-toggle {\n    color: #fff;\n    background-color: #ff4136;\n    border-color: #ff4136; }\n    .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-danger.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(255, 65, 54, 0.5); }\n\n.btn-outline-light {\n  color: #f8f9fa;\n  border-color: #f8f9fa; }\n  .btn-outline-light:hover {\n    color: #212529;\n    background-color: #f8f9fa;\n    border-color: #f8f9fa; }\n  .btn-outline-light:focus, .btn-outline-light.focus {\n    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n  .btn-outline-light.disabled, .btn-outline-light:disabled {\n    color: #f8f9fa;\n    background-color: transparent; }\n  .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-light.dropdown-toggle {\n    color: #212529;\n    background-color: #f8f9fa;\n    border-color: #f8f9fa; }\n    .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-light.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n\n.btn-outline-dark {\n  color: #343a40;\n  border-color: #343a40; }\n  .btn-outline-dark:hover {\n    color: #fff;\n    background-color: #343a40;\n    border-color: #343a40; }\n  .btn-outline-dark:focus, .btn-outline-dark.focus {\n    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n  .btn-outline-dark.disabled, .btn-outline-dark:disabled {\n    color: #343a40;\n    background-color: transparent; }\n  .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-dark.dropdown-toggle {\n    color: #fff;\n    background-color: #343a40;\n    border-color: #343a40; }\n    .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-dark.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n\n.btn-link {\n  font-weight: 400;\n  color: #0074d9;\n  text-decoration: none; }\n  .btn-link:hover {\n    color: #004b8d;\n    text-decoration: underline; }\n  .btn-link:focus, .btn-link.focus {\n    text-decoration: underline;\n    box-shadow: none; }\n  .btn-link:disabled, .btn-link.disabled {\n    color: #6c757d;\n    pointer-events: none; }\n\n.btn-lg, .btn-group-lg > .btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem; }\n\n.btn-sm, .btn-group-sm > .btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem; }\n\n.btn-block {\n  display: block;\n  width: 100%; }\n  .btn-block + .btn-block {\n    margin-top: 0.5rem; }\n\ninput[type="submit"].btn-block,\ninput[type="reset"].btn-block,\ninput[type="button"].btn-block {\n  width: 100%; }\n\n.fade {\n  transition: opacity 0.15s linear; }\n  @media (prefers-reduced-motion: reduce) {\n    .fade {\n      transition: none; } }\n  .fade:not(.show) {\n    opacity: 0; }\n\n.collapse:not(.show) {\n  display: none; }\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease; }\n  @media (prefers-reduced-motion: reduce) {\n    .collapsing {\n      transition: none; } }\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n  position: relative; }\n\n.dropdown-toggle {\n  white-space: nowrap; }\n  .dropdown-toggle::after {\n    display: inline-block;\n    margin-left: 0.255em;\n    vertical-align: 0.255em;\n    content: "";\n    border-top: 0.3em solid;\n    border-right: 0.3em solid transparent;\n    border-bottom: 0;\n    border-left: 0.3em solid transparent; }\n  .dropdown-toggle:empty::after {\n    margin-left: 0; }\n\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 10rem;\n  padding: 0.5rem 0;\n  margin: 0.125rem 0 0;\n  font-size: 1rem;\n  color: #212529;\n  text-align: left;\n  list-style: none;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 0.25rem; }\n\n.dropdown-menu-left {\n  right: auto;\n  left: 0; }\n\n.dropdown-menu-right {\n  right: 0;\n  left: auto; }\n\n@media (min-width: 576px) {\n  .dropdown-menu-sm-left {\n    right: auto;\n    left: 0; }\n  .dropdown-menu-sm-right {\n    right: 0;\n    left: auto; } }\n\n@media (min-width: 768px) {\n  .dropdown-menu-md-left {\n    right: auto;\n    left: 0; }\n  .dropdown-menu-md-right {\n    right: 0;\n    left: auto; } }\n\n@media (min-width: 992px) {\n  .dropdown-menu-lg-left {\n    right: auto;\n    left: 0; }\n  .dropdown-menu-lg-right {\n    right: 0;\n    left: auto; } }\n\n@media (min-width: 1200px) {\n  .dropdown-menu-xl-left {\n    right: auto;\n    left: 0; }\n  .dropdown-menu-xl-right {\n    right: 0;\n    left: auto; } }\n\n.dropup .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-top: 0;\n  margin-bottom: 0.125rem; }\n\n.dropup .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: "";\n  border-top: 0;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0.3em solid;\n  border-left: 0.3em solid transparent; }\n\n.dropup .dropdown-toggle:empty::after {\n  margin-left: 0; }\n\n.dropright .dropdown-menu {\n  top: 0;\n  right: auto;\n  left: 100%;\n  margin-top: 0;\n  margin-left: 0.125rem; }\n\n.dropright .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: "";\n  border-top: 0.3em solid transparent;\n  border-right: 0;\n  border-bottom: 0.3em solid transparent;\n  border-left: 0.3em solid; }\n\n.dropright .dropdown-toggle:empty::after {\n  margin-left: 0; }\n\n.dropright .dropdown-toggle::after {\n  vertical-align: 0; }\n\n.dropleft .dropdown-menu {\n  top: 0;\n  right: 100%;\n  left: auto;\n  margin-top: 0;\n  margin-right: 0.125rem; }\n\n.dropleft .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: ""; }\n\n.dropleft .dropdown-toggle::after {\n  display: none; }\n\n.dropleft .dropdown-toggle::before {\n  display: inline-block;\n  margin-right: 0.255em;\n  vertical-align: 0.255em;\n  content: "";\n  border-top: 0.3em solid transparent;\n  border-right: 0.3em solid;\n  border-bottom: 0.3em solid transparent; }\n\n.dropleft .dropdown-toggle:empty::after {\n  margin-left: 0; }\n\n.dropleft .dropdown-toggle::before {\n  vertical-align: 0; }\n\n.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {\n  right: auto;\n  bottom: auto; }\n\n.dropdown-divider {\n  height: 0;\n  margin: 0.5rem 0;\n  overflow: hidden;\n  border-top: 1px solid #e9ecef; }\n\n.dropdown-item {\n  display: block;\n  width: 100%;\n  padding: 0.25rem 1.5rem;\n  clear: both;\n  font-weight: 400;\n  color: #212529;\n  text-align: inherit;\n  white-space: nowrap;\n  background-color: transparent;\n  border: 0; }\n  .dropdown-item:hover, .dropdown-item:focus {\n    color: #16181b;\n    text-decoration: none;\n    background-color: #f8f9fa; }\n  .dropdown-item.active, .dropdown-item:active {\n    color: #fff;\n    text-decoration: none;\n    background-color: #0074d9; }\n  .dropdown-item.disabled, .dropdown-item:disabled {\n    color: #6c757d;\n    pointer-events: none;\n    background-color: transparent; }\n\n.dropdown-menu.show {\n  display: block; }\n\n.dropdown-header {\n  display: block;\n  padding: 0.5rem 1.5rem;\n  margin-bottom: 0;\n  font-size: 0.875rem;\n  color: #6c757d;\n  white-space: nowrap; }\n\n.dropdown-item-text {\n  display: block;\n  padding: 0.25rem 1.5rem;\n  color: #212529; }\n\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: -webkit-inline-flex;\n  display: inline-flex;\n  vertical-align: middle; }\n  .btn-group > .btn,\n  .btn-group-vertical > .btn {\n    position: relative;\n    -webkit-flex: 1 1 auto;\n            flex: 1 1 auto; }\n    .btn-group > .btn:hover,\n    .btn-group-vertical > .btn:hover {\n      z-index: 1; }\n    .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n    .btn-group-vertical > .btn:focus,\n    .btn-group-vertical > .btn:active,\n    .btn-group-vertical > .btn.active {\n      z-index: 1; }\n\n.btn-toolbar {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  -webkit-justify-content: flex-start;\n          justify-content: flex-start; }\n  .btn-toolbar .input-group {\n    width: auto; }\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n  margin-left: -1px; }\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0; }\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0; }\n\n.dropdown-toggle-split {\n  padding-right: 0.5625rem;\n  padding-left: 0.5625rem; }\n  .dropdown-toggle-split::after,\n  .dropup .dropdown-toggle-split::after,\n  .dropright .dropdown-toggle-split::after {\n    margin-left: 0; }\n  .dropleft .dropdown-toggle-split::before {\n    margin-right: 0; }\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n  padding-right: 0.375rem;\n  padding-left: 0.375rem; }\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n  padding-right: 0.75rem;\n  padding-left: 0.75rem; }\n\n.btn-group-vertical {\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  -webkit-align-items: flex-start;\n          align-items: flex-start;\n  -webkit-justify-content: center;\n          justify-content: center; }\n  .btn-group-vertical > .btn,\n  .btn-group-vertical > .btn-group {\n    width: 100%; }\n  .btn-group-vertical > .btn:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) {\n    margin-top: -1px; }\n  .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n  .btn-group-vertical > .btn-group:not(:last-child) > .btn {\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: 0; }\n  .btn-group-vertical > .btn:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) > .btn {\n    border-top-left-radius: 0;\n    border-top-right-radius: 0; }\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n  margin-bottom: 0; }\n  .btn-group-toggle > .btn input[type="radio"],\n  .btn-group-toggle > .btn input[type="checkbox"],\n  .btn-group-toggle > .btn-group > .btn input[type="radio"],\n  .btn-group-toggle > .btn-group > .btn input[type="checkbox"] {\n    position: absolute;\n    clip: rect(0, 0, 0, 0);\n    pointer-events: none; }\n\n.input-group {\n  position: relative;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  -webkit-align-items: stretch;\n          align-items: stretch;\n  width: 100%; }\n  .input-group > .form-control,\n  .input-group > .form-control-plaintext,\n  .input-group > .custom-select,\n  .input-group > .custom-file {\n    position: relative;\n    -webkit-flex: 1 1 auto;\n            flex: 1 1 auto;\n    width: 1%;\n    margin-bottom: 0; }\n    .input-group > .form-control + .form-control,\n    .input-group > .form-control + .custom-select,\n    .input-group > .form-control + .custom-file,\n    .input-group > .form-control-plaintext + .form-control,\n    .input-group > .form-control-plaintext + .custom-select,\n    .input-group > .form-control-plaintext + .custom-file,\n    .input-group > .custom-select + .form-control,\n    .input-group > .custom-select + .custom-select,\n    .input-group > .custom-select + .custom-file,\n    .input-group > .custom-file + .form-control,\n    .input-group > .custom-file + .custom-select,\n    .input-group > .custom-file + .custom-file {\n      margin-left: -1px; }\n  .input-group > .form-control:focus,\n  .input-group > .custom-select:focus,\n  .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n    z-index: 3; }\n  .input-group > .custom-file .custom-file-input:focus {\n    z-index: 4; }\n  .input-group > .form-control:not(:last-child),\n  .input-group > .custom-select:not(:last-child) {\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0; }\n  .input-group > .form-control:not(:first-child),\n  .input-group > .custom-select:not(:first-child) {\n    border-top-left-radius: 0;\n    border-bottom-left-radius: 0; }\n  .input-group > .custom-file {\n    display: -webkit-flex;\n    display: flex;\n    -webkit-align-items: center;\n            align-items: center; }\n    .input-group > .custom-file:not(:last-child) .custom-file-label,\n    .input-group > .custom-file:not(:last-child) .custom-file-label::after {\n      border-top-right-radius: 0;\n      border-bottom-right-radius: 0; }\n    .input-group > .custom-file:not(:first-child) .custom-file-label {\n      border-top-left-radius: 0;\n      border-bottom-left-radius: 0; }\n\n.input-group-prepend,\n.input-group-append {\n  display: -webkit-flex;\n  display: flex; }\n  .input-group-prepend .btn,\n  .input-group-append .btn {\n    position: relative;\n    z-index: 2; }\n    .input-group-prepend .btn:focus,\n    .input-group-append .btn:focus {\n      z-index: 3; }\n  .input-group-prepend .btn + .btn,\n  .input-group-prepend .btn + .input-group-text,\n  .input-group-prepend .input-group-text + .input-group-text,\n  .input-group-prepend .input-group-text + .btn,\n  .input-group-append .btn + .btn,\n  .input-group-append .btn + .input-group-text,\n  .input-group-append .input-group-text + .input-group-text,\n  .input-group-append .input-group-text + .btn {\n    margin-left: -1px; }\n\n.input-group-prepend {\n  margin-right: -1px; }\n\n.input-group-append {\n  margin-left: -1px; }\n\n.input-group-text {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: center;\n          align-items: center;\n  padding: 0.375rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  text-align: center;\n  white-space: nowrap;\n  background-color: #e9ecef;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem; }\n  .input-group-text input[type="radio"],\n  .input-group-text input[type="checkbox"] {\n    margin-top: 0; }\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n  height: calc(1.5em + 1rem + 2px); }\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem; }\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n  height: calc(1.5em + 0.5rem + 2px); }\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem; }\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n  padding-right: 1.75rem; }\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0; }\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0; }\n\n.custom-control {\n  position: relative;\n  display: block;\n  min-height: 1.5rem;\n  padding-left: 1.5rem; }\n\n.custom-control-inline {\n  display: -webkit-inline-flex;\n  display: inline-flex;\n  margin-right: 1rem; }\n\n.custom-control-input {\n  position: absolute;\n  z-index: -1;\n  opacity: 0; }\n  .custom-control-input:checked ~ .custom-control-label::before {\n    color: #fff;\n    border-color: #0074d9;\n    background-color: #0074d9; }\n  .custom-control-input:focus ~ .custom-control-label::before {\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n  .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n    border-color: #5ab2ff; }\n  .custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n    color: #fff;\n    background-color: #8dcaff;\n    border-color: #8dcaff; }\n  .custom-control-input:disabled ~ .custom-control-label {\n    color: #6c757d; }\n    .custom-control-input:disabled ~ .custom-control-label::before {\n      background-color: #e9ecef; }\n\n.custom-control-label {\n  position: relative;\n  margin-bottom: 0;\n  vertical-align: top; }\n  .custom-control-label::before {\n    position: absolute;\n    top: 0.25rem;\n    left: -1.5rem;\n    display: block;\n    width: 1rem;\n    height: 1rem;\n    pointer-events: none;\n    content: "";\n    background-color: #fff;\n    border: #adb5bd solid 1px; }\n  .custom-control-label::after {\n    position: absolute;\n    top: 0.25rem;\n    left: -1.5rem;\n    display: block;\n    width: 1rem;\n    height: 1rem;\n    content: "";\n    background: no-repeat 50% / 50% 50%; }\n\n.custom-checkbox .custom-control-label::before {\n  border-radius: 0.25rem; }\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n  background-image: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e"); }\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n  border-color: #0074d9;\n  background-color: #0074d9; }\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n  background-image: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 4\'%3e%3cpath stroke=\'%23fff\' d=\'M0 2h4\'/%3e%3c/svg%3e"); }\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 116, 217, 0.5); }\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n  background-color: rgba(0, 116, 217, 0.5); }\n\n.custom-radio .custom-control-label::before {\n  border-radius: 50%; }\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n  background-image: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'-4 -4 8 8\'%3e%3ccircle r=\'3\' fill=\'%23fff\'/%3e%3c/svg%3e"); }\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 116, 217, 0.5); }\n\n.custom-switch {\n  padding-left: 2.25rem; }\n  .custom-switch .custom-control-label::before {\n    left: -2.25rem;\n    width: 1.75rem;\n    pointer-events: all;\n    border-radius: 0.5rem; }\n  .custom-switch .custom-control-label::after {\n    top: calc(0.25rem + 2px);\n    left: calc(-2.25rem + 2px);\n    width: calc(1rem - 4px);\n    height: calc(1rem - 4px);\n    background-color: #adb5bd;\n    border-radius: 0.5rem;\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; }\n    @media (prefers-reduced-motion: reduce) {\n      .custom-switch .custom-control-label::after {\n        transition: none; } }\n  .custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n    background-color: #fff;\n    -webkit-transform: translateX(0.75rem);\n            transform: translateX(0.75rem); }\n  .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n    background-color: rgba(0, 116, 217, 0.5); }\n\n.custom-select {\n  display: inline-block;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  vertical-align: middle;\n  background: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none; }\n  .custom-select:focus {\n    border-color: #5ab2ff;\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n    .custom-select:focus::-ms-value {\n      color: #495057;\n      background-color: #fff; }\n  .custom-select[multiple], .custom-select[size]:not([size="1"]) {\n    height: auto;\n    padding-right: 0.75rem;\n    background-image: none; }\n  .custom-select:disabled {\n    color: #6c757d;\n    background-color: #e9ecef; }\n  .custom-select::-ms-expand {\n    display: none; }\n\n.custom-select-sm {\n  height: calc(1.5em + 0.5rem + 2px);\n  padding-top: 0.25rem;\n  padding-bottom: 0.25rem;\n  padding-left: 0.5rem;\n  font-size: 0.875rem; }\n\n.custom-select-lg {\n  height: calc(1.5em + 1rem + 2px);\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n  padding-left: 1rem;\n  font-size: 1.25rem; }\n\n.custom-file {\n  position: relative;\n  display: inline-block;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  margin-bottom: 0; }\n\n.custom-file-input {\n  position: relative;\n  z-index: 2;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  margin: 0;\n  opacity: 0; }\n  .custom-file-input:focus ~ .custom-file-label {\n    border-color: #5ab2ff;\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n  .custom-file-input:disabled ~ .custom-file-label {\n    background-color: #e9ecef; }\n  .custom-file-input:lang(en) ~ .custom-file-label::after {\n    content: "Browse"; }\n  .custom-file-input ~ .custom-file-label[data-browse]::after {\n    content: attr(data-browse); }\n\n.custom-file-label {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 0.75rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem; }\n  .custom-file-label::after {\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    z-index: 3;\n    display: block;\n    height: calc(1.5em + 0.75rem);\n    padding: 0.375rem 0.75rem;\n    line-height: 1.5;\n    color: #495057;\n    content: "Browse";\n    background-color: #e9ecef;\n    border-left: inherit;\n    border-radius: 0 0.25rem 0.25rem 0; }\n\n.custom-range {\n  width: 100%;\n  height: calc(1rem + 0.4rem);\n  padding: 0;\n  background-color: transparent;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none; }\n  .custom-range:focus {\n    outline: none; }\n    .custom-range:focus::-webkit-slider-thumb {\n      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n    .custom-range:focus::-moz-range-thumb {\n      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n    .custom-range:focus::-ms-thumb {\n      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n  .custom-range::-moz-focus-outer {\n    border: 0; }\n  .custom-range::-webkit-slider-thumb {\n    width: 1rem;\n    height: 1rem;\n    margin-top: -0.25rem;\n    background-color: #0074d9;\n    border: 0;\n    border-radius: 1rem;\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n    -webkit-appearance: none;\n            appearance: none; }\n    @media (prefers-reduced-motion: reduce) {\n      .custom-range::-webkit-slider-thumb {\n        transition: none; } }\n    .custom-range::-webkit-slider-thumb:active {\n      background-color: #8dcaff; }\n  .custom-range::-webkit-slider-runnable-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: #dee2e6;\n    border-color: transparent;\n    border-radius: 1rem; }\n  .custom-range::-moz-range-thumb {\n    width: 1rem;\n    height: 1rem;\n    background-color: #0074d9;\n    border: 0;\n    border-radius: 1rem;\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n    -moz-appearance: none;\n         appearance: none; }\n    @media (prefers-reduced-motion: reduce) {\n      .custom-range::-moz-range-thumb {\n        transition: none; } }\n    .custom-range::-moz-range-thumb:active {\n      background-color: #8dcaff; }\n  .custom-range::-moz-range-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: #dee2e6;\n    border-color: transparent;\n    border-radius: 1rem; }\n  .custom-range::-ms-thumb {\n    width: 1rem;\n    height: 1rem;\n    margin-top: 0;\n    margin-right: 0.2rem;\n    margin-left: 0.2rem;\n    background-color: #0074d9;\n    border: 0;\n    border-radius: 1rem;\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n    appearance: none; }\n    @media (prefers-reduced-motion: reduce) {\n      .custom-range::-ms-thumb {\n        transition: none; } }\n    .custom-range::-ms-thumb:active {\n      background-color: #8dcaff; }\n  .custom-range::-ms-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: transparent;\n    border-color: transparent;\n    border-width: 0.5rem; }\n  .custom-range::-ms-fill-lower {\n    background-color: #dee2e6;\n    border-radius: 1rem; }\n  .custom-range::-ms-fill-upper {\n    margin-right: 15px;\n    background-color: #dee2e6;\n    border-radius: 1rem; }\n  .custom-range:disabled::-webkit-slider-thumb {\n    background-color: #adb5bd; }\n  .custom-range:disabled::-webkit-slider-runnable-track {\n    cursor: default; }\n  .custom-range:disabled::-moz-range-thumb {\n    background-color: #adb5bd; }\n  .custom-range:disabled::-moz-range-track {\n    cursor: default; }\n  .custom-range:disabled::-ms-thumb {\n    background-color: #adb5bd; }\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n  @media (prefers-reduced-motion: reduce) {\n    .custom-control-label::before,\n    .custom-file-label,\n    .custom-select {\n      transition: none; } }\n\n.nav {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none; }\n\n.nav-link {\n  display: block;\n  padding: 0.5rem 1rem; }\n  .nav-link:hover, .nav-link:focus {\n    text-decoration: none; }\n  .nav-link.disabled {\n    color: #6c757d;\n    pointer-events: none;\n    cursor: default; }\n\n.nav-tabs {\n  border-bottom: 1px solid #dee2e6; }\n  .nav-tabs .nav-item {\n    margin-bottom: -1px; }\n  .nav-tabs .nav-link {\n    border: 1px solid transparent;\n    border-top-left-radius: 0.25rem;\n    border-top-right-radius: 0.25rem; }\n    .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n      border-color: #e9ecef #e9ecef #dee2e6; }\n    .nav-tabs .nav-link.disabled {\n      color: #6c757d;\n      background-color: transparent;\n      border-color: transparent; }\n  .nav-tabs .nav-link.active,\n  .nav-tabs .nav-item.show .nav-link {\n    color: #495057;\n    background-color: #fff;\n    border-color: #dee2e6 #dee2e6 #fff; }\n  .nav-tabs .dropdown-menu {\n    margin-top: -1px;\n    border-top-left-radius: 0;\n    border-top-right-radius: 0; }\n\n.nav-pills .nav-link {\n  border-radius: 0.25rem; }\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n  color: #fff;\n  background-color: #0074d9; }\n\n.nav-fill .nav-item {\n  -webkit-flex: 1 1 auto;\n          flex: 1 1 auto;\n  text-align: center; }\n\n.nav-justified .nav-item {\n  -webkit-flex-basis: 0;\n          flex-basis: 0;\n  -webkit-flex-grow: 1;\n          flex-grow: 1;\n  text-align: center; }\n\n.tab-content > .tab-pane {\n  display: none; }\n\n.tab-content > .active {\n  display: block; }\n\n.navbar {\n  position: relative;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  -webkit-align-items: center;\n          align-items: center;\n  -webkit-justify-content: space-between;\n          justify-content: space-between;\n  padding: 0.5rem 1rem; }\n  .navbar > .container,\n  .navbar > .container-fluid {\n    display: -webkit-flex;\n    display: flex;\n    -webkit-flex-wrap: wrap;\n            flex-wrap: wrap;\n    -webkit-align-items: center;\n            align-items: center;\n    -webkit-justify-content: space-between;\n            justify-content: space-between; }\n\n.navbar-brand {\n  display: inline-block;\n  padding-top: 0.3125rem;\n  padding-bottom: 0.3125rem;\n  margin-right: 1rem;\n  font-size: 1.25rem;\n  line-height: inherit;\n  white-space: nowrap; }\n  .navbar-brand:hover, .navbar-brand:focus {\n    text-decoration: none; }\n\n.navbar-nav {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none; }\n  .navbar-nav .nav-link {\n    padding-right: 0;\n    padding-left: 0; }\n  .navbar-nav .dropdown-menu {\n    position: static;\n    float: none; }\n\n.navbar-text {\n  display: inline-block;\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem; }\n\n.navbar-collapse {\n  -webkit-flex-basis: 100%;\n          flex-basis: 100%;\n  -webkit-flex-grow: 1;\n          flex-grow: 1;\n  -webkit-align-items: center;\n          align-items: center; }\n\n.navbar-toggler {\n  padding: 0.25rem 0.75rem;\n  font-size: 1.25rem;\n  line-height: 1;\n  background-color: transparent;\n  border: 1px solid transparent;\n  border-radius: 0.25rem; }\n  .navbar-toggler:hover, .navbar-toggler:focus {\n    text-decoration: none; }\n\n.navbar-toggler-icon {\n  display: inline-block;\n  width: 1.5em;\n  height: 1.5em;\n  vertical-align: middle;\n  content: "";\n  background: no-repeat center center;\n  background-size: 100% 100%; }\n\n@media (max-width: 575.98px) {\n  .navbar-expand-sm > .container,\n  .navbar-expand-sm > .container-fluid {\n    padding-right: 0;\n    padding-left: 0; } }\n\n@media (min-width: 576px) {\n  .navbar-expand-sm {\n    -webkit-flex-flow: row nowrap;\n            flex-flow: row nowrap;\n    -webkit-justify-content: flex-start;\n            justify-content: flex-start; }\n    .navbar-expand-sm .navbar-nav {\n      -webkit-flex-direction: row;\n              flex-direction: row; }\n      .navbar-expand-sm .navbar-nav .dropdown-menu {\n        position: absolute; }\n      .navbar-expand-sm .navbar-nav .nav-link {\n        padding-right: 0.5rem;\n        padding-left: 0.5rem; }\n    .navbar-expand-sm > .container,\n    .navbar-expand-sm > .container-fluid {\n      -webkit-flex-wrap: nowrap;\n              flex-wrap: nowrap; }\n    .navbar-expand-sm .navbar-collapse {\n      display: -webkit-flex !important;\n      display: flex !important;\n      -webkit-flex-basis: auto;\n              flex-basis: auto; }\n    .navbar-expand-sm .navbar-toggler {\n      display: none; } }\n\n@media (max-width: 767.98px) {\n  .navbar-expand-md > .container,\n  .navbar-expand-md > .container-fluid {\n    padding-right: 0;\n    padding-left: 0; } }\n\n@media (min-width: 768px) {\n  .navbar-expand-md {\n    -webkit-flex-flow: row nowrap;\n            flex-flow: row nowrap;\n    -webkit-justify-content: flex-start;\n            justify-content: flex-start; }\n    .navbar-expand-md .navbar-nav {\n      -webkit-flex-direction: row;\n              flex-direction: row; }\n      .navbar-expand-md .navbar-nav .dropdown-menu {\n        position: absolute; }\n      .navbar-expand-md .navbar-nav .nav-link {\n        padding-right: 0.5rem;\n        padding-left: 0.5rem; }\n    .navbar-expand-md > .container,\n    .navbar-expand-md > .container-fluid {\n      -webkit-flex-wrap: nowrap;\n              flex-wrap: nowrap; }\n    .navbar-expand-md .navbar-collapse {\n      display: -webkit-flex !important;\n      display: flex !important;\n      -webkit-flex-basis: auto;\n              flex-basis: auto; }\n    .navbar-expand-md .navbar-toggler {\n      display: none; } }\n\n@media (max-width: 991.98px) {\n  .navbar-expand-lg > .container,\n  .navbar-expand-lg > .container-fluid {\n    padding-right: 0;\n    padding-left: 0; } }\n\n@media (min-width: 992px) {\n  .navbar-expand-lg {\n    -webkit-flex-flow: row nowrap;\n            flex-flow: row nowrap;\n    -webkit-justify-content: flex-start;\n            justify-content: flex-start; }\n    .navbar-expand-lg .navbar-nav {\n      -webkit-flex-direction: row;\n              flex-direction: row; }\n      .navbar-expand-lg .navbar-nav .dropdown-menu {\n        position: absolute; }\n      .navbar-expand-lg .navbar-nav .nav-link {\n        padding-right: 0.5rem;\n        padding-left: 0.5rem; }\n    .navbar-expand-lg > .container,\n    .navbar-expand-lg > .container-fluid {\n      -webkit-flex-wrap: nowrap;\n              flex-wrap: nowrap; }\n    .navbar-expand-lg .navbar-collapse {\n      display: -webkit-flex !important;\n      display: flex !important;\n      -webkit-flex-basis: auto;\n              flex-basis: auto; }\n    .navbar-expand-lg .navbar-toggler {\n      display: none; } }\n\n@media (max-width: 1199.98px) {\n  .navbar-expand-xl > .container,\n  .navbar-expand-xl > .container-fluid {\n    padding-right: 0;\n    padding-left: 0; } }\n\n@media (min-width: 1200px) {\n  .navbar-expand-xl {\n    -webkit-flex-flow: row nowrap;\n            flex-flow: row nowrap;\n    -webkit-justify-content: flex-start;\n            justify-content: flex-start; }\n    .navbar-expand-xl .navbar-nav {\n      -webkit-flex-direction: row;\n              flex-direction: row; }\n      .navbar-expand-xl .navbar-nav .dropdown-menu {\n        position: absolute; }\n      .navbar-expand-xl .navbar-nav .nav-link {\n        padding-right: 0.5rem;\n        padding-left: 0.5rem; }\n    .navbar-expand-xl > .container,\n    .navbar-expand-xl > .container-fluid {\n      -webkit-flex-wrap: nowrap;\n              flex-wrap: nowrap; }\n    .navbar-expand-xl .navbar-collapse {\n      display: -webkit-flex !important;\n      display: flex !important;\n      -webkit-flex-basis: auto;\n              flex-basis: auto; }\n    .navbar-expand-xl .navbar-toggler {\n      display: none; } }\n\n.navbar-expand {\n  -webkit-flex-flow: row nowrap;\n          flex-flow: row nowrap;\n  -webkit-justify-content: flex-start;\n          justify-content: flex-start; }\n  .navbar-expand > .container,\n  .navbar-expand > .container-fluid {\n    padding-right: 0;\n    padding-left: 0; }\n  .navbar-expand .navbar-nav {\n    -webkit-flex-direction: row;\n            flex-direction: row; }\n    .navbar-expand .navbar-nav .dropdown-menu {\n      position: absolute; }\n    .navbar-expand .navbar-nav .nav-link {\n      padding-right: 0.5rem;\n      padding-left: 0.5rem; }\n  .navbar-expand > .container,\n  .navbar-expand > .container-fluid {\n    -webkit-flex-wrap: nowrap;\n            flex-wrap: nowrap; }\n  .navbar-expand .navbar-collapse {\n    display: -webkit-flex !important;\n    display: flex !important;\n    -webkit-flex-basis: auto;\n            flex-basis: auto; }\n  .navbar-expand .navbar-toggler {\n    display: none; }\n\n.navbar-light .navbar-brand {\n  color: rgba(0, 0, 0, 0.9); }\n  .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n    color: rgba(0, 0, 0, 0.9); }\n\n.navbar-light .navbar-nav .nav-link {\n  color: rgba(0, 0, 0, 0.5); }\n  .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n    color: rgba(0, 0, 0, 0.7); }\n  .navbar-light .navbar-nav .nav-link.disabled {\n    color: rgba(0, 0, 0, 0.3); }\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n  color: rgba(0, 0, 0, 0.9); }\n\n.navbar-light .navbar-toggler {\n  color: rgba(0, 0, 0, 0.5);\n  border-color: rgba(0, 0, 0, 0.1); }\n\n.navbar-light .navbar-toggler-icon {\n  background-image: url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(0, 0, 0, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e"); }\n\n.navbar-light .navbar-text {\n  color: rgba(0, 0, 0, 0.5); }\n  .navbar-light .navbar-text a {\n    color: rgba(0, 0, 0, 0.9); }\n    .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n      color: rgba(0, 0, 0, 0.9); }\n\n.navbar-dark .navbar-brand {\n  color: #fff; }\n  .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n    color: #fff; }\n\n.navbar-dark .navbar-nav .nav-link {\n  color: rgba(255, 255, 255, 0.5); }\n  .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n    color: rgba(255, 255, 255, 0.75); }\n  .navbar-dark .navbar-nav .nav-link.disabled {\n    color: rgba(255, 255, 255, 0.25); }\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n  color: #fff; }\n\n.navbar-dark .navbar-toggler {\n  color: rgba(255, 255, 255, 0.5);\n  border-color: rgba(255, 255, 255, 0.1); }\n\n.navbar-dark .navbar-toggler-icon {\n  background-image: url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(255, 255, 255, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e"); }\n\n.navbar-dark .navbar-text {\n  color: rgba(255, 255, 255, 0.5); }\n  .navbar-dark .navbar-text a {\n    color: #fff; }\n    .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n      color: #fff; }\n\n.card {\n  position: relative;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  min-width: 0;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: border-box;\n  border: 1px solid rgba(0, 0, 0, 0.125);\n  border-radius: 0.25rem; }\n  .card > hr {\n    margin-right: 0;\n    margin-left: 0; }\n  .card > .list-group:first-child .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\n    border-top-right-radius: 0.25rem; }\n  .card > .list-group:last-child .list-group-item:last-child {\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0.25rem; }\n\n.card-body {\n  -webkit-flex: 1 1 auto;\n          flex: 1 1 auto;\n  padding: 1.25rem; }\n\n.card-title {\n  margin-bottom: 0.75rem; }\n\n.card-subtitle {\n  margin-top: -0.375rem;\n  margin-bottom: 0; }\n\n.card-text:last-child {\n  margin-bottom: 0; }\n\n.card-link:hover {\n  text-decoration: none; }\n\n.card-link + .card-link {\n  margin-left: 1.25rem; }\n\n.card-header {\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 0;\n  background-color: rgba(0, 0, 0, 0.03);\n  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }\n  .card-header:first-child {\n    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }\n  .card-header + .list-group .list-group-item:first-child {\n    border-top: 0; }\n\n.card-footer {\n  padding: 0.75rem 1.25rem;\n  background-color: rgba(0, 0, 0, 0.03);\n  border-top: 1px solid rgba(0, 0, 0, 0.125); }\n  .card-footer:last-child {\n    border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }\n\n.card-header-tabs {\n  margin-right: -0.625rem;\n  margin-bottom: -0.75rem;\n  margin-left: -0.625rem;\n  border-bottom: 0; }\n\n.card-header-pills {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem; }\n\n.card-img-overlay {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: 1.25rem; }\n\n.card-img {\n  width: 100%;\n  border-radius: calc(0.25rem - 1px); }\n\n.card-img-top {\n  width: 100%;\n  border-top-left-radius: calc(0.25rem - 1px);\n  border-top-right-radius: calc(0.25rem - 1px); }\n\n.card-img-bottom {\n  width: 100%;\n  border-bottom-right-radius: calc(0.25rem - 1px);\n  border-bottom-left-radius: calc(0.25rem - 1px); }\n\n.card-deck {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column; }\n  .card-deck .card {\n    margin-bottom: 15px; }\n  @media (min-width: 576px) {\n    .card-deck {\n      -webkit-flex-flow: row wrap;\n              flex-flow: row wrap;\n      margin-right: -15px;\n      margin-left: -15px; }\n      .card-deck .card {\n        display: -webkit-flex;\n        display: flex;\n        -webkit-flex: 1 0 0%;\n                flex: 1 0 0%;\n        -webkit-flex-direction: column;\n                flex-direction: column;\n        margin-right: 15px;\n        margin-bottom: 0;\n        margin-left: 15px; } }\n\n.card-group {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column; }\n  .card-group > .card {\n    margin-bottom: 15px; }\n  @media (min-width: 576px) {\n    .card-group {\n      -webkit-flex-flow: row wrap;\n              flex-flow: row wrap; }\n      .card-group > .card {\n        -webkit-flex: 1 0 0%;\n                flex: 1 0 0%;\n        margin-bottom: 0; }\n        .card-group > .card + .card {\n          margin-left: 0;\n          border-left: 0; }\n        .card-group > .card:not(:last-child) {\n          border-top-right-radius: 0;\n          border-bottom-right-radius: 0; }\n          .card-group > .card:not(:last-child) .card-img-top,\n          .card-group > .card:not(:last-child) .card-header {\n            border-top-right-radius: 0; }\n          .card-group > .card:not(:last-child) .card-img-bottom,\n          .card-group > .card:not(:last-child) .card-footer {\n            border-bottom-right-radius: 0; }\n        .card-group > .card:not(:first-child) {\n          border-top-left-radius: 0;\n          border-bottom-left-radius: 0; }\n          .card-group > .card:not(:first-child) .card-img-top,\n          .card-group > .card:not(:first-child) .card-header {\n            border-top-left-radius: 0; }\n          .card-group > .card:not(:first-child) .card-img-bottom,\n          .card-group > .card:not(:first-child) .card-footer {\n            border-bottom-left-radius: 0; } }\n\n.card-columns .card {\n  margin-bottom: 0.75rem; }\n\n@media (min-width: 576px) {\n  .card-columns {\n    -webkit-column-count: 3;\n            column-count: 3;\n    -webkit-column-gap: 1.25rem;\n            column-gap: 1.25rem;\n    orphans: 1;\n    widows: 1; }\n    .card-columns .card {\n      display: inline-block;\n      width: 100%; } }\n\n.accordion > .card {\n  overflow: hidden; }\n  .accordion > .card:not(:first-of-type) .card-header:first-child {\n    border-radius: 0; }\n  .accordion > .card:not(:first-of-type):not(:last-of-type) {\n    border-bottom: 0;\n    border-radius: 0; }\n  .accordion > .card:first-of-type {\n    border-bottom: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: 0; }\n  .accordion > .card:last-of-type {\n    border-top-left-radius: 0;\n    border-top-right-radius: 0; }\n  .accordion > .card .card-header {\n    margin-bottom: -1px; }\n\n.breadcrumb {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  padding: 0.75rem 1rem;\n  margin-bottom: 1rem;\n  list-style: none;\n  background-color: #e9ecef;\n  border-radius: 0.25rem; }\n\n.breadcrumb-item + .breadcrumb-item {\n  padding-left: 0.5rem; }\n  .breadcrumb-item + .breadcrumb-item::before {\n    display: inline-block;\n    padding-right: 0.5rem;\n    color: #6c757d;\n    content: "/"; }\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n  text-decoration: underline; }\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n  text-decoration: none; }\n\n.breadcrumb-item.active {\n  color: #6c757d; }\n\n.pagination {\n  display: -webkit-flex;\n  display: flex;\n  padding-left: 0;\n  list-style: none;\n  border-radius: 0.25rem; }\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: 0.5rem 0.75rem;\n  margin-left: -1px;\n  line-height: 1.25;\n  color: #0074d9;\n  background-color: #fff;\n  border: 1px solid #dee2e6; }\n  .page-link:hover {\n    z-index: 2;\n    color: #004b8d;\n    text-decoration: none;\n    background-color: #e9ecef;\n    border-color: #dee2e6; }\n  .page-link:focus {\n    z-index: 2;\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n\n.page-item:first-child .page-link {\n  margin-left: 0;\n  border-top-left-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem; }\n\n.page-item:last-child .page-link {\n  border-top-right-radius: 0.25rem;\n  border-bottom-right-radius: 0.25rem; }\n\n.page-item.active .page-link {\n  z-index: 1;\n  color: #fff;\n  background-color: #0074d9;\n  border-color: #0074d9; }\n\n.page-item.disabled .page-link {\n  color: #6c757d;\n  pointer-events: none;\n  cursor: auto;\n  background-color: #fff;\n  border-color: #dee2e6; }\n\n.pagination-lg .page-link {\n  padding: 0.75rem 1.5rem;\n  font-size: 1.25rem;\n  line-height: 1.5; }\n\n.pagination-lg .page-item:first-child .page-link {\n  border-top-left-radius: 0.3rem;\n  border-bottom-left-radius: 0.3rem; }\n\n.pagination-lg .page-item:last-child .page-link {\n  border-top-right-radius: 0.3rem;\n  border-bottom-right-radius: 0.3rem; }\n\n.pagination-sm .page-link {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5; }\n\n.pagination-sm .page-item:first-child .page-link {\n  border-top-left-radius: 0.2rem;\n  border-bottom-left-radius: 0.2rem; }\n\n.pagination-sm .page-item:last-child .page-link {\n  border-top-right-radius: 0.2rem;\n  border-bottom-right-radius: 0.2rem; }\n\n.badge {\n  display: inline-block;\n  padding: 0.25em 0.4em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: 0.25rem;\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n  @media (prefers-reduced-motion: reduce) {\n    .badge {\n      transition: none; } }\n  a.badge:hover, a.badge:focus {\n    text-decoration: none; }\n  .badge:empty {\n    display: none; }\n\n.btn .badge {\n  position: relative;\n  top: -1px; }\n\n.badge-pill {\n  padding-right: 0.6em;\n  padding-left: 0.6em;\n  border-radius: 10rem; }\n\n.badge-primary {\n  color: #fff;\n  background-color: #0074d9; }\n  a.badge-primary:hover, a.badge-primary:focus {\n    color: #fff;\n    background-color: #0059a6; }\n  a.badge-primary:focus, a.badge-primary.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.5); }\n\n.badge-secondary {\n  color: #fff;\n  background-color: #6c757d; }\n  a.badge-secondary:hover, a.badge-secondary:focus {\n    color: #fff;\n    background-color: #545b62; }\n  a.badge-secondary:focus, a.badge-secondary.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }\n\n.badge-success {\n  color: #fff;\n  background-color: #28a745; }\n  a.badge-success:hover, a.badge-success:focus {\n    color: #fff;\n    background-color: #1e7e34; }\n  a.badge-success:focus, a.badge-success.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\n\n.badge-info {\n  color: #fff;\n  background-color: #17a2b8; }\n  a.badge-info:hover, a.badge-info:focus {\n    color: #fff;\n    background-color: #117a8b; }\n  a.badge-info:focus, a.badge-info.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\n\n.badge-warning {\n  color: #212529;\n  background-color: #ffc107; }\n  a.badge-warning:hover, a.badge-warning:focus {\n    color: #212529;\n    background-color: #d39e00; }\n  a.badge-warning:focus, a.badge-warning.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }\n\n.badge-danger {\n  color: #fff;\n  background-color: #ff4136; }\n  a.badge-danger:hover, a.badge-danger:focus {\n    color: #fff;\n    background-color: #ff1103; }\n  a.badge-danger:focus, a.badge-danger.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(255, 65, 54, 0.5); }\n\n.badge-light {\n  color: #212529;\n  background-color: #f8f9fa; }\n  a.badge-light:hover, a.badge-light:focus {\n    color: #212529;\n    background-color: #dae0e5; }\n  a.badge-light:focus, a.badge-light.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n\n.badge-dark {\n  color: #fff;\n  background-color: #343a40; }\n  a.badge-dark:hover, a.badge-dark:focus {\n    color: #fff;\n    background-color: #1d2124; }\n  a.badge-dark:focus, a.badge-dark.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n\n.jumbotron {\n  padding: 2rem 1rem;\n  margin-bottom: 2rem;\n  background-color: #e9ecef;\n  border-radius: 0.3rem; }\n  @media (min-width: 576px) {\n    .jumbotron {\n      padding: 4rem 2rem; } }\n\n.jumbotron-fluid {\n  padding-right: 0;\n  padding-left: 0;\n  border-radius: 0; }\n\n.alert {\n  position: relative;\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 1rem;\n  border: 1px solid transparent;\n  border-radius: 0.25rem; }\n\n.alert-heading {\n  color: inherit; }\n\n.alert-link {\n  font-weight: 700; }\n\n.alert-dismissible {\n  padding-right: 4rem; }\n  .alert-dismissible .close {\n    position: absolute;\n    top: 0;\n    right: 0;\n    padding: 0.75rem 1.25rem;\n    color: inherit; }\n\n.alert-primary {\n  color: #003c71;\n  background-color: #cce3f7;\n  border-color: #b8d8f4; }\n  .alert-primary hr {\n    border-top-color: #a2ccf1; }\n  .alert-primary .alert-link {\n    color: #00213e; }\n\n.alert-secondary {\n  color: #383d41;\n  background-color: #e2e3e5;\n  border-color: #d6d8db; }\n  .alert-secondary hr {\n    border-top-color: #c8cbcf; }\n  .alert-secondary .alert-link {\n    color: #202326; }\n\n.alert-success {\n  color: #155724;\n  background-color: #d4edda;\n  border-color: #c3e6cb; }\n  .alert-success hr {\n    border-top-color: #b1dfbb; }\n  .alert-success .alert-link {\n    color: #0b2e13; }\n\n.alert-info {\n  color: #0c5460;\n  background-color: #d1ecf1;\n  border-color: #bee5eb; }\n  .alert-info hr {\n    border-top-color: #abdde5; }\n  .alert-info .alert-link {\n    color: #062c33; }\n\n.alert-warning {\n  color: #856404;\n  background-color: #fff3cd;\n  border-color: #ffeeba; }\n  .alert-warning hr {\n    border-top-color: #ffe8a1; }\n  .alert-warning .alert-link {\n    color: #533f03; }\n\n.alert-danger {\n  color: #85221c;\n  background-color: #ffd9d7;\n  border-color: #ffcac7; }\n  .alert-danger hr {\n    border-top-color: #ffb2ae; }\n  .alert-danger .alert-link {\n    color: #5b1713; }\n\n.alert-light {\n  color: #818182;\n  background-color: #fefefe;\n  border-color: #fdfdfe; }\n  .alert-light hr {\n    border-top-color: #ececf6; }\n  .alert-light .alert-link {\n    color: #686868; }\n\n.alert-dark {\n  color: #1b1e21;\n  background-color: #d6d8d9;\n  border-color: #c6c8ca; }\n  .alert-dark hr {\n    border-top-color: #b9bbbe; }\n  .alert-dark .alert-link {\n    color: #040505; }\n\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 1rem 0; }\n  to {\n    background-position: 0 0; } }\n\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 1rem 0; }\n  to {\n    background-position: 0 0; } }\n\n.progress {\n  display: -webkit-flex;\n  display: flex;\n  height: 1rem;\n  overflow: hidden;\n  font-size: 0.75rem;\n  background-color: #e9ecef;\n  border-radius: 0.25rem; }\n\n.progress-bar {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  -webkit-justify-content: center;\n          justify-content: center;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  background-color: #0074d9;\n  transition: width 0.6s ease; }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar {\n      transition: none; } }\n\n.progress-bar-striped {\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 1rem 1rem; }\n\n.progress-bar-animated {\n  -webkit-animation: progress-bar-stripes 1s linear infinite;\n          animation: progress-bar-stripes 1s linear infinite; }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar-animated {\n      -webkit-animation: none;\n              animation: none; } }\n\n.media {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: flex-start;\n          align-items: flex-start; }\n\n.media-body {\n  -webkit-flex: 1;\n          flex: 1; }\n\n.list-group {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0; }\n\n.list-group-item-action {\n  width: 100%;\n  color: #495057;\n  text-align: inherit; }\n  .list-group-item-action:hover, .list-group-item-action:focus {\n    z-index: 1;\n    color: #495057;\n    text-decoration: none;\n    background-color: #f8f9fa; }\n  .list-group-item-action:active {\n    color: #212529;\n    background-color: #e9ecef; }\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 0.75rem 1.25rem;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid rgba(0, 0, 0, 0.125); }\n  .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\n    border-top-right-radius: 0.25rem; }\n  .list-group-item:last-child {\n    margin-bottom: 0;\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0.25rem; }\n  .list-group-item.disabled, .list-group-item:disabled {\n    color: #6c757d;\n    pointer-events: none;\n    background-color: #fff; }\n  .list-group-item.active {\n    z-index: 2;\n    color: #fff;\n    background-color: #0074d9;\n    border-color: #0074d9; }\n\n.list-group-horizontal {\n  -webkit-flex-direction: row;\n          flex-direction: row; }\n  .list-group-horizontal .list-group-item {\n    margin-right: -1px;\n    margin-bottom: 0; }\n    .list-group-horizontal .list-group-item:first-child {\n      border-top-left-radius: 0.25rem;\n      border-bottom-left-radius: 0.25rem;\n      border-top-right-radius: 0; }\n    .list-group-horizontal .list-group-item:last-child {\n      margin-right: 0;\n      border-top-right-radius: 0.25rem;\n      border-bottom-right-radius: 0.25rem;\n      border-bottom-left-radius: 0; }\n\n@media (min-width: 576px) {\n  .list-group-horizontal-sm {\n    -webkit-flex-direction: row;\n            flex-direction: row; }\n    .list-group-horizontal-sm .list-group-item {\n      margin-right: -1px;\n      margin-bottom: 0; }\n      .list-group-horizontal-sm .list-group-item:first-child {\n        border-top-left-radius: 0.25rem;\n        border-bottom-left-radius: 0.25rem;\n        border-top-right-radius: 0; }\n      .list-group-horizontal-sm .list-group-item:last-child {\n        margin-right: 0;\n        border-top-right-radius: 0.25rem;\n        border-bottom-right-radius: 0.25rem;\n        border-bottom-left-radius: 0; } }\n\n@media (min-width: 768px) {\n  .list-group-horizontal-md {\n    -webkit-flex-direction: row;\n            flex-direction: row; }\n    .list-group-horizontal-md .list-group-item {\n      margin-right: -1px;\n      margin-bottom: 0; }\n      .list-group-horizontal-md .list-group-item:first-child {\n        border-top-left-radius: 0.25rem;\n        border-bottom-left-radius: 0.25rem;\n        border-top-right-radius: 0; }\n      .list-group-horizontal-md .list-group-item:last-child {\n        margin-right: 0;\n        border-top-right-radius: 0.25rem;\n        border-bottom-right-radius: 0.25rem;\n        border-bottom-left-radius: 0; } }\n\n@media (min-width: 992px) {\n  .list-group-horizontal-lg {\n    -webkit-flex-direction: row;\n            flex-direction: row; }\n    .list-group-horizontal-lg .list-group-item {\n      margin-right: -1px;\n      margin-bottom: 0; }\n      .list-group-horizontal-lg .list-group-item:first-child {\n        border-top-left-radius: 0.25rem;\n        border-bottom-left-radius: 0.25rem;\n        border-top-right-radius: 0; }\n      .list-group-horizontal-lg .list-group-item:last-child {\n        margin-right: 0;\n        border-top-right-radius: 0.25rem;\n        border-bottom-right-radius: 0.25rem;\n        border-bottom-left-radius: 0; } }\n\n@media (min-width: 1200px) {\n  .list-group-horizontal-xl {\n    -webkit-flex-direction: row;\n            flex-direction: row; }\n    .list-group-horizontal-xl .list-group-item {\n      margin-right: -1px;\n      margin-bottom: 0; }\n      .list-group-horizontal-xl .list-group-item:first-child {\n        border-top-left-radius: 0.25rem;\n        border-bottom-left-radius: 0.25rem;\n        border-top-right-radius: 0; }\n      .list-group-horizontal-xl .list-group-item:last-child {\n        margin-right: 0;\n        border-top-right-radius: 0.25rem;\n        border-bottom-right-radius: 0.25rem;\n        border-bottom-left-radius: 0; } }\n\n.list-group-flush .list-group-item {\n  border-right: 0;\n  border-left: 0;\n  border-radius: 0; }\n  .list-group-flush .list-group-item:last-child {\n    margin-bottom: -1px; }\n\n.list-group-flush:first-child .list-group-item:first-child {\n  border-top: 0; }\n\n.list-group-flush:last-child .list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom: 0; }\n\n.list-group-item-primary {\n  color: #003c71;\n  background-color: #b8d8f4; }\n  .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n    color: #003c71;\n    background-color: #a2ccf1; }\n  .list-group-item-primary.list-group-item-action.active {\n    color: #fff;\n    background-color: #003c71;\n    border-color: #003c71; }\n\n.list-group-item-secondary {\n  color: #383d41;\n  background-color: #d6d8db; }\n  .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n    color: #383d41;\n    background-color: #c8cbcf; }\n  .list-group-item-secondary.list-group-item-action.active {\n    color: #fff;\n    background-color: #383d41;\n    border-color: #383d41; }\n\n.list-group-item-success {\n  color: #155724;\n  background-color: #c3e6cb; }\n  .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n    color: #155724;\n    background-color: #b1dfbb; }\n  .list-group-item-success.list-group-item-action.active {\n    color: #fff;\n    background-color: #155724;\n    border-color: #155724; }\n\n.list-group-item-info {\n  color: #0c5460;\n  background-color: #bee5eb; }\n  .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n    color: #0c5460;\n    background-color: #abdde5; }\n  .list-group-item-info.list-group-item-action.active {\n    color: #fff;\n    background-color: #0c5460;\n    border-color: #0c5460; }\n\n.list-group-item-warning {\n  color: #856404;\n  background-color: #ffeeba; }\n  .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n    color: #856404;\n    background-color: #ffe8a1; }\n  .list-group-item-warning.list-group-item-action.active {\n    color: #fff;\n    background-color: #856404;\n    border-color: #856404; }\n\n.list-group-item-danger {\n  color: #85221c;\n  background-color: #ffcac7; }\n  .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n    color: #85221c;\n    background-color: #ffb2ae; }\n  .list-group-item-danger.list-group-item-action.active {\n    color: #fff;\n    background-color: #85221c;\n    border-color: #85221c; }\n\n.list-group-item-light {\n  color: #818182;\n  background-color: #fdfdfe; }\n  .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n    color: #818182;\n    background-color: #ececf6; }\n  .list-group-item-light.list-group-item-action.active {\n    color: #fff;\n    background-color: #818182;\n    border-color: #818182; }\n\n.list-group-item-dark {\n  color: #1b1e21;\n  background-color: #c6c8ca; }\n  .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n    color: #1b1e21;\n    background-color: #b9bbbe; }\n  .list-group-item-dark.list-group-item-action.active {\n    color: #fff;\n    background-color: #1b1e21;\n    border-color: #1b1e21; }\n\n.close {\n  float: right;\n  font-size: 1.5rem;\n  font-weight: 700;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: .5; }\n  .close:hover {\n    color: #000;\n    text-decoration: none; }\n  .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n    opacity: .75; }\n\nbutton.close {\n  padding: 0;\n  background-color: transparent;\n  border: 0;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none; }\n\na.close.disabled {\n  pointer-events: none; }\n\n.toast {\n  max-width: 350px;\n  overflow: hidden;\n  font-size: 0.875rem;\n  background-color: rgba(255, 255, 255, 0.85);\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.1);\n  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n  -webkit-backdrop-filter: blur(10px);\n          backdrop-filter: blur(10px);\n  opacity: 0;\n  border-radius: 0.25rem; }\n  .toast:not(:last-child) {\n    margin-bottom: 0.75rem; }\n  .toast.showing {\n    opacity: 1; }\n  .toast.show {\n    display: block;\n    opacity: 1; }\n  .toast.hide {\n    display: none; }\n\n.toast-header {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: center;\n          align-items: center;\n  padding: 0.25rem 0.75rem;\n  color: #6c757d;\n  background-color: rgba(255, 255, 255, 0.85);\n  background-clip: padding-box;\n  border-bottom: 1px solid rgba(0, 0, 0, 0.05); }\n\n.toast-body {\n  padding: 0.75rem; }\n\n.modal-open {\n  overflow: hidden; }\n  .modal-open .modal {\n    overflow-x: hidden;\n    overflow-y: auto; }\n\n.modal {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 1050;\n  display: none;\n  width: 100%;\n  height: 100%;\n  overflow: hidden;\n  outline: 0; }\n\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 0.5rem;\n  pointer-events: none; }\n  .modal.fade .modal-dialog {\n    transition: -webkit-transform 0.3s ease-out;\n    transition: transform 0.3s ease-out;\n    transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n    -webkit-transform: translate(0, -50px);\n            transform: translate(0, -50px); }\n    @media (prefers-reduced-motion: reduce) {\n      .modal.fade .modal-dialog {\n        transition: none; } }\n  .modal.show .modal-dialog {\n    -webkit-transform: none;\n            transform: none; }\n\n.modal-dialog-scrollable {\n  display: -webkit-flex;\n  display: flex;\n  max-height: calc(100% - 1rem); }\n  .modal-dialog-scrollable .modal-content {\n    max-height: calc(100vh - 1rem);\n    overflow: hidden; }\n  .modal-dialog-scrollable .modal-header,\n  .modal-dialog-scrollable .modal-footer {\n    -webkit-flex-shrink: 0;\n            flex-shrink: 0; }\n  .modal-dialog-scrollable .modal-body {\n    overflow-y: auto; }\n\n.modal-dialog-centered {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: center;\n          align-items: center;\n  min-height: calc(100% - 1rem); }\n  .modal-dialog-centered::before {\n    display: block;\n    height: calc(100vh - 1rem);\n    content: ""; }\n  .modal-dialog-centered.modal-dialog-scrollable {\n    -webkit-flex-direction: column;\n            flex-direction: column;\n    -webkit-justify-content: center;\n            justify-content: center;\n    height: 100%; }\n    .modal-dialog-centered.modal-dialog-scrollable .modal-content {\n      max-height: none; }\n    .modal-dialog-centered.modal-dialog-scrollable::before {\n      content: none; }\n\n.modal-content {\n  position: relative;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  width: 100%;\n  pointer-events: auto;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0.3rem;\n  outline: 0; }\n\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 1040;\n  width: 100vw;\n  height: 100vh;\n  background-color: #000; }\n  .modal-backdrop.fade {\n    opacity: 0; }\n  .modal-backdrop.show {\n    opacity: 0.5; }\n\n.modal-header {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: flex-start;\n          align-items: flex-start;\n  -webkit-justify-content: space-between;\n          justify-content: space-between;\n  padding: 1rem 1rem;\n  border-bottom: 1px solid #dee2e6;\n  border-top-left-radius: 0.3rem;\n  border-top-right-radius: 0.3rem; }\n  .modal-header .close {\n    padding: 1rem 1rem;\n    margin: -1rem -1rem -1rem auto; }\n\n.modal-title {\n  margin-bottom: 0;\n  line-height: 1.5; }\n\n.modal-body {\n  position: relative;\n  -webkit-flex: 1 1 auto;\n          flex: 1 1 auto;\n  padding: 1rem; }\n\n.modal-footer {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: center;\n          align-items: center;\n  -webkit-justify-content: flex-end;\n          justify-content: flex-end;\n  padding: 1rem;\n  border-top: 1px solid #dee2e6;\n  border-bottom-right-radius: 0.3rem;\n  border-bottom-left-radius: 0.3rem; }\n  .modal-footer > :not(:first-child) {\n    margin-left: .25rem; }\n  .modal-footer > :not(:last-child) {\n    margin-right: .25rem; }\n\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll; }\n\n@media (min-width: 576px) {\n  .modal-dialog {\n    max-width: 500px;\n    margin: 1.75rem auto; }\n  .modal-dialog-scrollable {\n    max-height: calc(100% - 3.5rem); }\n    .modal-dialog-scrollable .modal-content {\n      max-height: calc(100vh - 3.5rem); }\n  .modal-dialog-centered {\n    min-height: calc(100% - 3.5rem); }\n    .modal-dialog-centered::before {\n      height: calc(100vh - 3.5rem); }\n  .modal-sm {\n    max-width: 300px; } }\n\n@media (min-width: 992px) {\n  .modal-lg,\n  .modal-xl {\n    max-width: 800px; } }\n\n@media (min-width: 1200px) {\n  .modal-xl {\n    max-width: 1140px; } }\n\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  opacity: 0; }\n  .tooltip.show {\n    opacity: 0.9; }\n  .tooltip .arrow {\n    position: absolute;\n    display: block;\n    width: 0.8rem;\n    height: 0.4rem; }\n    .tooltip .arrow::before {\n      position: absolute;\n      content: "";\n      border-color: transparent;\n      border-style: solid; }\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {\n  padding: 0.4rem 0; }\n  .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {\n    bottom: 0; }\n    .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {\n      top: 0;\n      border-width: 0.4rem 0.4rem 0;\n      border-top-color: #000; }\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {\n  padding: 0 0.4rem; }\n  .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow {\n    left: 0;\n    width: 0.4rem;\n    height: 0.8rem; }\n    .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {\n      right: 0;\n      border-width: 0.4rem 0.4rem 0.4rem 0;\n      border-right-color: #000; }\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {\n  padding: 0.4rem 0; }\n  .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow {\n    top: 0; }\n    .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {\n      bottom: 0;\n      border-width: 0 0.4rem 0.4rem;\n      border-bottom-color: #000; }\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {\n  padding: 0 0.4rem; }\n  .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {\n    right: 0;\n    width: 0.4rem;\n    height: 0.8rem; }\n    .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {\n      left: 0;\n      border-width: 0.4rem 0 0.4rem 0.4rem;\n      border-left-color: #000; }\n\n.tooltip-inner {\n  max-width: 200px;\n  padding: 0.25rem 0.5rem;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 0.25rem; }\n\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: block;\n  max-width: 276px;\n  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0.3rem; }\n  .popover .arrow {\n    position: absolute;\n    display: block;\n    width: 1rem;\n    height: 0.5rem;\n    margin: 0 0.3rem; }\n    .popover .arrow::before, .popover .arrow::after {\n      position: absolute;\n      display: block;\n      content: "";\n      border-color: transparent;\n      border-style: solid; }\n\n.bs-popover-top, .bs-popover-auto[x-placement^="top"] {\n  margin-bottom: 0.5rem; }\n  .bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow {\n    bottom: calc((0.5rem + 1px) * -1); }\n    .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before {\n      bottom: 0;\n      border-width: 0.5rem 0.5rem 0;\n      border-top-color: rgba(0, 0, 0, 0.25); }\n    .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after {\n      bottom: 1px;\n      border-width: 0.5rem 0.5rem 0;\n      border-top-color: #fff; }\n\n.bs-popover-right, .bs-popover-auto[x-placement^="right"] {\n  margin-left: 0.5rem; }\n  .bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow {\n    left: calc((0.5rem + 1px) * -1);\n    width: 0.5rem;\n    height: 1rem;\n    margin: 0.3rem 0; }\n    .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before {\n      left: 0;\n      border-width: 0.5rem 0.5rem 0.5rem 0;\n      border-right-color: rgba(0, 0, 0, 0.25); }\n    .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after {\n      left: 1px;\n      border-width: 0.5rem 0.5rem 0.5rem 0;\n      border-right-color: #fff; }\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {\n  margin-top: 0.5rem; }\n  .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow {\n    top: calc((0.5rem + 1px) * -1); }\n    .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before {\n      top: 0;\n      border-width: 0 0.5rem 0.5rem 0.5rem;\n      border-bottom-color: rgba(0, 0, 0, 0.25); }\n    .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after {\n      top: 1px;\n      border-width: 0 0.5rem 0.5rem 0.5rem;\n      border-bottom-color: #fff; }\n  .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    display: block;\n    width: 1rem;\n    margin-left: -0.5rem;\n    content: "";\n    border-bottom: 1px solid #f7f7f7; }\n\n.bs-popover-left, .bs-popover-auto[x-placement^="left"] {\n  margin-right: 0.5rem; }\n  .bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow {\n    right: calc((0.5rem + 1px) * -1);\n    width: 0.5rem;\n    height: 1rem;\n    margin: 0.3rem 0; }\n    .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before {\n      right: 0;\n      border-width: 0.5rem 0 0.5rem 0.5rem;\n      border-left-color: rgba(0, 0, 0, 0.25); }\n    .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after {\n      right: 1px;\n      border-width: 0.5rem 0 0.5rem 0.5rem;\n      border-left-color: #fff; }\n\n.popover-header {\n  padding: 0.5rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-top-left-radius: calc(0.3rem - 1px);\n  border-top-right-radius: calc(0.3rem - 1px); }\n  .popover-header:empty {\n    display: none; }\n\n.popover-body {\n  padding: 0.5rem 0.75rem;\n  color: #212529; }\n\n.carousel {\n  position: relative; }\n\n.carousel.pointer-event {\n  touch-action: pan-y; }\n\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden; }\n  .carousel-inner::after {\n    display: block;\n    clear: both;\n    content: ""; }\n\n.carousel-item {\n  position: relative;\n  display: none;\n  float: left;\n  width: 100%;\n  margin-right: -100%;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  transition: -webkit-transform 0.6s ease-in-out;\n  transition: transform 0.6s ease-in-out;\n  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-item {\n      transition: none; } }\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n  display: block; }\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n  -webkit-transform: translateX(100%);\n          transform: translateX(100%); }\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n  -webkit-transform: translateX(-100%);\n          transform: translateX(-100%); }\n\n.carousel-fade .carousel-item {\n  opacity: 0;\n  transition-property: opacity;\n  -webkit-transform: none;\n          transform: none; }\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n  z-index: 1;\n  opacity: 1; }\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n  z-index: 0;\n  opacity: 0;\n  transition: 0s 0.6s opacity; }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-fade .active.carousel-item-left,\n    .carousel-fade .active.carousel-item-right {\n      transition: none; } }\n\n.carousel-control-prev,\n.carousel-control-next {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  z-index: 1;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: center;\n          align-items: center;\n  -webkit-justify-content: center;\n          justify-content: center;\n  width: 15%;\n  color: #fff;\n  text-align: center;\n  opacity: 0.5;\n  transition: opacity 0.15s ease; }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-control-prev,\n    .carousel-control-next {\n      transition: none; } }\n  .carousel-control-prev:hover, .carousel-control-prev:focus,\n  .carousel-control-next:hover,\n  .carousel-control-next:focus {\n    color: #fff;\n    text-decoration: none;\n    outline: 0;\n    opacity: 0.9; }\n\n.carousel-control-prev {\n  left: 0; }\n\n.carousel-control-next {\n  right: 0; }\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n  display: inline-block;\n  width: 20px;\n  height: 20px;\n  background: no-repeat 50% / 100% 100%; }\n\n.carousel-control-prev-icon {\n  background-image: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z\'/%3e%3c/svg%3e"); }\n\n.carousel-control-next-icon {\n  background-image: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z\'/%3e%3c/svg%3e"); }\n\n.carousel-indicators {\n  position: absolute;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 15;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n          justify-content: center;\n  padding-left: 0;\n  margin-right: 15%;\n  margin-left: 15%;\n  list-style: none; }\n  .carousel-indicators li {\n    box-sizing: content-box;\n    -webkit-flex: 0 1 auto;\n            flex: 0 1 auto;\n    width: 30px;\n    height: 3px;\n    margin-right: 3px;\n    margin-left: 3px;\n    text-indent: -999px;\n    cursor: pointer;\n    background-color: #fff;\n    background-clip: padding-box;\n    border-top: 10px solid transparent;\n    border-bottom: 10px solid transparent;\n    opacity: .5;\n    transition: opacity 0.6s ease; }\n    @media (prefers-reduced-motion: reduce) {\n      .carousel-indicators li {\n        transition: none; } }\n  .carousel-indicators .active {\n    opacity: 1; }\n\n.carousel-caption {\n  position: absolute;\n  right: 15%;\n  bottom: 20px;\n  left: 15%;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center; }\n\n@-webkit-keyframes spinner-border {\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg); } }\n\n@keyframes spinner-border {\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg); } }\n\n.spinner-border {\n  display: inline-block;\n  width: 2rem;\n  height: 2rem;\n  vertical-align: text-bottom;\n  border: 0.25em solid currentColor;\n  border-right-color: transparent;\n  border-radius: 50%;\n  -webkit-animation: spinner-border .75s linear infinite;\n          animation: spinner-border .75s linear infinite; }\n\n.spinner-border-sm {\n  width: 1rem;\n  height: 1rem;\n  border-width: 0.2em; }\n\n@-webkit-keyframes spinner-grow {\n  0% {\n    -webkit-transform: scale(0);\n            transform: scale(0); }\n  50% {\n    opacity: 1; } }\n\n@keyframes spinner-grow {\n  0% {\n    -webkit-transform: scale(0);\n            transform: scale(0); }\n  50% {\n    opacity: 1; } }\n\n.spinner-grow {\n  display: inline-block;\n  width: 2rem;\n  height: 2rem;\n  vertical-align: text-bottom;\n  background-color: currentColor;\n  border-radius: 50%;\n  opacity: 0;\n  -webkit-animation: spinner-grow .75s linear infinite;\n          animation: spinner-grow .75s linear infinite; }\n\n.spinner-grow-sm {\n  width: 1rem;\n  height: 1rem; }\n\n.align-baseline {\n  vertical-align: baseline !important; }\n\n.align-top {\n  vertical-align: top !important; }\n\n.align-middle {\n  vertical-align: middle !important; }\n\n.align-bottom {\n  vertical-align: bottom !important; }\n\n.align-text-bottom {\n  vertical-align: text-bottom !important; }\n\n.align-text-top {\n  vertical-align: text-top !important; }\n\n.bg-primary {\n  background-color: #0074d9 !important; }\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n  background-color: #0059a6 !important; }\n\n.bg-secondary {\n  background-color: #6c757d !important; }\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n  background-color: #545b62 !important; }\n\n.bg-success {\n  background-color: #28a745 !important; }\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n  background-color: #1e7e34 !important; }\n\n.bg-info {\n  background-color: #17a2b8 !important; }\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n  background-color: #117a8b !important; }\n\n.bg-warning {\n  background-color: #ffc107 !important; }\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n  background-color: #d39e00 !important; }\n\n.bg-danger {\n  background-color: #ff4136 !important; }\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n  background-color: #ff1103 !important; }\n\n.bg-light {\n  background-color: #f8f9fa !important; }\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n  background-color: #dae0e5 !important; }\n\n.bg-dark {\n  background-color: #343a40 !important; }\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n  background-color: #1d2124 !important; }\n\n.bg-white {\n  background-color: #fff !important; }\n\n.bg-transparent {\n  background-color: transparent !important; }\n\n.border {\n  border: 1px solid #dee2e6 !important; }\n\n.border-top {\n  border-top: 1px solid #dee2e6 !important; }\n\n.border-right {\n  border-right: 1px solid #dee2e6 !important; }\n\n.border-bottom {\n  border-bottom: 1px solid #dee2e6 !important; }\n\n.border-left {\n  border-left: 1px solid #dee2e6 !important; }\n\n.border-0 {\n  border: 0 !important; }\n\n.border-top-0 {\n  border-top: 0 !important; }\n\n.border-right-0 {\n  border-right: 0 !important; }\n\n.border-bottom-0 {\n  border-bottom: 0 !important; }\n\n.border-left-0 {\n  border-left: 0 !important; }\n\n.border-primary {\n  border-color: #0074d9 !important; }\n\n.border-secondary {\n  border-color: #6c757d !important; }\n\n.border-success {\n  border-color: #28a745 !important; }\n\n.border-info {\n  border-color: #17a2b8 !important; }\n\n.border-warning {\n  border-color: #ffc107 !important; }\n\n.border-danger {\n  border-color: #ff4136 !important; }\n\n.border-light {\n  border-color: #f8f9fa !important; }\n\n.border-dark {\n  border-color: #343a40 !important; }\n\n.border-white {\n  border-color: #fff !important; }\n\n.rounded-sm {\n  border-radius: 0.2rem !important; }\n\n.rounded {\n  border-radius: 0.25rem !important; }\n\n.rounded-top {\n  border-top-left-radius: 0.25rem !important;\n  border-top-right-radius: 0.25rem !important; }\n\n.rounded-right {\n  border-top-right-radius: 0.25rem !important;\n  border-bottom-right-radius: 0.25rem !important; }\n\n.rounded-bottom {\n  border-bottom-right-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important; }\n\n.rounded-left {\n  border-top-left-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important; }\n\n.rounded-lg {\n  border-radius: 0.3rem !important; }\n\n.rounded-circle {\n  border-radius: 50% !important; }\n\n.rounded-pill {\n  border-radius: 50rem !important; }\n\n.rounded-0 {\n  border-radius: 0 !important; }\n\n.clearfix::after {\n  display: block;\n  clear: both;\n  content: ""; }\n\n.d-none {\n  display: none !important; }\n\n.d-inline {\n  display: inline !important; }\n\n.d-inline-block {\n  display: inline-block !important; }\n\n.d-block {\n  display: block !important; }\n\n.d-table {\n  display: table !important; }\n\n.d-table-row {\n  display: table-row !important; }\n\n.d-table-cell {\n  display: table-cell !important; }\n\n.d-flex {\n  display: -webkit-flex !important;\n  display: flex !important; }\n\n.d-inline-flex {\n  display: -webkit-inline-flex !important;\n  display: inline-flex !important; }\n\n@media (min-width: 576px) {\n  .d-sm-none {\n    display: none !important; }\n  .d-sm-inline {\n    display: inline !important; }\n  .d-sm-inline-block {\n    display: inline-block !important; }\n  .d-sm-block {\n    display: block !important; }\n  .d-sm-table {\n    display: table !important; }\n  .d-sm-table-row {\n    display: table-row !important; }\n  .d-sm-table-cell {\n    display: table-cell !important; }\n  .d-sm-flex {\n    display: -webkit-flex !important;\n    display: flex !important; }\n  .d-sm-inline-flex {\n    display: -webkit-inline-flex !important;\n    display: inline-flex !important; } }\n\n@media (min-width: 768px) {\n  .d-md-none {\n    display: none !important; }\n  .d-md-inline {\n    display: inline !important; }\n  .d-md-inline-block {\n    display: inline-block !important; }\n  .d-md-block {\n    display: block !important; }\n  .d-md-table {\n    display: table !important; }\n  .d-md-table-row {\n    display: table-row !important; }\n  .d-md-table-cell {\n    display: table-cell !important; }\n  .d-md-flex {\n    display: -webkit-flex !important;\n    display: flex !important; }\n  .d-md-inline-flex {\n    display: -webkit-inline-flex !important;\n    display: inline-flex !important; } }\n\n@media (min-width: 992px) {\n  .d-lg-none {\n    display: none !important; }\n  .d-lg-inline {\n    display: inline !important; }\n  .d-lg-inline-block {\n    display: inline-block !important; }\n  .d-lg-block {\n    display: block !important; }\n  .d-lg-table {\n    display: table !important; }\n  .d-lg-table-row {\n    display: table-row !important; }\n  .d-lg-table-cell {\n    display: table-cell !important; }\n  .d-lg-flex {\n    display: -webkit-flex !important;\n    display: flex !important; }\n  .d-lg-inline-flex {\n    display: -webkit-inline-flex !important;\n    display: inline-flex !important; } }\n\n@media (min-width: 1200px) {\n  .d-xl-none {\n    display: none !important; }\n  .d-xl-inline {\n    display: inline !important; }\n  .d-xl-inline-block {\n    display: inline-block !important; }\n  .d-xl-block {\n    display: block !important; }\n  .d-xl-table {\n    display: table !important; }\n  .d-xl-table-row {\n    display: table-row !important; }\n  .d-xl-table-cell {\n    display: table-cell !important; }\n  .d-xl-flex {\n    display: -webkit-flex !important;\n    display: flex !important; }\n  .d-xl-inline-flex {\n    display: -webkit-inline-flex !important;\n    display: inline-flex !important; } }\n\n@media print {\n  .d-print-none {\n    display: none !important; }\n  .d-print-inline {\n    display: inline !important; }\n  .d-print-inline-block {\n    display: inline-block !important; }\n  .d-print-block {\n    display: block !important; }\n  .d-print-table {\n    display: table !important; }\n  .d-print-table-row {\n    display: table-row !important; }\n  .d-print-table-cell {\n    display: table-cell !important; }\n  .d-print-flex {\n    display: -webkit-flex !important;\n    display: flex !important; }\n  .d-print-inline-flex {\n    display: -webkit-inline-flex !important;\n    display: inline-flex !important; } }\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  width: 100%;\n  padding: 0;\n  overflow: hidden; }\n  .embed-responsive::before {\n    display: block;\n    content: ""; }\n  .embed-responsive .embed-responsive-item,\n  .embed-responsive iframe,\n  .embed-responsive embed,\n  .embed-responsive object,\n  .embed-responsive video {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    border: 0; }\n\n.embed-responsive-21by9::before {\n  padding-top: 42.85714%; }\n\n.embed-responsive-16by9::before {\n  padding-top: 56.25%; }\n\n.embed-responsive-4by3::before {\n  padding-top: 75%; }\n\n.embed-responsive-1by1::before {\n  padding-top: 100%; }\n\n.flex-row {\n  -webkit-flex-direction: row !important;\n          flex-direction: row !important; }\n\n.flex-column {\n  -webkit-flex-direction: column !important;\n          flex-direction: column !important; }\n\n.flex-row-reverse {\n  -webkit-flex-direction: row-reverse !important;\n          flex-direction: row-reverse !important; }\n\n.flex-column-reverse {\n  -webkit-flex-direction: column-reverse !important;\n          flex-direction: column-reverse !important; }\n\n.flex-wrap {\n  -webkit-flex-wrap: wrap !important;\n          flex-wrap: wrap !important; }\n\n.flex-nowrap {\n  -webkit-flex-wrap: nowrap !important;\n          flex-wrap: nowrap !important; }\n\n.flex-wrap-reverse {\n  -webkit-flex-wrap: wrap-reverse !important;\n          flex-wrap: wrap-reverse !important; }\n\n.flex-fill {\n  -webkit-flex: 1 1 auto !important;\n          flex: 1 1 auto !important; }\n\n.flex-grow-0 {\n  -webkit-flex-grow: 0 !important;\n          flex-grow: 0 !important; }\n\n.flex-grow-1 {\n  -webkit-flex-grow: 1 !important;\n          flex-grow: 1 !important; }\n\n.flex-shrink-0 {\n  -webkit-flex-shrink: 0 !important;\n          flex-shrink: 0 !important; }\n\n.flex-shrink-1 {\n  -webkit-flex-shrink: 1 !important;\n          flex-shrink: 1 !important; }\n\n.justify-content-start {\n  -webkit-justify-content: flex-start !important;\n          justify-content: flex-start !important; }\n\n.justify-content-end {\n  -webkit-justify-content: flex-end !important;\n          justify-content: flex-end !important; }\n\n.justify-content-center {\n  -webkit-justify-content: center !important;\n          justify-content: center !important; }\n\n.justify-content-between {\n  -webkit-justify-content: space-between !important;\n          justify-content: space-between !important; }\n\n.justify-content-around {\n  -webkit-justify-content: space-around !important;\n          justify-content: space-around !important; }\n\n.align-items-start {\n  -webkit-align-items: flex-start !important;\n          align-items: flex-start !important; }\n\n.align-items-end {\n  -webkit-align-items: flex-end !important;\n          align-items: flex-end !important; }\n\n.align-items-center {\n  -webkit-align-items: center !important;\n          align-items: center !important; }\n\n.align-items-baseline {\n  -webkit-align-items: baseline !important;\n          align-items: baseline !important; }\n\n.align-items-stretch {\n  -webkit-align-items: stretch !important;\n          align-items: stretch !important; }\n\n.align-content-start {\n  -webkit-align-content: flex-start !important;\n          align-content: flex-start !important; }\n\n.align-content-end {\n  -webkit-align-content: flex-end !important;\n          align-content: flex-end !important; }\n\n.align-content-center {\n  -webkit-align-content: center !important;\n          align-content: center !important; }\n\n.align-content-between {\n  -webkit-align-content: space-between !important;\n          align-content: space-between !important; }\n\n.align-content-around {\n  -webkit-align-content: space-around !important;\n          align-content: space-around !important; }\n\n.align-content-stretch {\n  -webkit-align-content: stretch !important;\n          align-content: stretch !important; }\n\n.align-self-auto {\n  -webkit-align-self: auto !important;\n          align-self: auto !important; }\n\n.align-self-start {\n  -webkit-align-self: flex-start !important;\n          align-self: flex-start !important; }\n\n.align-self-end {\n  -webkit-align-self: flex-end !important;\n          align-self: flex-end !important; }\n\n.align-self-center {\n  -webkit-align-self: center !important;\n          align-self: center !important; }\n\n.align-self-baseline {\n  -webkit-align-self: baseline !important;\n          align-self: baseline !important; }\n\n.align-self-stretch {\n  -webkit-align-self: stretch !important;\n          align-self: stretch !important; }\n\n@media (min-width: 576px) {\n  .flex-sm-row {\n    -webkit-flex-direction: row !important;\n            flex-direction: row !important; }\n  .flex-sm-column {\n    -webkit-flex-direction: column !important;\n            flex-direction: column !important; }\n  .flex-sm-row-reverse {\n    -webkit-flex-direction: row-reverse !important;\n            flex-direction: row-reverse !important; }\n  .flex-sm-column-reverse {\n    -webkit-flex-direction: column-reverse !important;\n            flex-direction: column-reverse !important; }\n  .flex-sm-wrap {\n    -webkit-flex-wrap: wrap !important;\n            flex-wrap: wrap !important; }\n  .flex-sm-nowrap {\n    -webkit-flex-wrap: nowrap !important;\n            flex-wrap: nowrap !important; }\n  .flex-sm-wrap-reverse {\n    -webkit-flex-wrap: wrap-reverse !important;\n            flex-wrap: wrap-reverse !important; }\n  .flex-sm-fill {\n    -webkit-flex: 1 1 auto !important;\n            flex: 1 1 auto !important; }\n  .flex-sm-grow-0 {\n    -webkit-flex-grow: 0 !important;\n            flex-grow: 0 !important; }\n  .flex-sm-grow-1 {\n    -webkit-flex-grow: 1 !important;\n            flex-grow: 1 !important; }\n  .flex-sm-shrink-0 {\n    -webkit-flex-shrink: 0 !important;\n            flex-shrink: 0 !important; }\n  .flex-sm-shrink-1 {\n    -webkit-flex-shrink: 1 !important;\n            flex-shrink: 1 !important; }\n  .justify-content-sm-start {\n    -webkit-justify-content: flex-start !important;\n            justify-content: flex-start !important; }\n  .justify-content-sm-end {\n    -webkit-justify-content: flex-end !important;\n            justify-content: flex-end !important; }\n  .justify-content-sm-center {\n    -webkit-justify-content: center !important;\n            justify-content: center !important; }\n  .justify-content-sm-between {\n    -webkit-justify-content: space-between !important;\n            justify-content: space-between !important; }\n  .justify-content-sm-around {\n    -webkit-justify-content: space-around !important;\n            justify-content: space-around !important; }\n  .align-items-sm-start {\n    -webkit-align-items: flex-start !important;\n            align-items: flex-start !important; }\n  .align-items-sm-end {\n    -webkit-align-items: flex-end !important;\n            align-items: flex-end !important; }\n  .align-items-sm-center {\n    -webkit-align-items: center !important;\n            align-items: center !important; }\n  .align-items-sm-baseline {\n    -webkit-align-items: baseline !important;\n            align-items: baseline !important; }\n  .align-items-sm-stretch {\n    -webkit-align-items: stretch !important;\n            align-items: stretch !important; }\n  .align-content-sm-start {\n    -webkit-align-content: flex-start !important;\n            align-content: flex-start !important; }\n  .align-content-sm-end {\n    -webkit-align-content: flex-end !important;\n            align-content: flex-end !important; }\n  .align-content-sm-center {\n    -webkit-align-content: center !important;\n            align-content: center !important; }\n  .align-content-sm-between {\n    -webkit-align-content: space-between !important;\n            align-content: space-between !important; }\n  .align-content-sm-around {\n    -webkit-align-content: space-around !important;\n            align-content: space-around !important; }\n  .align-content-sm-stretch {\n    -webkit-align-content: stretch !important;\n            align-content: stretch !important; }\n  .align-self-sm-auto {\n    -webkit-align-self: auto !important;\n            align-self: auto !important; }\n  .align-self-sm-start {\n    -webkit-align-self: flex-start !important;\n            align-self: flex-start !important; }\n  .align-self-sm-end {\n    -webkit-align-self: flex-end !important;\n            align-self: flex-end !important; }\n  .align-self-sm-center {\n    -webkit-align-self: center !important;\n            align-self: center !important; }\n  .align-self-sm-baseline {\n    -webkit-align-self: baseline !important;\n            align-self: baseline !important; }\n  .align-self-sm-stretch {\n    -webkit-align-self: stretch !important;\n            align-self: stretch !important; } }\n\n@media (min-width: 768px) {\n  .flex-md-row {\n    -webkit-flex-direction: row !important;\n            flex-direction: row !important; }\n  .flex-md-column {\n    -webkit-flex-direction: column !important;\n            flex-direction: column !important; }\n  .flex-md-row-reverse {\n    -webkit-flex-direction: row-reverse !important;\n            flex-direction: row-reverse !important; }\n  .flex-md-column-reverse {\n    -webkit-flex-direction: column-reverse !important;\n            flex-direction: column-reverse !important; }\n  .flex-md-wrap {\n    -webkit-flex-wrap: wrap !important;\n            flex-wrap: wrap !important; }\n  .flex-md-nowrap {\n    -webkit-flex-wrap: nowrap !important;\n            flex-wrap: nowrap !important; }\n  .flex-md-wrap-reverse {\n    -webkit-flex-wrap: wrap-reverse !important;\n            flex-wrap: wrap-reverse !important; }\n  .flex-md-fill {\n    -webkit-flex: 1 1 auto !important;\n            flex: 1 1 auto !important; }\n  .flex-md-grow-0 {\n    -webkit-flex-grow: 0 !important;\n            flex-grow: 0 !important; }\n  .flex-md-grow-1 {\n    -webkit-flex-grow: 1 !important;\n            flex-grow: 1 !important; }\n  .flex-md-shrink-0 {\n    -webkit-flex-shrink: 0 !important;\n            flex-shrink: 0 !important; }\n  .flex-md-shrink-1 {\n    -webkit-flex-shrink: 1 !important;\n            flex-shrink: 1 !important; }\n  .justify-content-md-start {\n    -webkit-justify-content: flex-start !important;\n            justify-content: flex-start !important; }\n  .justify-content-md-end {\n    -webkit-justify-content: flex-end !important;\n            justify-content: flex-end !important; }\n  .justify-content-md-center {\n    -webkit-justify-content: center !important;\n            justify-content: center !important; }\n  .justify-content-md-between {\n    -webkit-justify-content: space-between !important;\n            justify-content: space-between !important; }\n  .justify-content-md-around {\n    -webkit-justify-content: space-around !important;\n            justify-content: space-around !important; }\n  .align-items-md-start {\n    -webkit-align-items: flex-start !important;\n            align-items: flex-start !important; }\n  .align-items-md-end {\n    -webkit-align-items: flex-end !important;\n            align-items: flex-end !important; }\n  .align-items-md-center {\n    -webkit-align-items: center !important;\n            align-items: center !important; }\n  .align-items-md-baseline {\n    -webkit-align-items: baseline !important;\n            align-items: baseline !important; }\n  .align-items-md-stretch {\n    -webkit-align-items: stretch !important;\n            align-items: stretch !important; }\n  .align-content-md-start {\n    -webkit-align-content: flex-start !important;\n            align-content: flex-start !important; }\n  .align-content-md-end {\n    -webkit-align-content: flex-end !important;\n            align-content: flex-end !important; }\n  .align-content-md-center {\n    -webkit-align-content: center !important;\n            align-content: center !important; }\n  .align-content-md-between {\n    -webkit-align-content: space-between !important;\n            align-content: space-between !important; }\n  .align-content-md-around {\n    -webkit-align-content: space-around !important;\n            align-content: space-around !important; }\n  .align-content-md-stretch {\n    -webkit-align-content: stretch !important;\n            align-content: stretch !important; }\n  .align-self-md-auto {\n    -webkit-align-self: auto !important;\n            align-self: auto !important; }\n  .align-self-md-start {\n    -webkit-align-self: flex-start !important;\n            align-self: flex-start !important; }\n  .align-self-md-end {\n    -webkit-align-self: flex-end !important;\n            align-self: flex-end !important; }\n  .align-self-md-center {\n    -webkit-align-self: center !important;\n            align-self: center !important; }\n  .align-self-md-baseline {\n    -webkit-align-self: baseline !important;\n            align-self: baseline !important; }\n  .align-self-md-stretch {\n    -webkit-align-self: stretch !important;\n            align-self: stretch !important; } }\n\n@media (min-width: 992px) {\n  .flex-lg-row {\n    -webkit-flex-direction: row !important;\n            flex-direction: row !important; }\n  .flex-lg-column {\n    -webkit-flex-direction: column !important;\n            flex-direction: column !important; }\n  .flex-lg-row-reverse {\n    -webkit-flex-direction: row-reverse !important;\n            flex-direction: row-reverse !important; }\n  .flex-lg-column-reverse {\n    -webkit-flex-direction: column-reverse !important;\n            flex-direction: column-reverse !important; }\n  .flex-lg-wrap {\n    -webkit-flex-wrap: wrap !important;\n            flex-wrap: wrap !important; }\n  .flex-lg-nowrap {\n    -webkit-flex-wrap: nowrap !important;\n            flex-wrap: nowrap !important; }\n  .flex-lg-wrap-reverse {\n    -webkit-flex-wrap: wrap-reverse !important;\n            flex-wrap: wrap-reverse !important; }\n  .flex-lg-fill {\n    -webkit-flex: 1 1 auto !important;\n            flex: 1 1 auto !important; }\n  .flex-lg-grow-0 {\n    -webkit-flex-grow: 0 !important;\n            flex-grow: 0 !important; }\n  .flex-lg-grow-1 {\n    -webkit-flex-grow: 1 !important;\n            flex-grow: 1 !important; }\n  .flex-lg-shrink-0 {\n    -webkit-flex-shrink: 0 !important;\n            flex-shrink: 0 !important; }\n  .flex-lg-shrink-1 {\n    -webkit-flex-shrink: 1 !important;\n            flex-shrink: 1 !important; }\n  .justify-content-lg-start {\n    -webkit-justify-content: flex-start !important;\n            justify-content: flex-start !important; }\n  .justify-content-lg-end {\n    -webkit-justify-content: flex-end !important;\n            justify-content: flex-end !important; }\n  .justify-content-lg-center {\n    -webkit-justify-content: center !important;\n            justify-content: center !important; }\n  .justify-content-lg-between {\n    -webkit-justify-content: space-between !important;\n            justify-content: space-between !important; }\n  .justify-content-lg-around {\n    -webkit-justify-content: space-around !important;\n            justify-content: space-around !important; }\n  .align-items-lg-start {\n    -webkit-align-items: flex-start !important;\n            align-items: flex-start !important; }\n  .align-items-lg-end {\n    -webkit-align-items: flex-end !important;\n            align-items: flex-end !important; }\n  .align-items-lg-center {\n    -webkit-align-items: center !important;\n            align-items: center !important; }\n  .align-items-lg-baseline {\n    -webkit-align-items: baseline !important;\n            align-items: baseline !important; }\n  .align-items-lg-stretch {\n    -webkit-align-items: stretch !important;\n            align-items: stretch !important; }\n  .align-content-lg-start {\n    -webkit-align-content: flex-start !important;\n            align-content: flex-start !important; }\n  .align-content-lg-end {\n    -webkit-align-content: flex-end !important;\n            align-content: flex-end !important; }\n  .align-content-lg-center {\n    -webkit-align-content: center !important;\n            align-content: center !important; }\n  .align-content-lg-between {\n    -webkit-align-content: space-between !important;\n            align-content: space-between !important; }\n  .align-content-lg-around {\n    -webkit-align-content: space-around !important;\n            align-content: space-around !important; }\n  .align-content-lg-stretch {\n    -webkit-align-content: stretch !important;\n            align-content: stretch !important; }\n  .align-self-lg-auto {\n    -webkit-align-self: auto !important;\n            align-self: auto !important; }\n  .align-self-lg-start {\n    -webkit-align-self: flex-start !important;\n            align-self: flex-start !important; }\n  .align-self-lg-end {\n    -webkit-align-self: flex-end !important;\n            align-self: flex-end !important; }\n  .align-self-lg-center {\n    -webkit-align-self: center !important;\n            align-self: center !important; }\n  .align-self-lg-baseline {\n    -webkit-align-self: baseline !important;\n            align-self: baseline !important; }\n  .align-self-lg-stretch {\n    -webkit-align-self: stretch !important;\n            align-self: stretch !important; } }\n\n@media (min-width: 1200px) {\n  .flex-xl-row {\n    -webkit-flex-direction: row !important;\n            flex-direction: row !important; }\n  .flex-xl-column {\n    -webkit-flex-direction: column !important;\n            flex-direction: column !important; }\n  .flex-xl-row-reverse {\n    -webkit-flex-direction: row-reverse !important;\n            flex-direction: row-reverse !important; }\n  .flex-xl-column-reverse {\n    -webkit-flex-direction: column-reverse !important;\n            flex-direction: column-reverse !important; }\n  .flex-xl-wrap {\n    -webkit-flex-wrap: wrap !important;\n            flex-wrap: wrap !important; }\n  .flex-xl-nowrap {\n    -webkit-flex-wrap: nowrap !important;\n            flex-wrap: nowrap !important; }\n  .flex-xl-wrap-reverse {\n    -webkit-flex-wrap: wrap-reverse !important;\n            flex-wrap: wrap-reverse !important; }\n  .flex-xl-fill {\n    -webkit-flex: 1 1 auto !important;\n            flex: 1 1 auto !important; }\n  .flex-xl-grow-0 {\n    -webkit-flex-grow: 0 !important;\n            flex-grow: 0 !important; }\n  .flex-xl-grow-1 {\n    -webkit-flex-grow: 1 !important;\n            flex-grow: 1 !important; }\n  .flex-xl-shrink-0 {\n    -webkit-flex-shrink: 0 !important;\n            flex-shrink: 0 !important; }\n  .flex-xl-shrink-1 {\n    -webkit-flex-shrink: 1 !important;\n            flex-shrink: 1 !important; }\n  .justify-content-xl-start {\n    -webkit-justify-content: flex-start !important;\n            justify-content: flex-start !important; }\n  .justify-content-xl-end {\n    -webkit-justify-content: flex-end !important;\n            justify-content: flex-end !important; }\n  .justify-content-xl-center {\n    -webkit-justify-content: center !important;\n            justify-content: center !important; }\n  .justify-content-xl-between {\n    -webkit-justify-content: space-between !important;\n            justify-content: space-between !important; }\n  .justify-content-xl-around {\n    -webkit-justify-content: space-around !important;\n            justify-content: space-around !important; }\n  .align-items-xl-start {\n    -webkit-align-items: flex-start !important;\n            align-items: flex-start !important; }\n  .align-items-xl-end {\n    -webkit-align-items: flex-end !important;\n            align-items: flex-end !important; }\n  .align-items-xl-center {\n    -webkit-align-items: center !important;\n            align-items: center !important; }\n  .align-items-xl-baseline {\n    -webkit-align-items: baseline !important;\n            align-items: baseline !important; }\n  .align-items-xl-stretch {\n    -webkit-align-items: stretch !important;\n            align-items: stretch !important; }\n  .align-content-xl-start {\n    -webkit-align-content: flex-start !important;\n            align-content: flex-start !important; }\n  .align-content-xl-end {\n    -webkit-align-content: flex-end !important;\n            align-content: flex-end !important; }\n  .align-content-xl-center {\n    -webkit-align-content: center !important;\n            align-content: center !important; }\n  .align-content-xl-between {\n    -webkit-align-content: space-between !important;\n            align-content: space-between !important; }\n  .align-content-xl-around {\n    -webkit-align-content: space-around !important;\n            align-content: space-around !important; }\n  .align-content-xl-stretch {\n    -webkit-align-content: stretch !important;\n            align-content: stretch !important; }\n  .align-self-xl-auto {\n    -webkit-align-self: auto !important;\n            align-self: auto !important; }\n  .align-self-xl-start {\n    -webkit-align-self: flex-start !important;\n            align-self: flex-start !important; }\n  .align-self-xl-end {\n    -webkit-align-self: flex-end !important;\n            align-self: flex-end !important; }\n  .align-self-xl-center {\n    -webkit-align-self: center !important;\n            align-self: center !important; }\n  .align-self-xl-baseline {\n    -webkit-align-self: baseline !important;\n            align-self: baseline !important; }\n  .align-self-xl-stretch {\n    -webkit-align-self: stretch !important;\n            align-self: stretch !important; } }\n\n.float-left {\n  float: left !important; }\n\n.float-right {\n  float: right !important; }\n\n.float-none {\n  float: none !important; }\n\n@media (min-width: 576px) {\n  .float-sm-left {\n    float: left !important; }\n  .float-sm-right {\n    float: right !important; }\n  .float-sm-none {\n    float: none !important; } }\n\n@media (min-width: 768px) {\n  .float-md-left {\n    float: left !important; }\n  .float-md-right {\n    float: right !important; }\n  .float-md-none {\n    float: none !important; } }\n\n@media (min-width: 992px) {\n  .float-lg-left {\n    float: left !important; }\n  .float-lg-right {\n    float: right !important; }\n  .float-lg-none {\n    float: none !important; } }\n\n@media (min-width: 1200px) {\n  .float-xl-left {\n    float: left !important; }\n  .float-xl-right {\n    float: right !important; }\n  .float-xl-none {\n    float: none !important; } }\n\n.overflow-auto {\n  overflow: auto !important; }\n\n.overflow-hidden {\n  overflow: hidden !important; }\n\n.position-static {\n  position: static !important; }\n\n.position-relative {\n  position: relative !important; }\n\n.position-absolute {\n  position: absolute !important; }\n\n.position-fixed {\n  position: fixed !important; }\n\n.position-sticky {\n  position: -webkit-sticky !important;\n  position: sticky !important; }\n\n.fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1030; }\n\n.fixed-bottom {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1030; }\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n  .sticky-top {\n    position: -webkit-sticky;\n    position: sticky;\n    top: 0;\n    z-index: 1020; } }\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal; }\n\n.shadow-sm {\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; }\n\n.shadow {\n  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }\n\n.shadow-lg {\n  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; }\n\n.shadow-none {\n  box-shadow: none !important; }\n\n.w-25 {\n  width: 25% !important; }\n\n.w-50 {\n  width: 50% !important; }\n\n.w-75 {\n  width: 75% !important; }\n\n.w-100 {\n  width: 100% !important; }\n\n.w-auto {\n  width: auto !important; }\n\n.h-25 {\n  height: 25% !important; }\n\n.h-50 {\n  height: 50% !important; }\n\n.h-75 {\n  height: 75% !important; }\n\n.h-100 {\n  height: 100% !important; }\n\n.h-auto {\n  height: auto !important; }\n\n.mw-100 {\n  max-width: 100% !important; }\n\n.mh-100 {\n  max-height: 100% !important; }\n\n.min-vw-100 {\n  min-width: 100vw !important; }\n\n.min-vh-100 {\n  min-height: 100vh !important; }\n\n.vw-100 {\n  width: 100vw !important; }\n\n.vh-100 {\n  height: 100vh !important; }\n\n.stretched-link::after {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1;\n  pointer-events: auto;\n  content: "";\n  background-color: rgba(0, 0, 0, 0); }\n\n.m-0 {\n  margin: 0 !important; }\n\n.mt-0,\n.my-0 {\n  margin-top: 0 !important; }\n\n.mr-0,\n.mx-0 {\n  margin-right: 0 !important; }\n\n.mb-0,\n.my-0 {\n  margin-bottom: 0 !important; }\n\n.ml-0,\n.mx-0 {\n  margin-left: 0 !important; }\n\n.m-1 {\n  margin: 0.25rem !important; }\n\n.mt-1,\n.my-1 {\n  margin-top: 0.25rem !important; }\n\n.mr-1,\n.mx-1 {\n  margin-right: 0.25rem !important; }\n\n.mb-1,\n.my-1 {\n  margin-bottom: 0.25rem !important; }\n\n.ml-1,\n.mx-1 {\n  margin-left: 0.25rem !important; }\n\n.m-2 {\n  margin: 0.5rem !important; }\n\n.mt-2,\n.my-2 {\n  margin-top: 0.5rem !important; }\n\n.mr-2,\n.mx-2 {\n  margin-right: 0.5rem !important; }\n\n.mb-2,\n.my-2 {\n  margin-bottom: 0.5rem !important; }\n\n.ml-2,\n.mx-2 {\n  margin-left: 0.5rem !important; }\n\n.m-3 {\n  margin: 1rem !important; }\n\n.mt-3,\n.my-3 {\n  margin-top: 1rem !important; }\n\n.mr-3,\n.mx-3 {\n  margin-right: 1rem !important; }\n\n.mb-3,\n.my-3 {\n  margin-bottom: 1rem !important; }\n\n.ml-3,\n.mx-3 {\n  margin-left: 1rem !important; }\n\n.m-4 {\n  margin: 1.5rem !important; }\n\n.mt-4,\n.my-4 {\n  margin-top: 1.5rem !important; }\n\n.mr-4,\n.mx-4 {\n  margin-right: 1.5rem !important; }\n\n.mb-4,\n.my-4 {\n  margin-bottom: 1.5rem !important; }\n\n.ml-4,\n.mx-4 {\n  margin-left: 1.5rem !important; }\n\n.m-5 {\n  margin: 3rem !important; }\n\n.mt-5,\n.my-5 {\n  margin-top: 3rem !important; }\n\n.mr-5,\n.mx-5 {\n  margin-right: 3rem !important; }\n\n.mb-5,\n.my-5 {\n  margin-bottom: 3rem !important; }\n\n.ml-5,\n.mx-5 {\n  margin-left: 3rem !important; }\n\n.p-0 {\n  padding: 0 !important; }\n\n.pt-0,\n.py-0 {\n  padding-top: 0 !important; }\n\n.pr-0,\n.px-0 {\n  padding-right: 0 !important; }\n\n.pb-0,\n.py-0 {\n  padding-bottom: 0 !important; }\n\n.pl-0,\n.px-0 {\n  padding-left: 0 !important; }\n\n.p-1 {\n  padding: 0.25rem !important; }\n\n.pt-1,\n.py-1 {\n  padding-top: 0.25rem !important; }\n\n.pr-1,\n.px-1 {\n  padding-right: 0.25rem !important; }\n\n.pb-1,\n.py-1 {\n  padding-bottom: 0.25rem !important; }\n\n.pl-1,\n.px-1 {\n  padding-left: 0.25rem !important; }\n\n.p-2 {\n  padding: 0.5rem !important; }\n\n.pt-2,\n.py-2 {\n  padding-top: 0.5rem !important; }\n\n.pr-2,\n.px-2 {\n  padding-right: 0.5rem !important; }\n\n.pb-2,\n.py-2 {\n  padding-bottom: 0.5rem !important; }\n\n.pl-2,\n.px-2 {\n  padding-left: 0.5rem !important; }\n\n.p-3 {\n  padding: 1rem !important; }\n\n.pt-3,\n.py-3 {\n  padding-top: 1rem !important; }\n\n.pr-3,\n.px-3 {\n  padding-right: 1rem !important; }\n\n.pb-3,\n.py-3 {\n  padding-bottom: 1rem !important; }\n\n.pl-3,\n.px-3 {\n  padding-left: 1rem !important; }\n\n.p-4 {\n  padding: 1.5rem !important; }\n\n.pt-4,\n.py-4 {\n  padding-top: 1.5rem !important; }\n\n.pr-4,\n.px-4 {\n  padding-right: 1.5rem !important; }\n\n.pb-4,\n.py-4 {\n  padding-bottom: 1.5rem !important; }\n\n.pl-4,\n.px-4 {\n  padding-left: 1.5rem !important; }\n\n.p-5 {\n  padding: 3rem !important; }\n\n.pt-5,\n.py-5 {\n  padding-top: 3rem !important; }\n\n.pr-5,\n.px-5 {\n  padding-right: 3rem !important; }\n\n.pb-5,\n.py-5 {\n  padding-bottom: 3rem !important; }\n\n.pl-5,\n.px-5 {\n  padding-left: 3rem !important; }\n\n.m-n1 {\n  margin: -0.25rem !important; }\n\n.mt-n1,\n.my-n1 {\n  margin-top: -0.25rem !important; }\n\n.mr-n1,\n.mx-n1 {\n  margin-right: -0.25rem !important; }\n\n.mb-n1,\n.my-n1 {\n  margin-bottom: -0.25rem !important; }\n\n.ml-n1,\n.mx-n1 {\n  margin-left: -0.25rem !important; }\n\n.m-n2 {\n  margin: -0.5rem !important; }\n\n.mt-n2,\n.my-n2 {\n  margin-top: -0.5rem !important; }\n\n.mr-n2,\n.mx-n2 {\n  margin-right: -0.5rem !important; }\n\n.mb-n2,\n.my-n2 {\n  margin-bottom: -0.5rem !important; }\n\n.ml-n2,\n.mx-n2 {\n  margin-left: -0.5rem !important; }\n\n.m-n3 {\n  margin: -1rem !important; }\n\n.mt-n3,\n.my-n3 {\n  margin-top: -1rem !important; }\n\n.mr-n3,\n.mx-n3 {\n  margin-right: -1rem !important; }\n\n.mb-n3,\n.my-n3 {\n  margin-bottom: -1rem !important; }\n\n.ml-n3,\n.mx-n3 {\n  margin-left: -1rem !important; }\n\n.m-n4 {\n  margin: -1.5rem !important; }\n\n.mt-n4,\n.my-n4 {\n  margin-top: -1.5rem !important; }\n\n.mr-n4,\n.mx-n4 {\n  margin-right: -1.5rem !important; }\n\n.mb-n4,\n.my-n4 {\n  margin-bottom: -1.5rem !important; }\n\n.ml-n4,\n.mx-n4 {\n  margin-left: -1.5rem !important; }\n\n.m-n5 {\n  margin: -3rem !important; }\n\n.mt-n5,\n.my-n5 {\n  margin-top: -3rem !important; }\n\n.mr-n5,\n.mx-n5 {\n  margin-right: -3rem !important; }\n\n.mb-n5,\n.my-n5 {\n  margin-bottom: -3rem !important; }\n\n.ml-n5,\n.mx-n5 {\n  margin-left: -3rem !important; }\n\n.m-auto {\n  margin: auto !important; }\n\n.mt-auto,\n.my-auto {\n  margin-top: auto !important; }\n\n.mr-auto,\n.mx-auto {\n  margin-right: auto !important; }\n\n.mb-auto,\n.my-auto {\n  margin-bottom: auto !important; }\n\n.ml-auto,\n.mx-auto {\n  margin-left: auto !important; }\n\n@media (min-width: 576px) {\n  .m-sm-0 {\n    margin: 0 !important; }\n  .mt-sm-0,\n  .my-sm-0 {\n    margin-top: 0 !important; }\n  .mr-sm-0,\n  .mx-sm-0 {\n    margin-right: 0 !important; }\n  .mb-sm-0,\n  .my-sm-0 {\n    margin-bottom: 0 !important; }\n  .ml-sm-0,\n  .mx-sm-0 {\n    margin-left: 0 !important; }\n  .m-sm-1 {\n    margin: 0.25rem !important; }\n  .mt-sm-1,\n  .my-sm-1 {\n    margin-top: 0.25rem !important; }\n  .mr-sm-1,\n  .mx-sm-1 {\n    margin-right: 0.25rem !important; }\n  .mb-sm-1,\n  .my-sm-1 {\n    margin-bottom: 0.25rem !important; }\n  .ml-sm-1,\n  .mx-sm-1 {\n    margin-left: 0.25rem !important; }\n  .m-sm-2 {\n    margin: 0.5rem !important; }\n  .mt-sm-2,\n  .my-sm-2 {\n    margin-top: 0.5rem !important; }\n  .mr-sm-2,\n  .mx-sm-2 {\n    margin-right: 0.5rem !important; }\n  .mb-sm-2,\n  .my-sm-2 {\n    margin-bottom: 0.5rem !important; }\n  .ml-sm-2,\n  .mx-sm-2 {\n    margin-left: 0.5rem !important; }\n  .m-sm-3 {\n    margin: 1rem !important; }\n  .mt-sm-3,\n  .my-sm-3 {\n    margin-top: 1rem !important; }\n  .mr-sm-3,\n  .mx-sm-3 {\n    margin-right: 1rem !important; }\n  .mb-sm-3,\n  .my-sm-3 {\n    margin-bottom: 1rem !important; }\n  .ml-sm-3,\n  .mx-sm-3 {\n    margin-left: 1rem !important; }\n  .m-sm-4 {\n    margin: 1.5rem !important; }\n  .mt-sm-4,\n  .my-sm-4 {\n    margin-top: 1.5rem !important; }\n  .mr-sm-4,\n  .mx-sm-4 {\n    margin-right: 1.5rem !important; }\n  .mb-sm-4,\n  .my-sm-4 {\n    margin-bottom: 1.5rem !important; }\n  .ml-sm-4,\n  .mx-sm-4 {\n    margin-left: 1.5rem !important; }\n  .m-sm-5 {\n    margin: 3rem !important; }\n  .mt-sm-5,\n  .my-sm-5 {\n    margin-top: 3rem !important; }\n  .mr-sm-5,\n  .mx-sm-5 {\n    margin-right: 3rem !important; }\n  .mb-sm-5,\n  .my-sm-5 {\n    margin-bottom: 3rem !important; }\n  .ml-sm-5,\n  .mx-sm-5 {\n    margin-left: 3rem !important; }\n  .p-sm-0 {\n    padding: 0 !important; }\n  .pt-sm-0,\n  .py-sm-0 {\n    padding-top: 0 !important; }\n  .pr-sm-0,\n  .px-sm-0 {\n    padding-right: 0 !important; }\n  .pb-sm-0,\n  .py-sm-0 {\n    padding-bottom: 0 !important; }\n  .pl-sm-0,\n  .px-sm-0 {\n    padding-left: 0 !important; }\n  .p-sm-1 {\n    padding: 0.25rem !important; }\n  .pt-sm-1,\n  .py-sm-1 {\n    padding-top: 0.25rem !important; }\n  .pr-sm-1,\n  .px-sm-1 {\n    padding-right: 0.25rem !important; }\n  .pb-sm-1,\n  .py-sm-1 {\n    padding-bottom: 0.25rem !important; }\n  .pl-sm-1,\n  .px-sm-1 {\n    padding-left: 0.25rem !important; }\n  .p-sm-2 {\n    padding: 0.5rem !important; }\n  .pt-sm-2,\n  .py-sm-2 {\n    padding-top: 0.5rem !important; }\n  .pr-sm-2,\n  .px-sm-2 {\n    padding-right: 0.5rem !important; }\n  .pb-sm-2,\n  .py-sm-2 {\n    padding-bottom: 0.5rem !important; }\n  .pl-sm-2,\n  .px-sm-2 {\n    padding-left: 0.5rem !important; }\n  .p-sm-3 {\n    padding: 1rem !important; }\n  .pt-sm-3,\n  .py-sm-3 {\n    padding-top: 1rem !important; }\n  .pr-sm-3,\n  .px-sm-3 {\n    padding-right: 1rem !important; }\n  .pb-sm-3,\n  .py-sm-3 {\n    padding-bottom: 1rem !important; }\n  .pl-sm-3,\n  .px-sm-3 {\n    padding-left: 1rem !important; }\n  .p-sm-4 {\n    padding: 1.5rem !important; }\n  .pt-sm-4,\n  .py-sm-4 {\n    padding-top: 1.5rem !important; }\n  .pr-sm-4,\n  .px-sm-4 {\n    padding-right: 1.5rem !important; }\n  .pb-sm-4,\n  .py-sm-4 {\n    padding-bottom: 1.5rem !important; }\n  .pl-sm-4,\n  .px-sm-4 {\n    padding-left: 1.5rem !important; }\n  .p-sm-5 {\n    padding: 3rem !important; }\n  .pt-sm-5,\n  .py-sm-5 {\n    padding-top: 3rem !important; }\n  .pr-sm-5,\n  .px-sm-5 {\n    padding-right: 3rem !important; }\n  .pb-sm-5,\n  .py-sm-5 {\n    padding-bottom: 3rem !important; }\n  .pl-sm-5,\n  .px-sm-5 {\n    padding-left: 3rem !important; }\n  .m-sm-n1 {\n    margin: -0.25rem !important; }\n  .mt-sm-n1,\n  .my-sm-n1 {\n    margin-top: -0.25rem !important; }\n  .mr-sm-n1,\n  .mx-sm-n1 {\n    margin-right: -0.25rem !important; }\n  .mb-sm-n1,\n  .my-sm-n1 {\n    margin-bottom: -0.25rem !important; }\n  .ml-sm-n1,\n  .mx-sm-n1 {\n    margin-left: -0.25rem !important; }\n  .m-sm-n2 {\n    margin: -0.5rem !important; }\n  .mt-sm-n2,\n  .my-sm-n2 {\n    margin-top: -0.5rem !important; }\n  .mr-sm-n2,\n  .mx-sm-n2 {\n    margin-right: -0.5rem !important; }\n  .mb-sm-n2,\n  .my-sm-n2 {\n    margin-bottom: -0.5rem !important; }\n  .ml-sm-n2,\n  .mx-sm-n2 {\n    margin-left: -0.5rem !important; }\n  .m-sm-n3 {\n    margin: -1rem !important; }\n  .mt-sm-n3,\n  .my-sm-n3 {\n    margin-top: -1rem !important; }\n  .mr-sm-n3,\n  .mx-sm-n3 {\n    margin-right: -1rem !important; }\n  .mb-sm-n3,\n  .my-sm-n3 {\n    margin-bottom: -1rem !important; }\n  .ml-sm-n3,\n  .mx-sm-n3 {\n    margin-left: -1rem !important; }\n  .m-sm-n4 {\n    margin: -1.5rem !important; }\n  .mt-sm-n4,\n  .my-sm-n4 {\n    margin-top: -1.5rem !important; }\n  .mr-sm-n4,\n  .mx-sm-n4 {\n    margin-right: -1.5rem !important; }\n  .mb-sm-n4,\n  .my-sm-n4 {\n    margin-bottom: -1.5rem !important; }\n  .ml-sm-n4,\n  .mx-sm-n4 {\n    margin-left: -1.5rem !important; }\n  .m-sm-n5 {\n    margin: -3rem !important; }\n  .mt-sm-n5,\n  .my-sm-n5 {\n    margin-top: -3rem !important; }\n  .mr-sm-n5,\n  .mx-sm-n5 {\n    margin-right: -3rem !important; }\n  .mb-sm-n5,\n  .my-sm-n5 {\n    margin-bottom: -3rem !important; }\n  .ml-sm-n5,\n  .mx-sm-n5 {\n    margin-left: -3rem !important; }\n  .m-sm-auto {\n    margin: auto !important; }\n  .mt-sm-auto,\n  .my-sm-auto {\n    margin-top: auto !important; }\n  .mr-sm-auto,\n  .mx-sm-auto {\n    margin-right: auto !important; }\n  .mb-sm-auto,\n  .my-sm-auto {\n    margin-bottom: auto !important; }\n  .ml-sm-auto,\n  .mx-sm-auto {\n    margin-left: auto !important; } }\n\n@media (min-width: 768px) {\n  .m-md-0 {\n    margin: 0 !important; }\n  .mt-md-0,\n  .my-md-0 {\n    margin-top: 0 !important; }\n  .mr-md-0,\n  .mx-md-0 {\n    margin-right: 0 !important; }\n  .mb-md-0,\n  .my-md-0 {\n    margin-bottom: 0 !important; }\n  .ml-md-0,\n  .mx-md-0 {\n    margin-left: 0 !important; }\n  .m-md-1 {\n    margin: 0.25rem !important; }\n  .mt-md-1,\n  .my-md-1 {\n    margin-top: 0.25rem !important; }\n  .mr-md-1,\n  .mx-md-1 {\n    margin-right: 0.25rem !important; }\n  .mb-md-1,\n  .my-md-1 {\n    margin-bottom: 0.25rem !important; }\n  .ml-md-1,\n  .mx-md-1 {\n    margin-left: 0.25rem !important; }\n  .m-md-2 {\n    margin: 0.5rem !important; }\n  .mt-md-2,\n  .my-md-2 {\n    margin-top: 0.5rem !important; }\n  .mr-md-2,\n  .mx-md-2 {\n    margin-right: 0.5rem !important; }\n  .mb-md-2,\n  .my-md-2 {\n    margin-bottom: 0.5rem !important; }\n  .ml-md-2,\n  .mx-md-2 {\n    margin-left: 0.5rem !important; }\n  .m-md-3 {\n    margin: 1rem !important; }\n  .mt-md-3,\n  .my-md-3 {\n    margin-top: 1rem !important; }\n  .mr-md-3,\n  .mx-md-3 {\n    margin-right: 1rem !important; }\n  .mb-md-3,\n  .my-md-3 {\n    margin-bottom: 1rem !important; }\n  .ml-md-3,\n  .mx-md-3 {\n    margin-left: 1rem !important; }\n  .m-md-4 {\n    margin: 1.5rem !important; }\n  .mt-md-4,\n  .my-md-4 {\n    margin-top: 1.5rem !important; }\n  .mr-md-4,\n  .mx-md-4 {\n    margin-right: 1.5rem !important; }\n  .mb-md-4,\n  .my-md-4 {\n    margin-bottom: 1.5rem !important; }\n  .ml-md-4,\n  .mx-md-4 {\n    margin-left: 1.5rem !important; }\n  .m-md-5 {\n    margin: 3rem !important; }\n  .mt-md-5,\n  .my-md-5 {\n    margin-top: 3rem !important; }\n  .mr-md-5,\n  .mx-md-5 {\n    margin-right: 3rem !important; }\n  .mb-md-5,\n  .my-md-5 {\n    margin-bottom: 3rem !important; }\n  .ml-md-5,\n  .mx-md-5 {\n    margin-left: 3rem !important; }\n  .p-md-0 {\n    padding: 0 !important; }\n  .pt-md-0,\n  .py-md-0 {\n    padding-top: 0 !important; }\n  .pr-md-0,\n  .px-md-0 {\n    padding-right: 0 !important; }\n  .pb-md-0,\n  .py-md-0 {\n    padding-bottom: 0 !important; }\n  .pl-md-0,\n  .px-md-0 {\n    padding-left: 0 !important; }\n  .p-md-1 {\n    padding: 0.25rem !important; }\n  .pt-md-1,\n  .py-md-1 {\n    padding-top: 0.25rem !important; }\n  .pr-md-1,\n  .px-md-1 {\n    padding-right: 0.25rem !important; }\n  .pb-md-1,\n  .py-md-1 {\n    padding-bottom: 0.25rem !important; }\n  .pl-md-1,\n  .px-md-1 {\n    padding-left: 0.25rem !important; }\n  .p-md-2 {\n    padding: 0.5rem !important; }\n  .pt-md-2,\n  .py-md-2 {\n    padding-top: 0.5rem !important; }\n  .pr-md-2,\n  .px-md-2 {\n    padding-right: 0.5rem !important; }\n  .pb-md-2,\n  .py-md-2 {\n    padding-bottom: 0.5rem !important; }\n  .pl-md-2,\n  .px-md-2 {\n    padding-left: 0.5rem !important; }\n  .p-md-3 {\n    padding: 1rem !important; }\n  .pt-md-3,\n  .py-md-3 {\n    padding-top: 1rem !important; }\n  .pr-md-3,\n  .px-md-3 {\n    padding-right: 1rem !important; }\n  .pb-md-3,\n  .py-md-3 {\n    padding-bottom: 1rem !important; }\n  .pl-md-3,\n  .px-md-3 {\n    padding-left: 1rem !important; }\n  .p-md-4 {\n    padding: 1.5rem !important; }\n  .pt-md-4,\n  .py-md-4 {\n    padding-top: 1.5rem !important; }\n  .pr-md-4,\n  .px-md-4 {\n    padding-right: 1.5rem !important; }\n  .pb-md-4,\n  .py-md-4 {\n    padding-bottom: 1.5rem !important; }\n  .pl-md-4,\n  .px-md-4 {\n    padding-left: 1.5rem !important; }\n  .p-md-5 {\n    padding: 3rem !important; }\n  .pt-md-5,\n  .py-md-5 {\n    padding-top: 3rem !important; }\n  .pr-md-5,\n  .px-md-5 {\n    padding-right: 3rem !important; }\n  .pb-md-5,\n  .py-md-5 {\n    padding-bottom: 3rem !important; }\n  .pl-md-5,\n  .px-md-5 {\n    padding-left: 3rem !important; }\n  .m-md-n1 {\n    margin: -0.25rem !important; }\n  .mt-md-n1,\n  .my-md-n1 {\n    margin-top: -0.25rem !important; }\n  .mr-md-n1,\n  .mx-md-n1 {\n    margin-right: -0.25rem !important; }\n  .mb-md-n1,\n  .my-md-n1 {\n    margin-bottom: -0.25rem !important; }\n  .ml-md-n1,\n  .mx-md-n1 {\n    margin-left: -0.25rem !important; }\n  .m-md-n2 {\n    margin: -0.5rem !important; }\n  .mt-md-n2,\n  .my-md-n2 {\n    margin-top: -0.5rem !important; }\n  .mr-md-n2,\n  .mx-md-n2 {\n    margin-right: -0.5rem !important; }\n  .mb-md-n2,\n  .my-md-n2 {\n    margin-bottom: -0.5rem !important; }\n  .ml-md-n2,\n  .mx-md-n2 {\n    margin-left: -0.5rem !important; }\n  .m-md-n3 {\n    margin: -1rem !important; }\n  .mt-md-n3,\n  .my-md-n3 {\n    margin-top: -1rem !important; }\n  .mr-md-n3,\n  .mx-md-n3 {\n    margin-right: -1rem !important; }\n  .mb-md-n3,\n  .my-md-n3 {\n    margin-bottom: -1rem !important; }\n  .ml-md-n3,\n  .mx-md-n3 {\n    margin-left: -1rem !important; }\n  .m-md-n4 {\n    margin: -1.5rem !important; }\n  .mt-md-n4,\n  .my-md-n4 {\n    margin-top: -1.5rem !important; }\n  .mr-md-n4,\n  .mx-md-n4 {\n    margin-right: -1.5rem !important; }\n  .mb-md-n4,\n  .my-md-n4 {\n    margin-bottom: -1.5rem !important; }\n  .ml-md-n4,\n  .mx-md-n4 {\n    margin-left: -1.5rem !important; }\n  .m-md-n5 {\n    margin: -3rem !important; }\n  .mt-md-n5,\n  .my-md-n5 {\n    margin-top: -3rem !important; }\n  .mr-md-n5,\n  .mx-md-n5 {\n    margin-right: -3rem !important; }\n  .mb-md-n5,\n  .my-md-n5 {\n    margin-bottom: -3rem !important; }\n  .ml-md-n5,\n  .mx-md-n5 {\n    margin-left: -3rem !important; }\n  .m-md-auto {\n    margin: auto !important; }\n  .mt-md-auto,\n  .my-md-auto {\n    margin-top: auto !important; }\n  .mr-md-auto,\n  .mx-md-auto {\n    margin-right: auto !important; }\n  .mb-md-auto,\n  .my-md-auto {\n    margin-bottom: auto !important; }\n  .ml-md-auto,\n  .mx-md-auto {\n    margin-left: auto !important; } }\n\n@media (min-width: 992px) {\n  .m-lg-0 {\n    margin: 0 !important; }\n  .mt-lg-0,\n  .my-lg-0 {\n    margin-top: 0 !important; }\n  .mr-lg-0,\n  .mx-lg-0 {\n    margin-right: 0 !important; }\n  .mb-lg-0,\n  .my-lg-0 {\n    margin-bottom: 0 !important; }\n  .ml-lg-0,\n  .mx-lg-0 {\n    margin-left: 0 !important; }\n  .m-lg-1 {\n    margin: 0.25rem !important; }\n  .mt-lg-1,\n  .my-lg-1 {\n    margin-top: 0.25rem !important; }\n  .mr-lg-1,\n  .mx-lg-1 {\n    margin-right: 0.25rem !important; }\n  .mb-lg-1,\n  .my-lg-1 {\n    margin-bottom: 0.25rem !important; }\n  .ml-lg-1,\n  .mx-lg-1 {\n    margin-left: 0.25rem !important; }\n  .m-lg-2 {\n    margin: 0.5rem !important; }\n  .mt-lg-2,\n  .my-lg-2 {\n    margin-top: 0.5rem !important; }\n  .mr-lg-2,\n  .mx-lg-2 {\n    margin-right: 0.5rem !important; }\n  .mb-lg-2,\n  .my-lg-2 {\n    margin-bottom: 0.5rem !important; }\n  .ml-lg-2,\n  .mx-lg-2 {\n    margin-left: 0.5rem !important; }\n  .m-lg-3 {\n    margin: 1rem !important; }\n  .mt-lg-3,\n  .my-lg-3 {\n    margin-top: 1rem !important; }\n  .mr-lg-3,\n  .mx-lg-3 {\n    margin-right: 1rem !important; }\n  .mb-lg-3,\n  .my-lg-3 {\n    margin-bottom: 1rem !important; }\n  .ml-lg-3,\n  .mx-lg-3 {\n    margin-left: 1rem !important; }\n  .m-lg-4 {\n    margin: 1.5rem !important; }\n  .mt-lg-4,\n  .my-lg-4 {\n    margin-top: 1.5rem !important; }\n  .mr-lg-4,\n  .mx-lg-4 {\n    margin-right: 1.5rem !important; }\n  .mb-lg-4,\n  .my-lg-4 {\n    margin-bottom: 1.5rem !important; }\n  .ml-lg-4,\n  .mx-lg-4 {\n    margin-left: 1.5rem !important; }\n  .m-lg-5 {\n    margin: 3rem !important; }\n  .mt-lg-5,\n  .my-lg-5 {\n    margin-top: 3rem !important; }\n  .mr-lg-5,\n  .mx-lg-5 {\n    margin-right: 3rem !important; }\n  .mb-lg-5,\n  .my-lg-5 {\n    margin-bottom: 3rem !important; }\n  .ml-lg-5,\n  .mx-lg-5 {\n    margin-left: 3rem !important; }\n  .p-lg-0 {\n    padding: 0 !important; }\n  .pt-lg-0,\n  .py-lg-0 {\n    padding-top: 0 !important; }\n  .pr-lg-0,\n  .px-lg-0 {\n    padding-right: 0 !important; }\n  .pb-lg-0,\n  .py-lg-0 {\n    padding-bottom: 0 !important; }\n  .pl-lg-0,\n  .px-lg-0 {\n    padding-left: 0 !important; }\n  .p-lg-1 {\n    padding: 0.25rem !important; }\n  .pt-lg-1,\n  .py-lg-1 {\n    padding-top: 0.25rem !important; }\n  .pr-lg-1,\n  .px-lg-1 {\n    padding-right: 0.25rem !important; }\n  .pb-lg-1,\n  .py-lg-1 {\n    padding-bottom: 0.25rem !important; }\n  .pl-lg-1,\n  .px-lg-1 {\n    padding-left: 0.25rem !important; }\n  .p-lg-2 {\n    padding: 0.5rem !important; }\n  .pt-lg-2,\n  .py-lg-2 {\n    padding-top: 0.5rem !important; }\n  .pr-lg-2,\n  .px-lg-2 {\n    padding-right: 0.5rem !important; }\n  .pb-lg-2,\n  .py-lg-2 {\n    padding-bottom: 0.5rem !important; }\n  .pl-lg-2,\n  .px-lg-2 {\n    padding-left: 0.5rem !important; }\n  .p-lg-3 {\n    padding: 1rem !important; }\n  .pt-lg-3,\n  .py-lg-3 {\n    padding-top: 1rem !important; }\n  .pr-lg-3,\n  .px-lg-3 {\n    padding-right: 1rem !important; }\n  .pb-lg-3,\n  .py-lg-3 {\n    padding-bottom: 1rem !important; }\n  .pl-lg-3,\n  .px-lg-3 {\n    padding-left: 1rem !important; }\n  .p-lg-4 {\n    padding: 1.5rem !important; }\n  .pt-lg-4,\n  .py-lg-4 {\n    padding-top: 1.5rem !important; }\n  .pr-lg-4,\n  .px-lg-4 {\n    padding-right: 1.5rem !important; }\n  .pb-lg-4,\n  .py-lg-4 {\n    padding-bottom: 1.5rem !important; }\n  .pl-lg-4,\n  .px-lg-4 {\n    padding-left: 1.5rem !important; }\n  .p-lg-5 {\n    padding: 3rem !important; }\n  .pt-lg-5,\n  .py-lg-5 {\n    padding-top: 3rem !important; }\n  .pr-lg-5,\n  .px-lg-5 {\n    padding-right: 3rem !important; }\n  .pb-lg-5,\n  .py-lg-5 {\n    padding-bottom: 3rem !important; }\n  .pl-lg-5,\n  .px-lg-5 {\n    padding-left: 3rem !important; }\n  .m-lg-n1 {\n    margin: -0.25rem !important; }\n  .mt-lg-n1,\n  .my-lg-n1 {\n    margin-top: -0.25rem !important; }\n  .mr-lg-n1,\n  .mx-lg-n1 {\n    margin-right: -0.25rem !important; }\n  .mb-lg-n1,\n  .my-lg-n1 {\n    margin-bottom: -0.25rem !important; }\n  .ml-lg-n1,\n  .mx-lg-n1 {\n    margin-left: -0.25rem !important; }\n  .m-lg-n2 {\n    margin: -0.5rem !important; }\n  .mt-lg-n2,\n  .my-lg-n2 {\n    margin-top: -0.5rem !important; }\n  .mr-lg-n2,\n  .mx-lg-n2 {\n    margin-right: -0.5rem !important; }\n  .mb-lg-n2,\n  .my-lg-n2 {\n    margin-bottom: -0.5rem !important; }\n  .ml-lg-n2,\n  .mx-lg-n2 {\n    margin-left: -0.5rem !important; }\n  .m-lg-n3 {\n    margin: -1rem !important; }\n  .mt-lg-n3,\n  .my-lg-n3 {\n    margin-top: -1rem !important; }\n  .mr-lg-n3,\n  .mx-lg-n3 {\n    margin-right: -1rem !important; }\n  .mb-lg-n3,\n  .my-lg-n3 {\n    margin-bottom: -1rem !important; }\n  .ml-lg-n3,\n  .mx-lg-n3 {\n    margin-left: -1rem !important; }\n  .m-lg-n4 {\n    margin: -1.5rem !important; }\n  .mt-lg-n4,\n  .my-lg-n4 {\n    margin-top: -1.5rem !important; }\n  .mr-lg-n4,\n  .mx-lg-n4 {\n    margin-right: -1.5rem !important; }\n  .mb-lg-n4,\n  .my-lg-n4 {\n    margin-bottom: -1.5rem !important; }\n  .ml-lg-n4,\n  .mx-lg-n4 {\n    margin-left: -1.5rem !important; }\n  .m-lg-n5 {\n    margin: -3rem !important; }\n  .mt-lg-n5,\n  .my-lg-n5 {\n    margin-top: -3rem !important; }\n  .mr-lg-n5,\n  .mx-lg-n5 {\n    margin-right: -3rem !important; }\n  .mb-lg-n5,\n  .my-lg-n5 {\n    margin-bottom: -3rem !important; }\n  .ml-lg-n5,\n  .mx-lg-n5 {\n    margin-left: -3rem !important; }\n  .m-lg-auto {\n    margin: auto !important; }\n  .mt-lg-auto,\n  .my-lg-auto {\n    margin-top: auto !important; }\n  .mr-lg-auto,\n  .mx-lg-auto {\n    margin-right: auto !important; }\n  .mb-lg-auto,\n  .my-lg-auto {\n    margin-bottom: auto !important; }\n  .ml-lg-auto,\n  .mx-lg-auto {\n    margin-left: auto !important; } }\n\n@media (min-width: 1200px) {\n  .m-xl-0 {\n    margin: 0 !important; }\n  .mt-xl-0,\n  .my-xl-0 {\n    margin-top: 0 !important; }\n  .mr-xl-0,\n  .mx-xl-0 {\n    margin-right: 0 !important; }\n  .mb-xl-0,\n  .my-xl-0 {\n    margin-bottom: 0 !important; }\n  .ml-xl-0,\n  .mx-xl-0 {\n    margin-left: 0 !important; }\n  .m-xl-1 {\n    margin: 0.25rem !important; }\n  .mt-xl-1,\n  .my-xl-1 {\n    margin-top: 0.25rem !important; }\n  .mr-xl-1,\n  .mx-xl-1 {\n    margin-right: 0.25rem !important; }\n  .mb-xl-1,\n  .my-xl-1 {\n    margin-bottom: 0.25rem !important; }\n  .ml-xl-1,\n  .mx-xl-1 {\n    margin-left: 0.25rem !important; }\n  .m-xl-2 {\n    margin: 0.5rem !important; }\n  .mt-xl-2,\n  .my-xl-2 {\n    margin-top: 0.5rem !important; }\n  .mr-xl-2,\n  .mx-xl-2 {\n    margin-right: 0.5rem !important; }\n  .mb-xl-2,\n  .my-xl-2 {\n    margin-bottom: 0.5rem !important; }\n  .ml-xl-2,\n  .mx-xl-2 {\n    margin-left: 0.5rem !important; }\n  .m-xl-3 {\n    margin: 1rem !important; }\n  .mt-xl-3,\n  .my-xl-3 {\n    margin-top: 1rem !important; }\n  .mr-xl-3,\n  .mx-xl-3 {\n    margin-right: 1rem !important; }\n  .mb-xl-3,\n  .my-xl-3 {\n    margin-bottom: 1rem !important; }\n  .ml-xl-3,\n  .mx-xl-3 {\n    margin-left: 1rem !important; }\n  .m-xl-4 {\n    margin: 1.5rem !important; }\n  .mt-xl-4,\n  .my-xl-4 {\n    margin-top: 1.5rem !important; }\n  .mr-xl-4,\n  .mx-xl-4 {\n    margin-right: 1.5rem !important; }\n  .mb-xl-4,\n  .my-xl-4 {\n    margin-bottom: 1.5rem !important; }\n  .ml-xl-4,\n  .mx-xl-4 {\n    margin-left: 1.5rem !important; }\n  .m-xl-5 {\n    margin: 3rem !important; }\n  .mt-xl-5,\n  .my-xl-5 {\n    margin-top: 3rem !important; }\n  .mr-xl-5,\n  .mx-xl-5 {\n    margin-right: 3rem !important; }\n  .mb-xl-5,\n  .my-xl-5 {\n    margin-bottom: 3rem !important; }\n  .ml-xl-5,\n  .mx-xl-5 {\n    margin-left: 3rem !important; }\n  .p-xl-0 {\n    padding: 0 !important; }\n  .pt-xl-0,\n  .py-xl-0 {\n    padding-top: 0 !important; }\n  .pr-xl-0,\n  .px-xl-0 {\n    padding-right: 0 !important; }\n  .pb-xl-0,\n  .py-xl-0 {\n    padding-bottom: 0 !important; }\n  .pl-xl-0,\n  .px-xl-0 {\n    padding-left: 0 !important; }\n  .p-xl-1 {\n    padding: 0.25rem !important; }\n  .pt-xl-1,\n  .py-xl-1 {\n    padding-top: 0.25rem !important; }\n  .pr-xl-1,\n  .px-xl-1 {\n    padding-right: 0.25rem !important; }\n  .pb-xl-1,\n  .py-xl-1 {\n    padding-bottom: 0.25rem !important; }\n  .pl-xl-1,\n  .px-xl-1 {\n    padding-left: 0.25rem !important; }\n  .p-xl-2 {\n    padding: 0.5rem !important; }\n  .pt-xl-2,\n  .py-xl-2 {\n    padding-top: 0.5rem !important; }\n  .pr-xl-2,\n  .px-xl-2 {\n    padding-right: 0.5rem !important; }\n  .pb-xl-2,\n  .py-xl-2 {\n    padding-bottom: 0.5rem !important; }\n  .pl-xl-2,\n  .px-xl-2 {\n    padding-left: 0.5rem !important; }\n  .p-xl-3 {\n    padding: 1rem !important; }\n  .pt-xl-3,\n  .py-xl-3 {\n    padding-top: 1rem !important; }\n  .pr-xl-3,\n  .px-xl-3 {\n    padding-right: 1rem !important; }\n  .pb-xl-3,\n  .py-xl-3 {\n    padding-bottom: 1rem !important; }\n  .pl-xl-3,\n  .px-xl-3 {\n    padding-left: 1rem !important; }\n  .p-xl-4 {\n    padding: 1.5rem !important; }\n  .pt-xl-4,\n  .py-xl-4 {\n    padding-top: 1.5rem !important; }\n  .pr-xl-4,\n  .px-xl-4 {\n    padding-right: 1.5rem !important; }\n  .pb-xl-4,\n  .py-xl-4 {\n    padding-bottom: 1.5rem !important; }\n  .pl-xl-4,\n  .px-xl-4 {\n    padding-left: 1.5rem !important; }\n  .p-xl-5 {\n    padding: 3rem !important; }\n  .pt-xl-5,\n  .py-xl-5 {\n    padding-top: 3rem !important; }\n  .pr-xl-5,\n  .px-xl-5 {\n    padding-right: 3rem !important; }\n  .pb-xl-5,\n  .py-xl-5 {\n    padding-bottom: 3rem !important; }\n  .pl-xl-5,\n  .px-xl-5 {\n    padding-left: 3rem !important; }\n  .m-xl-n1 {\n    margin: -0.25rem !important; }\n  .mt-xl-n1,\n  .my-xl-n1 {\n    margin-top: -0.25rem !important; }\n  .mr-xl-n1,\n  .mx-xl-n1 {\n    margin-right: -0.25rem !important; }\n  .mb-xl-n1,\n  .my-xl-n1 {\n    margin-bottom: -0.25rem !important; }\n  .ml-xl-n1,\n  .mx-xl-n1 {\n    margin-left: -0.25rem !important; }\n  .m-xl-n2 {\n    margin: -0.5rem !important; }\n  .mt-xl-n2,\n  .my-xl-n2 {\n    margin-top: -0.5rem !important; }\n  .mr-xl-n2,\n  .mx-xl-n2 {\n    margin-right: -0.5rem !important; }\n  .mb-xl-n2,\n  .my-xl-n2 {\n    margin-bottom: -0.5rem !important; }\n  .ml-xl-n2,\n  .mx-xl-n2 {\n    margin-left: -0.5rem !important; }\n  .m-xl-n3 {\n    margin: -1rem !important; }\n  .mt-xl-n3,\n  .my-xl-n3 {\n    margin-top: -1rem !important; }\n  .mr-xl-n3,\n  .mx-xl-n3 {\n    margin-right: -1rem !important; }\n  .mb-xl-n3,\n  .my-xl-n3 {\n    margin-bottom: -1rem !important; }\n  .ml-xl-n3,\n  .mx-xl-n3 {\n    margin-left: -1rem !important; }\n  .m-xl-n4 {\n    margin: -1.5rem !important; }\n  .mt-xl-n4,\n  .my-xl-n4 {\n    margin-top: -1.5rem !important; }\n  .mr-xl-n4,\n  .mx-xl-n4 {\n    margin-right: -1.5rem !important; }\n  .mb-xl-n4,\n  .my-xl-n4 {\n    margin-bottom: -1.5rem !important; }\n  .ml-xl-n4,\n  .mx-xl-n4 {\n    margin-left: -1.5rem !important; }\n  .m-xl-n5 {\n    margin: -3rem !important; }\n  .mt-xl-n5,\n  .my-xl-n5 {\n    margin-top: -3rem !important; }\n  .mr-xl-n5,\n  .mx-xl-n5 {\n    margin-right: -3rem !important; }\n  .mb-xl-n5,\n  .my-xl-n5 {\n    margin-bottom: -3rem !important; }\n  .ml-xl-n5,\n  .mx-xl-n5 {\n    margin-left: -3rem !important; }\n  .m-xl-auto {\n    margin: auto !important; }\n  .mt-xl-auto,\n  .my-xl-auto {\n    margin-top: auto !important; }\n  .mr-xl-auto,\n  .mx-xl-auto {\n    margin-right: auto !important; }\n  .mb-xl-auto,\n  .my-xl-auto {\n    margin-bottom: auto !important; }\n  .ml-xl-auto,\n  .mx-xl-auto {\n    margin-left: auto !important; } }\n\n.text-monospace {\n  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; }\n\n.text-justify {\n  text-align: justify !important; }\n\n.text-wrap {\n  white-space: normal !important; }\n\n.text-nowrap {\n  white-space: nowrap !important; }\n\n.text-truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap; }\n\n.text-left {\n  text-align: left !important; }\n\n.text-right {\n  text-align: right !important; }\n\n.text-center {\n  text-align: center !important; }\n\n@media (min-width: 576px) {\n  .text-sm-left {\n    text-align: left !important; }\n  .text-sm-right {\n    text-align: right !important; }\n  .text-sm-center {\n    text-align: center !important; } }\n\n@media (min-width: 768px) {\n  .text-md-left {\n    text-align: left !important; }\n  .text-md-right {\n    text-align: right !important; }\n  .text-md-center {\n    text-align: center !important; } }\n\n@media (min-width: 992px) {\n  .text-lg-left {\n    text-align: left !important; }\n  .text-lg-right {\n    text-align: right !important; }\n  .text-lg-center {\n    text-align: center !important; } }\n\n@media (min-width: 1200px) {\n  .text-xl-left {\n    text-align: left !important; }\n  .text-xl-right {\n    text-align: right !important; }\n  .text-xl-center {\n    text-align: center !important; } }\n\n.text-lowercase {\n  text-transform: lowercase !important; }\n\n.text-uppercase {\n  text-transform: uppercase !important; }\n\n.text-capitalize {\n  text-transform: capitalize !important; }\n\n.font-weight-light {\n  font-weight: 300 !important; }\n\n.font-weight-lighter {\n  font-weight: lighter !important; }\n\n.font-weight-normal {\n  font-weight: 400 !important; }\n\n.font-weight-bold {\n  font-weight: 700 !important; }\n\n.font-weight-bolder {\n  font-weight: bolder !important; }\n\n.font-italic {\n  font-style: italic !important; }\n\n.text-white {\n  color: #fff !important; }\n\n.text-primary {\n  color: #0074d9 !important; }\n\na.text-primary:hover, a.text-primary:focus {\n  color: #004b8d !important; }\n\n.text-secondary {\n  color: #6c757d !important; }\n\na.text-secondary:hover, a.text-secondary:focus {\n  color: #494f54 !important; }\n\n.text-success {\n  color: #28a745 !important; }\n\na.text-success:hover, a.text-success:focus {\n  color: #19692c !important; }\n\n.text-info {\n  color: #17a2b8 !important; }\n\na.text-info:hover, a.text-info:focus {\n  color: #0f6674 !important; }\n\n.text-warning {\n  color: #ffc107 !important; }\n\na.text-warning:hover, a.text-warning:focus {\n  color: #ba8b00 !important; }\n\n.text-danger {\n  color: #ff4136 !important; }\n\na.text-danger:hover, a.text-danger:focus {\n  color: #e90d00 !important; }\n\n.text-light {\n  color: #f8f9fa !important; }\n\na.text-light:hover, a.text-light:focus {\n  color: #cbd3da !important; }\n\n.text-dark {\n  color: #343a40 !important; }\n\na.text-dark:hover, a.text-dark:focus {\n  color: #121416 !important; }\n\n.text-body {\n  color: #212529 !important; }\n\n.text-muted {\n  color: #6c757d !important; }\n\n.text-black-50 {\n  color: rgba(0, 0, 0, 0.5) !important; }\n\n.text-white-50 {\n  color: rgba(255, 255, 255, 0.5) !important; }\n\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0; }\n\n.text-decoration-none {\n  text-decoration: none !important; }\n\n.text-break {\n  word-break: break-word !important;\n  overflow-wrap: break-word !important; }\n\n.text-reset {\n  color: inherit !important; }\n\n.visible {\n  visibility: visible !important; }\n\n.invisible {\n  visibility: hidden !important; }\n\n@media print {\n  *,\n  *::before,\n  *::after {\n    text-shadow: none !important;\n    box-shadow: none !important; }\n  a:not(.btn) {\n    text-decoration: underline; }\n  abbr[title]::after {\n    content: " (" attr(title) ")"; }\n  pre {\n    white-space: pre-wrap !important; }\n  pre,\n  blockquote {\n    border: 1px solid #adb5bd;\n    page-break-inside: avoid; }\n  thead {\n    display: table-header-group; }\n  tr,\n  img {\n    page-break-inside: avoid; }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3; }\n  h2,\n  h3 {\n    page-break-after: avoid; }\n  @page {\n    size: a3; }\n  body {\n    min-width: 992px !important; }\n  .container {\n    min-width: 992px !important; }\n  .navbar {\n    display: none; }\n  .badge {\n    border: 1px solid #000; }\n  .table {\n    border-collapse: collapse !important; }\n    .table td,\n    .table th {\n      background-color: #fff !important; }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #dee2e6 !important; }\n  .table-dark {\n    color: inherit; }\n    .table-dark th,\n    .table-dark td,\n    .table-dark thead th,\n    .table-dark tbody + tbody {\n      border-color: #dee2e6; }\n  .table .thead-dark th {\n    color: inherit;\n    border-color: #dee2e6; } }\n\n@-webkit-keyframes fadein {\n  from {\n    bottom: 0;\n    opacity: 0; }\n  to {\n    bottom: 30px;\n    opacity: 1; } }\n\n@keyframes fadein {\n  from {\n    bottom: 0;\n    opacity: 0; }\n  to {\n    bottom: 30px;\n    opacity: 1; } }\n\n@-webkit-keyframes fadeout {\n  from {\n    bottom: 30px;\n    opacity: 1; }\n  to {\n    bottom: 0;\n    opacity: 0; } }\n\n@keyframes fadeout {\n  from {\n    bottom: 30px;\n    opacity: 1; }\n  to {\n    bottom: 0;\n    opacity: 0; } }\n\n#snackbar {\n  visibility: hidden;\n  min-width: 250px;\n  margin-left: -125px;\n  background-color: #232527;\n  color: #fff;\n  text-align: center;\n  border-radius: 2px;\n  padding: 16px;\n  position: fixed;\n  z-index: 1;\n  left: 50%;\n  bottom: 30px; }\n\n#snackbar.show {\n  visibility: visible;\n  -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;\n  animation: fadein 0.5s, fadeout 0.5s 2.5s; }\n\n.notify-container {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  -webkit-justify-content: flex-end;\n          justify-content: flex-end;\n  -webkit-align-items: flex-start;\n          align-items: flex-start;\n  -webkit-align-content: flex-start;\n          align-content: flex-start;\n  position: fixed;\n  top: 35px;\n  right: 30%;\n  z-index: 9000; }\n\n.notify-item {\n  width: 250px;\n  margin: 5px 10px;\n  color: #fff;\n  border-radius: 5px;\n  text-align: center; }\n\n.notify-item:hover {\n  opacity: 0.8;\n  box-shadow: 0 0 10px 0 #0f0f0f; }\n\n.notify-item > p {\n  margin: 10px;\n  opacity: 0.8;\n  text-align: center; }\n\n.notify-item.info {\n  background-color: #0066cc; }\n\n.notify-item.success {\n  background-color: rgba(23, 23, 23, 0.9); }\n\n.notify-item.error {\n  background-color: #e80801;\n  color: #fff; }\n\n.notify-title {\n  font-weight: 700; }\n\n.wrapper {\n  margin: 0;\n  padding: 0;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-flow: row;\n          flex-flow: row;\n  height: 100vh;\n  width: 100vw;\n  overflow: hidden; }\n\n.wrapper.loadingRemote {\n  filter: blur(8px);\n  -webkit-filter: blur(8px); }\n\n.d-flex.align-items-center.col-12.position-absolute.h-100 {\n  z-index: 9999; }\n\n.spinner-grow {\n  margin-left: 30px;\n  height: 10rem;\n  width: 10rem; }\n\n@media all and (max-width: 640px) {\n  .wrapper {\n    overflow: auto;\n    -webkit-flex-flow: column;\n            flex-flow: column; } }\n\n.field_info span {\n  margin-right: 5px; }\n\n.content__head {\n  padding: 1.5rem 2em 2rem 2em;\n  height: 2rem;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n          justify-content: space-between;\n  -webkit-align-items: center;\n          align-items: center;\n  background: #fdfdfd; }\n\n.content__head__title {\n  color: #0066cc;\n  font-family: "Titillium Web";\n  font-size: 2rem;\n  font-weight: bold;\n  letter-spacing: -0.33px;\n  line-height: 40px; }\n\n.content__head__help {\n  margin: 10px 20px 0;\n  height: 100%;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  -webkit-align-items: flex-end;\n          align-items: flex-end;\n  -webkit-justify-content: space-around;\n          justify-content: space-around;\n  text-align: right; }\n  .content__head__help a {\n    text-align: right;\n    color: #5c6f82;\n    font-family: "Titillium Web";\n    font-size: 16px;\n    font-weight: bold;\n    line-height: 24px; }\n\n.content__head__status {\n  -webkit-align-self: flex-end;\n          align-self: flex-end;\n  color: #adadad;\n  font-family: "Titillium Web";\n  font-size: 12px;\n  font-weight: 300;\n  line-height: 16px;\n  text-align: right; }\n\n.content__main {\n  padding: 0 2em;\n  -webkit-flex: 1;\n          flex: 1;\n  overflow: auto;\n  top: 0;\n  transition: top 0.8s ease 0s; }\n\n.content {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  background: #fff;\n  -webkit-flex: 5 1 0;\n          flex: 5 1 0;\n  -webkit-order: 0;\n          order: 0;\n  position: relative; }\n\n.content__foot {\n  padding: 0 2em;\n  height: 100px;\n  border-top: 1px solid #e8e8e8;\n  margin-top: 20px;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: center;\n          align-items: center;\n  -webkit-flex-direction: row;\n          flex-direction: row;\n  -webkit-justify-content: center;\n          justify-content: center; }\n\n.content__foot_item {\n  text-align: center; }\n  .content__foot_item button {\n    margin: 0 20px; }\n\n@media all and (max-width: 640px) {\n  .content__head,\n  .content__foot {\n    min-height: 100px; } }\n\n.react-phone-number-input__input:focus {\n  color: #495057 !important;\n  background-color: #fff !important;\n  border-color: #5ab2ff !important;\n  outline: 0 !important;\n  box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.25) !important; }\n\n.react-phone-number-input__icon {\n  line-height: 0 !important; }\n\n.loading {\n  width: 40px;\n  fill: #0066cc; }\n\n.sidebar {\n  background-color: #00264d;\n  color: #fff;\n  -webkit-flex: 2 1 0;\n          flex: 2 1 0;\n  -webkit-order: 3;\n          order: 3;\n  margin: 0;\n  padding: 0;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  -webkit-justify-content: space-between;\n          justify-content: space-between;\n  overflow: hidden;\n  position: relative; }\n\n.sidebar__title {\n  padding: 1em;\n  font-size: 24px;\n  font-weight: bold;\n  line-height: 28px; }\n\n.sidebar__footer_item > .disabled {\n  cursor: not-allowed; }\n\n.sidebar__footer_item > a.disabled img {\n  display: none; }\n\n.sidebar__footer_item > a.disabled span {\n  color: #adb2b8; }\n\n.sidebar__info {\n  font-size: 14px;\n  line-height: 28px;\n  color: #fff;\n  margin-left: 20px;\n  opacity: 0.3; }\n\n.sidebar__prefooter {\n  z-index: 10;\n  position: absolute;\n  width: 100%;\n  padding: 0;\n  margin: 0;\n  background-color: #0066cc;\n  color: #fff;\n  bottom: 0;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  -webkit-justify-content: flex-end;\n          justify-content: flex-end;\n  -webkit-align-items: center;\n          align-items: center; }\n  .sidebar__prefooter img {\n    height: 16px;\n    margin-right: 5px; }\n\n.sidebar__prefooter__close {\n  margin-top: 5px;\n  margin-right: 10px;\n  color: #fff;\n  -webkit-align-self: flex-end;\n          align-self: flex-end; }\n\n.sidebar__prefooter__content {\n  width: 90%;\n  padding: 10px;\n  margin: 20px auto; }\n\n.sidebar__prefooter__content__form {\n  margin: 10px auto;\n  width: 100%;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: row;\n          flex-direction: row; }\n  .sidebar__prefooter__content__form .form-control {\n    width: 100%;\n    background-color: #f4f4f4; }\n\n.sidebar__body {\n  -webkit-flex: 8 0 0;\n          flex: 8 0 0;\n  width: 100%;\n  overflow: auto;\n  display: -webkit-flex;\n  display: flex;\n  position: relative; }\n\n.sidebar__code {\n  -webkit-flex: 1;\n          flex: 1;\n  color: #00ff80; }\n  .sidebar__code pre,\n  .sidebar__code code {\n    margin-top: -10px;\n    padding: 0 18px 18px;\n    color: #00ff80;\n    font-family: "Roboto Mono";\n    font-weight: 300;\n    font-size: 14px;\n    line-height: 18px; }\n\n.sidebar__error {\n  padding: 10px;\n  overflow: auto;\n  font-family: "Roboto Mono";\n  font-weight: 500;\n  font-size: 18px;\n  line-height: 24px;\n  color: #f83e5a;\n  margin-left: 15px; }\n  .sidebar__error img {\n    margin-right: 10px; }\n\n.sidebar__overlay {\n  background-color: rgba(0, 0, 0, 0.7);\n  z-index: 10;\n  -webkit-justify-content: center;\n          justify-content: center;\n  -webkit-align-items: center;\n          align-items: center;\n  width: 100%;\n  height: 100%;\n  position: absolute;\n  display: none; }\n\n.sidebar__footer {\n  position: relative;\n  height: 100px;\n  background-color: #0066cc;\n  color: #fff;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: center;\n          align-items: center;\n  -webkit-flex-direction: row;\n          flex-direction: row;\n  -webkit-justify-content: space-around;\n          justify-content: space-around; }\n\n.sidebar__footer_item {\n  line-height: 40px;\n  -webkit-flex: 1;\n          flex: 1;\n  text-align: center; }\n  .sidebar__footer_item a {\n    color: #fff; }\n  .sidebar__footer_item .span {\n    margin-right: 2px; }\n  .sidebar__footer_item .action {\n    margin-left: 2px;\n    line-height: 24px;\n    font-size: 16px; }\n  .sidebar__footer_item img {\n    height: 20px;\n    margin-right: 2px; }\n\n@media all and (max-width: 640px) {\n  .sidebar {\n    -webkit-order: 0;\n            order: 0;\n    min-height: 100px; } }\n\n.block__wrapper {\n  margin: 10px 0; }\n\n.block {\n  padding: 0 0 1em 0;\n  margin: 0;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  padding: 0; }\n\n.block_heading_oval {\n  height: 40px;\n  width: 40px;\n  border-radius: 50%;\n  background-color: #0066cc;\n  color: #ffffff;\n  font-family: "Roboto Mono";\n  font-size: 21px;\n  font-weight: 500;\n  line-height: 28px;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n          justify-content: center;\n  -webkit-align-items: center;\n          align-items: center; }\n\n.block_heading_title {\n  padding-left: 10px;\n  color: #000000;\n  font-family: "Titillium Web";\n  font-size: 24px;\n  font-weight: bold;\n  line-height: 28px; }\n\n.block_heading {\n  height: 50px;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: row;\n          flex-direction: row;\n  -webkit-align-items: center;\n          align-items: center;\n  padding: 10px; }\n\n.block__item {\n  -webkit-flex-basis: 50%;\n          flex-basis: 50%;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  padding: 10px; }\n\n.block__object {\n  border-bottom: 1px solid #e8e8e8;\n  -webkit-flex: 1 0 100%;\n          flex: 1 0 100%; }\n\n.block__array__remove {\n  top: 35px; }\n\n.block__item--full .block__array .block__array__remove {\n  top: 10px;\n  right: 20px; }\n\n.block__item--full .block__array .block {\n  color: #5c6f82;\n  background-color: #f6f8f8;\n  border-bottom: 1px solid #e8e8e8; }\n\n.block__item--full {\n  padding: 10px;\n  -webkit-flex: 1 0 100%;\n          flex: 1 0 100%;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column; }\n\n@media all and (max-width: 640px) {\n  .block {\n    -webkit-flex-flow: column;\n            flex-flow: column;\n    -webkit-flex-wrap: nowrap;\n            flex-wrap: nowrap; }\n  .block__item {\n    -webkit-flex-basis: 100%;\n            flex-basis: 100%; } }\n\n.error-info {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n          justify-content: center;\n  -webkit-align-items: center;\n          align-items: center;\n  padding: 0;\n  margin: 15px;\n  width: 28px;\n  height: 28px;\n  border-radius: 50%;\n  background: #fff;\n  color: #ff0000; }\n\n.rc-collapse {\n  background-color: #fff;\n  border-radius: 3px;\n  border: 1px solid #fefefe; }\n\n.rc-collapse-anim-active {\n  transition: height 0.2s ease-out; }\n\n.rc-collapse > .rc-collapse-item {\n  border-top: 1px solid #fefefe; }\n\n.rc-collapse > .rc-collapse-item:first-child {\n  border-top: none; }\n\n.rc-collapse > .rc-collapse-item > .rc-collapse-header {\n  height: 56px;\n  line-height: 56px;\n  text-indent: 16px;\n  cursor: pointer;\n  border-bottom: 1px solid #e5e5e5;\n  background: #fff; }\n\n.rc-collapse > .rc-collapse-item > .rc-collapse-header .arrow {\n  display: inline-block;\n  content: "ciao\\20";\n  width: 0;\n  height: 0;\n  font-size: 0;\n  line-height: 0;\n  border-top: 3px solid transparent;\n  border-bottom: 3px solid transparent;\n  border-left: 4px solid #666;\n  vertical-align: middle;\n  margin-right: 8px; }\n\n.rc-collapse > .rc-collapse-item-disabled > .rc-collapse-header {\n  cursor: not-allowed;\n  background-color: #fff; }\n\n.rc-collapse-content {\n  overflow: hidden;\n  padding: 0 8px;\n  background-color: #fff; }\n\n.rc-collapse-content > .rc-collapse-content-box {\n  margin-top: 16px;\n  margin-bottom: 16px; }\n\n.rc-collapse-content-inactive {\n  display: none; }\n\n.rc-collapse-item:last-child > .rc-collapse-content {\n  border-radius: 0 0 3px 3px; }\n\n.rc-collapse > .rc-collapse-item-active > .rc-collapse-header .arrow {\n  border-left: 3px solid transparent;\n  border-right: 3px solid transparent;\n  border-top: 4px solid #fefefe;\n  margin-right: 6px; }\n\n.rc-collapse-item > .rc-collapse-header {\n  font-family: "Titillium Web";\n  font-size: 18px;\n  color: #0073e6;\n  background: #fff; }\n\n.rc-collapse > .rc-collapse-item-active > .rc-collapse-header {\n  color: #fff;\n  border-bottom: none;\n  background: #0066cc; }\n\n.rc-collapse > .rc-collapse-item-active > .rc-collapse-header-error {\n  color: #fff;\n  border-bottom: none;\n  background: #F83E5A; }\n\n/*\n.rc-collapse\n  > .rc-collapse-item\n  .rc-collapse-item-active\n  .error\n  > .rc-collapse-header {\n  color: #fff;\n  background: red;\n  border: 1px solid red;\n}\n\n.rc-collapse-item .rc-collapse-header .error {\n  color: #ff0000;\n}\n\n*/\n.country-switcher {\n  min-height: 80px;\n  z-index: 999;\n  display: none; }\n\n.language-switcher {\n  display: -webkit-flex;\n  display: flex;\n  border-bottom: 1px solid #e8e8e8;\n  margin-bottom: 20px;\n  -webkit-flex-flow: row wrap;\n          flex-flow: row wrap;\n  padding: 0 2em;\n  background: #fdfdfd; }\n\n.language-switcher__link,\n.language-switcher__item {\n  font-size: 18px;\n  color: #0066cc;\n  margin-right: 10px;\n  width: 150px;\n  text-align: center; }\n  .language-switcher__link .language-switcher__item-label,\n  .language-switcher__item .language-switcher__item-label {\n    display: inline-block;\n    width: 80%;\n    padding-bottom: 0.5rem;\n    cursor: pointer; }\n  .language-switcher__link img,\n  .language-switcher__item img {\n    width: 14px;\n    height: 14px;\n    cursor: pointer; }\n\n.language-switcher__item--selected {\n  border-bottom: 1px solid #0066cc;\n  cursor: pointer; }\n\n.language-switcher__link {\n  font-size: 18px;\n  margin-bottom: 10px;\n  color: #0066cc; }\n\n.language-filter__dropdown {\n  padding: 0;\n  margin: 0;\n  cursor: pointer; }\n\n.language-filter {\n  margin-top: -48px;\n  width: 250px;\n  height: 400px; }\n\ninput[type="text"].language-filter__input {\n  margin-top: -5px;\n  border-bottom: none;\n  font-size: 18px;\n  color: #5c6f82;\n  border-bottom: 1px solid #e8e8e8;\n  outline: 0; }\n  input[type="text"].language-filter__input::-webkit-input-placeholder {\n    opacity: 0.4;\n    font-size: 18px; }\n  input[type="text"].language-filter__input:-ms-input-placeholder {\n    opacity: 0.4;\n    font-size: 18px; }\n  input[type="text"].language-filter__input::-ms-input-placeholder {\n    opacity: 0.4;\n    font-size: 18px; }\n  input[type="text"].language-filter__input::placeholder {\n    opacity: 0.4;\n    font-size: 18px; }\n  input[type="text"].language-filter__input:focus {\n    outline: 0;\n    outline-offset: -4px; }\n\n.language-filter__content {\n  overflow-y: scroll;\n  height: 300px; }\n\n.language-filter__content__item {\n  color: #5c6f82;\n  font-size: 18px;\n  font-weight: 500;\n  margin-left: -10px; }\n',""])},function(e,t,n){t=e.exports=n(163)(!1);var r=n(218),i=r(n(310)),o=r(n(310)+"?#iefix"),a=r(n(687)),s=r(n(688)),u=r(n(689)),l=r(n(690)+"#glyphicons_halflingsregular");t.push([e.i,"@font-face {\n  font-family: 'Glyphicons Halflings';\n\n  src:  url("+i+");\n  src:  url("+o+") format('embedded-opentype'), \n        url("+a+") format('woff2'), \n        url("+s+") format('woff'), \n        url("+u+") format('truetype'), \n        url("+l+') format(\'svg\');\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: \'Glyphicons Halflings\';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n  content: "\\2a";\n}\n.glyphicon-plus:before {\n  content: "\\2b";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n  content: "\\20ac";\n}\n.glyphicon-minus:before {\n  content: "\\2212";\n}\n.glyphicon-cloud:before {\n  content: "\\2601";\n}\n.glyphicon-envelope:before {\n  content: "\\2709";\n}\n.glyphicon-pencil:before {\n  content: "\\270f";\n}\n.glyphicon-glass:before {\n  content: "\\e001";\n}\n.glyphicon-music:before {\n  content: "\\e002";\n}\n.glyphicon-search:before {\n  content: "\\e003";\n}\n.glyphicon-heart:before {\n  content: "\\e005";\n}\n.glyphicon-star:before {\n  content: "\\e006";\n}\n.glyphicon-star-empty:before {\n  content: "\\e007";\n}\n.glyphicon-user:before {\n  content: "\\e008";\n}\n.glyphicon-film:before {\n  content: "\\e009";\n}\n.glyphicon-th-large:before {\n  content: "\\e010";\n}\n.glyphicon-th:before {\n  content: "\\e011";\n}\n.glyphicon-th-list:before {\n  content: "\\e012";\n}\n.glyphicon-ok:before {\n  content: "\\e013";\n}\n.glyphicon-remove:before {\n  content: "\\e014";\n}\n.glyphicon-zoom-in:before {\n  content: "\\e015";\n}\n.glyphicon-zoom-out:before {\n  content: "\\e016";\n}\n.glyphicon-off:before {\n  content: "\\e017";\n}\n.glyphicon-signal:before {\n  content: "\\e018";\n}\n.glyphicon-cog:before {\n  content: "\\e019";\n}\n.glyphicon-trash:before {\n  content: "\\e020";\n}\n.glyphicon-home:before {\n  content: "\\e021";\n}\n.glyphicon-file:before {\n  content: "\\e022";\n}\n.glyphicon-time:before {\n  content: "\\e023";\n}\n.glyphicon-road:before {\n  content: "\\e024";\n}\n.glyphicon-download-alt:before {\n  content: "\\e025";\n}\n.glyphicon-download:before {\n  content: "\\e026";\n}\n.glyphicon-upload:before {\n  content: "\\e027";\n}\n.glyphicon-inbox:before {\n  content: "\\e028";\n}\n.glyphicon-play-circle:before {\n  content: "\\e029";\n}\n.glyphicon-repeat:before {\n  content: "\\e030";\n}\n.glyphicon-refresh:before {\n  content: "\\e031";\n}\n.glyphicon-list-alt:before {\n  content: "\\e032";\n}\n.glyphicon-lock:before {\n  content: "\\e033";\n}\n.glyphicon-flag:before {\n  content: "\\e034";\n}\n.glyphicon-headphones:before {\n  content: "\\e035";\n}\n.glyphicon-volume-off:before {\n  content: "\\e036";\n}\n.glyphicon-volume-down:before {\n  content: "\\e037";\n}\n.glyphicon-volume-up:before {\n  content: "\\e038";\n}\n.glyphicon-qrcode:before {\n  content: "\\e039";\n}\n.glyphicon-barcode:before {\n  content: "\\e040";\n}\n.glyphicon-tag:before {\n  content: "\\e041";\n}\n.glyphicon-tags:before {\n  content: "\\e042";\n}\n.glyphicon-book:before {\n  content: "\\e043";\n}\n.glyphicon-bookmark:before {\n  content: "\\e044";\n}\n.glyphicon-print:before {\n  content: "\\e045";\n}\n.glyphicon-camera:before {\n  content: "\\e046";\n}\n.glyphicon-font:before {\n  content: "\\e047";\n}\n.glyphicon-bold:before {\n  content: "\\e048";\n}\n.glyphicon-italic:before {\n  content: "\\e049";\n}\n.glyphicon-text-height:before {\n  content: "\\e050";\n}\n.glyphicon-text-width:before {\n  content: "\\e051";\n}\n.glyphicon-align-left:before {\n  content: "\\e052";\n}\n.glyphicon-align-center:before {\n  content: "\\e053";\n}\n.glyphicon-align-right:before {\n  content: "\\e054";\n}\n.glyphicon-align-justify:before {\n  content: "\\e055";\n}\n.glyphicon-list:before {\n  content: "\\e056";\n}\n.glyphicon-indent-left:before {\n  content: "\\e057";\n}\n.glyphicon-indent-right:before {\n  content: "\\e058";\n}\n.glyphicon-facetime-video:before {\n  content: "\\e059";\n}\n.glyphicon-picture:before {\n  content: "\\e060";\n}\n.glyphicon-map-marker:before {\n  content: "\\e062";\n}\n.glyphicon-adjust:before {\n  content: "\\e063";\n}\n.glyphicon-tint:before {\n  content: "\\e064";\n}\n.glyphicon-edit:before {\n  content: "\\e065";\n}\n.glyphicon-share:before {\n  content: "\\e066";\n}\n.glyphicon-check:before {\n  content: "\\e067";\n}\n.glyphicon-move:before {\n  content: "\\e068";\n}\n.glyphicon-step-backward:before {\n  content: "\\e069";\n}\n.glyphicon-fast-backward:before {\n  content: "\\e070";\n}\n.glyphicon-backward:before {\n  content: "\\e071";\n}\n.glyphicon-play:before {\n  content: "\\e072";\n}\n.glyphicon-pause:before {\n  content: "\\e073";\n}\n.glyphicon-stop:before {\n  content: "\\e074";\n}\n.glyphicon-forward:before {\n  content: "\\e075";\n}\n.glyphicon-fast-forward:before {\n  content: "\\e076";\n}\n.glyphicon-step-forward:before {\n  content: "\\e077";\n}\n.glyphicon-eject:before {\n  content: "\\e078";\n}\n.glyphicon-chevron-left:before {\n  content: "\\e079";\n}\n.glyphicon-chevron-right:before {\n  content: "\\e080";\n}\n.glyphicon-plus-sign:before {\n  content: "\\e081";\n}\n.glyphicon-minus-sign:before {\n  content: "\\e082";\n}\n.glyphicon-remove-sign:before {\n  content: "\\e083";\n}\n.glyphicon-ok-sign:before {\n  content: "\\e084";\n}\n.glyphicon-question-sign:before {\n  content: "\\e085";\n}\n.glyphicon-info-sign:before {\n  content: "\\e086";\n}\n.glyphicon-screenshot:before {\n  content: "\\e087";\n}\n.glyphicon-remove-circle:before {\n  content: "\\e088";\n}\n.glyphicon-ok-circle:before {\n  content: "\\e089";\n}\n.glyphicon-ban-circle:before {\n  content: "\\e090";\n}\n.glyphicon-arrow-left:before {\n  content: "\\e091";\n}\n.glyphicon-arrow-right:before {\n  content: "\\e092";\n}\n.glyphicon-arrow-up:before {\n  content: "\\e093";\n}\n.glyphicon-arrow-down:before {\n  content: "\\e094";\n}\n.glyphicon-share-alt:before {\n  content: "\\e095";\n}\n.glyphicon-resize-full:before {\n  content: "\\e096";\n}\n.glyphicon-resize-small:before {\n  content: "\\e097";\n}\n.glyphicon-exclamation-sign:before {\n  content: "\\e101";\n}\n.glyphicon-gift:before {\n  content: "\\e102";\n}\n.glyphicon-leaf:before {\n  content: "\\e103";\n}\n.glyphicon-fire:before {\n  content: "\\e104";\n}\n.glyphicon-eye-open:before {\n  content: "\\e105";\n}\n.glyphicon-eye-close:before {\n  content: "\\e106";\n}\n.glyphicon-warning-sign:before {\n  content: "\\e107";\n}\n.glyphicon-plane:before {\n  content: "\\e108";\n}\n.glyphicon-calendar:before {\n  content: "\\e109";\n}\n.glyphicon-random:before {\n  content: "\\e110";\n}\n.glyphicon-comment:before {\n  content: "\\e111";\n}\n.glyphicon-magnet:before {\n  content: "\\e112";\n}\n.glyphicon-chevron-up:before {\n  content: "\\e113";\n}\n.glyphicon-chevron-down:before {\n  content: "\\e114";\n}\n.glyphicon-retweet:before {\n  content: "\\e115";\n}\n.glyphicon-shopping-cart:before {\n  content: "\\e116";\n}\n.glyphicon-folder-close:before {\n  content: "\\e117";\n}\n.glyphicon-folder-open:before {\n  content: "\\e118";\n}\n.glyphicon-resize-vertical:before {\n  content: "\\e119";\n}\n.glyphicon-resize-horizontal:before {\n  content: "\\e120";\n}\n.glyphicon-hdd:before {\n  content: "\\e121";\n}\n.glyphicon-bullhorn:before {\n  content: "\\e122";\n}\n.glyphicon-bell:before {\n  content: "\\e123";\n}\n.glyphicon-certificate:before {\n  content: "\\e124";\n}\n.glyphicon-thumbs-up:before {\n  content: "\\e125";\n}\n.glyphicon-thumbs-down:before {\n  content: "\\e126";\n}\n.glyphicon-hand-right:before {\n  content: "\\e127";\n}\n.glyphicon-hand-left:before {\n  content: "\\e128";\n}\n.glyphicon-hand-up:before {\n  content: "\\e129";\n}\n.glyphicon-hand-down:before {\n  content: "\\e130";\n}\n.glyphicon-circle-arrow-right:before {\n  content: "\\e131";\n}\n.glyphicon-circle-arrow-left:before {\n  content: "\\e132";\n}\n.glyphicon-circle-arrow-up:before {\n  content: "\\e133";\n}\n.glyphicon-circle-arrow-down:before {\n  content: "\\e134";\n}\n.glyphicon-globe:before {\n  content: "\\e135";\n}\n.glyphicon-wrench:before {\n  content: "\\e136";\n}\n.glyphicon-tasks:before {\n  content: "\\e137";\n}\n.glyphicon-filter:before {\n  content: "\\e138";\n}\n.glyphicon-briefcase:before {\n  content: "\\e139";\n}\n.glyphicon-fullscreen:before {\n  content: "\\e140";\n}\n.glyphicon-dashboard:before {\n  content: "\\e141";\n}\n.glyphicon-paperclip:before {\n  content: "\\e142";\n}\n.glyphicon-heart-empty:before {\n  content: "\\e143";\n}\n.glyphicon-link:before {\n  content: "\\e144";\n}\n.glyphicon-phone:before {\n  content: "\\e145";\n}\n.glyphicon-pushpin:before {\n  content: "\\e146";\n}\n.glyphicon-usd:before {\n  content: "\\e148";\n}\n.glyphicon-gbp:before {\n  content: "\\e149";\n}\n.glyphicon-sort:before {\n  content: "\\e150";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: "\\e151";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: "\\e152";\n}\n.glyphicon-sort-by-order:before {\n  content: "\\e153";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: "\\e154";\n}\n.glyphicon-sort-by-attributes:before {\n  content: "\\e155";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: "\\e156";\n}\n.glyphicon-unchecked:before {\n  content: "\\e157";\n}\n.glyphicon-expand:before {\n  content: "\\e158";\n}\n.glyphicon-collapse-down:before {\n  content: "\\e159";\n}\n.glyphicon-collapse-up:before {\n  content: "\\e160";\n}\n.glyphicon-log-in:before {\n  content: "\\e161";\n}\n.glyphicon-flash:before {\n  content: "\\e162";\n}\n.glyphicon-log-out:before {\n  content: "\\e163";\n}\n.glyphicon-new-window:before {\n  content: "\\e164";\n}\n.glyphicon-record:before {\n  content: "\\e165";\n}\n.glyphicon-save:before {\n  content: "\\e166";\n}\n.glyphicon-open:before {\n  content: "\\e167";\n}\n.glyphicon-saved:before {\n  content: "\\e168";\n}\n.glyphicon-import:before {\n  content: "\\e169";\n}\n.glyphicon-export:before {\n  content: "\\e170";\n}\n.glyphicon-send:before {\n  content: "\\e171";\n}\n.glyphicon-floppy-disk:before {\n  content: "\\e172";\n}\n.glyphicon-floppy-saved:before {\n  content: "\\e173";\n}\n.glyphicon-floppy-remove:before {\n  content: "\\e174";\n}\n.glyphicon-floppy-save:before {\n  content: "\\e175";\n}\n.glyphicon-floppy-open:before {\n  content: "\\e176";\n}\n.glyphicon-credit-card:before {\n  content: "\\e177";\n}\n.glyphicon-transfer:before {\n  content: "\\e178";\n}\n.glyphicon-cutlery:before {\n  content: "\\e179";\n}\n.glyphicon-header:before {\n  content: "\\e180";\n}\n.glyphicon-compressed:before {\n  content: "\\e181";\n}\n.glyphicon-earphone:before {\n  content: "\\e182";\n}\n.glyphicon-phone-alt:before {\n  content: "\\e183";\n}\n.glyphicon-tower:before {\n  content: "\\e184";\n}\n.glyphicon-stats:before {\n  content: "\\e185";\n}\n.glyphicon-sd-video:before {\n  content: "\\e186";\n}\n.glyphicon-hd-video:before {\n  content: "\\e187";\n}\n.glyphicon-subtitles:before {\n  content: "\\e188";\n}\n.glyphicon-sound-stereo:before {\n  content: "\\e189";\n}\n.glyphicon-sound-dolby:before {\n  content: "\\e190";\n}\n.glyphicon-sound-5-1:before {\n  content: "\\e191";\n}\n.glyphicon-sound-6-1:before {\n  content: "\\e192";\n}\n.glyphicon-sound-7-1:before {\n  content: "\\e193";\n}\n.glyphicon-copyright-mark:before {\n  content: "\\e194";\n}\n.glyphicon-registration-mark:before {\n  content: "\\e195";\n}\n.glyphicon-cloud-download:before {\n  content: "\\e197";\n}\n.glyphicon-cloud-upload:before {\n  content: "\\e198";\n}\n.glyphicon-tree-conifer:before {\n  content: "\\e199";\n}\n.glyphicon-tree-deciduous:before {\n  content: "\\e200";\n}\n.glyphicon-cd:before {\n  content: "\\e201";\n}\n.glyphicon-save-file:before {\n  content: "\\e202";\n}\n.glyphicon-open-file:before {\n  content: "\\e203";\n}\n.glyphicon-level-up:before {\n  content: "\\e204";\n}\n.glyphicon-copy:before {\n  content: "\\e205";\n}\n.glyphicon-paste:before {\n  content: "\\e206";\n}\n.glyphicon-alert:before {\n  content: "\\e209";\n}\n.glyphicon-equalizer:before {\n  content: "\\e210";\n}\n.glyphicon-king:before {\n  content: "\\e211";\n}\n.glyphicon-queen:before {\n  content: "\\e212";\n}\n.glyphicon-pawn:before {\n  content: "\\e213";\n}\n.glyphicon-bishop:before {\n  content: "\\e214";\n}\n.glyphicon-knight:before {\n  content: "\\e215";\n}\n.glyphicon-baby-formula:before {\n  content: "\\e216";\n}\n.glyphicon-tent:before {\n  content: "\\26fa";\n}\n.glyphicon-blackboard:before {\n  content: "\\e218";\n}\n.glyphicon-bed:before {\n  content: "\\e219";\n}\n.glyphicon-apple:before {\n  content: "\\f8ff";\n}\n.glyphicon-erase:before {\n  content: "\\e221";\n}\n.glyphicon-hourglass:before {\n  content: "\\231b";\n}\n.glyphicon-lamp:before {\n  content: "\\e223";\n}\n.glyphicon-duplicate:before {\n  content: "\\e224";\n}\n.glyphicon-piggy-bank:before {\n  content: "\\e225";\n}\n.glyphicon-scissors:before {\n  content: "\\e226";\n}\n.glyphicon-bitcoin:before {\n  content: "\\e227";\n}\n.glyphicon-btc:before {\n  content: "\\e227";\n}\n.glyphicon-xbt:before {\n  content: "\\e227";\n}\n.glyphicon-yen:before {\n  content: "\\00a5";\n}\n.glyphicon-jpy:before {\n  content: "\\00a5";\n}\n.glyphicon-ruble:before {\n  content: "\\20bd";\n}\n.glyphicon-rub:before {\n  content: "\\20bd";\n}\n.glyphicon-scale:before {\n  content: "\\e230";\n}\n.glyphicon-ice-lolly:before {\n  content: "\\e231";\n}\n.glyphicon-ice-lolly-tasted:before {\n  content: "\\e232";\n}\n.glyphicon-education:before {\n  content: "\\e233";\n}\n.glyphicon-option-horizontal:before {\n  content: "\\e234";\n}\n.glyphicon-option-vertical:before {\n  content: "\\e235";\n}\n.glyphicon-menu-hamburger:before {\n  content: "\\e236";\n}\n.glyphicon-modal-window:before {\n  content: "\\e237";\n}\n.glyphicon-oil:before {\n  content: "\\e238";\n}\n.glyphicon-grain:before {\n  content: "\\e239";\n}\n.glyphicon-sunglasses:before {\n  content: "\\e240";\n}\n.glyphicon-text-size:before {\n  content: "\\e241";\n}\n.glyphicon-text-color:before {\n  content: "\\e242";\n}\n.glyphicon-text-background:before {\n  content: "\\e243";\n}\n.glyphicon-object-align-top:before {\n  content: "\\e244";\n}\n.glyphicon-object-align-bottom:before {\n  content: "\\e245";\n}\n.glyphicon-object-align-horizontal:before {\n  content: "\\e246";\n}\n.glyphicon-object-align-left:before {\n  content: "\\e247";\n}\n.glyphicon-object-align-vertical:before {\n  content: "\\e248";\n}\n.glyphicon-object-align-right:before {\n  content: "\\e249";\n}\n.glyphicon-triangle-right:before {\n  content: "\\e250";\n}\n.glyphicon-triangle-left:before {\n  content: "\\e251";\n}\n.glyphicon-triangle-bottom:before {\n  content: "\\e252";\n}\n.glyphicon-triangle-top:before {\n  content: "\\e253";\n}\n.glyphicon-console:before {\n  content: "\\e254";\n}\n.glyphicon-superscript:before {\n  content: "\\e255";\n}\n.glyphicon-subscript:before {\n  content: "\\e256";\n}\n.glyphicon-menu-left:before {\n  content: "\\e257";\n}\n.glyphicon-menu-right:before {\n  content: "\\e258";\n}\n.glyphicon-menu-down:before {\n  content: "\\e259";\n}\n.glyphicon-menu-up:before {\n  content: "\\e260";\n}\n',""])},function(e,t,n){e.exports=n.p+"448c34a56d699c29117adc64c43affeb.woff2"},function(e,t,n){e.exports=n.p+"fa2772327f55d8198301fdb8bcfc8158.woff"},function(e,t,n){e.exports=n.p+"e18bbf611f2a2e43afc071aa2f4e1512.ttf"},function(e,t,n){e.exports=n.p+"89889688147bd7575d6327160d64e760.svg"},function(e,t,n){e.exports=n.p+"5f2d13c2e7291d5cc913ac84524d55ab.woff2"},function(e,t,n){e.exports=n.p+"b9f25e91023f39c84aad839b06a71f83.woff"},function(e,t,n){e.exports=n.p+"1615bb1c6d9f3aa65c1dc69444072f9a.ttf"},function(e,t,n){e.exports=n.p+"0c4a773d62593e97c460207d3dbb0b62.woff2"},function(e,t,n){e.exports=n.p+"4c2bb99449e72688328d5e800131204c.woff"},function(e,t,n){e.exports=n.p+"4f5848e6a415f5a4964a272d8b633164.ttf"},function(e,t,n){e.exports=n.p+"eb6768ff06901c6f4024db866c17442c.woff2"},function(e,t,n){e.exports=n.p+"b898230d289d9b1e0f861a9d9a383702.woff"},function(e,t,n){e.exports=n.p+"600f2d0861eeddb39f0d8b0ff13ef59c.ttf"},function(e,t,n){e.exports=n.p+"de4ac316b39510e614447b713641a759.woff2"},function(e,t,n){e.exports=n.p+"156a79f7efa6213b9d4933024e80f37d.woff"},function(e,t,n){e.exports=n.p+"a9f517c1ea874345a3951d5ec4ea545c.ttf"},function(e,t,n){e.exports=n.p+"6fcf94b8847dbad082108c490535457d.woff2"},function(e,t,n){e.exports=n.p+"06b572af3d54cd72dfaa0028e85b2880.woff"},function(e,t,n){e.exports=n.p+"c87345ceb65eb56514768c598074a102.ttf"},function(e,t,n){e.exports=n.p+"e99c68d4210c2faa09b7590e8ba57c38.woff2"},function(e,t,n){e.exports=n.p+"d4d81e202ab1792a05eea0622fea3fb8.woff"},function(e,t,n){e.exports=n.p+"eb2b8c98a8fc70a6cf461d7ead627e9e.ttf"},function(e,t,n){e.exports=n.p+"06ee7eaf8c7dbfb643d13c2d2de168e5.woff2"},function(e,t,n){e.exports=n.p+"a4b127a9e2c97d30fc3e39631d533dcd.woff"},function(e,t,n){e.exports=n.p+"a48ac41620cd818c5020d0f4302489ff.ttf"},function(e,t,n){e.exports=n.p+"7fad2d5fbf5f236973d8ec1256c22401.woff2"},function(e,t,n){e.exports=n.p+"318a89207d1d420efc6e3ba79e480732.woff"},function(e,t,n){e.exports=n.p+"c0c4a33786b0278c385d0f647b57490f.ttf"},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var i,o=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(o)?e:(i=0===o.indexOf("//")?o:0===o.indexOf("/")?n+o:r+o.replace(/^\.\//,""),"url("+JSON.stringify(i)+")")})}},function(e,t,n){var r=n(717);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(219)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){t=e.exports=n(163)(!1);var r=n(218),i=r(n(718)),o=r(n(719)+"?#iefix&v=4.1.0"),a=r(n(720)),s=r(n(721)),u=r(n(722)+"#fontawesomeregular"),l=r(n(723)),c=r(n(724));t.push([e.i,'.rw-btn, .rw-input-reset, .rw-input, .rw-dropdown-list-autofill, .rw-filter-input {\n  color: inherit;\n  padding: 0;\n  margin: 0;\n  border: none;\n  box-shadow: none;\n  background: none;\n  background-image: none;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n  touch-action: manipulation; }\n\n.rw-btn::-moz-focus-inner {\n  padding: 0;\n  border: 0; }\n\nselect.rw-input {\n  text-transform: none; }\n\nhtml input[type="button"].rw-input {\n  -webkit-appearance: button;\n  cursor: pointer; }\n\ntextarea.rw-input {\n  overflow: auto;\n  resize: vertical; }\n\nbutton[disabled].rw-input, fieldset[disabled] .rw-input, html input[disabled].rw-input {\n  cursor: not-allowed; }\n\nbutton.rw-input::-moz-focus-inner, input.rw-input::-moz-focus-inner {\n  border: 0;\n  padding: 0; }\n\ninput[type="checkbox"], input[type="radio"] {\n  box-sizing: border-box;\n  padding: 0; }\n\n@font-face {\n  font-family: \'RwWidgets\';\n  font-weight: normal;\n  font-style: normal;\n  src: url('+i+");\n  src: url("+o+') format("embedded-opentype"), url('+a+') format("woff"), url('+s+') format("truetype"), url('+u+") format(\"svg\"); }\n\n.rw-i {\n  display: inline-block;\n  color: inherit;\n  font-family: RwWidgets;\n  font-style: normal;\n  font-weight: normal;\n  font-variant: normal;\n  text-transform: none;\n  -moz-osx-font-smoothing: grayscale;\n  -webkit-font-smoothing: antialiased; }\n\n.rw-i-caret-down:before {\n  content: '\\e803'; }\n\n.rw-i-caret-up:before {\n  content: '\\e800'; }\n\n.rw-i-chevron-left:before {\n  content: '\\f104'; }\n\n.rw-i-chevron-right:before {\n  content: '\\f105'; }\n\n.rw-i-clock-o:before {\n  content: '\\e805'; }\n\n.rw-i-calendar:before {\n  content: '\\e804'; }\n\n.rw-i-search:before {\n  content: '\\e801'; }\n\n.rw-btn {\n  position: relative;\n  color: #333;\n  display: inline-block;\n  text-align: center;\n  vertical-align: middle;\n  border: 1px solid transparent;\n  cursor: pointer;\n  outline: none; }\n\n.rw-state-readonly .rw-btn, .rw-state-disabled .rw-btn {\n  cursor: not-allowed; }\n\n.rw-btn-select {\n  opacity: .75;\n  transition: opacity 150ms ease-in; }\n\n.rw-btn-select:hover, .rw-state-focus .rw-btn-select, :hover > .rw-btn-select {\n  opacity: 1; }\n\n.rw-btn-primary {\n  width: 100%;\n  white-space: normal;\n  line-height: 2em; }\n\n.rw-btn-primary:hover {\n  background-color: #e6e6e6; }\n\n.rw-btn-select[disabled], .rw-btn-primary[disabled], fieldset[disabled] .rw-btn-select, fieldset[disabled] .rw-btn-primary {\n  box-shadow: none;\n  cursor: not-allowed;\n  opacity: .65;\n  pointer-events: none; }\n\n.rw-sr {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0; }\n\n.rw-widget {\n  background-clip: border-box;\n  border: none;\n  color: #333;\n  font-size: 1em;\n  font-family: inherit;\n  outline: none;\n  position: relative; }\n\n.rw-widget, .rw-widget * {\n  box-sizing: border-box; }\n\n.rw-widget:before, .rw-widget *:before, .rw-widget:after, .rw-widget *:after {\n  box-sizing: border-box; }\n\n.rw-widget > .rw-widget-container {\n  width: 100%;\n  margin: 0; }\n\n.rw-widget-container {\n  background-color: #fff;\n  border: #ccc 1px solid;\n  border-radius: 4px; }\n\n.rw-widget-container.rw-state-focus, .rw-state-focus > .rw-widget-container, .rw-widget-container.rw-state-focus:hover, .rw-state-focus > .rw-widget-container:hover {\n  background-color: #fff;\n  border-color: #66afe9;\n  box-shadow: 0 0 8px rgba(102, 175, 233, 0.6); }\n\n.rw-widget-container.rw-state-readonly, .rw-state-readonly > .rw-widget-container {\n  cursor: not-allowed; }\n\n.rw-widget-container.rw-state-disabled, .rw-state-disabled > .rw-widget-container, fieldset[disabled] .rw-widget-container, .rw-widget-container.rw-state-disabled:hover, .rw-state-disabled > .rw-widget-container:hover, fieldset[disabled] .rw-widget-container:hover, .rw-widget-container.rw-state-disabled:active, .rw-state-disabled > .rw-widget-container:active, fieldset[disabled] .rw-widget-container:active {\n  box-shadow: none;\n  cursor: not-allowed; }\n\n.rw-widget-picker {\n  position: relative;\n  overflow: hidden;\n  border-collapse: separate;\n  display: inline-table;\n  height: 2.429em; }\n\n.rw-widget-picker > * {\n  position: relative;\n  border: none;\n  outline: none;\n  width: 100%;\n  height: 100%;\n  display: table-cell; }\n\n.rw-widget-picker > .rw-select {\n  width: 1%;\n  white-space: nowrap; }\n\n.rw-open > .rw-widget-picker {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0; }\n\n.rw-open-up > .rw-widget-picker {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0; }\n\nfieldset[disabled] .rw-widget-picker, .rw-state-disabled > .rw-widget-picker {\n  background-color: #eee; }\n\n.rw-multiselect > .rw-widget-picker {\n  height: auto; }\n\n.rw-select {\n  cursor: pointer; }\n\n.rw-select > * {\n  width: 1.9em;\n  height: 100%; }\n\n.rw-state-readonly .rw-select, .rw-state-disabled .rw-select {\n  cursor: not-allowed; }\n\n.rw-select-bordered {\n  cursor: pointer;\n  border: none;\n  border-left: #ccc 1px solid; }\n\n.rw-select-bordered:hover, .rw-select-bordered:active {\n  background-color: #e6e6e6; }\n\n.rw-select-bordered:active {\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\n\n.rw-state-disabled .rw-select-bordered, .rw-state-readonly .rw-select-bordered, fieldset[disabled] .rw-select-bordered, .rw-state-disabled .rw-select-bordered:hover, .rw-state-readonly .rw-select-bordered:hover, fieldset[disabled] .rw-select-bordered:hover, .rw-state-disabled .rw-select-bordered:active, .rw-state-readonly .rw-select-bordered:active, fieldset[disabled] .rw-select-bordered:active {\n  cursor: not-allowed;\n  background-color: inherit;\n  background-image: none;\n  box-shadow: none; }\n\n.rw-rtl .rw-select-bordered {\n  border-right: #ccc 1px solid;\n  border-left: none; }\n\n.rw-rtl {\n  direction: rtl; }\n\n.rw-input-reset, .rw-input, .rw-dropdown-list-autofill, .rw-filter-input {\n  outline: 0; }\n\n.rw-input-reset::-moz-placeholder {\n  color: #999;\n  opacity: 1; }\n\n.rw-input-reset:-ms-input-placeholder {\n  color: #999; }\n\n.rw-input-reset::-webkit-input-placeholder {\n  color: #999; }\n\n.rw-input, .rw-dropdown-list-autofill, .rw-filter-input {\n  color: #555;\n  padding: 0 .857em;\n  background-color: #fff; }\n\n.rw-input[type=\"text\"]::-ms-clear {\n  display: none; }\n\n.rw-input[disabled], fieldset[disabled] .rw-input {\n  box-shadow: none;\n  cursor: not-allowed;\n  opacity: 1;\n  background-color: #eee;\n  border-color: #ccc; }\n\n.rw-input[readonly] {\n  cursor: not-allowed; }\n\n.rw-i.rw-loading {\n  display: block;\n  background: url("+l+") no-repeat center;\n  min-width: 16px;\n  width: 1.9em;\n  height: 16px; }\n\n.rw-i.rw-loading:before {\n  content: \"\"; }\n\n.rw-placeholder {\n  color: #999; }\n\n.rw-detect-autofill:-webkit-autofill {\n  -webkit-animation-name: react-widgets-autofill-start;\n          animation-name: react-widgets-autofill-start;\n  transition: background-color 50000s ease-in-out 0s; }\n\n.rw-detect-autofill:not(:-webkit-autofill) {\n  -webkit-animation-name: react-widgets-autofill-cancel;\n          animation-name: react-widgets-autofill-cancel; }\n\n.rw-webkit-autofill .rw-widget-container, .rw-input:-webkit-autofill {\n  background-color: #faffbd !important;\n  background-image: none !important;\n  color: #000 !important; }\n\n.rw-widget-input, .rw-filter-input {\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\n\n.rw-widget-input.rw-state-focus {\n  box-shadow: 0 0 8px rgba(102, 175, 233, 0.6), inset 0 1px 1px rgba(0, 0, 0, 0.075); }\n\n.rw-list {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  font-size: 1em;\n  outline: 0;\n  overflow: auto;\n  max-height: 200px; }\n\n.rw-list-option {\n  -ms-user-select: none;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n          user-select: none;\n  color: #333;\n  cursor: pointer;\n  border: 1px solid transparent; }\n\n.rw-list-option.rw-state-focus, .rw-list-option.rw-state-focus:hover {\n  background-color: transparent;\n  border-color: #66afe9;\n  color: #333; }\n\n.rw-list-option:hover, .rw-list-option:hover.rw-state-focus {\n  background-color: #e6e6e6;\n  border-color: #e6e6e6;\n  color: #333; }\n\n.rw-list-option.rw-state-selected, .rw-list-option.rw-state-selected:hover {\n  background-color: #337ab7;\n  border-color: #337ab7;\n  color: white; }\n\nfieldset[disabled] .rw-list-option, .rw-list-option.rw-state-disabled, .rw-list-option.rw-state-readonly {\n  box-shadow: none;\n  cursor: not-allowed;\n  color: #999;\n  opacity: .7; }\n\nfieldset[disabled] .rw-list-option:hover, .rw-list-option.rw-state-disabled:hover, .rw-list-option.rw-state-readonly:hover {\n  background: none;\n  border-color: transparent; }\n\n.rw-list-empty, .rw-list-option, .rw-list-optgroup {\n  padding: .143em .75em;\n  outline: 0; }\n\n.rw-list-optgroup {\n  font-weight: bold;\n  padding-top: 7px; }\n\n.rw-list-option-create {\n  border-top: 1px #ccc solid; }\n\n.rw-dropdown-list-autofill {\n  padding: 0; }\n\n.rw-dropdown-list-input {\n  background-color: transparent;\n  vertical-align: middle;\n  padding-right: 0;\n  max-width: 1px;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  overflow: hidden; }\n\n.rw-rtl .rw-dropdown-list-input {\n  padding-right: .857em;\n  padding-left: 0; }\n\n.rw-filter-input {\n  position: relative;\n  margin: 4px;\n  padding-right: 0; }\n\n.rw-filter-input .rw-rtl {\n  padding-right: .857em;\n  padding-left: 0; }\n\n.rw-filter-input .rw-select, .rw-filter-input .rw-btn {\n  opacity: .75;\n  cursor: text; }\n\n.rw-filter-input > .rw-select, .rw-filter-input > .rw-select:active, .rw-filter-input > .rw-select:hover {\n  background: none;\n  cursor: initial;\n  box-shadow: none; }\n\n.rw-number-picker .rw-btn {\n  cursor: pointer;\n  height: calc(1.2145em - 1px);\n  margin-top: -1px\\9;\n  height: 1.2145em\\9;\n  line-height: 1.2145em;\n  line-height: calc(1.2145em - 1px);\n  display: block;\n  border: none; }\n\n.rw-number-picker .rw-btn:hover, .rw-number-picker .rw-btn:active {\n  background-color: #e6e6e6; }\n\n.rw-number-picker .rw-btn:active {\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\n\n.rw-state-disabled .rw-number-picker .rw-btn, .rw-state-readonly .rw-number-picker .rw-btn, fieldset[disabled] .rw-number-picker .rw-btn, .rw-state-disabled .rw-number-picker .rw-btn:hover, .rw-state-readonly .rw-number-picker .rw-btn:hover, fieldset[disabled] .rw-number-picker .rw-btn:hover, .rw-state-disabled .rw-number-picker .rw-btn:active, .rw-state-readonly .rw-number-picker .rw-btn:active, fieldset[disabled] .rw-number-picker .rw-btn:active {\n  cursor: not-allowed;\n  background-color: inherit;\n  background-image: none;\n  box-shadow: none; }\n\n.rw-number-picker .rw-select {\n  vertical-align: middle; }\n\n.rw-number-picker .rw-select, .rw-number-picker .rw-select:hover, .rw-number-picker .rw-select:active {\n  box-shadow: none; }\n\n.rw-calendar-popup {\n  right: auto;\n  min-width: 0;\n  width: 18em; }\n\n.rw-calendar {\n  border-radius: 4px;\n  background-color: #fff;\n  border: #ccc 1px solid;\n  overflow: hidden; }\n\n.rw-calendar.rw-popup {\n  border-color: #ccc; }\n\n.rw-calendar-now {\n  font-weight: bold; }\n\n.rw-calendar-btn-left, .rw-calendar-btn-right {\n  width: 12.5%; }\n\n.rw-calendar-btn-view {\n  width: 75%; }\n\n.rw-calendar-footer {\n  border-top: 1px solid #ccc; }\n\n.rw-calendar-grid {\n  outline: none;\n  height: 14.28571429em;\n  table-layout: fixed;\n  border-collapse: separate;\n  border-spacing: 0;\n  width: 100%;\n  background-color: #fff; }\n\n.rw-head-cell {\n  text-align: center;\n  border-bottom: 1px solid #ccc;\n  padding: .25em; }\n\n.rw-cell {\n  color: #333;\n  border-radius: 4px;\n  cursor: pointer;\n  line-height: normal;\n  text-align: center;\n  border: 1px solid transparent;\n  padding: .25em; }\n\n.rw-cell:hover {\n  background-color: #e6e6e6;\n  border-color: #e6e6e6;\n  color: #333; }\n\n.rw-cell.rw-state-focus, .rw-cell.rw-state-focus:hover {\n  background-color: transparent;\n  border-color: #66afe9;\n  color: #333; }\n\n.rw-cell.rw-state-selected, .rw-cell.rw-state-selected:hover {\n  background-color: #337ab7;\n  border-color: #337ab7;\n  color: white; }\n\n.rw-cell.rw-state-disabled {\n  color: #999;\n  opacity: .7; }\n\n.rw-cell.rw-state-disabled:hover {\n  background: none;\n  border-color: transparent; }\n\n.rw-calendar-month .rw-cell {\n  text-align: center; }\n\n.rw-cell-off-range {\n  color: #999; }\n\n.rw-calendar-transition-group {\n  position: relative; }\n\n.rw-calendar-transition {\n  transition: -webkit-transform 300ms;\n  transition: transform 300ms;\n  transition: transform 300ms, -webkit-transform 300ms;\n  overflow: hidden; }\n\n.rw-calendar-transition-top {\n  -webkit-transform: translateY(-100%);\n          transform: translateY(-100%); }\n\n.rw-calendar-transition-bottom {\n  -webkit-transform: translateY(100%);\n          transform: translateY(100%); }\n\n.rw-calendar-transition-right {\n  -webkit-transform: translateX(-100%);\n          transform: translateX(-100%); }\n\n.rw-calendar-transition-left {\n  -webkit-transform: translateX(100%);\n          transform: translateX(100%); }\n\n.rw-calendar-transition-entering.rw-calendar-transition-top, .rw-calendar-transition-entered.rw-calendar-transition-top, .rw-calendar-transition-entering.rw-calendar-transition-bottom, .rw-calendar-transition-entered.rw-calendar-transition-bottom {\n  -webkit-transform: translateY(0);\n          transform: translateY(0); }\n\n.rw-calendar-transition-entering.rw-calendar-transition-right, .rw-calendar-transition-entered.rw-calendar-transition-right, .rw-calendar-transition-entering.rw-calendar-transition-left, .rw-calendar-transition-entered.rw-calendar-transition-left {\n  -webkit-transform: translateX(0);\n          transform: translateX(0); }\n\n.rw-calendar-transition-exiting.rw-calendar-transition-top {\n  -webkit-transform: translateY(100%);\n          transform: translateY(100%); }\n\n.rw-calendar-transition-exiting.rw-calendar-transition-bottom {\n  -webkit-transform: translateY(-100%);\n          transform: translateY(-100%); }\n\n.rw-calendar-transition-exiting.rw-calendar-transition-right {\n  -webkit-transform: translateX(100%);\n          transform: translateX(100%); }\n\n.rw-calendar-transition-exiting.rw-calendar-transition-left {\n  -webkit-transform: translateX(-100%);\n          transform: translateX(-100%); }\n\n.rw-select-list {\n  overflow: auto;\n  position: relative; }\n\n.rw-select-list .rw-list {\n  max-height: none;\n  font-size: 1em; }\n\n.rw-select-list-label {\n  display: block;\n  position: relative;\n  font-weight: normal;\n  cursor: inherit;\n  padding-left: 20px;\n  margin: 0; }\n\n.rw-rtl .rw-select-list-label {\n  padding-left: 0;\n  padding-right: 20px; }\n\ninput.rw-select-list-input {\n  position: absolute;\n  left: 0;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n          transform: translateY(-50%);\n  top: 0.1em /9;\n  margin: 0;\n  line-height: normal;\n  cursor: inherit; }\n\n.rw-rtl input.rw-select-list-input {\n  left: auto;\n  right: 0; }\n\n.rw-loading-mask {\n  content: '';\n  background: url("+c+") no-repeat center;\n  position: absolute;\n  background-color: #fff;\n  border-radius: 4px;\n  opacity: .7;\n  top: 0;\n  left: 0;\n  height: 100%;\n  width: 100%; }\n\n.rw-multiselect {\n  cursor: text; }\n\n.rw-multiselect .rw-input-reset {\n  height: calc(2.429em - 2px);\n  margin-top: -2px\\9;\n  height: 2.429em\\9;\n  border-width: 0;\n  width: auto;\n  max-width: 100%;\n  padding: 0 .857em; }\n\n.rw-multiselect .rw-select {\n  vertical-align: middle; }\n\n.rw-multiselect .rw-select, .rw-multiselect .rw-select:hover, .rw-multiselect .rw-select:active {\n  box-shadow: none;\n  background: none; }\n\n.rw-multiselect-taglist {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  display: inline-block;\n  vertical-align: 0;\n  outline: none; }\n\n.rw-multiselect-tag {\n  display: inline-table;\n  color: inherit;\n  padding: 0 .35em 0 .35em;\n  margin-left: calc(0.279335em - 1px);\n  margin-top: .279335em;\n  margin-top: calc(0.279335em - 1px);\n  height: 1.87033em;\n  border-radius: 3px;\n  background-color: #eee;\n  border: 1px solid #ccc;\n  cursor: default;\n  vertical-align: top;\n  text-align: center;\n  overflow: hidden;\n  max-width: 100%; }\n\n.rw-multiselect-tag > * {\n  display: table-cell;\n  vertical-align: middle;\n  height: 100%; }\n\n.rw-rtl .rw-multiselect-tag {\n  margin-left: 0;\n  margin-right: calc(0.279335em - 1px);\n  padding: 0 .35em 0 .35em; }\n\n.rw-multiselect-tag.rw-state-focus, .rw-multiselect-tag.rw-state-focus:hover {\n  background-color: transparent;\n  border-color: #66afe9;\n  color: #333; }\n\n.rw-multiselect-tag.rw-state-readonly, .rw-multiselect-tag.rw-state-disabled, .rw-state-readonly .rw-multiselect-tag, .rw-state-disabled .rw-multiselect-tag, fieldset[disabled] .rw-multiselect-tag {\n  cursor: not-allowed; }\n\n.rw-multiselect-tag.rw-state-disabled, .rw-state-disabled .rw-multiselect-tag, fieldset[disabled] .rw-multiselect-tag {\n  opacity: .65; }\n\nfieldset[disabled] .rw-multiselect-tag {\n  box-shadow: none;\n  cursor: not-allowed; }\n\n.rw-multiselect-tag-btn {\n  color: inherit;\n  margin-left: .25em; }\n\n.rw-rtl .rw-multiselect-tag-btn {\n  margin-left: 0;\n  margin-right: .25em; }\n\n.rw-autocomplete .rw-select {\n  position: absolute;\n  display: block;\n  width: auto;\n  top: 0;\n  bottom: 0;\n  right: 0; }\n\n.rw-popup-container {\n  position: absolute;\n  z-index: 1005;\n  top: 100%;\n  left: -6px;\n  right: -6px; }\n\n.rw-popup-container.rw-dropup {\n  top: auto;\n  bottom: 100%; }\n\n.rw-state-focus .rw-popup-container {\n  z-index: 1006; }\n\n.rw-popup-transition {\n  width: 100%;\n  margin-bottom: 6px;\n  padding: 0 6px; }\n\n.rw-dropup > .rw-popup-transition {\n  margin-bottom: 0;\n  margin-top: 6px; }\n\n.rw-popup {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n  box-shadow: 0 5px 6px rgba(0, 0, 0, 0.2);\n  border: #ccc 1px solid;\n  background: #fff; }\n\n.rw-dropup .rw-popup {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n  box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.2); }\n\n.rw-popup-transition {\n  transition: -webkit-transform 200ms;\n  transition: transform 200ms;\n  transition: transform 200ms, -webkit-transform 200ms; }\n\n.rw-popup-transition-entering {\n  overflow: hidden; }\n\n.rw-popup-transition-entering .rw-popup-transition {\n  -webkit-transform: translateY(0);\n          transform: translateY(0);\n  transition-timing-function: ease-out; }\n\n.rw-popup-transition-exiting .rw-popup-transition {\n  transition-timing-function: ease-in; }\n\n.rw-popup-transition-exiting, .rw-popup-transition-exited {\n  overflow: hidden; }\n\n.rw-popup-transition-exiting .rw-popup-transition, .rw-popup-transition-exited .rw-popup-transition {\n  -webkit-transform: translateY(-100%);\n          transform: translateY(-100%); }\n\n.rw-popup-transition-exiting.rw-dropup .rw-popup-transition, .rw-popup-transition-exited.rw-dropup .rw-popup-transition {\n  -webkit-transform: translateY(100%);\n          transform: translateY(100%); }\n\n.rw-popup-transition-exited {\n  display: none; }\n\n.rw-state-disabled {\n  box-shadow: none;\n  cursor: not-allowed; }\n",""])},function(e,t,n){e.exports=n.p+"bc7c4a59f924cf037aad6e1f9edba366.eot"},function(e,t,n){e.exports=n.p+"bc7c4a59f924cf037aad6e1f9edba366.eot"},function(e,t,n){e.exports=n.p+"12f0820c451bdc75f4d1ef97732bf6e8.woff"},function(e,t,n){e.exports=n.p+"eceddf474df95d8d4a7e316668c3be85.ttf"},function(e,t,n){e.exports=n.p+"792dcd18baf5f544aabcad1883d673c2.svg"},function(e,t){e.exports="data:image/gif;base64,R0lGODlhEAAQAPIAAP///zMzM87OzmdnZzMzM4GBgZqamqenpyH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA=="},function(e,t){e.exports="data:image/gif;base64,R0lGODlhIAAgAOMAAAQCBKyqrBweHAwODPz6/Ly+vCwqLBQWFP///wAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQIBgAAACwAAAAAIAAgAAAEMBDJSau9OOvNu/9gKI5kaZ5oqq5s675wLM90bd94rl+FcAQsAwAwIKyERKOq9/NEAAAh+QQIBgAAACwAAAAAIAAgAIMEAgSEgoTs6uxMSkykpqQ0MjT09vRsbmwcGhyMjoxUVlSsrqz8/vz///8AAAAAAAAENLDJSau9OOvNu/9gKI5kaZ5oqq5s675wLM90TRnEwrADABwrgw+AYBV8CpYgkDDYntDoKgIAIfkECAYAAAAsAAAAACAAIACDBAIEjIqMzMrMNDI07OrsHBoc/Pr8BAYEnJqc1NLUREJEHB4c/P78////AAAAAAAABDOwyUmrvTjrzbv/YCiOZGmeaKqubOt+iaII7AAABbMW92GsiFugRSC8jsikcslsOp/QUAQAIfkECAYAAAAsAAAAACAAIACEBAIEjIqMREJEzMrMZGZkLC4stLa05ObkFBIUfH58nJ6cbG5s/P78BAYEVFZU3N7cbGpsxMLE7OrsFBYUpKKk////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUdgJY5kaZ5oqq5s675wLM90bd94rleHgCS7CgRAjOwIRIBR9yg0IEERI0qtWq/YrHbL7eYeAUNQMiFSdoakY3dAEBVBsFgVAgAh+QQIBgAAACwAAAAAIAAgAIQEAgSEhoTU1tRERkTs7uwsKiysqqzk4uR0cnT8+vw0MjQMDgyUlpRUVlTs6uwEBgTc3tz08vQsLiy8vrzk5uR8enz8/vw0NjScnpxcXlz///8AAAAAAAAAAAAAAAAAAAAFTKAmjmRpnmiqrmzrvnAszzRsXA1Vm9QDAJldSfADDISlDGAxQZYOBKd0Sq1ar9isdsvtek+WigSRmBqKmCmjGJgSJICCbmqBlL/4UwgAIfkECAYAAAAsAAAAACAAIACEBAIEpKKkTE5M3N7cbGpsNDY07O7sDAoMxMLEXF5c5ObkdHJ0VFJU5OLkbG5sPDo89PL0DA4MzMrM////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUbgJI5kaZ5oqq5s675wrCrO0sjqAwAFnh47gA9F2BGGKAQCyWw6n9CodErFSQZSwS4AHQR7T0hkl4giGA5Ddc1uu9/wODUEACH5BAgGAAAALAAAAAAgACAAhQQCBIyKjMTGxDw+PCQiJKyqrOTm5BQWFLy6vGxqbPT29AwKDNze3CwuLJSSlLSytMTCxHR2dPz+/DQ2NAQGBMzKzExOTKyurOzu7BwaHLy+vGxubPz6/AwODOTi5DQyNJSWlP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZiwJBwSCwaj8ikcslsKjEajNPJyAAOnikzAOgGtMtLF3ABL0EWkHnNbrvf8Lh8LYDMhZFu4r7oUu4DXR93BhsJWXeJiouMjY6PbBUTDQh3DV0HHHNWABSacgULFA6JCgqQREEAIfkECAYAAAAsAAAAACAAIACEBAIEhIKExMLEREJE5ObkLCostLK01NLUZGJkFBIUdHZ0lJaU9PL0DA4MzM7M3NrcbGps/Pr8BAYEjIqMxMbENDI0vLq8HBocfHp8nJ6c9Pb03N7cbG5s////AAAAAAAABVlgJ45kaZ5oqq5kNEEOK48KACTMLA82EOurjK0SAbIchpxxyWw6nx3HYgMtCWwNalVUsy22IkPvAA4rKOW0es1uu9/wuHxeVHMAhUeZ0kOUHX1pGBcDBHMyIQAh+QQIBgAAACwAAAAAIAAgAIQEAgSMiozExsRMTkzk5uQsKiysqqxsbmz09vQMCgyUlpRUVlTs7uw8Pjy0trR0dnT8/vycnpwEBgTk4uRUUlTs6uw0MjT8+vwMDgycmpy8urx8enz///8AAAAAAAAAAAAFXCAnjmRpnihJCFfqpo4ENO1rjwOgC3f/6BJC74Z4UDTDpHLJ5FwigUoTddAVIFNTQQeYZEs/gKX2FUEMCkZ5zW673/C4fC5H5AaItoKr0PPbCBQJFHl0hoeIiYchACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTCxERCROTm5CwqLJyenNTS1GxqbPT29BQWFDw6POzu7KyurNza3Hx6fAwKDJyanMzKzFxeXDQyNPz+/BweHLS2tAQGBISGhMTGxExOTOzq7CwuLNTW1HRydPz6/BwaHDw+PPTy9LSytNze3Hx+fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ6wJNwSCwaj0hiArGIJJ/JAGAqgVqJiCmgce0eFIBFotsdeSrkY6URYaStj2kH/U52tI568jMtjPVHIBEZBICGh4iJiouMjY5GDRsmIIweWhmMF1oTjCN3GBqNCRocj4gMI44ZABgGjCAYUyGvYAAdjQILIgemvb6/QkEAIfkECAYAAAAsAAAAACAAIACEBAIEhIaExMbE5ObkREZEpKKk9Pb0HBoclJKU5OLkXFpczM7M7O7sJCYkjI6MTE5MrK6s/P78DA4MjIqMzMrM7OrsTEpM/Pr8HB4cnJqcZGZk1NLU9PL0LCostLK0////BW3gJ46kIXBkqq5qcgDHwM50ANwTravQDUA7mmFhGDkIjuDMBWhUlEHbLQnVFXyequ4SIOS04LB4TC6bxRuCZXEeNW6Ntkhyk8g/Dtz9M0js/4CBgoOEhYYfF093Ai8adw8+G3IKPn5tCQQdGVUhACH5BAgGAAAALAAAAAAgACAAhQQCBIyOjERCRMzKzCQiJGRiZOTm5LSytBQWFHRydNze3Pz6/AwKDJyenFRSVDw+PGxqbNTW1CwqLOzu7Ly+vFxaXAQGBJSWlMzOzCQmJGRmZOzq7BweHHx+fOTi5Pz+/AwODKSipFRWVGxubMTGxP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZywJJwSCwNRo2icskUehgAwKVJZR6igEq1utgMJ5zoYduMhB0f4aaBITcLWIqbPMK259WJIxPA+/+AgYKDgAMEIFOERA9YE4pDjFGOj0YECImUmZqbnJ2en6B/JAObGlEdmQtYCJoSUQ+aChoQBqG2t1VBACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTCxERCROTi5CQiJJyanGRmZNTS1PTy9BQSFDQyNIyOjKSmpMzKzFxaXHx+fPz6/BwaHExOTOzq7CwqLKSipGxubNze3Dw+PJSWlAQGBISGhMTGxERGRJyenGxqbNTW1PT29BQWFDQ2NJSSlKyurMzOzPz+/BweHOzu7CwuLP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaPQJZwSGRFAh5LcclsChmAaMdJbV6igEaVShgUNMKTAlBJbJ0PLEao6kTOzgkWAT+fJIBDHR4R7f+ATARvgU0iAwApa4VLJlgXjEsdWBCRSwwrB2aWnJ2en6ChoqNDhEQCHyqFAhIbHEQaUQWmexlYFEOIUQ6Buhu4QhBRI5t/IQspBkQRGhCLpNDR0tPUTkEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKEzM7MREJEJCIk7OrsnJ6cFBIUNDI09Pb0lJKU3N7cbGpsrK6sDAoMjIqM1NbULC4s9PL0PDo8/P78dHZ0tLa0BAYEhIaE1NLUREZEJCYk7O7spKKkHB4c/Pr8nJqc5OLktLK0DA4MPD48fH58////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABo1Ak3BIFEI0CEtxyWwKSQCAI+GsCj8PhkAYiQI41molegA3HIBSuAqNbk0S8NppiEY+87mgQc03Pxl4flYLHgARcoNNAV4gik4KXkqPTB8VCA+UmpucnZ6foIB9nwUbAB4hoJFRAaANXgagJgETJRSyuLm6u7yaEhK4JRcODaASXhGgCWgAJLIWERoQYUEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKEREJExMLE5OLkJCIkZGZktLa09Pb0NDY0dHJ0FBIUVFJU1NLUnJ6c7OrsDAoMjIqMLCosbG5svL68/P78PD48fHp8XFpc3N7cBAYEhIaETE5MxMbE5ObkbGpsvLq8/Pr8PDo8dHZ0HBoc1NbU7O7sLC4sXF5c////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABonAlHBIHDpIiUZxySx6OqHUQwMACJrY4oEqCnmqAFF2nOKAO6kNhIQmYxVVjUcYirqxiBEDdM+WlH1uG1UKgWQLcRWGWQlVBYtZGSgMJZCWl5iZmpspAwd2nAFVHJxCJGAPpQyOipwmIx8ZpbO0tba3uJAdFK2cI1UGsxBgoJoCVSezHhMTBLmLQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTExsRERkSkoqTk5uRkZmQcHhxUVlS0trT09vScnpwUFhSMiozc3txMTkysqqzs7ux0cnQMCgw0NjRcXly8vrz8/vx8enwEBgSEhoTMzsxMSkykpqTs6uwsKixcWly8urz8+vyMjozk4uRUUlSsrqz08vR0dnT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGicCUcEgciioTzqnIbBILqMCyA6hqnFji5VMtpajVQHZ8qgIOKQUIMIiMx5wq6j0WCQpChSlBzyooABkWfXQWZl6EYyQZcolvCSUoCo6UlZaXmEQnIw1umURxbJ9EE2ajQwhdp0IiHQsiq7Gys7S1toQJBgSxG2a7pwtmEqskDIECsQUQDrfNzoRBACH5BAgGAAAALAAAAAAgACAAhQQCBISGhERCRMTGxGRmZOTm5CQmJKSipPT29FRSVBQWFJSSlHR2dDQ2NLSytExKTOTi5Ozu7AwKDIyOjMzOzCwuLPz+/Hx+fLy6vAQGBIyKjERGRMzKzHRydOzq7CwqLKSmpPz6/FxeXBweHJyanHx6fDw6PLS2tExOTPTy9P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaIQJVwSCRCGpJOcckkWhgGUUpFAFgHzSzRYQVoqF2sVgvqllTHjHK8RFAQqtAGYCiwtZAR3SOM3McBXRN/dwddDoRsIQECg4mPkJGQCCUJGJJNHVYZdphFKGGeRScZAA0hokUFA6iprq+wsbKzHCYbFLF6AB+wFhJWCrEaViSyHnyzycrLzM2iQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsRERkTk5uRcXlwkIiSkoqTU0tT09vS0srRUUlRsamw0MjQUEhSMiozMzsxMTkzs7uwsKiysrqzc3tz8/vy8vrx0cnQMDgzExsRMSkzs6uxkYmQkJiSkpqTU1tT8+vy0trRUVlRsbmw8OjwcHhyMjoz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiUCUcEhMVIYCj0dBbDqfGgcgYkEZAABH9cltLrAADcqEzYS63BBHyAAfKY7MAf0EkRcWTqH0GYa2dE0dYBeBhkIkYBCHhhILHg+MkpOUlUMWDAYFCZZPFGAnnU4HYAGiTQkDABNrp6iusLGys7MIERsIsx5YHrMZZbMPWJGzBAS0yMnKy8zNzq5BACH5BAgGAAAALAAAAAAgACAAhQQCBISChExKTMTGxCQiJGRmZKyqrOTm5BQSFFxaXPT29JyanDw6PHR2dLS2tFRSVNze3AwKDIyKjCwqLOzu7BwaHPz+/Hx+fLy+vISGhExOTNTS1GxqbKyurOzq7GRiZPz6/JyenDw+PHx6fLy6vFRWVOTi5AwODCwuLBweHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaNQJVwSAR1HCBhaCIwEZ/QaAkAKKhMVEAiyoWCsifVJivociENiULFoJZVHwBiYPYSqB/V4XKhDClJdU9YVBOCh0NtAAGIiAoGGI11IBaShwsRJwaWZiARVCmcXRYnhaJdDhModKetrq+wsaIUDwQXskIjWayxHFkOuBApABqBshZ+uMrLzM3Oz9DR0s9BACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTGxERCRKSipOTm5CQiJNTW1GxqbLSytBQWFJSWlPT29DQyNMzOzFRWVKyqrAwKDIyKjOzu7CwuLNze3HR2dLy6vBweHJyenPz+/Dw6PMzKzExKTKSmpOzq7CQmJGxubLS2tBwaHJyanPz6/DQ2NNTS1FxaXKyurAwODIyOjOTi5P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaPwJZwSGxxQpmhZCApOp9EVgQAWLQ8VAAEym0xhIksqhXIrrrOTwPQYUww1FSrAMcU0MUyldD6ZBxDDCdfeEQSWVuFhQwPIwgail0lJyWRhRVwFBOWaHoAJJxdC1kioVwlFiZNpqytrqeEr0QeERGgskMjVBGQuC0gVAq+QgIUFBfDycrLzM3Oz9DR0tPUkUEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKEzMrMPD487O7sLCosnJqcXF5c3N7cFBIUjI6MVFZU/Pr8NDY0pKakbG5s1NLUDAoMREZE9Pb0NDI0pKKklJaUdHZ0BAYEhIaEzM7M9PL0LC4snJ6cZGZk5OLkFBYUlJKUXFpc/P78PDo8rK6sdHJ01NbUTEpM////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABozAlHBITDECkopwonhAitAoUQGoClKmKmgjlU4MlknqUQU4UqTyswtdVFEpTQJQ4HaqFAYbGikLCQJiQgIlgntEbgBwh4cnTxMWYYx7GVUmk5NzABgjmIcNVQWehwgHCyejqaqrowJXrFFZAJewRRhVGLVFoAAUukQIHh4Iv8XGx8jJysvMzc7P0NHOQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsRERkTk5uQkIiSkoqRkZmT09vQ0MjS0srSUkpTU0tQcHhxUVlTs7uwsKix8fnwMCgysrqxsbmz8/vw8Pjy8urycmpzc3tyMjozMysxMTkzs6uwkJiSkpqRsamz8+vw0NjS0trSUlpTU1tRkYmT08vQsLiwMDgz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjkCVcEgUlgaJ0bBzORWfUKIFAJAgVBsJoPCIRgMFhxNCBXRB5Y/3KShHVBPtW7Uob9ZFRZkiPHWFIRoOE3hFIRwAHhmFeAgHEHMPIYx4dVQKlIwRZRiZhQQeABZOnnghBKWpqoYkGn+rTyZUIrBQDWWvtUIHVBa6RRUGJKS/xcbHyMnKy8zNzs/Q0dLTQkEAIfkECAYAAAAsAAAAACAAIACFBAIEjIqMREJExMbELCos5ObkrKqsbG5sNDY09Pb0HBoclJaUDAoMTE5M5OLkNDI07O7stLa0dHZ0PD48/P78nJ6cBAYE1NLULC4s7OrsPDo8/Pr8nJqcVFJUvLq8fHp8////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpFAkHBIHFYUiEtxySwWBhtQxgIACIQUCeYQbS4jVM2mUAVohIYyx7tslAeggEUBBy3KAXZRUrUUhBsUQxAPAAQZehALBhsJEh0ebAVdXhSFABJ6mkQOZQSboBsEVQegoAUBHJSmrK1LCR+Qrmx8AH6zTW5VdbhFYAAIq71DT8LDx8jJysvMzc7P0NHS09TV1slBACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTGxERCRGRmZOTm5KSipBweHFRWVPT29JSSlHR2dLS2tBQWFNze3ExKTOzu7CwqLAwKDIyOjNTS1GxubKyqrFxeXPz+/AQGBISGhMzKzERGRGxqbOzq7CQiJFxaXPz6/JyanHx6fLy6vExOTPTy9DQyNKyurP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaLwJRwSByGLpKHqchsEguLwNICqGqGJobD2cREqoiUoQoICCEHQEbALZrIh1QCkeFAhNQqoS0MCR9VC04UZAptDl97ISgMbQwXExhtBGRsfJdDHZWYnAUDDYKcoqN8GB0fIAmkbShkE6tcImRmsE0JHAARHrVcqry/wMHCw8TFxsfIycrLzM3Oz9BCQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsRMSkwkIiTk4uSkoqR0cnQ0MjQUEhSUkpTU0tT08vRUVlSMiowsKiy0trT8+vwMCgzMysx8fnw8OjwcGhzc2txcXlwEBgSEhoRMTkwkJiTk5uSkpqR0dnQUFhScmpzU1tT09vRcWlyMjowsLiy8vrz8/vzMzsw8Pjz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjsCVcEgslhImUXHJHKI+HNJoVQBYN80sEWIFOFaX7mAIaQQiWqKnSxFSMoSUMGzVaC8fRWQ0AHA6TVxWJFkjIFYHQgxaDA8AGQJZC10VaUMjJwVaESZWCpagQwwGJ6GWIgclaKZpDAlWH6xpKV0qspudAJ+3WQweE7zBwsPExcbHyMnKy8zNzs/Q0dLTz0EAIfkECAYAAAAsAAAAACAAIACFBAIEjI6MzMrMTE5M5ObkJCIktLa0bGpsnJ6cDA4M3N7cXF5c9Pb0PDo81NLUpKakDAoMlJaUVFZU7O7sLCosxMbEfH58FBYUZGZk/P78BAYElJKUzM7MVFJU7OrsJCYkvL68dHJ0pKKkFBIU5OLkZGJk/Pr8PD481NbUrKqs////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABo5AlXBIZCiInFNDQGw6nZURYJARfgCAwnPr7GABFaEUkOBuTR4h5ntUbQCaDVGRInBRBUAnM1k0HkQTaUMVEAAXdk8LXyBmRCFfCFuQWByOQyJfTE8eAx8Bl0QiGAZPDmGhqSoWWBiqoRdfDK+OJ1gftI4kGCVtub/AwcLDxMXGx8jJysvMzc7P0NHS005BACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTCxERCROTi5GRiZCQiJKyqrPTy9HRydJSWlNTS1DQ2NBQSFFRSVIyKjOzq7GxqbLS2tPz6/MzKzCwqLHx+fNze3Dw+PBwaHFxaXAQGBISGhExKTOTm5GRmZKyurPT29HR2dJyenNTW1Dw6PBQWFFRWVIyOjOzu7GxubLy+vPz+/MzOzCwuLP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaNwJdwSJyAJJPh5KFaEJ9Q6AkA+AwTVBMiyi1SAY1h6evsPi+ix5ZBHQxHVEbSrDRQCy+IxZIiUkBbdEMEXxWCRC0OGhdcYwABh0ITGVQYXCEHK5FCKV8ZRB4DDSKbTypUCkRYVAKlRAuMRBFfmq5dBC5VLLZ0u7y/wMHCw8TFxsfIycrLzM3Oz9DR0sVBACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTCxDw+POTi5KSmpBweHFxaXJSSlNTS1PTy9BQWFExOTLSytMzKzCwuLGxqbJyanPz6/AwKDIyKjERGROzq7KyurNze3AQGBMTGxKyqrCQiJFxeXJSWlNTW1PT29BwaHFRWVLy6vMzOzDQ2NHRydJyenPz+/IyOjExKTOzu7P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaRQJZwSGQpTAcS0TJSFJ/Q4QEAWICEjgyAs4pGr8IHFUAQQsYFb9FSAqiuESpjiBgr1cMAWvgRSIYoFCIbeEQUY4SFikYiIRAoi2oaEB6QkUQfJSEnQxgTVCmXRBVUGV0sDWMHokMDY2UsKwZUI6xCAgsZFEQrGx+2RH/Aw8TFxsfIycrLzM3Oz9DR0tPU1daFQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsRMSkzk4uRsamwkIiSsrqzU0tRUVlQMDgyUlpT09vR0dnQ8Ojy8urwMCgzMzsxUUlQsKizc3txcXlycnpz8/vwEBgSEhoTExsRMTkzs7uxsbmwkJiS0trTU1tRcWlwUEhScmpz8+vx8eny8vrz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGi8CTcEgUciSGUnHJbApLgKiAGFlQnEXGaMEQFqKAz/ARVRCww0R0IKQYABvSsAO2oIUQ8JDBKR6iGCB3JxJraB8NEWggCCcMC1yDaBlRDZKSIoAXl3cOUR6cdxQVCYKhRRybp04khQZXq0wfYAWxTBpglrZLJQYbfbvBwsPExcbHyMnKy8zNzs/Qy0EAIfkECAYAAAAsAAAAACAAIACFBAIEhIKEREZExMLEJCIkZGZk5OLkpKKk9PL0VFZUFBIUNDY0tLK0DAoMTE5MfHp87Ors/Pr8lJKULCosXF5cvL68BAYEhIaETEpM3N7cJCYkbG5s5ObkrKqs9Pb0XFpcHB4cPD48tLa0DA4MVFJUfH587O7s/P78////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpFAlHBIHEYoDQyiyGw6UR2A9PKsCgOExBJ1kAICxUwlYkVVvA+hJ2ERmIiiBmDhsTK8GyvJO7BGHAAaGVYPUhYGTR4FEyVCJmRWHg8kFU4SXgxlmkIlXgebmgYaACFboFYnHKerrK2ur7CxskMMIBOVsygnClIEuSgRI1Igv1wjCpnFESfFzc7P0NHS09TV1rBBACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTCxERCRCQiJKSipOTi5BQSFJSWlGxubPTy9DQyNLSytIyKjNTS1ExOTAwKDCwqLOzq7BweHPz6/Ly6vNze3AQGBISGhExKTKyqrBQWFJyenHR2dDw6PLS2tIyOjNTW1FRWVCwuLOzu7Pz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaPQJNwSCyCDqNQcckcWhqfoQFAfTSvQ9KGyhFaqIAMFlsBi4aBy8QxvkoO3LZgMWAvSQhNyWTBMNoUWwALSyULVB1tRBQXVBNLX1QRikQYABddRSUEVAmURBIKTRIYHBSfqKmqq6ytrq+wsbKztLW2t7hjFBwNErQJVAR7shFgFrMdVCPDsSUaCCS50tPUsUEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMLEREJELCos5OLkpKKkFBIUZGZk1NLUtLK0dHZ0DAoM/Pr8vLq8zMrMPD48HB4cbG5s3NrcBAYEjI6MxMbETEpMLC4s5ObkrKqsFBYUbGpstLa0fHp8DA4M/P78vL683N7c////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoPAkXBILAoLHEnGyGRWDoQEkQAAQJpYYaYKGAxBlOoniy1wvUNJdUEuNoaVD0ZKtDzaQxEVge+PEFwCfm0cXBaDQw4BdEMZEAceiEIKVQwikliAVQaYTR1il51MAhUToqeoqaqrrK2ur7CxsrO0tba0IREbGq1UAAxvq77ArA4RB7x4QQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsRERkQkIiTs6uykoqRsamwUEhTU0tQ0MjT09vSsrqx0dnSUkpTMyswsKiwMCgxUVlT08vSsqqx0cnQcGhz8/vyMjozExsRMSkwkJiTs7uykpqRsbmwUFhTc2tw8Ojz8+vy0trR8fnycmpzMzswsLiwMDgz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjsCUcEgUMUYi4jCpbDpTEgDgoBx9IqWnNiWSAlDKjZe5bSqkA+VJilqUU6CGg1kgBTjKzMnCeC8+UhVvg0IJXiGEgyJrAA6JgxMGAo+UlZaXmE0JHhhkmUIcCFIkn0QPXmmlQgsQUgaqQxMdJrC1tre4uaoLHQwXthpSVLALXh+2ZwAStnUYbrrQ0dLThEEAIfkECAYAAAAsAAAAACAAIACFBAIEjIqMREJExMbE5ObkJCIkZGZkrKqsFBYU1NbU9Pb0NDI0fHp8DAoMnJqczM7M7O7sbG5svLq8XFpcLCosHB4c3N7c/P78PD48BAYElJaUTE5MzMrM7OrsbGpstLK0HBoc/Pr8NDY0fH58DA4MpKak1NLU9PL0dHJ0xMLELC4s5OLk////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABopAlnBIZJ1Qk0dxyWwKJwAAQrEMnZxYVRSwKh4aGQ1WSNAMho7oZlmJZkJYCCJ6GCZS8KJWmm9+thNjLAMiKhJjKw1RDoKNQyYoJY6TlJWWl5iZmpucnY4mAhgcnkILUSAXpCBufZxpAAGkQh0EnBYGHrWkFFEYpApbCLIGUSOyg0rHysvMzc7PzUEAIfkECAYAAAAsAAAAACAAIACFBAIEjIqMxMbEREJE5ObkrKqsLC4sZGZk9Pb0vL68dHZ0DA4MnJqc1NbU7O7stLK0PD48bG5s1NLUTE5MNDY0/P78FBYUpKKkBAYElJaUzMrM7OrsrK6sNDI0bGps/Pr8xMLEfH58FBIUnJ6c3N7c9PL0tLa0dHJ0VFZU////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoXAlHBIHBIgi1NxyWwKPYAoyElNfSQlIlRabSIMAFHDSAEcus1CFOBBCzkBklOwDrgzUYvDyYCcEG4TawluaHgAeoVoDwEEio+QjwQDIiGRTlsAApdMB2tTnEUkBhhtoUwfp6qrrK2ur7CxsrO0taEkASauGxZRF60mayitBCJRI664D1VBACH5BAgGAAAALAAAAAAgACAAhQQCBISChERCRMTCxKSmpGRiZCQiJOTi5PTy9HRydDQyNJSWlLy6vFRWVBweHKyurCwqLOzq7Pz6/Hx6fAwODIyOjExOTNTW1GxqbDw6PJyenAQGBISGhERGRKyqrCQmJOTm5PT29HR2dDQ2NJyanLy+vFxeXLSytCwuLOzu7Pz+/Hx+fNze3GxubP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaNQJdwSCxKMI5CqMhsOl0EgHTxrAYMDQRxIQVUqs5Sd0IMCQCjFLh56raY2nVTYgF8WPK8MCXRPz0jDSB+cEQgG1ImhEMhdRAHQhddAotCD10iQyYAFAyVLgxdAUQHap8uIg5Zp6ytrq+wsbKztLW2t7i5QioTKAl9sB5dJLFcUhyxKSh2EbIqLMC60mtBACH5BAgGAAAALAAAAAAgACAAhQQCBIyKjERGRMTGxOTi5FxeXCQmJLSytPTy9AwODGxqbFRSVNTW1Ozq7MTCxJyenDQ2NLy6vBQWFHRydAwKDExOTMzKzOTm5GRmZLS2tPz6/BQSFGxubFRWVNze3Ozu7KSipDw6PP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaCQJFwSCwOPYGDcWlEZoyNBADwYFo/kmmVeJgCOlZmxLsoXjba8LKBpjYDT7XwwpkQREilXB2aQvaAIhRegXsKUwqFew4Rio6PkJGSk5SVlgx3lkIYaZYfXgZCFh6TGm0CIhVTIJMDFQUEHl5/lghSAAWaIgMLHB+6wMHCw8TFxseaQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEhoTExsRMTkwkIiSsqqzk5uRsamy8urwUFhQ0MjSUkpTc2tz09vR0dnQMCgy0srQsLizEwsQ8Pjycmpzk4uT8/vx8fnwEBgSMiozMysxkYmQkJiSsrqzs7uxsbmy8vrwcGhw0NjSUlpTc3tz8+vx8enwMDgy0trT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjcCUcEhsQBjEpHKpLEUAgA5zSpVAAYNlyaEwWagpD8iTMjygpuXoWqCSQoBEJSXZBBrLwHVBzVwDYGUcABFkUx1XUoElJCWBIwMjgZOUlZaXmJmam5ydSwISnkkOUAeiQ2cAGKdCE1AKrGUfB3Oxtre4ubq7vJoaIhEIsU9xjqdwqsaiBQ8YfLENeL1DQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsREQkTk4uQkIiSsqqxkYmT08vQUEhTU0tR0cnSUlpQMCgzs6uw0MjS8uryMiozMzsxUUlRsamz8+vzc2tx8enwEBgSEhoTExsRERkTk5uQsKiy0srT09vQcGhx0dnScnpwMDgzs7uw8Pjy8vrxsbmzc3tz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGicCUcEgUQkoTVHHJbKY+IwBg46wOKxGKJOWQAjpW60KaIKVOAIwnXC15tymCuUqoVEXShz38GQBASk4SBh9sKQZeIYZsEF4Zi2wBHQeFkJZCEgyBl00CUiObnEUhXgyiTB5eCqeoIRqssLGys7S1tre4ubq7s3u1aB0WtBpeB7QSxbUXICUcvJBBACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTGxERCRCQiJKSmpOTm5GxubBQWFDQyNLS2tPT29JSWlAwKDExOTCwqLNTW1KyurOzu7HR2dLy+vPz+/JyenFRWVAQGBIyKjCQmJKyqrOzq7BweHDw+PLy6vPz6/JyanAwODFRSVCwuLOTi5Hx6fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaLwJNwSCRSOohCcckkGgSgoQYAaESbWKECA/Bcp9VrtumgAgTCD1I5xk6oGEN7LlxMRh+6fs/vL0EWGRx+WAdUDxWETA9mJYpLbwAkiY9EFQUMEpURJAMQlUQLDVQDoEMcZiSmQwFVCqtDEguwtLW2t30LZQ6zqwxmDLC/VMGrCyMNI724zM3Oz9BNQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsREQkTk4uQsKiycnpxkZmT08vTU0tQUFhQ8Ojx8enycmpzs6uysrqz8+vzc2twMCgyMjozMysxcXlw0MjR0cnQcHhy0trQEBgSEhoTExsRMTkzk5uQsLixsamz09vTU1tQcGhw8Pjx8fnzs7uy0srT8/vzc3tz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjkCVcEgsEjmnkHFZDIEWDeMEACAxr6oAFUApfrYp7PKwfRTJgJFSXEwoAIv1EBEAhdlGhAiFv6IeDSZ9fQxUH3yDYl9UEYliF1QFco5LEA0bHpSam5ydnp+goaKhDx0lEKIiWxuiGVsVoghfGhyjIRwOo6AmCLobABoGohAaVCPDbwAfowILJAm60dLTWEEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMbEREZE5ObkpKKkJCYk9Pb0lJKUZGZk5OLkHBocjIqMzM7MXFpc7O7sTE5MrK6sPDo8/P78DA4MhIaEzMrMTEpM7OrsLCos/Pr8nJqcfHp8HB4cjI6M1NLU9PL0tLK0////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABodAkXBIPAhAxKRyqVQsAAsCc0qtAK4MJoGDOFCTkSsgstQYrgnqoeEVegYepkJsmDoBBsx3KLlypgFicXsiIAVkUwViIYSNEwFwjZKTlJWWl5iZmh8DFw2aSWd4oEQUVxSkQx5YqUMECq2xsrO0tba3uJYaerECT2mtEGIfrQ5isKkKAxkbk0EAIfkECAYAAAAsAAAAACAAIACFBAIEjIqMREJExMbEZGJk5ObkJCIkrK6sdHJ0FBYUVFJU1NbU9Pb0nJ6cPD48DAoMbGpsLCosvL68XFpclJaUzM7M7O7stLa0fH583N7c/P78BAYEjI6MREZEzMrMZGZk7OrsJCYktLK0dHZ0HB4cVFZU/Pr8pKKkDA4MbG5sLC4sXF5c5OLk////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABobAlnBIbHlSjaJyyRSyHgAApUlliqKASbVqAg0tpOhh21yEFRohqFEhNwlYiZucwrbnVYsiFMD7/yYHF2l/TR1RCIVMFlgkikwRUVoeBihTjy0FGAEMLQ5YFphFn1GhokOUCZenrK2ur7CxsrO0QwMesB9RGK4mWAmvkQAOrxkfEAW1ystuQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsREQkTk4uQkIiScmpxkZmTU0tT08vQUEhQ0MjSMjoykpqTMysxcWlx8fnz8+vwcGhxMTkzs6uwsKiykoqRsbmzc3tw8PjyUlpQEBgSEhoTExsRERkScnpxsamzU1tT09vQUFhQ0NjSUkpSsrqzMzsz8/vwcHhzs7uwsLiz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGj0CWcEhkRQIeS3HJbAoZgGjHSW1eooBGlUoYFDTCkwJQSWydDyxGqOpEzs4JFgE/nySAQx0eEe3/gEwEb4FNIgMAKWuFSyZYF4xLHVgQkUsMKwdmlpydnp+goaKjQ4REAh8qhQISGxxEGlEFpnsZWBRDiFEOgbobuEIQUSObfyELKQZEERoQi6TQ0dLT1E5BACH5BAgGAAAALAAAAAAgACAAhQQCBISChMzOzERCRCQiJOzq7JyenBQSFDQyNPT29JSSlNze3GxqbKyurAwKDIyKjNTW1CwuLPTy9Dw6PPz+/HR2dLS2tAQGBISGhNTS1ERGRCQmJOzu7KSipBweHPz6/JyanOTi5LSytAwODDw+PHx+fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaNQJNwSBRCNAhLcclsCkkAgCPhrAo/D4ZAGIkCONZqJXoANxyAUrgKjW5NEvDaaYhGPvO5oEHNNz8ZeH5WCx4AEXKDTQFeIIpOCl5Kj0wfFQgPlJqbnJ2en6CAfZ8FGwAeIaCRUQGgDV4GoCYBEyUUsri5uru8mhISuCUXDg2gEl4RoAloACSyFhEaEGFBACH5BAgGAAAALAAAAAAgACAAhQQCBISChERCRMTCxOTi5CQiJGRmZLS2tPT29DQ2NHRydBQSFFRSVNTS1JyenOzq7AwKDIyKjCwqLGxubLy+vPz+/Dw+PHx6fFxaXNze3AQGBISGhExOTMTGxOTm5GxqbLy6vPz6/Dw6PHR2dBwaHNTW1Ozu7CwuLFxeXP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaJwJRwSBw6SIlGccksejqh1EMDAAia2OKBKgp5qgBRdpzigDupDYSEJmMVVY1HGIq6sYgRA3TPlpR9bhtVCoFkC3EVhlkJVQWLWRkoDCWQlpeYmZqbKQMHdpwBVRycQiRgD6UMjoqcJiMfGaWztLW2t7iQHRStnCNVBrMQYKCaAlUnsx4TEwS5i0EAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMbEREZEpKKk5ObkZGZkHB4cVFZUtLa09Pb0nJ6cFBYUjIqM3N7cTE5MrKqs7O7sdHJ0DAoMNDY0XF5cvL68/P78fHp8BAYEhIaEzM7MTEpMpKak7OrsLCosXFpcvLq8/Pr8jI6M5OLkVFJUrK6s9PL0dHZ0////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABonAlHBIHIoqE86pyGwSC6jAsgOoapxY4uVTLaWo1UB2fKoCDikFCDCIjMecKuo9FgkKQoUpQc8qKAAZFn10FmZehGMkGXKJbwklKAqOlJWWl5hEJyMNbplEcWyfRBNmo0MIXadCIh0LIquxsrO0tbaECQYEsRtmu6cLZhKrJAyBArEFEA63zc6EQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEhoREQkTExsRkZmTk5uQkJiSkoqT09vRUUlQUFhSUkpR0dnQ0NjS0srRMSkzk4uTs7uwMCgyMjozMzswsLiz8/vx8fny8urwEBgSMioxERkTMysx0cnTs6uwsKiykpqT8+vxcXlwcHhycmpx8enw8Ojy0trRMTkz08vT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiECVcEgkQhqSTnHJJFoYBlFKRQBYB80s0WEFaKhdrFYL6pZUx4xyvERQEKrQBmAosLWQEd0jjNzHAV0Tf3cHXQ6EbCEBAoOJj5CRkAglCRiSTR1WGXaYRShhnkUnGQANIaJFBQOoqa6vsLGysxwmGxSxegAfsBYSVgqxGlYksh58s8nKy8zNokEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMLEREZE5ObkXF5cJCIkpKKk1NLU9Pb0tLK0VFJUbGpsNDI0FBIUjIqMzM7MTE5M7O7sLCosrK6s3N7c/P78vL68dHJ0DA4MxMbETEpM7OrsZGJkJCYkpKak1NbU/Pr8tLa0VFZUbG5sPDo8HB4cjI6M////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABolAlHBITFSGAo9HQWw6nxoHIGJBGQAAR/XJbS6wAA3KhM2EutwQR8gAHymOzAH9BJEXFk6h9BmGtnRNHWAXgYZCJGAQh4YSCx4PjJKTlJVDFgwGBQmWTxRgJ51OB2ABok0JAwATa6eorrCxsrOzCBEbCLMeWB6zGWWzD1iRswQEtMjJysvMzc6uQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoRMSkzExsQkIiRkZmSsqqzk5uQUEhRcWlz09vScmpw8Ojx0dnS0trRUUlTc3twMCgyMiowsKizs7uwcGhz8/vx8fny8vryEhoRMTkzU0tRsamysrqzs6uxkYmT8+vycnpw8Pjx8eny8urxUVlTk4uQMDgwsLiwcHhz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjUCVcEgEdRwgYWgiMBGf0GgJACioTFRAIsqFgrIn1SYr6HIhDYlCxaCWVR8AYmD2Eqgf1eFyoQwpSXVPWFQTgodDbQABiIgKBhiNdSAWkocLEScGlmYgEVQpnF0WJ4WiXQ4TKHSnra6vsLGiFA8EF7JCI1mssRxZDrgQKQAagbIWfrjKy8zNzs/Q0dLPQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTExsREQkSkoqTk5uQkIiTU1tRsamy0srQUFhSUlpT09vQ0MjTMzsxUVlSsqqwMCgyMiozs7uwsLizc3tx0dnS8urwcHhycnpz8/vw8OjzMysxMSkykpqTs6uwkJiRsbmy0trQcGhycmpz8+vw0NjTU0tRcWlysrqwMDgyMjozk4uT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGj8CWcEhscUKZoWQgKTqfRFYEAFi0PFQABMptMYSJLKoVyK66zk8D0GFMMNRUqwDHFNDFMpXQ+mQcQwwnX3hEEllbhYUMDyMIGopdJSclkYUVcBQTlmh6ACScXQtZIqFcJRYmTaasra6nhK9EHhERoLJDI1QRkLgtIFQKvkICFBQXw8nKy8zNzs/Q0dLT1JFBACH5BAgGAAAALAAAAAAgACAAhQQCBISChMzKzDw+POzu7CwqLJyanFxeXNze3BQSFIyOjFRWVPz6/DQ2NKSmpGxubNTS1AwKDERGRPT29DQyNKSipJSWlHR2dAQGBISGhMzOzPTy9CwuLJyenGRmZOTi5BQWFJSSlFxaXPz+/Dw6PKyurHRydNTW1ExKTP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaMwJRwSEwxApKKcKJ4QIrQKFEBqApSpipoI5VODJZJ6lEFOFKk8rMLXVRRKU0CUOB2qhQGGxopCwkCYkICJYJ7RG4AcIeHJ08TFmGMexlVJpOTcwAYI5iHDVUFnocIBwsno6mqq6MCV6xRWQCXsEUYVRi1RaAAFLpECB4eCL/FxsfIycrLzM3Oz9DRzkEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMLEREZE5ObkJCIkpKKkZGZk9Pb0NDI0tLK0lJKU1NLUHB4cVFZU7O7sLCosfH58DAoMrK6sbG5s/P78PD48vLq8nJqc3N7cjI6MzMrMTE5M7OrsJCYkpKakbGps/Pr8NDY0tLa0lJaU1NbUZGJk9PL0LC4sDA4M////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABo5AlXBIFJYGidGwczkVn1CiBQCQIFQbCaDwiEYDBYcTQgV0QeWP9ykoR1QT7Vu1KG/WRUWZIjx1hSEaDhN4RSEcAB4ZhXgIBxBzDyGMeHVUCpSMEWUYmYUEHgAWTp54IQSlqaqGJBp/q08mVCKwUA1lr7VCB1QWukUVBiSkv8XGx8jJysvMzc7P0NHS00JBACH5BAgGAAAALAAAAAAgACAAhQQCBIyKjERCRMTGxCwqLOTm5KyqrGxubDQ2NPT29BwaHJSWlAwKDExOTOTi5DQyNOzu7LS2tHR2dDw+PPz+/JyenAQGBNTS1CwuLOzq7Dw6PPz6/JyanFRSVLy6vHx6fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaRQJBwSBxWFIhLccksFgYbUMYCAAiEFAnmEG0uI1TNplAFaISGMse7bJQHoIBFAQctygF2UVK1FIQbFEMQDwAEGXoQCwYbCRIdHmwFXV4UhQASeppEDmUEm6AbBFUHoKAFARyUpqytSwkfkK5sfAB+s01uVXW4RWAACKu9Q0/Cw8fIycrLzM3Oz9DR0tPU1dbJQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTExsREQkRkZmTk5uSkoqQcHhxUVlT09vSUkpR0dnS0trQUFhTc3txMSkzs7uwsKiwMCgyMjozU0tRsbmysqqxcXlz8/vwEBgSEhoTMysxERkRsamzs6uwkIiRcWlz8+vycmpx8eny8urxMTkz08vQ0MjSsrqz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGi8CUcEgchi6Sh6nIbBILi8DSAqhqhiaGw9nERKqIlKEKCAghB0BGwC2ayIdUApHhQITUKqEtDAkfVQtOFGQKbQ5feyEoDG0MFxMYbQRkbHyXQx2VmJwFAw2CnKKjfBgdHyAJpG0oZBOrXCJkZrBNCRwAER61XKq8v8DBwsPExcbHyMnKy8zNzs/QQkEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMLETEpMJCIk5OLkpKKkdHJ0NDI0FBIUlJKU1NLU9PL0VFZUjIqMLCostLa0/Pr8DAoMzMrMfH58PDo8HBoc3NrcXF5cBAYEhIaETE5MJCYk5ObkpKakdHZ0FBYUnJqc1NbU9Pb0XFpcjI6MLC4svL68/P78zM7MPD48////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABo7AlXBILJYSJlFxyRyiPhzSaFUAWDfNLBFiBThWl+5gCGkEIlqip0sRUjKElDBs1WgvH0VkNABwOk1cViRZIyBWB0IMWgwPABkCWQtdFWlDIycFWhEmVgqWoEMMBiehliIHJWimaQwJVh+saSldKrKbnQCft1kMHhO8wcLDxMXGx8jJysvMzc7P0NHS089BACH5BAgGAAAALAAAAAAgACAAhQQCBIyOjMzKzExOTOTm5CQiJLS2tGxqbJyenAwODNze3FxeXPT29Dw6PNTS1KSmpAwKDJSWlFRWVOzu7CwqLMTGxHx+fBQWFGRmZPz+/AQGBJSSlMzOzFRSVOzq7CQmJLy+vHRydKSipBQSFOTi5GRiZPz6/Dw+PNTW1KyqrP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaOQJVwSGQoiJxTQ0BsOp2VEWCQEX4AgMJz6+xgARWhFJDgbk0eIeZ7VG0Amg1RkSJwUQVAJzNZNB5EE2lDFRAAF3ZPC18gZkQhXwhbkFgcjkMiX0xPHgMfAZdEIhgGTw5hoakqFlgYqqEXXwyvjidYH7SOJBglbbm/wMHCw8TFxsfIycrLzM3Oz9DR0tNOQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsREQkTk4uRkYmQkIiSsqqz08vR0cnSUlpTU0tQ0NjQUEhRUUlSMiozs6uxsamy0trT8+vzMyswsKix8fnzc3tw8PjwcGhxcWlwEBgSEhoRMSkzk5uRkZmSsrqz09vR0dnScnpzU1tQ8OjwUFhRUVlSMjozs7uxsbmy8vrz8/vzMzswsLiz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjcCXcEicgCST4eShWhCfUOgJAPgME1QTIsotUgGNYenr7D4voseWQR0MR1RG0qw0UAsviMWSIlJAW3RDBF8VgkQtDhoXXGMAAYdCExlUGFwhByuRQilfGUQeAw0im08qVApEWFQCpUQLjEQRX5quXQQuVSy2dLu8v8DBwsPExcbHyMnKy8zNzs/Q0dLFQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsQ8Pjzk4uSkpqQcHhxcWlyUkpTU0tT08vQUFhRMTky0srTMyswsLixsamycmpz8+vwMCgyMioxERkTs6uysrqzc3twEBgTExsSsqqwkIiRcXlyUlpTU1tT09vQcGhxUVlS8urzMzsw0NjR0cnScnpz8/vyMjoxMSkzs7uz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGkUCWcEhkKUwHEtEyUhSf0OEBAFiAhI4MgLOKRq/CBxVAEELGBW/RUgKorhEqY4gYK9XDAFr4EUiGKBQiG3hEFGOEhYpGIiEQKItqGhAekJFEHyUhJ0MYE1Qpl0QVVBldLA1jB6JDA2NlLCsGVCOsQgILGRREKxsftkR/wMPExcbHyMnKy8zNzs/Q0dLT1NXWhUEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMLETEpM5OLkbGpsJCIkrK6s1NLUVFZUDA4MlJaU9Pb0dHZ0PDo8vLq8DAoMzM7MVFJULCos3N7cXF5cnJ6c/P78BAYEhIaExMbETE5M7O7sbG5sJCYktLa01NbUXFpcFBIUnJqc/Pr8fHp8vL68////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABovAk3BIFHIkhlJxyWwKS4CogBhZUJxFxmjBEBaigM/wEVUQsMNEdCCkGAAb0rADtqCFEPCQwSkeohggdycSa2gfDRFoIAgnDAtcg2gZUQ2SkiKAF5d3DlEenHcUFQmCoUUcm6dOJIUGV6tMH2AFsUwaYJa2SyUGG327wcLDxMXGx8jJysvMzc7P0MtBACH5BAgGAAAALAAAAAAgACAAhQQCBISChERGRMTCxCQiJGRmZOTi5KSipPTy9FRWVBQSFDQ2NLSytAwKDExOTHx6fOzq7Pz6/JSSlCwqLFxeXLy+vAQGBISGhExKTNze3CQmJGxubOTm5KyqrPT29FxaXBweHDw+PLS2tAwODFRSVHx+fOzu7Pz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaRQJRwSBxGKA0MoshsOlEdgPTyrAoDhMQSdZACAsVMJWJFVbwPoSdhEZiIogZg4bEyvBsryTuwRhwAGhlWD1IWBk0eBRMlQiZkVh4PJBVOEl4MZZpCJV4Hm5oGGgAhW6BWJxynq6ytrq+wsbJDDCATlbMoJwpSBLkoESNSIL9cIwqZxREnxc3Oz9DR0tPU1dawQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsREQkQkIiSkoqTk4uQUEhSUlpRsbmz08vQ0MjS0srSMiozU0tRMTkwMCgwsKizs6uwcHhz8+vy8urzc3twEBgSEhoRMSkysqqwUFhScnpx0dnQ8Ojy0trSMjozU1tRUVlQsLizs7uz8/vz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGj0CTcEgsgg6jUHHJHFoan6EBQH00r0PShsoRWqiADBZbAYuGgcvEMb5KDty2YDFgL0kITclkwTDaFFsAC0slC1QdbUQUF1QTS19UEYpEGAAXXUUlBFQJlEQSCk0SGBwUn6ipqqusra6vsLGys7S1tre4YxQcDRK0CVQEe7IRYBazHVQjw7ElGggkudLT1LFBACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTCxERCRCwqLOTi5KSipBQSFGRmZNTS1LSytHR2dAwKDPz6/Ly6vMzKzDw+PBweHGxubNza3AQGBIyOjMTGxExKTCwuLOTm5KyqrBQWFGxqbLS2tHx6fAwODPz+/Ly+vNze3P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaDwJFwSCwKCxxJxshkVg6EBJEAAECaWGGmChgMQZTqJ4stcL1DSXVBLjaGlQ9GSrQ82kMRFYHvjxBcAn5tHFwWg0MOAXRDGRAHHohCClUMIpJYgFUGmE0dYpedTAIVE6KnqKmqq6ytrq+wsbKztLW2tCERGxqtVAAMb6u+wKwOEQe8eEEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMLEREZE7OrsJCIkpKKkbGpsFBIU1NLU9Pb0PDo8rK6slJKUzMrMLCosdHZ0DAoMVFZU9PL0rKqsHBoc/P78jI6MxMbETEpM7O7sJCYkpKakdHJ0FBYU3Nrc/Pr8tLa0nJqczM7MLC4sfH58DA4M////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn3Ak3BIBDFCIOIwqWw6TxIA4KAMeSKip/YEkgJMyo2XuW0upAMlSWpSlE8fSINJgAQ0SgypwngrPFIdb4NCCV4LhIMgawANiYMTBgKPlJWWl5hNCR0XZJlCGiZSJZ9EDl5ppUIKD1IGqkMTHCOwtba3uLm6u7y9vr/AwcKVQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSUlpTMzsxMTkzs7uwkIiS0srRsamzc3twMDgz8+vw0NjTEwsR8enykpqQMCgzU1tRkZmT09vQsKix0cnTk5uTMyswEBgScmpzU0tRcWlz08vS8urxsbmzk4uQUFhT8/vw8PjzExsR8fnysqqwsLiz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGeUCTcEg0bSgaQXHJbAo1AMBHslRsnNhSFOApkh6XAFZYCYiGmOhgWYheFFjCJ0oaQhjw4iT6yTcNWxpjJiILJRxjHg9RGIOOQxkUDo+UlZaXmJmam5ydnp+goaKjoggRBxWhewAhoBJbH6ERUSOiIkqkubq7vL2+mEEAIfkECAYAAAAsAAAAACAAIACFBAIEjIqMxMbEPD48rKqs5ObkbGpsNDI0vL689PL0DA4MnJqc1NbUTE5MtLK0dHJ01NLU7O7s/Pr8FBYUpKKkBAYElJaUzMrMREJErK6s7OrsbG5sNDY0xMLE9Pb0FBIUnJ6c3N7cVFZUtLa0dHZ0////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnLAknBIHBYGikdxyWwKDYBox0ktSSAJIlRabXoOgA/DyAEYuk1C1IwWZgIhp2AdaFuik4hzMXh42g1rCG1odwB5hGgOAQWJjo+QkZKTlJWWl5iZmpucnZ6foKGihCEBI5kaE1EUmCNrIpgFH1EgmaUOVUEAIfkECAYAAAAsAAAAACAAIACEBAIEhIKEREJExMLEZGJk5OLkpKakJCIkdHZ09PL0tLK0PDo8/Pr8nJqcTE5MbGpsLC4sfH58HB4cjI6M3N7c7O7srK6sJCYkfHp89Pb0vLq8/P78VFZUbG5s////AAAABVygJ45kyTwSkZVs63oGIDdvHRxcQjYyMNWuQQ9DSggAiwqwpeh1WMpli+EAXCjSrKjC0Hq/Ih24RgVACmOXpYdIM3sBdwshycnv+Lx+z+/7/4CBgoOEhYaHiIlAIQAh+QQIBgAAACwAAAAAIAAgAIQEAgSMiozExsRERkTk4uS0srRcXlz8+vwUFhTs6uycnpzU1tRUUlS8urwUEhTk5uS0trRkZmQkJiTs7uykoqTc3txUVlT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVeAljmQ5VkFhriYKmYkDAAprT8hck8UMWDZWw8coPWS04CqmawVeyhVKFa1ar9isdsvter/gsHgcXhDIl0hTPPFJxgfkgCxgGM7ovH7P7/v/gIGCNiEAIfkECAYAAAAsAAAAACAAIACFBAIEhIaExMbETE5MJCIkrKqs5ObkDA4MdHZ0LC4svLq89Pb0lJKU3NrcDAoMtLa0fH58NDY0/P78nJqcBAYEzMrMZGJkJCYkrK6s7O7sFBYUfHp8NDI0xMLE/Pr8lJaU3N7c////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmnAkHBIXDwaxKRyqfQkAAAMc0rtQAGDpQfB2UioSYMDull+rgVwsmMJLJaBK0NNFxougESmXveAPHyBgoOEhYaHiImKi4yNjo+QkZKTlJWWlxURCQqNTwAagIsEUBShigUUFHONHm+XIUEAIfkECAYAAAAsAAAAACAAIACEBAIEhIaEPD483N7cZGJk7O7sJCIkrKqsVFJU5ObkvLq8DAoMREZEdHJ09Pb0NDI0REJE5OLkLCostLK07OrsvL68DA4MdHZ0/Pr8////AAAAAAAAAAAAAAAAAAAAAAAABUtgJo6kqAjIUK5smzkWADBu3VIyINl82ciTnlCUKNgimGHPAQEYVMraIdeI1iq5gLUWkBAc27B4TC6bz+i0es1uu9/wuHxOr9vvrBAAIfkECAYAAAAsAAAAACAAIACEBAIEhIKEJCYk1NbUFBYUpKakREJE7O7stLa0DAoMLC4sHB4c9Pb0rK6svL68DA4MNDI0JCIk/Pr8////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUbgJI4k6SxEUa5sKwoAkEhu3cIybe/jmfLAoHBILBqPyKRyyVw2FIZBk5GIGZqHGEDRnARkiO7kwBCbz+i0es1uu9/wODMEACH5BAgGAAAALAAAAAAgACAAhAQCBISChMTCxDw+POTi5CwuLPTy9JyenBwaHNTS1GRmZPz6/IyOjDw6PAQGBISGhMTGxERCROzu7DQyNPT29LSytBweHNza3HRydPz+/P///wAAAAAAAAAAAAAAAAAAAAVJoCaOZElCFWWu7MoAwNDObQEDF62TCoyou50hgMkFj8ikcslsOp/QqHRKrVqv2Kx2y91KDNUHwHGYLhw+MwJWoAoag0R3TleGAAAh+QQIBgAAACwAAAAAIAAgAIMEAgSEgoTk5uRkZmQkJiSkoqT09vQ8OjyUkpR8enwsKiy0srT8/vz///8AAAAAAAAENbDJSau9OOvNsQiI0Y0MAQDD2AknQKjdcSYwZxRLre987//AoHBILBqPyKRyyWw6n9CoFBoBACH5BAgGAAAALAAAAAAgACAAgwQCBIyKjOTm5ERGRPT29HR2dBweHKyurPz+/Ozu7FxeXPz6/Hx+fCwuLLS2tP///wQ28MlJq7046827/2AojmRpntdyOAhKDQBQuFISAwYtNbGiPwJGgPArGo/IpHLJbDqf0Kh0Go0AACH5BAgGAAAALAAAAAAgACAAgwQCBISGhDQ2NMTCxOzq7BwaHERGRPz6/AQGBJyenDw+PNTW1Ozu7BweHP///wAAAAQy0MlJq7046827/2AojmRpnmiqrmzrvnAsz7R0tEOBBKwC/ISV4YcIqhaCQqLGbDqfrwgAIfkECAYAAAAsAAAAACAAIACA////////Ah6Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4LmwUAOw=="},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),a=(r=o)&&r.__esModule?r:{default:r};var s=function(e){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.wasMounted=!0,e.key=0,e.state={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.Component),i(t,[{key:"componentWillUnmount",value:function(){this.wasMounted=!1}},{key:"success",value:function(e,t,n){this.addNotify(e,t,n,"success")}},{key:"error",value:function(e,t,n){this.addNotify(e,t,n,"error")}},{key:"info",value:function(e,t,n){this.addNotify(e,t,n,"info")}},{key:"addNotify",value:function(e,t,n,r){var i=this,o=this.key++,a=Object.assign(this.state,function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},o,{title:e,msg:t,time:n,theme:r}));this.setState(a,function(){return i.countToHide(n,o)})}},{key:"countToHide",value:function(e,t){var n=this;setTimeout(function(){n.hideNotification(t)},e)}},{key:"hideNotification",value:function(e){this.wasMounted&&this.setState(function(t){return delete t[e],t})}},{key:"item",value:function(e){var t=this,n=this.state[e],r=n.theme,i=n.title,o=n.msg;return a.default.createElement("div",{key:e,className:"notify-item "+r,onClick:function(){return t.hideNotification(e)}},a.default.createElement("p",{className:"notify-title"},i),a.default.createElement("p",{className:"notify-body"},o))}},{key:"render",value:function(){var e=this,t=this.state,n=Object.keys(t).map(function(t){return e.item(t)});return a.default.createElement("div",{className:"notify-container"},n)}}]),t}();t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=N(n(94)),o=N(n(67)),a=N(n(77)),s=N(n(127)),u=N(n(128)),l=N(n(30)),c=N(n(21)),d=N(n(22)),f=N(n(23)),p=N(n(24)),h=n(0),m=N(h),g=n(15),y=n(13),v=n(216),b=n(742),_=n(46),w=n(130),A=N(n(756)),x=N(n(52)),k=N(n(2)),M=N(n(783)),E=N(n(784)),L=N(n(785)),S=N(n(997)),D=N(n(998)),T=N(n(999)),C=I(n(1007)),O=I(n(1133)),j=n(1136),P=n(504);function I(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function N(e){return e&&e.__esModule?e:{default:e}}var F=(0,g.connect)(function(e){return{notifications:e.notifications,cache:e.cache,form:e.form,yamlLoaded:e.yamlLoaded}},function(e){return{initialize:function(t,n){return e((0,y.initialize)(t,n))},submit:function(t){return e((0,y.submit)(t))},notify:function(t){return e((0,v.notify)(t))},setVersions:function(t){return e((0,b.setVersions)(t))}}})(r=function(e){function t(e){(0,c.default)(this,t);var n=(0,f.default)(this,(t.__proto__||(0,l.default)(t)).call(this,e));return n.state={search:null,yaml:null,loading:!1,languages:[],values:{},currentValues:{},currentLanguage:null,country:null,blocks:null,elements:null,activeSection:0,allFields:null,lastGen:null,yamlLoaded:!1},n.onLoadingRemote=n.props.onLoadingRemote.bind(n),n}return(0,p.default)(t,e),(0,d.default)(t,[{key:"initBootstrap",value:function(){$('[data-toggle="dropdown"]').dropdown()}},{key:"componentDidMount",value:function(){var e=(0,u.default)(s.default.mark(function e(){var t,n,r;return s.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.initData();case 2:this.switchLang("en"),t=window.location.search,n=new URLSearchParams(t),(r=n.get("url"))&&this.setState({remoteYml:r});case 7:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"initData",value:function(){var e=(0,u.default)(s.default.mark(function e(){var t,n,r,i,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return s.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("initData"),e.next=3,(0,w.getData)(o);case 3:t=e.sent,n=t.elements,r=t.blocks,i=t.allFields,this.setState({elements:n,blocks:r,country:o,allFields:i}),this.initBootstrap();case 9:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"parseYml",value:function(e){this.setState({loading:!0});var t=null;try{t=A.default.load(e)}catch(e){return void alert("Error loading yaml")}if(t){var n=C.transformBack(t),r=n.languages,i=n.values,o=n.country,a=r?r[0]:null;console.log("update state"),this.setState({yaml:e,languages:r,values:i,country:o,loading:!1,yamlLoaded:!0}),this.switchLang(a),o&&this.switchCountry(o)}else alert("Error loading yaml")}},{key:"generate",value:function(e){var t=(0,k.default)();this.setState({loading:!0,lastGen:t});var n=this.state,r=n.values,i=n.country,o=n.elements,a=C.transform(r,i,o);this.showResults(a)}},{key:"validateExt",value:function(e){var t=e.json();if(e.ok)return t;if(422==e.status)return t.then(function(){throw console.log("validation not ok"),new y.SubmissionError(t)});throw console.error("some network failure occured"),new Error("generic erorr")}},{key:"validateAndGenerate",value:function(e){var t=this,n=(0,k.default)();this.setState({loading:!0,lastGen:n}),this.props.onLoadingRemote(!0);var r=this.state,i=r.values,o=r.country,s=r.elements,u=r.languages;i[u?u[0]:null]=e;var l=C.transform(i,o,s);return this.fakeLoading(),l.publiccodeYmlVersion="0.2",(0,P.postDataForValidation)(l).then(this.validateExt).then(function(e){return t.setState({loading:!1}),t.props.onLoadingRemote(!1),t.showResults(t.removeEmpty(e))}).catch(function(n){if(n instanceof y.SubmissionError)return n.errors.then(function(e){var n={};throw e.map(function(e){var t=e.Key.replace(/\/\*\//gi,"_");"description"!=(t=(t=t.replace(/\//gi,"_")).replace(/_it_/gi,"_"))&&(n[t]=e.Reason)}),t.setState({errors:n,loading:!1}),t.props.onLoadingRemote(!1),new y.SubmissionError(n)});console.error("Generic error with remote validation, using local instead",n);var r=t.validate(e),i={};if((0,a.default)(r).forEach(function(e){r[e]._error||(i[e]=r[e])}),console.log(i),t.setState({loading:!1}),t.props.onLoadingRemote(!1),0!==(0,a.default)(i).length||i.constructor!==Object)throw t.setState({errors:i}),new y.SubmissionError(i);t.showResults(l)})}},{key:"removeEmpty",value:function(e){var t=this;return(0,a.default)(e).forEach(function(n){0===(0,a.default)(e[n]).length&&e[n].constructor===Object&&delete e[n]||e[n]&&"object"===(0,o.default)(e[n])&&t.removeEmpty(e[n])}),e}},{key:"showResults",value:function(e){try{var t=(0,i.default)(j.staticFieldsJson,e),n=A.default.safeDump(t,{forceStyleLiteral:!0}),r=j.staticFieldsYaml+n;this.setState({yaml:r,loading:!1})}catch(e){console.error(e)}}},{key:"submitFeedback",value:function(){var e=this.props.form,t=this.state,n=t.yaml,r=t.yamlLoaded,i="success",o="Success";e[_.APP_FORM].submitErrors?(i="error",o="There are some errors",n=null):r=!1,this.props.notify({type:i,title:"",msg:o,millis:3e3}),this.setState({yaml:n,yamlLoaded:r})}},{key:"fakeLoading",value:function(){var e=this;setTimeout(function(){e.setState({loading:!1})},1e3)}},{key:"validate",value:function(e){var t,n=this.state,r=n.values,o=n.currentLanguage,a=n.elements,s=O.validateRequired(e,a),u=O.validateSubTypes(e,a);return t=(0,i.default)(s,u),console.log(e,t),r[o]=e,this.setState({currentValues:e,values:r,loading:!0,error:null}),this.fakeLoading(),t}},{key:"reset",value:function(){var e=(0,u.default)(s.default.mark(function e(){return s.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.props.initialize(_.APP_FORM,null),this.setState({search:null,yaml:null,loading:!1,languages:[],values:{},currentValues:{},currentLanguage:null,country:null,error:null,blocks:null,elements:null,collapse:!1,activeSection:null}),this.props.notify({type:"info",msg:"Reset"}),e.next=5,this.initData();case 5:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"renderFoot",value:function(){var e={reset:this.reset.bind(this),submitFeedback:this.submitFeedback.bind(this),yamlLoaded:this.state.yamlLoaded};return m.default.createElement(E.default,e)}},{key:"renderSidebar",value:function(){var e=this.state,t={yaml:e.yaml,loading:e.loading,values:e.values,allFields:e.allFields,remoteYml:e.remoteYml,onLoadingRemote:this.onLoadingRemote,onLoad:this.parseYml.bind(this),onReset:this.reset.bind(this)};return m.default.createElement(T.default,t)}},{key:"langSwitcher",value:function(){var e=this.state,t={languages:e.languages,currentLanguage:e.currentLanguage,search:e.search,switchLang:this.switchLang.bind(this),removeLang:this.removeLang.bind(this),onSearch:this.onSearch.bind(this)};return m.default.createElement(D.default,t)}},{key:"removeLang",value:function(e){if(confirm("Are you sure you want to remove '"+e+"'?")){var t=this.state,n=t.values,r=t.languages,o=t.currentValues,s=t.currentLanguage;delete n[e],r.splice(r.indexOf(e),1);var u=(0,a.default)(n)?(0,a.default)(n)[0]:null;(s=u||null)||(s=r?r[0]:null),o=s?(0,i.default)({},n[s]):null,this.setState({values:n,languages:r,currentValues:o,currentLanguage:s}),this.props.initialize(_.APP_FORM,o||{})}}},{key:"onSearch",value:function(e){this.setState({search:e})}},{key:"switchLang",value:function(e){var t=this.state,n=t.values,r=t.languages,o=t.currentValues,a=t.currentLanguage;if(e&&e!==a){if(a&&(n[a]=(0,i.default)({},o)),r.indexOf(e)>-1)o=(0,i.default)({},n[e]);else if(r.push(e),o={},a&&n[a]){var s=x.default.omitBy(n[a],function(e,t){return x.default.startsWith(t,w.SUMMARY+"_")});o=(0,i.default)({},s)}a=e;var u=-1;r&&1==r.length&&(u=0),this.setState({values:n,languages:r,currentValues:o,currentLanguage:a,search:null,activeSection:u}),this.props.initialize(_.APP_FORM,o)}}},{key:"switchCountry",value:function(){var e=(0,u.default)(s.default.mark(function e(t){var n;return s.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.state.currentValues,e.next=3,this.initData(t);case 3:this.props.initialize(_.APP_FORM,n);case 4:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}()},{key:"onAccordion",value:function(e){var t=56*e,n=document.getElementById("content__main").scrollTop-t;n>0?(console.info("diff",n),document.getElementById("content__main").scrollTop=t):console.warn("inviewport"),this.setState({activeSection:e})}},{key:"render",value:function(){var e=this.state,t=e.currentLanguage,n=e.blocks,r=e.activeSection,i=e.country,o=e.allFields,a=e.lastGen,s=e.errors,u=this.props.form;return u&&u[_.APP_FORM],m.default.createElement(h.Fragment,null,m.default.createElement("div",{className:"content"},m.default.createElement(M.default,{lastGen:a}),this.langSwitcher(),m.default.createElement("div",{className:"content__main",id:"content__main"},t&&n&&m.default.createElement(L.default,{activeSection:r,onAccordion:this.onAccordion.bind(this),onSubmit:this.validateAndGenerate.bind(this),data:n,country:i,switchCountry:this.switchCountry.bind(this),errors:s,allFields:o})),t&&this.renderFoot(),m.default.createElement(S.default,null)),this.renderSidebar())}}]),t}(h.Component))||r;t.default=F},function(e,t,n){n(728),e.exports=n(16).Object.keys},function(e,t,n){var r=n(88),i=n(92);n(275)("keys",function(){return function(e){return i(r(e))}})},function(e,t,n){var r=function(){return this}()||Function("return this")(),i=r.regeneratorRuntime&&Object.getOwnPropertyNames(r).indexOf("regeneratorRuntime")>=0,o=i&&r.regeneratorRuntime;if(r.regeneratorRuntime=void 0,e.exports=n(730),i)r.regeneratorRuntime=o;else try{delete r.regeneratorRuntime}catch(e){r.regeneratorRuntime=void 0}},function(e,t){!function(t){"use strict";var n,r=Object.prototype,i=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag",l="object"==typeof e,c=t.regeneratorRuntime;if(c)l&&(e.exports=c);else{(c=t.regeneratorRuntime=l?e.exports:{}).wrap=_;var d="suspendedStart",f="suspendedYield",p="executing",h="completed",m={},g={};g[a]=function(){return this};var y=Object.getPrototypeOf,v=y&&y(y(C([])));v&&v!==r&&i.call(v,a)&&(g=v);var b=k.prototype=A.prototype=Object.create(g);x.prototype=b.constructor=k,k.constructor=x,k[u]=x.displayName="GeneratorFunction",c.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===x||"GeneratorFunction"===(t.displayName||t.name))},c.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,k):(e.__proto__=k,u in e||(e[u]="GeneratorFunction")),e.prototype=Object.create(b),e},c.awrap=function(e){return{__await:e}},M(E.prototype),E.prototype[s]=function(){return this},c.AsyncIterator=E,c.async=function(e,t,n,r){var i=new E(_(e,t,n,r));return c.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},M(b),b[u]="Generator",b[a]=function(){return this},b.toString=function(){return"[object Generator]"},c.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},c.values=C,T.prototype={constructor:T,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=n,this.done=!1,this.delegate=null,this.method="next",this.arg=n,this.tryEntries.forEach(D),!e)for(var t in this)"t"===t.charAt(0)&&i.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=n)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,i){return s.type="throw",s.arg=e,t.next=r,i&&(t.method="next",t.arg=n),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var u=i.call(a,"catchLoc"),l=i.call(a,"finallyLoc");if(u&&l){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,m):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),D(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;D(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:C(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=n),m}}}function _(e,t,n,r){var i=t&&t.prototype instanceof A?t:A,o=Object.create(i.prototype),a=new T(r||[]);return o._invoke=function(e,t,n){var r=d;return function(i,o){if(r===p)throw new Error("Generator is already running");if(r===h){if("throw"===i)throw o;return O()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=L(a,n);if(s){if(s===m)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===d)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var u=w(e,t,n);if("normal"===u.type){if(r=n.done?h:f,u.arg===m)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=h,n.method="throw",n.arg=u.arg)}}}(e,n,a),o}function w(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function A(){}function x(){}function k(){}function M(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function E(e){var t;this._invoke=function(n,r){function o(){return new Promise(function(t,o){!function t(n,r,o,a){var s=w(e[n],e,r);if("throw"!==s.type){var u=s.arg,l=u.value;return l&&"object"==typeof l&&i.call(l,"__await")?Promise.resolve(l.__await).then(function(e){t("next",e,o,a)},function(e){t("throw",e,o,a)}):Promise.resolve(l).then(function(e){u.value=e,o(u)},a)}a(s.arg)}(n,r,t,o)})}return t=t?t.then(o,o):o()}}function L(e,t){var r=e.iterator[t.method];if(r===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=n,L(e,t),"throw"===t.method))return m;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var i=w(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,m;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=n),t.delegate=null,m):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function D(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function C(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,o=function t(){for(;++r<e.length;)if(i.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=n,t.done=!0,t};return o.next=o}}return{next:O}}function O(){return{value:n,done:!0}}}(function(){return this}()||Function("return this")())},function(e,t,n){n(285),n(121),n(150),n(732),n(740),n(741),e.exports=n(16).Promise},function(e,t,n){"use strict";var r,i,o,a,s=n(119),u=n(32),l=n(89),c=n(220),d=n(36),f=n(58),p=n(148),h=n(733),m=n(734),g=n(313),y=n(314).set,v=n(736)(),b=n(222),_=n(315),w=n(737),A=n(316),x=u.TypeError,k=u.process,M=k&&k.versions,E=M&&M.v8||"",L=u.Promise,S="process"==c(k),D=function(){},T=i=b.f,C=!!function(){try{var e=L.resolve(1),t=(e.constructor={})[n(33)("species")]=function(e){e(D,D)};return(S||"function"==typeof PromiseRejectionEvent)&&e.then(D)instanceof t&&0!==E.indexOf("6.6")&&-1===w.indexOf("Chrome/66")}catch(e){}}(),O=function(e){var t;return!(!f(e)||"function"!=typeof(t=e.then))&&t},$=function(e,t){if(!e._n){e._n=!0;var n=e._c;v(function(){for(var r=e._v,i=1==e._s,o=0,a=function(t){var n,o,a,s=i?t.ok:t.fail,u=t.resolve,l=t.reject,c=t.domain;try{s?(i||(2==e._h&&I(e),e._h=1),!0===s?n=r:(c&&c.enter(),n=s(r),c&&(c.exit(),a=!0)),n===t.promise?l(x("Promise-chain cycle")):(o=O(n))?o.call(n,u,l):u(n)):l(r)}catch(e){c&&!a&&c.exit(),l(e)}};n.length>o;)a(n[o++]);e._c=[],e._n=!1,t&&!e._h&&j(e)})}},j=function(e){y.call(u,function(){var t,n,r,i=e._v,o=P(e);if(o&&(t=_(function(){S?k.emit("unhandledRejection",i,e):(n=u.onunhandledrejection)?n({promise:e,reason:i}):(r=u.console)&&r.error&&r.error("Unhandled promise rejection",i)}),e._h=S||P(e)?2:1),e._a=void 0,o&&t.e)throw t.v})},P=function(e){return 1!==e._h&&0===(e._a||e._c).length},I=function(e){y.call(u,function(){var t;S?k.emit("rejectionHandled",e):(t=u.onrejectionhandled)&&t({promise:e,reason:e._v})})},N=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),$(t,!0))},F=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw x("Promise can't be resolved itself");(t=O(e))?v(function(){var r={_w:n,_d:!1};try{t.call(e,l(F,r,1),l(N,r,1))}catch(e){N.call(r,e)}}):(n._v=e,n._s=1,$(n,!1))}catch(e){N.call({_w:n,_d:!1},e)}}};C||(L=function(e){h(this,L,"Promise","_h"),p(e),r.call(this);try{e(l(F,this,1),l(N,this,1))}catch(e){N.call(this,e)}},(r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(738)(L.prototype,{then:function(e,t){var n=T(g(this,L));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=S?k.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&$(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r;this.promise=e,this.resolve=l(F,e,1),this.reject=l(N,e,1)},b.f=T=function(e){return e===L||e===a?new o(e):i(e)}),d(d.G+d.W+d.F*!C,{Promise:L}),n(149)(L,"Promise"),n(739)("Promise"),a=n(16).Promise,d(d.S+d.F*!C,"Promise",{reject:function(e){var t=T(this);return(0,t.reject)(e),t.promise}}),d(d.S+d.F*(s||!C),"Promise",{resolve:function(e){return A(s&&this===a?L:this,e)}}),d(d.S+d.F*!(C&&n(317)(function(e){L.all(e).catch(D)})),"Promise",{all:function(e){var t=this,n=T(t),r=n.resolve,i=n.reject,o=_(function(){var n=[],o=0,a=1;m(e,!1,function(e){var s=o++,u=!1;n.push(void 0),a++,t.resolve(e).then(function(e){u||(u=!0,n[s]=e,--a||r(n))},i)}),--a||r(n)});return o.e&&i(o.v),n.promise},race:function(e){var t=this,n=T(t),r=n.reject,i=_(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}})},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(89),i=n(311),o=n(312),a=n(41),s=n(203),u=n(221),l={},c={};(t=e.exports=function(e,t,n,d,f){var p,h,m,g,y=f?function(){return e}:u(e),v=r(n,d,t?2:1),b=0;if("function"!=typeof y)throw TypeError(e+" is not iterable!");if(o(y)){for(p=s(e.length);p>b;b++)if((g=t?v(a(h=e[b])[0],h[1]):v(e[b]))===l||g===c)return g}else for(m=y.call(e);!(h=m.next()).done;)if((g=i(m,v,h.value,t))===l||g===c)return g}).BREAK=l,t.RETURN=c},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(32),i=n(314).set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,u="process"==n(122)(a);e.exports=function(){var e,t,n,l=function(){var r,i;for(u&&(r=a.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(u)n=function(){a.nextTick(l)};else if(!o||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var c=s.resolve(void 0);n=function(){c.then(l)}}else n=function(){i.call(r,l)};else{var d=!0,f=document.createTextNode("");new o(l).observe(f,{characterData:!0}),n=function(){f.data=d=!d}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},function(e,t,n){var r=n(32).navigator;e.exports=r&&r.userAgent||""},function(e,t,n){var r=n(73);e.exports=function(e,t,n){for(var i in t)n&&e[i]?e[i]=t[i]:r(e,i,t[i]);return e}},function(e,t,n){"use strict";var r=n(32),i=n(16),o=n(51),a=n(42),s=n(33)("species");e.exports=function(e){var t="function"==typeof i[e]?i[e]:r[e];a&&t&&!t[s]&&o.f(t,s,{configurable:!0,get:function(){return this}})}},function(e,t,n){"use strict";var r=n(36),i=n(16),o=n(32),a=n(313),s=n(316);r(r.P+r.R,"Promise",{finally:function(e){var t=a(this,i.Promise||o.Promise),n="function"==typeof e;return this.then(n?function(n){return s(t,e()).then(function(){return n})}:e,n?function(n){return s(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){"use strict";var r=n(36),i=n(222),o=n(315);r(r.S,"Promise",{try:function(e){var t=i.f(this),n=o(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setVersions=t.clearYaml=t.saveYaml=t.SET_VERSIONS=t.RESET_YAML=t.SET_YAML=void 0;var r,i=n(8),o=(r=i)&&r.__esModule?r:{default:r},a=n(269);var s=t.SET_YAML="SET_YAML",u=t.RESET_YAML="RESET_YAML",l=t.SET_VERSIONS="SET_VERSIONS",c=(t.saveYaml=(0,a.createAction)(s),t.clearYaml=(0,a.createAction)(u),t.setVersions=(0,a.createAction)(l),(0,a.handleActions)({SET_YAML:function(e,t){return(0,o.default)({},e,{yml:t.payload})},RESET_YAML:function(e,t){return(0,o.default)({},e,{yml:null})},SET_VERSIONS:function(e,t){return(0,o.default)({},e,{versions:t.payload})}},{yml:null,versions:null}));t.default=c},function(e,t,n){n(121),n(744),e.exports=n(16).Array.from},function(e,t,n){"use strict";var r=n(89),i=n(36),o=n(88),a=n(311),s=n(312),u=n(203),l=n(745),c=n(221);i(i.S+i.F*!n(317)(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,i,d,f=o(e),p="function"==typeof this?this:Array,h=arguments.length,m=h>1?arguments[1]:void 0,g=void 0!==m,y=0,v=c(f);if(g&&(m=r(m,h>2?arguments[2]:void 0,2)),null==v||p==Array&&s(v))for(n=new p(t=u(f.length));t>y;y++)l(n,y,g?m(f[y],y):f[y]);else for(d=v.call(f),n=new p;!(i=d.next()).done;y++)l(n,y,g?a(d,m,[i.value,y],!0):i.value);return n.length=y,n}})},function(e,t,n){"use strict";var r=n(51),i=n(120);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){e.exports={default:n(747),__esModule:!0}},function(e,t,n){n(748),e.exports=n(16).Object.values},function(e,t,n){var r=n(36),i=n(318)(!1);r(r.S,"Object",{values:function(e){return i(e)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fieldsAsync=void 0;var r=s(n(127)),i=s(n(128)),o=s(n(750)),a=s(n(751));function s(e){return e&&e.__esModule?e:{default:e}}var u,l=[{code:"it",name:"italia",fields:o.default}],c=l.map(function(e){return e.code}),d={countrySpec:l,sections:["Name","Repository & Documentation","Software Details","Legal & Reuse","Description & Features","Logo & Screenshots","Purpose & Audience","Maintenance"],groups:["summary","maintenance","legal","intendedAudience","localisation"],available_countries:c};t.fieldsAsync=(u=(0,i.default)(r.default.mark(function e(){return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,a.default)();case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e,void 0)})),function(){return u.apply(this,arguments)});t.default=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=[{title:"countryExtensionVersion",label:"Country Ext. Version",type:"hidden",description:"Country Extension version",section:6,required:!1,widget:"string",value:"0.2",disabled:!0,group:"it"},{section:4,group:"it",title:"piattaforme",label:"Piattaforme",type:"object",properties:{spid:{title:"spid",label:"SPID",type:"boolean",description:"Se presente e impostato a yes, il software si interfaccia con SPID - il Sistema Pubblico di Identità Digitale."},cie:{title:"cie",label:"CIE",type:"boolean",description:"Se presente e impostato a yes, il software si interfaccia con la Carta di Identità Elettronica."},anpr:{title:"anpr",label:"ANPR",type:"boolean",description:"Se presente e impostato a yes, il software si interfaccia con PagoPA."},pagopa:{title:"pagopa",label:"pagoPA",type:"boolean",description:"Se presente e impostato a yes, il software si interfaccia con PagoPA."}}},{section:4,group:"it",title:"conforme",label:"Conforme",type:"object",properties:{lineeGuidaDesign:{title:"lineeGuidaDesign",label:"Linee guida design",type:"boolean",description:"Se presente e impostato a yes, il software è conforme alle linee guida di design."},modelloInteroperabilita:{title:"modelloInteroperabilita",label:"Interoperabile",type:"boolean",description:"Se presente e impostato a yes, il software è conforme alle linee guida sull'interoperabilità.Riferimento normativo: Art. 73 del CAD."},misureMinimeSicurezza:{title:"misureMinimeSicurezza",label:"Misure minime sicurezza",type:"boolean",description:"Se presente e impostato a yes, il software è conforme alle Misure minime di sicurezza ICT per le Pubbliche amministrazioni."},gdpr:{title:"gdpr",label:"GDPR",type:"boolean",description:"Se presente e impostato a yes, il software rispetta il GDPR."}}},{section:3,prepend:!0,group:"it",title:"riuso",label:"Riuso",showLabel:!1,type:"object",cn:"block__item--full",properties:{codiceIPA:{title:"codiceIPA",label:"Codice iPA dell'ente (obbligatorio per Pubbliche Amministrazioni)",type:"string",widget:"rsearch",description:"Codice dell'ente all'interno dell'Indice delle Pubbliche Amministrazioni\n          (codice iPA, https://indicepa.gov.it/).",ajax:{url:n(46).elasticUrl,params:function(e){return{from:0,size:50,query:{bool:{should:[{match:{ipa:e}},{multi_match:{query:e,operator:"and",fields:["ipa","pec","description","type","cf"]}}]}}}}}}}}];t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=d(n(127)),i=d(n(129)),o=d(n(128)),a=d(n(752)),s=d(n(753)),u=d(n(754)),l=d(n(319)),c=d(n(755));function d(e){return e&&e.__esModule?e:{default:e}}var f,p=["concept","development","beta","stable","obsolete"],h=["standalone/backend","standalone/desktop","standalone/iot","standalone/mobile","standalone/web","standalone/other","addon","library","configurationFiles"],m=null,g=(f=(0,o.default)(r.default.mark(function e(){return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(m){e.next=4;break}try{m=["development","0.1"]}catch(e){m=["development","0.1"]}e.next=7;break;case 4:return e.next=6,i.default.resolve(m);case 6:m=e.sent;case 7:return e.abrupt("return",[{title:"name",label:"Name of the software",type:"string",description:"This key contains the name of the software. It contains the (short) public name of the product, which can be localised in the specific localisation section. It should be the name most people usually refer to the software. In case the software has both an internal 'code' name and a commercial name, use the commercial name.",section:0,required:!0},{title:"releaseDate",label:"Release Date",type:"string",description:"This key contains the date at which the latest version was released. This date is mandatory if the software has been released at least once and thus the version number is present.",section:2,required:!0,widget:"date"},{title:"url",label:"Repository URL",type:"string",description:"A unique identifier for this software. This string must be a URL to the source code repository (git, svn, ...) in which the software is published. If the repository is available under multiple protocols, prefer HTTP/HTTPS URLs which don't require user authentication.",widget:"url",section:1,required:!0},{title:"applicationSuite",label:"Application Suite",type:"string",description:"This key contains the name of the 'suite' to which the software belongs.",section:0},{type:"string",title:"landingURL",label:"Landing Page URL",description:"If the url parameter does not serve a human readable or browsable page, but only serves source code to a source control client, with this key you have an option to specify a landing page. This page, ideally, is where your users will land when they will click a button labeled something like 'Go to the application source code'. In case the product provides an automated graphical installer, this URL can point to a page which contains a reference to the source code but also offers the download of such an installer.",section:1,widget:"url"},{title:"localisedName",label:"Localised Name",type:"string",description:"This key is an opportunity to localise the name in a specific language. It contains the (short) public name of the product. It should be the name most people usually refer to the software. In case the software has both an internal “code” name and a commercial name, use the commercial name.",section:0,group:"description"},{title:"genericName",label:"Generic Name",type:"string",description:"This key is the “Generic name”, which refers to the specific category to which the software belongs. You can usually find the generic name in the presentation of the software, when you write: “Software xxx is a yyy” Notable examples include “Text Editor”, “Word Processor”, “Web Browser”, “Chat” and so on… The generic name can be up to 35 characters long.",section:0,maxLength:35,required:!0,group:"description"},{title:"shortDescription",label:"Short Description",type:"string",description:"This key contains a short description of the software. It should be a single line containing a single sentence. Maximum 150 characters are allowed.",section:4,maxLength:150,group:"description",required:!0},{title:"longDescription",label:"Long Description",type:"string",description:"This key contains a longer description of the software, between 500 and 10000 chars. It is meant to provide an overview of the capabilities of the software for a potential user. The audience for this text should be that of users of the software, not developers. You can think of this text as the description of the software that would be in its website (if the software had one).This description can contain some basic markdown: *italic*, **bold**, bullet points and [links](#).",section:4,group:"description",widget:"editor",required:!0,minLength:500,maxLength:1e4,cn:"block__item--full"},{title:"documentation",label:"Documentation",type:"string",description:"This key contains a reference to the user-level (not developer-level) documentation of the software. The value must be a URL to a hosted version of the documentation.It is suggested that the URL points to a hosted version of the documentation that is immediately readable through a common web browser in both desktop and mobile format. The documentation should be rendered in HTML and browsable like a website (with a navigation index, a search bar, etc.).",section:1,group:"description",widget:"url"},{title:"apiDocumentation",label:"API Documentation",section:1,group:"description",type:"string",description:"This key contains a reference to the API documentation of the software. The value must be a URL to a hosted version of the documentation.It is suggested that the URL points to a hosted version of the documentation that is immediately readable through a common web browser. The documentation should be rendered in HTML and browsable like a website (with a navigation index, a search bar, etc.), and if there is a reference or test deployment, possibly offer an interactive interface (e.g. Swagger).",widget:"url"},{title:"features",label:"Features",type:"array",description:"This key contains a list of software features, describing what capabilities the software allows to do. The audience for this text should be that of public decision makers who will be commissioning the software. The features should thus not target developers: instead of listing technical features referring to implementation details, prefer listing user-visible functionalities of the software.While the key is mandatory, there is no mandatory minimum or maximum number of features that should be listed in this key. Each feature must use a maximum of 100 characters.The suggested number of features to list is between 5 and 20, depending on the software size and complexity. There is no need for exhaustiveness, as users can always read the documentation for additional information.",items:{type:"string",title:"feature",maxLength:100},section:4,required:!0,group:"description"},{title:"screenshots",label:"Screenshots",type:"array",description:"This key is for some software screens with purpose to show an overview on how it works. It can be a relative or absolute path",items:{type:"string",title:"screenshot"},section:5,group:"description"},{title:"videos",label:"Videos",type:"array",description:"This key contains one or multiple URLs of videos showing how the software works. Like screenshots, videos should be used to give a quick overview on how the software looks like and how it works. Videos must be hosted on a video sharing website that supports the oEmbed standard; popular options are YouTube and Vimeo.",items:{type:"string",title:"video"},section:5,group:"description"},{title:"awards",label:"Awards",type:"array",description:"A list of awards won by the software.",items:{type:"string",title:"award"},section:3,group:"description"},{title:"isBasedOn",label:"Is Based On",type:"array",items:{type:"string",title:"isBasedOn"},description:"In case this software is a variant or a fork of another software, which might or might not contain a publiccode.yml file, this key will contain the url of the original project(s). The existence of this key identifies the fork as a software variant, descending from the specified repositories.",section:2,widget:"url"},{type:"string",title:"softwareVersion",label:"Software Version",description:"This key contains the latest stable version number of the software. The version number is a string that is not meant to be interpreted and parsed but just displayed; parsers should not assume semantic versioning or any other specific version format.",section:2},{type:"string",title:"logo",label:"Logo",description:"This key contains the logo of the software. Logos should be in vector format; raster formats are only allowed as a fallback. In this case, they should be transparent PNGs, minimum 1000px of width. Acceptable formats: SVG, SVGZ, PNG",section:5,fileExt:["svg","svgz","png"]},{type:"string",title:"monochromeLogo",label:"Logo Monochrome",description:"A monochromatic (black) logo. The logo should be in vector format; raster formats are only allowed as a fallback. In this case, they should be transparent PNGs, minimum 1000px of width. Acceptable formats: SVG, SVGZ, PNG",section:5,fileExt:["svg","svgz","png"]},{title:"developmentStatus",label:"Development Status",type:"string",description:"Allowed values: concept, development, beta, stable, obsolete",enum:p,section:2,required:!0,widget:"choice-expanded"},{title:"softwareType",label:"Software Type",type:"string",description:"Allowed values: standalone, addon, library, configurationFiles",enum:h,section:2,required:!0,widget:"choice-expanded"},{title:"roadmap",label:"Roadmap",type:"string",description:"A link to a public roadmap of the software.",section:1,widget:"url"},{type:"array",title:"platforms",label:"Platforms",description:"This key specifies which platform the software runs on. It is meant to describe the platforms that users will use to access and operate the software, rather than the platform the software itself runs on. Use the predefined values if possible. If the software runs on a platform for which a predefined value is not available, a different value can be used. Values: web, windows, mac, linux, ios, android. Human readable values outside this list are allowed.",examples:["android","ios"],items:{type:"string",enum:["web","windows","mac","linux","ios","android"]},required:!0,section:2,widget:"tags"},{type:"array",title:"license",label:"License",description:"This string describes the license under which the software is distributed. The string must contain a valid SPDX expression, referring to one (or multiple) open-source license. Please refer to the SPDX documentation for further information.",section:3,items:{type:"string",enum:u.default},group:"legal",required:!0,widget:"combobox"},{type:"string",title:"mainCopyrightOwner",label:"Main Copyright Owner",description:"This string describes the entity that owns the copyright on 'most' of the code in the repository. Normally, this is the line that is reported with the copyright symbol at the top of most files in the repo.",section:3,group:"legal"},{type:"string",title:"repoOwner",label:"Repository Owner",description:"This string describes the entity that owns this repository; this might or might not be the same entity who owns the copyright on the code itself. For instance, in case of a fork of the original software, the repoOwner is probably different from the mainCopyrightOwner.",section:3,group:"legal",required:!1},{title:"authorsFile",label:"Authors File",type:"string",description:"Some open-source softwares adopt a convention of identify the copyright holders through a file that lists all the entities that own the copyright. This is common in projects strongly backed by a community where there are many external contributors and no clear single/main copyright owner. In such cases, this key can be used to refer to the authors file, using a path relative to the root of the repository.",section:3,group:"legal"},{title:"categories",label:"Category",description:"A list of words that can be used to describe the software and can help building catalogs of open software. Each tag must be in Unicode lowercase, and should not contain any Unicode whitespace character. The suggested character to separate multiple words is - (single dash). See also: description/[lang]/freeTags/",type:"array",items:{type:"string",title:"category",enum:a.default},section:6,required:!0,widget:"tags"},{title:"scope",label:"Scope",description:"Public software could be very specific in scope because there is a large set of tasks that are specific to each type of administration. For instance, many softwares that are used in schools are probably not useful in hospitals. If you want to explicitly mark some software as only useful to certain types of administrations, you should add them to this key.The list of allowed values is defined in pa-types.md, and can be country-specific. This list can evolve at any time, separately from the version of this specification.",type:"array",items:{type:"string",title:"scope",enum:s.default},section:6,group:"intendedAudience",widget:"tags"},{title:"countries",label:"Countries",type:"array",description:"This key explicitly includes certain countries in the intended audience, i.e. the software explicitly claims compliance with specific processes, technologies or laws. All countries are specified using lowercase ISO 3166-1 alpha-2 two-letter country codes.",items:{title:"item",type:"string",enum:c.default},section:6,group:"intendedAudience",widget:"tags"},{title:"unsupportedCountries",label:"Unsupported Countries",type:"array",description:"This key explicitly marks countries as NOT supported. This might be the case if there is a conflict between how software is working and a specific law, process or technology. All countries are specified using lowercase ISO 3166-1 alpha-2 two-letter country codes.",items:{title:"item",type:"string",enum:c.default},section:6,group:"intendedAudience",widget:"tags"},{title:"usedBy",label:"Used By",description:"A list of the names of prominent public administrations (that will serve as testimonials) that are currently known to the software maintainer to be using this software. Parsers are encouraged to enhance this list also with other information that can obtain independently; for instance, a fork of a software, owned by an administration, could be used as a signal of usage of the software.",type:"array",items:{type:"string"},section:3},{title:"inputTypes",label:"Input Types",description:"A list of Media Types (MIME Types) as mandated in RFC 6838 which the application can handle as output. In case the software does not support any input, you can skip this field or use application/x.empty.",type:"array",items:{type:"string"},section:2},{title:"outputTypes",label:"Output Types",description:"A list of Media Types (MIME Types) as mandated in RFC 6838 which the application can handle as output. In case the software does not support any output, you can skip this field or use application/x.empty.",type:"array",items:{type:"string"},section:2},{title:"localisationReady",label:"Localisation Ready",type:"boolean",description:"If yes, the software has infrastructure in place or is otherwise designed to be multilingual. It does not need to be available in more than one language.",section:6,required:!0,group:"localisation"},{title:"availableLanguages",label:"Available Languages",type:"array",description:"If present, this is the list of languages in which the software is available. Of course, this list will contain at least one language. The primary language subtag cannot be omitted, as mandated by the. See also: https://tools.ietf.org/html/bcp47",items:{title:"item",type:"string",enum:l.default},widget:"tags",section:4,required:!0,group:"localisation"},{title:"type",label:"Maintenance Type",type:"array",description:"This key describes how the software is currently maintained. 'internal' means that the software is internally maintained by the repository owner. 'contract' means that there is a commercial contract that binds an entity to the maintenance of the software; 'community' means that the software is currently maintained by one or more people that donate their time to the project; 'none' means that the software is not actively maintained.",items:{type:"string"},uniqueItems:!0,required:!0,requireChildrenIf:[{title:"maintenance_contacts",values:["internal","community"]},{title:"maintenance_contractors",values:["contract"]}],enum:["internal","contract","community","none"],widget:"choice-expanded",section:7,group:"maintenance"},{title:"contacts",label:"Contacts",type:"array",description:"One or more contacts maintaining this software. This key describes the technical people currently responsible for maintaining the software. All contacts need to be a physical person, not a company or an organisation. if somebody is acting as a representative of an institution, it must be listed within the affiliation of the contact. In case of a commercial agreement (or a chain of such agreements), specify the final entities actually contracted to deliver the maintenance. Do not specify the software owner unless it is technically involved with the maintenance of the product as well.",items:{title:"contact",label:"Contact",description:"This key contains an explicit affiliation information for the technical contact. In case of multiple maintainers, this can be used to create a relation between each technical contact and each maintainer entity. It can contain for instance a company name, an association name, etc.",type:"object",properties:{name:{type:"string",title:"name",label:"Name",description:" mandatory - This key contains the full name of one of the technical contacts. It must be a real person; do NOT populate this key with generic contact information, company departments, associations, etc."},email:{type:"string",title:"Email",label:"Email",widget:"email",description:"This key contains the e-mail address of the technical contact. It must be an email address of where the technical contact can be directly reached; do NOT populate this key with mailing-lists or generic contact points like info@acme.inc. "},phone:{type:"string",widget:"phone",title:"phone",label:"Phone",description:"Phone number (with international prefix)"},affiliation:{type:"string",title:"affiliation",label:"Affiliation",description:"This key contains an explicit affiliation information for the technical contact. In case of multiple maintainers, this can be used to create a relation between each technical contact and each maintainer entity. It can contain for instance a company name, an association name, etc."}},required:["name"]},section:7,group:"maintenance",cn:"block__item--full"},{title:"contractors",label:"Contractors",type:"array",description:"This key describes the entity or entities, if any, that are currently contracted for maintaining the software. They can be companies, organizations, or other collective names.",items:{title:"contractor",label:"Contractor",description:"This key contains an explicit affiliation information for the technical contact. In case of multiple maintainers, this can be used to create a relation between each technical contact and each maintainer entity. It can contain for instance a company name, an association name, etc.",type:"object",properties:{name:{type:"string",title:"name",label:"Name",description:"mandatory - The name of the contractor, whether it's a company or a physical person."},until:{type:"string",title:"until",label:"Until",description:" mandatory - This is a date (YYYY-MM-DD). This key must contain the date at which the maintenance is going to end. In case of community maintenance, the value should not be more than 2 years in the future, and thus will need to be regularly updated as the community continues working on the project.",widget:"date"},website:{type:"string",title:"website",label:"website",description:"This key points to the maintainer website. It can either point to the main institutional website, or to a more project-specific page or website.",widget:"url"}},required:["name","until"]},section:7,group:"maintenance",cn:"block__item--full"},{title:"dependsOn",label:"Depends On",description:"This section provides an overview on the system-level dependencies required to install and use this software.",type:"array",items:{title:"dependency",label:"Dependency",description:"A dependency is a complex object. The properties are the following:",type:"object",properties:{type:{title:"type",label:"Type",type:"array",items:{type:"string"},enum:["open","proprietary","hardware"],uniqueItems:!0,widget:"choice-expanded"},name:{title:"name",label:"Name",type:"string",description:"mandatory - The name of the dependency (e.g. MySQL, NFC Reader)"},versionMin:{type:"string",title:"versionMin",label:"Version Range Min",description:"the first compatible version"},versionMax:{type:"string",title:"versionMax",label:"Version Range Max",description:"the latest compatible version"},version:{type:"string",title:"version",label:"Exact Version",description:"the only major version for which the software is compatible. It assumes compatibility with all patches and bugfixes later applied to this version."},optional:{title:"optional",label:"Optional",type:"boolean",description:"whether the dependency is optional or mandatory"}},required:["name","type"]},section:7,cn:"block__item--full"}]);case 8:case"end":return e.stop()}},e,void 0)})),function(){return f.apply(this,arguments)});t.default=g},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=["accounting","agile-project-management","applicant-tracking","application-development","appointment-scheduling","backup","billing-and-invoicing","blog","budgeting","business-intelligence","business-process-management","cad","call-center-management","cloud-management","collaboration","communications","compliance-management","contact-management","content-management","crm","customer-service-and-support","data-analytics","data-collection","data-visualization","digital-asset-management","digital-citizenship","document-management","donor-management","e-commerce","e-signature","email-management","email-marketing","employee-management","enterprise-project-management","enterprise-social-networking","erp","event-management","facility-management","feedback-and-reviews-management","financial-reporting","fleet-management","fundraising","gamification","geographic-information-systems","grant-management","graphic-design","help-desk","hr","ide","identity-management","instant-messaging","inventory-management","it-asset-management","it-development","it-management","it-security","it-service-management","knowledge-management","learning-management-system","marketing","mind-mapping","mobile-marketing","mobile-payment","network-management","office","online-booking","online-community","payment-gateway","payroll","predictive-analysis","procurement","productivity-suite","project-collaboration","project-management","property-management","real-estate-management","remote-support","resource-management","sales-management","seo","service-desk","social-media-management","survey","talent-management","task-management","taxes-management","test-management","time-management","time-tracking","translation","video-conferencing","video-editing","visitor-management","voip","warehouse-management","web-collaboration","web-conferencing","website-builder","workflow-management"]},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=["agriculture","culture","defence","education","emergency-services","employment","energy","environment","finance-and-economic-development","foreign-affairs","government","healthcare","infrastructures","justice","local-authorities","manufacturing","research","science-and-technology","security","society","sport","tourism","transportation","welfare"]},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=[{text:"BSD Zero Clause License",value:"0BSD"},{text:"Attribution Assurance License",value:"AAL"},{text:"Academic Free License v1.1",value:"AFL-1.1"},{text:"Academic Free License v1.2",value:"AFL-1.2"},{text:"Academic Free License v2.0",value:"AFL-2.0"},{text:"Academic Free License v2.1",value:"AFL-2.1"},{text:"Academic Free License v3.0",value:"AFL-3.0"},{text:"GNU Affero General Public License v3.0 only",value:"AGPL-3.0-only"},{text:"GNU Affero General Public License v3.0 or later",value:"AGPL-3.0-or-later"},{text:"Adaptive Public License 1.0",value:"APL-1.0"},{text:"Apple Public Source License 1.0",value:"APSL-1.0"},{text:"Apple Public Source License 1.1",value:"APSL-1.1"},{text:"Apple Public Source License 1.2",value:"APSL-1.2"},{text:"Apple Public Source License 2.0",value:"APSL-2.0"},{text:"Apache License 1.1",value:"Apache-1.1"},{text:"Apache License 2.0",value:"Apache-2.0"},{text:"Artistic License 1.0",value:"Artistic-1.0"},{text:"Artistic License 1.0 (Perl)",value:"Artistic-1.0-Perl"},{text:"Artistic License 1.0 w/clause 8",value:"Artistic-1.0-cl8"},{text:"Artistic License 2.0",value:"Artistic-2.0"},{text:'BSD 2-Clause "Simplified" License',value:"BSD-2-Clause"},{text:"BSD-2-Clause Plus Patent License",value:"BSD-2-Clause-Patent"},{text:'BSD 3-Clause "New" or "Revised" License',value:"BSD-3-Clause"},{text:"Boost Software License 1.0",value:"BSL-1.0"},{text:"Computer Associates Trusted Open Source License 1.1",value:"CATOSL-1.1"},{text:"Common Development and Distribution License 1.0",value:"CDDL-1.0"},{text:"CeCILL Free Software License Agreement v2.1",value:"CECILL-2.1"},{text:"CNRI Python License",value:"CNRI-Python"},{text:"Common Public Attribution License 1.0",value:"CPAL-1.0"},{text:"Common Public License 1.0",value:"CPL-1.0"},{text:"CUA Office Public License v1.0",value:"CUA-OPL-1.0"},{text:"Educational Community License v1.0",value:"ECL-1.0"},{text:"Educational Community License v2.0",value:"ECL-2.0"},{text:"Eiffel Forum License v1.0",value:"EFL-1.0"},{text:"Eiffel Forum License v2.0",value:"EFL-2.0"},{text:"Eclipse Public License 1.0",value:"EPL-1.0"},{text:"Eclipse Public License 2.0",value:"EPL-2.0"},{text:"EU DataGrid Software License",value:"EUDatagrid"},{text:"European Union Public License 1.1",value:"EUPL-1.1"},{text:"European Union Public License 1.2",value:"EUPL-1.2"},{text:"Entessa Public License v1.0",value:"Entessa"},{text:"Fair License",value:"Fair"},{text:"Frameworx Open License 1.0",value:"Frameworx-1.0"},{text:"GNU General Public License v2.0 only",value:"GPL-2.0-only"},{text:"GNU General Public License v2.0 or later",value:"GPL-2.0-or-later"},{text:"GNU General Public License v3.0 only",value:"GPL-3.0-only"},{text:"GNU General Public License v3.0 or later",value:"GPL-3.0-or-later"},{text:"Historical Permission Notice and Disclaimer",value:"HPND"},{text:"IPA Font License",value:"IPA"},{text:"IBM Public License v1.0",value:"IPL-1.0"},{text:"ISC License",value:"ISC"},{text:"Intel Open Source License",value:"Intel"},{text:"GNU Library General Public License v2 only",value:"LGPL-2.0-only"},{text:"GNU Library General Public License v2 or later",value:"LGPL-2.0-or-later"},{text:"GNU Lesser General Public License v2.1 only",value:"LGPL-2.1-only"},{text:"GNU Lesser General Public License v2.1 or later",value:"LGPL-2.1-or-later"},{text:"GNU Lesser General Public License v3.0 only",value:"LGPL-3.0-only"},{text:"GNU Lesser General Public License v3.0 or later",value:"LGPL-3.0-or-later"},{text:"Lucent Public License Version 1.0",value:"LPL-1.0"},{text:"Lucent Public License v1.02",value:"LPL-1.02"},{text:"LaTeX Project Public License v1.3c",value:"LPPL-1.3c"},{text:"Licence Libre du Québec – Permissive version 1.1",value:"LiLiQ-P-1.1"},{text:"Licence Libre du Québec – Réciprocité version 1.1",value:"LiLiQ-R-1.1"},{text:"Licence Libre du Québec – Réciprocité forte version 1.1",value:"LiLiQ-Rplus-1.1"},{text:"MIT License",value:"MIT"},{text:"MIT No Attribution",value:"MIT-0"},{text:"Mozilla Public License 1.0",value:"MPL-1.0"},{text:"Mozilla Public License 1.1",value:"MPL-1.1"},{text:"Mozilla Public License 2.0",value:"MPL-2.0"},{text:"Mozilla Public License 2.0 (no copyleft exception)",value:"MPL-2.0-no-copyleft-exception"},{text:"Microsoft Public License",value:"MS-PL"},{text:"Microsoft Reciprocal License",value:"MS-RL"},{text:"The MirOS Licence",value:"MirOS"},{text:"Motosoto License",value:"Motosoto"},{text:"Multics License",value:"Multics"},{text:"NASA Open Source Agreement 1.3",value:"NASA-1.3"},{text:"University of Illinois/NCSA Open Source License",value:"NCSA"},{text:"Nethack General Public License",value:"NGPL"},{text:"Non-Profit Open Software License 3.0",value:"NPOSL-3.0"},{text:"NTP License",value:"NTP"},{text:"Naumen Public License",value:"Naumen"},{text:"Nokia Open Source License",value:"Nokia"},{text:"OCLC Research Public License 2.0",value:"OCLC-2.0"},{text:"SIL Open Font License 1.1",value:"OFL-1.1"},{text:"Open Group Test Suite License",value:"OGTSL"},{text:"OSET Public License version 2.1",value:"OSET-PL-2.1"},{text:"Open Software License 1.0",value:"OSL-1.0"},{text:"Open Software License 2.0",value:"OSL-2.0"},{text:"Open Software License 2.1",value:"OSL-2.1"},{text:"Open Software License 3.0",value:"OSL-3.0"},{text:"PHP License v3.0",value:"PHP-3.0"},{text:"PostgreSQL License",value:"PostgreSQL"},{text:"Python License 2.0",value:"Python-2.0"},{text:"Q Public License 1.0",value:"QPL-1.0"},{text:"Reciprocal Public License 1.1",value:"RPL-1.1"},{text:"Reciprocal Public License 1.5",value:"RPL-1.5"},{text:"RealNetworks Public Source License v1.0",value:"RPSL-1.0"},{text:"Ricoh Source Code Public License",value:"RSCPL"},{text:"Sun Industry Standards Source License v1.1",value:"SISSL"},{text:"Sun Public License v1.0",value:"SPL-1.0"},{text:"Simple Public License 2.0",value:"SimPL-2.0"},{text:"Sleepycat License",value:"Sleepycat"},{text:"Universal Permissive License v1.0",value:"UPL-1.0"},{text:"Vovida Software License v1.0",value:"VSL-1.0"},{text:"W3C Software Notice and License (2002-12-31)",value:"W3C"},{text:"Sybase Open Watcom Public License 1.0",value:"Watcom-1.0"},{text:"X.Net License",value:"Xnet"},{text:"Zope Public License 2.0",value:"ZPL-2.0"},{text:"zlib License",value:"Zlib"}]},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=["ad","ae","af","ag","ai","al","am","ao","aq","ar","as","at","au","aw","ax","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bl","bm","bn","bo","bq","br","bs","bt","bv","bw","by","bz","ca","cc","cd","cf","cg","ch","ci","ck","cl","cm","cn","co","cr","cu","cv","cw","cx","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","eh","er","es","et","fi","fj","fk","fm","fo","fr","ga","gb","gd","ge","gf","gg","gh","gi","gl","gm","gn","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","id","ie","il","im","in","io","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","ki","km","kn","kp","kr","kw","ky","kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","me","mf","mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt","mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no","np","nr","nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","ps","pt","pw","py","qa","re","ro","rs","ru","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","ss","st","sv","sx","sy","sz","tc","td","tf","tg","th","tj","tk","tl","tm","tn","to","tr","tt","tv","tw","tz","ua","ug","um","us","uy","uz","va","vc","ve","vg","vi","vn","vu","wf","ws","ye","yt","za","zm","zw"]},function(e,t,n){"use strict";var r=n(757);e.exports=r},function(e,t,n){"use strict";var r=n(758),i=n(781);function o(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}e.exports.Type=n(27),e.exports.Schema=n(96),e.exports.FAILSAFE_SCHEMA=n(225),e.exports.JSON_SCHEMA=n(321),e.exports.CORE_SCHEMA=n(320),e.exports.DEFAULT_SAFE_SCHEMA=n(132),e.exports.DEFAULT_FULL_SCHEMA=n(164),e.exports.load=r.load,e.exports.loadAll=r.loadAll,e.exports.safeLoad=r.safeLoad,e.exports.safeLoadAll=r.safeLoadAll,e.exports.dump=i.dump,e.exports.safeDump=i.safeDump,e.exports.YAMLException=n(131),e.exports.MINIMAL_SCHEMA=n(225),e.exports.SAFE_SCHEMA=n(132),e.exports.DEFAULT_SCHEMA=n(164),e.exports.scan=o("scan"),e.exports.parse=o("parse"),e.exports.compose=o("compose"),e.exports.addConstructor=o("addConstructor")},function(e,t,n){"use strict";var r=n(95),i=n(131),o=n(759),a=n(132),s=n(164),u=Object.prototype.hasOwnProperty,l=1,c=2,d=3,f=4,p=1,h=2,m=3,g=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/[\x85\u2028\u2029]/,v=/[,\[\]\{\}]/,b=/^(?:!|!!|![a-z\-]+!)$/i,_=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function w(e){return Object.prototype.toString.call(e)}function A(e){return 10===e||13===e}function x(e){return 9===e||32===e}function k(e){return 9===e||32===e||10===e||13===e}function M(e){return 44===e||91===e||93===e||123===e||125===e}function E(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}function L(e){return 48===e?"\0":97===e?"":98===e?"\b":116===e?"\t":9===e?"\t":110===e?"\n":118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function S(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}for(var D=new Array(256),T=new Array(256),C=0;C<256;C++)D[C]=L(C)?1:0,T[C]=L(C);function O(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||s,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function $(e,t){return new i(t,new o(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function j(e,t){throw $(e,t)}function P(e,t){e.onWarning&&e.onWarning.call(null,$(e,t))}var I={YAML:function(e,t,n){var r,i,o;null!==e.version&&j(e,"duplication of %YAML directive"),1!==n.length&&j(e,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&j(e,"ill-formed argument of the YAML directive"),i=parseInt(r[1],10),o=parseInt(r[2],10),1!==i&&j(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&P(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var r,i;2!==n.length&&j(e,"TAG directive accepts exactly two arguments"),r=n[0],i=n[1],b.test(r)||j(e,"ill-formed tag handle (first argument) of the TAG directive"),u.call(e.tagMap,r)&&j(e,'there is a previously declared suffix for "'+r+'" tag handle'),_.test(i)||j(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[r]=i}};function N(e,t,n,r){var i,o,a,s;if(t<n){if(s=e.input.slice(t,n),r)for(i=0,o=s.length;i<o;i+=1)9===(a=s.charCodeAt(i))||32<=a&&a<=1114111||j(e,"expected valid JSON character");else g.test(s)&&j(e,"the stream contains non-printable characters");e.result+=s}}function F(e,t,n,i){var o,a,s,l;for(r.isObject(n)||j(e,"cannot merge mappings; the provided source object is unacceptable"),s=0,l=(o=Object.keys(n)).length;s<l;s+=1)a=o[s],u.call(t,a)||(t[a]=n[a],i[a]=!0)}function R(e,t,n,r,i,o,a,s){var l,c;if(Array.isArray(i))for(l=0,c=(i=Array.prototype.slice.call(i)).length;l<c;l+=1)Array.isArray(i[l])&&j(e,"nested arrays are not supported inside keys"),"object"==typeof i&&"[object Object]"===w(i[l])&&(i[l]="[object Object]");if("object"==typeof i&&"[object Object]"===w(i)&&(i="[object Object]"),i=String(i),null===t&&(t={}),"tag:yaml.org,2002:merge"===r)if(Array.isArray(o))for(l=0,c=o.length;l<c;l+=1)F(e,t,o[l],n);else F(e,t,o,n);else e.json||u.call(n,i)||!u.call(t,i)||(e.line=a||e.line,e.position=s||e.position,j(e,"duplicated mapping key")),t[i]=o,delete n[i];return t}function Y(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):j(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function B(e,t,n){for(var r=0,i=e.input.charCodeAt(e.position);0!==i;){for(;x(i);)i=e.input.charCodeAt(++e.position);if(t&&35===i)do{i=e.input.charCodeAt(++e.position)}while(10!==i&&13!==i&&0!==i);if(!A(i))break;for(Y(e),i=e.input.charCodeAt(e.position),r++,e.lineIndent=0;32===i;)e.lineIndent++,i=e.input.charCodeAt(++e.position)}return-1!==n&&0!==r&&e.lineIndent<n&&P(e,"deficient indentation"),r}function z(e){var t,n=e.position;return!(45!==(t=e.input.charCodeAt(n))&&46!==t||t!==e.input.charCodeAt(n+1)||t!==e.input.charCodeAt(n+2)||(n+=3,0!==(t=e.input.charCodeAt(n))&&!k(t)))}function H(e,t){1===t?e.result+=" ":t>1&&(e.result+=r.repeat("\n",t-1))}function U(e,t){var n,r,i=e.tag,o=e.anchor,a=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),r=e.input.charCodeAt(e.position);0!==r&&45===r&&k(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,B(e,!0,-1)&&e.lineIndent<=t)a.push(null),r=e.input.charCodeAt(e.position);else if(n=e.line,q(e,t,d,!1,!0),a.push(e.result),B(e,!0,-1),r=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==r)j(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return!!s&&(e.tag=i,e.anchor=o,e.kind="sequence",e.result=a,!0)}function Z(e){var t,n,r,i,o=!1,a=!1;if(33!==(i=e.input.charCodeAt(e.position)))return!1;if(null!==e.tag&&j(e,"duplication of a tag property"),60===(i=e.input.charCodeAt(++e.position))?(o=!0,i=e.input.charCodeAt(++e.position)):33===i?(a=!0,n="!!",i=e.input.charCodeAt(++e.position)):n="!",t=e.position,o){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&62!==i);e.position<e.length?(r=e.input.slice(t,e.position),i=e.input.charCodeAt(++e.position)):j(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==i&&!k(i);)33===i&&(a?j(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),b.test(n)||j(e,"named tag handle cannot contain such characters"),a=!0,t=e.position+1)),i=e.input.charCodeAt(++e.position);r=e.input.slice(t,e.position),v.test(r)&&j(e,"tag suffix cannot contain flow indicator characters")}return r&&!_.test(r)&&j(e,"tag name cannot contain such characters: "+r),o?e.tag=r:u.call(e.tagMap,n)?e.tag=e.tagMap[n]+r:"!"===n?e.tag="!"+r:"!!"===n?e.tag="tag:yaml.org,2002:"+r:j(e,'undeclared tag handle "'+n+'"'),!0}function K(e){var t,n;if(38!==(n=e.input.charCodeAt(e.position)))return!1;for(null!==e.anchor&&j(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!k(n)&&!M(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&j(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function q(e,t,n,i,o){var a,s,g,y,v,b,_,w,L=1,C=!1,O=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,a=s=g=f===n||d===n,i&&B(e,!0,-1)&&(C=!0,e.lineIndent>t?L=1:e.lineIndent===t?L=0:e.lineIndent<t&&(L=-1)),1===L)for(;Z(e)||K(e);)B(e,!0,-1)?(C=!0,g=a,e.lineIndent>t?L=1:e.lineIndent===t?L=0:e.lineIndent<t&&(L=-1)):g=!1;if(g&&(g=C||o),1!==L&&f!==n||(_=l===n||c===n?t:t+1,w=e.position-e.lineStart,1===L?g&&(U(e,w)||function(e,t,n){var r,i,o,a,s,u=e.tag,l=e.anchor,d={},p={},h=null,m=null,g=null,y=!1,v=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=d),s=e.input.charCodeAt(e.position);0!==s;){if(r=e.input.charCodeAt(e.position+1),o=e.line,a=e.position,63!==s&&58!==s||!k(r)){if(!q(e,n,c,!1,!0))break;if(e.line===o){for(s=e.input.charCodeAt(e.position);x(s);)s=e.input.charCodeAt(++e.position);if(58===s)k(s=e.input.charCodeAt(++e.position))||j(e,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(R(e,d,p,h,m,null),h=m=g=null),v=!0,y=!1,i=!1,h=e.tag,m=e.result;else{if(!v)return e.tag=u,e.anchor=l,!0;j(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!v)return e.tag=u,e.anchor=l,!0;j(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===s?(y&&(R(e,d,p,h,m,null),h=m=g=null),v=!0,y=!0,i=!0):y?(y=!1,i=!0):j(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,s=r;if((e.line===o||e.lineIndent>t)&&(q(e,t,f,!0,i)&&(y?m=e.result:g=e.result),y||(R(e,d,p,h,m,g,o,a),h=m=g=null),B(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)j(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return y&&R(e,d,p,h,m,null),v&&(e.tag=u,e.anchor=l,e.kind="mapping",e.result=d),v}(e,w,_))||function(e,t){var n,r,i,o,a,s,u,c,d,f,p=!0,h=e.tag,m=e.anchor,g={};if(91===(f=e.input.charCodeAt(e.position)))i=93,s=!1,r=[];else{if(123!==f)return!1;i=125,s=!0,r={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=r),f=e.input.charCodeAt(++e.position);0!==f;){if(B(e,!0,t),(f=e.input.charCodeAt(e.position))===i)return e.position++,e.tag=h,e.anchor=m,e.kind=s?"mapping":"sequence",e.result=r,!0;p||j(e,"missed comma between flow collection entries"),d=null,o=a=!1,63===f&&k(e.input.charCodeAt(e.position+1))&&(o=a=!0,e.position++,B(e,!0,t)),n=e.line,q(e,t,l,!1,!0),c=e.tag,u=e.result,B(e,!0,t),f=e.input.charCodeAt(e.position),!a&&e.line!==n||58!==f||(o=!0,f=e.input.charCodeAt(++e.position),B(e,!0,t),q(e,t,l,!1,!0),d=e.result),s?R(e,r,g,c,u,d):o?r.push(R(e,null,g,c,u,d)):r.push(u),B(e,!0,t),44===(f=e.input.charCodeAt(e.position))?(p=!0,f=e.input.charCodeAt(++e.position)):p=!1}j(e,"unexpected end of the stream within a flow collection")}(e,_)?O=!0:(s&&function(e,t){var n,i,o,a,s,u=p,l=!1,c=!1,d=t,f=0,g=!1;if(124===(a=e.input.charCodeAt(e.position)))i=!1;else{if(62!==a)return!1;i=!0}for(e.kind="scalar",e.result="";0!==a;)if(43===(a=e.input.charCodeAt(++e.position))||45===a)p===u?u=43===a?m:h:j(e,"repeat of a chomping mode identifier");else{if(!((o=48<=(s=a)&&s<=57?s-48:-1)>=0))break;0===o?j(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?j(e,"repeat of an indentation width identifier"):(d=t+o-1,c=!0)}if(x(a)){do{a=e.input.charCodeAt(++e.position)}while(x(a));if(35===a)do{a=e.input.charCodeAt(++e.position)}while(!A(a)&&0!==a)}for(;0!==a;){for(Y(e),e.lineIndent=0,a=e.input.charCodeAt(e.position);(!c||e.lineIndent<d)&&32===a;)e.lineIndent++,a=e.input.charCodeAt(++e.position);if(!c&&e.lineIndent>d&&(d=e.lineIndent),A(a))f++;else{if(e.lineIndent<d){u===m?e.result+=r.repeat("\n",l?1+f:f):u===p&&l&&(e.result+="\n");break}for(i?x(a)?(g=!0,e.result+=r.repeat("\n",l?1+f:f)):g?(g=!1,e.result+=r.repeat("\n",f+1)):0===f?l&&(e.result+=" "):e.result+=r.repeat("\n",f):e.result+=r.repeat("\n",l?1+f:f),l=!0,c=!0,f=0,n=e.position;!A(a)&&0!==a;)a=e.input.charCodeAt(++e.position);N(e,n,e.position,!1)}}return!0}(e,_)||function(e,t){var n,r,i;if(39!==(n=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,r=i=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(N(e,r,e.position,!0),39!==(n=e.input.charCodeAt(++e.position)))return!0;r=e.position,e.position++,i=e.position}else A(n)?(N(e,r,i,!0),H(e,B(e,!1,t)),r=i=e.position):e.position===e.lineStart&&z(e)?j(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);j(e,"unexpected end of the stream within a single quoted scalar")}(e,_)||function(e,t){var n,r,i,o,a,s,u;if(34!==(s=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,n=r=e.position;0!==(s=e.input.charCodeAt(e.position));){if(34===s)return N(e,n,e.position,!0),e.position++,!0;if(92===s){if(N(e,n,e.position,!0),A(s=e.input.charCodeAt(++e.position)))B(e,!1,t);else if(s<256&&D[s])e.result+=T[s],e.position++;else if((a=120===(u=s)?2:117===u?4:85===u?8:0)>0){for(i=a,o=0;i>0;i--)(a=E(s=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+a:j(e,"expected hexadecimal character");e.result+=S(o),e.position++}else j(e,"unknown escape sequence");n=r=e.position}else A(s)?(N(e,n,r,!0),H(e,B(e,!1,t)),n=r=e.position):e.position===e.lineStart&&z(e)?j(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}j(e,"unexpected end of the stream within a double quoted scalar")}(e,_)?O=!0:!function(e){var t,n,r;if(42!==(r=e.input.charCodeAt(e.position)))return!1;for(r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!k(r)&&!M(r);)r=e.input.charCodeAt(++e.position);return e.position===t&&j(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||j(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],B(e,!0,-1),!0}(e)?function(e,t,n){var r,i,o,a,s,u,l,c,d=e.kind,f=e.result;if(k(c=e.input.charCodeAt(e.position))||M(c)||35===c||38===c||42===c||33===c||124===c||62===c||39===c||34===c||37===c||64===c||96===c)return!1;if((63===c||45===c)&&(k(r=e.input.charCodeAt(e.position+1))||n&&M(r)))return!1;for(e.kind="scalar",e.result="",i=o=e.position,a=!1;0!==c;){if(58===c){if(k(r=e.input.charCodeAt(e.position+1))||n&&M(r))break}else if(35===c){if(k(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&z(e)||n&&M(c))break;if(A(c)){if(s=e.line,u=e.lineStart,l=e.lineIndent,B(e,!1,-1),e.lineIndent>=t){a=!0,c=e.input.charCodeAt(e.position);continue}e.position=o,e.line=s,e.lineStart=u,e.lineIndent=l;break}}a&&(N(e,i,o,!1),H(e,e.line-s),i=o=e.position,a=!1),x(c)||(o=e.position+1),c=e.input.charCodeAt(++e.position)}return N(e,i,o,!1),!!e.result||(e.kind=d,e.result=f,!1)}(e,_,l===n)&&(O=!0,null===e.tag&&(e.tag="?")):(O=!0,null===e.tag&&null===e.anchor||j(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===L&&(O=g&&U(e,w))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&j(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),y=0,v=e.implicitTypes.length;y<v;y+=1)if((b=e.implicitTypes[y]).resolve(e.result)){e.result=b.construct(e.result),e.tag=b.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else u.call(e.typeMap[e.kind||"fallback"],e.tag)?(b=e.typeMap[e.kind||"fallback"][e.tag],null!==e.result&&b.kind!==e.kind&&j(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+b.kind+'", not "'+e.kind+'"'),b.resolve(e.result)?(e.result=b.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):j(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):j(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||O}function W(e){var t,n,r,i,o=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(i=e.input.charCodeAt(e.position))&&(B(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==i));){for(a=!0,i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!k(i);)i=e.input.charCodeAt(++e.position);for(r=[],(n=e.input.slice(t,e.position)).length<1&&j(e,"directive name must not be less than one character in length");0!==i;){for(;x(i);)i=e.input.charCodeAt(++e.position);if(35===i){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&!A(i));break}if(A(i))break;for(t=e.position;0!==i&&!k(i);)i=e.input.charCodeAt(++e.position);r.push(e.input.slice(t,e.position))}0!==i&&Y(e),u.call(I,n)?I[n](e,n,r):P(e,'unknown document directive "'+n+'"')}B(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,B(e,!0,-1)):a&&j(e,"directives end mark is expected"),q(e,e.lineIndent-1,f,!1,!0),B(e,!0,-1),e.checkLineBreaks&&y.test(e.input.slice(o,e.position))&&P(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&z(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,B(e,!0,-1)):e.position<e.length-1&&j(e,"end of the stream or a document separator is expected")}function G(e,t){t=t||{},0!==(e=String(e)).length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new O(e,t),r=e.indexOf("\0");for(-1!==r&&(n.position=r,j(n,"null byte is not allowed in input")),n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)W(n);return n.documents}function V(e,t,n){null!==t&&"object"==typeof t&&void 0===n&&(n=t,t=null);var r=G(e,n);if("function"!=typeof t)return r;for(var i=0,o=r.length;i<o;i+=1)t(r[i])}function J(e,t){var n=G(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new i("expected a single document in the stream, but found more")}}e.exports.loadAll=V,e.exports.load=J,e.exports.safeLoadAll=function(e,t,n){return"object"==typeof t&&null!==t&&void 0===n&&(n=t,t=null),V(e,t,r.extend({schema:a},n))},e.exports.safeLoad=function(e,t){return J(e,r.extend({schema:a},t))}},function(e,t,n){"use strict";var r=n(95);function i(e,t,n,r,i){this.name=e,this.buffer=t,this.position=n,this.line=r,this.column=i}i.prototype.getSnippet=function(e,t){var n,i,o,a,s;if(!this.buffer)return null;for(e=e||4,t=t||75,n="",i=this.position;i>0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(i-1));)if(i-=1,this.position-i>t/2-1){n=" ... ",i+=5;break}for(o="",a=this.position;a<this.buffer.length&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(a));)if((a+=1)-this.position>t/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(i,a),r.repeat(" ",e)+n+s+o+"\n"+r.repeat(" ",e+this.position-i+n.length)+"^"},i.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(n+=":\n"+t),n},e.exports=i},function(e,t,n){"use strict";var r=n(27);e.exports=new r("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},function(e,t,n){"use strict";var r=n(27);e.exports=new r("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},function(e,t,n){"use strict";var r=n(27);e.exports=new r("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},function(e,t,n){"use strict";var r=n(27);e.exports=new r("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},function(e,t,n){"use strict";var r=n(27);e.exports=new r("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},function(e,t,n){"use strict";var r=n(95),i=n(27);function o(e){return 48<=e&&e<=55}function a(e){return 48<=e&&e<=57}e.exports=new i("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,r=e.length,i=0,s=!1;if(!r)return!1;if("-"!==(t=e[i])&&"+"!==t||(t=e[++i]),"0"===t){if(i+1===r)return!0;if("b"===(t=e[++i])){for(i++;i<r;i++)if("_"!==(t=e[i])){if("0"!==t&&"1"!==t)return!1;s=!0}return s&&"_"!==t}if("x"===t){for(i++;i<r;i++)if("_"!==(t=e[i])){if(!(48<=(n=e.charCodeAt(i))&&n<=57||65<=n&&n<=70||97<=n&&n<=102))return!1;s=!0}return s&&"_"!==t}for(;i<r;i++)if("_"!==(t=e[i])){if(!o(e.charCodeAt(i)))return!1;s=!0}return s&&"_"!==t}if("_"===t)return!1;for(;i<r;i++)if("_"!==(t=e[i])){if(":"===t)break;if(!a(e.charCodeAt(i)))return!1;s=!0}return!(!s||"_"===t)&&(":"!==t||/^(:[0-5]?[0-9])+$/.test(e.slice(i)))},construct:function(e){var t,n,r=e,i=1,o=[];return-1!==r.indexOf("_")&&(r=r.replace(/_/g,"")),"-"!==(t=r[0])&&"+"!==t||("-"===t&&(i=-1),t=(r=r.slice(1))[0]),"0"===r?0:"0"===t?"b"===r[1]?i*parseInt(r.slice(2),2):"x"===r[1]?i*parseInt(r,16):i*parseInt(r,8):-1!==r.indexOf(":")?(r.split(":").forEach(function(e){o.unshift(parseInt(e,10))}),r=0,n=1,o.forEach(function(e){r+=e*n,n*=60}),i*r):i*parseInt(r,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!r.isNegativeZero(e)},represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},function(e,t,n){"use strict";var r=n(95),i=n(27),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var a=/^[-+]?[0-9]+e/;e.exports=new i("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!o.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n,r,i;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,i=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(e){i.unshift(parseFloat(e,10))}),t=0,r=1,i.forEach(function(e){t+=e*r,r*=60}),n*t):n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||r.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(r.isNegativeZero(e))return"-0.0";return n=e.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},function(e,t,n){"use strict";var r=n(27),i=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),o=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");e.exports=new r("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==i.exec(e)||null!==o.exec(e))},construct:function(e){var t,n,r,a,s,u,l,c,d=0,f=null;if(null===(t=i.exec(e))&&(t=o.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],r=+t[2]-1,a=+t[3],!t[4])return new Date(Date.UTC(n,r,a));if(s=+t[4],u=+t[5],l=+t[6],t[7]){for(d=t[7].slice(0,3);d.length<3;)d+="0";d=+d}return t[9]&&(f=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(f=-f)),c=new Date(Date.UTC(n,r,a,s,u,l,d)),f&&c.setTime(c.getTime()-f),c},instanceOf:Date,represent:function(e){return e.toISOString()}})},function(e,t,n){"use strict";var r=n(27);e.exports=new r("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},function(e,t,n){"use strict";var r;try{r=n(770).Buffer}catch(e){}var i=n(27),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";e.exports=new i("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,r=0,i=e.length,a=o;for(n=0;n<i;n++)if(!((t=a.indexOf(e.charAt(n)))>64)){if(t<0)return!1;r+=6}return r%8==0},construct:function(e){var t,n,i=e.replace(/[\r\n=]/g,""),a=i.length,s=o,u=0,l=[];for(t=0;t<a;t++)t%4==0&&t&&(l.push(u>>16&255),l.push(u>>8&255),l.push(255&u)),u=u<<6|s.indexOf(i.charAt(t));return 0==(n=a%4*6)?(l.push(u>>16&255),l.push(u>>8&255),l.push(255&u)):18===n?(l.push(u>>10&255),l.push(u>>2&255)):12===n&&l.push(u>>4&255),r?r.from?r.from(l):new r(l):l},predicate:function(e){return r&&r.isBuffer(e)},represent:function(e){var t,n,r="",i=0,a=e.length,s=o;for(t=0;t<a;t++)t%3==0&&t&&(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]),i=(i<<8)+e[t];return 0==(n=a%3)?(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]):2===n?(r+=s[i>>10&63],r+=s[i>>4&63],r+=s[i<<2&63],r+=s[64]):1===n&&(r+=s[i>>2&63],r+=s[i<<4&63],r+=s[64],r+=s[64]),r}})},function(e,t,n){"use strict";(function(e){
+ */Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&Symbol.for,i=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,a=r?Symbol.for("react.fragment"):60107,s=r?Symbol.for("react.strict_mode"):60108,u=r?Symbol.for("react.profiler"):60114,l=r?Symbol.for("react.provider"):60109,c=r?Symbol.for("react.context"):60110,d=r?Symbol.for("react.async_mode"):60111,f=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,h=r?Symbol.for("react.suspense"):60113,m=r?Symbol.for("react.memo"):60115,g=r?Symbol.for("react.lazy"):60116;function y(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case i:switch(e=e.type){case d:case f:case a:case u:case s:case h:return e;default:switch(e=e&&e.$$typeof){case c:case p:case l:return e;default:return t}}case g:case m:case o:return t}}}function v(e){return y(e)===f}t.typeOf=y,t.AsyncMode=d,t.ConcurrentMode=f,t.ContextConsumer=c,t.ContextProvider=l,t.Element=i,t.ForwardRef=p,t.Fragment=a,t.Lazy=g,t.Memo=m,t.Interoperable Europe Portal=o,t.Profiler=u,t.StrictMode=s,t.Suspense=h,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===f||e===u||e===s||e===h||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===m||e.$$typeof===l||e.$$typeof===c||e.$$typeof===p)},t.isAsyncMode=function(e){return v(e)||y(e)===d},t.isConcurrentMode=v,t.isContextConsumer=function(e){return y(e)===c},t.isContextProvider=function(e){return y(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===i},t.isForwardRef=function(e){return y(e)===p},t.isFragment=function(e){return y(e)===a},t.isLazy=function(e){return y(e)===g},t.isMemo=function(e){return y(e)===m},t.isPortal=function(e){return y(e)===o},t.isProfiler=function(e){return y(e)===u},t.isStrictMode=function(e){return y(e)===s},t.isSuspense=function(e){return y(e)===h}},function(e,t,n){var r=n(152),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=a.call(e);return r&&(t?e[s]=n:delete e[s]),i}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){var r=n(586),i=500;e.exports=function(e){var t=r(e,function(e){return n.size===i&&n.clear(),e}),n=t.cache;return t}},function(e,t,n){var r=n(208),i="Expected a function";function o(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(i);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(o.Cache||r),n}o.Cache=r,e.exports=o},function(e,t,n){var r=n(588),i=n(154),o=n(209);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},function(e,t,n){var r=n(589),i=n(594),o=n(595),a=n(596),s=n(597);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=i,u.prototype.get=o,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(153);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},function(e,t,n){var r=n(144),i=n(591),o=n(59),a=n(292),s=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,d=l.hasOwnProperty,f=RegExp("^"+c.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||i(e))&&(r(e)?f:s).test(a(e))}},function(e,t,n){var r,i=n(592),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!o&&o in e}},function(e,t,n){var r=n(44)["__core-js_shared__"];e.exports=r},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},function(e,t,n){var r=n(153),i="__lodash_hash_undefined__",o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return n===i?void 0:n}return o.call(t,e)?t[e]:void 0}},function(e,t,n){var r=n(153),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},function(e,t,n){var r=n(153),i="__lodash_hash_undefined__";e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?i:t,this}},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,n){var r=n(155),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():i.call(t,n,1),--this.size,0))}},function(e,t,n){var r=n(155);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},function(e,t,n){var r=n(155);e.exports=function(e){return r(this.__data__,e)>-1}},function(e,t,n){var r=n(155);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},function(e,t,n){var r=n(156);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,n){var r=n(156);e.exports=function(e){return r(this,e).get(e)}},function(e,t,n){var r=n(156);e.exports=function(e){return r(this,e).has(e)}},function(e,t,n){var r=n(156);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},function(e,t,n){var r=n(152),i=n(288),o=n(38),a=n(151),s=1/0,u=r?r.prototype:void 0,l=u?u.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return i(t,e)+"";if(a(t))return l?l.call(t):"";var n=t+"";return"0"==n&&1/t==-s?"-0":n}},function(e,t,n){var r=n(210),i=n(294),o=n(620),a=n(623),s=n(299),u=n(38),l=n(159),c=n(160),d=1,f="[object Arguments]",p="[object Array]",h="[object Object]",m=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,g,y,v){var b=u(e),_=u(t),w=b?p:s(e),A=_?p:s(t),x=(w=w==f?h:w)==h,k=(A=A==f?h:A)==h,M=w==A;if(M&&l(e)){if(!l(t))return!1;b=!0,x=!1}if(M&&!x)return v||(v=new r),b||c(e)?i(e,t,n,g,y,v):o(e,t,w,n,g,y,v);if(!(n&d)){var E=x&&m.call(e,"__wrapped__"),L=k&&m.call(t,"__wrapped__");if(E||L){var S=E?e.value():e,D=L?t.value():t;return v||(v=new r),y(S,D,n,g,v)}}return!!M&&(v||(v=new r),a(e,t,n,g,y,v))}},function(e,t,n){var r=n(154);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var r=n(154),i=n(209),o=n(208),a=200;e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var s=n.__data__;if(!i||s.length<a-1)return s.push([e,t]),this.size=++n.size,this;n=this.__data__=new o(s)}return n.set(e,t),this.size=n.size,this}},function(e,t,n){var r=n(208),i=n(616),o=n(617);function a(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new r;++t<n;)this.add(e[t])}a.prototype.add=a.prototype.push=i,a.prototype.has=o,e.exports=a},function(e,t){var n="__lodash_hash_undefined__";e.exports=function(e){return this.__data__.set(e,n),this}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}},function(e,t){e.exports=function(e,t){return e.has(t)}},function(e,t,n){var r=n(152),i=n(295),o=n(124),a=n(294),s=n(621),u=n(622),l=1,c=2,d="[object Boolean]",f="[object Date]",p="[object Error]",h="[object Map]",m="[object Number]",g="[object RegExp]",y="[object Set]",v="[object String]",b="[object Symbol]",_="[object ArrayBuffer]",w="[object DataView]",A=r?r.prototype:void 0,x=A?A.valueOf:void 0;e.exports=function(e,t,n,r,A,k,M){switch(n){case w:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case _:return!(e.byteLength!=t.byteLength||!k(new i(e),new i(t)));case d:case f:case m:return o(+e,+t);case p:return e.name==t.name&&e.message==t.message;case g:case v:return e==t+"";case h:var E=s;case y:var L=r&l;if(E||(E=u),e.size!=t.size&&!L)return!1;var S=M.get(e);if(S)return S==t;r|=c,M.set(e,t);var D=a(E(e),E(t),r,A,k,M);return M.delete(e),D;case b:if(x)return x.call(e)==x.call(t)}return!1}},function(e,t){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}},function(e,t){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}},function(e,t,n){var r=n(624),i=1,o=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,a,s,u){var l=n&i,c=r(e),d=c.length;if(d!=r(t).length&&!l)return!1;for(var f=d;f--;){var p=c[f];if(!(l?p in t:o.call(t,p)))return!1}var h=u.get(e),m=u.get(t);if(h&&m)return h==t&&m==e;var g=!0;u.set(e,t),u.set(t,e);for(var y=l;++f<d;){var v=e[p=c[f]],b=t[p];if(a)var _=l?a(b,v,p,t,e,u):a(v,b,p,e,t,u);if(!(void 0===_?v===b||s(v,b,n,a,u):_)){g=!1;break}y||(y="constructor"==p)}if(g&&!y){var w=e.constructor,A=t.constructor;w!=A&&"constructor"in e&&"constructor"in t&&!("function"==typeof w&&w instanceof w&&"function"==typeof A&&A instanceof A)&&(g=!1)}return u.delete(e),u.delete(t),g}},function(e,t,n){var r=n(625),i=n(627),o=n(211);e.exports=function(e){return r(e,o,i)}},function(e,t,n){var r=n(626),i=n(38);e.exports=function(e,t,n){var o=t(e);return i(e)?o:r(o,n(e))}},function(e,t){e.exports=function(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}},function(e,t,n){var r=n(628),i=n(629),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(e){return null==e?[]:(e=Object(e),r(a(e),function(t){return o.call(e,t)}))}:i;e.exports=s},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}},function(e,t){e.exports=function(){return[]}},function(e,t){e.exports=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}},function(e,t,n){var r=n(93),i=n(75),o="[object Arguments]";e.exports=function(e){return i(e)&&r(e)==o}},function(e,t){e.exports=function(){return!1}},function(e,t,n){var r=n(93),i=n(213),o=n(75),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,e.exports=function(e){return o(e)&&i(e.length)&&!!a[r(e)]}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,n){(function(e){var r=n(290),i=t&&!t.nodeType&&t,o=i&&"object"==typeof e&&e&&!e.nodeType&&e,a=o&&o.exports===i&&r.process,s=function(){try{var e=o&&o.require&&o.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=s}).call(this,n(45)(e))},function(e,t,n){var r=n(298)(Object.keys,Object);e.exports=r},function(e,t,n){var r=n(76)(n(44),"DataView");e.exports=r},function(e,t,n){var r=n(76)(n(44),"Promise");e.exports=r},function(e,t,n){var r=n(76)(n(44),"Set");e.exports=r},function(e,t,n){var r=n(76)(n(44),"WeakMap");e.exports=r},function(e,t,n){var r=n(303),i=n(211);e.exports=function(e,t){return e&&r(e,t,i)}},function(e,t){e.exports=function(e){return function(t,n,r){for(var i=-1,o=Object(t),a=r(t),s=a.length;s--;){var u=a[e?s:++i];if(!1===n(o[u],u,o))break}return t}}},function(e,t,n){var r=n(644),i=n(647),o=n(215),a=n(38),s=n(651);e.exports=function(e){return"function"==typeof e?e:null==e?o:"object"==typeof e?a(e)?i(e[0],e[1]):r(e):s(e)}},function(e,t,n){var r=n(645),i=n(646),o=n(305);e.exports=function(e){var t=i(e);return 1==t.length&&t[0][2]?o(t[0][0],t[0][1]):function(n){return n===e||r(n,e,t)}}},function(e,t,n){var r=n(210),i=n(157),o=1,a=2;e.exports=function(e,t,n,s){var u=n.length,l=u,c=!s;if(null==e)return!l;for(e=Object(e);u--;){var d=n[u];if(c&&d[2]?d[1]!==e[d[0]]:!(d[0]in e))return!1}for(;++u<l;){var f=(d=n[u])[0],p=e[f],h=d[1];if(c&&d[2]){if(void 0===p&&!(f in e))return!1}else{var m=new r;if(s)var g=s(p,h,f,e,t,m);if(!(void 0===g?i(h,p,o|a,s,m):g))return!1}}return!0}},function(e,t,n){var r=n(304),i=n(211);e.exports=function(e){for(var t=i(e),n=t.length;n--;){var o=t[n],a=e[o];t[n]=[o,a,r(a)]}return t}},function(e,t,n){var r=n(157),i=n(270),o=n(648),a=n(214),s=n(304),u=n(305),l=n(125),c=1,d=2;e.exports=function(e,t){return a(e)&&s(t)?u(l(e),t):function(n){var a=i(n,e);return void 0===a&&a===t?o(n,e):r(t,a,c|d)}}},function(e,t,n){var r=n(649),i=n(650);e.exports=function(e,t){return null!=e&&i(e,t,r)}},function(e,t){e.exports=function(e,t){return null!=e&&t in Object(e)}},function(e,t,n){var r=n(301),i=n(158),o=n(38),a=n(212),s=n(213),u=n(125);e.exports=function(e,t,n){for(var l=-1,c=(t=r(t,e)).length,d=!1;++l<c;){var f=u(t[l]);if(!(d=null!=e&&n(e,f)))break;e=e[f]}return d||++l!=c?d:!!(c=null==e?0:e.length)&&s(c)&&a(f,c)&&(o(e)||i(e))}},function(e,t,n){var r=n(652),i=n(653),o=n(214),a=n(125);e.exports=function(e){return o(e)?r(a(e)):i(e)}},function(e,t){e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},function(e,t,n){var r=n(300);e.exports=function(e){return function(t){return r(t,e)}}},function(e,t,n){var r=n(210),i=n(306),o=n(303),a=n(655),s=n(59),u=n(309),l=n(308);e.exports=function e(t,n,c,d,f){t!==n&&o(n,function(o,u){if(f||(f=new r),s(o))a(t,n,u,c,e,d,f);else{var p=d?d(l(t,u),o,u+"",t,n,f):void 0;void 0===p&&(p=o),i(t,u,p)}},u)}},function(e,t,n){var r=n(306),i=n(656),o=n(657),a=n(289),s=n(659),u=n(158),l=n(38),c=n(661),d=n(159),f=n(144),p=n(59),h=n(662),m=n(160),g=n(308),y=n(663);e.exports=function(e,t,n,v,b,_,w){var A=g(e,n),x=g(t,n),k=w.get(x);if(k)r(e,n,k);else{var M=_?_(A,x,n+"",e,t,w):void 0,E=void 0===M;if(E){var L=l(x),S=!L&&d(x),D=!L&&!S&&m(x);M=x,L||S||D?l(A)?M=A:c(A)?M=a(A):S?(E=!1,M=i(x,!0)):D?(E=!1,M=o(x,!0)):M=[]:h(x)||u(x)?(M=A,u(A)?M=y(A):p(A)&&!f(A)||(M=s(x))):E=!1}E&&(w.set(x,M),b(M,x,v,_,w),w.delete(x)),r(e,n,M)}}},function(e,t,n){(function(e){var r=n(44),i=t&&!t.nodeType&&t,o=i&&"object"==typeof e&&e&&!e.nodeType&&e,a=o&&o.exports===i?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var n=e.length,r=s?s(n):new e.constructor(n);return e.copy(r),r}}).call(this,n(45)(e))},function(e,t,n){var r=n(658);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}},function(e,t,n){var r=n(295);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},function(e,t,n){var r=n(660),i=n(307),o=n(161);e.exports=function(e){return"function"!=typeof e.constructor||o(e)?{}:r(i(e))}},function(e,t,n){var r=n(59),i=Object.create,o=function(){function e(){}return function(t){if(!r(t))return{};if(i)return i(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();e.exports=o},function(e,t,n){var r=n(126),i=n(75);e.exports=function(e){return i(e)&&r(e)}},function(e,t,n){var r=n(93),i=n(307),o=n(75),a="[object Object]",s=Function.prototype,u=Object.prototype,l=s.toString,c=u.hasOwnProperty,d=l.call(Object);e.exports=function(e){if(!o(e)||r(e)!=a)return!1;var t=i(e);if(null===t)return!0;var n=c.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&l.call(n)==d}},function(e,t,n){var r=n(664),i=n(309);e.exports=function(e){return r(e,i(e))}},function(e,t,n){var r=n(665),i=n(162);e.exports=function(e,t,n,o){var a=!n;n||(n={});for(var s=-1,u=t.length;++s<u;){var l=t[s],c=o?o(n[l],e[l],l,n,e):void 0;void 0===c&&(c=e[l]),a?i(n,l,c):r(n,l,c)}return n}},function(e,t,n){var r=n(162),i=n(124),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var a=e[t];o.call(e,t)&&i(a,n)&&(void 0!==n||t in e)||r(e,t,n)}},function(e,t,n){var r=n(59),i=n(161),o=n(667),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return o(e);var t=i(e),n=[];for(var s in e)("constructor"!=s||!t&&a.call(e,s))&&n.push(s);return n}},function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},function(e,t,n){var r=n(669),i=n(676);e.exports=function(e){return r(function(t,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=e.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),t=Object(t);++r<o;){var u=n[r];u&&e(t,u,r,a)}return t})}},function(e,t,n){var r=n(215),i=n(670),o=n(672);e.exports=function(e,t){return o(i(e,t,r),e+"")}},function(e,t,n){var r=n(671),i=Math.max;e.exports=function(e,t,n){return t=i(void 0===t?e.length-1:t,0),function(){for(var o=arguments,a=-1,s=i(o.length-t,0),u=Array(s);++a<s;)u[a]=o[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=o[a];return l[t]=n(u),r(e,this,l)}}},function(e,t){e.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},function(e,t,n){var r=n(673),i=n(675)(r);e.exports=i},function(e,t,n){var r=n(674),i=n(302),o=n(215),a=i?function(e,t){return i(e,"toString",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:o;e.exports=a},function(e,t){e.exports=function(e){return function(){return e}}},function(e,t){var n=800,r=16,i=Date.now;e.exports=function(e){var t=0,o=0;return function(){var a=i(),s=r-(a-o);if(o=a,s>0){if(++t>=n)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,n){var r=n(124),i=n(126),o=n(212),a=n(59);e.exports=function(e,t,n){if(!a(n))return!1;var s=typeof t;return!!("number"==s?i(n)&&o(t,n.length):"string"==s&&t in n)&&r(n[t],e)}},function(e,t,n){e.exports=function(){"use strict";var e=Array.prototype.slice;function t(e,t){t&&(e.prototype=Object.create(t.prototype)),e.prototype.constructor=e}function n(e){return a(e)?e:K(e)}function r(e){return s(e)?e:q(e)}function i(e){return u(e)?e:W(e)}function o(e){return a(e)&&!l(e)?e:G(e)}function a(e){return!(!e||!e[d])}function s(e){return!(!e||!e[f])}function u(e){return!(!e||!e[p])}function l(e){return s(e)||u(e)}function c(e){return!(!e||!e[h])}t(r,n),t(i,n),t(o,n),n.isIterable=a,n.isKeyed=s,n.isIndexed=u,n.isAssociative=l,n.isOrdered=c,n.Keyed=r,n.Indexed=i,n.Set=o;var d="@@__IMMUTABLE_ITERABLE__@@",f="@@__IMMUTABLE_KEYED__@@",p="@@__IMMUTABLE_INDEXED__@@",h="@@__IMMUTABLE_ORDERED__@@",m=5,g=1<<m,y=g-1,v={},b={value:!1},_={value:!1};function w(e){return e.value=!1,e}function A(e){e&&(e.value=!0)}function x(){}function k(e,t){t=t||0;for(var n=Math.max(0,e.length-t),r=new Array(n),i=0;i<n;i++)r[i]=e[i+t];return r}function M(e){return void 0===e.size&&(e.size=e.__iterate(L)),e.size}function E(e,t){if("number"!=typeof t){var n=t>>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?M(e)+t:t}function L(){return!0}function S(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function D(e,t){return C(e,t,0)}function T(e,t){return C(e,t,t)}function C(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}var O=0,$=1,j=2,P="function"==typeof Symbol&&Symbol.iterator,I="@@iterator",N=P||I;function F(e){this.next=e}function R(e,t,n,r){var i=0===e?t:1===e?n:[t,n];return r?r.value=i:r={value:i,done:!1},r}function Y(){return{value:void 0,done:!0}}function B(e){return!!U(e)}function z(e){return e&&"function"==typeof e.next}function H(e){var t=U(e);return t&&t.call(e)}function U(e){var t=e&&(P&&e[P]||e[I]);if("function"==typeof t)return t}function Z(e){return e&&"number"==typeof e.length}function K(e){return null==e?oe():a(e)?e.toSeq():function(e){var t=ue(e)||"object"==typeof e&&new te(e);if(!t)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+e);return t}(e)}function q(e){return null==e?oe().toKeyedSeq():a(e)?s(e)?e.toSeq():e.fromEntrySeq():ae(e)}function W(e){return null==e?oe():a(e)?s(e)?e.entrySeq():e.toIndexedSeq():se(e)}function G(e){return(null==e?oe():a(e)?s(e)?e.entrySeq():e:se(e)).toSetSeq()}F.prototype.toString=function(){return"[Iterator]"},F.KEYS=O,F.VALUES=$,F.ENTRIES=j,F.prototype.inspect=F.prototype.toSource=function(){return this.toString()},F.prototype[N]=function(){return this},t(K,n),K.of=function(){return K(arguments)},K.prototype.toSeq=function(){return this},K.prototype.toString=function(){return this.__toString("Seq {","}")},K.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},K.prototype.__iterate=function(e,t){return le(this,e,t,!0)},K.prototype.__iterator=function(e,t){return ce(this,e,t,!0)},t(q,K),q.prototype.toKeyedSeq=function(){return this},t(W,K),W.of=function(){return W(arguments)},W.prototype.toIndexedSeq=function(){return this},W.prototype.toString=function(){return this.__toString("Seq [","]")},W.prototype.__iterate=function(e,t){return le(this,e,t,!1)},W.prototype.__iterator=function(e,t){return ce(this,e,t,!1)},t(G,K),G.of=function(){return G(arguments)},G.prototype.toSetSeq=function(){return this},K.isSeq=ie,K.Keyed=q,K.Set=G,K.Indexed=W;var V,J,Q,X="@@__IMMUTABLE_SEQ__@@";function ee(e){this._array=e,this.size=e.length}function te(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function ne(e){this._iterable=e,this.size=e.length||e.size}function re(e){this._iterator=e,this._iteratorCache=[]}function ie(e){return!(!e||!e[X])}function oe(){return V||(V=new ee([]))}function ae(e){var t=Array.isArray(e)?new ee(e).fromEntrySeq():z(e)?new re(e).fromEntrySeq():B(e)?new ne(e).fromEntrySeq():"object"==typeof e?new te(e):void 0;if(!t)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+e);return t}function se(e){var t=ue(e);if(!t)throw new TypeError("Expected Array or iterable object of values: "+e);return t}function ue(e){return Z(e)?new ee(e):z(e)?new re(e):B(e)?new ne(e):void 0}function le(e,t,n,r){var i=e._cache;if(i){for(var o=i.length-1,a=0;a<=o;a++){var s=i[n?o-a:a];if(!1===t(s[1],r?s[0]:a,e))return a+1}return a}return e.__iterateUncached(t,n)}function ce(e,t,n,r){var i=e._cache;if(i){var o=i.length-1,a=0;return new F(function(){var e=i[n?o-a:a];return a++>o?{value:void 0,done:!0}:R(t,r?e[0]:a-1,e[1])})}return e.__iteratorUncached(t,n)}function de(e,t){return t?function e(t,n,r,i){return Array.isArray(n)?t.call(i,r,W(n).map(function(r,i){return e(t,r,i,n)})):pe(n)?t.call(i,r,q(n).map(function(r,i){return e(t,r,i,n)})):n}(t,e,"",{"":e}):fe(e)}function fe(e){return Array.isArray(e)?W(e).map(fe).toList():pe(e)?q(e).map(fe).toMap():e}function pe(e){return e&&(e.constructor===Object||void 0===e.constructor)}function he(e,t){if(e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1;if("function"==typeof e.valueOf&&"function"==typeof t.valueOf){if(e=e.valueOf(),t=t.valueOf(),e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1}return!("function"!=typeof e.equals||"function"!=typeof t.equals||!e.equals(t))}function me(e,t){if(e===t)return!0;if(!a(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||s(e)!==s(t)||u(e)!==u(t)||c(e)!==c(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!l(e);if(c(e)){var r=e.entries();return t.every(function(e,t){var i=r.next().value;return i&&he(i[1],e)&&(n||he(i[0],t))})&&r.next().done}var i=!1;if(void 0===e.size)if(void 0===t.size)"function"==typeof e.cacheResult&&e.cacheResult();else{i=!0;var o=e;e=t,t=o}var d=!0,f=t.__iterate(function(t,r){if(n?!e.has(t):i?!he(t,e.get(r,v)):!he(e.get(r,v),t))return d=!1,!1});return d&&e.size===f}function ge(e,t){if(!(this instanceof ge))return new ge(e,t);if(this._value=e,this.size=void 0===t?1/0:Math.max(0,t),0===this.size){if(J)return J;J=this}}function ye(e,t){if(!e)throw new Error(t)}function ve(e,t,n){if(!(this instanceof ve))return new ve(e,t,n);if(ye(0!==n,"Cannot step a Range by 0"),e=e||0,void 0===t&&(t=1/0),n=void 0===n?1:Math.abs(n),t<e&&(n=-n),this._start=e,this._end=t,this._step=n,this.size=Math.max(0,Math.ceil((t-e)/n-1)+1),0===this.size){if(Q)return Q;Q=this}}function be(){throw TypeError("Abstract")}function _e(){}function we(){}function Ae(){}K.prototype[X]=!0,t(ee,W),ee.prototype.get=function(e,t){return this.has(e)?this._array[E(this,e)]:t},ee.prototype.__iterate=function(e,t){for(var n=this._array,r=n.length-1,i=0;i<=r;i++)if(!1===e(n[t?r-i:i],i,this))return i+1;return i},ee.prototype.__iterator=function(e,t){var n=this._array,r=n.length-1,i=0;return new F(function(){return i>r?{value:void 0,done:!0}:R(e,i,n[t?r-i++:i++])})},t(te,q),te.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},te.prototype.has=function(e){return this._object.hasOwnProperty(e)},te.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,i=r.length-1,o=0;o<=i;o++){var a=r[t?i-o:o];if(!1===e(n[a],a,this))return o+1}return o},te.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,i=r.length-1,o=0;return new F(function(){var a=r[t?i-o:o];return o++>i?{value:void 0,done:!0}:R(e,a,n[a])})},te.prototype[h]=!0,t(ne,W),ne.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=this._iterable,r=H(n),i=0;if(z(r))for(var o;!(o=r.next()).done&&!1!==e(o.value,i++,this););return i},ne.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterable,r=H(n);if(!z(r))return new F(Y);var i=0;return new F(function(){var t=r.next();return t.done?t:R(e,i++,t.value)})},t(re,W),re.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);for(var n,r=this._iterator,i=this._iteratorCache,o=0;o<i.length;)if(!1===e(i[o],o++,this))return o;for(;!(n=r.next()).done;){var a=n.value;if(i[o]=a,!1===e(a,o++,this))break}return o},re.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterator,r=this._iteratorCache,i=0;return new F(function(){if(i>=r.length){var t=n.next();if(t.done)return t;r[i]=t.value}return R(e,i,r[i++])})},t(ge,W),ge.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},ge.prototype.get=function(e,t){return this.has(e)?this._value:t},ge.prototype.includes=function(e){return he(this._value,e)},ge.prototype.slice=function(e,t){var n=this.size;return S(e,t,n)?this:new ge(this._value,T(t,n)-D(e,n))},ge.prototype.reverse=function(){return this},ge.prototype.indexOf=function(e){return he(this._value,e)?0:-1},ge.prototype.lastIndexOf=function(e){return he(this._value,e)?this.size:-1},ge.prototype.__iterate=function(e,t){for(var n=0;n<this.size;n++)if(!1===e(this._value,n,this))return n+1;return n},ge.prototype.__iterator=function(e,t){var n=this,r=0;return new F(function(){return r<n.size?R(e,r++,n._value):{value:void 0,done:!0}})},ge.prototype.equals=function(e){return e instanceof ge?he(this._value,e._value):me(e)},t(ve,W),ve.prototype.toString=function(){return 0===this.size?"Range []":"Range [ "+this._start+"..."+this._end+(1!==this._step?" by "+this._step:"")+" ]"},ve.prototype.get=function(e,t){return this.has(e)?this._start+E(this,e)*this._step:t},ve.prototype.includes=function(e){var t=(e-this._start)/this._step;return t>=0&&t<this.size&&t===Math.floor(t)},ve.prototype.slice=function(e,t){return S(e,t,this.size)?this:(e=D(e,this.size),(t=T(t,this.size))<=e?new ve(0,0):new ve(this.get(e,this._end),this.get(t,this._end),this._step))},ve.prototype.indexOf=function(e){var t=e-this._start;if(t%this._step==0){var n=t/this._step;if(n>=0&&n<this.size)return n}return-1},ve.prototype.lastIndexOf=function(e){return this.indexOf(e)},ve.prototype.__iterate=function(e,t){for(var n=this.size-1,r=this._step,i=t?this._start+n*r:this._start,o=0;o<=n;o++){if(!1===e(i,o,this))return o+1;i+=t?-r:r}return o},ve.prototype.__iterator=function(e,t){var n=this.size-1,r=this._step,i=t?this._start+n*r:this._start,o=0;return new F(function(){var a=i;return i+=t?-r:r,o>n?{value:void 0,done:!0}:R(e,o++,a)})},ve.prototype.equals=function(e){return e instanceof ve?this._start===e._start&&this._end===e._end&&this._step===e._step:me(this,e)},t(be,n),t(_e,be),t(we,be),t(Ae,be),be.Keyed=_e,be.Indexed=we,be.Set=Ae;var xe="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var n=65535&(e|=0),r=65535&(t|=0);return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0};function ke(e){return e>>>1&1073741824|3221225471&e}function Me(e){if(!1===e||null==e)return 0;if("function"==typeof e.valueOf&&(!1===(e=e.valueOf())||null==e))return 0;if(!0===e)return 1;var t=typeof e;if("number"===t){if(e!=e||e===1/0)return 0;var n=0|e;for(n!==e&&(n^=4294967295*e);e>4294967295;)n^=e/=4294967295;return ke(n)}if("string"===t)return e.length>$e?function(e){var t=Ie[e];return void 0===t&&(t=Ee(e),Pe===je&&(Pe=0,Ie={}),Pe++,Ie[e]=t),t}(e):Ee(e);if("function"==typeof e.hashCode)return e.hashCode();if("object"===t)return function(e){var t;if(Te&&void 0!==(t=Le.get(e)))return t;if(void 0!==(t=e[Oe]))return t;if(!De){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[Oe]))return t;if(void 0!==(t=function(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}(e)))return t}if(t=++Ce,1073741824&Ce&&(Ce=0),Te)Le.set(e,t);else{if(void 0!==Se&&!1===Se(e))throw new Error("Non-extensible objects are not allowed as keys.");if(De)Object.defineProperty(e,Oe,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[Oe]=t;else{if(void 0===e.nodeType)throw new Error("Unable to set a non-enumerable property on object.");e[Oe]=t}}return t}(e);if("function"==typeof e.toString)return Ee(e.toString());throw new Error("Value type "+t+" cannot be hashed.")}function Ee(e){for(var t=0,n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return ke(t)}var Le,Se=Object.isExtensible,De=function(){try{return Object.defineProperty({},"@",{}),!0}catch(e){return!1}}(),Te="function"==typeof WeakMap;Te&&(Le=new WeakMap);var Ce=0,Oe="__immutablehash__";"function"==typeof Symbol&&(Oe=Symbol(Oe));var $e=16,je=255,Pe=0,Ie={};function Ne(e){ye(e!==1/0,"Cannot perform this action with an infinite size.")}function Fe(e){return null==e?Qe():Re(e)&&!c(e)?e:Qe().withMutations(function(t){var n=r(e);Ne(n.size),n.forEach(function(e,n){return t.set(n,e)})})}function Re(e){return!(!e||!e[Be])}t(Fe,_e),Fe.of=function(){var t=e.call(arguments,0);return Qe().withMutations(function(e){for(var n=0;n<t.length;n+=2){if(n+1>=t.length)throw new Error("Missing value for key: "+t[n]);e.set(t[n],t[n+1])}})},Fe.prototype.toString=function(){return this.__toString("Map {","}")},Fe.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},Fe.prototype.set=function(e,t){return Xe(this,e,t)},Fe.prototype.setIn=function(e,t){return this.updateIn(e,v,function(){return t})},Fe.prototype.remove=function(e){return Xe(this,e,v)},Fe.prototype.deleteIn=function(e){return this.updateIn(e,function(){return v})},Fe.prototype.update=function(e,t,n){return 1===arguments.length?e(this):this.updateIn([e],t,n)},Fe.prototype.updateIn=function(e,t,n){n||(n=t,t=void 0);var r=function e(t,n,r,i){var o=t===v,a=n.next();if(a.done){var s=o?r:t,u=i(s);return u===s?t:u}ye(o||t&&t.set,"invalid keyPath");var l=a.value,c=o?v:t.get(l,v),d=e(c,n,r,i);return d===c?t:d===v?t.remove(l):(o?Qe():t).set(l,d)}(this,nn(e),t,n);return r===v?void 0:r},Fe.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Qe()},Fe.prototype.merge=function(){return rt(this,void 0,arguments)},Fe.prototype.mergeWith=function(t){var n=e.call(arguments,1);return rt(this,t,n)},Fe.prototype.mergeIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,Qe(),function(e){return"function"==typeof e.merge?e.merge.apply(e,n):n[n.length-1]})},Fe.prototype.mergeDeep=function(){return rt(this,it,arguments)},Fe.prototype.mergeDeepWith=function(t){var n=e.call(arguments,1);return rt(this,ot(t),n)},Fe.prototype.mergeDeepIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,Qe(),function(e){return"function"==typeof e.mergeDeep?e.mergeDeep.apply(e,n):n[n.length-1]})},Fe.prototype.sort=function(e){return Dt(Zt(this,e))},Fe.prototype.sortBy=function(e,t){return Dt(Zt(this,t,e))},Fe.prototype.withMutations=function(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this},Fe.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new x)},Fe.prototype.asImmutable=function(){return this.__ensureOwner()},Fe.prototype.wasAltered=function(){return this.__altered},Fe.prototype.__iterator=function(e,t){return new We(this,e,t)},Fe.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate(function(t){return r++,e(t[1],t[0],n)},t),r},Fe.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Je(this.size,this._root,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},Fe.isMap=Re;var Ye,Be="@@__IMMUTABLE_MAP__@@",ze=Fe.prototype;function He(e,t){this.ownerID=e,this.entries=t}function Ue(e,t,n){this.ownerID=e,this.bitmap=t,this.nodes=n}function Ze(e,t,n){this.ownerID=e,this.count=t,this.nodes=n}function Ke(e,t,n){this.ownerID=e,this.keyHash=t,this.entries=n}function qe(e,t,n){this.ownerID=e,this.keyHash=t,this.entry=n}function We(e,t,n){this._type=t,this._reverse=n,this._stack=e._root&&Ve(e._root)}function Ge(e,t){return R(e,t[0],t[1])}function Ve(e,t){return{node:e,index:0,__prev:t}}function Je(e,t,n,r){var i=Object.create(ze);return i.size=e,i._root=t,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function Qe(){return Ye||(Ye=Je(0))}function Xe(e,t,n){var r,i;if(e._root){var o=w(b),a=w(_);if(r=et(e._root,e.__ownerID,0,void 0,t,n,o,a),!a.value)return e;i=e.size+(o.value?n===v?-1:1:0)}else{if(n===v)return e;i=1,r=new He(e.__ownerID,[[t,n]])}return e.__ownerID?(e.size=i,e._root=r,e.__hash=void 0,e.__altered=!0,e):r?Je(i,r):Qe()}function et(e,t,n,r,i,o,a,s){return e?e.update(t,n,r,i,o,a,s):o===v?e:(A(s),A(a),new qe(t,r,[i,o]))}function tt(e){return e.constructor===qe||e.constructor===Ke}function nt(e,t,n,r,i){if(e.keyHash===r)return new Ke(t,r,[e.entry,i]);var o,a=(0===n?e.keyHash:e.keyHash>>>n)&y,s=(0===n?r:r>>>n)&y,u=a===s?[nt(e,t,n+m,r,i)]:(o=new qe(t,r,i),a<s?[e,o]:[o,e]);return new Ue(t,1<<a|1<<s,u)}function rt(e,t,n){for(var i=[],o=0;o<n.length;o++){var s=n[o],u=r(s);a(s)||(u=u.map(function(e){return de(e)})),i.push(u)}return at(e,t,i)}function it(e,t,n){return e&&e.mergeDeep&&a(t)?e.mergeDeep(t):he(e,t)?e:t}function ot(e){return function(t,n,r){if(t&&t.mergeDeepWith&&a(n))return t.mergeDeepWith(e,n);var i=e(t,n,r);return he(t,i)?t:i}}function at(e,t,n){return 0===(n=n.filter(function(e){return 0!==e.size})).length?e:0!==e.size||e.__ownerID||1!==n.length?e.withMutations(function(e){for(var r=t?function(n,r){e.update(r,v,function(e){return e===v?n:t(e,n,r)})}:function(t,n){e.set(n,t)},i=0;i<n.length;i++)n[i].forEach(r)}):e.constructor(n[0])}function st(e){return e=(e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function ut(e,t,n,r){var i=r?e:k(e);return i[t]=n,i}ze[Be]=!0,ze.delete=ze.remove,ze.removeIn=ze.deleteIn,He.prototype.get=function(e,t,n,r){for(var i=this.entries,o=0,a=i.length;o<a;o++)if(he(n,i[o][0]))return i[o][1];return r},He.prototype.update=function(e,t,n,r,i,o,a){for(var s=i===v,u=this.entries,l=0,c=u.length;l<c&&!he(r,u[l][0]);l++);var d=l<c;if(d?u[l][1]===i:s)return this;if(A(a),(s||!d)&&A(o),!s||1!==u.length){if(!d&&!s&&u.length>=lt)return function(e,t,n,r){e||(e=new x);for(var i=new qe(e,Me(n),[n,r]),o=0;o<t.length;o++){var a=t[o];i=i.update(e,0,void 0,a[0],a[1])}return i}(e,u,r,i);var f=e&&e===this.ownerID,p=f?u:k(u);return d?s?l===c-1?p.pop():p[l]=p.pop():p[l]=[r,i]:p.push([r,i]),f?(this.entries=p,this):new He(e,p)}},Ue.prototype.get=function(e,t,n,r){void 0===t&&(t=Me(n));var i=1<<((0===e?t:t>>>e)&y),o=this.bitmap;return 0==(o&i)?r:this.nodes[st(o&i-1)].get(e+m,t,n,r)},Ue.prototype.update=function(e,t,n,r,i,o,a){void 0===n&&(n=Me(r));var s=(0===t?n:n>>>t)&y,u=1<<s,l=this.bitmap,c=0!=(l&u);if(!c&&i===v)return this;var d=st(l&u-1),f=this.nodes,p=c?f[d]:void 0,h=et(p,e,t+m,n,r,i,o,a);if(h===p)return this;if(!c&&h&&f.length>=ct)return function(e,t,n,r,i){for(var o=0,a=new Array(g),s=0;0!==n;s++,n>>>=1)a[s]=1&n?t[o++]:void 0;return a[r]=i,new Ze(e,o+1,a)}(e,f,l,s,h);if(c&&!h&&2===f.length&&tt(f[1^d]))return f[1^d];if(c&&h&&1===f.length&&tt(h))return h;var b=e&&e===this.ownerID,_=c?h?l:l^u:l|u,w=c?h?ut(f,d,h,b):function(e,t,n){var r=e.length-1;if(n&&t===r)return e.pop(),e;for(var i=new Array(r),o=0,a=0;a<r;a++)a===t&&(o=1),i[a]=e[a+o];return i}(f,d,b):function(e,t,n,r){var i=e.length+1;if(r&&t+1===i)return e[t]=n,e;for(var o=new Array(i),a=0,s=0;s<i;s++)s===t?(o[s]=n,a=-1):o[s]=e[s+a];return o}(f,d,h,b);return b?(this.bitmap=_,this.nodes=w,this):new Ue(e,_,w)},Ze.prototype.get=function(e,t,n,r){void 0===t&&(t=Me(n));var i=(0===e?t:t>>>e)&y,o=this.nodes[i];return o?o.get(e+m,t,n,r):r},Ze.prototype.update=function(e,t,n,r,i,o,a){void 0===n&&(n=Me(r));var s=(0===t?n:n>>>t)&y,u=i===v,l=this.nodes,c=l[s];if(u&&!c)return this;var d=et(c,e,t+m,n,r,i,o,a);if(d===c)return this;var f=this.count;if(c){if(!d&&--f<dt)return function(e,t,n,r){for(var i=0,o=0,a=new Array(n),s=0,u=1,l=t.length;s<l;s++,u<<=1){var c=t[s];void 0!==c&&s!==r&&(i|=u,a[o++]=c)}return new Ue(e,i,a)}(e,l,f,s)}else f++;var p=e&&e===this.ownerID,h=ut(l,s,d,p);return p?(this.count=f,this.nodes=h,this):new Ze(e,f,h)},Ke.prototype.get=function(e,t,n,r){for(var i=this.entries,o=0,a=i.length;o<a;o++)if(he(n,i[o][0]))return i[o][1];return r},Ke.prototype.update=function(e,t,n,r,i,o,a){void 0===n&&(n=Me(r));var s=i===v;if(n!==this.keyHash)return s?this:(A(a),A(o),nt(this,e,t,n,[r,i]));for(var u=this.entries,l=0,c=u.length;l<c&&!he(r,u[l][0]);l++);var d=l<c;if(d?u[l][1]===i:s)return this;if(A(a),(s||!d)&&A(o),s&&2===c)return new qe(e,this.keyHash,u[1^l]);var f=e&&e===this.ownerID,p=f?u:k(u);return d?s?l===c-1?p.pop():p[l]=p.pop():p[l]=[r,i]:p.push([r,i]),f?(this.entries=p,this):new Ke(e,this.keyHash,p)},qe.prototype.get=function(e,t,n,r){return he(n,this.entry[0])?this.entry[1]:r},qe.prototype.update=function(e,t,n,r,i,o,a){var s=i===v,u=he(r,this.entry[0]);return(u?i===this.entry[1]:s)?this:(A(a),s?void A(o):u?e&&e===this.ownerID?(this.entry[1]=i,this):new qe(e,this.keyHash,[r,i]):(A(o),nt(this,e,t,Me(r),[r,i])))},He.prototype.iterate=Ke.prototype.iterate=function(e,t){for(var n=this.entries,r=0,i=n.length-1;r<=i;r++)if(!1===e(n[t?i-r:r]))return!1},Ue.prototype.iterate=Ze.prototype.iterate=function(e,t){for(var n=this.nodes,r=0,i=n.length-1;r<=i;r++){var o=n[t?i-r:r];if(o&&!1===o.iterate(e,t))return!1}},qe.prototype.iterate=function(e,t){return e(this.entry)},t(We,F),We.prototype.next=function(){for(var e=this._type,t=this._stack;t;){var n,r=t.node,i=t.index++;if(r.entry){if(0===i)return Ge(e,r.entry)}else if(r.entries){if(n=r.entries.length-1,i<=n)return Ge(e,r.entries[this._reverse?n-i:i])}else if(n=r.nodes.length-1,i<=n){var o=r.nodes[this._reverse?n-i:i];if(o){if(o.entry)return Ge(e,o.entry);t=this._stack=Ve(o,t)}continue}t=this._stack=this._stack.__prev}return{value:void 0,done:!0}};var lt=g/4,ct=g/2,dt=g/4;function ft(e){var t=At();if(null==e)return t;if(pt(e))return e;var n=i(e),r=n.size;return 0===r?t:(Ne(r),r>0&&r<g?wt(0,r,m,null,new gt(n.toArray())):t.withMutations(function(e){e.setSize(r),n.forEach(function(t,n){return e.set(n,t)})}))}function pt(e){return!(!e||!e[ht])}t(ft,we),ft.of=function(){return this(arguments)},ft.prototype.toString=function(){return this.__toString("List [","]")},ft.prototype.get=function(e,t){if((e=E(this,e))>=0&&e<this.size){var n=Mt(this,e+=this._origin);return n&&n.array[e&y]}return t},ft.prototype.set=function(e,t){return function(e,t,n){if((t=E(e,t))!=t)return e;if(t>=e.size||t<0)return e.withMutations(function(e){t<0?Et(e,t).set(0,n):Et(e,0,t+1).set(t,n)});t+=e._origin;var r=e._tail,i=e._root,o=w(_);return t>=St(e._capacity)?r=xt(r,e.__ownerID,0,t,n,o):i=xt(i,e.__ownerID,e._level,t,n,o),o.value?e.__ownerID?(e._root=i,e._tail=r,e.__hash=void 0,e.__altered=!0,e):wt(e._origin,e._capacity,e._level,i,r):e}(this,e,t)},ft.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},ft.prototype.insert=function(e,t){return this.splice(e,0,t)},ft.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=m,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):At()},ft.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations(function(n){Et(n,0,t+e.length);for(var r=0;r<e.length;r++)n.set(t+r,e[r])})},ft.prototype.pop=function(){return Et(this,0,-1)},ft.prototype.unshift=function(){var e=arguments;return this.withMutations(function(t){Et(t,-e.length);for(var n=0;n<e.length;n++)t.set(n,e[n])})},ft.prototype.shift=function(){return Et(this,1)},ft.prototype.merge=function(){return Lt(this,void 0,arguments)},ft.prototype.mergeWith=function(t){var n=e.call(arguments,1);return Lt(this,t,n)},ft.prototype.mergeDeep=function(){return Lt(this,it,arguments)},ft.prototype.mergeDeepWith=function(t){var n=e.call(arguments,1);return Lt(this,ot(t),n)},ft.prototype.setSize=function(e){return Et(this,0,e)},ft.prototype.slice=function(e,t){var n=this.size;return S(e,t,n)?this:Et(this,D(e,n),T(t,n))},ft.prototype.__iterator=function(e,t){var n=0,r=_t(this,t);return new F(function(){var t=r();return t===bt?{value:void 0,done:!0}:R(e,n++,t)})},ft.prototype.__iterate=function(e,t){for(var n,r=0,i=_t(this,t);(n=i())!==bt&&!1!==e(n,r++,this););return r},ft.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?wt(this._origin,this._capacity,this._level,this._root,this._tail,e,this.__hash):(this.__ownerID=e,this)},ft.isList=pt;var ht="@@__IMMUTABLE_LIST__@@",mt=ft.prototype;function gt(e,t){this.array=e,this.ownerID=t}mt[ht]=!0,mt.delete=mt.remove,mt.setIn=ze.setIn,mt.deleteIn=mt.removeIn=ze.removeIn,mt.update=ze.update,mt.updateIn=ze.updateIn,mt.mergeIn=ze.mergeIn,mt.mergeDeepIn=ze.mergeDeepIn,mt.withMutations=ze.withMutations,mt.asMutable=ze.asMutable,mt.asImmutable=ze.asImmutable,mt.wasAltered=ze.wasAltered,gt.prototype.removeBefore=function(e,t,n){if(n===t?1<<t:0===this.array.length)return this;var r=n>>>t&y;if(r>=this.array.length)return new gt([],e);var i,o=0===r;if(t>0){var a=this.array[r];if((i=a&&a.removeBefore(e,t-m,n))===a&&o)return this}if(o&&!i)return this;var s=kt(this,e);if(!o)for(var u=0;u<r;u++)s.array[u]=void 0;return i&&(s.array[r]=i),s},gt.prototype.removeAfter=function(e,t,n){if(n===(t?1<<t:0)||0===this.array.length)return this;var r,i=n-1>>>t&y;if(i>=this.array.length)return this;if(t>0){var o=this.array[i];if((r=o&&o.removeAfter(e,t-m,n))===o&&i===this.array.length-1)return this}var a=kt(this,e);return a.array.splice(i+1),r&&(a.array[i]=r),a};var yt,vt,bt={};function _t(e,t){var n=e._origin,r=e._capacity,i=St(r),o=e._tail;return a(e._root,e._level,0);function a(e,s,u){return 0===s?function(e,a){var s=a===i?o&&o.array:e&&e.array,u=a>n?0:n-a,l=r-a;return l>g&&(l=g),function(){if(u===l)return bt;var e=t?--l:u++;return s&&s[e]}}(e,u):function(e,i,o){var s,u=e&&e.array,l=o>n?0:n-o>>i,c=1+(r-o>>i);return c>g&&(c=g),function(){for(;;){if(s){var e=s();if(e!==bt)return e;s=null}if(l===c)return bt;var n=t?--c:l++;s=a(u&&u[n],i-m,o+(n<<i))}}}(e,s,u)}}function wt(e,t,n,r,i,o,a){var s=Object.create(mt);return s.size=t-e,s._origin=e,s._capacity=t,s._level=n,s._root=r,s._tail=i,s.__ownerID=o,s.__hash=a,s.__altered=!1,s}function At(){return yt||(yt=wt(0,0,m))}function xt(e,t,n,r,i,o){var a,s=r>>>n&y,u=e&&s<e.array.length;if(!u&&void 0===i)return e;if(n>0){var l=e&&e.array[s],c=xt(l,t,n-m,r,i,o);return c===l?e:((a=kt(e,t)).array[s]=c,a)}return u&&e.array[s]===i?e:(A(o),a=kt(e,t),void 0===i&&s===a.array.length-1?a.array.pop():a.array[s]=i,a)}function kt(e,t){return t&&e&&t===e.ownerID?e:new gt(e?e.array.slice():[],t)}function Mt(e,t){if(t>=St(e._capacity))return e._tail;if(t<1<<e._level+m){for(var n=e._root,r=e._level;n&&r>0;)n=n.array[t>>>r&y],r-=m;return n}}function Et(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new x,i=e._origin,o=e._capacity,a=i+t,s=void 0===n?o:n<0?o+n:i+n;if(a===i&&s===o)return e;if(a>=s)return e.clear();for(var u=e._level,l=e._root,c=0;a+c<0;)l=new gt(l&&l.array.length?[void 0,l]:[],r),c+=1<<(u+=m);c&&(a+=c,i+=c,s+=c,o+=c);for(var d=St(o),f=St(s);f>=1<<u+m;)l=new gt(l&&l.array.length?[l]:[],r),u+=m;var p=e._tail,h=f<d?Mt(e,s-1):f>d?new gt([],r):p;if(p&&f>d&&a<o&&p.array.length){for(var g=l=kt(l,r),v=u;v>m;v-=m){var b=d>>>v&y;g=g.array[b]=kt(g.array[b],r)}g.array[d>>>m&y]=p}if(s<o&&(h=h&&h.removeAfter(r,0,s)),a>=f)a-=f,s-=f,u=m,l=null,h=h&&h.removeBefore(r,0,a);else if(a>i||f<d){for(c=0;l;){var _=a>>>u&y;if(_!==f>>>u&y)break;_&&(c+=(1<<u)*_),u-=m,l=l.array[_]}l&&a>i&&(l=l.removeBefore(r,u,a-c)),l&&f<d&&(l=l.removeAfter(r,u,f-c)),c&&(a-=c,s-=c)}return e.__ownerID?(e.size=s-a,e._origin=a,e._capacity=s,e._level=u,e._root=l,e._tail=h,e.__hash=void 0,e.__altered=!0,e):wt(a,s,u,l,h)}function Lt(e,t,n){for(var r=[],o=0,s=0;s<n.length;s++){var u=n[s],l=i(u);l.size>o&&(o=l.size),a(u)||(l=l.map(function(e){return de(e)})),r.push(l)}return o>e.size&&(e=e.setSize(o)),at(e,t,r)}function St(e){return e<g?0:e-1>>>m<<m}function Dt(e){return null==e?Ot():Tt(e)?e:Ot().withMutations(function(t){var n=r(e);Ne(n.size),n.forEach(function(e,n){return t.set(n,e)})})}function Tt(e){return Re(e)&&c(e)}function Ct(e,t,n,r){var i=Object.create(Dt.prototype);return i.size=e?e.size:0,i._map=e,i._list=t,i.__ownerID=n,i.__hash=r,i}function Ot(){return vt||(vt=Ct(Qe(),At()))}function $t(e,t,n){var r,i,o=e._map,a=e._list,s=o.get(t),u=void 0!==s;if(n===v){if(!u)return e;a.size>=g&&a.size>=2*o.size?(i=a.filter(function(e,t){return void 0!==e&&s!==t}),r=i.toKeyedSeq().map(function(e){return e[0]}).flip().toMap(),e.__ownerID&&(r.__ownerID=i.__ownerID=e.__ownerID)):(r=o.remove(t),i=s===a.size-1?a.pop():a.set(s,void 0))}else if(u){if(n===a.get(s)[1])return e;r=o,i=a.set(s,[t,n])}else r=o.set(t,a.size),i=a.set(a.size,[t,n]);return e.__ownerID?(e.size=r.size,e._map=r,e._list=i,e.__hash=void 0,e):Ct(r,i)}function jt(e,t){this._iter=e,this._useKeys=t,this.size=e.size}function Pt(e){this._iter=e,this.size=e.size}function It(e){this._iter=e,this.size=e.size}function Nt(e){this._iter=e,this.size=e.size}function Ft(e){var t=Xt(e);return t._iter=e,t.size=e.size,t.flip=function(){return e},t.reverse=function(){var t=e.reverse.apply(this);return t.flip=function(){return e.reverse()},t},t.has=function(t){return e.includes(t)},t.includes=function(t){return e.has(t)},t.cacheResult=en,t.__iterateUncached=function(t,n){var r=this;return e.__iterate(function(e,n){return!1!==t(n,e,r)},n)},t.__iteratorUncached=function(t,n){if(t===j){var r=e.__iterator(t,n);return new F(function(){var e=r.next();if(!e.done){var t=e.value[0];e.value[0]=e.value[1],e.value[1]=t}return e})}return e.__iterator(t===$?O:$,n)},t}function Rt(e,t,n){var r=Xt(e);return r.size=e.size,r.has=function(t){return e.has(t)},r.get=function(r,i){var o=e.get(r,v);return o===v?i:t.call(n,o,r,e)},r.__iterateUncached=function(r,i){var o=this;return e.__iterate(function(e,i,a){return!1!==r(t.call(n,e,i,a),i,o)},i)},r.__iteratorUncached=function(r,i){var o=e.__iterator(j,i);return new F(function(){var i=o.next();if(i.done)return i;var a=i.value,s=a[0];return R(r,s,t.call(n,a[1],s,e),i)})},r}function Yt(e,t){var n=Xt(e);return n._iter=e,n.size=e.size,n.reverse=function(){return e},e.flip&&(n.flip=function(){var t=Ft(e);return t.reverse=function(){return e.flip()},t}),n.get=function(n,r){return e.get(t?n:-1-n,r)},n.has=function(n){return e.has(t?n:-1-n)},n.includes=function(t){return e.includes(t)},n.cacheResult=en,n.__iterate=function(t,n){var r=this;return e.__iterate(function(e,n){return t(e,n,r)},!n)},n.__iterator=function(t,n){return e.__iterator(t,!n)},n}function Bt(e,t,n,r){var i=Xt(e);return r&&(i.has=function(r){var i=e.get(r,v);return i!==v&&!!t.call(n,i,r,e)},i.get=function(r,i){var o=e.get(r,v);return o!==v&&t.call(n,o,r,e)?o:i}),i.__iterateUncached=function(i,o){var a=this,s=0;return e.__iterate(function(e,o,u){if(t.call(n,e,o,u))return s++,i(e,r?o:s-1,a)},o),s},i.__iteratorUncached=function(i,o){var a=e.__iterator(j,o),s=0;return new F(function(){for(;;){var o=a.next();if(o.done)return o;var u=o.value,l=u[0],c=u[1];if(t.call(n,c,l,e))return R(i,r?l:s++,c,o)}})},i}function zt(e,t,n,r){var i=e.size;if(void 0!==t&&(t|=0),void 0!==n&&(n===1/0?n=i:n|=0),S(t,n,i))return e;var o=D(t,i),a=T(n,i);if(o!=o||a!=a)return zt(e.toSeq().cacheResult(),t,n,r);var s,u=a-o;u==u&&(s=u<0?0:u);var l=Xt(e);return l.size=0===s?s:e.size&&s||void 0,!r&&ie(e)&&s>=0&&(l.get=function(t,n){return(t=E(this,t))>=0&&t<s?e.get(t+o,n):n}),l.__iterateUncached=function(t,n){var i=this;if(0===s)return 0;if(n)return this.cacheResult().__iterate(t,n);var a=0,u=!0,l=0;return e.__iterate(function(e,n){if(!u||!(u=a++<o))return l++,!1!==t(e,r?n:l-1,i)&&l!==s}),l},l.__iteratorUncached=function(t,n){if(0!==s&&n)return this.cacheResult().__iterator(t,n);var i=0!==s&&e.__iterator(t,n),a=0,u=0;return new F(function(){for(;a++<o;)i.next();if(++u>s)return{value:void 0,done:!0};var e=i.next();return r||t===$?e:R(t,u-1,t===O?void 0:e.value[1],e)})},l}function Ht(e,t,n,r){var i=Xt(e);return i.__iterateUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,u=0;return e.__iterate(function(e,o,l){if(!s||!(s=t.call(n,e,o,l)))return u++,i(e,r?o:u-1,a)}),u},i.__iteratorUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterator(i,o);var s=e.__iterator(j,o),u=!0,l=0;return new F(function(){var e,o,c;do{if((e=s.next()).done)return r||i===$?e:R(i,l++,i===O?void 0:e.value[1],e);var d=e.value;o=d[0],c=d[1],u&&(u=t.call(n,c,o,a))}while(u);return i===j?e:R(i,o,c,e)})},i}function Ut(e,t,n){var r=Xt(e);return r.__iterateUncached=function(r,i){var o=0,s=!1;return function e(u,l){var c=this;u.__iterate(function(i,u){return(!t||l<t)&&a(i)?e(i,l+1):!1===r(i,n?u:o++,c)&&(s=!0),!s},i)}(e,0),o},r.__iteratorUncached=function(r,i){var o=e.__iterator(r,i),s=[],u=0;return new F(function(){for(;o;){var e=o.next();if(!1===e.done){var l=e.value;if(r===j&&(l=l[1]),t&&!(s.length<t)||!a(l))return n?e:R(r,u++,l,e);s.push(o),o=l.__iterator(r,i)}else o=s.pop()}return{value:void 0,done:!0}})},r}function Zt(e,t,n){t||(t=tn);var r=s(e),i=0,o=e.toSeq().map(function(t,r){return[r,t,i++,n?n(t,r,e):t]}).toArray();return o.sort(function(e,n){return t(e[3],n[3])||e[2]-n[2]}).forEach(r?function(e,t){o[t].length=2}:function(e,t){o[t]=e[1]}),r?q(o):u(e)?W(o):G(o)}function Kt(e,t,n){if(t||(t=tn),n){var r=e.toSeq().map(function(t,r){return[t,n(t,r,e)]}).reduce(function(e,n){return qt(t,e[1],n[1])?n:e});return r&&r[0]}return e.reduce(function(e,n){return qt(t,e,n)?n:e})}function qt(e,t,n){var r=e(n,t);return 0===r&&n!==t&&(null==n||n!=n)||r>0}function Wt(e,t,r){var i=Xt(e);return i.size=new ee(r).map(function(e){return e.size}).min(),i.__iterate=function(e,t){for(var n,r=this.__iterator($,t),i=0;!(n=r.next()).done&&!1!==e(n.value,i++,this););return i},i.__iteratorUncached=function(e,i){var o=r.map(function(e){return e=n(e),H(i?e.reverse():e)}),a=0,s=!1;return new F(function(){var n;return s||(n=o.map(function(e){return e.next()}),s=n.some(function(e){return e.done})),s?{value:void 0,done:!0}:R(e,a++,t.apply(null,n.map(function(e){return e.value})))})},i}function Gt(e,t){return ie(e)?t:e.constructor(t)}function Vt(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function Jt(e){return Ne(e.size),M(e)}function Qt(e){return s(e)?r:u(e)?i:o}function Xt(e){return Object.create((s(e)?q:u(e)?W:G).prototype)}function en(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):K.prototype.cacheResult.call(this)}function tn(e,t){return e>t?1:e<t?-1:0}function nn(e){var t=H(e);if(!t){if(!Z(e))throw new TypeError("Expected iterable or array-like: "+e);t=H(n(e))}return t}function rn(e,t){var n,r=function(o){if(o instanceof r)return o;if(!(this instanceof r))return new r(o);if(!n){n=!0;var a=Object.keys(e);!function(e,t){try{t.forEach(function(e,t){Object.defineProperty(e,t,{get:function(){return this.get(t)},set:function(e){ye(this.__ownerID,"Cannot set on an immutable record."),this.set(t,e)}})}.bind(void 0,e))}catch(e){}}(i,a),i.size=a.length,i._name=t,i._keys=a,i._defaultValues=e}this._map=Fe(o)},i=r.prototype=Object.create(on);return i.constructor=r,r}t(Dt,Fe),Dt.of=function(){return this(arguments)},Dt.prototype.toString=function(){return this.__toString("OrderedMap {","}")},Dt.prototype.get=function(e,t){var n=this._map.get(e);return void 0!==n?this._list.get(n)[1]:t},Dt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):Ot()},Dt.prototype.set=function(e,t){return $t(this,e,t)},Dt.prototype.remove=function(e){return $t(this,e,v)},Dt.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},Dt.prototype.__iterate=function(e,t){var n=this;return this._list.__iterate(function(t){return t&&e(t[1],t[0],n)},t)},Dt.prototype.__iterator=function(e,t){return this._list.fromEntrySeq().__iterator(e,t)},Dt.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e),n=this._list.__ensureOwner(e);return e?Ct(t,n,e,this.__hash):(this.__ownerID=e,this._map=t,this._list=n,this)},Dt.isOrderedMap=Tt,Dt.prototype[h]=!0,Dt.prototype.delete=Dt.prototype.remove,t(jt,q),jt.prototype.get=function(e,t){return this._iter.get(e,t)},jt.prototype.has=function(e){return this._iter.has(e)},jt.prototype.valueSeq=function(){return this._iter.valueSeq()},jt.prototype.reverse=function(){var e=this,t=Yt(this,!0);return this._useKeys||(t.valueSeq=function(){return e._iter.toSeq().reverse()}),t},jt.prototype.map=function(e,t){var n=this,r=Rt(this,e,t);return this._useKeys||(r.valueSeq=function(){return n._iter.toSeq().map(e,t)}),r},jt.prototype.__iterate=function(e,t){var n,r=this;return this._iter.__iterate(this._useKeys?function(t,n){return e(t,n,r)}:(n=t?Jt(this):0,function(i){return e(i,t?--n:n++,r)}),t)},jt.prototype.__iterator=function(e,t){if(this._useKeys)return this._iter.__iterator(e,t);var n=this._iter.__iterator($,t),r=t?Jt(this):0;return new F(function(){var i=n.next();return i.done?i:R(e,t?--r:r++,i.value,i)})},jt.prototype[h]=!0,t(Pt,W),Pt.prototype.includes=function(e){return this._iter.includes(e)},Pt.prototype.__iterate=function(e,t){var n=this,r=0;return this._iter.__iterate(function(t){return e(t,r++,n)},t)},Pt.prototype.__iterator=function(e,t){var n=this._iter.__iterator($,t),r=0;return new F(function(){var t=n.next();return t.done?t:R(e,r++,t.value,t)})},t(It,G),It.prototype.has=function(e){return this._iter.includes(e)},It.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){return e(t,t,n)},t)},It.prototype.__iterator=function(e,t){var n=this._iter.__iterator($,t);return new F(function(){var t=n.next();return t.done?t:R(e,t.value,t.value,t)})},t(Nt,q),Nt.prototype.entrySeq=function(){return this._iter.toSeq()},Nt.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){if(t){Vt(t);var r=a(t);return e(r?t.get(1):t[1],r?t.get(0):t[0],n)}},t)},Nt.prototype.__iterator=function(e,t){var n=this._iter.__iterator($,t);return new F(function(){for(;;){var t=n.next();if(t.done)return t;var r=t.value;if(r){Vt(r);var i=a(r);return R(e,i?r.get(0):r[0],i?r.get(1):r[1],t)}}})},Pt.prototype.cacheResult=jt.prototype.cacheResult=It.prototype.cacheResult=Nt.prototype.cacheResult=en,t(rn,_e),rn.prototype.toString=function(){return this.__toString(sn(this)+" {","}")},rn.prototype.has=function(e){return this._defaultValues.hasOwnProperty(e)},rn.prototype.get=function(e,t){if(!this.has(e))return t;var n=this._defaultValues[e];return this._map?this._map.get(e,n):n},rn.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var e=this.constructor;return e._empty||(e._empty=an(this,Qe()))},rn.prototype.set=function(e,t){if(!this.has(e))throw new Error('Cannot set unknown key "'+e+'" on '+sn(this));if(this._map&&!this._map.has(e)){var n=this._defaultValues[e];if(t===n)return this}var r=this._map&&this._map.set(e,t);return this.__ownerID||r===this._map?this:an(this,r)},rn.prototype.remove=function(e){if(!this.has(e))return this;var t=this._map&&this._map.remove(e);return this.__ownerID||t===this._map?this:an(this,t)},rn.prototype.wasAltered=function(){return this._map.wasAltered()},rn.prototype.__iterator=function(e,t){var n=this;return r(this._defaultValues).map(function(e,t){return n.get(t)}).__iterator(e,t)},rn.prototype.__iterate=function(e,t){var n=this;return r(this._defaultValues).map(function(e,t){return n.get(t)}).__iterate(e,t)},rn.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map&&this._map.__ensureOwner(e);return e?an(this,t,e):(this.__ownerID=e,this._map=t,this)};var on=rn.prototype;function an(e,t,n){var r=Object.create(Object.getPrototypeOf(e));return r._map=t,r.__ownerID=n,r}function sn(e){return e._name||e.constructor.name||"Record"}function un(e){return null==e?mn():ln(e)&&!c(e)?e:mn().withMutations(function(t){var n=o(e);Ne(n.size),n.forEach(function(e){return t.add(e)})})}function ln(e){return!(!e||!e[dn])}on.delete=on.remove,on.deleteIn=on.removeIn=ze.removeIn,on.merge=ze.merge,on.mergeWith=ze.mergeWith,on.mergeIn=ze.mergeIn,on.mergeDeep=ze.mergeDeep,on.mergeDeepWith=ze.mergeDeepWith,on.mergeDeepIn=ze.mergeDeepIn,on.setIn=ze.setIn,on.update=ze.update,on.updateIn=ze.updateIn,on.withMutations=ze.withMutations,on.asMutable=ze.asMutable,on.asImmutable=ze.asImmutable,t(un,Ae),un.of=function(){return this(arguments)},un.fromKeys=function(e){return this(r(e).keySeq())},un.prototype.toString=function(){return this.__toString("Set {","}")},un.prototype.has=function(e){return this._map.has(e)},un.prototype.add=function(e){return pn(this,this._map.set(e,!0))},un.prototype.remove=function(e){return pn(this,this._map.remove(e))},un.prototype.clear=function(){return pn(this,this._map.clear())},un.prototype.union=function(){var t=e.call(arguments,0);return 0===(t=t.filter(function(e){return 0!==e.size})).length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations(function(e){for(var n=0;n<t.length;n++)o(t[n]).forEach(function(t){return e.add(t)})}):this.constructor(t[0])},un.prototype.intersect=function(){var t=e.call(arguments,0);if(0===t.length)return this;t=t.map(function(e){return o(e)});var n=this;return this.withMutations(function(e){n.forEach(function(n){t.every(function(e){return e.includes(n)})||e.remove(n)})})},un.prototype.subtract=function(){var t=e.call(arguments,0);if(0===t.length)return this;t=t.map(function(e){return o(e)});var n=this;return this.withMutations(function(e){n.forEach(function(n){t.some(function(e){return e.includes(n)})&&e.remove(n)})})},un.prototype.merge=function(){return this.union.apply(this,arguments)},un.prototype.mergeWith=function(t){var n=e.call(arguments,1);return this.union.apply(this,n)},un.prototype.sort=function(e){return gn(Zt(this,e))},un.prototype.sortBy=function(e,t){return gn(Zt(this,t,e))},un.prototype.wasAltered=function(){return this._map.wasAltered()},un.prototype.__iterate=function(e,t){var n=this;return this._map.__iterate(function(t,r){return e(r,r,n)},t)},un.prototype.__iterator=function(e,t){return this._map.map(function(e,t){return t}).__iterator(e,t)},un.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e);return e?this.__make(t,e):(this.__ownerID=e,this._map=t,this)},un.isSet=ln;var cn,dn="@@__IMMUTABLE_SET__@@",fn=un.prototype;function pn(e,t){return e.__ownerID?(e.size=t.size,e._map=t,e):t===e._map?e:0===t.size?e.__empty():e.__make(t)}function hn(e,t){var n=Object.create(fn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function mn(){return cn||(cn=hn(Qe()))}function gn(e){return null==e?wn():yn(e)?e:wn().withMutations(function(t){var n=o(e);Ne(n.size),n.forEach(function(e){return t.add(e)})})}function yn(e){return ln(e)&&c(e)}fn[dn]=!0,fn.delete=fn.remove,fn.mergeDeep=fn.merge,fn.mergeDeepWith=fn.mergeWith,fn.withMutations=ze.withMutations,fn.asMutable=ze.asMutable,fn.asImmutable=ze.asImmutable,fn.__empty=mn,fn.__make=hn,t(gn,un),gn.of=function(){return this(arguments)},gn.fromKeys=function(e){return this(r(e).keySeq())},gn.prototype.toString=function(){return this.__toString("OrderedSet {","}")},gn.isOrderedSet=yn;var vn,bn=gn.prototype;function _n(e,t){var n=Object.create(bn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function wn(){return vn||(vn=_n(Ot()))}function An(e){return null==e?Sn():xn(e)?e:Sn().unshiftAll(e)}function xn(e){return!(!e||!e[Mn])}bn[h]=!0,bn.__empty=wn,bn.__make=_n,t(An,we),An.of=function(){return this(arguments)},An.prototype.toString=function(){return this.__toString("Stack [","]")},An.prototype.get=function(e,t){var n=this._head;for(e=E(this,e);n&&e--;)n=n.next;return n?n.value:t},An.prototype.peek=function(){return this._head&&this._head.value},An.prototype.push=function(){if(0===arguments.length)return this;for(var e=this.size+arguments.length,t=this._head,n=arguments.length-1;n>=0;n--)t={value:arguments[n],next:t};return this.__ownerID?(this.size=e,this._head=t,this.__hash=void 0,this.__altered=!0,this):Ln(e,t)},An.prototype.pushAll=function(e){if(0===(e=i(e)).size)return this;Ne(e.size);var t=this.size,n=this._head;return e.reverse().forEach(function(e){t++,n={value:e,next:n}}),this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):Ln(t,n)},An.prototype.pop=function(){return this.slice(1)},An.prototype.unshift=function(){return this.push.apply(this,arguments)},An.prototype.unshiftAll=function(e){return this.pushAll(e)},An.prototype.shift=function(){return this.pop.apply(this,arguments)},An.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Sn()},An.prototype.slice=function(e,t){if(S(e,t,this.size))return this;var n=D(e,this.size),r=T(t,this.size);if(r!==this.size)return we.prototype.slice.call(this,e,t);for(var i=this.size-n,o=this._head;n--;)o=o.next;return this.__ownerID?(this.size=i,this._head=o,this.__hash=void 0,this.__altered=!0,this):Ln(i,o)},An.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Ln(this.size,this._head,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},An.prototype.__iterate=function(e,t){if(t)return this.reverse().__iterate(e);for(var n=0,r=this._head;r&&!1!==e(r.value,n++,this);)r=r.next;return n},An.prototype.__iterator=function(e,t){if(t)return this.reverse().__iterator(e);var n=0,r=this._head;return new F(function(){if(r){var t=r.value;return r=r.next,R(e,n++,t)}return{value:void 0,done:!0}})},An.isStack=xn;var kn,Mn="@@__IMMUTABLE_STACK__@@",En=An.prototype;function Ln(e,t,n,r){var i=Object.create(En);return i.size=e,i._head=t,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function Sn(){return kn||(kn=Ln(0))}function Dn(e,t){var n=function(n){e.prototype[n]=t[n]};return Object.keys(t).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(n),e}En[Mn]=!0,En.withMutations=ze.withMutations,En.asMutable=ze.asMutable,En.asImmutable=ze.asImmutable,En.wasAltered=ze.wasAltered,n.Iterator=F,Dn(n,{toArray:function(){Ne(this.size);var e=new Array(this.size||0);return this.valueSeq().__iterate(function(t,n){e[n]=t}),e},toIndexedSeq:function(){return new Pt(this)},toJS:function(){return this.toSeq().map(function(e){return e&&"function"==typeof e.toJS?e.toJS():e}).__toJS()},toJSON:function(){return this.toSeq().map(function(e){return e&&"function"==typeof e.toJSON?e.toJSON():e}).__toJS()},toKeyedSeq:function(){return new jt(this,!0)},toMap:function(){return Fe(this.toKeyedSeq())},toObject:function(){Ne(this.size);var e={};return this.__iterate(function(t,n){e[n]=t}),e},toOrderedMap:function(){return Dt(this.toKeyedSeq())},toOrderedSet:function(){return gn(s(this)?this.valueSeq():this)},toSet:function(){return un(s(this)?this.valueSeq():this)},toSetSeq:function(){return new It(this)},toSeq:function(){return u(this)?this.toIndexedSeq():s(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return An(s(this)?this.valueSeq():this)},toList:function(){return ft(s(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(e,t){return 0===this.size?e+t:e+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+t},concat:function(){var t=e.call(arguments,0);return Gt(this,function(e,t){var n=s(e),i=[e].concat(t).map(function(e){return a(e)?n&&(e=r(e)):e=n?ae(e):se(Array.isArray(e)?e:[e]),e}).filter(function(e){return 0!==e.size});if(0===i.length)return e;if(1===i.length){var o=i[0];if(o===e||n&&s(o)||u(e)&&u(o))return o}var l=new ee(i);return n?l=l.toKeyedSeq():u(e)||(l=l.toSetSeq()),(l=l.flatten(!0)).size=i.reduce(function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}},0),l}(this,t))},includes:function(e){return this.some(function(t){return he(t,e)})},entries:function(){return this.__iterator(j)},every:function(e,t){Ne(this.size);var n=!0;return this.__iterate(function(r,i,o){if(!e.call(t,r,i,o))return n=!1,!1}),n},filter:function(e,t){return Gt(this,Bt(this,e,t,!0))},find:function(e,t,n){var r=this.findEntry(e,t);return r?r[1]:n},forEach:function(e,t){return Ne(this.size),this.__iterate(t?e.bind(t):e)},join:function(e){Ne(this.size),e=void 0!==e?""+e:",";var t="",n=!0;return this.__iterate(function(r){n?n=!1:t+=e,t+=null!=r?r.toString():""}),t},keys:function(){return this.__iterator(O)},map:function(e,t){return Gt(this,Rt(this,e,t))},reduce:function(e,t,n){var r,i;return Ne(this.size),arguments.length<2?i=!0:r=t,this.__iterate(function(t,o,a){i?(i=!1,r=t):r=e.call(n,r,t,o,a)}),r},reduceRight:function(e,t,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return Gt(this,Yt(this,!0))},slice:function(e,t){return Gt(this,zt(this,e,t,!0))},some:function(e,t){return!this.every(jn(e),t)},sort:function(e){return Gt(this,Zt(this,e))},values:function(){return this.__iterator($)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(e,t){return M(e?this.toSeq().filter(e,t):this)},countBy:function(e,t){return function(e,t,n){var r=Fe().asMutable();return e.__iterate(function(i,o){r.update(t.call(n,i,o,e),0,function(e){return e+1})}),r.asImmutable()}(this,e,t)},equals:function(e){return me(this,e)},entrySeq:function(){var e=this;if(e._cache)return new ee(e._cache);var t=e.toSeq().map($n).toIndexedSeq();return t.fromEntrySeq=function(){return e.toSeq()},t},filterNot:function(e,t){return this.filter(jn(e),t)},findEntry:function(e,t,n){var r=n;return this.__iterate(function(n,i,o){if(e.call(t,n,i,o))return r=[i,n],!1}),r},findKey:function(e,t){var n=this.findEntry(e,t);return n&&n[0]},findLast:function(e,t,n){return this.toKeyedSeq().reverse().find(e,t,n)},findLastEntry:function(e,t,n){return this.toKeyedSeq().reverse().findEntry(e,t,n)},findLastKey:function(e,t){return this.toKeyedSeq().reverse().findKey(e,t)},first:function(){return this.find(L)},flatMap:function(e,t){return Gt(this,function(e,t,n){var r=Qt(e);return e.toSeq().map(function(i,o){return r(t.call(n,i,o,e))}).flatten(!0)}(this,e,t))},flatten:function(e){return Gt(this,Ut(this,e,!0))},fromEntrySeq:function(){return new Nt(this)},get:function(e,t){return this.find(function(t,n){return he(n,e)},void 0,t)},getIn:function(e,t){for(var n,r=this,i=nn(e);!(n=i.next()).done;){var o=n.value;if((r=r&&r.get?r.get(o,v):v)===v)return t}return r},groupBy:function(e,t){return function(e,t,n){var r=s(e),i=(c(e)?Dt():Fe()).asMutable();e.__iterate(function(o,a){i.update(t.call(n,o,a,e),function(e){return(e=e||[]).push(r?[a,o]:o),e})});var o=Qt(e);return i.map(function(t){return Gt(e,o(t))})}(this,e,t)},has:function(e){return this.get(e,v)!==v},hasIn:function(e){return this.getIn(e,v)!==v},isSubset:function(e){return e="function"==typeof e.includes?e:n(e),this.every(function(t){return e.includes(t)})},isSuperset:function(e){return(e="function"==typeof e.isSubset?e:n(e)).isSubset(this)},keyOf:function(e){return this.findKey(function(t){return he(t,e)})},keySeq:function(){return this.toSeq().map(On).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(e){return this.toKeyedSeq().reverse().keyOf(e)},max:function(e){return Kt(this,e)},maxBy:function(e,t){return Kt(this,t,e)},min:function(e){return Kt(this,e?Pn(e):Fn)},minBy:function(e,t){return Kt(this,t?Pn(t):Fn,e)},rest:function(){return this.slice(1)},skip:function(e){return this.slice(Math.max(0,e))},skipLast:function(e){return Gt(this,this.toSeq().reverse().skip(e).reverse())},skipWhile:function(e,t){return Gt(this,Ht(this,e,t,!0))},skipUntil:function(e,t){return this.skipWhile(jn(e),t)},sortBy:function(e,t){return Gt(this,Zt(this,t,e))},take:function(e){return this.slice(0,Math.max(0,e))},takeLast:function(e){return Gt(this,this.toSeq().reverse().take(e).reverse())},takeWhile:function(e,t){return Gt(this,function(e,t,n){var r=Xt(e);return r.__iterateUncached=function(r,i){var o=this;if(i)return this.cacheResult().__iterate(r,i);var a=0;return e.__iterate(function(e,i,s){return t.call(n,e,i,s)&&++a&&r(e,i,o)}),a},r.__iteratorUncached=function(r,i){var o=this;if(i)return this.cacheResult().__iterator(r,i);var a=e.__iterator(j,i),s=!0;return new F(function(){if(!s)return{value:void 0,done:!0};var e=a.next();if(e.done)return e;var i=e.value,u=i[0],l=i[1];return t.call(n,l,u,o)?r===j?e:R(r,u,l,e):(s=!1,{value:void 0,done:!0})})},r}(this,e,t))},takeUntil:function(e,t){return this.takeWhile(jn(e),t)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=function(e){if(e.size===1/0)return 0;var t=c(e),n=s(e),r=t?1:0;return function(e,t){return t=xe(t,3432918353),t=xe(t<<15|t>>>-15,461845907),t=xe(t<<13|t>>>-13,5),t=xe((t=(t+3864292196|0)^e)^t>>>16,2246822507),t=ke((t=xe(t^t>>>13,3266489909))^t>>>16)}(e.__iterate(n?t?function(e,t){r=31*r+Rn(Me(e),Me(t))|0}:function(e,t){r=r+Rn(Me(e),Me(t))|0}:t?function(e){r=31*r+Me(e)|0}:function(e){r=r+Me(e)|0}),r)}(this))}});var Tn=n.prototype;Tn[d]=!0,Tn[N]=Tn.values,Tn.__toJS=Tn.toArray,Tn.__toStringMapper=In,Tn.inspect=Tn.toSource=function(){return this.toString()},Tn.chain=Tn.flatMap,Tn.contains=Tn.includes,Dn(r,{flip:function(){return Gt(this,Ft(this))},mapEntries:function(e,t){var n=this,r=0;return Gt(this,this.toSeq().map(function(i,o){return e.call(t,[o,i],r++,n)}).fromEntrySeq())},mapKeys:function(e,t){var n=this;return Gt(this,this.toSeq().flip().map(function(r,i){return e.call(t,r,i,n)}).flip())}});var Cn=r.prototype;function On(e,t){return t}function $n(e,t){return[t,e]}function jn(e){return function(){return!e.apply(this,arguments)}}function Pn(e){return function(){return-e.apply(this,arguments)}}function In(e){return"string"==typeof e?JSON.stringify(e):String(e)}function Nn(){return k(arguments)}function Fn(e,t){return e<t?1:e>t?-1:0}function Rn(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}return Cn[f]=!0,Cn[N]=Tn.entries,Cn.__toJS=Tn.toObject,Cn.__toStringMapper=function(e,t){return JSON.stringify(t)+": "+In(e)},Dn(i,{toKeyedSeq:function(){return new jt(this,!1)},filter:function(e,t){return Gt(this,Bt(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return Gt(this,Yt(this,!1))},slice:function(e,t){return Gt(this,zt(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(0|t,0),0===n||2===n&&!t)return this;e=D(e,e<0?this.count():this.size);var r=this.slice(0,e);return Gt(this,1===n?r:r.concat(k(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.findLastEntry(e,t);return n?n[0]:-1},first:function(){return this.get(0)},flatten:function(e){return Gt(this,Ut(this,e,!1))},get:function(e,t){return(e=E(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find(function(t,n){return n===e},void 0,t)},has:function(e){return(e=E(this,e))>=0&&(void 0!==this.size?this.size===1/0||e<this.size:-1!==this.indexOf(e))},interpose:function(e){return Gt(this,function(e,t){var n=Xt(e);return n.size=e.size&&2*e.size-1,n.__iterateUncached=function(n,r){var i=this,o=0;return e.__iterate(function(e,r){return(!o||!1!==n(t,o++,i))&&!1!==n(e,o++,i)},r),o},n.__iteratorUncached=function(n,r){var i,o=e.__iterator($,r),a=0;return new F(function(){return(!i||a%2)&&(i=o.next()).done?i:a%2?R(n,a++,t):R(n,a++,i.value,i)})},n}(this,e))},interleave:function(){var e=[this].concat(k(arguments)),t=Wt(this.toSeq(),W.of,e),n=t.flatten(!0);return t.size&&(n.size=t.size*e.length),Gt(this,n)},keySeq:function(){return ve(0,this.size)},last:function(){return this.get(-1)},skipWhile:function(e,t){return Gt(this,Ht(this,e,t,!1))},zip:function(){return Gt(this,Wt(this,Nn,[this].concat(k(arguments))))},zipWith:function(e){var t=k(arguments);return t[0]=this,Gt(this,Wt(this,e,t))}}),i.prototype[p]=!0,i.prototype[h]=!0,Dn(o,{get:function(e,t){return this.has(e)?e:t},includes:function(e){return this.has(e)},keySeq:function(){return this.valueSeq()}}),o.prototype.has=Tn.includes,o.prototype.contains=o.prototype.includes,Dn(q,r.prototype),Dn(W,i.prototype),Dn(G,o.prototype),Dn(_e,r.prototype),Dn(we,i.prototype),Dn(Ae,o.prototype),{Iterable:n,Seq:K,Collection:be,Map:Fe,OrderedMap:Dt,List:ft,Stack:An,Set:un,OrderedSet:gn,Record:rn,Range:ve,Repeat:ge,is:he,fromJS:de}}()},function(e,t,n){n(679),e.exports=n(16).Object.assign},function(e,t,n){var r=n(36);r(r.S+r.F,"Object",{assign:n(680)})},function(e,t,n){"use strict";var r=n(42),i=n(92),o=n(207),a=n(123),s=n(88),u=n(281),l=Object.assign;e.exports=!l||n(90)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=l({},e)[n]||Object.keys(l({},t)).join("")!=r})?function(e,t){for(var n=s(e),l=arguments.length,c=1,d=o.f,f=a.f;l>c;)for(var p,h=u(arguments[c++]),m=d?i(h).concat(d(h)):i(h),g=m.length,y=0;g>y;)p=m[y++],r&&!f.call(h,p)||(n[p]=h[p]);return n}:l},function(e,t,n){var r=n(682);e.exports=function(e){return r(e).replace(/[\W_]+(.|$)/g,function(e,t){return t?" "+t:""}).trim()}},function(e,t){e.exports=function(e){return n.test(e)?e.toLowerCase():r.test(e)?(function(e){return e.replace(o,function(e,t){return t?" "+t:""})}(e)||e).toLowerCase():i.test(e)?function(e){return e.replace(a,function(e,t,n){return t+" "+n.toLowerCase().split("").join(" ")})}(e).toLowerCase():e.toLowerCase()};var n=/\s/,r=/(_|-|\.|:)/,i=/([a-z][A-Z]|[A-Z][a-z])/;var o=/[\W_]+(.|$)/g;var a=/(.)([A-Z]+)/g},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=f(n(30)),o=f(n(21)),a=f(n(22)),s=f(n(23)),u=f(n(24)),l=n(0),c=f(l);n(684),n(716);var d=f(n(725));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,n(15).connect)(function(e){return{notifications:e.notifications}})(r=function(e){function t(){return(0,o.default)(this,t),(0,s.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,u.default)(t,e),(0,a.default)(t,[{key:"componentWillReceiveProps",value:function(e){if(e.notifications&&e.notifications!=this.props.notifications&&e.notifications.item){var t=e.notifications.item,n=t.type,r=t.title,i=t.msg,o=t.millis;"success"==n?this.refs.notificator.success(r||"",i,o||2e3):"info"==n?this.refs.notificator.info(r||"",i,o||2e3):this.refs.notificator.error(r||"",i,o||3e3)}}},{key:"render",value:function(){var e=this.props.loadingRemote?"wrapper loadingRemote":"wrapper";return c.default.createElement("div",{className:e},c.default.createElement(d.default,{ref:"notificator"}),this.props.children)}}]),t}(l.Component))||r;t.default=p},function(e,t,n){var r=n(685);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(219)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(t=e.exports=n(163)(!1)).i(n(686),"");var r=n(218),i=r(n(691)),o=r(n(692)),a=r(n(693)),s=r(n(694)),u=r(n(695)),l=r(n(696)),c=r(n(697)),d=r(n(698)),f=r(n(699)),p=r(n(700)),h=r(n(701)),m=r(n(702)),g=r(n(703)),y=r(n(704)),v=r(n(705)),b=r(n(706)),_=r(n(707)),w=r(n(708)),A=r(n(709)),x=r(n(710)),k=r(n(711)),M=r(n(712)),E=r(n(713)),L=r(n(714));t.push([e.i,'.system_rudeway {\n  font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }\n\n.system {\n  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }\n\n/* Define the "system" font family */\n@font-face {\n  font-family: system;\n  font-style: normal;\n  font-weight: 300;\n  src: local(".SFNSText-Light"), local(".HelveticaNeueDeskInterface-Light"), local(".LucidaGrandeUI"), local("Ubuntu Light"), local("Segoe UI Light"), local("Roboto-Light"), local("DroidSans"), local("Tahoma"); }\n\n/* Titillium+Web:300,400,600,700 */\n/* latin-ext */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 300;\n  src: local("Titillium Web Light"), local("TitilliumWeb-Light"), url('+i+') format("woff2"), url('+o+') format("woff"), url('+a+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 300;\n  src: local("Titillium Web Light"), local("TitilliumWeb-Light"), url('+i+') format("woff2"), url('+o+') format("woff"), url('+a+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n/* latin-ext */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 400;\n  src: local("Titillium Web Regular"), local("TitilliumWeb-Regular"), url('+s+') format("woff2"), url('+u+') format("woff"), url('+l+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 400;\n  src: local("Titillium Web Regular"), local("TitilliumWeb-Regular"), url('+s+') format("woff2"), url('+u+') format("woff"), url('+l+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n/* latin-ext */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 600;\n  src: local("Titillium Web SemiBold"), local("TitilliumWeb-SemiBold"), url('+c+') format("woff2"), url('+d+') format("woff"), url('+f+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 600;\n  src: local("Titillium Web SemiBold"), local("TitilliumWeb-SemiBold"), url('+c+') format("woff2"), url('+d+') format("woff"), url('+f+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n/* latin-ext */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 700;\n  src: local("Titillium Web Bold"), local("TitilliumWeb-Bold"), url('+p+') format("woff2"), url('+h+') format("woff"), url('+m+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Titillium Web\';\n  font-style: normal;\n  font-weight: 700;\n  src: local("Titillium Web Bold"), local("TitilliumWeb-Bold"), url('+p+') format("woff2"), url('+h+') format("woff"), url('+m+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n/* Lora:400,700 */\n/* latin-ext */\n@font-face {\n  font-family: \'Lora\';\n  font-style: normal;\n  font-weight: 400;\n  src: local("Lora Regular"), local("Lora-Regular"), url('+g+') format("woff2"), url('+y+') format("woff"), url('+v+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Lora\';\n  font-style: normal;\n  font-weight: 400;\n  src: local("Lora Regular"), local("Lora-Regular"), url('+g+') format("woff2"), url('+y+') format("woff"), url('+v+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n/* latin-ext */\n@font-face {\n  font-family: \'Lora\';\n  font-style: normal;\n  font-weight: 700;\n  src: local("Lora Bold"), local("Lora-Bold"), url('+b+') format("woff2"), url('+_+') format("woff"), url('+w+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Lora\';\n  font-style: normal;\n  font-weight: 700;\n  src: local("Lora Bold"), local("Lora-Bold"), url('+b+') format("woff2"), url('+_+') format("woff"), url('+w+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n/* Roboto+Mono:400,700 */\n/* latin-ext */\n@font-face {\n  font-family: \'Roboto Mono\';\n  font-style: normal;\n  font-weight: 400;\n  src: local("Roboto Mono"), local("RobotoMono-Regular"), url('+A+') format("woff2"), url('+x+') format("woff"), url('+k+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Roboto Mono\';\n  font-style: normal;\n  font-weight: 400;\n  src: local("Roboto Mono"), local("RobotoMono-Regular"), url('+A+') format("woff2"), url('+x+') format("woff"), url('+k+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n/* latin-ext */\n@font-face {\n  font-family: \'Roboto Mono\';\n  font-style: normal;\n  font-weight: 700;\n  src: local("Roboto Mono Bold"), local("RobotoMono-Bold"), url('+M+') format("woff2"), url('+E+') format("woff"), url('+L+') format("truetype");\n  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\n\n/* latin */\n@font-face {\n  font-family: \'Roboto Mono\';\n  font-style: normal;\n  font-weight: 700;\n  src: local("Roboto Mono Bold"), local("RobotoMono-Bold"), url('+M+') format("woff2"), url('+E+') format("woff"), url('+L+') format("truetype");\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n\n* {\n  font-family: "Titillium Web", "Roboto Mono", "system", sans-serif; }\n\n.info__box {\n  background-color: rgba(0, 0, 0, 0.3);\n  z-index: 10;\n  -webkit-justify-content: center;\n          justify-content: center;\n  -webkit-align-items: center;\n          align-items: center;\n  width: 100%;\n  height: 100%;\n  position: absolute;\n  display: none; }\n  .info__box.info__box__visible {\n    display: -webkit-flex;\n    display: flex;\n    -webkit-justify-content: center;\n            justify-content: center;\n    -webkit-align-items: center;\n            align-items: center; }\n\n.info__box__body {\n  position: relative;\n  width: 640px;\n  height: 400px;\n  max-width: 100%;\n  max-height: 100%;\n  background-color: #fff;\n  border: 3px solid #32d6d6;\n  overflow: auto; }\n\n.info__box__title {\n  color: #0066cc; }\n\n.info__box__content {\n  padding: 40px;\n  font-size: 18px;\n  color: #5a768a;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  -webkit-justify-content: center;\n          justify-content: center; }\n\n.info__box__close {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: row;\n          flex-direction: row;\n  -webkit-justify-content: flex-end;\n          justify-content: flex-end;\n  -webkit-align-items: flex-end;\n          align-items: flex-end;\n  text-align: right;\n  font-size: 14px;\n  margin: 10px; }\n\n.close__button {\n  display: inline-block;\n  opacity: 0.5;\n  cursor: pointer; }\n\n.close__button:hover {\n  opacity: 1; }\n\n.editor__widget {\n  padding: 0 10px; }\n\n.editor__toolbar {\n  margin: 0 !important; }\n\n.editor__content {\n  border-bottom: 1px solid #979797; }\n\n.has-error .editor__content {\n  border-bottom: 1px solid #f83e5a; }\n\n.editor__wrapper, .editor__component {\n  border: none !important;\n  margin: 0 !important;\n  padding: 0 !important; }\n\n.editor__component .public-DraftEditor-content {\n  min-height: 300px;\n  border-size: 0; }\n\ninput.rw-widget-input {\n  border: none !important; }\n\n.editor__component .public-DraftEditor-content {\n  word-break: break-all; }\n\n.rectangle-5-copy-34 {\n  height: 48px;\n  width: 186px;\n  background-color: #0073e6; }\n\n.editor_button {\n  display: -webkit-flex;\n  display: flex;\n  overflow: hidden;\n  margin: 10px;\n  padding: 12px 12px;\n  height: 56px;\n  width: 242px;\n  cursor: pointer;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  transition: all 150ms linear;\n  text-align: center;\n  white-space: nowrap;\n  text-decoration: none !important;\n  text-transform: none;\n  text-transform: capitalize;\n  color: #fff;\n  background-color: #0073e6;\n  border: 0 none;\n  border-radius: 4px;\n  font-family: "Titillium Web";\n  font-size: 18px;\n  font-weight: bold;\n  line-height: 28px;\n  text-align: center;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n  -webkit-justify-content: center;\n          justify-content: center;\n  -webkit-align-items: center;\n          align-items: center;\n  -webkit-flex: 0 0 240px;\n          flex: 0 0 240px;\n  box-shadow: 2px 5px 10px var(--color-smoke); }\n  .editor_button:hover {\n    transition: all 150ms linear;\n    background-color: #0059b3;\n    opacity: 0.85; }\n  .editor_button:active {\n    transition: all 150ms linear;\n    opacity: 0.75; }\n  .editor_button:focus {\n    outline: 0;\n    outline-offset: -4px; }\n  .editor_button:disabled {\n    opacity: 0.5;\n    background-color: #0059b3; }\n\n.editor_button--primary {\n  color: #ffffff;\n  background-color: #0073e6; }\n  .editor_button--primary:hover {\n    color: #ffffff;\n    background-color: #0059b3;\n    opacity: 1; }\n  .editor_button--primary:active {\n    color: #ffffff;\n    background-color: #0059b3;\n    opacity: 1; }\n\n.editor_button--secondary {\n  border: 2px solid #0073e6;\n  background-color: #ffff;\n  color: #0073e6; }\n  .editor_button--secondary:hover {\n    color: #0059b3;\n    background-color: #ffff;\n    opacity: 1; }\n  .editor_button--secondary:active {\n    color: #0059b3;\n    background-color: #ffff;\n    opacity: 1; }\n\n.editor_button--quaternary {\n  height: 56px;\n  width: 242px;\n  border: 2px solid #e6e9f2;\n  background-color: #fcfdff;\n  color: #5c6f82; }\n  .editor_button--quaternary:hover {\n    color: #38444f;\n    background-color: #fcfdff;\n    opacity: 1; }\n  .editor_button--quaternary:active {\n    color: #38444f;\n    background-color: #fcfdff;\n    opacity: 1; }\n\n.editor_button--custom {\n  height: 56px;\n  width: 242px;\n  border: 0;\n  background-color: #fff;\n  color: #5c6f82; }\n  .editor_button--custom:hover {\n    color: #38444f;\n    background-color: #fcfdff;\n    opacity: 1; }\n\ninput[type="date"],\ninput[type="datetime-local"],\ninput[type="email"],\ninput[type="number"],\ninput[type="password"],\ninput[type="search"],\ninput[type="tel"],\ninput[type="text"],\ninput[type="time"],\ninput[type="url"],\ninput[type="date"],\nselect.form-control,\ntextarea.form-control {\n  background-color: transparent;\n  border: none;\n  border-bottom: 1px solid #979797;\n  border-radius: 0;\n  outline: 0;\n  height: 2.5rem;\n  width: 100%;\n  box-shadow: none;\n  transition: all 0.3s;\n  font-weight: 600;\n  color: #17324d; }\n\n.has-error input[type="date"],\n.has-error input[type="datetime-local"],\n.has-error input[type="email"],\n.has-error input[type="number"],\n.has-error input[type="password"],\n.has-error input[type="search"],\n.has-error input[type="tel"],\n.has-error input[type="text"],\n.has-error input[type="time"],\n.has-error input[type="url"],\n.has-error input[type="date"],\n.has-error select.form-control,\n.has-error textarea.form-control {\n  border-bottom: 1px solid #f83e5a; }\n\n.control-label,\n.control-link,\nlegend {\n  color: #5a768a;\n  font-weight: 400;\n  display: block;\n  font-size: 18px; }\n\nlegend {\n  padding: 0 10px !important; }\n\n.form-check-label {\n  color: #5a768a;\n  font-weight: 400;\n  display: block;\n  font-size: 16px; }\n\n.help-block,\n.help-block small,\n.help-block .form-text .text-muted {\n  font-size: 14px;\n  color: #5a768a;\n  font-weight: 400;\n  display: inline; }\n\n.has-error .help-block {\n  background-color: #f83e5a;\n  padding: 0px 12px;\n  color: #fff; }\n\n/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n  --blue: #007bff;\n  --indigo: #6610f2;\n  --purple: #6f42c1;\n  --pink: #e83e8c;\n  --red: #dc3545;\n  --orange: #fd7e14;\n  --yellow: #ffc107;\n  --green: #28a745;\n  --teal: #20c997;\n  --cyan: #17a2b8;\n  --white: #fff;\n  --gray: #6c757d;\n  --gray-dark: #343a40;\n  --primary: #0074d9;\n  --secondary: #6c757d;\n  --success: #28a745;\n  --info: #17a2b8;\n  --warning: #ffc107;\n  --danger: #ff4136;\n  --light: #f8f9fa;\n  --dark: #343a40;\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 992px;\n  --breakpoint-xl: 1200px;\n  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box; }\n\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block; }\n\nbody {\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #212529;\n  text-align: left;\n  background-color: #fff; }\n\n[tabindex="-1"]:focus {\n  outline: 0 !important; }\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible; }\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\np {\n  margin-top: 0;\n  margin-bottom: 1rem; }\n\nabbr[title],\nabbr[data-original-title] {\n  text-decoration: underline;\n  -webkit-text-decoration: underline dotted;\n          text-decoration: underline dotted;\n  cursor: help;\n  border-bottom: 0;\n  -webkit-text-decoration-skip-ink: none;\n          text-decoration-skip-ink: none; }\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit; }\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem; }\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0; }\n\ndt {\n  font-weight: 700; }\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0; }\n\nblockquote {\n  margin: 0 0 1rem; }\n\nb,\nstrong {\n  font-weight: bolder; }\n\nsmall {\n  font-size: 80%; }\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline; }\n\nsub {\n  bottom: -.25em; }\n\nsup {\n  top: -.5em; }\n\na {\n  color: #0074d9;\n  text-decoration: none;\n  background-color: transparent; }\n  a:hover {\n    color: #004b8d;\n    text-decoration: underline; }\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none; }\n  a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n    color: inherit;\n    text-decoration: none; }\n  a:not([href]):not([tabindex]):focus {\n    outline: 0; }\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;\n  font-size: 1em; }\n\npre {\n  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto; }\n\nfigure {\n  margin: 0 0 1rem; }\n\nimg {\n  vertical-align: middle;\n  border-style: none; }\n\nsvg {\n  overflow: hidden;\n  vertical-align: middle; }\n\ntable {\n  border-collapse: collapse; }\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\n  color: #6c757d;\n  text-align: left;\n  caption-side: bottom; }\n\nth {\n  text-align: inherit; }\n\nlabel {\n  display: inline-block;\n  margin-bottom: 0.5rem; }\n\nbutton {\n  border-radius: 0; }\n\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color; }\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit; }\n\nbutton,\ninput {\n  overflow: visible; }\n\nbutton,\nselect {\n  text-transform: none; }\n\nselect {\n  word-wrap: normal; }\n\nbutton,\n[type="button"],\n[type="reset"],\n[type="submit"] {\n  -webkit-appearance: button; }\n\nbutton:not(:disabled),\n[type="button"]:not(:disabled),\n[type="reset"]:not(:disabled),\n[type="submit"]:not(:disabled) {\n  cursor: pointer; }\n\nbutton::-moz-focus-inner,\n[type="button"]::-moz-focus-inner,\n[type="reset"]::-moz-focus-inner,\n[type="submit"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none; }\n\ninput[type="radio"],\ninput[type="checkbox"] {\n  box-sizing: border-box;\n  padding: 0; }\n\ninput[type="date"],\ninput[type="time"],\ninput[type="datetime-local"],\ninput[type="month"] {\n  -webkit-appearance: listbox; }\n\ntextarea {\n  overflow: auto;\n  resize: vertical; }\n\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0; }\n\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal; }\n\nprogress {\n  vertical-align: baseline; }\n\n[type="number"]::-webkit-inner-spin-button,\n[type="number"]::-webkit-outer-spin-button {\n  height: auto; }\n\n[type="search"] {\n  outline-offset: -2px;\n  -webkit-appearance: none; }\n\n[type="search"]::-webkit-search-decoration {\n  -webkit-appearance: none; }\n\n::-webkit-file-upload-button {\n  font: inherit;\n  -webkit-appearance: button; }\n\noutput {\n  display: inline-block; }\n\nsummary {\n  display: list-item;\n  cursor: pointer; }\n\ntemplate {\n  display: none; }\n\n[hidden] {\n  display: none !important; }\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  margin-bottom: 0.5rem;\n  font-weight: 500;\n  line-height: 1.2; }\n\nh1, .h1 {\n  font-size: 2.5rem; }\n\nh2, .h2 {\n  font-size: 2rem; }\n\nh3, .h3 {\n  font-size: 1.75rem; }\n\nh4, .h4 {\n  font-size: 1.5rem; }\n\nh5, .h5 {\n  font-size: 1.25rem; }\n\nh6, .h6 {\n  font-size: 1rem; }\n\n.lead {\n  font-size: 1.25rem;\n  font-weight: 300; }\n\n.display-1 {\n  font-size: 6rem;\n  font-weight: 300;\n  line-height: 1.2; }\n\n.display-2 {\n  font-size: 5.5rem;\n  font-weight: 300;\n  line-height: 1.2; }\n\n.display-3 {\n  font-size: 4.5rem;\n  font-weight: 300;\n  line-height: 1.2; }\n\n.display-4 {\n  font-size: 3.5rem;\n  font-weight: 300;\n  line-height: 1.2; }\n\nhr {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  border: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1); }\n\nsmall,\n.small {\n  font-size: 80%;\n  font-weight: 400; }\n\nmark,\n.mark {\n  padding: 0.2em;\n  background-color: #fcf8e3; }\n\n.list-unstyled {\n  padding-left: 0;\n  list-style: none; }\n\n.list-inline {\n  padding-left: 0;\n  list-style: none; }\n\n.list-inline-item {\n  display: inline-block; }\n  .list-inline-item:not(:last-child) {\n    margin-right: 0.5rem; }\n\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase; }\n\n.blockquote {\n  margin-bottom: 1rem;\n  font-size: 1.25rem; }\n\n.blockquote-footer {\n  display: block;\n  font-size: 80%;\n  color: #6c757d; }\n  .blockquote-footer::before {\n    content: "\\2014\\00A0"; }\n\n.img-fluid {\n  max-width: 100%;\n  height: auto; }\n\n.img-thumbnail {\n  padding: 0.25rem;\n  background-color: #fff;\n  border: 1px solid #dee2e6;\n  border-radius: 0.25rem;\n  max-width: 100%;\n  height: auto; }\n\n.figure {\n  display: inline-block; }\n\n.figure-img {\n  margin-bottom: 0.5rem;\n  line-height: 1; }\n\n.figure-caption {\n  font-size: 90%;\n  color: #6c757d; }\n\ncode {\n  font-size: 87.5%;\n  color: #e83e8c;\n  word-break: break-word; }\n  a > code {\n    color: inherit; }\n\nkbd {\n  padding: 0.2rem 0.4rem;\n  font-size: 87.5%;\n  color: #fff;\n  background-color: #212529;\n  border-radius: 0.2rem; }\n  kbd kbd {\n    padding: 0;\n    font-size: 100%;\n    font-weight: 700; }\n\npre {\n  display: block;\n  font-size: 87.5%;\n  color: #212529; }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal; }\n\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll; }\n\n.container {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto; }\n  @media (min-width: 576px) {\n    .container {\n      max-width: 540px; } }\n  @media (min-width: 768px) {\n    .container {\n      max-width: 720px; } }\n  @media (min-width: 992px) {\n    .container {\n      max-width: 960px; } }\n  @media (min-width: 1200px) {\n    .container {\n      max-width: 1140px; } }\n\n.container-fluid {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto; }\n\n.row {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  margin-right: -15px;\n  margin-left: -15px; }\n\n.no-gutters {\n  margin-right: 0;\n  margin-left: 0; }\n  .no-gutters > .col,\n  .no-gutters > [class*="col-"] {\n    padding-right: 0;\n    padding-left: 0; }\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n  position: relative;\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px; }\n\n.col {\n  -webkit-flex-basis: 0;\n          flex-basis: 0;\n  -webkit-flex-grow: 1;\n          flex-grow: 1;\n  max-width: 100%; }\n\n.col-auto {\n  -webkit-flex: 0 0 auto;\n          flex: 0 0 auto;\n  width: auto;\n  max-width: 100%; }\n\n.col-1 {\n  -webkit-flex: 0 0 8.33333%;\n          flex: 0 0 8.33333%;\n  max-width: 8.33333%; }\n\n.col-2 {\n  -webkit-flex: 0 0 16.66667%;\n          flex: 0 0 16.66667%;\n  max-width: 16.66667%; }\n\n.col-3 {\n  -webkit-flex: 0 0 25%;\n          flex: 0 0 25%;\n  max-width: 25%; }\n\n.col-4 {\n  -webkit-flex: 0 0 33.33333%;\n          flex: 0 0 33.33333%;\n  max-width: 33.33333%; }\n\n.col-5 {\n  -webkit-flex: 0 0 41.66667%;\n          flex: 0 0 41.66667%;\n  max-width: 41.66667%; }\n\n.col-6 {\n  -webkit-flex: 0 0 50%;\n          flex: 0 0 50%;\n  max-width: 50%; }\n\n.col-7 {\n  -webkit-flex: 0 0 58.33333%;\n          flex: 0 0 58.33333%;\n  max-width: 58.33333%; }\n\n.col-8 {\n  -webkit-flex: 0 0 66.66667%;\n          flex: 0 0 66.66667%;\n  max-width: 66.66667%; }\n\n.col-9 {\n  -webkit-flex: 0 0 75%;\n          flex: 0 0 75%;\n  max-width: 75%; }\n\n.col-10 {\n  -webkit-flex: 0 0 83.33333%;\n          flex: 0 0 83.33333%;\n  max-width: 83.33333%; }\n\n.col-11 {\n  -webkit-flex: 0 0 91.66667%;\n          flex: 0 0 91.66667%;\n  max-width: 91.66667%; }\n\n.col-12 {\n  -webkit-flex: 0 0 100%;\n          flex: 0 0 100%;\n  max-width: 100%; }\n\n.order-first {\n  -webkit-order: -1;\n          order: -1; }\n\n.order-last {\n  -webkit-order: 13;\n          order: 13; }\n\n.order-0 {\n  -webkit-order: 0;\n          order: 0; }\n\n.order-1 {\n  -webkit-order: 1;\n          order: 1; }\n\n.order-2 {\n  -webkit-order: 2;\n          order: 2; }\n\n.order-3 {\n  -webkit-order: 3;\n          order: 3; }\n\n.order-4 {\n  -webkit-order: 4;\n          order: 4; }\n\n.order-5 {\n  -webkit-order: 5;\n          order: 5; }\n\n.order-6 {\n  -webkit-order: 6;\n          order: 6; }\n\n.order-7 {\n  -webkit-order: 7;\n          order: 7; }\n\n.order-8 {\n  -webkit-order: 8;\n          order: 8; }\n\n.order-9 {\n  -webkit-order: 9;\n          order: 9; }\n\n.order-10 {\n  -webkit-order: 10;\n          order: 10; }\n\n.order-11 {\n  -webkit-order: 11;\n          order: 11; }\n\n.order-12 {\n  -webkit-order: 12;\n          order: 12; }\n\n.offset-1 {\n  margin-left: 8.33333%; }\n\n.offset-2 {\n  margin-left: 16.66667%; }\n\n.offset-3 {\n  margin-left: 25%; }\n\n.offset-4 {\n  margin-left: 33.33333%; }\n\n.offset-5 {\n  margin-left: 41.66667%; }\n\n.offset-6 {\n  margin-left: 50%; }\n\n.offset-7 {\n  margin-left: 58.33333%; }\n\n.offset-8 {\n  margin-left: 66.66667%; }\n\n.offset-9 {\n  margin-left: 75%; }\n\n.offset-10 {\n  margin-left: 83.33333%; }\n\n.offset-11 {\n  margin-left: 91.66667%; }\n\n@media (min-width: 576px) {\n  .col-sm {\n    -webkit-flex-basis: 0;\n            flex-basis: 0;\n    -webkit-flex-grow: 1;\n            flex-grow: 1;\n    max-width: 100%; }\n  .col-sm-auto {\n    -webkit-flex: 0 0 auto;\n            flex: 0 0 auto;\n    width: auto;\n    max-width: 100%; }\n  .col-sm-1 {\n    -webkit-flex: 0 0 8.33333%;\n            flex: 0 0 8.33333%;\n    max-width: 8.33333%; }\n  .col-sm-2 {\n    -webkit-flex: 0 0 16.66667%;\n            flex: 0 0 16.66667%;\n    max-width: 16.66667%; }\n  .col-sm-3 {\n    -webkit-flex: 0 0 25%;\n            flex: 0 0 25%;\n    max-width: 25%; }\n  .col-sm-4 {\n    -webkit-flex: 0 0 33.33333%;\n            flex: 0 0 33.33333%;\n    max-width: 33.33333%; }\n  .col-sm-5 {\n    -webkit-flex: 0 0 41.66667%;\n            flex: 0 0 41.66667%;\n    max-width: 41.66667%; }\n  .col-sm-6 {\n    -webkit-flex: 0 0 50%;\n            flex: 0 0 50%;\n    max-width: 50%; }\n  .col-sm-7 {\n    -webkit-flex: 0 0 58.33333%;\n            flex: 0 0 58.33333%;\n    max-width: 58.33333%; }\n  .col-sm-8 {\n    -webkit-flex: 0 0 66.66667%;\n            flex: 0 0 66.66667%;\n    max-width: 66.66667%; }\n  .col-sm-9 {\n    -webkit-flex: 0 0 75%;\n            flex: 0 0 75%;\n    max-width: 75%; }\n  .col-sm-10 {\n    -webkit-flex: 0 0 83.33333%;\n            flex: 0 0 83.33333%;\n    max-width: 83.33333%; }\n  .col-sm-11 {\n    -webkit-flex: 0 0 91.66667%;\n            flex: 0 0 91.66667%;\n    max-width: 91.66667%; }\n  .col-sm-12 {\n    -webkit-flex: 0 0 100%;\n            flex: 0 0 100%;\n    max-width: 100%; }\n  .order-sm-first {\n    -webkit-order: -1;\n            order: -1; }\n  .order-sm-last {\n    -webkit-order: 13;\n            order: 13; }\n  .order-sm-0 {\n    -webkit-order: 0;\n            order: 0; }\n  .order-sm-1 {\n    -webkit-order: 1;\n            order: 1; }\n  .order-sm-2 {\n    -webkit-order: 2;\n            order: 2; }\n  .order-sm-3 {\n    -webkit-order: 3;\n            order: 3; }\n  .order-sm-4 {\n    -webkit-order: 4;\n            order: 4; }\n  .order-sm-5 {\n    -webkit-order: 5;\n            order: 5; }\n  .order-sm-6 {\n    -webkit-order: 6;\n            order: 6; }\n  .order-sm-7 {\n    -webkit-order: 7;\n            order: 7; }\n  .order-sm-8 {\n    -webkit-order: 8;\n            order: 8; }\n  .order-sm-9 {\n    -webkit-order: 9;\n            order: 9; }\n  .order-sm-10 {\n    -webkit-order: 10;\n            order: 10; }\n  .order-sm-11 {\n    -webkit-order: 11;\n            order: 11; }\n  .order-sm-12 {\n    -webkit-order: 12;\n            order: 12; }\n  .offset-sm-0 {\n    margin-left: 0; }\n  .offset-sm-1 {\n    margin-left: 8.33333%; }\n  .offset-sm-2 {\n    margin-left: 16.66667%; }\n  .offset-sm-3 {\n    margin-left: 25%; }\n  .offset-sm-4 {\n    margin-left: 33.33333%; }\n  .offset-sm-5 {\n    margin-left: 41.66667%; }\n  .offset-sm-6 {\n    margin-left: 50%; }\n  .offset-sm-7 {\n    margin-left: 58.33333%; }\n  .offset-sm-8 {\n    margin-left: 66.66667%; }\n  .offset-sm-9 {\n    margin-left: 75%; }\n  .offset-sm-10 {\n    margin-left: 83.33333%; }\n  .offset-sm-11 {\n    margin-left: 91.66667%; } }\n\n@media (min-width: 768px) {\n  .col-md {\n    -webkit-flex-basis: 0;\n            flex-basis: 0;\n    -webkit-flex-grow: 1;\n            flex-grow: 1;\n    max-width: 100%; }\n  .col-md-auto {\n    -webkit-flex: 0 0 auto;\n            flex: 0 0 auto;\n    width: auto;\n    max-width: 100%; }\n  .col-md-1 {\n    -webkit-flex: 0 0 8.33333%;\n            flex: 0 0 8.33333%;\n    max-width: 8.33333%; }\n  .col-md-2 {\n    -webkit-flex: 0 0 16.66667%;\n            flex: 0 0 16.66667%;\n    max-width: 16.66667%; }\n  .col-md-3 {\n    -webkit-flex: 0 0 25%;\n            flex: 0 0 25%;\n    max-width: 25%; }\n  .col-md-4 {\n    -webkit-flex: 0 0 33.33333%;\n            flex: 0 0 33.33333%;\n    max-width: 33.33333%; }\n  .col-md-5 {\n    -webkit-flex: 0 0 41.66667%;\n            flex: 0 0 41.66667%;\n    max-width: 41.66667%; }\n  .col-md-6 {\n    -webkit-flex: 0 0 50%;\n            flex: 0 0 50%;\n    max-width: 50%; }\n  .col-md-7 {\n    -webkit-flex: 0 0 58.33333%;\n            flex: 0 0 58.33333%;\n    max-width: 58.33333%; }\n  .col-md-8 {\n    -webkit-flex: 0 0 66.66667%;\n            flex: 0 0 66.66667%;\n    max-width: 66.66667%; }\n  .col-md-9 {\n    -webkit-flex: 0 0 75%;\n            flex: 0 0 75%;\n    max-width: 75%; }\n  .col-md-10 {\n    -webkit-flex: 0 0 83.33333%;\n            flex: 0 0 83.33333%;\n    max-width: 83.33333%; }\n  .col-md-11 {\n    -webkit-flex: 0 0 91.66667%;\n            flex: 0 0 91.66667%;\n    max-width: 91.66667%; }\n  .col-md-12 {\n    -webkit-flex: 0 0 100%;\n            flex: 0 0 100%;\n    max-width: 100%; }\n  .order-md-first {\n    -webkit-order: -1;\n            order: -1; }\n  .order-md-last {\n    -webkit-order: 13;\n            order: 13; }\n  .order-md-0 {\n    -webkit-order: 0;\n            order: 0; }\n  .order-md-1 {\n    -webkit-order: 1;\n            order: 1; }\n  .order-md-2 {\n    -webkit-order: 2;\n            order: 2; }\n  .order-md-3 {\n    -webkit-order: 3;\n            order: 3; }\n  .order-md-4 {\n    -webkit-order: 4;\n            order: 4; }\n  .order-md-5 {\n    -webkit-order: 5;\n            order: 5; }\n  .order-md-6 {\n    -webkit-order: 6;\n            order: 6; }\n  .order-md-7 {\n    -webkit-order: 7;\n            order: 7; }\n  .order-md-8 {\n    -webkit-order: 8;\n            order: 8; }\n  .order-md-9 {\n    -webkit-order: 9;\n            order: 9; }\n  .order-md-10 {\n    -webkit-order: 10;\n            order: 10; }\n  .order-md-11 {\n    -webkit-order: 11;\n            order: 11; }\n  .order-md-12 {\n    -webkit-order: 12;\n            order: 12; }\n  .offset-md-0 {\n    margin-left: 0; }\n  .offset-md-1 {\n    margin-left: 8.33333%; }\n  .offset-md-2 {\n    margin-left: 16.66667%; }\n  .offset-md-3 {\n    margin-left: 25%; }\n  .offset-md-4 {\n    margin-left: 33.33333%; }\n  .offset-md-5 {\n    margin-left: 41.66667%; }\n  .offset-md-6 {\n    margin-left: 50%; }\n  .offset-md-7 {\n    margin-left: 58.33333%; }\n  .offset-md-8 {\n    margin-left: 66.66667%; }\n  .offset-md-9 {\n    margin-left: 75%; }\n  .offset-md-10 {\n    margin-left: 83.33333%; }\n  .offset-md-11 {\n    margin-left: 91.66667%; } }\n\n@media (min-width: 992px) {\n  .col-lg {\n    -webkit-flex-basis: 0;\n            flex-basis: 0;\n    -webkit-flex-grow: 1;\n            flex-grow: 1;\n    max-width: 100%; }\n  .col-lg-auto {\n    -webkit-flex: 0 0 auto;\n            flex: 0 0 auto;\n    width: auto;\n    max-width: 100%; }\n  .col-lg-1 {\n    -webkit-flex: 0 0 8.33333%;\n            flex: 0 0 8.33333%;\n    max-width: 8.33333%; }\n  .col-lg-2 {\n    -webkit-flex: 0 0 16.66667%;\n            flex: 0 0 16.66667%;\n    max-width: 16.66667%; }\n  .col-lg-3 {\n    -webkit-flex: 0 0 25%;\n            flex: 0 0 25%;\n    max-width: 25%; }\n  .col-lg-4 {\n    -webkit-flex: 0 0 33.33333%;\n            flex: 0 0 33.33333%;\n    max-width: 33.33333%; }\n  .col-lg-5 {\n    -webkit-flex: 0 0 41.66667%;\n            flex: 0 0 41.66667%;\n    max-width: 41.66667%; }\n  .col-lg-6 {\n    -webkit-flex: 0 0 50%;\n            flex: 0 0 50%;\n    max-width: 50%; }\n  .col-lg-7 {\n    -webkit-flex: 0 0 58.33333%;\n            flex: 0 0 58.33333%;\n    max-width: 58.33333%; }\n  .col-lg-8 {\n    -webkit-flex: 0 0 66.66667%;\n            flex: 0 0 66.66667%;\n    max-width: 66.66667%; }\n  .col-lg-9 {\n    -webkit-flex: 0 0 75%;\n            flex: 0 0 75%;\n    max-width: 75%; }\n  .col-lg-10 {\n    -webkit-flex: 0 0 83.33333%;\n            flex: 0 0 83.33333%;\n    max-width: 83.33333%; }\n  .col-lg-11 {\n    -webkit-flex: 0 0 91.66667%;\n            flex: 0 0 91.66667%;\n    max-width: 91.66667%; }\n  .col-lg-12 {\n    -webkit-flex: 0 0 100%;\n            flex: 0 0 100%;\n    max-width: 100%; }\n  .order-lg-first {\n    -webkit-order: -1;\n            order: -1; }\n  .order-lg-last {\n    -webkit-order: 13;\n            order: 13; }\n  .order-lg-0 {\n    -webkit-order: 0;\n            order: 0; }\n  .order-lg-1 {\n    -webkit-order: 1;\n            order: 1; }\n  .order-lg-2 {\n    -webkit-order: 2;\n            order: 2; }\n  .order-lg-3 {\n    -webkit-order: 3;\n            order: 3; }\n  .order-lg-4 {\n    -webkit-order: 4;\n            order: 4; }\n  .order-lg-5 {\n    -webkit-order: 5;\n            order: 5; }\n  .order-lg-6 {\n    -webkit-order: 6;\n            order: 6; }\n  .order-lg-7 {\n    -webkit-order: 7;\n            order: 7; }\n  .order-lg-8 {\n    -webkit-order: 8;\n            order: 8; }\n  .order-lg-9 {\n    -webkit-order: 9;\n            order: 9; }\n  .order-lg-10 {\n    -webkit-order: 10;\n            order: 10; }\n  .order-lg-11 {\n    -webkit-order: 11;\n            order: 11; }\n  .order-lg-12 {\n    -webkit-order: 12;\n            order: 12; }\n  .offset-lg-0 {\n    margin-left: 0; }\n  .offset-lg-1 {\n    margin-left: 8.33333%; }\n  .offset-lg-2 {\n    margin-left: 16.66667%; }\n  .offset-lg-3 {\n    margin-left: 25%; }\n  .offset-lg-4 {\n    margin-left: 33.33333%; }\n  .offset-lg-5 {\n    margin-left: 41.66667%; }\n  .offset-lg-6 {\n    margin-left: 50%; }\n  .offset-lg-7 {\n    margin-left: 58.33333%; }\n  .offset-lg-8 {\n    margin-left: 66.66667%; }\n  .offset-lg-9 {\n    margin-left: 75%; }\n  .offset-lg-10 {\n    margin-left: 83.33333%; }\n  .offset-lg-11 {\n    margin-left: 91.66667%; } }\n\n@media (min-width: 1200px) {\n  .col-xl {\n    -webkit-flex-basis: 0;\n            flex-basis: 0;\n    -webkit-flex-grow: 1;\n            flex-grow: 1;\n    max-width: 100%; }\n  .col-xl-auto {\n    -webkit-flex: 0 0 auto;\n            flex: 0 0 auto;\n    width: auto;\n    max-width: 100%; }\n  .col-xl-1 {\n    -webkit-flex: 0 0 8.33333%;\n            flex: 0 0 8.33333%;\n    max-width: 8.33333%; }\n  .col-xl-2 {\n    -webkit-flex: 0 0 16.66667%;\n            flex: 0 0 16.66667%;\n    max-width: 16.66667%; }\n  .col-xl-3 {\n    -webkit-flex: 0 0 25%;\n            flex: 0 0 25%;\n    max-width: 25%; }\n  .col-xl-4 {\n    -webkit-flex: 0 0 33.33333%;\n            flex: 0 0 33.33333%;\n    max-width: 33.33333%; }\n  .col-xl-5 {\n    -webkit-flex: 0 0 41.66667%;\n            flex: 0 0 41.66667%;\n    max-width: 41.66667%; }\n  .col-xl-6 {\n    -webkit-flex: 0 0 50%;\n            flex: 0 0 50%;\n    max-width: 50%; }\n  .col-xl-7 {\n    -webkit-flex: 0 0 58.33333%;\n            flex: 0 0 58.33333%;\n    max-width: 58.33333%; }\n  .col-xl-8 {\n    -webkit-flex: 0 0 66.66667%;\n            flex: 0 0 66.66667%;\n    max-width: 66.66667%; }\n  .col-xl-9 {\n    -webkit-flex: 0 0 75%;\n            flex: 0 0 75%;\n    max-width: 75%; }\n  .col-xl-10 {\n    -webkit-flex: 0 0 83.33333%;\n            flex: 0 0 83.33333%;\n    max-width: 83.33333%; }\n  .col-xl-11 {\n    -webkit-flex: 0 0 91.66667%;\n            flex: 0 0 91.66667%;\n    max-width: 91.66667%; }\n  .col-xl-12 {\n    -webkit-flex: 0 0 100%;\n            flex: 0 0 100%;\n    max-width: 100%; }\n  .order-xl-first {\n    -webkit-order: -1;\n            order: -1; }\n  .order-xl-last {\n    -webkit-order: 13;\n            order: 13; }\n  .order-xl-0 {\n    -webkit-order: 0;\n            order: 0; }\n  .order-xl-1 {\n    -webkit-order: 1;\n            order: 1; }\n  .order-xl-2 {\n    -webkit-order: 2;\n            order: 2; }\n  .order-xl-3 {\n    -webkit-order: 3;\n            order: 3; }\n  .order-xl-4 {\n    -webkit-order: 4;\n            order: 4; }\n  .order-xl-5 {\n    -webkit-order: 5;\n            order: 5; }\n  .order-xl-6 {\n    -webkit-order: 6;\n            order: 6; }\n  .order-xl-7 {\n    -webkit-order: 7;\n            order: 7; }\n  .order-xl-8 {\n    -webkit-order: 8;\n            order: 8; }\n  .order-xl-9 {\n    -webkit-order: 9;\n            order: 9; }\n  .order-xl-10 {\n    -webkit-order: 10;\n            order: 10; }\n  .order-xl-11 {\n    -webkit-order: 11;\n            order: 11; }\n  .order-xl-12 {\n    -webkit-order: 12;\n            order: 12; }\n  .offset-xl-0 {\n    margin-left: 0; }\n  .offset-xl-1 {\n    margin-left: 8.33333%; }\n  .offset-xl-2 {\n    margin-left: 16.66667%; }\n  .offset-xl-3 {\n    margin-left: 25%; }\n  .offset-xl-4 {\n    margin-left: 33.33333%; }\n  .offset-xl-5 {\n    margin-left: 41.66667%; }\n  .offset-xl-6 {\n    margin-left: 50%; }\n  .offset-xl-7 {\n    margin-left: 58.33333%; }\n  .offset-xl-8 {\n    margin-left: 66.66667%; }\n  .offset-xl-9 {\n    margin-left: 75%; }\n  .offset-xl-10 {\n    margin-left: 83.33333%; }\n  .offset-xl-11 {\n    margin-left: 91.66667%; } }\n\n.table {\n  width: 100%;\n  margin-bottom: 1rem;\n  color: #212529; }\n  .table th,\n  .table td {\n    padding: 0.75rem;\n    vertical-align: top;\n    border-top: 1px solid #dee2e6; }\n  .table thead th {\n    vertical-align: bottom;\n    border-bottom: 2px solid #dee2e6; }\n  .table tbody + tbody {\n    border-top: 2px solid #dee2e6; }\n\n.table-sm th,\n.table-sm td {\n  padding: 0.3rem; }\n\n.table-bordered {\n  border: 1px solid #dee2e6; }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #dee2e6; }\n  .table-bordered thead th,\n  .table-bordered thead td {\n    border-bottom-width: 2px; }\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n  border: 0; }\n\n.table-striped tbody tr:nth-of-type(odd) {\n  background-color: rgba(0, 0, 0, 0.05); }\n\n.table-hover tbody tr:hover {\n  color: #212529;\n  background-color: rgba(0, 0, 0, 0.075); }\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n  background-color: #b8d8f4; }\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n  border-color: #7ab7eb; }\n\n.table-hover .table-primary:hover {\n  background-color: #a2ccf1; }\n  .table-hover .table-primary:hover > td,\n  .table-hover .table-primary:hover > th {\n    background-color: #a2ccf1; }\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n  background-color: #d6d8db; }\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n  border-color: #b3b7bb; }\n\n.table-hover .table-secondary:hover {\n  background-color: #c8cbcf; }\n  .table-hover .table-secondary:hover > td,\n  .table-hover .table-secondary:hover > th {\n    background-color: #c8cbcf; }\n\n.table-success,\n.table-success > th,\n.table-success > td {\n  background-color: #c3e6cb; }\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n  border-color: #8fd19e; }\n\n.table-hover .table-success:hover {\n  background-color: #b1dfbb; }\n  .table-hover .table-success:hover > td,\n  .table-hover .table-success:hover > th {\n    background-color: #b1dfbb; }\n\n.table-info,\n.table-info > th,\n.table-info > td {\n  background-color: #bee5eb; }\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n  border-color: #86cfda; }\n\n.table-hover .table-info:hover {\n  background-color: #abdde5; }\n  .table-hover .table-info:hover > td,\n  .table-hover .table-info:hover > th {\n    background-color: #abdde5; }\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n  background-color: #ffeeba; }\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n  border-color: #ffdf7e; }\n\n.table-hover .table-warning:hover {\n  background-color: #ffe8a1; }\n  .table-hover .table-warning:hover > td,\n  .table-hover .table-warning:hover > th {\n    background-color: #ffe8a1; }\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n  background-color: #ffcac7; }\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n  border-color: #ff9c96; }\n\n.table-hover .table-danger:hover {\n  background-color: #ffb2ae; }\n  .table-hover .table-danger:hover > td,\n  .table-hover .table-danger:hover > th {\n    background-color: #ffb2ae; }\n\n.table-light,\n.table-light > th,\n.table-light > td {\n  background-color: #fdfdfe; }\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n  border-color: #fbfcfc; }\n\n.table-hover .table-light:hover {\n  background-color: #ececf6; }\n  .table-hover .table-light:hover > td,\n  .table-hover .table-light:hover > th {\n    background-color: #ececf6; }\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n  background-color: #c6c8ca; }\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n  border-color: #95999c; }\n\n.table-hover .table-dark:hover {\n  background-color: #b9bbbe; }\n  .table-hover .table-dark:hover > td,\n  .table-hover .table-dark:hover > th {\n    background-color: #b9bbbe; }\n\n.table-active,\n.table-active > th,\n.table-active > td {\n  background-color: rgba(0, 0, 0, 0.075); }\n\n.table-hover .table-active:hover {\n  background-color: rgba(0, 0, 0, 0.075); }\n  .table-hover .table-active:hover > td,\n  .table-hover .table-active:hover > th {\n    background-color: rgba(0, 0, 0, 0.075); }\n\n.table .thead-dark th {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #454d55; }\n\n.table .thead-light th {\n  color: #495057;\n  background-color: #e9ecef;\n  border-color: #dee2e6; }\n\n.table-dark {\n  color: #fff;\n  background-color: #343a40; }\n  .table-dark th,\n  .table-dark td,\n  .table-dark thead th {\n    border-color: #454d55; }\n  .table-dark.table-bordered {\n    border: 0; }\n  .table-dark.table-striped tbody tr:nth-of-type(odd) {\n    background-color: rgba(255, 255, 255, 0.05); }\n  .table-dark.table-hover tbody tr:hover {\n    color: #fff;\n    background-color: rgba(255, 255, 255, 0.075); }\n\n@media (max-width: 575.98px) {\n  .table-responsive-sm {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch; }\n    .table-responsive-sm > .table-bordered {\n      border: 0; } }\n\n@media (max-width: 767.98px) {\n  .table-responsive-md {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch; }\n    .table-responsive-md > .table-bordered {\n      border: 0; } }\n\n@media (max-width: 991.98px) {\n  .table-responsive-lg {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch; }\n    .table-responsive-lg > .table-bordered {\n      border: 0; } }\n\n@media (max-width: 1199.98px) {\n  .table-responsive-xl {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch; }\n    .table-responsive-xl > .table-bordered {\n      border: 0; } }\n\n.table-responsive {\n  display: block;\n  width: 100%;\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch; }\n  .table-responsive > .table-bordered {\n    border: 0; }\n\n.form-control {\n  display: block;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control {\n      transition: none; } }\n  .form-control::-ms-expand {\n    background-color: transparent;\n    border: 0; }\n  .form-control:focus {\n    color: #495057;\n    background-color: #fff;\n    border-color: #5ab2ff;\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n  .form-control::-webkit-input-placeholder {\n    color: #6c757d;\n    opacity: 1; }\n  .form-control:-ms-input-placeholder {\n    color: #6c757d;\n    opacity: 1; }\n  .form-control::-ms-input-placeholder {\n    color: #6c757d;\n    opacity: 1; }\n  .form-control::placeholder {\n    color: #6c757d;\n    opacity: 1; }\n  .form-control:disabled, .form-control[readonly] {\n    background-color: #e9ecef;\n    opacity: 1; }\n\nselect.form-control:focus::-ms-value {\n  color: #495057;\n  background-color: #fff; }\n\n.form-control-file,\n.form-control-range {\n  display: block;\n  width: 100%; }\n\n.col-form-label {\n  padding-top: calc(0.375rem + 1px);\n  padding-bottom: calc(0.375rem + 1px);\n  margin-bottom: 0;\n  font-size: inherit;\n  line-height: 1.5; }\n\n.col-form-label-lg {\n  padding-top: calc(0.5rem + 1px);\n  padding-bottom: calc(0.5rem + 1px);\n  font-size: 1.25rem;\n  line-height: 1.5; }\n\n.col-form-label-sm {\n  padding-top: calc(0.25rem + 1px);\n  padding-bottom: calc(0.25rem + 1px);\n  font-size: 0.875rem;\n  line-height: 1.5; }\n\n.form-control-plaintext {\n  display: block;\n  width: 100%;\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\n  margin-bottom: 0;\n  line-height: 1.5;\n  color: #212529;\n  background-color: transparent;\n  border: solid transparent;\n  border-width: 1px 0; }\n  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n    padding-right: 0;\n    padding-left: 0; }\n\n.form-control-sm {\n  height: calc(1.5em + 0.5rem + 2px);\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem; }\n\n.form-control-lg {\n  height: calc(1.5em + 1rem + 2px);\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem; }\n\nselect.form-control[size], select.form-control[multiple] {\n  height: auto; }\n\ntextarea.form-control {\n  height: auto; }\n\n.form-group {\n  margin-bottom: 1rem; }\n\n.form-text {\n  display: block;\n  margin-top: 0.25rem; }\n\n.form-row {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  margin-right: -5px;\n  margin-left: -5px; }\n  .form-row > .col,\n  .form-row > [class*="col-"] {\n    padding-right: 5px;\n    padding-left: 5px; }\n\n.form-check {\n  position: relative;\n  display: block;\n  padding-left: 1.25rem; }\n\n.form-check-input {\n  position: absolute;\n  margin-top: 0.3rem;\n  margin-left: -1.25rem; }\n  .form-check-input:disabled ~ .form-check-label {\n    color: #6c757d; }\n\n.form-check-label {\n  margin-bottom: 0; }\n\n.form-check-inline {\n  display: -webkit-inline-flex;\n  display: inline-flex;\n  -webkit-align-items: center;\n          align-items: center;\n  padding-left: 0;\n  margin-right: 0.75rem; }\n  .form-check-inline .form-check-input {\n    position: static;\n    margin-top: 0;\n    margin-right: 0.3125rem;\n    margin-left: 0; }\n\n.valid-feedback {\n  display: none;\n  width: 100%;\n  margin-top: 0.25rem;\n  font-size: 80%;\n  color: #28a745; }\n\n.valid-tooltip {\n  position: absolute;\n  top: 100%;\n  z-index: 5;\n  display: none;\n  max-width: 100%;\n  padding: 0.25rem 0.5rem;\n  margin-top: .1rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  color: #fff;\n  background-color: rgba(40, 167, 69, 0.9);\n  border-radius: 0.25rem; }\n\n.was-validated .form-control:valid, .form-control.is-valid {\n  border-color: #28a745;\n  padding-right: calc(1.5em + 0.75rem);\n  background-image: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e");\n  background-repeat: no-repeat;\n  background-position: center right calc(0.375em + 0.1875rem);\n  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n    border-color: #28a745;\n    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\n  .was-validated .form-control:valid ~ .valid-feedback,\n  .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n  .form-control.is-valid ~ .valid-tooltip {\n    display: block; }\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n  padding-right: calc(1.5em + 0.75rem);\n  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n  border-color: #28a745;\n  padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n  background: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%2328a745\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n  .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n    border-color: #28a745;\n    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\n  .was-validated .custom-select:valid ~ .valid-feedback,\n  .was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\n  .custom-select.is-valid ~ .valid-tooltip {\n    display: block; }\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n  display: block; }\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n  color: #28a745; }\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n  display: block; }\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n  color: #28a745; }\n  .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n    border-color: #28a745; }\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n  display: block; }\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n  border-color: #34ce57;\n  background-color: #34ce57; }\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #28a745; }\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n  border-color: #28a745; }\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n  display: block; }\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n  border-color: #28a745;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\n\n.invalid-feedback {\n  display: none;\n  width: 100%;\n  margin-top: 0.25rem;\n  font-size: 80%;\n  color: #ff4136; }\n\n.invalid-tooltip {\n  position: absolute;\n  top: 100%;\n  z-index: 5;\n  display: none;\n  max-width: 100%;\n  padding: 0.25rem 0.5rem;\n  margin-top: .1rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  color: #fff;\n  background-color: rgba(255, 65, 54, 0.9);\n  border-radius: 0.25rem; }\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n  border-color: #ff4136;\n  padding-right: calc(1.5em + 0.75rem);\n  background-image: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23ff4136\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23ff4136\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E");\n  background-repeat: no-repeat;\n  background-position: center right calc(0.375em + 0.1875rem);\n  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n    border-color: #ff4136;\n    box-shadow: 0 0 0 0.2rem rgba(255, 65, 54, 0.25); }\n  .was-validated .form-control:invalid ~ .invalid-feedback,\n  .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n  .form-control.is-invalid ~ .invalid-tooltip {\n    display: block; }\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n  padding-right: calc(1.5em + 0.75rem);\n  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n  border-color: #ff4136;\n  padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n  background: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23ff4136\' viewBox=\'-2 -2 7 7\'%3e%3cpath stroke=\'%23ff4136\' d=\'M0 0l3 3m0-3L0 3\'/%3e%3ccircle r=\'.5\'/%3e%3ccircle cx=\'3\' r=\'.5\'/%3e%3ccircle cy=\'3\' r=\'.5\'/%3e%3ccircle cx=\'3\' cy=\'3\' r=\'.5\'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n  .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n    border-color: #ff4136;\n    box-shadow: 0 0 0 0.2rem rgba(255, 65, 54, 0.25); }\n  .was-validated .custom-select:invalid ~ .invalid-feedback,\n  .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\n  .custom-select.is-invalid ~ .invalid-tooltip {\n    display: block; }\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n  display: block; }\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n  color: #ff4136; }\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n  display: block; }\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n  color: #ff4136; }\n  .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n    border-color: #ff4136; }\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n  display: block; }\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n  border-color: #ff7169;\n  background-color: #ff7169; }\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(255, 65, 54, 0.25); }\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #ff4136; }\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n  border-color: #ff4136; }\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n  display: block; }\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n  border-color: #ff4136;\n  box-shadow: 0 0 0 0.2rem rgba(255, 65, 54, 0.25); }\n\n.form-inline {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-flow: row wrap;\n          flex-flow: row wrap;\n  -webkit-align-items: center;\n          align-items: center; }\n  .form-inline .form-check {\n    width: 100%; }\n  @media (min-width: 576px) {\n    .form-inline label {\n      display: -webkit-flex;\n      display: flex;\n      -webkit-align-items: center;\n              align-items: center;\n      -webkit-justify-content: center;\n              justify-content: center;\n      margin-bottom: 0; }\n    .form-inline .form-group {\n      display: -webkit-flex;\n      display: flex;\n      -webkit-flex: 0 0 auto;\n              flex: 0 0 auto;\n      -webkit-flex-flow: row wrap;\n              flex-flow: row wrap;\n      -webkit-align-items: center;\n              align-items: center;\n      margin-bottom: 0; }\n    .form-inline .form-control {\n      display: inline-block;\n      width: auto;\n      vertical-align: middle; }\n    .form-inline .form-control-plaintext {\n      display: inline-block; }\n    .form-inline .input-group,\n    .form-inline .custom-select {\n      width: auto; }\n    .form-inline .form-check {\n      display: -webkit-flex;\n      display: flex;\n      -webkit-align-items: center;\n              align-items: center;\n      -webkit-justify-content: center;\n              justify-content: center;\n      width: auto;\n      padding-left: 0; }\n    .form-inline .form-check-input {\n      position: relative;\n      -webkit-flex-shrink: 0;\n              flex-shrink: 0;\n      margin-top: 0;\n      margin-right: 0.25rem;\n      margin-left: 0; }\n    .form-inline .custom-control {\n      -webkit-align-items: center;\n              align-items: center;\n      -webkit-justify-content: center;\n              justify-content: center; }\n    .form-inline .custom-control-label {\n      margin-bottom: 0; } }\n\n.btn {\n  display: inline-block;\n  font-weight: 400;\n  color: #212529;\n  text-align: center;\n  vertical-align: middle;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  background-color: transparent;\n  border: 1px solid transparent;\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  line-height: 1.5;\n  border-radius: 0.25rem;\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n  @media (prefers-reduced-motion: reduce) {\n    .btn {\n      transition: none; } }\n  .btn:hover {\n    color: #212529;\n    text-decoration: none; }\n  .btn:focus, .btn.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n  .btn.disabled, .btn:disabled {\n    opacity: 0.65; }\n\na.btn.disabled,\nfieldset:disabled a.btn {\n  pointer-events: none; }\n\n.btn-primary {\n  color: #fff;\n  background-color: #0074d9;\n  border-color: #0074d9; }\n  .btn-primary:hover {\n    color: #fff;\n    background-color: #0060b3;\n    border-color: #0059a6; }\n  .btn-primary:focus, .btn-primary.focus {\n    box-shadow: 0 0 0 0.2rem rgba(38, 137, 223, 0.5); }\n  .btn-primary.disabled, .btn-primary:disabled {\n    color: #fff;\n    background-color: #0074d9;\n    border-color: #0074d9; }\n  .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n  .show > .btn-primary.dropdown-toggle {\n    color: #fff;\n    background-color: #0059a6;\n    border-color: #005299; }\n    .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-primary.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(38, 137, 223, 0.5); }\n\n.btn-secondary {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d; }\n  .btn-secondary:hover {\n    color: #fff;\n    background-color: #5a6268;\n    border-color: #545b62; }\n  .btn-secondary:focus, .btn-secondary.focus {\n    box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }\n  .btn-secondary.disabled, .btn-secondary:disabled {\n    color: #fff;\n    background-color: #6c757d;\n    border-color: #6c757d; }\n  .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n  .show > .btn-secondary.dropdown-toggle {\n    color: #fff;\n    background-color: #545b62;\n    border-color: #4e555b; }\n    .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-secondary.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }\n\n.btn-success {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745; }\n  .btn-success:hover {\n    color: #fff;\n    background-color: #218838;\n    border-color: #1e7e34; }\n  .btn-success:focus, .btn-success.focus {\n    box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }\n  .btn-success.disabled, .btn-success:disabled {\n    color: #fff;\n    background-color: #28a745;\n    border-color: #28a745; }\n  .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n  .show > .btn-success.dropdown-toggle {\n    color: #fff;\n    background-color: #1e7e34;\n    border-color: #1c7430; }\n    .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-success.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }\n\n.btn-info {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8; }\n  .btn-info:hover {\n    color: #fff;\n    background-color: #138496;\n    border-color: #117a8b; }\n  .btn-info:focus, .btn-info.focus {\n    box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }\n  .btn-info.disabled, .btn-info:disabled {\n    color: #fff;\n    background-color: #17a2b8;\n    border-color: #17a2b8; }\n  .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n  .show > .btn-info.dropdown-toggle {\n    color: #fff;\n    background-color: #117a8b;\n    border-color: #10707f; }\n    .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-info.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }\n\n.btn-warning {\n  color: #212529;\n  background-color: #ffc107;\n  border-color: #ffc107; }\n  .btn-warning:hover {\n    color: #212529;\n    background-color: #e0a800;\n    border-color: #d39e00; }\n  .btn-warning:focus, .btn-warning.focus {\n    box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }\n  .btn-warning.disabled, .btn-warning:disabled {\n    color: #212529;\n    background-color: #ffc107;\n    border-color: #ffc107; }\n  .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n  .show > .btn-warning.dropdown-toggle {\n    color: #212529;\n    background-color: #d39e00;\n    border-color: #c69500; }\n    .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-warning.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }\n\n.btn-danger {\n  color: #fff;\n  background-color: #ff4136;\n  border-color: #ff4136; }\n  .btn-danger:hover {\n    color: #fff;\n    background-color: #ff1d10;\n    border-color: #ff1103; }\n  .btn-danger:focus, .btn-danger.focus {\n    box-shadow: 0 0 0 0.2rem rgba(255, 94, 84, 0.5); }\n  .btn-danger.disabled, .btn-danger:disabled {\n    color: #fff;\n    background-color: #ff4136;\n    border-color: #ff4136; }\n  .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n  .show > .btn-danger.dropdown-toggle {\n    color: #fff;\n    background-color: #ff1103;\n    border-color: #f50d00; }\n    .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-danger.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(255, 94, 84, 0.5); }\n\n.btn-light {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa; }\n  .btn-light:hover {\n    color: #212529;\n    background-color: #e2e6ea;\n    border-color: #dae0e5; }\n  .btn-light:focus, .btn-light.focus {\n    box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\n  .btn-light.disabled, .btn-light:disabled {\n    color: #212529;\n    background-color: #f8f9fa;\n    border-color: #f8f9fa; }\n  .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n  .show > .btn-light.dropdown-toggle {\n    color: #212529;\n    background-color: #dae0e5;\n    border-color: #d3d9df; }\n    .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-light.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\n\n.btn-dark {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40; }\n  .btn-dark:hover {\n    color: #fff;\n    background-color: #23272b;\n    border-color: #1d2124; }\n  .btn-dark:focus, .btn-dark.focus {\n    box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\n  .btn-dark.disabled, .btn-dark:disabled {\n    color: #fff;\n    background-color: #343a40;\n    border-color: #343a40; }\n  .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n  .show > .btn-dark.dropdown-toggle {\n    color: #fff;\n    background-color: #1d2124;\n    border-color: #171a1d; }\n    .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-dark.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\n\n.btn-outline-primary {\n  color: #0074d9;\n  border-color: #0074d9; }\n  .btn-outline-primary:hover {\n    color: #fff;\n    background-color: #0074d9;\n    border-color: #0074d9; }\n  .btn-outline-primary:focus, .btn-outline-primary.focus {\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.5); }\n  .btn-outline-primary.disabled, .btn-outline-primary:disabled {\n    color: #0074d9;\n    background-color: transparent; }\n  .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-primary.dropdown-toggle {\n    color: #fff;\n    background-color: #0074d9;\n    border-color: #0074d9; }\n    .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-primary.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.5); }\n\n.btn-outline-secondary {\n  color: #6c757d;\n  border-color: #6c757d; }\n  .btn-outline-secondary:hover {\n    color: #fff;\n    background-color: #6c757d;\n    border-color: #6c757d; }\n  .btn-outline-secondary:focus, .btn-outline-secondary.focus {\n    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }\n  .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n    color: #6c757d;\n    background-color: transparent; }\n  .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-secondary.dropdown-toggle {\n    color: #fff;\n    background-color: #6c757d;\n    border-color: #6c757d; }\n    .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-secondary.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }\n\n.btn-outline-success {\n  color: #28a745;\n  border-color: #28a745; }\n  .btn-outline-success:hover {\n    color: #fff;\n    background-color: #28a745;\n    border-color: #28a745; }\n  .btn-outline-success:focus, .btn-outline-success.focus {\n    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\n  .btn-outline-success.disabled, .btn-outline-success:disabled {\n    color: #28a745;\n    background-color: transparent; }\n  .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-success.dropdown-toggle {\n    color: #fff;\n    background-color: #28a745;\n    border-color: #28a745; }\n    .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-success.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\n\n.btn-outline-info {\n  color: #17a2b8;\n  border-color: #17a2b8; }\n  .btn-outline-info:hover {\n    color: #fff;\n    background-color: #17a2b8;\n    border-color: #17a2b8; }\n  .btn-outline-info:focus, .btn-outline-info.focus {\n    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\n  .btn-outline-info.disabled, .btn-outline-info:disabled {\n    color: #17a2b8;\n    background-color: transparent; }\n  .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-info.dropdown-toggle {\n    color: #fff;\n    background-color: #17a2b8;\n    border-color: #17a2b8; }\n    .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-info.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\n\n.btn-outline-warning {\n  color: #ffc107;\n  border-color: #ffc107; }\n  .btn-outline-warning:hover {\n    color: #212529;\n    background-color: #ffc107;\n    border-color: #ffc107; }\n  .btn-outline-warning:focus, .btn-outline-warning.focus {\n    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }\n  .btn-outline-warning.disabled, .btn-outline-warning:disabled {\n    color: #ffc107;\n    background-color: transparent; }\n  .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-warning.dropdown-toggle {\n    color: #212529;\n    background-color: #ffc107;\n    border-color: #ffc107; }\n    .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-warning.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }\n\n.btn-outline-danger {\n  color: #ff4136;\n  border-color: #ff4136; }\n  .btn-outline-danger:hover {\n    color: #fff;\n    background-color: #ff4136;\n    border-color: #ff4136; }\n  .btn-outline-danger:focus, .btn-outline-danger.focus {\n    box-shadow: 0 0 0 0.2rem rgba(255, 65, 54, 0.5); }\n  .btn-outline-danger.disabled, .btn-outline-danger:disabled {\n    color: #ff4136;\n    background-color: transparent; }\n  .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-danger.dropdown-toggle {\n    color: #fff;\n    background-color: #ff4136;\n    border-color: #ff4136; }\n    .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-danger.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(255, 65, 54, 0.5); }\n\n.btn-outline-light {\n  color: #f8f9fa;\n  border-color: #f8f9fa; }\n  .btn-outline-light:hover {\n    color: #212529;\n    background-color: #f8f9fa;\n    border-color: #f8f9fa; }\n  .btn-outline-light:focus, .btn-outline-light.focus {\n    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n  .btn-outline-light.disabled, .btn-outline-light:disabled {\n    color: #f8f9fa;\n    background-color: transparent; }\n  .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-light.dropdown-toggle {\n    color: #212529;\n    background-color: #f8f9fa;\n    border-color: #f8f9fa; }\n    .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-light.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n\n.btn-outline-dark {\n  color: #343a40;\n  border-color: #343a40; }\n  .btn-outline-dark:hover {\n    color: #fff;\n    background-color: #343a40;\n    border-color: #343a40; }\n  .btn-outline-dark:focus, .btn-outline-dark.focus {\n    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n  .btn-outline-dark.disabled, .btn-outline-dark:disabled {\n    color: #343a40;\n    background-color: transparent; }\n  .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n  .show > .btn-outline-dark.dropdown-toggle {\n    color: #fff;\n    background-color: #343a40;\n    border-color: #343a40; }\n    .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n    .show > .btn-outline-dark.dropdown-toggle:focus {\n      box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n\n.btn-link {\n  font-weight: 400;\n  color: #0074d9;\n  text-decoration: none; }\n  .btn-link:hover {\n    color: #004b8d;\n    text-decoration: underline; }\n  .btn-link:focus, .btn-link.focus {\n    text-decoration: underline;\n    box-shadow: none; }\n  .btn-link:disabled, .btn-link.disabled {\n    color: #6c757d;\n    pointer-events: none; }\n\n.btn-lg, .btn-group-lg > .btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem; }\n\n.btn-sm, .btn-group-sm > .btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem; }\n\n.btn-block {\n  display: block;\n  width: 100%; }\n  .btn-block + .btn-block {\n    margin-top: 0.5rem; }\n\ninput[type="submit"].btn-block,\ninput[type="reset"].btn-block,\ninput[type="button"].btn-block {\n  width: 100%; }\n\n.fade {\n  transition: opacity 0.15s linear; }\n  @media (prefers-reduced-motion: reduce) {\n    .fade {\n      transition: none; } }\n  .fade:not(.show) {\n    opacity: 0; }\n\n.collapse:not(.show) {\n  display: none; }\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease; }\n  @media (prefers-reduced-motion: reduce) {\n    .collapsing {\n      transition: none; } }\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n  position: relative; }\n\n.dropdown-toggle {\n  white-space: nowrap; }\n  .dropdown-toggle::after {\n    display: inline-block;\n    margin-left: 0.255em;\n    vertical-align: 0.255em;\n    content: "";\n    border-top: 0.3em solid;\n    border-right: 0.3em solid transparent;\n    border-bottom: 0;\n    border-left: 0.3em solid transparent; }\n  .dropdown-toggle:empty::after {\n    margin-left: 0; }\n\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 10rem;\n  padding: 0.5rem 0;\n  margin: 0.125rem 0 0;\n  font-size: 1rem;\n  color: #212529;\n  text-align: left;\n  list-style: none;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 0.25rem; }\n\n.dropdown-menu-left {\n  right: auto;\n  left: 0; }\n\n.dropdown-menu-right {\n  right: 0;\n  left: auto; }\n\n@media (min-width: 576px) {\n  .dropdown-menu-sm-left {\n    right: auto;\n    left: 0; }\n  .dropdown-menu-sm-right {\n    right: 0;\n    left: auto; } }\n\n@media (min-width: 768px) {\n  .dropdown-menu-md-left {\n    right: auto;\n    left: 0; }\n  .dropdown-menu-md-right {\n    right: 0;\n    left: auto; } }\n\n@media (min-width: 992px) {\n  .dropdown-menu-lg-left {\n    right: auto;\n    left: 0; }\n  .dropdown-menu-lg-right {\n    right: 0;\n    left: auto; } }\n\n@media (min-width: 1200px) {\n  .dropdown-menu-xl-left {\n    right: auto;\n    left: 0; }\n  .dropdown-menu-xl-right {\n    right: 0;\n    left: auto; } }\n\n.dropup .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-top: 0;\n  margin-bottom: 0.125rem; }\n\n.dropup .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: "";\n  border-top: 0;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0.3em solid;\n  border-left: 0.3em solid transparent; }\n\n.dropup .dropdown-toggle:empty::after {\n  margin-left: 0; }\n\n.dropright .dropdown-menu {\n  top: 0;\n  right: auto;\n  left: 100%;\n  margin-top: 0;\n  margin-left: 0.125rem; }\n\n.dropright .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: "";\n  border-top: 0.3em solid transparent;\n  border-right: 0;\n  border-bottom: 0.3em solid transparent;\n  border-left: 0.3em solid; }\n\n.dropright .dropdown-toggle:empty::after {\n  margin-left: 0; }\n\n.dropright .dropdown-toggle::after {\n  vertical-align: 0; }\n\n.dropleft .dropdown-menu {\n  top: 0;\n  right: 100%;\n  left: auto;\n  margin-top: 0;\n  margin-right: 0.125rem; }\n\n.dropleft .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: ""; }\n\n.dropleft .dropdown-toggle::after {\n  display: none; }\n\n.dropleft .dropdown-toggle::before {\n  display: inline-block;\n  margin-right: 0.255em;\n  vertical-align: 0.255em;\n  content: "";\n  border-top: 0.3em solid transparent;\n  border-right: 0.3em solid;\n  border-bottom: 0.3em solid transparent; }\n\n.dropleft .dropdown-toggle:empty::after {\n  margin-left: 0; }\n\n.dropleft .dropdown-toggle::before {\n  vertical-align: 0; }\n\n.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {\n  right: auto;\n  bottom: auto; }\n\n.dropdown-divider {\n  height: 0;\n  margin: 0.5rem 0;\n  overflow: hidden;\n  border-top: 1px solid #e9ecef; }\n\n.dropdown-item {\n  display: block;\n  width: 100%;\n  padding: 0.25rem 1.5rem;\n  clear: both;\n  font-weight: 400;\n  color: #212529;\n  text-align: inherit;\n  white-space: nowrap;\n  background-color: transparent;\n  border: 0; }\n  .dropdown-item:hover, .dropdown-item:focus {\n    color: #16181b;\n    text-decoration: none;\n    background-color: #f8f9fa; }\n  .dropdown-item.active, .dropdown-item:active {\n    color: #fff;\n    text-decoration: none;\n    background-color: #0074d9; }\n  .dropdown-item.disabled, .dropdown-item:disabled {\n    color: #6c757d;\n    pointer-events: none;\n    background-color: transparent; }\n\n.dropdown-menu.show {\n  display: block; }\n\n.dropdown-header {\n  display: block;\n  padding: 0.5rem 1.5rem;\n  margin-bottom: 0;\n  font-size: 0.875rem;\n  color: #6c757d;\n  white-space: nowrap; }\n\n.dropdown-item-text {\n  display: block;\n  padding: 0.25rem 1.5rem;\n  color: #212529; }\n\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: -webkit-inline-flex;\n  display: inline-flex;\n  vertical-align: middle; }\n  .btn-group > .btn,\n  .btn-group-vertical > .btn {\n    position: relative;\n    -webkit-flex: 1 1 auto;\n            flex: 1 1 auto; }\n    .btn-group > .btn:hover,\n    .btn-group-vertical > .btn:hover {\n      z-index: 1; }\n    .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n    .btn-group-vertical > .btn:focus,\n    .btn-group-vertical > .btn:active,\n    .btn-group-vertical > .btn.active {\n      z-index: 1; }\n\n.btn-toolbar {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  -webkit-justify-content: flex-start;\n          justify-content: flex-start; }\n  .btn-toolbar .input-group {\n    width: auto; }\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n  margin-left: -1px; }\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0; }\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0; }\n\n.dropdown-toggle-split {\n  padding-right: 0.5625rem;\n  padding-left: 0.5625rem; }\n  .dropdown-toggle-split::after,\n  .dropup .dropdown-toggle-split::after,\n  .dropright .dropdown-toggle-split::after {\n    margin-left: 0; }\n  .dropleft .dropdown-toggle-split::before {\n    margin-right: 0; }\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n  padding-right: 0.375rem;\n  padding-left: 0.375rem; }\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n  padding-right: 0.75rem;\n  padding-left: 0.75rem; }\n\n.btn-group-vertical {\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  -webkit-align-items: flex-start;\n          align-items: flex-start;\n  -webkit-justify-content: center;\n          justify-content: center; }\n  .btn-group-vertical > .btn,\n  .btn-group-vertical > .btn-group {\n    width: 100%; }\n  .btn-group-vertical > .btn:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) {\n    margin-top: -1px; }\n  .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n  .btn-group-vertical > .btn-group:not(:last-child) > .btn {\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: 0; }\n  .btn-group-vertical > .btn:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) > .btn {\n    border-top-left-radius: 0;\n    border-top-right-radius: 0; }\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n  margin-bottom: 0; }\n  .btn-group-toggle > .btn input[type="radio"],\n  .btn-group-toggle > .btn input[type="checkbox"],\n  .btn-group-toggle > .btn-group > .btn input[type="radio"],\n  .btn-group-toggle > .btn-group > .btn input[type="checkbox"] {\n    position: absolute;\n    clip: rect(0, 0, 0, 0);\n    pointer-events: none; }\n\n.input-group {\n  position: relative;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  -webkit-align-items: stretch;\n          align-items: stretch;\n  width: 100%; }\n  .input-group > .form-control,\n  .input-group > .form-control-plaintext,\n  .input-group > .custom-select,\n  .input-group > .custom-file {\n    position: relative;\n    -webkit-flex: 1 1 auto;\n            flex: 1 1 auto;\n    width: 1%;\n    margin-bottom: 0; }\n    .input-group > .form-control + .form-control,\n    .input-group > .form-control + .custom-select,\n    .input-group > .form-control + .custom-file,\n    .input-group > .form-control-plaintext + .form-control,\n    .input-group > .form-control-plaintext + .custom-select,\n    .input-group > .form-control-plaintext + .custom-file,\n    .input-group > .custom-select + .form-control,\n    .input-group > .custom-select + .custom-select,\n    .input-group > .custom-select + .custom-file,\n    .input-group > .custom-file + .form-control,\n    .input-group > .custom-file + .custom-select,\n    .input-group > .custom-file + .custom-file {\n      margin-left: -1px; }\n  .input-group > .form-control:focus,\n  .input-group > .custom-select:focus,\n  .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n    z-index: 3; }\n  .input-group > .custom-file .custom-file-input:focus {\n    z-index: 4; }\n  .input-group > .form-control:not(:last-child),\n  .input-group > .custom-select:not(:last-child) {\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0; }\n  .input-group > .form-control:not(:first-child),\n  .input-group > .custom-select:not(:first-child) {\n    border-top-left-radius: 0;\n    border-bottom-left-radius: 0; }\n  .input-group > .custom-file {\n    display: -webkit-flex;\n    display: flex;\n    -webkit-align-items: center;\n            align-items: center; }\n    .input-group > .custom-file:not(:last-child) .custom-file-label,\n    .input-group > .custom-file:not(:last-child) .custom-file-label::after {\n      border-top-right-radius: 0;\n      border-bottom-right-radius: 0; }\n    .input-group > .custom-file:not(:first-child) .custom-file-label {\n      border-top-left-radius: 0;\n      border-bottom-left-radius: 0; }\n\n.input-group-prepend,\n.input-group-append {\n  display: -webkit-flex;\n  display: flex; }\n  .input-group-prepend .btn,\n  .input-group-append .btn {\n    position: relative;\n    z-index: 2; }\n    .input-group-prepend .btn:focus,\n    .input-group-append .btn:focus {\n      z-index: 3; }\n  .input-group-prepend .btn + .btn,\n  .input-group-prepend .btn + .input-group-text,\n  .input-group-prepend .input-group-text + .input-group-text,\n  .input-group-prepend .input-group-text + .btn,\n  .input-group-append .btn + .btn,\n  .input-group-append .btn + .input-group-text,\n  .input-group-append .input-group-text + .input-group-text,\n  .input-group-append .input-group-text + .btn {\n    margin-left: -1px; }\n\n.input-group-prepend {\n  margin-right: -1px; }\n\n.input-group-append {\n  margin-left: -1px; }\n\n.input-group-text {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: center;\n          align-items: center;\n  padding: 0.375rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  text-align: center;\n  white-space: nowrap;\n  background-color: #e9ecef;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem; }\n  .input-group-text input[type="radio"],\n  .input-group-text input[type="checkbox"] {\n    margin-top: 0; }\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n  height: calc(1.5em + 1rem + 2px); }\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem; }\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n  height: calc(1.5em + 0.5rem + 2px); }\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem; }\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n  padding-right: 1.75rem; }\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0; }\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0; }\n\n.custom-control {\n  position: relative;\n  display: block;\n  min-height: 1.5rem;\n  padding-left: 1.5rem; }\n\n.custom-control-inline {\n  display: -webkit-inline-flex;\n  display: inline-flex;\n  margin-right: 1rem; }\n\n.custom-control-input {\n  position: absolute;\n  z-index: -1;\n  opacity: 0; }\n  .custom-control-input:checked ~ .custom-control-label::before {\n    color: #fff;\n    border-color: #0074d9;\n    background-color: #0074d9; }\n  .custom-control-input:focus ~ .custom-control-label::before {\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n  .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n    border-color: #5ab2ff; }\n  .custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n    color: #fff;\n    background-color: #8dcaff;\n    border-color: #8dcaff; }\n  .custom-control-input:disabled ~ .custom-control-label {\n    color: #6c757d; }\n    .custom-control-input:disabled ~ .custom-control-label::before {\n      background-color: #e9ecef; }\n\n.custom-control-label {\n  position: relative;\n  margin-bottom: 0;\n  vertical-align: top; }\n  .custom-control-label::before {\n    position: absolute;\n    top: 0.25rem;\n    left: -1.5rem;\n    display: block;\n    width: 1rem;\n    height: 1rem;\n    pointer-events: none;\n    content: "";\n    background-color: #fff;\n    border: #adb5bd solid 1px; }\n  .custom-control-label::after {\n    position: absolute;\n    top: 0.25rem;\n    left: -1.5rem;\n    display: block;\n    width: 1rem;\n    height: 1rem;\n    content: "";\n    background: no-repeat 50% / 50% 50%; }\n\n.custom-checkbox .custom-control-label::before {\n  border-radius: 0.25rem; }\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n  background-image: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e"); }\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n  border-color: #0074d9;\n  background-color: #0074d9; }\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n  background-image: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 4\'%3e%3cpath stroke=\'%23fff\' d=\'M0 2h4\'/%3e%3c/svg%3e"); }\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 116, 217, 0.5); }\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n  background-color: rgba(0, 116, 217, 0.5); }\n\n.custom-radio .custom-control-label::before {\n  border-radius: 50%; }\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n  background-image: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'-4 -4 8 8\'%3e%3ccircle r=\'3\' fill=\'%23fff\'/%3e%3c/svg%3e"); }\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 116, 217, 0.5); }\n\n.custom-switch {\n  padding-left: 2.25rem; }\n  .custom-switch .custom-control-label::before {\n    left: -2.25rem;\n    width: 1.75rem;\n    pointer-events: all;\n    border-radius: 0.5rem; }\n  .custom-switch .custom-control-label::after {\n    top: calc(0.25rem + 2px);\n    left: calc(-2.25rem + 2px);\n    width: calc(1rem - 4px);\n    height: calc(1rem - 4px);\n    background-color: #adb5bd;\n    border-radius: 0.5rem;\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; }\n    @media (prefers-reduced-motion: reduce) {\n      .custom-switch .custom-control-label::after {\n        transition: none; } }\n  .custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n    background-color: #fff;\n    -webkit-transform: translateX(0.75rem);\n            transform: translateX(0.75rem); }\n  .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n    background-color: rgba(0, 116, 217, 0.5); }\n\n.custom-select {\n  display: inline-block;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  vertical-align: middle;\n  background: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3e%3cpath fill=\'%23343a40\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none; }\n  .custom-select:focus {\n    border-color: #5ab2ff;\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n    .custom-select:focus::-ms-value {\n      color: #495057;\n      background-color: #fff; }\n  .custom-select[multiple], .custom-select[size]:not([size="1"]) {\n    height: auto;\n    padding-right: 0.75rem;\n    background-image: none; }\n  .custom-select:disabled {\n    color: #6c757d;\n    background-color: #e9ecef; }\n  .custom-select::-ms-expand {\n    display: none; }\n\n.custom-select-sm {\n  height: calc(1.5em + 0.5rem + 2px);\n  padding-top: 0.25rem;\n  padding-bottom: 0.25rem;\n  padding-left: 0.5rem;\n  font-size: 0.875rem; }\n\n.custom-select-lg {\n  height: calc(1.5em + 1rem + 2px);\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n  padding-left: 1rem;\n  font-size: 1.25rem; }\n\n.custom-file {\n  position: relative;\n  display: inline-block;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  margin-bottom: 0; }\n\n.custom-file-input {\n  position: relative;\n  z-index: 2;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  margin: 0;\n  opacity: 0; }\n  .custom-file-input:focus ~ .custom-file-label {\n    border-color: #5ab2ff;\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n  .custom-file-input:disabled ~ .custom-file-label {\n    background-color: #e9ecef; }\n  .custom-file-input:lang(en) ~ .custom-file-label::after {\n    content: "Browse"; }\n  .custom-file-input ~ .custom-file-label[data-browse]::after {\n    content: attr(data-browse); }\n\n.custom-file-label {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 0.75rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem; }\n  .custom-file-label::after {\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    z-index: 3;\n    display: block;\n    height: calc(1.5em + 0.75rem);\n    padding: 0.375rem 0.75rem;\n    line-height: 1.5;\n    color: #495057;\n    content: "Browse";\n    background-color: #e9ecef;\n    border-left: inherit;\n    border-radius: 0 0.25rem 0.25rem 0; }\n\n.custom-range {\n  width: 100%;\n  height: calc(1rem + 0.4rem);\n  padding: 0;\n  background-color: transparent;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none; }\n  .custom-range:focus {\n    outline: none; }\n    .custom-range:focus::-webkit-slider-thumb {\n      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n    .custom-range:focus::-moz-range-thumb {\n      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n    .custom-range:focus::-ms-thumb {\n      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n  .custom-range::-moz-focus-outer {\n    border: 0; }\n  .custom-range::-webkit-slider-thumb {\n    width: 1rem;\n    height: 1rem;\n    margin-top: -0.25rem;\n    background-color: #0074d9;\n    border: 0;\n    border-radius: 1rem;\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n    -webkit-appearance: none;\n            appearance: none; }\n    @media (prefers-reduced-motion: reduce) {\n      .custom-range::-webkit-slider-thumb {\n        transition: none; } }\n    .custom-range::-webkit-slider-thumb:active {\n      background-color: #8dcaff; }\n  .custom-range::-webkit-slider-runnable-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: #dee2e6;\n    border-color: transparent;\n    border-radius: 1rem; }\n  .custom-range::-moz-range-thumb {\n    width: 1rem;\n    height: 1rem;\n    background-color: #0074d9;\n    border: 0;\n    border-radius: 1rem;\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n    -moz-appearance: none;\n         appearance: none; }\n    @media (prefers-reduced-motion: reduce) {\n      .custom-range::-moz-range-thumb {\n        transition: none; } }\n    .custom-range::-moz-range-thumb:active {\n      background-color: #8dcaff; }\n  .custom-range::-moz-range-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: #dee2e6;\n    border-color: transparent;\n    border-radius: 1rem; }\n  .custom-range::-ms-thumb {\n    width: 1rem;\n    height: 1rem;\n    margin-top: 0;\n    margin-right: 0.2rem;\n    margin-left: 0.2rem;\n    background-color: #0074d9;\n    border: 0;\n    border-radius: 1rem;\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n    appearance: none; }\n    @media (prefers-reduced-motion: reduce) {\n      .custom-range::-ms-thumb {\n        transition: none; } }\n    .custom-range::-ms-thumb:active {\n      background-color: #8dcaff; }\n  .custom-range::-ms-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: transparent;\n    border-color: transparent;\n    border-width: 0.5rem; }\n  .custom-range::-ms-fill-lower {\n    background-color: #dee2e6;\n    border-radius: 1rem; }\n  .custom-range::-ms-fill-upper {\n    margin-right: 15px;\n    background-color: #dee2e6;\n    border-radius: 1rem; }\n  .custom-range:disabled::-webkit-slider-thumb {\n    background-color: #adb5bd; }\n  .custom-range:disabled::-webkit-slider-runnable-track {\n    cursor: default; }\n  .custom-range:disabled::-moz-range-thumb {\n    background-color: #adb5bd; }\n  .custom-range:disabled::-moz-range-track {\n    cursor: default; }\n  .custom-range:disabled::-ms-thumb {\n    background-color: #adb5bd; }\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n  @media (prefers-reduced-motion: reduce) {\n    .custom-control-label::before,\n    .custom-file-label,\n    .custom-select {\n      transition: none; } }\n\n.nav {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none; }\n\n.nav-link {\n  display: block;\n  padding: 0.5rem 1rem; }\n  .nav-link:hover, .nav-link:focus {\n    text-decoration: none; }\n  .nav-link.disabled {\n    color: #6c757d;\n    pointer-events: none;\n    cursor: default; }\n\n.nav-tabs {\n  border-bottom: 1px solid #dee2e6; }\n  .nav-tabs .nav-item {\n    margin-bottom: -1px; }\n  .nav-tabs .nav-link {\n    border: 1px solid transparent;\n    border-top-left-radius: 0.25rem;\n    border-top-right-radius: 0.25rem; }\n    .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n      border-color: #e9ecef #e9ecef #dee2e6; }\n    .nav-tabs .nav-link.disabled {\n      color: #6c757d;\n      background-color: transparent;\n      border-color: transparent; }\n  .nav-tabs .nav-link.active,\n  .nav-tabs .nav-item.show .nav-link {\n    color: #495057;\n    background-color: #fff;\n    border-color: #dee2e6 #dee2e6 #fff; }\n  .nav-tabs .dropdown-menu {\n    margin-top: -1px;\n    border-top-left-radius: 0;\n    border-top-right-radius: 0; }\n\n.nav-pills .nav-link {\n  border-radius: 0.25rem; }\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n  color: #fff;\n  background-color: #0074d9; }\n\n.nav-fill .nav-item {\n  -webkit-flex: 1 1 auto;\n          flex: 1 1 auto;\n  text-align: center; }\n\n.nav-justified .nav-item {\n  -webkit-flex-basis: 0;\n          flex-basis: 0;\n  -webkit-flex-grow: 1;\n          flex-grow: 1;\n  text-align: center; }\n\n.tab-content > .tab-pane {\n  display: none; }\n\n.tab-content > .active {\n  display: block; }\n\n.navbar {\n  position: relative;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  -webkit-align-items: center;\n          align-items: center;\n  -webkit-justify-content: space-between;\n          justify-content: space-between;\n  padding: 0.5rem 1rem; }\n  .navbar > .container,\n  .navbar > .container-fluid {\n    display: -webkit-flex;\n    display: flex;\n    -webkit-flex-wrap: wrap;\n            flex-wrap: wrap;\n    -webkit-align-items: center;\n            align-items: center;\n    -webkit-justify-content: space-between;\n            justify-content: space-between; }\n\n.navbar-brand {\n  display: inline-block;\n  padding-top: 0.3125rem;\n  padding-bottom: 0.3125rem;\n  margin-right: 1rem;\n  font-size: 1.25rem;\n  line-height: inherit;\n  white-space: nowrap; }\n  .navbar-brand:hover, .navbar-brand:focus {\n    text-decoration: none; }\n\n.navbar-nav {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none; }\n  .navbar-nav .nav-link {\n    padding-right: 0;\n    padding-left: 0; }\n  .navbar-nav .dropdown-menu {\n    position: static;\n    float: none; }\n\n.navbar-text {\n  display: inline-block;\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem; }\n\n.navbar-collapse {\n  -webkit-flex-basis: 100%;\n          flex-basis: 100%;\n  -webkit-flex-grow: 1;\n          flex-grow: 1;\n  -webkit-align-items: center;\n          align-items: center; }\n\n.navbar-toggler {\n  padding: 0.25rem 0.75rem;\n  font-size: 1.25rem;\n  line-height: 1;\n  background-color: transparent;\n  border: 1px solid transparent;\n  border-radius: 0.25rem; }\n  .navbar-toggler:hover, .navbar-toggler:focus {\n    text-decoration: none; }\n\n.navbar-toggler-icon {\n  display: inline-block;\n  width: 1.5em;\n  height: 1.5em;\n  vertical-align: middle;\n  content: "";\n  background: no-repeat center center;\n  background-size: 100% 100%; }\n\n@media (max-width: 575.98px) {\n  .navbar-expand-sm > .container,\n  .navbar-expand-sm > .container-fluid {\n    padding-right: 0;\n    padding-left: 0; } }\n\n@media (min-width: 576px) {\n  .navbar-expand-sm {\n    -webkit-flex-flow: row nowrap;\n            flex-flow: row nowrap;\n    -webkit-justify-content: flex-start;\n            justify-content: flex-start; }\n    .navbar-expand-sm .navbar-nav {\n      -webkit-flex-direction: row;\n              flex-direction: row; }\n      .navbar-expand-sm .navbar-nav .dropdown-menu {\n        position: absolute; }\n      .navbar-expand-sm .navbar-nav .nav-link {\n        padding-right: 0.5rem;\n        padding-left: 0.5rem; }\n    .navbar-expand-sm > .container,\n    .navbar-expand-sm > .container-fluid {\n      -webkit-flex-wrap: nowrap;\n              flex-wrap: nowrap; }\n    .navbar-expand-sm .navbar-collapse {\n      display: -webkit-flex !important;\n      display: flex !important;\n      -webkit-flex-basis: auto;\n              flex-basis: auto; }\n    .navbar-expand-sm .navbar-toggler {\n      display: none; } }\n\n@media (max-width: 767.98px) {\n  .navbar-expand-md > .container,\n  .navbar-expand-md > .container-fluid {\n    padding-right: 0;\n    padding-left: 0; } }\n\n@media (min-width: 768px) {\n  .navbar-expand-md {\n    -webkit-flex-flow: row nowrap;\n            flex-flow: row nowrap;\n    -webkit-justify-content: flex-start;\n            justify-content: flex-start; }\n    .navbar-expand-md .navbar-nav {\n      -webkit-flex-direction: row;\n              flex-direction: row; }\n      .navbar-expand-md .navbar-nav .dropdown-menu {\n        position: absolute; }\n      .navbar-expand-md .navbar-nav .nav-link {\n        padding-right: 0.5rem;\n        padding-left: 0.5rem; }\n    .navbar-expand-md > .container,\n    .navbar-expand-md > .container-fluid {\n      -webkit-flex-wrap: nowrap;\n              flex-wrap: nowrap; }\n    .navbar-expand-md .navbar-collapse {\n      display: -webkit-flex !important;\n      display: flex !important;\n      -webkit-flex-basis: auto;\n              flex-basis: auto; }\n    .navbar-expand-md .navbar-toggler {\n      display: none; } }\n\n@media (max-width: 991.98px) {\n  .navbar-expand-lg > .container,\n  .navbar-expand-lg > .container-fluid {\n    padding-right: 0;\n    padding-left: 0; } }\n\n@media (min-width: 992px) {\n  .navbar-expand-lg {\n    -webkit-flex-flow: row nowrap;\n            flex-flow: row nowrap;\n    -webkit-justify-content: flex-start;\n            justify-content: flex-start; }\n    .navbar-expand-lg .navbar-nav {\n      -webkit-flex-direction: row;\n              flex-direction: row; }\n      .navbar-expand-lg .navbar-nav .dropdown-menu {\n        position: absolute; }\n      .navbar-expand-lg .navbar-nav .nav-link {\n        padding-right: 0.5rem;\n        padding-left: 0.5rem; }\n    .navbar-expand-lg > .container,\n    .navbar-expand-lg > .container-fluid {\n      -webkit-flex-wrap: nowrap;\n              flex-wrap: nowrap; }\n    .navbar-expand-lg .navbar-collapse {\n      display: -webkit-flex !important;\n      display: flex !important;\n      -webkit-flex-basis: auto;\n              flex-basis: auto; }\n    .navbar-expand-lg .navbar-toggler {\n      display: none; } }\n\n@media (max-width: 1199.98px) {\n  .navbar-expand-xl > .container,\n  .navbar-expand-xl > .container-fluid {\n    padding-right: 0;\n    padding-left: 0; } }\n\n@media (min-width: 1200px) {\n  .navbar-expand-xl {\n    -webkit-flex-flow: row nowrap;\n            flex-flow: row nowrap;\n    -webkit-justify-content: flex-start;\n            justify-content: flex-start; }\n    .navbar-expand-xl .navbar-nav {\n      -webkit-flex-direction: row;\n              flex-direction: row; }\n      .navbar-expand-xl .navbar-nav .dropdown-menu {\n        position: absolute; }\n      .navbar-expand-xl .navbar-nav .nav-link {\n        padding-right: 0.5rem;\n        padding-left: 0.5rem; }\n    .navbar-expand-xl > .container,\n    .navbar-expand-xl > .container-fluid {\n      -webkit-flex-wrap: nowrap;\n              flex-wrap: nowrap; }\n    .navbar-expand-xl .navbar-collapse {\n      display: -webkit-flex !important;\n      display: flex !important;\n      -webkit-flex-basis: auto;\n              flex-basis: auto; }\n    .navbar-expand-xl .navbar-toggler {\n      display: none; } }\n\n.navbar-expand {\n  -webkit-flex-flow: row nowrap;\n          flex-flow: row nowrap;\n  -webkit-justify-content: flex-start;\n          justify-content: flex-start; }\n  .navbar-expand > .container,\n  .navbar-expand > .container-fluid {\n    padding-right: 0;\n    padding-left: 0; }\n  .navbar-expand .navbar-nav {\n    -webkit-flex-direction: row;\n            flex-direction: row; }\n    .navbar-expand .navbar-nav .dropdown-menu {\n      position: absolute; }\n    .navbar-expand .navbar-nav .nav-link {\n      padding-right: 0.5rem;\n      padding-left: 0.5rem; }\n  .navbar-expand > .container,\n  .navbar-expand > .container-fluid {\n    -webkit-flex-wrap: nowrap;\n            flex-wrap: nowrap; }\n  .navbar-expand .navbar-collapse {\n    display: -webkit-flex !important;\n    display: flex !important;\n    -webkit-flex-basis: auto;\n            flex-basis: auto; }\n  .navbar-expand .navbar-toggler {\n    display: none; }\n\n.navbar-light .navbar-brand {\n  color: rgba(0, 0, 0, 0.9); }\n  .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n    color: rgba(0, 0, 0, 0.9); }\n\n.navbar-light .navbar-nav .nav-link {\n  color: rgba(0, 0, 0, 0.5); }\n  .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n    color: rgba(0, 0, 0, 0.7); }\n  .navbar-light .navbar-nav .nav-link.disabled {\n    color: rgba(0, 0, 0, 0.3); }\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n  color: rgba(0, 0, 0, 0.9); }\n\n.navbar-light .navbar-toggler {\n  color: rgba(0, 0, 0, 0.5);\n  border-color: rgba(0, 0, 0, 0.1); }\n\n.navbar-light .navbar-toggler-icon {\n  background-image: url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(0, 0, 0, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e"); }\n\n.navbar-light .navbar-text {\n  color: rgba(0, 0, 0, 0.5); }\n  .navbar-light .navbar-text a {\n    color: rgba(0, 0, 0, 0.9); }\n    .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n      color: rgba(0, 0, 0, 0.9); }\n\n.navbar-dark .navbar-brand {\n  color: #fff; }\n  .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n    color: #fff; }\n\n.navbar-dark .navbar-nav .nav-link {\n  color: rgba(255, 255, 255, 0.5); }\n  .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n    color: rgba(255, 255, 255, 0.75); }\n  .navbar-dark .navbar-nav .nav-link.disabled {\n    color: rgba(255, 255, 255, 0.25); }\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n  color: #fff; }\n\n.navbar-dark .navbar-toggler {\n  color: rgba(255, 255, 255, 0.5);\n  border-color: rgba(255, 255, 255, 0.1); }\n\n.navbar-dark .navbar-toggler-icon {\n  background-image: url("data:image/svg+xml,%3csvg viewBox=\'0 0 30 30\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath stroke=\'rgba(255, 255, 255, 0.5)\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' d=\'M4 7h22M4 15h22M4 23h22\'/%3e%3c/svg%3e"); }\n\n.navbar-dark .navbar-text {\n  color: rgba(255, 255, 255, 0.5); }\n  .navbar-dark .navbar-text a {\n    color: #fff; }\n    .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n      color: #fff; }\n\n.card {\n  position: relative;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  min-width: 0;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: border-box;\n  border: 1px solid rgba(0, 0, 0, 0.125);\n  border-radius: 0.25rem; }\n  .card > hr {\n    margin-right: 0;\n    margin-left: 0; }\n  .card > .list-group:first-child .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\n    border-top-right-radius: 0.25rem; }\n  .card > .list-group:last-child .list-group-item:last-child {\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0.25rem; }\n\n.card-body {\n  -webkit-flex: 1 1 auto;\n          flex: 1 1 auto;\n  padding: 1.25rem; }\n\n.card-title {\n  margin-bottom: 0.75rem; }\n\n.card-subtitle {\n  margin-top: -0.375rem;\n  margin-bottom: 0; }\n\n.card-text:last-child {\n  margin-bottom: 0; }\n\n.card-link:hover {\n  text-decoration: none; }\n\n.card-link + .card-link {\n  margin-left: 1.25rem; }\n\n.card-header {\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 0;\n  background-color: rgba(0, 0, 0, 0.03);\n  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }\n  .card-header:first-child {\n    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }\n  .card-header + .list-group .list-group-item:first-child {\n    border-top: 0; }\n\n.card-footer {\n  padding: 0.75rem 1.25rem;\n  background-color: rgba(0, 0, 0, 0.03);\n  border-top: 1px solid rgba(0, 0, 0, 0.125); }\n  .card-footer:last-child {\n    border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }\n\n.card-header-tabs {\n  margin-right: -0.625rem;\n  margin-bottom: -0.75rem;\n  margin-left: -0.625rem;\n  border-bottom: 0; }\n\n.card-header-pills {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem; }\n\n.card-img-overlay {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: 1.25rem; }\n\n.card-img {\n  width: 100%;\n  border-radius: calc(0.25rem - 1px); }\n\n.card-img-top {\n  width: 100%;\n  border-top-left-radius: calc(0.25rem - 1px);\n  border-top-right-radius: calc(0.25rem - 1px); }\n\n.card-img-bottom {\n  width: 100%;\n  border-bottom-right-radius: calc(0.25rem - 1px);\n  border-bottom-left-radius: calc(0.25rem - 1px); }\n\n.card-deck {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column; }\n  .card-deck .card {\n    margin-bottom: 15px; }\n  @media (min-width: 576px) {\n    .card-deck {\n      -webkit-flex-flow: row wrap;\n              flex-flow: row wrap;\n      margin-right: -15px;\n      margin-left: -15px; }\n      .card-deck .card {\n        display: -webkit-flex;\n        display: flex;\n        -webkit-flex: 1 0 0%;\n                flex: 1 0 0%;\n        -webkit-flex-direction: column;\n                flex-direction: column;\n        margin-right: 15px;\n        margin-bottom: 0;\n        margin-left: 15px; } }\n\n.card-group {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column; }\n  .card-group > .card {\n    margin-bottom: 15px; }\n  @media (min-width: 576px) {\n    .card-group {\n      -webkit-flex-flow: row wrap;\n              flex-flow: row wrap; }\n      .card-group > .card {\n        -webkit-flex: 1 0 0%;\n                flex: 1 0 0%;\n        margin-bottom: 0; }\n        .card-group > .card + .card {\n          margin-left: 0;\n          border-left: 0; }\n        .card-group > .card:not(:last-child) {\n          border-top-right-radius: 0;\n          border-bottom-right-radius: 0; }\n          .card-group > .card:not(:last-child) .card-img-top,\n          .card-group > .card:not(:last-child) .card-header {\n            border-top-right-radius: 0; }\n          .card-group > .card:not(:last-child) .card-img-bottom,\n          .card-group > .card:not(:last-child) .card-footer {\n            border-bottom-right-radius: 0; }\n        .card-group > .card:not(:first-child) {\n          border-top-left-radius: 0;\n          border-bottom-left-radius: 0; }\n          .card-group > .card:not(:first-child) .card-img-top,\n          .card-group > .card:not(:first-child) .card-header {\n            border-top-left-radius: 0; }\n          .card-group > .card:not(:first-child) .card-img-bottom,\n          .card-group > .card:not(:first-child) .card-footer {\n            border-bottom-left-radius: 0; } }\n\n.card-columns .card {\n  margin-bottom: 0.75rem; }\n\n@media (min-width: 576px) {\n  .card-columns {\n    -webkit-column-count: 3;\n            column-count: 3;\n    -webkit-column-gap: 1.25rem;\n            column-gap: 1.25rem;\n    orphans: 1;\n    widows: 1; }\n    .card-columns .card {\n      display: inline-block;\n      width: 100%; } }\n\n.accordion > .card {\n  overflow: hidden; }\n  .accordion > .card:not(:first-of-type) .card-header:first-child {\n    border-radius: 0; }\n  .accordion > .card:not(:first-of-type):not(:last-of-type) {\n    border-bottom: 0;\n    border-radius: 0; }\n  .accordion > .card:first-of-type {\n    border-bottom: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: 0; }\n  .accordion > .card:last-of-type {\n    border-top-left-radius: 0;\n    border-top-right-radius: 0; }\n  .accordion > .card .card-header {\n    margin-bottom: -1px; }\n\n.breadcrumb {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  padding: 0.75rem 1rem;\n  margin-bottom: 1rem;\n  list-style: none;\n  background-color: #e9ecef;\n  border-radius: 0.25rem; }\n\n.breadcrumb-item + .breadcrumb-item {\n  padding-left: 0.5rem; }\n  .breadcrumb-item + .breadcrumb-item::before {\n    display: inline-block;\n    padding-right: 0.5rem;\n    color: #6c757d;\n    content: "/"; }\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n  text-decoration: underline; }\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n  text-decoration: none; }\n\n.breadcrumb-item.active {\n  color: #6c757d; }\n\n.pagination {\n  display: -webkit-flex;\n  display: flex;\n  padding-left: 0;\n  list-style: none;\n  border-radius: 0.25rem; }\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: 0.5rem 0.75rem;\n  margin-left: -1px;\n  line-height: 1.25;\n  color: #0074d9;\n  background-color: #fff;\n  border: 1px solid #dee2e6; }\n  .page-link:hover {\n    z-index: 2;\n    color: #004b8d;\n    text-decoration: none;\n    background-color: #e9ecef;\n    border-color: #dee2e6; }\n  .page-link:focus {\n    z-index: 2;\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.25); }\n\n.page-item:first-child .page-link {\n  margin-left: 0;\n  border-top-left-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem; }\n\n.page-item:last-child .page-link {\n  border-top-right-radius: 0.25rem;\n  border-bottom-right-radius: 0.25rem; }\n\n.page-item.active .page-link {\n  z-index: 1;\n  color: #fff;\n  background-color: #0074d9;\n  border-color: #0074d9; }\n\n.page-item.disabled .page-link {\n  color: #6c757d;\n  pointer-events: none;\n  cursor: auto;\n  background-color: #fff;\n  border-color: #dee2e6; }\n\n.pagination-lg .page-link {\n  padding: 0.75rem 1.5rem;\n  font-size: 1.25rem;\n  line-height: 1.5; }\n\n.pagination-lg .page-item:first-child .page-link {\n  border-top-left-radius: 0.3rem;\n  border-bottom-left-radius: 0.3rem; }\n\n.pagination-lg .page-item:last-child .page-link {\n  border-top-right-radius: 0.3rem;\n  border-bottom-right-radius: 0.3rem; }\n\n.pagination-sm .page-link {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5; }\n\n.pagination-sm .page-item:first-child .page-link {\n  border-top-left-radius: 0.2rem;\n  border-bottom-left-radius: 0.2rem; }\n\n.pagination-sm .page-item:last-child .page-link {\n  border-top-right-radius: 0.2rem;\n  border-bottom-right-radius: 0.2rem; }\n\n.badge {\n  display: inline-block;\n  padding: 0.25em 0.4em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: 0.25rem;\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n  @media (prefers-reduced-motion: reduce) {\n    .badge {\n      transition: none; } }\n  a.badge:hover, a.badge:focus {\n    text-decoration: none; }\n  .badge:empty {\n    display: none; }\n\n.btn .badge {\n  position: relative;\n  top: -1px; }\n\n.badge-pill {\n  padding-right: 0.6em;\n  padding-left: 0.6em;\n  border-radius: 10rem; }\n\n.badge-primary {\n  color: #fff;\n  background-color: #0074d9; }\n  a.badge-primary:hover, a.badge-primary:focus {\n    color: #fff;\n    background-color: #0059a6; }\n  a.badge-primary:focus, a.badge-primary.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.5); }\n\n.badge-secondary {\n  color: #fff;\n  background-color: #6c757d; }\n  a.badge-secondary:hover, a.badge-secondary:focus {\n    color: #fff;\n    background-color: #545b62; }\n  a.badge-secondary:focus, a.badge-secondary.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }\n\n.badge-success {\n  color: #fff;\n  background-color: #28a745; }\n  a.badge-success:hover, a.badge-success:focus {\n    color: #fff;\n    background-color: #1e7e34; }\n  a.badge-success:focus, a.badge-success.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\n\n.badge-info {\n  color: #fff;\n  background-color: #17a2b8; }\n  a.badge-info:hover, a.badge-info:focus {\n    color: #fff;\n    background-color: #117a8b; }\n  a.badge-info:focus, a.badge-info.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\n\n.badge-warning {\n  color: #212529;\n  background-color: #ffc107; }\n  a.badge-warning:hover, a.badge-warning:focus {\n    color: #212529;\n    background-color: #d39e00; }\n  a.badge-warning:focus, a.badge-warning.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }\n\n.badge-danger {\n  color: #fff;\n  background-color: #ff4136; }\n  a.badge-danger:hover, a.badge-danger:focus {\n    color: #fff;\n    background-color: #ff1103; }\n  a.badge-danger:focus, a.badge-danger.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(255, 65, 54, 0.5); }\n\n.badge-light {\n  color: #212529;\n  background-color: #f8f9fa; }\n  a.badge-light:hover, a.badge-light:focus {\n    color: #212529;\n    background-color: #dae0e5; }\n  a.badge-light:focus, a.badge-light.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n\n.badge-dark {\n  color: #fff;\n  background-color: #343a40; }\n  a.badge-dark:hover, a.badge-dark:focus {\n    color: #fff;\n    background-color: #1d2124; }\n  a.badge-dark:focus, a.badge-dark.focus {\n    outline: 0;\n    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n\n.jumbotron {\n  padding: 2rem 1rem;\n  margin-bottom: 2rem;\n  background-color: #e9ecef;\n  border-radius: 0.3rem; }\n  @media (min-width: 576px) {\n    .jumbotron {\n      padding: 4rem 2rem; } }\n\n.jumbotron-fluid {\n  padding-right: 0;\n  padding-left: 0;\n  border-radius: 0; }\n\n.alert {\n  position: relative;\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 1rem;\n  border: 1px solid transparent;\n  border-radius: 0.25rem; }\n\n.alert-heading {\n  color: inherit; }\n\n.alert-link {\n  font-weight: 700; }\n\n.alert-dismissible {\n  padding-right: 4rem; }\n  .alert-dismissible .close {\n    position: absolute;\n    top: 0;\n    right: 0;\n    padding: 0.75rem 1.25rem;\n    color: inherit; }\n\n.alert-primary {\n  color: #003c71;\n  background-color: #cce3f7;\n  border-color: #b8d8f4; }\n  .alert-primary hr {\n    border-top-color: #a2ccf1; }\n  .alert-primary .alert-link {\n    color: #00213e; }\n\n.alert-secondary {\n  color: #383d41;\n  background-color: #e2e3e5;\n  border-color: #d6d8db; }\n  .alert-secondary hr {\n    border-top-color: #c8cbcf; }\n  .alert-secondary .alert-link {\n    color: #202326; }\n\n.alert-success {\n  color: #155724;\n  background-color: #d4edda;\n  border-color: #c3e6cb; }\n  .alert-success hr {\n    border-top-color: #b1dfbb; }\n  .alert-success .alert-link {\n    color: #0b2e13; }\n\n.alert-info {\n  color: #0c5460;\n  background-color: #d1ecf1;\n  border-color: #bee5eb; }\n  .alert-info hr {\n    border-top-color: #abdde5; }\n  .alert-info .alert-link {\n    color: #062c33; }\n\n.alert-warning {\n  color: #856404;\n  background-color: #fff3cd;\n  border-color: #ffeeba; }\n  .alert-warning hr {\n    border-top-color: #ffe8a1; }\n  .alert-warning .alert-link {\n    color: #533f03; }\n\n.alert-danger {\n  color: #85221c;\n  background-color: #ffd9d7;\n  border-color: #ffcac7; }\n  .alert-danger hr {\n    border-top-color: #ffb2ae; }\n  .alert-danger .alert-link {\n    color: #5b1713; }\n\n.alert-light {\n  color: #818182;\n  background-color: #fefefe;\n  border-color: #fdfdfe; }\n  .alert-light hr {\n    border-top-color: #ececf6; }\n  .alert-light .alert-link {\n    color: #686868; }\n\n.alert-dark {\n  color: #1b1e21;\n  background-color: #d6d8d9;\n  border-color: #c6c8ca; }\n  .alert-dark hr {\n    border-top-color: #b9bbbe; }\n  .alert-dark .alert-link {\n    color: #040505; }\n\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 1rem 0; }\n  to {\n    background-position: 0 0; } }\n\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 1rem 0; }\n  to {\n    background-position: 0 0; } }\n\n.progress {\n  display: -webkit-flex;\n  display: flex;\n  height: 1rem;\n  overflow: hidden;\n  font-size: 0.75rem;\n  background-color: #e9ecef;\n  border-radius: 0.25rem; }\n\n.progress-bar {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  -webkit-justify-content: center;\n          justify-content: center;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  background-color: #0074d9;\n  transition: width 0.6s ease; }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar {\n      transition: none; } }\n\n.progress-bar-striped {\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 1rem 1rem; }\n\n.progress-bar-animated {\n  -webkit-animation: progress-bar-stripes 1s linear infinite;\n          animation: progress-bar-stripes 1s linear infinite; }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar-animated {\n      -webkit-animation: none;\n              animation: none; } }\n\n.media {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: flex-start;\n          align-items: flex-start; }\n\n.media-body {\n  -webkit-flex: 1;\n          flex: 1; }\n\n.list-group {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0; }\n\n.list-group-item-action {\n  width: 100%;\n  color: #495057;\n  text-align: inherit; }\n  .list-group-item-action:hover, .list-group-item-action:focus {\n    z-index: 1;\n    color: #495057;\n    text-decoration: none;\n    background-color: #f8f9fa; }\n  .list-group-item-action:active {\n    color: #212529;\n    background-color: #e9ecef; }\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 0.75rem 1.25rem;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid rgba(0, 0, 0, 0.125); }\n  .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\n    border-top-right-radius: 0.25rem; }\n  .list-group-item:last-child {\n    margin-bottom: 0;\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0.25rem; }\n  .list-group-item.disabled, .list-group-item:disabled {\n    color: #6c757d;\n    pointer-events: none;\n    background-color: #fff; }\n  .list-group-item.active {\n    z-index: 2;\n    color: #fff;\n    background-color: #0074d9;\n    border-color: #0074d9; }\n\n.list-group-horizontal {\n  -webkit-flex-direction: row;\n          flex-direction: row; }\n  .list-group-horizontal .list-group-item {\n    margin-right: -1px;\n    margin-bottom: 0; }\n    .list-group-horizontal .list-group-item:first-child {\n      border-top-left-radius: 0.25rem;\n      border-bottom-left-radius: 0.25rem;\n      border-top-right-radius: 0; }\n    .list-group-horizontal .list-group-item:last-child {\n      margin-right: 0;\n      border-top-right-radius: 0.25rem;\n      border-bottom-right-radius: 0.25rem;\n      border-bottom-left-radius: 0; }\n\n@media (min-width: 576px) {\n  .list-group-horizontal-sm {\n    -webkit-flex-direction: row;\n            flex-direction: row; }\n    .list-group-horizontal-sm .list-group-item {\n      margin-right: -1px;\n      margin-bottom: 0; }\n      .list-group-horizontal-sm .list-group-item:first-child {\n        border-top-left-radius: 0.25rem;\n        border-bottom-left-radius: 0.25rem;\n        border-top-right-radius: 0; }\n      .list-group-horizontal-sm .list-group-item:last-child {\n        margin-right: 0;\n        border-top-right-radius: 0.25rem;\n        border-bottom-right-radius: 0.25rem;\n        border-bottom-left-radius: 0; } }\n\n@media (min-width: 768px) {\n  .list-group-horizontal-md {\n    -webkit-flex-direction: row;\n            flex-direction: row; }\n    .list-group-horizontal-md .list-group-item {\n      margin-right: -1px;\n      margin-bottom: 0; }\n      .list-group-horizontal-md .list-group-item:first-child {\n        border-top-left-radius: 0.25rem;\n        border-bottom-left-radius: 0.25rem;\n        border-top-right-radius: 0; }\n      .list-group-horizontal-md .list-group-item:last-child {\n        margin-right: 0;\n        border-top-right-radius: 0.25rem;\n        border-bottom-right-radius: 0.25rem;\n        border-bottom-left-radius: 0; } }\n\n@media (min-width: 992px) {\n  .list-group-horizontal-lg {\n    -webkit-flex-direction: row;\n            flex-direction: row; }\n    .list-group-horizontal-lg .list-group-item {\n      margin-right: -1px;\n      margin-bottom: 0; }\n      .list-group-horizontal-lg .list-group-item:first-child {\n        border-top-left-radius: 0.25rem;\n        border-bottom-left-radius: 0.25rem;\n        border-top-right-radius: 0; }\n      .list-group-horizontal-lg .list-group-item:last-child {\n        margin-right: 0;\n        border-top-right-radius: 0.25rem;\n        border-bottom-right-radius: 0.25rem;\n        border-bottom-left-radius: 0; } }\n\n@media (min-width: 1200px) {\n  .list-group-horizontal-xl {\n    -webkit-flex-direction: row;\n            flex-direction: row; }\n    .list-group-horizontal-xl .list-group-item {\n      margin-right: -1px;\n      margin-bottom: 0; }\n      .list-group-horizontal-xl .list-group-item:first-child {\n        border-top-left-radius: 0.25rem;\n        border-bottom-left-radius: 0.25rem;\n        border-top-right-radius: 0; }\n      .list-group-horizontal-xl .list-group-item:last-child {\n        margin-right: 0;\n        border-top-right-radius: 0.25rem;\n        border-bottom-right-radius: 0.25rem;\n        border-bottom-left-radius: 0; } }\n\n.list-group-flush .list-group-item {\n  border-right: 0;\n  border-left: 0;\n  border-radius: 0; }\n  .list-group-flush .list-group-item:last-child {\n    margin-bottom: -1px; }\n\n.list-group-flush:first-child .list-group-item:first-child {\n  border-top: 0; }\n\n.list-group-flush:last-child .list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom: 0; }\n\n.list-group-item-primary {\n  color: #003c71;\n  background-color: #b8d8f4; }\n  .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n    color: #003c71;\n    background-color: #a2ccf1; }\n  .list-group-item-primary.list-group-item-action.active {\n    color: #fff;\n    background-color: #003c71;\n    border-color: #003c71; }\n\n.list-group-item-secondary {\n  color: #383d41;\n  background-color: #d6d8db; }\n  .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n    color: #383d41;\n    background-color: #c8cbcf; }\n  .list-group-item-secondary.list-group-item-action.active {\n    color: #fff;\n    background-color: #383d41;\n    border-color: #383d41; }\n\n.list-group-item-success {\n  color: #155724;\n  background-color: #c3e6cb; }\n  .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n    color: #155724;\n    background-color: #b1dfbb; }\n  .list-group-item-success.list-group-item-action.active {\n    color: #fff;\n    background-color: #155724;\n    border-color: #155724; }\n\n.list-group-item-info {\n  color: #0c5460;\n  background-color: #bee5eb; }\n  .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n    color: #0c5460;\n    background-color: #abdde5; }\n  .list-group-item-info.list-group-item-action.active {\n    color: #fff;\n    background-color: #0c5460;\n    border-color: #0c5460; }\n\n.list-group-item-warning {\n  color: #856404;\n  background-color: #ffeeba; }\n  .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n    color: #856404;\n    background-color: #ffe8a1; }\n  .list-group-item-warning.list-group-item-action.active {\n    color: #fff;\n    background-color: #856404;\n    border-color: #856404; }\n\n.list-group-item-danger {\n  color: #85221c;\n  background-color: #ffcac7; }\n  .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n    color: #85221c;\n    background-color: #ffb2ae; }\n  .list-group-item-danger.list-group-item-action.active {\n    color: #fff;\n    background-color: #85221c;\n    border-color: #85221c; }\n\n.list-group-item-light {\n  color: #818182;\n  background-color: #fdfdfe; }\n  .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n    color: #818182;\n    background-color: #ececf6; }\n  .list-group-item-light.list-group-item-action.active {\n    color: #fff;\n    background-color: #818182;\n    border-color: #818182; }\n\n.list-group-item-dark {\n  color: #1b1e21;\n  background-color: #c6c8ca; }\n  .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n    color: #1b1e21;\n    background-color: #b9bbbe; }\n  .list-group-item-dark.list-group-item-action.active {\n    color: #fff;\n    background-color: #1b1e21;\n    border-color: #1b1e21; }\n\n.close {\n  float: right;\n  font-size: 1.5rem;\n  font-weight: 700;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: .5; }\n  .close:hover {\n    color: #000;\n    text-decoration: none; }\n  .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n    opacity: .75; }\n\nbutton.close {\n  padding: 0;\n  background-color: transparent;\n  border: 0;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none; }\n\na.close.disabled {\n  pointer-events: none; }\n\n.toast {\n  max-width: 350px;\n  overflow: hidden;\n  font-size: 0.875rem;\n  background-color: rgba(255, 255, 255, 0.85);\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.1);\n  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n  -webkit-backdrop-filter: blur(10px);\n          backdrop-filter: blur(10px);\n  opacity: 0;\n  border-radius: 0.25rem; }\n  .toast:not(:last-child) {\n    margin-bottom: 0.75rem; }\n  .toast.showing {\n    opacity: 1; }\n  .toast.show {\n    display: block;\n    opacity: 1; }\n  .toast.hide {\n    display: none; }\n\n.toast-header {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: center;\n          align-items: center;\n  padding: 0.25rem 0.75rem;\n  color: #6c757d;\n  background-color: rgba(255, 255, 255, 0.85);\n  background-clip: padding-box;\n  border-bottom: 1px solid rgba(0, 0, 0, 0.05); }\n\n.toast-body {\n  padding: 0.75rem; }\n\n.modal-open {\n  overflow: hidden; }\n  .modal-open .modal {\n    overflow-x: hidden;\n    overflow-y: auto; }\n\n.modal {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 1050;\n  display: none;\n  width: 100%;\n  height: 100%;\n  overflow: hidden;\n  outline: 0; }\n\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 0.5rem;\n  pointer-events: none; }\n  .modal.fade .modal-dialog {\n    transition: -webkit-transform 0.3s ease-out;\n    transition: transform 0.3s ease-out;\n    transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n    -webkit-transform: translate(0, -50px);\n            transform: translate(0, -50px); }\n    @media (prefers-reduced-motion: reduce) {\n      .modal.fade .modal-dialog {\n        transition: none; } }\n  .modal.show .modal-dialog {\n    -webkit-transform: none;\n            transform: none; }\n\n.modal-dialog-scrollable {\n  display: -webkit-flex;\n  display: flex;\n  max-height: calc(100% - 1rem); }\n  .modal-dialog-scrollable .modal-content {\n    max-height: calc(100vh - 1rem);\n    overflow: hidden; }\n  .modal-dialog-scrollable .modal-header,\n  .modal-dialog-scrollable .modal-footer {\n    -webkit-flex-shrink: 0;\n            flex-shrink: 0; }\n  .modal-dialog-scrollable .modal-body {\n    overflow-y: auto; }\n\n.modal-dialog-centered {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: center;\n          align-items: center;\n  min-height: calc(100% - 1rem); }\n  .modal-dialog-centered::before {\n    display: block;\n    height: calc(100vh - 1rem);\n    content: ""; }\n  .modal-dialog-centered.modal-dialog-scrollable {\n    -webkit-flex-direction: column;\n            flex-direction: column;\n    -webkit-justify-content: center;\n            justify-content: center;\n    height: 100%; }\n    .modal-dialog-centered.modal-dialog-scrollable .modal-content {\n      max-height: none; }\n    .modal-dialog-centered.modal-dialog-scrollable::before {\n      content: none; }\n\n.modal-content {\n  position: relative;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  width: 100%;\n  pointer-events: auto;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0.3rem;\n  outline: 0; }\n\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 1040;\n  width: 100vw;\n  height: 100vh;\n  background-color: #000; }\n  .modal-backdrop.fade {\n    opacity: 0; }\n  .modal-backdrop.show {\n    opacity: 0.5; }\n\n.modal-header {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: flex-start;\n          align-items: flex-start;\n  -webkit-justify-content: space-between;\n          justify-content: space-between;\n  padding: 1rem 1rem;\n  border-bottom: 1px solid #dee2e6;\n  border-top-left-radius: 0.3rem;\n  border-top-right-radius: 0.3rem; }\n  .modal-header .close {\n    padding: 1rem 1rem;\n    margin: -1rem -1rem -1rem auto; }\n\n.modal-title {\n  margin-bottom: 0;\n  line-height: 1.5; }\n\n.modal-body {\n  position: relative;\n  -webkit-flex: 1 1 auto;\n          flex: 1 1 auto;\n  padding: 1rem; }\n\n.modal-footer {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: center;\n          align-items: center;\n  -webkit-justify-content: flex-end;\n          justify-content: flex-end;\n  padding: 1rem;\n  border-top: 1px solid #dee2e6;\n  border-bottom-right-radius: 0.3rem;\n  border-bottom-left-radius: 0.3rem; }\n  .modal-footer > :not(:first-child) {\n    margin-left: .25rem; }\n  .modal-footer > :not(:last-child) {\n    margin-right: .25rem; }\n\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll; }\n\n@media (min-width: 576px) {\n  .modal-dialog {\n    max-width: 500px;\n    margin: 1.75rem auto; }\n  .modal-dialog-scrollable {\n    max-height: calc(100% - 3.5rem); }\n    .modal-dialog-scrollable .modal-content {\n      max-height: calc(100vh - 3.5rem); }\n  .modal-dialog-centered {\n    min-height: calc(100% - 3.5rem); }\n    .modal-dialog-centered::before {\n      height: calc(100vh - 3.5rem); }\n  .modal-sm {\n    max-width: 300px; } }\n\n@media (min-width: 992px) {\n  .modal-lg,\n  .modal-xl {\n    max-width: 800px; } }\n\n@media (min-width: 1200px) {\n  .modal-xl {\n    max-width: 1140px; } }\n\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  opacity: 0; }\n  .tooltip.show {\n    opacity: 0.9; }\n  .tooltip .arrow {\n    position: absolute;\n    display: block;\n    width: 0.8rem;\n    height: 0.4rem; }\n    .tooltip .arrow::before {\n      position: absolute;\n      content: "";\n      border-color: transparent;\n      border-style: solid; }\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {\n  padding: 0.4rem 0; }\n  .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {\n    bottom: 0; }\n    .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {\n      top: 0;\n      border-width: 0.4rem 0.4rem 0;\n      border-top-color: #000; }\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {\n  padding: 0 0.4rem; }\n  .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow {\n    left: 0;\n    width: 0.4rem;\n    height: 0.8rem; }\n    .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {\n      right: 0;\n      border-width: 0.4rem 0.4rem 0.4rem 0;\n      border-right-color: #000; }\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {\n  padding: 0.4rem 0; }\n  .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow {\n    top: 0; }\n    .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {\n      bottom: 0;\n      border-width: 0 0.4rem 0.4rem;\n      border-bottom-color: #000; }\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {\n  padding: 0 0.4rem; }\n  .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {\n    right: 0;\n    width: 0.4rem;\n    height: 0.8rem; }\n    .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {\n      left: 0;\n      border-width: 0.4rem 0 0.4rem 0.4rem;\n      border-left-color: #000; }\n\n.tooltip-inner {\n  max-width: 200px;\n  padding: 0.25rem 0.5rem;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 0.25rem; }\n\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: block;\n  max-width: 276px;\n  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0.3rem; }\n  .popover .arrow {\n    position: absolute;\n    display: block;\n    width: 1rem;\n    height: 0.5rem;\n    margin: 0 0.3rem; }\n    .popover .arrow::before, .popover .arrow::after {\n      position: absolute;\n      display: block;\n      content: "";\n      border-color: transparent;\n      border-style: solid; }\n\n.bs-popover-top, .bs-popover-auto[x-placement^="top"] {\n  margin-bottom: 0.5rem; }\n  .bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow {\n    bottom: calc((0.5rem + 1px) * -1); }\n    .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before {\n      bottom: 0;\n      border-width: 0.5rem 0.5rem 0;\n      border-top-color: rgba(0, 0, 0, 0.25); }\n    .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after {\n      bottom: 1px;\n      border-width: 0.5rem 0.5rem 0;\n      border-top-color: #fff; }\n\n.bs-popover-right, .bs-popover-auto[x-placement^="right"] {\n  margin-left: 0.5rem; }\n  .bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow {\n    left: calc((0.5rem + 1px) * -1);\n    width: 0.5rem;\n    height: 1rem;\n    margin: 0.3rem 0; }\n    .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before {\n      left: 0;\n      border-width: 0.5rem 0.5rem 0.5rem 0;\n      border-right-color: rgba(0, 0, 0, 0.25); }\n    .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after {\n      left: 1px;\n      border-width: 0.5rem 0.5rem 0.5rem 0;\n      border-right-color: #fff; }\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {\n  margin-top: 0.5rem; }\n  .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow {\n    top: calc((0.5rem + 1px) * -1); }\n    .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before {\n      top: 0;\n      border-width: 0 0.5rem 0.5rem 0.5rem;\n      border-bottom-color: rgba(0, 0, 0, 0.25); }\n    .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after {\n      top: 1px;\n      border-width: 0 0.5rem 0.5rem 0.5rem;\n      border-bottom-color: #fff; }\n  .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    display: block;\n    width: 1rem;\n    margin-left: -0.5rem;\n    content: "";\n    border-bottom: 1px solid #f7f7f7; }\n\n.bs-popover-left, .bs-popover-auto[x-placement^="left"] {\n  margin-right: 0.5rem; }\n  .bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow {\n    right: calc((0.5rem + 1px) * -1);\n    width: 0.5rem;\n    height: 1rem;\n    margin: 0.3rem 0; }\n    .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before {\n      right: 0;\n      border-width: 0.5rem 0 0.5rem 0.5rem;\n      border-left-color: rgba(0, 0, 0, 0.25); }\n    .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after {\n      right: 1px;\n      border-width: 0.5rem 0 0.5rem 0.5rem;\n      border-left-color: #fff; }\n\n.popover-header {\n  padding: 0.5rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-top-left-radius: calc(0.3rem - 1px);\n  border-top-right-radius: calc(0.3rem - 1px); }\n  .popover-header:empty {\n    display: none; }\n\n.popover-body {\n  padding: 0.5rem 0.75rem;\n  color: #212529; }\n\n.carousel {\n  position: relative; }\n\n.carousel.pointer-event {\n  touch-action: pan-y; }\n\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden; }\n  .carousel-inner::after {\n    display: block;\n    clear: both;\n    content: ""; }\n\n.carousel-item {\n  position: relative;\n  display: none;\n  float: left;\n  width: 100%;\n  margin-right: -100%;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  transition: -webkit-transform 0.6s ease-in-out;\n  transition: transform 0.6s ease-in-out;\n  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-item {\n      transition: none; } }\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n  display: block; }\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n  -webkit-transform: translateX(100%);\n          transform: translateX(100%); }\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n  -webkit-transform: translateX(-100%);\n          transform: translateX(-100%); }\n\n.carousel-fade .carousel-item {\n  opacity: 0;\n  transition-property: opacity;\n  -webkit-transform: none;\n          transform: none; }\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n  z-index: 1;\n  opacity: 1; }\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n  z-index: 0;\n  opacity: 0;\n  transition: 0s 0.6s opacity; }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-fade .active.carousel-item-left,\n    .carousel-fade .active.carousel-item-right {\n      transition: none; } }\n\n.carousel-control-prev,\n.carousel-control-next {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  z-index: 1;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: center;\n          align-items: center;\n  -webkit-justify-content: center;\n          justify-content: center;\n  width: 15%;\n  color: #fff;\n  text-align: center;\n  opacity: 0.5;\n  transition: opacity 0.15s ease; }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-control-prev,\n    .carousel-control-next {\n      transition: none; } }\n  .carousel-control-prev:hover, .carousel-control-prev:focus,\n  .carousel-control-next:hover,\n  .carousel-control-next:focus {\n    color: #fff;\n    text-decoration: none;\n    outline: 0;\n    opacity: 0.9; }\n\n.carousel-control-prev {\n  left: 0; }\n\n.carousel-control-next {\n  right: 0; }\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n  display: inline-block;\n  width: 20px;\n  height: 20px;\n  background: no-repeat 50% / 100% 100%; }\n\n.carousel-control-prev-icon {\n  background-image: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z\'/%3e%3c/svg%3e"); }\n\n.carousel-control-next-icon {\n  background-image: url("data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23fff\' viewBox=\'0 0 8 8\'%3e%3cpath d=\'M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z\'/%3e%3c/svg%3e"); }\n\n.carousel-indicators {\n  position: absolute;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 15;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n          justify-content: center;\n  padding-left: 0;\n  margin-right: 15%;\n  margin-left: 15%;\n  list-style: none; }\n  .carousel-indicators li {\n    box-sizing: content-box;\n    -webkit-flex: 0 1 auto;\n            flex: 0 1 auto;\n    width: 30px;\n    height: 3px;\n    margin-right: 3px;\n    margin-left: 3px;\n    text-indent: -999px;\n    cursor: pointer;\n    background-color: #fff;\n    background-clip: padding-box;\n    border-top: 10px solid transparent;\n    border-bottom: 10px solid transparent;\n    opacity: .5;\n    transition: opacity 0.6s ease; }\n    @media (prefers-reduced-motion: reduce) {\n      .carousel-indicators li {\n        transition: none; } }\n  .carousel-indicators .active {\n    opacity: 1; }\n\n.carousel-caption {\n  position: absolute;\n  right: 15%;\n  bottom: 20px;\n  left: 15%;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center; }\n\n@-webkit-keyframes spinner-border {\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg); } }\n\n@keyframes spinner-border {\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg); } }\n\n.spinner-border {\n  display: inline-block;\n  width: 2rem;\n  height: 2rem;\n  vertical-align: text-bottom;\n  border: 0.25em solid currentColor;\n  border-right-color: transparent;\n  border-radius: 50%;\n  -webkit-animation: spinner-border .75s linear infinite;\n          animation: spinner-border .75s linear infinite; }\n\n.spinner-border-sm {\n  width: 1rem;\n  height: 1rem;\n  border-width: 0.2em; }\n\n@-webkit-keyframes spinner-grow {\n  0% {\n    -webkit-transform: scale(0);\n            transform: scale(0); }\n  50% {\n    opacity: 1; } }\n\n@keyframes spinner-grow {\n  0% {\n    -webkit-transform: scale(0);\n            transform: scale(0); }\n  50% {\n    opacity: 1; } }\n\n.spinner-grow {\n  display: inline-block;\n  width: 2rem;\n  height: 2rem;\n  vertical-align: text-bottom;\n  background-color: currentColor;\n  border-radius: 50%;\n  opacity: 0;\n  -webkit-animation: spinner-grow .75s linear infinite;\n          animation: spinner-grow .75s linear infinite; }\n\n.spinner-grow-sm {\n  width: 1rem;\n  height: 1rem; }\n\n.align-baseline {\n  vertical-align: baseline !important; }\n\n.align-top {\n  vertical-align: top !important; }\n\n.align-middle {\n  vertical-align: middle !important; }\n\n.align-bottom {\n  vertical-align: bottom !important; }\n\n.align-text-bottom {\n  vertical-align: text-bottom !important; }\n\n.align-text-top {\n  vertical-align: text-top !important; }\n\n.bg-primary {\n  background-color: #0074d9 !important; }\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n  background-color: #0059a6 !important; }\n\n.bg-secondary {\n  background-color: #6c757d !important; }\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n  background-color: #545b62 !important; }\n\n.bg-success {\n  background-color: #28a745 !important; }\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n  background-color: #1e7e34 !important; }\n\n.bg-info {\n  background-color: #17a2b8 !important; }\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n  background-color: #117a8b !important; }\n\n.bg-warning {\n  background-color: #ffc107 !important; }\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n  background-color: #d39e00 !important; }\n\n.bg-danger {\n  background-color: #ff4136 !important; }\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n  background-color: #ff1103 !important; }\n\n.bg-light {\n  background-color: #f8f9fa !important; }\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n  background-color: #dae0e5 !important; }\n\n.bg-dark {\n  background-color: #343a40 !important; }\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n  background-color: #1d2124 !important; }\n\n.bg-white {\n  background-color: #fff !important; }\n\n.bg-transparent {\n  background-color: transparent !important; }\n\n.border {\n  border: 1px solid #dee2e6 !important; }\n\n.border-top {\n  border-top: 1px solid #dee2e6 !important; }\n\n.border-right {\n  border-right: 1px solid #dee2e6 !important; }\n\n.border-bottom {\n  border-bottom: 1px solid #dee2e6 !important; }\n\n.border-left {\n  border-left: 1px solid #dee2e6 !important; }\n\n.border-0 {\n  border: 0 !important; }\n\n.border-top-0 {\n  border-top: 0 !important; }\n\n.border-right-0 {\n  border-right: 0 !important; }\n\n.border-bottom-0 {\n  border-bottom: 0 !important; }\n\n.border-left-0 {\n  border-left: 0 !important; }\n\n.border-primary {\n  border-color: #0074d9 !important; }\n\n.border-secondary {\n  border-color: #6c757d !important; }\n\n.border-success {\n  border-color: #28a745 !important; }\n\n.border-info {\n  border-color: #17a2b8 !important; }\n\n.border-warning {\n  border-color: #ffc107 !important; }\n\n.border-danger {\n  border-color: #ff4136 !important; }\n\n.border-light {\n  border-color: #f8f9fa !important; }\n\n.border-dark {\n  border-color: #343a40 !important; }\n\n.border-white {\n  border-color: #fff !important; }\n\n.rounded-sm {\n  border-radius: 0.2rem !important; }\n\n.rounded {\n  border-radius: 0.25rem !important; }\n\n.rounded-top {\n  border-top-left-radius: 0.25rem !important;\n  border-top-right-radius: 0.25rem !important; }\n\n.rounded-right {\n  border-top-right-radius: 0.25rem !important;\n  border-bottom-right-radius: 0.25rem !important; }\n\n.rounded-bottom {\n  border-bottom-right-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important; }\n\n.rounded-left {\n  border-top-left-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important; }\n\n.rounded-lg {\n  border-radius: 0.3rem !important; }\n\n.rounded-circle {\n  border-radius: 50% !important; }\n\n.rounded-pill {\n  border-radius: 50rem !important; }\n\n.rounded-0 {\n  border-radius: 0 !important; }\n\n.clearfix::after {\n  display: block;\n  clear: both;\n  content: ""; }\n\n.d-none {\n  display: none !important; }\n\n.d-inline {\n  display: inline !important; }\n\n.d-inline-block {\n  display: inline-block !important; }\n\n.d-block {\n  display: block !important; }\n\n.d-table {\n  display: table !important; }\n\n.d-table-row {\n  display: table-row !important; }\n\n.d-table-cell {\n  display: table-cell !important; }\n\n.d-flex {\n  display: -webkit-flex !important;\n  display: flex !important; }\n\n.d-inline-flex {\n  display: -webkit-inline-flex !important;\n  display: inline-flex !important; }\n\n@media (min-width: 576px) {\n  .d-sm-none {\n    display: none !important; }\n  .d-sm-inline {\n    display: inline !important; }\n  .d-sm-inline-block {\n    display: inline-block !important; }\n  .d-sm-block {\n    display: block !important; }\n  .d-sm-table {\n    display: table !important; }\n  .d-sm-table-row {\n    display: table-row !important; }\n  .d-sm-table-cell {\n    display: table-cell !important; }\n  .d-sm-flex {\n    display: -webkit-flex !important;\n    display: flex !important; }\n  .d-sm-inline-flex {\n    display: -webkit-inline-flex !important;\n    display: inline-flex !important; } }\n\n@media (min-width: 768px) {\n  .d-md-none {\n    display: none !important; }\n  .d-md-inline {\n    display: inline !important; }\n  .d-md-inline-block {\n    display: inline-block !important; }\n  .d-md-block {\n    display: block !important; }\n  .d-md-table {\n    display: table !important; }\n  .d-md-table-row {\n    display: table-row !important; }\n  .d-md-table-cell {\n    display: table-cell !important; }\n  .d-md-flex {\n    display: -webkit-flex !important;\n    display: flex !important; }\n  .d-md-inline-flex {\n    display: -webkit-inline-flex !important;\n    display: inline-flex !important; } }\n\n@media (min-width: 992px) {\n  .d-lg-none {\n    display: none !important; }\n  .d-lg-inline {\n    display: inline !important; }\n  .d-lg-inline-block {\n    display: inline-block !important; }\n  .d-lg-block {\n    display: block !important; }\n  .d-lg-table {\n    display: table !important; }\n  .d-lg-table-row {\n    display: table-row !important; }\n  .d-lg-table-cell {\n    display: table-cell !important; }\n  .d-lg-flex {\n    display: -webkit-flex !important;\n    display: flex !important; }\n  .d-lg-inline-flex {\n    display: -webkit-inline-flex !important;\n    display: inline-flex !important; } }\n\n@media (min-width: 1200px) {\n  .d-xl-none {\n    display: none !important; }\n  .d-xl-inline {\n    display: inline !important; }\n  .d-xl-inline-block {\n    display: inline-block !important; }\n  .d-xl-block {\n    display: block !important; }\n  .d-xl-table {\n    display: table !important; }\n  .d-xl-table-row {\n    display: table-row !important; }\n  .d-xl-table-cell {\n    display: table-cell !important; }\n  .d-xl-flex {\n    display: -webkit-flex !important;\n    display: flex !important; }\n  .d-xl-inline-flex {\n    display: -webkit-inline-flex !important;\n    display: inline-flex !important; } }\n\n@media print {\n  .d-print-none {\n    display: none !important; }\n  .d-print-inline {\n    display: inline !important; }\n  .d-print-inline-block {\n    display: inline-block !important; }\n  .d-print-block {\n    display: block !important; }\n  .d-print-table {\n    display: table !important; }\n  .d-print-table-row {\n    display: table-row !important; }\n  .d-print-table-cell {\n    display: table-cell !important; }\n  .d-print-flex {\n    display: -webkit-flex !important;\n    display: flex !important; }\n  .d-print-inline-flex {\n    display: -webkit-inline-flex !important;\n    display: inline-flex !important; } }\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  width: 100%;\n  padding: 0;\n  overflow: hidden; }\n  .embed-responsive::before {\n    display: block;\n    content: ""; }\n  .embed-responsive .embed-responsive-item,\n  .embed-responsive iframe,\n  .embed-responsive embed,\n  .embed-responsive object,\n  .embed-responsive video {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    border: 0; }\n\n.embed-responsive-21by9::before {\n  padding-top: 42.85714%; }\n\n.embed-responsive-16by9::before {\n  padding-top: 56.25%; }\n\n.embed-responsive-4by3::before {\n  padding-top: 75%; }\n\n.embed-responsive-1by1::before {\n  padding-top: 100%; }\n\n.flex-row {\n  -webkit-flex-direction: row !important;\n          flex-direction: row !important; }\n\n.flex-column {\n  -webkit-flex-direction: column !important;\n          flex-direction: column !important; }\n\n.flex-row-reverse {\n  -webkit-flex-direction: row-reverse !important;\n          flex-direction: row-reverse !important; }\n\n.flex-column-reverse {\n  -webkit-flex-direction: column-reverse !important;\n          flex-direction: column-reverse !important; }\n\n.flex-wrap {\n  -webkit-flex-wrap: wrap !important;\n          flex-wrap: wrap !important; }\n\n.flex-nowrap {\n  -webkit-flex-wrap: nowrap !important;\n          flex-wrap: nowrap !important; }\n\n.flex-wrap-reverse {\n  -webkit-flex-wrap: wrap-reverse !important;\n          flex-wrap: wrap-reverse !important; }\n\n.flex-fill {\n  -webkit-flex: 1 1 auto !important;\n          flex: 1 1 auto !important; }\n\n.flex-grow-0 {\n  -webkit-flex-grow: 0 !important;\n          flex-grow: 0 !important; }\n\n.flex-grow-1 {\n  -webkit-flex-grow: 1 !important;\n          flex-grow: 1 !important; }\n\n.flex-shrink-0 {\n  -webkit-flex-shrink: 0 !important;\n          flex-shrink: 0 !important; }\n\n.flex-shrink-1 {\n  -webkit-flex-shrink: 1 !important;\n          flex-shrink: 1 !important; }\n\n.justify-content-start {\n  -webkit-justify-content: flex-start !important;\n          justify-content: flex-start !important; }\n\n.justify-content-end {\n  -webkit-justify-content: flex-end !important;\n          justify-content: flex-end !important; }\n\n.justify-content-center {\n  -webkit-justify-content: center !important;\n          justify-content: center !important; }\n\n.justify-content-between {\n  -webkit-justify-content: space-between !important;\n          justify-content: space-between !important; }\n\n.justify-content-around {\n  -webkit-justify-content: space-around !important;\n          justify-content: space-around !important; }\n\n.align-items-start {\n  -webkit-align-items: flex-start !important;\n          align-items: flex-start !important; }\n\n.align-items-end {\n  -webkit-align-items: flex-end !important;\n          align-items: flex-end !important; }\n\n.align-items-center {\n  -webkit-align-items: center !important;\n          align-items: center !important; }\n\n.align-items-baseline {\n  -webkit-align-items: baseline !important;\n          align-items: baseline !important; }\n\n.align-items-stretch {\n  -webkit-align-items: stretch !important;\n          align-items: stretch !important; }\n\n.align-content-start {\n  -webkit-align-content: flex-start !important;\n          align-content: flex-start !important; }\n\n.align-content-end {\n  -webkit-align-content: flex-end !important;\n          align-content: flex-end !important; }\n\n.align-content-center {\n  -webkit-align-content: center !important;\n          align-content: center !important; }\n\n.align-content-between {\n  -webkit-align-content: space-between !important;\n          align-content: space-between !important; }\n\n.align-content-around {\n  -webkit-align-content: space-around !important;\n          align-content: space-around !important; }\n\n.align-content-stretch {\n  -webkit-align-content: stretch !important;\n          align-content: stretch !important; }\n\n.align-self-auto {\n  -webkit-align-self: auto !important;\n          align-self: auto !important; }\n\n.align-self-start {\n  -webkit-align-self: flex-start !important;\n          align-self: flex-start !important; }\n\n.align-self-end {\n  -webkit-align-self: flex-end !important;\n          align-self: flex-end !important; }\n\n.align-self-center {\n  -webkit-align-self: center !important;\n          align-self: center !important; }\n\n.align-self-baseline {\n  -webkit-align-self: baseline !important;\n          align-self: baseline !important; }\n\n.align-self-stretch {\n  -webkit-align-self: stretch !important;\n          align-self: stretch !important; }\n\n@media (min-width: 576px) {\n  .flex-sm-row {\n    -webkit-flex-direction: row !important;\n            flex-direction: row !important; }\n  .flex-sm-column {\n    -webkit-flex-direction: column !important;\n            flex-direction: column !important; }\n  .flex-sm-row-reverse {\n    -webkit-flex-direction: row-reverse !important;\n            flex-direction: row-reverse !important; }\n  .flex-sm-column-reverse {\n    -webkit-flex-direction: column-reverse !important;\n            flex-direction: column-reverse !important; }\n  .flex-sm-wrap {\n    -webkit-flex-wrap: wrap !important;\n            flex-wrap: wrap !important; }\n  .flex-sm-nowrap {\n    -webkit-flex-wrap: nowrap !important;\n            flex-wrap: nowrap !important; }\n  .flex-sm-wrap-reverse {\n    -webkit-flex-wrap: wrap-reverse !important;\n            flex-wrap: wrap-reverse !important; }\n  .flex-sm-fill {\n    -webkit-flex: 1 1 auto !important;\n            flex: 1 1 auto !important; }\n  .flex-sm-grow-0 {\n    -webkit-flex-grow: 0 !important;\n            flex-grow: 0 !important; }\n  .flex-sm-grow-1 {\n    -webkit-flex-grow: 1 !important;\n            flex-grow: 1 !important; }\n  .flex-sm-shrink-0 {\n    -webkit-flex-shrink: 0 !important;\n            flex-shrink: 0 !important; }\n  .flex-sm-shrink-1 {\n    -webkit-flex-shrink: 1 !important;\n            flex-shrink: 1 !important; }\n  .justify-content-sm-start {\n    -webkit-justify-content: flex-start !important;\n            justify-content: flex-start !important; }\n  .justify-content-sm-end {\n    -webkit-justify-content: flex-end !important;\n            justify-content: flex-end !important; }\n  .justify-content-sm-center {\n    -webkit-justify-content: center !important;\n            justify-content: center !important; }\n  .justify-content-sm-between {\n    -webkit-justify-content: space-between !important;\n            justify-content: space-between !important; }\n  .justify-content-sm-around {\n    -webkit-justify-content: space-around !important;\n            justify-content: space-around !important; }\n  .align-items-sm-start {\n    -webkit-align-items: flex-start !important;\n            align-items: flex-start !important; }\n  .align-items-sm-end {\n    -webkit-align-items: flex-end !important;\n            align-items: flex-end !important; }\n  .align-items-sm-center {\n    -webkit-align-items: center !important;\n            align-items: center !important; }\n  .align-items-sm-baseline {\n    -webkit-align-items: baseline !important;\n            align-items: baseline !important; }\n  .align-items-sm-stretch {\n    -webkit-align-items: stretch !important;\n            align-items: stretch !important; }\n  .align-content-sm-start {\n    -webkit-align-content: flex-start !important;\n            align-content: flex-start !important; }\n  .align-content-sm-end {\n    -webkit-align-content: flex-end !important;\n            align-content: flex-end !important; }\n  .align-content-sm-center {\n    -webkit-align-content: center !important;\n            align-content: center !important; }\n  .align-content-sm-between {\n    -webkit-align-content: space-between !important;\n            align-content: space-between !important; }\n  .align-content-sm-around {\n    -webkit-align-content: space-around !important;\n            align-content: space-around !important; }\n  .align-content-sm-stretch {\n    -webkit-align-content: stretch !important;\n            align-content: stretch !important; }\n  .align-self-sm-auto {\n    -webkit-align-self: auto !important;\n            align-self: auto !important; }\n  .align-self-sm-start {\n    -webkit-align-self: flex-start !important;\n            align-self: flex-start !important; }\n  .align-self-sm-end {\n    -webkit-align-self: flex-end !important;\n            align-self: flex-end !important; }\n  .align-self-sm-center {\n    -webkit-align-self: center !important;\n            align-self: center !important; }\n  .align-self-sm-baseline {\n    -webkit-align-self: baseline !important;\n            align-self: baseline !important; }\n  .align-self-sm-stretch {\n    -webkit-align-self: stretch !important;\n            align-self: stretch !important; } }\n\n@media (min-width: 768px) {\n  .flex-md-row {\n    -webkit-flex-direction: row !important;\n            flex-direction: row !important; }\n  .flex-md-column {\n    -webkit-flex-direction: column !important;\n            flex-direction: column !important; }\n  .flex-md-row-reverse {\n    -webkit-flex-direction: row-reverse !important;\n            flex-direction: row-reverse !important; }\n  .flex-md-column-reverse {\n    -webkit-flex-direction: column-reverse !important;\n            flex-direction: column-reverse !important; }\n  .flex-md-wrap {\n    -webkit-flex-wrap: wrap !important;\n            flex-wrap: wrap !important; }\n  .flex-md-nowrap {\n    -webkit-flex-wrap: nowrap !important;\n            flex-wrap: nowrap !important; }\n  .flex-md-wrap-reverse {\n    -webkit-flex-wrap: wrap-reverse !important;\n            flex-wrap: wrap-reverse !important; }\n  .flex-md-fill {\n    -webkit-flex: 1 1 auto !important;\n            flex: 1 1 auto !important; }\n  .flex-md-grow-0 {\n    -webkit-flex-grow: 0 !important;\n            flex-grow: 0 !important; }\n  .flex-md-grow-1 {\n    -webkit-flex-grow: 1 !important;\n            flex-grow: 1 !important; }\n  .flex-md-shrink-0 {\n    -webkit-flex-shrink: 0 !important;\n            flex-shrink: 0 !important; }\n  .flex-md-shrink-1 {\n    -webkit-flex-shrink: 1 !important;\n            flex-shrink: 1 !important; }\n  .justify-content-md-start {\n    -webkit-justify-content: flex-start !important;\n            justify-content: flex-start !important; }\n  .justify-content-md-end {\n    -webkit-justify-content: flex-end !important;\n            justify-content: flex-end !important; }\n  .justify-content-md-center {\n    -webkit-justify-content: center !important;\n            justify-content: center !important; }\n  .justify-content-md-between {\n    -webkit-justify-content: space-between !important;\n            justify-content: space-between !important; }\n  .justify-content-md-around {\n    -webkit-justify-content: space-around !important;\n            justify-content: space-around !important; }\n  .align-items-md-start {\n    -webkit-align-items: flex-start !important;\n            align-items: flex-start !important; }\n  .align-items-md-end {\n    -webkit-align-items: flex-end !important;\n            align-items: flex-end !important; }\n  .align-items-md-center {\n    -webkit-align-items: center !important;\n            align-items: center !important; }\n  .align-items-md-baseline {\n    -webkit-align-items: baseline !important;\n            align-items: baseline !important; }\n  .align-items-md-stretch {\n    -webkit-align-items: stretch !important;\n            align-items: stretch !important; }\n  .align-content-md-start {\n    -webkit-align-content: flex-start !important;\n            align-content: flex-start !important; }\n  .align-content-md-end {\n    -webkit-align-content: flex-end !important;\n            align-content: flex-end !important; }\n  .align-content-md-center {\n    -webkit-align-content: center !important;\n            align-content: center !important; }\n  .align-content-md-between {\n    -webkit-align-content: space-between !important;\n            align-content: space-between !important; }\n  .align-content-md-around {\n    -webkit-align-content: space-around !important;\n            align-content: space-around !important; }\n  .align-content-md-stretch {\n    -webkit-align-content: stretch !important;\n            align-content: stretch !important; }\n  .align-self-md-auto {\n    -webkit-align-self: auto !important;\n            align-self: auto !important; }\n  .align-self-md-start {\n    -webkit-align-self: flex-start !important;\n            align-self: flex-start !important; }\n  .align-self-md-end {\n    -webkit-align-self: flex-end !important;\n            align-self: flex-end !important; }\n  .align-self-md-center {\n    -webkit-align-self: center !important;\n            align-self: center !important; }\n  .align-self-md-baseline {\n    -webkit-align-self: baseline !important;\n            align-self: baseline !important; }\n  .align-self-md-stretch {\n    -webkit-align-self: stretch !important;\n            align-self: stretch !important; } }\n\n@media (min-width: 992px) {\n  .flex-lg-row {\n    -webkit-flex-direction: row !important;\n            flex-direction: row !important; }\n  .flex-lg-column {\n    -webkit-flex-direction: column !important;\n            flex-direction: column !important; }\n  .flex-lg-row-reverse {\n    -webkit-flex-direction: row-reverse !important;\n            flex-direction: row-reverse !important; }\n  .flex-lg-column-reverse {\n    -webkit-flex-direction: column-reverse !important;\n            flex-direction: column-reverse !important; }\n  .flex-lg-wrap {\n    -webkit-flex-wrap: wrap !important;\n            flex-wrap: wrap !important; }\n  .flex-lg-nowrap {\n    -webkit-flex-wrap: nowrap !important;\n            flex-wrap: nowrap !important; }\n  .flex-lg-wrap-reverse {\n    -webkit-flex-wrap: wrap-reverse !important;\n            flex-wrap: wrap-reverse !important; }\n  .flex-lg-fill {\n    -webkit-flex: 1 1 auto !important;\n            flex: 1 1 auto !important; }\n  .flex-lg-grow-0 {\n    -webkit-flex-grow: 0 !important;\n            flex-grow: 0 !important; }\n  .flex-lg-grow-1 {\n    -webkit-flex-grow: 1 !important;\n            flex-grow: 1 !important; }\n  .flex-lg-shrink-0 {\n    -webkit-flex-shrink: 0 !important;\n            flex-shrink: 0 !important; }\n  .flex-lg-shrink-1 {\n    -webkit-flex-shrink: 1 !important;\n            flex-shrink: 1 !important; }\n  .justify-content-lg-start {\n    -webkit-justify-content: flex-start !important;\n            justify-content: flex-start !important; }\n  .justify-content-lg-end {\n    -webkit-justify-content: flex-end !important;\n            justify-content: flex-end !important; }\n  .justify-content-lg-center {\n    -webkit-justify-content: center !important;\n            justify-content: center !important; }\n  .justify-content-lg-between {\n    -webkit-justify-content: space-between !important;\n            justify-content: space-between !important; }\n  .justify-content-lg-around {\n    -webkit-justify-content: space-around !important;\n            justify-content: space-around !important; }\n  .align-items-lg-start {\n    -webkit-align-items: flex-start !important;\n            align-items: flex-start !important; }\n  .align-items-lg-end {\n    -webkit-align-items: flex-end !important;\n            align-items: flex-end !important; }\n  .align-items-lg-center {\n    -webkit-align-items: center !important;\n            align-items: center !important; }\n  .align-items-lg-baseline {\n    -webkit-align-items: baseline !important;\n            align-items: baseline !important; }\n  .align-items-lg-stretch {\n    -webkit-align-items: stretch !important;\n            align-items: stretch !important; }\n  .align-content-lg-start {\n    -webkit-align-content: flex-start !important;\n            align-content: flex-start !important; }\n  .align-content-lg-end {\n    -webkit-align-content: flex-end !important;\n            align-content: flex-end !important; }\n  .align-content-lg-center {\n    -webkit-align-content: center !important;\n            align-content: center !important; }\n  .align-content-lg-between {\n    -webkit-align-content: space-between !important;\n            align-content: space-between !important; }\n  .align-content-lg-around {\n    -webkit-align-content: space-around !important;\n            align-content: space-around !important; }\n  .align-content-lg-stretch {\n    -webkit-align-content: stretch !important;\n            align-content: stretch !important; }\n  .align-self-lg-auto {\n    -webkit-align-self: auto !important;\n            align-self: auto !important; }\n  .align-self-lg-start {\n    -webkit-align-self: flex-start !important;\n            align-self: flex-start !important; }\n  .align-self-lg-end {\n    -webkit-align-self: flex-end !important;\n            align-self: flex-end !important; }\n  .align-self-lg-center {\n    -webkit-align-self: center !important;\n            align-self: center !important; }\n  .align-self-lg-baseline {\n    -webkit-align-self: baseline !important;\n            align-self: baseline !important; }\n  .align-self-lg-stretch {\n    -webkit-align-self: stretch !important;\n            align-self: stretch !important; } }\n\n@media (min-width: 1200px) {\n  .flex-xl-row {\n    -webkit-flex-direction: row !important;\n            flex-direction: row !important; }\n  .flex-xl-column {\n    -webkit-flex-direction: column !important;\n            flex-direction: column !important; }\n  .flex-xl-row-reverse {\n    -webkit-flex-direction: row-reverse !important;\n            flex-direction: row-reverse !important; }\n  .flex-xl-column-reverse {\n    -webkit-flex-direction: column-reverse !important;\n            flex-direction: column-reverse !important; }\n  .flex-xl-wrap {\n    -webkit-flex-wrap: wrap !important;\n            flex-wrap: wrap !important; }\n  .flex-xl-nowrap {\n    -webkit-flex-wrap: nowrap !important;\n            flex-wrap: nowrap !important; }\n  .flex-xl-wrap-reverse {\n    -webkit-flex-wrap: wrap-reverse !important;\n            flex-wrap: wrap-reverse !important; }\n  .flex-xl-fill {\n    -webkit-flex: 1 1 auto !important;\n            flex: 1 1 auto !important; }\n  .flex-xl-grow-0 {\n    -webkit-flex-grow: 0 !important;\n            flex-grow: 0 !important; }\n  .flex-xl-grow-1 {\n    -webkit-flex-grow: 1 !important;\n            flex-grow: 1 !important; }\n  .flex-xl-shrink-0 {\n    -webkit-flex-shrink: 0 !important;\n            flex-shrink: 0 !important; }\n  .flex-xl-shrink-1 {\n    -webkit-flex-shrink: 1 !important;\n            flex-shrink: 1 !important; }\n  .justify-content-xl-start {\n    -webkit-justify-content: flex-start !important;\n            justify-content: flex-start !important; }\n  .justify-content-xl-end {\n    -webkit-justify-content: flex-end !important;\n            justify-content: flex-end !important; }\n  .justify-content-xl-center {\n    -webkit-justify-content: center !important;\n            justify-content: center !important; }\n  .justify-content-xl-between {\n    -webkit-justify-content: space-between !important;\n            justify-content: space-between !important; }\n  .justify-content-xl-around {\n    -webkit-justify-content: space-around !important;\n            justify-content: space-around !important; }\n  .align-items-xl-start {\n    -webkit-align-items: flex-start !important;\n            align-items: flex-start !important; }\n  .align-items-xl-end {\n    -webkit-align-items: flex-end !important;\n            align-items: flex-end !important; }\n  .align-items-xl-center {\n    -webkit-align-items: center !important;\n            align-items: center !important; }\n  .align-items-xl-baseline {\n    -webkit-align-items: baseline !important;\n            align-items: baseline !important; }\n  .align-items-xl-stretch {\n    -webkit-align-items: stretch !important;\n            align-items: stretch !important; }\n  .align-content-xl-start {\n    -webkit-align-content: flex-start !important;\n            align-content: flex-start !important; }\n  .align-content-xl-end {\n    -webkit-align-content: flex-end !important;\n            align-content: flex-end !important; }\n  .align-content-xl-center {\n    -webkit-align-content: center !important;\n            align-content: center !important; }\n  .align-content-xl-between {\n    -webkit-align-content: space-between !important;\n            align-content: space-between !important; }\n  .align-content-xl-around {\n    -webkit-align-content: space-around !important;\n            align-content: space-around !important; }\n  .align-content-xl-stretch {\n    -webkit-align-content: stretch !important;\n            align-content: stretch !important; }\n  .align-self-xl-auto {\n    -webkit-align-self: auto !important;\n            align-self: auto !important; }\n  .align-self-xl-start {\n    -webkit-align-self: flex-start !important;\n            align-self: flex-start !important; }\n  .align-self-xl-end {\n    -webkit-align-self: flex-end !important;\n            align-self: flex-end !important; }\n  .align-self-xl-center {\n    -webkit-align-self: center !important;\n            align-self: center !important; }\n  .align-self-xl-baseline {\n    -webkit-align-self: baseline !important;\n            align-self: baseline !important; }\n  .align-self-xl-stretch {\n    -webkit-align-self: stretch !important;\n            align-self: stretch !important; } }\n\n.float-left {\n  float: left !important; }\n\n.float-right {\n  float: right !important; }\n\n.float-none {\n  float: none !important; }\n\n@media (min-width: 576px) {\n  .float-sm-left {\n    float: left !important; }\n  .float-sm-right {\n    float: right !important; }\n  .float-sm-none {\n    float: none !important; } }\n\n@media (min-width: 768px) {\n  .float-md-left {\n    float: left !important; }\n  .float-md-right {\n    float: right !important; }\n  .float-md-none {\n    float: none !important; } }\n\n@media (min-width: 992px) {\n  .float-lg-left {\n    float: left !important; }\n  .float-lg-right {\n    float: right !important; }\n  .float-lg-none {\n    float: none !important; } }\n\n@media (min-width: 1200px) {\n  .float-xl-left {\n    float: left !important; }\n  .float-xl-right {\n    float: right !important; }\n  .float-xl-none {\n    float: none !important; } }\n\n.overflow-auto {\n  overflow: auto !important; }\n\n.overflow-hidden {\n  overflow: hidden !important; }\n\n.position-static {\n  position: static !important; }\n\n.position-relative {\n  position: relative !important; }\n\n.position-absolute {\n  position: absolute !important; }\n\n.position-fixed {\n  position: fixed !important; }\n\n.position-sticky {\n  position: -webkit-sticky !important;\n  position: sticky !important; }\n\n.fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1030; }\n\n.fixed-bottom {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1030; }\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n  .sticky-top {\n    position: -webkit-sticky;\n    position: sticky;\n    top: 0;\n    z-index: 1020; } }\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal; }\n\n.shadow-sm {\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; }\n\n.shadow {\n  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }\n\n.shadow-lg {\n  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; }\n\n.shadow-none {\n  box-shadow: none !important; }\n\n.w-25 {\n  width: 25% !important; }\n\n.w-50 {\n  width: 50% !important; }\n\n.w-75 {\n  width: 75% !important; }\n\n.w-100 {\n  width: 100% !important; }\n\n.w-auto {\n  width: auto !important; }\n\n.h-25 {\n  height: 25% !important; }\n\n.h-50 {\n  height: 50% !important; }\n\n.h-75 {\n  height: 75% !important; }\n\n.h-100 {\n  height: 100% !important; }\n\n.h-auto {\n  height: auto !important; }\n\n.mw-100 {\n  max-width: 100% !important; }\n\n.mh-100 {\n  max-height: 100% !important; }\n\n.min-vw-100 {\n  min-width: 100vw !important; }\n\n.min-vh-100 {\n  min-height: 100vh !important; }\n\n.vw-100 {\n  width: 100vw !important; }\n\n.vh-100 {\n  height: 100vh !important; }\n\n.stretched-link::after {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1;\n  pointer-events: auto;\n  content: "";\n  background-color: rgba(0, 0, 0, 0); }\n\n.m-0 {\n  margin: 0 !important; }\n\n.mt-0,\n.my-0 {\n  margin-top: 0 !important; }\n\n.mr-0,\n.mx-0 {\n  margin-right: 0 !important; }\n\n.mb-0,\n.my-0 {\n  margin-bottom: 0 !important; }\n\n.ml-0,\n.mx-0 {\n  margin-left: 0 !important; }\n\n.m-1 {\n  margin: 0.25rem !important; }\n\n.mt-1,\n.my-1 {\n  margin-top: 0.25rem !important; }\n\n.mr-1,\n.mx-1 {\n  margin-right: 0.25rem !important; }\n\n.mb-1,\n.my-1 {\n  margin-bottom: 0.25rem !important; }\n\n.ml-1,\n.mx-1 {\n  margin-left: 0.25rem !important; }\n\n.m-2 {\n  margin: 0.5rem !important; }\n\n.mt-2,\n.my-2 {\n  margin-top: 0.5rem !important; }\n\n.mr-2,\n.mx-2 {\n  margin-right: 0.5rem !important; }\n\n.mb-2,\n.my-2 {\n  margin-bottom: 0.5rem !important; }\n\n.ml-2,\n.mx-2 {\n  margin-left: 0.5rem !important; }\n\n.m-3 {\n  margin: 1rem !important; }\n\n.mt-3,\n.my-3 {\n  margin-top: 1rem !important; }\n\n.mr-3,\n.mx-3 {\n  margin-right: 1rem !important; }\n\n.mb-3,\n.my-3 {\n  margin-bottom: 1rem !important; }\n\n.ml-3,\n.mx-3 {\n  margin-left: 1rem !important; }\n\n.m-4 {\n  margin: 1.5rem !important; }\n\n.mt-4,\n.my-4 {\n  margin-top: 1.5rem !important; }\n\n.mr-4,\n.mx-4 {\n  margin-right: 1.5rem !important; }\n\n.mb-4,\n.my-4 {\n  margin-bottom: 1.5rem !important; }\n\n.ml-4,\n.mx-4 {\n  margin-left: 1.5rem !important; }\n\n.m-5 {\n  margin: 3rem !important; }\n\n.mt-5,\n.my-5 {\n  margin-top: 3rem !important; }\n\n.mr-5,\n.mx-5 {\n  margin-right: 3rem !important; }\n\n.mb-5,\n.my-5 {\n  margin-bottom: 3rem !important; }\n\n.ml-5,\n.mx-5 {\n  margin-left: 3rem !important; }\n\n.p-0 {\n  padding: 0 !important; }\n\n.pt-0,\n.py-0 {\n  padding-top: 0 !important; }\n\n.pr-0,\n.px-0 {\n  padding-right: 0 !important; }\n\n.pb-0,\n.py-0 {\n  padding-bottom: 0 !important; }\n\n.pl-0,\n.px-0 {\n  padding-left: 0 !important; }\n\n.p-1 {\n  padding: 0.25rem !important; }\n\n.pt-1,\n.py-1 {\n  padding-top: 0.25rem !important; }\n\n.pr-1,\n.px-1 {\n  padding-right: 0.25rem !important; }\n\n.pb-1,\n.py-1 {\n  padding-bottom: 0.25rem !important; }\n\n.pl-1,\n.px-1 {\n  padding-left: 0.25rem !important; }\n\n.p-2 {\n  padding: 0.5rem !important; }\n\n.pt-2,\n.py-2 {\n  padding-top: 0.5rem !important; }\n\n.pr-2,\n.px-2 {\n  padding-right: 0.5rem !important; }\n\n.pb-2,\n.py-2 {\n  padding-bottom: 0.5rem !important; }\n\n.pl-2,\n.px-2 {\n  padding-left: 0.5rem !important; }\n\n.p-3 {\n  padding: 1rem !important; }\n\n.pt-3,\n.py-3 {\n  padding-top: 1rem !important; }\n\n.pr-3,\n.px-3 {\n  padding-right: 1rem !important; }\n\n.pb-3,\n.py-3 {\n  padding-bottom: 1rem !important; }\n\n.pl-3,\n.px-3 {\n  padding-left: 1rem !important; }\n\n.p-4 {\n  padding: 1.5rem !important; }\n\n.pt-4,\n.py-4 {\n  padding-top: 1.5rem !important; }\n\n.pr-4,\n.px-4 {\n  padding-right: 1.5rem !important; }\n\n.pb-4,\n.py-4 {\n  padding-bottom: 1.5rem !important; }\n\n.pl-4,\n.px-4 {\n  padding-left: 1.5rem !important; }\n\n.p-5 {\n  padding: 3rem !important; }\n\n.pt-5,\n.py-5 {\n  padding-top: 3rem !important; }\n\n.pr-5,\n.px-5 {\n  padding-right: 3rem !important; }\n\n.pb-5,\n.py-5 {\n  padding-bottom: 3rem !important; }\n\n.pl-5,\n.px-5 {\n  padding-left: 3rem !important; }\n\n.m-n1 {\n  margin: -0.25rem !important; }\n\n.mt-n1,\n.my-n1 {\n  margin-top: -0.25rem !important; }\n\n.mr-n1,\n.mx-n1 {\n  margin-right: -0.25rem !important; }\n\n.mb-n1,\n.my-n1 {\n  margin-bottom: -0.25rem !important; }\n\n.ml-n1,\n.mx-n1 {\n  margin-left: -0.25rem !important; }\n\n.m-n2 {\n  margin: -0.5rem !important; }\n\n.mt-n2,\n.my-n2 {\n  margin-top: -0.5rem !important; }\n\n.mr-n2,\n.mx-n2 {\n  margin-right: -0.5rem !important; }\n\n.mb-n2,\n.my-n2 {\n  margin-bottom: -0.5rem !important; }\n\n.ml-n2,\n.mx-n2 {\n  margin-left: -0.5rem !important; }\n\n.m-n3 {\n  margin: -1rem !important; }\n\n.mt-n3,\n.my-n3 {\n  margin-top: -1rem !important; }\n\n.mr-n3,\n.mx-n3 {\n  margin-right: -1rem !important; }\n\n.mb-n3,\n.my-n3 {\n  margin-bottom: -1rem !important; }\n\n.ml-n3,\n.mx-n3 {\n  margin-left: -1rem !important; }\n\n.m-n4 {\n  margin: -1.5rem !important; }\n\n.mt-n4,\n.my-n4 {\n  margin-top: -1.5rem !important; }\n\n.mr-n4,\n.mx-n4 {\n  margin-right: -1.5rem !important; }\n\n.mb-n4,\n.my-n4 {\n  margin-bottom: -1.5rem !important; }\n\n.ml-n4,\n.mx-n4 {\n  margin-left: -1.5rem !important; }\n\n.m-n5 {\n  margin: -3rem !important; }\n\n.mt-n5,\n.my-n5 {\n  margin-top: -3rem !important; }\n\n.mr-n5,\n.mx-n5 {\n  margin-right: -3rem !important; }\n\n.mb-n5,\n.my-n5 {\n  margin-bottom: -3rem !important; }\n\n.ml-n5,\n.mx-n5 {\n  margin-left: -3rem !important; }\n\n.m-auto {\n  margin: auto !important; }\n\n.mt-auto,\n.my-auto {\n  margin-top: auto !important; }\n\n.mr-auto,\n.mx-auto {\n  margin-right: auto !important; }\n\n.mb-auto,\n.my-auto {\n  margin-bottom: auto !important; }\n\n.ml-auto,\n.mx-auto {\n  margin-left: auto !important; }\n\n@media (min-width: 576px) {\n  .m-sm-0 {\n    margin: 0 !important; }\n  .mt-sm-0,\n  .my-sm-0 {\n    margin-top: 0 !important; }\n  .mr-sm-0,\n  .mx-sm-0 {\n    margin-right: 0 !important; }\n  .mb-sm-0,\n  .my-sm-0 {\n    margin-bottom: 0 !important; }\n  .ml-sm-0,\n  .mx-sm-0 {\n    margin-left: 0 !important; }\n  .m-sm-1 {\n    margin: 0.25rem !important; }\n  .mt-sm-1,\n  .my-sm-1 {\n    margin-top: 0.25rem !important; }\n  .mr-sm-1,\n  .mx-sm-1 {\n    margin-right: 0.25rem !important; }\n  .mb-sm-1,\n  .my-sm-1 {\n    margin-bottom: 0.25rem !important; }\n  .ml-sm-1,\n  .mx-sm-1 {\n    margin-left: 0.25rem !important; }\n  .m-sm-2 {\n    margin: 0.5rem !important; }\n  .mt-sm-2,\n  .my-sm-2 {\n    margin-top: 0.5rem !important; }\n  .mr-sm-2,\n  .mx-sm-2 {\n    margin-right: 0.5rem !important; }\n  .mb-sm-2,\n  .my-sm-2 {\n    margin-bottom: 0.5rem !important; }\n  .ml-sm-2,\n  .mx-sm-2 {\n    margin-left: 0.5rem !important; }\n  .m-sm-3 {\n    margin: 1rem !important; }\n  .mt-sm-3,\n  .my-sm-3 {\n    margin-top: 1rem !important; }\n  .mr-sm-3,\n  .mx-sm-3 {\n    margin-right: 1rem !important; }\n  .mb-sm-3,\n  .my-sm-3 {\n    margin-bottom: 1rem !important; }\n  .ml-sm-3,\n  .mx-sm-3 {\n    margin-left: 1rem !important; }\n  .m-sm-4 {\n    margin: 1.5rem !important; }\n  .mt-sm-4,\n  .my-sm-4 {\n    margin-top: 1.5rem !important; }\n  .mr-sm-4,\n  .mx-sm-4 {\n    margin-right: 1.5rem !important; }\n  .mb-sm-4,\n  .my-sm-4 {\n    margin-bottom: 1.5rem !important; }\n  .ml-sm-4,\n  .mx-sm-4 {\n    margin-left: 1.5rem !important; }\n  .m-sm-5 {\n    margin: 3rem !important; }\n  .mt-sm-5,\n  .my-sm-5 {\n    margin-top: 3rem !important; }\n  .mr-sm-5,\n  .mx-sm-5 {\n    margin-right: 3rem !important; }\n  .mb-sm-5,\n  .my-sm-5 {\n    margin-bottom: 3rem !important; }\n  .ml-sm-5,\n  .mx-sm-5 {\n    margin-left: 3rem !important; }\n  .p-sm-0 {\n    padding: 0 !important; }\n  .pt-sm-0,\n  .py-sm-0 {\n    padding-top: 0 !important; }\n  .pr-sm-0,\n  .px-sm-0 {\n    padding-right: 0 !important; }\n  .pb-sm-0,\n  .py-sm-0 {\n    padding-bottom: 0 !important; }\n  .pl-sm-0,\n  .px-sm-0 {\n    padding-left: 0 !important; }\n  .p-sm-1 {\n    padding: 0.25rem !important; }\n  .pt-sm-1,\n  .py-sm-1 {\n    padding-top: 0.25rem !important; }\n  .pr-sm-1,\n  .px-sm-1 {\n    padding-right: 0.25rem !important; }\n  .pb-sm-1,\n  .py-sm-1 {\n    padding-bottom: 0.25rem !important; }\n  .pl-sm-1,\n  .px-sm-1 {\n    padding-left: 0.25rem !important; }\n  .p-sm-2 {\n    padding: 0.5rem !important; }\n  .pt-sm-2,\n  .py-sm-2 {\n    padding-top: 0.5rem !important; }\n  .pr-sm-2,\n  .px-sm-2 {\n    padding-right: 0.5rem !important; }\n  .pb-sm-2,\n  .py-sm-2 {\n    padding-bottom: 0.5rem !important; }\n  .pl-sm-2,\n  .px-sm-2 {\n    padding-left: 0.5rem !important; }\n  .p-sm-3 {\n    padding: 1rem !important; }\n  .pt-sm-3,\n  .py-sm-3 {\n    padding-top: 1rem !important; }\n  .pr-sm-3,\n  .px-sm-3 {\n    padding-right: 1rem !important; }\n  .pb-sm-3,\n  .py-sm-3 {\n    padding-bottom: 1rem !important; }\n  .pl-sm-3,\n  .px-sm-3 {\n    padding-left: 1rem !important; }\n  .p-sm-4 {\n    padding: 1.5rem !important; }\n  .pt-sm-4,\n  .py-sm-4 {\n    padding-top: 1.5rem !important; }\n  .pr-sm-4,\n  .px-sm-4 {\n    padding-right: 1.5rem !important; }\n  .pb-sm-4,\n  .py-sm-4 {\n    padding-bottom: 1.5rem !important; }\n  .pl-sm-4,\n  .px-sm-4 {\n    padding-left: 1.5rem !important; }\n  .p-sm-5 {\n    padding: 3rem !important; }\n  .pt-sm-5,\n  .py-sm-5 {\n    padding-top: 3rem !important; }\n  .pr-sm-5,\n  .px-sm-5 {\n    padding-right: 3rem !important; }\n  .pb-sm-5,\n  .py-sm-5 {\n    padding-bottom: 3rem !important; }\n  .pl-sm-5,\n  .px-sm-5 {\n    padding-left: 3rem !important; }\n  .m-sm-n1 {\n    margin: -0.25rem !important; }\n  .mt-sm-n1,\n  .my-sm-n1 {\n    margin-top: -0.25rem !important; }\n  .mr-sm-n1,\n  .mx-sm-n1 {\n    margin-right: -0.25rem !important; }\n  .mb-sm-n1,\n  .my-sm-n1 {\n    margin-bottom: -0.25rem !important; }\n  .ml-sm-n1,\n  .mx-sm-n1 {\n    margin-left: -0.25rem !important; }\n  .m-sm-n2 {\n    margin: -0.5rem !important; }\n  .mt-sm-n2,\n  .my-sm-n2 {\n    margin-top: -0.5rem !important; }\n  .mr-sm-n2,\n  .mx-sm-n2 {\n    margin-right: -0.5rem !important; }\n  .mb-sm-n2,\n  .my-sm-n2 {\n    margin-bottom: -0.5rem !important; }\n  .ml-sm-n2,\n  .mx-sm-n2 {\n    margin-left: -0.5rem !important; }\n  .m-sm-n3 {\n    margin: -1rem !important; }\n  .mt-sm-n3,\n  .my-sm-n3 {\n    margin-top: -1rem !important; }\n  .mr-sm-n3,\n  .mx-sm-n3 {\n    margin-right: -1rem !important; }\n  .mb-sm-n3,\n  .my-sm-n3 {\n    margin-bottom: -1rem !important; }\n  .ml-sm-n3,\n  .mx-sm-n3 {\n    margin-left: -1rem !important; }\n  .m-sm-n4 {\n    margin: -1.5rem !important; }\n  .mt-sm-n4,\n  .my-sm-n4 {\n    margin-top: -1.5rem !important; }\n  .mr-sm-n4,\n  .mx-sm-n4 {\n    margin-right: -1.5rem !important; }\n  .mb-sm-n4,\n  .my-sm-n4 {\n    margin-bottom: -1.5rem !important; }\n  .ml-sm-n4,\n  .mx-sm-n4 {\n    margin-left: -1.5rem !important; }\n  .m-sm-n5 {\n    margin: -3rem !important; }\n  .mt-sm-n5,\n  .my-sm-n5 {\n    margin-top: -3rem !important; }\n  .mr-sm-n5,\n  .mx-sm-n5 {\n    margin-right: -3rem !important; }\n  .mb-sm-n5,\n  .my-sm-n5 {\n    margin-bottom: -3rem !important; }\n  .ml-sm-n5,\n  .mx-sm-n5 {\n    margin-left: -3rem !important; }\n  .m-sm-auto {\n    margin: auto !important; }\n  .mt-sm-auto,\n  .my-sm-auto {\n    margin-top: auto !important; }\n  .mr-sm-auto,\n  .mx-sm-auto {\n    margin-right: auto !important; }\n  .mb-sm-auto,\n  .my-sm-auto {\n    margin-bottom: auto !important; }\n  .ml-sm-auto,\n  .mx-sm-auto {\n    margin-left: auto !important; } }\n\n@media (min-width: 768px) {\n  .m-md-0 {\n    margin: 0 !important; }\n  .mt-md-0,\n  .my-md-0 {\n    margin-top: 0 !important; }\n  .mr-md-0,\n  .mx-md-0 {\n    margin-right: 0 !important; }\n  .mb-md-0,\n  .my-md-0 {\n    margin-bottom: 0 !important; }\n  .ml-md-0,\n  .mx-md-0 {\n    margin-left: 0 !important; }\n  .m-md-1 {\n    margin: 0.25rem !important; }\n  .mt-md-1,\n  .my-md-1 {\n    margin-top: 0.25rem !important; }\n  .mr-md-1,\n  .mx-md-1 {\n    margin-right: 0.25rem !important; }\n  .mb-md-1,\n  .my-md-1 {\n    margin-bottom: 0.25rem !important; }\n  .ml-md-1,\n  .mx-md-1 {\n    margin-left: 0.25rem !important; }\n  .m-md-2 {\n    margin: 0.5rem !important; }\n  .mt-md-2,\n  .my-md-2 {\n    margin-top: 0.5rem !important; }\n  .mr-md-2,\n  .mx-md-2 {\n    margin-right: 0.5rem !important; }\n  .mb-md-2,\n  .my-md-2 {\n    margin-bottom: 0.5rem !important; }\n  .ml-md-2,\n  .mx-md-2 {\n    margin-left: 0.5rem !important; }\n  .m-md-3 {\n    margin: 1rem !important; }\n  .mt-md-3,\n  .my-md-3 {\n    margin-top: 1rem !important; }\n  .mr-md-3,\n  .mx-md-3 {\n    margin-right: 1rem !important; }\n  .mb-md-3,\n  .my-md-3 {\n    margin-bottom: 1rem !important; }\n  .ml-md-3,\n  .mx-md-3 {\n    margin-left: 1rem !important; }\n  .m-md-4 {\n    margin: 1.5rem !important; }\n  .mt-md-4,\n  .my-md-4 {\n    margin-top: 1.5rem !important; }\n  .mr-md-4,\n  .mx-md-4 {\n    margin-right: 1.5rem !important; }\n  .mb-md-4,\n  .my-md-4 {\n    margin-bottom: 1.5rem !important; }\n  .ml-md-4,\n  .mx-md-4 {\n    margin-left: 1.5rem !important; }\n  .m-md-5 {\n    margin: 3rem !important; }\n  .mt-md-5,\n  .my-md-5 {\n    margin-top: 3rem !important; }\n  .mr-md-5,\n  .mx-md-5 {\n    margin-right: 3rem !important; }\n  .mb-md-5,\n  .my-md-5 {\n    margin-bottom: 3rem !important; }\n  .ml-md-5,\n  .mx-md-5 {\n    margin-left: 3rem !important; }\n  .p-md-0 {\n    padding: 0 !important; }\n  .pt-md-0,\n  .py-md-0 {\n    padding-top: 0 !important; }\n  .pr-md-0,\n  .px-md-0 {\n    padding-right: 0 !important; }\n  .pb-md-0,\n  .py-md-0 {\n    padding-bottom: 0 !important; }\n  .pl-md-0,\n  .px-md-0 {\n    padding-left: 0 !important; }\n  .p-md-1 {\n    padding: 0.25rem !important; }\n  .pt-md-1,\n  .py-md-1 {\n    padding-top: 0.25rem !important; }\n  .pr-md-1,\n  .px-md-1 {\n    padding-right: 0.25rem !important; }\n  .pb-md-1,\n  .py-md-1 {\n    padding-bottom: 0.25rem !important; }\n  .pl-md-1,\n  .px-md-1 {\n    padding-left: 0.25rem !important; }\n  .p-md-2 {\n    padding: 0.5rem !important; }\n  .pt-md-2,\n  .py-md-2 {\n    padding-top: 0.5rem !important; }\n  .pr-md-2,\n  .px-md-2 {\n    padding-right: 0.5rem !important; }\n  .pb-md-2,\n  .py-md-2 {\n    padding-bottom: 0.5rem !important; }\n  .pl-md-2,\n  .px-md-2 {\n    padding-left: 0.5rem !important; }\n  .p-md-3 {\n    padding: 1rem !important; }\n  .pt-md-3,\n  .py-md-3 {\n    padding-top: 1rem !important; }\n  .pr-md-3,\n  .px-md-3 {\n    padding-right: 1rem !important; }\n  .pb-md-3,\n  .py-md-3 {\n    padding-bottom: 1rem !important; }\n  .pl-md-3,\n  .px-md-3 {\n    padding-left: 1rem !important; }\n  .p-md-4 {\n    padding: 1.5rem !important; }\n  .pt-md-4,\n  .py-md-4 {\n    padding-top: 1.5rem !important; }\n  .pr-md-4,\n  .px-md-4 {\n    padding-right: 1.5rem !important; }\n  .pb-md-4,\n  .py-md-4 {\n    padding-bottom: 1.5rem !important; }\n  .pl-md-4,\n  .px-md-4 {\n    padding-left: 1.5rem !important; }\n  .p-md-5 {\n    padding: 3rem !important; }\n  .pt-md-5,\n  .py-md-5 {\n    padding-top: 3rem !important; }\n  .pr-md-5,\n  .px-md-5 {\n    padding-right: 3rem !important; }\n  .pb-md-5,\n  .py-md-5 {\n    padding-bottom: 3rem !important; }\n  .pl-md-5,\n  .px-md-5 {\n    padding-left: 3rem !important; }\n  .m-md-n1 {\n    margin: -0.25rem !important; }\n  .mt-md-n1,\n  .my-md-n1 {\n    margin-top: -0.25rem !important; }\n  .mr-md-n1,\n  .mx-md-n1 {\n    margin-right: -0.25rem !important; }\n  .mb-md-n1,\n  .my-md-n1 {\n    margin-bottom: -0.25rem !important; }\n  .ml-md-n1,\n  .mx-md-n1 {\n    margin-left: -0.25rem !important; }\n  .m-md-n2 {\n    margin: -0.5rem !important; }\n  .mt-md-n2,\n  .my-md-n2 {\n    margin-top: -0.5rem !important; }\n  .mr-md-n2,\n  .mx-md-n2 {\n    margin-right: -0.5rem !important; }\n  .mb-md-n2,\n  .my-md-n2 {\n    margin-bottom: -0.5rem !important; }\n  .ml-md-n2,\n  .mx-md-n2 {\n    margin-left: -0.5rem !important; }\n  .m-md-n3 {\n    margin: -1rem !important; }\n  .mt-md-n3,\n  .my-md-n3 {\n    margin-top: -1rem !important; }\n  .mr-md-n3,\n  .mx-md-n3 {\n    margin-right: -1rem !important; }\n  .mb-md-n3,\n  .my-md-n3 {\n    margin-bottom: -1rem !important; }\n  .ml-md-n3,\n  .mx-md-n3 {\n    margin-left: -1rem !important; }\n  .m-md-n4 {\n    margin: -1.5rem !important; }\n  .mt-md-n4,\n  .my-md-n4 {\n    margin-top: -1.5rem !important; }\n  .mr-md-n4,\n  .mx-md-n4 {\n    margin-right: -1.5rem !important; }\n  .mb-md-n4,\n  .my-md-n4 {\n    margin-bottom: -1.5rem !important; }\n  .ml-md-n4,\n  .mx-md-n4 {\n    margin-left: -1.5rem !important; }\n  .m-md-n5 {\n    margin: -3rem !important; }\n  .mt-md-n5,\n  .my-md-n5 {\n    margin-top: -3rem !important; }\n  .mr-md-n5,\n  .mx-md-n5 {\n    margin-right: -3rem !important; }\n  .mb-md-n5,\n  .my-md-n5 {\n    margin-bottom: -3rem !important; }\n  .ml-md-n5,\n  .mx-md-n5 {\n    margin-left: -3rem !important; }\n  .m-md-auto {\n    margin: auto !important; }\n  .mt-md-auto,\n  .my-md-auto {\n    margin-top: auto !important; }\n  .mr-md-auto,\n  .mx-md-auto {\n    margin-right: auto !important; }\n  .mb-md-auto,\n  .my-md-auto {\n    margin-bottom: auto !important; }\n  .ml-md-auto,\n  .mx-md-auto {\n    margin-left: auto !important; } }\n\n@media (min-width: 992px) {\n  .m-lg-0 {\n    margin: 0 !important; }\n  .mt-lg-0,\n  .my-lg-0 {\n    margin-top: 0 !important; }\n  .mr-lg-0,\n  .mx-lg-0 {\n    margin-right: 0 !important; }\n  .mb-lg-0,\n  .my-lg-0 {\n    margin-bottom: 0 !important; }\n  .ml-lg-0,\n  .mx-lg-0 {\n    margin-left: 0 !important; }\n  .m-lg-1 {\n    margin: 0.25rem !important; }\n  .mt-lg-1,\n  .my-lg-1 {\n    margin-top: 0.25rem !important; }\n  .mr-lg-1,\n  .mx-lg-1 {\n    margin-right: 0.25rem !important; }\n  .mb-lg-1,\n  .my-lg-1 {\n    margin-bottom: 0.25rem !important; }\n  .ml-lg-1,\n  .mx-lg-1 {\n    margin-left: 0.25rem !important; }\n  .m-lg-2 {\n    margin: 0.5rem !important; }\n  .mt-lg-2,\n  .my-lg-2 {\n    margin-top: 0.5rem !important; }\n  .mr-lg-2,\n  .mx-lg-2 {\n    margin-right: 0.5rem !important; }\n  .mb-lg-2,\n  .my-lg-2 {\n    margin-bottom: 0.5rem !important; }\n  .ml-lg-2,\n  .mx-lg-2 {\n    margin-left: 0.5rem !important; }\n  .m-lg-3 {\n    margin: 1rem !important; }\n  .mt-lg-3,\n  .my-lg-3 {\n    margin-top: 1rem !important; }\n  .mr-lg-3,\n  .mx-lg-3 {\n    margin-right: 1rem !important; }\n  .mb-lg-3,\n  .my-lg-3 {\n    margin-bottom: 1rem !important; }\n  .ml-lg-3,\n  .mx-lg-3 {\n    margin-left: 1rem !important; }\n  .m-lg-4 {\n    margin: 1.5rem !important; }\n  .mt-lg-4,\n  .my-lg-4 {\n    margin-top: 1.5rem !important; }\n  .mr-lg-4,\n  .mx-lg-4 {\n    margin-right: 1.5rem !important; }\n  .mb-lg-4,\n  .my-lg-4 {\n    margin-bottom: 1.5rem !important; }\n  .ml-lg-4,\n  .mx-lg-4 {\n    margin-left: 1.5rem !important; }\n  .m-lg-5 {\n    margin: 3rem !important; }\n  .mt-lg-5,\n  .my-lg-5 {\n    margin-top: 3rem !important; }\n  .mr-lg-5,\n  .mx-lg-5 {\n    margin-right: 3rem !important; }\n  .mb-lg-5,\n  .my-lg-5 {\n    margin-bottom: 3rem !important; }\n  .ml-lg-5,\n  .mx-lg-5 {\n    margin-left: 3rem !important; }\n  .p-lg-0 {\n    padding: 0 !important; }\n  .pt-lg-0,\n  .py-lg-0 {\n    padding-top: 0 !important; }\n  .pr-lg-0,\n  .px-lg-0 {\n    padding-right: 0 !important; }\n  .pb-lg-0,\n  .py-lg-0 {\n    padding-bottom: 0 !important; }\n  .pl-lg-0,\n  .px-lg-0 {\n    padding-left: 0 !important; }\n  .p-lg-1 {\n    padding: 0.25rem !important; }\n  .pt-lg-1,\n  .py-lg-1 {\n    padding-top: 0.25rem !important; }\n  .pr-lg-1,\n  .px-lg-1 {\n    padding-right: 0.25rem !important; }\n  .pb-lg-1,\n  .py-lg-1 {\n    padding-bottom: 0.25rem !important; }\n  .pl-lg-1,\n  .px-lg-1 {\n    padding-left: 0.25rem !important; }\n  .p-lg-2 {\n    padding: 0.5rem !important; }\n  .pt-lg-2,\n  .py-lg-2 {\n    padding-top: 0.5rem !important; }\n  .pr-lg-2,\n  .px-lg-2 {\n    padding-right: 0.5rem !important; }\n  .pb-lg-2,\n  .py-lg-2 {\n    padding-bottom: 0.5rem !important; }\n  .pl-lg-2,\n  .px-lg-2 {\n    padding-left: 0.5rem !important; }\n  .p-lg-3 {\n    padding: 1rem !important; }\n  .pt-lg-3,\n  .py-lg-3 {\n    padding-top: 1rem !important; }\n  .pr-lg-3,\n  .px-lg-3 {\n    padding-right: 1rem !important; }\n  .pb-lg-3,\n  .py-lg-3 {\n    padding-bottom: 1rem !important; }\n  .pl-lg-3,\n  .px-lg-3 {\n    padding-left: 1rem !important; }\n  .p-lg-4 {\n    padding: 1.5rem !important; }\n  .pt-lg-4,\n  .py-lg-4 {\n    padding-top: 1.5rem !important; }\n  .pr-lg-4,\n  .px-lg-4 {\n    padding-right: 1.5rem !important; }\n  .pb-lg-4,\n  .py-lg-4 {\n    padding-bottom: 1.5rem !important; }\n  .pl-lg-4,\n  .px-lg-4 {\n    padding-left: 1.5rem !important; }\n  .p-lg-5 {\n    padding: 3rem !important; }\n  .pt-lg-5,\n  .py-lg-5 {\n    padding-top: 3rem !important; }\n  .pr-lg-5,\n  .px-lg-5 {\n    padding-right: 3rem !important; }\n  .pb-lg-5,\n  .py-lg-5 {\n    padding-bottom: 3rem !important; }\n  .pl-lg-5,\n  .px-lg-5 {\n    padding-left: 3rem !important; }\n  .m-lg-n1 {\n    margin: -0.25rem !important; }\n  .mt-lg-n1,\n  .my-lg-n1 {\n    margin-top: -0.25rem !important; }\n  .mr-lg-n1,\n  .mx-lg-n1 {\n    margin-right: -0.25rem !important; }\n  .mb-lg-n1,\n  .my-lg-n1 {\n    margin-bottom: -0.25rem !important; }\n  .ml-lg-n1,\n  .mx-lg-n1 {\n    margin-left: -0.25rem !important; }\n  .m-lg-n2 {\n    margin: -0.5rem !important; }\n  .mt-lg-n2,\n  .my-lg-n2 {\n    margin-top: -0.5rem !important; }\n  .mr-lg-n2,\n  .mx-lg-n2 {\n    margin-right: -0.5rem !important; }\n  .mb-lg-n2,\n  .my-lg-n2 {\n    margin-bottom: -0.5rem !important; }\n  .ml-lg-n2,\n  .mx-lg-n2 {\n    margin-left: -0.5rem !important; }\n  .m-lg-n3 {\n    margin: -1rem !important; }\n  .mt-lg-n3,\n  .my-lg-n3 {\n    margin-top: -1rem !important; }\n  .mr-lg-n3,\n  .mx-lg-n3 {\n    margin-right: -1rem !important; }\n  .mb-lg-n3,\n  .my-lg-n3 {\n    margin-bottom: -1rem !important; }\n  .ml-lg-n3,\n  .mx-lg-n3 {\n    margin-left: -1rem !important; }\n  .m-lg-n4 {\n    margin: -1.5rem !important; }\n  .mt-lg-n4,\n  .my-lg-n4 {\n    margin-top: -1.5rem !important; }\n  .mr-lg-n4,\n  .mx-lg-n4 {\n    margin-right: -1.5rem !important; }\n  .mb-lg-n4,\n  .my-lg-n4 {\n    margin-bottom: -1.5rem !important; }\n  .ml-lg-n4,\n  .mx-lg-n4 {\n    margin-left: -1.5rem !important; }\n  .m-lg-n5 {\n    margin: -3rem !important; }\n  .mt-lg-n5,\n  .my-lg-n5 {\n    margin-top: -3rem !important; }\n  .mr-lg-n5,\n  .mx-lg-n5 {\n    margin-right: -3rem !important; }\n  .mb-lg-n5,\n  .my-lg-n5 {\n    margin-bottom: -3rem !important; }\n  .ml-lg-n5,\n  .mx-lg-n5 {\n    margin-left: -3rem !important; }\n  .m-lg-auto {\n    margin: auto !important; }\n  .mt-lg-auto,\n  .my-lg-auto {\n    margin-top: auto !important; }\n  .mr-lg-auto,\n  .mx-lg-auto {\n    margin-right: auto !important; }\n  .mb-lg-auto,\n  .my-lg-auto {\n    margin-bottom: auto !important; }\n  .ml-lg-auto,\n  .mx-lg-auto {\n    margin-left: auto !important; } }\n\n@media (min-width: 1200px) {\n  .m-xl-0 {\n    margin: 0 !important; }\n  .mt-xl-0,\n  .my-xl-0 {\n    margin-top: 0 !important; }\n  .mr-xl-0,\n  .mx-xl-0 {\n    margin-right: 0 !important; }\n  .mb-xl-0,\n  .my-xl-0 {\n    margin-bottom: 0 !important; }\n  .ml-xl-0,\n  .mx-xl-0 {\n    margin-left: 0 !important; }\n  .m-xl-1 {\n    margin: 0.25rem !important; }\n  .mt-xl-1,\n  .my-xl-1 {\n    margin-top: 0.25rem !important; }\n  .mr-xl-1,\n  .mx-xl-1 {\n    margin-right: 0.25rem !important; }\n  .mb-xl-1,\n  .my-xl-1 {\n    margin-bottom: 0.25rem !important; }\n  .ml-xl-1,\n  .mx-xl-1 {\n    margin-left: 0.25rem !important; }\n  .m-xl-2 {\n    margin: 0.5rem !important; }\n  .mt-xl-2,\n  .my-xl-2 {\n    margin-top: 0.5rem !important; }\n  .mr-xl-2,\n  .mx-xl-2 {\n    margin-right: 0.5rem !important; }\n  .mb-xl-2,\n  .my-xl-2 {\n    margin-bottom: 0.5rem !important; }\n  .ml-xl-2,\n  .mx-xl-2 {\n    margin-left: 0.5rem !important; }\n  .m-xl-3 {\n    margin: 1rem !important; }\n  .mt-xl-3,\n  .my-xl-3 {\n    margin-top: 1rem !important; }\n  .mr-xl-3,\n  .mx-xl-3 {\n    margin-right: 1rem !important; }\n  .mb-xl-3,\n  .my-xl-3 {\n    margin-bottom: 1rem !important; }\n  .ml-xl-3,\n  .mx-xl-3 {\n    margin-left: 1rem !important; }\n  .m-xl-4 {\n    margin: 1.5rem !important; }\n  .mt-xl-4,\n  .my-xl-4 {\n    margin-top: 1.5rem !important; }\n  .mr-xl-4,\n  .mx-xl-4 {\n    margin-right: 1.5rem !important; }\n  .mb-xl-4,\n  .my-xl-4 {\n    margin-bottom: 1.5rem !important; }\n  .ml-xl-4,\n  .mx-xl-4 {\n    margin-left: 1.5rem !important; }\n  .m-xl-5 {\n    margin: 3rem !important; }\n  .mt-xl-5,\n  .my-xl-5 {\n    margin-top: 3rem !important; }\n  .mr-xl-5,\n  .mx-xl-5 {\n    margin-right: 3rem !important; }\n  .mb-xl-5,\n  .my-xl-5 {\n    margin-bottom: 3rem !important; }\n  .ml-xl-5,\n  .mx-xl-5 {\n    margin-left: 3rem !important; }\n  .p-xl-0 {\n    padding: 0 !important; }\n  .pt-xl-0,\n  .py-xl-0 {\n    padding-top: 0 !important; }\n  .pr-xl-0,\n  .px-xl-0 {\n    padding-right: 0 !important; }\n  .pb-xl-0,\n  .py-xl-0 {\n    padding-bottom: 0 !important; }\n  .pl-xl-0,\n  .px-xl-0 {\n    padding-left: 0 !important; }\n  .p-xl-1 {\n    padding: 0.25rem !important; }\n  .pt-xl-1,\n  .py-xl-1 {\n    padding-top: 0.25rem !important; }\n  .pr-xl-1,\n  .px-xl-1 {\n    padding-right: 0.25rem !important; }\n  .pb-xl-1,\n  .py-xl-1 {\n    padding-bottom: 0.25rem !important; }\n  .pl-xl-1,\n  .px-xl-1 {\n    padding-left: 0.25rem !important; }\n  .p-xl-2 {\n    padding: 0.5rem !important; }\n  .pt-xl-2,\n  .py-xl-2 {\n    padding-top: 0.5rem !important; }\n  .pr-xl-2,\n  .px-xl-2 {\n    padding-right: 0.5rem !important; }\n  .pb-xl-2,\n  .py-xl-2 {\n    padding-bottom: 0.5rem !important; }\n  .pl-xl-2,\n  .px-xl-2 {\n    padding-left: 0.5rem !important; }\n  .p-xl-3 {\n    padding: 1rem !important; }\n  .pt-xl-3,\n  .py-xl-3 {\n    padding-top: 1rem !important; }\n  .pr-xl-3,\n  .px-xl-3 {\n    padding-right: 1rem !important; }\n  .pb-xl-3,\n  .py-xl-3 {\n    padding-bottom: 1rem !important; }\n  .pl-xl-3,\n  .px-xl-3 {\n    padding-left: 1rem !important; }\n  .p-xl-4 {\n    padding: 1.5rem !important; }\n  .pt-xl-4,\n  .py-xl-4 {\n    padding-top: 1.5rem !important; }\n  .pr-xl-4,\n  .px-xl-4 {\n    padding-right: 1.5rem !important; }\n  .pb-xl-4,\n  .py-xl-4 {\n    padding-bottom: 1.5rem !important; }\n  .pl-xl-4,\n  .px-xl-4 {\n    padding-left: 1.5rem !important; }\n  .p-xl-5 {\n    padding: 3rem !important; }\n  .pt-xl-5,\n  .py-xl-5 {\n    padding-top: 3rem !important; }\n  .pr-xl-5,\n  .px-xl-5 {\n    padding-right: 3rem !important; }\n  .pb-xl-5,\n  .py-xl-5 {\n    padding-bottom: 3rem !important; }\n  .pl-xl-5,\n  .px-xl-5 {\n    padding-left: 3rem !important; }\n  .m-xl-n1 {\n    margin: -0.25rem !important; }\n  .mt-xl-n1,\n  .my-xl-n1 {\n    margin-top: -0.25rem !important; }\n  .mr-xl-n1,\n  .mx-xl-n1 {\n    margin-right: -0.25rem !important; }\n  .mb-xl-n1,\n  .my-xl-n1 {\n    margin-bottom: -0.25rem !important; }\n  .ml-xl-n1,\n  .mx-xl-n1 {\n    margin-left: -0.25rem !important; }\n  .m-xl-n2 {\n    margin: -0.5rem !important; }\n  .mt-xl-n2,\n  .my-xl-n2 {\n    margin-top: -0.5rem !important; }\n  .mr-xl-n2,\n  .mx-xl-n2 {\n    margin-right: -0.5rem !important; }\n  .mb-xl-n2,\n  .my-xl-n2 {\n    margin-bottom: -0.5rem !important; }\n  .ml-xl-n2,\n  .mx-xl-n2 {\n    margin-left: -0.5rem !important; }\n  .m-xl-n3 {\n    margin: -1rem !important; }\n  .mt-xl-n3,\n  .my-xl-n3 {\n    margin-top: -1rem !important; }\n  .mr-xl-n3,\n  .mx-xl-n3 {\n    margin-right: -1rem !important; }\n  .mb-xl-n3,\n  .my-xl-n3 {\n    margin-bottom: -1rem !important; }\n  .ml-xl-n3,\n  .mx-xl-n3 {\n    margin-left: -1rem !important; }\n  .m-xl-n4 {\n    margin: -1.5rem !important; }\n  .mt-xl-n4,\n  .my-xl-n4 {\n    margin-top: -1.5rem !important; }\n  .mr-xl-n4,\n  .mx-xl-n4 {\n    margin-right: -1.5rem !important; }\n  .mb-xl-n4,\n  .my-xl-n4 {\n    margin-bottom: -1.5rem !important; }\n  .ml-xl-n4,\n  .mx-xl-n4 {\n    margin-left: -1.5rem !important; }\n  .m-xl-n5 {\n    margin: -3rem !important; }\n  .mt-xl-n5,\n  .my-xl-n5 {\n    margin-top: -3rem !important; }\n  .mr-xl-n5,\n  .mx-xl-n5 {\n    margin-right: -3rem !important; }\n  .mb-xl-n5,\n  .my-xl-n5 {\n    margin-bottom: -3rem !important; }\n  .ml-xl-n5,\n  .mx-xl-n5 {\n    margin-left: -3rem !important; }\n  .m-xl-auto {\n    margin: auto !important; }\n  .mt-xl-auto,\n  .my-xl-auto {\n    margin-top: auto !important; }\n  .mr-xl-auto,\n  .mx-xl-auto {\n    margin-right: auto !important; }\n  .mb-xl-auto,\n  .my-xl-auto {\n    margin-bottom: auto !important; }\n  .ml-xl-auto,\n  .mx-xl-auto {\n    margin-left: auto !important; } }\n\n.text-monospace {\n  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; }\n\n.text-justify {\n  text-align: justify !important; }\n\n.text-wrap {\n  white-space: normal !important; }\n\n.text-nowrap {\n  white-space: nowrap !important; }\n\n.text-truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap; }\n\n.text-left {\n  text-align: left !important; }\n\n.text-right {\n  text-align: right !important; }\n\n.text-center {\n  text-align: center !important; }\n\n@media (min-width: 576px) {\n  .text-sm-left {\n    text-align: left !important; }\n  .text-sm-right {\n    text-align: right !important; }\n  .text-sm-center {\n    text-align: center !important; } }\n\n@media (min-width: 768px) {\n  .text-md-left {\n    text-align: left !important; }\n  .text-md-right {\n    text-align: right !important; }\n  .text-md-center {\n    text-align: center !important; } }\n\n@media (min-width: 992px) {\n  .text-lg-left {\n    text-align: left !important; }\n  .text-lg-right {\n    text-align: right !important; }\n  .text-lg-center {\n    text-align: center !important; } }\n\n@media (min-width: 1200px) {\n  .text-xl-left {\n    text-align: left !important; }\n  .text-xl-right {\n    text-align: right !important; }\n  .text-xl-center {\n    text-align: center !important; } }\n\n.text-lowercase {\n  text-transform: lowercase !important; }\n\n.text-uppercase {\n  text-transform: uppercase !important; }\n\n.text-capitalize {\n  text-transform: capitalize !important; }\n\n.font-weight-light {\n  font-weight: 300 !important; }\n\n.font-weight-lighter {\n  font-weight: lighter !important; }\n\n.font-weight-normal {\n  font-weight: 400 !important; }\n\n.font-weight-bold {\n  font-weight: 700 !important; }\n\n.font-weight-bolder {\n  font-weight: bolder !important; }\n\n.font-italic {\n  font-style: italic !important; }\n\n.text-white {\n  color: #fff !important; }\n\n.text-primary {\n  color: #0074d9 !important; }\n\na.text-primary:hover, a.text-primary:focus {\n  color: #004b8d !important; }\n\n.text-secondary {\n  color: #6c757d !important; }\n\na.text-secondary:hover, a.text-secondary:focus {\n  color: #494f54 !important; }\n\n.text-success {\n  color: #28a745 !important; }\n\na.text-success:hover, a.text-success:focus {\n  color: #19692c !important; }\n\n.text-info {\n  color: #17a2b8 !important; }\n\na.text-info:hover, a.text-info:focus {\n  color: #0f6674 !important; }\n\n.text-warning {\n  color: #ffc107 !important; }\n\na.text-warning:hover, a.text-warning:focus {\n  color: #ba8b00 !important; }\n\n.text-danger {\n  color: #ff4136 !important; }\n\na.text-danger:hover, a.text-danger:focus {\n  color: #e90d00 !important; }\n\n.text-light {\n  color: #f8f9fa !important; }\n\na.text-light:hover, a.text-light:focus {\n  color: #cbd3da !important; }\n\n.text-dark {\n  color: #343a40 !important; }\n\na.text-dark:hover, a.text-dark:focus {\n  color: #121416 !important; }\n\n.text-body {\n  color: #212529 !important; }\n\n.text-muted {\n  color: #6c757d !important; }\n\n.text-black-50 {\n  color: rgba(0, 0, 0, 0.5) !important; }\n\n.text-white-50 {\n  color: rgba(255, 255, 255, 0.5) !important; }\n\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0; }\n\n.text-decoration-none {\n  text-decoration: none !important; }\n\n.text-break {\n  word-break: break-word !important;\n  overflow-wrap: break-word !important; }\n\n.text-reset {\n  color: inherit !important; }\n\n.visible {\n  visibility: visible !important; }\n\n.invisible {\n  visibility: hidden !important; }\n\n@media print {\n  *,\n  *::before,\n  *::after {\n    text-shadow: none !important;\n    box-shadow: none !important; }\n  a:not(.btn) {\n    text-decoration: underline; }\n  abbr[title]::after {\n    content: " (" attr(title) ")"; }\n  pre {\n    white-space: pre-wrap !important; }\n  pre,\n  blockquote {\n    border: 1px solid #adb5bd;\n    page-break-inside: avoid; }\n  thead {\n    display: table-header-group; }\n  tr,\n  img {\n    page-break-inside: avoid; }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3; }\n  h2,\n  h3 {\n    page-break-after: avoid; }\n  @page {\n    size: a3; }\n  body {\n    min-width: 992px !important; }\n  .container {\n    min-width: 992px !important; }\n  .navbar {\n    display: none; }\n  .badge {\n    border: 1px solid #000; }\n  .table {\n    border-collapse: collapse !important; }\n    .table td,\n    .table th {\n      background-color: #fff !important; }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #dee2e6 !important; }\n  .table-dark {\n    color: inherit; }\n    .table-dark th,\n    .table-dark td,\n    .table-dark thead th,\n    .table-dark tbody + tbody {\n      border-color: #dee2e6; }\n  .table .thead-dark th {\n    color: inherit;\n    border-color: #dee2e6; } }\n\n@-webkit-keyframes fadein {\n  from {\n    bottom: 0;\n    opacity: 0; }\n  to {\n    bottom: 30px;\n    opacity: 1; } }\n\n@keyframes fadein {\n  from {\n    bottom: 0;\n    opacity: 0; }\n  to {\n    bottom: 30px;\n    opacity: 1; } }\n\n@-webkit-keyframes fadeout {\n  from {\n    bottom: 30px;\n    opacity: 1; }\n  to {\n    bottom: 0;\n    opacity: 0; } }\n\n@keyframes fadeout {\n  from {\n    bottom: 30px;\n    opacity: 1; }\n  to {\n    bottom: 0;\n    opacity: 0; } }\n\n#snackbar {\n  visibility: hidden;\n  min-width: 250px;\n  margin-left: -125px;\n  background-color: #232527;\n  color: #fff;\n  text-align: center;\n  border-radius: 2px;\n  padding: 16px;\n  position: fixed;\n  z-index: 1;\n  left: 50%;\n  bottom: 30px; }\n\n#snackbar.show {\n  visibility: visible;\n  -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;\n  animation: fadein 0.5s, fadeout 0.5s 2.5s; }\n\n.notify-container {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  -webkit-justify-content: flex-end;\n          justify-content: flex-end;\n  -webkit-align-items: flex-start;\n          align-items: flex-start;\n  -webkit-align-content: flex-start;\n          align-content: flex-start;\n  position: fixed;\n  top: 35px;\n  right: 30%;\n  z-index: 9000; }\n\n.notify-item {\n  width: 250px;\n  margin: 5px 10px;\n  color: #fff;\n  border-radius: 5px;\n  text-align: center; }\n\n.notify-item:hover {\n  opacity: 0.8;\n  box-shadow: 0 0 10px 0 #0f0f0f; }\n\n.notify-item > p {\n  margin: 10px;\n  opacity: 0.8;\n  text-align: center; }\n\n.notify-item.info {\n  background-color: #0066cc; }\n\n.notify-item.success {\n  background-color: rgba(23, 23, 23, 0.9); }\n\n.notify-item.error {\n  background-color: #e80801;\n  color: #fff; }\n\n.notify-title {\n  font-weight: 700; }\n\n.wrapper {\n  margin: 0;\n  padding: 0;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-flow: row;\n          flex-flow: row;\n  height: 100vh;\n  width: 100vw;\n  overflow: hidden; }\n\n.wrapper.loadingRemote {\n  filter: blur(8px);\n  -webkit-filter: blur(8px); }\n\n.d-flex.align-items-center.col-12.position-absolute.h-100 {\n  z-index: 9999; }\n\n.spinner-grow {\n  margin-left: 30px;\n  height: 10rem;\n  width: 10rem; }\n\n@media all and (max-width: 640px) {\n  .wrapper {\n    overflow: auto;\n    -webkit-flex-flow: column;\n            flex-flow: column; } }\n\n.field_info span {\n  margin-right: 5px; }\n\n.content__head {\n  padding: 1.5rem 2em 2rem 2em;\n  height: 2rem;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: space-between;\n          justify-content: space-between;\n  -webkit-align-items: center;\n          align-items: center;\n  background: #fdfdfd; }\n\n.content__head__title {\n  color: #0066cc;\n  font-family: "Titillium Web";\n  font-size: 2rem;\n  font-weight: bold;\n  letter-spacing: -0.33px;\n  line-height: 40px; }\n\n.content__head__help {\n  margin: 10px 20px 0;\n  height: 100%;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  -webkit-align-items: flex-end;\n          align-items: flex-end;\n  -webkit-justify-content: space-around;\n          justify-content: space-around;\n  text-align: right; }\n  .content__head__help a {\n    text-align: right;\n    color: #5c6f82;\n    font-family: "Titillium Web";\n    font-size: 16px;\n    font-weight: bold;\n    line-height: 24px; }\n\n.content__head__status {\n  -webkit-align-self: flex-end;\n          align-self: flex-end;\n  color: #adadad;\n  font-family: "Titillium Web";\n  font-size: 12px;\n  font-weight: 300;\n  line-height: 16px;\n  text-align: right; }\n\n.content__main {\n  padding: 0 2em;\n  -webkit-flex: 1;\n          flex: 1;\n  overflow: auto;\n  top: 0;\n  transition: top 0.8s ease 0s; }\n\n.content {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  background: #fff;\n  -webkit-flex: 5 1 0;\n          flex: 5 1 0;\n  -webkit-order: 0;\n          order: 0;\n  position: relative; }\n\n.content__foot {\n  padding: 0 2em;\n  height: 100px;\n  border-top: 1px solid #e8e8e8;\n  margin-top: 20px;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: center;\n          align-items: center;\n  -webkit-flex-direction: row;\n          flex-direction: row;\n  -webkit-justify-content: center;\n          justify-content: center; }\n\n.content__foot_item {\n  text-align: center; }\n  .content__foot_item button {\n    margin: 0 20px; }\n\n@media all and (max-width: 640px) {\n  .content__head,\n  .content__foot {\n    min-height: 100px; } }\n\n.react-phone-number-input__input:focus {\n  color: #495057 !important;\n  background-color: #fff !important;\n  border-color: #5ab2ff !important;\n  outline: 0 !important;\n  box-shadow: 0 0 0 0.2rem rgba(0, 116, 217, 0.25) !important; }\n\n.react-phone-number-input__icon {\n  line-height: 0 !important; }\n\n.loading {\n  width: 40px;\n  fill: #0066cc; }\n\n.sidebar {\n  background-color: #00264d;\n  color: #fff;\n  -webkit-flex: 2 1 0;\n          flex: 2 1 0;\n  -webkit-order: 3;\n          order: 3;\n  margin: 0;\n  padding: 0;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  -webkit-justify-content: space-between;\n          justify-content: space-between;\n  overflow: hidden;\n  position: relative; }\n\n.sidebar__title {\n  padding: 1em;\n  font-size: 24px;\n  font-weight: bold;\n  line-height: 28px; }\n\n.sidebar__footer_item > .disabled {\n  cursor: not-allowed; }\n\n.sidebar__footer_item > a.disabled img {\n  display: none; }\n\n.sidebar__footer_item > a.disabled span {\n  color: #adb2b8; }\n\n.sidebar__info {\n  font-size: 14px;\n  line-height: 28px;\n  color: #fff;\n  margin-left: 20px;\n  opacity: 0.3; }\n\n.sidebar__prefooter {\n  z-index: 10;\n  position: absolute;\n  width: 100%;\n  padding: 0;\n  margin: 0;\n  background-color: #0066cc;\n  color: #fff;\n  bottom: 0;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  -webkit-justify-content: flex-end;\n          justify-content: flex-end;\n  -webkit-align-items: center;\n          align-items: center; }\n  .sidebar__prefooter img {\n    height: 16px;\n    margin-right: 5px; }\n\n.sidebar__prefooter__close {\n  margin-top: 5px;\n  margin-right: 10px;\n  color: #fff;\n  -webkit-align-self: flex-end;\n          align-self: flex-end; }\n\n.sidebar__prefooter__content {\n  width: 90%;\n  padding: 10px;\n  margin: 20px auto; }\n\n.sidebar__prefooter__content__form {\n  margin: 10px auto;\n  width: 100%;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: row;\n          flex-direction: row; }\n  .sidebar__prefooter__content__form .form-control {\n    width: 100%;\n    background-color: #f4f4f4; }\n\n.sidebar__body {\n  -webkit-flex: 8 0 0;\n          flex: 8 0 0;\n  width: 100%;\n  overflow: auto;\n  display: -webkit-flex;\n  display: flex;\n  position: relative; }\n\n.sidebar__code {\n  -webkit-flex: 1;\n          flex: 1;\n  color: #00ff80; }\n  .sidebar__code pre,\n  .sidebar__code code {\n    margin-top: -10px;\n    padding: 0 18px 18px;\n    color: #00ff80;\n    font-family: "Roboto Mono";\n    font-weight: 300;\n    font-size: 14px;\n    line-height: 18px; }\n\n.sidebar__error {\n  padding: 10px;\n  overflow: auto;\n  font-family: "Roboto Mono";\n  font-weight: 500;\n  font-size: 18px;\n  line-height: 24px;\n  color: #f83e5a;\n  margin-left: 15px; }\n  .sidebar__error img {\n    margin-right: 10px; }\n\n.sidebar__overlay {\n  background-color: rgba(0, 0, 0, 0.7);\n  z-index: 10;\n  -webkit-justify-content: center;\n          justify-content: center;\n  -webkit-align-items: center;\n          align-items: center;\n  width: 100%;\n  height: 100%;\n  position: absolute;\n  display: none; }\n\n.sidebar__footer {\n  position: relative;\n  height: 100px;\n  background-color: #0066cc;\n  color: #fff;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-align-items: center;\n          align-items: center;\n  -webkit-flex-direction: row;\n          flex-direction: row;\n  -webkit-justify-content: space-around;\n          justify-content: space-around; }\n\n.sidebar__footer_item {\n  line-height: 40px;\n  -webkit-flex: 1;\n          flex: 1;\n  text-align: center; }\n  .sidebar__footer_item a {\n    color: #fff; }\n  .sidebar__footer_item .span {\n    margin-right: 2px; }\n  .sidebar__footer_item .action {\n    margin-left: 2px;\n    line-height: 24px;\n    font-size: 16px; }\n  .sidebar__footer_item img {\n    height: 20px;\n    margin-right: 2px; }\n\n@media all and (max-width: 640px) {\n  .sidebar {\n    -webkit-order: 0;\n            order: 0;\n    min-height: 100px; } }\n\n.block__wrapper {\n  margin: 10px 0; }\n\n.block {\n  padding: 0 0 1em 0;\n  margin: 0;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-wrap: wrap;\n          flex-wrap: wrap;\n  padding: 0; }\n\n.block_heading_oval {\n  height: 40px;\n  width: 40px;\n  border-radius: 50%;\n  background-color: #0066cc;\n  color: #ffffff;\n  font-family: "Roboto Mono";\n  font-size: 21px;\n  font-weight: 500;\n  line-height: 28px;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n          justify-content: center;\n  -webkit-align-items: center;\n          align-items: center; }\n\n.block_heading_title {\n  padding-left: 10px;\n  color: #000000;\n  font-family: "Titillium Web";\n  font-size: 24px;\n  font-weight: bold;\n  line-height: 28px; }\n\n.block_heading {\n  height: 50px;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: row;\n          flex-direction: row;\n  -webkit-align-items: center;\n          align-items: center;\n  padding: 10px; }\n\n.block__item {\n  -webkit-flex-basis: 50%;\n          flex-basis: 50%;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column;\n  padding: 10px; }\n\n.block__object {\n  border-bottom: 1px solid #e8e8e8;\n  -webkit-flex: 1 0 100%;\n          flex: 1 0 100%; }\n\n.block__array__remove {\n  top: 35px; }\n\n.block__item--full .block__array .block__array__remove {\n  top: 10px;\n  right: 20px; }\n\n.block__item--full .block__array .block {\n  color: #5c6f82;\n  background-color: #f6f8f8;\n  border-bottom: 1px solid #e8e8e8; }\n\n.block__item--full {\n  padding: 10px;\n  -webkit-flex: 1 0 100%;\n          flex: 1 0 100%;\n  display: -webkit-flex;\n  display: flex;\n  -webkit-flex-direction: column;\n          flex-direction: column; }\n\n@media all and (max-width: 640px) {\n  .block {\n    -webkit-flex-flow: column;\n            flex-flow: column;\n    -webkit-flex-wrap: nowrap;\n            flex-wrap: nowrap; }\n  .block__item {\n    -webkit-flex-basis: 100%;\n            flex-basis: 100%; } }\n\n.error-info {\n  display: -webkit-flex;\n  display: flex;\n  -webkit-justify-content: center;\n          justify-content: center;\n  -webkit-align-items: center;\n          align-items: center;\n  padding: 0;\n  margin: 15px;\n  width: 28px;\n  height: 28px;\n  border-radius: 50%;\n  background: #fff;\n  color: #ff0000; }\n\n.rc-collapse {\n  background-color: #fff;\n  border-radius: 3px;\n  border: 1px solid #fefefe; }\n\n.rc-collapse-anim-active {\n  transition: height 0.2s ease-out; }\n\n.rc-collapse > .rc-collapse-item {\n  border-top: 1px solid #fefefe; }\n\n.rc-collapse > .rc-collapse-item:first-child {\n  border-top: none; }\n\n.rc-collapse > .rc-collapse-item > .rc-collapse-header {\n  height: 56px;\n  line-height: 56px;\n  text-indent: 16px;\n  cursor: pointer;\n  border-bottom: 1px solid #e5e5e5;\n  background: #fff; }\n\n.rc-collapse > .rc-collapse-item > .rc-collapse-header .arrow {\n  display: inline-block;\n  content: "ciao\\20";\n  width: 0;\n  height: 0;\n  font-size: 0;\n  line-height: 0;\n  border-top: 3px solid transparent;\n  border-bottom: 3px solid transparent;\n  border-left: 4px solid #666;\n  vertical-align: middle;\n  margin-right: 8px; }\n\n.rc-collapse > .rc-collapse-item-disabled > .rc-collapse-header {\n  cursor: not-allowed;\n  background-color: #fff; }\n\n.rc-collapse-content {\n  overflow: hidden;\n  padding: 0 8px;\n  background-color: #fff; }\n\n.rc-collapse-content > .rc-collapse-content-box {\n  margin-top: 16px;\n  margin-bottom: 16px; }\n\n.rc-collapse-content-inactive {\n  display: none; }\n\n.rc-collapse-item:last-child > .rc-collapse-content {\n  border-radius: 0 0 3px 3px; }\n\n.rc-collapse > .rc-collapse-item-active > .rc-collapse-header .arrow {\n  border-left: 3px solid transparent;\n  border-right: 3px solid transparent;\n  border-top: 4px solid #fefefe;\n  margin-right: 6px; }\n\n.rc-collapse-item > .rc-collapse-header {\n  font-family: "Titillium Web";\n  font-size: 18px;\n  color: #0073e6;\n  background: #fff; }\n\n.rc-collapse > .rc-collapse-item-active > .rc-collapse-header {\n  color: #fff;\n  border-bottom: none;\n  background: #0066cc; }\n\n.rc-collapse > .rc-collapse-item-active > .rc-collapse-header-error {\n  color: #fff;\n  border-bottom: none;\n  background: #F83E5A; }\n\n/*\n.rc-collapse\n  > .rc-collapse-item\n  .rc-collapse-item-active\n  .error\n  > .rc-collapse-header {\n  color: #fff;\n  background: red;\n  border: 1px solid red;\n}\n\n.rc-collapse-item .rc-collapse-header .error {\n  color: #ff0000;\n}\n\n*/\n.country-switcher {\n  min-height: 80px;\n  z-index: 999;\n  display: none; }\n\n.language-switcher {\n  display: -webkit-flex;\n  display: flex;\n  border-bottom: 1px solid #e8e8e8;\n  margin-bottom: 20px;\n  -webkit-flex-flow: row wrap;\n          flex-flow: row wrap;\n  padding: 0 2em;\n  background: #fdfdfd; }\n\n.language-switcher__link,\n.language-switcher__item {\n  font-size: 18px;\n  color: #0066cc;\n  margin-right: 10px;\n  width: 150px;\n  text-align: center; }\n  .language-switcher__link .language-switcher__item-label,\n  .language-switcher__item .language-switcher__item-label {\n    display: inline-block;\n    width: 80%;\n    padding-bottom: 0.5rem;\n    cursor: pointer; }\n  .language-switcher__link img,\n  .language-switcher__item img {\n    width: 14px;\n    height: 14px;\n    cursor: pointer; }\n\n.language-switcher__item--selected {\n  border-bottom: 1px solid #0066cc;\n  cursor: pointer; }\n\n.language-switcher__link {\n  font-size: 18px;\n  margin-bottom: 10px;\n  color: #0066cc; }\n\n.language-filter__dropdown {\n  padding: 0;\n  margin: 0;\n  cursor: pointer; }\n\n.language-filter {\n  margin-top: -48px;\n  width: 250px;\n  height: 400px; }\n\ninput[type="text"].language-filter__input {\n  margin-top: -5px;\n  border-bottom: none;\n  font-size: 18px;\n  color: #5c6f82;\n  border-bottom: 1px solid #e8e8e8;\n  outline: 0; }\n  input[type="text"].language-filter__input::-webkit-input-placeholder {\n    opacity: 0.4;\n    font-size: 18px; }\n  input[type="text"].language-filter__input:-ms-input-placeholder {\n    opacity: 0.4;\n    font-size: 18px; }\n  input[type="text"].language-filter__input::-ms-input-placeholder {\n    opacity: 0.4;\n    font-size: 18px; }\n  input[type="text"].language-filter__input::placeholder {\n    opacity: 0.4;\n    font-size: 18px; }\n  input[type="text"].language-filter__input:focus {\n    outline: 0;\n    outline-offset: -4px; }\n\n.language-filter__content {\n  overflow-y: scroll;\n  height: 300px; }\n\n.language-filter__content__item {\n  color: #5c6f82;\n  font-size: 18px;\n  font-weight: 500;\n  margin-left: -10px; }\n',""])},function(e,t,n){t=e.exports=n(163)(!1);var r=n(218),i=r(n(310)),o=r(n(310)+"?#iefix"),a=r(n(687)),s=r(n(688)),u=r(n(689)),l=r(n(690)+"#glyphicons_halflingsregular");t.push([e.i,"@font-face {\n  font-family: 'Glyphicons Halflings';\n\n  src:  url("+i+");\n  src:  url("+o+") format('embedded-opentype'), \n        url("+a+") format('woff2'), \n        url("+s+") format('woff'), \n        url("+u+") format('truetype'), \n        url("+l+') format(\'svg\');\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: \'Glyphicons Halflings\';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n  content: "\\2a";\n}\n.glyphicon-plus:before {\n  content: "\\2b";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n  content: "\\20ac";\n}\n.glyphicon-minus:before {\n  content: "\\2212";\n}\n.glyphicon-cloud:before {\n  content: "\\2601";\n}\n.glyphicon-envelope:before {\n  content: "\\2709";\n}\n.glyphicon-pencil:before {\n  content: "\\270f";\n}\n.glyphicon-glass:before {\n  content: "\\e001";\n}\n.glyphicon-music:before {\n  content: "\\e002";\n}\n.glyphicon-search:before {\n  content: "\\e003";\n}\n.glyphicon-heart:before {\n  content: "\\e005";\n}\n.glyphicon-star:before {\n  content: "\\e006";\n}\n.glyphicon-star-empty:before {\n  content: "\\e007";\n}\n.glyphicon-user:before {\n  content: "\\e008";\n}\n.glyphicon-film:before {\n  content: "\\e009";\n}\n.glyphicon-th-large:before {\n  content: "\\e010";\n}\n.glyphicon-th:before {\n  content: "\\e011";\n}\n.glyphicon-th-list:before {\n  content: "\\e012";\n}\n.glyphicon-ok:before {\n  content: "\\e013";\n}\n.glyphicon-remove:before {\n  content: "\\e014";\n}\n.glyphicon-zoom-in:before {\n  content: "\\e015";\n}\n.glyphicon-zoom-out:before {\n  content: "\\e016";\n}\n.glyphicon-off:before {\n  content: "\\e017";\n}\n.glyphicon-signal:before {\n  content: "\\e018";\n}\n.glyphicon-cog:before {\n  content: "\\e019";\n}\n.glyphicon-trash:before {\n  content: "\\e020";\n}\n.glyphicon-home:before {\n  content: "\\e021";\n}\n.glyphicon-file:before {\n  content: "\\e022";\n}\n.glyphicon-time:before {\n  content: "\\e023";\n}\n.glyphicon-road:before {\n  content: "\\e024";\n}\n.glyphicon-download-alt:before {\n  content: "\\e025";\n}\n.glyphicon-download:before {\n  content: "\\e026";\n}\n.glyphicon-upload:before {\n  content: "\\e027";\n}\n.glyphicon-inbox:before {\n  content: "\\e028";\n}\n.glyphicon-play-circle:before {\n  content: "\\e029";\n}\n.glyphicon-repeat:before {\n  content: "\\e030";\n}\n.glyphicon-refresh:before {\n  content: "\\e031";\n}\n.glyphicon-list-alt:before {\n  content: "\\e032";\n}\n.glyphicon-lock:before {\n  content: "\\e033";\n}\n.glyphicon-flag:before {\n  content: "\\e034";\n}\n.glyphicon-headphones:before {\n  content: "\\e035";\n}\n.glyphicon-volume-off:before {\n  content: "\\e036";\n}\n.glyphicon-volume-down:before {\n  content: "\\e037";\n}\n.glyphicon-volume-up:before {\n  content: "\\e038";\n}\n.glyphicon-qrcode:before {\n  content: "\\e039";\n}\n.glyphicon-barcode:before {\n  content: "\\e040";\n}\n.glyphicon-tag:before {\n  content: "\\e041";\n}\n.glyphicon-tags:before {\n  content: "\\e042";\n}\n.glyphicon-book:before {\n  content: "\\e043";\n}\n.glyphicon-bookmark:before {\n  content: "\\e044";\n}\n.glyphicon-print:before {\n  content: "\\e045";\n}\n.glyphicon-camera:before {\n  content: "\\e046";\n}\n.glyphicon-font:before {\n  content: "\\e047";\n}\n.glyphicon-bold:before {\n  content: "\\e048";\n}\n.glyphicon-italic:before {\n  content: "\\e049";\n}\n.glyphicon-text-height:before {\n  content: "\\e050";\n}\n.glyphicon-text-width:before {\n  content: "\\e051";\n}\n.glyphicon-align-left:before {\n  content: "\\e052";\n}\n.glyphicon-align-center:before {\n  content: "\\e053";\n}\n.glyphicon-align-right:before {\n  content: "\\e054";\n}\n.glyphicon-align-justify:before {\n  content: "\\e055";\n}\n.glyphicon-list:before {\n  content: "\\e056";\n}\n.glyphicon-indent-left:before {\n  content: "\\e057";\n}\n.glyphicon-indent-right:before {\n  content: "\\e058";\n}\n.glyphicon-facetime-video:before {\n  content: "\\e059";\n}\n.glyphicon-picture:before {\n  content: "\\e060";\n}\n.glyphicon-map-marker:before {\n  content: "\\e062";\n}\n.glyphicon-adjust:before {\n  content: "\\e063";\n}\n.glyphicon-tint:before {\n  content: "\\e064";\n}\n.glyphicon-edit:before {\n  content: "\\e065";\n}\n.glyphicon-share:before {\n  content: "\\e066";\n}\n.glyphicon-check:before {\n  content: "\\e067";\n}\n.glyphicon-move:before {\n  content: "\\e068";\n}\n.glyphicon-step-backward:before {\n  content: "\\e069";\n}\n.glyphicon-fast-backward:before {\n  content: "\\e070";\n}\n.glyphicon-backward:before {\n  content: "\\e071";\n}\n.glyphicon-play:before {\n  content: "\\e072";\n}\n.glyphicon-pause:before {\n  content: "\\e073";\n}\n.glyphicon-stop:before {\n  content: "\\e074";\n}\n.glyphicon-forward:before {\n  content: "\\e075";\n}\n.glyphicon-fast-forward:before {\n  content: "\\e076";\n}\n.glyphicon-step-forward:before {\n  content: "\\e077";\n}\n.glyphicon-eject:before {\n  content: "\\e078";\n}\n.glyphicon-chevron-left:before {\n  content: "\\e079";\n}\n.glyphicon-chevron-right:before {\n  content: "\\e080";\n}\n.glyphicon-plus-sign:before {\n  content: "\\e081";\n}\n.glyphicon-minus-sign:before {\n  content: "\\e082";\n}\n.glyphicon-remove-sign:before {\n  content: "\\e083";\n}\n.glyphicon-ok-sign:before {\n  content: "\\e084";\n}\n.glyphicon-question-sign:before {\n  content: "\\e085";\n}\n.glyphicon-info-sign:before {\n  content: "\\e086";\n}\n.glyphicon-screenshot:before {\n  content: "\\e087";\n}\n.glyphicon-remove-circle:before {\n  content: "\\e088";\n}\n.glyphicon-ok-circle:before {\n  content: "\\e089";\n}\n.glyphicon-ban-circle:before {\n  content: "\\e090";\n}\n.glyphicon-arrow-left:before {\n  content: "\\e091";\n}\n.glyphicon-arrow-right:before {\n  content: "\\e092";\n}\n.glyphicon-arrow-up:before {\n  content: "\\e093";\n}\n.glyphicon-arrow-down:before {\n  content: "\\e094";\n}\n.glyphicon-share-alt:before {\n  content: "\\e095";\n}\n.glyphicon-resize-full:before {\n  content: "\\e096";\n}\n.glyphicon-resize-small:before {\n  content: "\\e097";\n}\n.glyphicon-exclamation-sign:before {\n  content: "\\e101";\n}\n.glyphicon-gift:before {\n  content: "\\e102";\n}\n.glyphicon-leaf:before {\n  content: "\\e103";\n}\n.glyphicon-fire:before {\n  content: "\\e104";\n}\n.glyphicon-eye-open:before {\n  content: "\\e105";\n}\n.glyphicon-eye-close:before {\n  content: "\\e106";\n}\n.glyphicon-warning-sign:before {\n  content: "\\e107";\n}\n.glyphicon-plane:before {\n  content: "\\e108";\n}\n.glyphicon-calendar:before {\n  content: "\\e109";\n}\n.glyphicon-random:before {\n  content: "\\e110";\n}\n.glyphicon-comment:before {\n  content: "\\e111";\n}\n.glyphicon-magnet:before {\n  content: "\\e112";\n}\n.glyphicon-chevron-up:before {\n  content: "\\e113";\n}\n.glyphicon-chevron-down:before {\n  content: "\\e114";\n}\n.glyphicon-retweet:before {\n  content: "\\e115";\n}\n.glyphicon-shopping-cart:before {\n  content: "\\e116";\n}\n.glyphicon-folder-close:before {\n  content: "\\e117";\n}\n.glyphicon-folder-open:before {\n  content: "\\e118";\n}\n.glyphicon-resize-vertical:before {\n  content: "\\e119";\n}\n.glyphicon-resize-horizontal:before {\n  content: "\\e120";\n}\n.glyphicon-hdd:before {\n  content: "\\e121";\n}\n.glyphicon-bullhorn:before {\n  content: "\\e122";\n}\n.glyphicon-bell:before {\n  content: "\\e123";\n}\n.glyphicon-certificate:before {\n  content: "\\e124";\n}\n.glyphicon-thumbs-up:before {\n  content: "\\e125";\n}\n.glyphicon-thumbs-down:before {\n  content: "\\e126";\n}\n.glyphicon-hand-right:before {\n  content: "\\e127";\n}\n.glyphicon-hand-left:before {\n  content: "\\e128";\n}\n.glyphicon-hand-up:before {\n  content: "\\e129";\n}\n.glyphicon-hand-down:before {\n  content: "\\e130";\n}\n.glyphicon-circle-arrow-right:before {\n  content: "\\e131";\n}\n.glyphicon-circle-arrow-left:before {\n  content: "\\e132";\n}\n.glyphicon-circle-arrow-up:before {\n  content: "\\e133";\n}\n.glyphicon-circle-arrow-down:before {\n  content: "\\e134";\n}\n.glyphicon-globe:before {\n  content: "\\e135";\n}\n.glyphicon-wrench:before {\n  content: "\\e136";\n}\n.glyphicon-tasks:before {\n  content: "\\e137";\n}\n.glyphicon-filter:before {\n  content: "\\e138";\n}\n.glyphicon-briefcase:before {\n  content: "\\e139";\n}\n.glyphicon-fullscreen:before {\n  content: "\\e140";\n}\n.glyphicon-dashboard:before {\n  content: "\\e141";\n}\n.glyphicon-paperclip:before {\n  content: "\\e142";\n}\n.glyphicon-heart-empty:before {\n  content: "\\e143";\n}\n.glyphicon-link:before {\n  content: "\\e144";\n}\n.glyphicon-phone:before {\n  content: "\\e145";\n}\n.glyphicon-pushpin:before {\n  content: "\\e146";\n}\n.glyphicon-usd:before {\n  content: "\\e148";\n}\n.glyphicon-gbp:before {\n  content: "\\e149";\n}\n.glyphicon-sort:before {\n  content: "\\e150";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: "\\e151";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: "\\e152";\n}\n.glyphicon-sort-by-order:before {\n  content: "\\e153";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: "\\e154";\n}\n.glyphicon-sort-by-attributes:before {\n  content: "\\e155";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: "\\e156";\n}\n.glyphicon-unchecked:before {\n  content: "\\e157";\n}\n.glyphicon-expand:before {\n  content: "\\e158";\n}\n.glyphicon-collapse-down:before {\n  content: "\\e159";\n}\n.glyphicon-collapse-up:before {\n  content: "\\e160";\n}\n.glyphicon-log-in:before {\n  content: "\\e161";\n}\n.glyphicon-flash:before {\n  content: "\\e162";\n}\n.glyphicon-log-out:before {\n  content: "\\e163";\n}\n.glyphicon-new-window:before {\n  content: "\\e164";\n}\n.glyphicon-record:before {\n  content: "\\e165";\n}\n.glyphicon-save:before {\n  content: "\\e166";\n}\n.glyphicon-open:before {\n  content: "\\e167";\n}\n.glyphicon-saved:before {\n  content: "\\e168";\n}\n.glyphicon-import:before {\n  content: "\\e169";\n}\n.glyphicon-export:before {\n  content: "\\e170";\n}\n.glyphicon-send:before {\n  content: "\\e171";\n}\n.glyphicon-floppy-disk:before {\n  content: "\\e172";\n}\n.glyphicon-floppy-saved:before {\n  content: "\\e173";\n}\n.glyphicon-floppy-remove:before {\n  content: "\\e174";\n}\n.glyphicon-floppy-save:before {\n  content: "\\e175";\n}\n.glyphicon-floppy-open:before {\n  content: "\\e176";\n}\n.glyphicon-credit-card:before {\n  content: "\\e177";\n}\n.glyphicon-transfer:before {\n  content: "\\e178";\n}\n.glyphicon-cutlery:before {\n  content: "\\e179";\n}\n.glyphicon-header:before {\n  content: "\\e180";\n}\n.glyphicon-compressed:before {\n  content: "\\e181";\n}\n.glyphicon-earphone:before {\n  content: "\\e182";\n}\n.glyphicon-phone-alt:before {\n  content: "\\e183";\n}\n.glyphicon-tower:before {\n  content: "\\e184";\n}\n.glyphicon-stats:before {\n  content: "\\e185";\n}\n.glyphicon-sd-video:before {\n  content: "\\e186";\n}\n.glyphicon-hd-video:before {\n  content: "\\e187";\n}\n.glyphicon-subtitles:before {\n  content: "\\e188";\n}\n.glyphicon-sound-stereo:before {\n  content: "\\e189";\n}\n.glyphicon-sound-dolby:before {\n  content: "\\e190";\n}\n.glyphicon-sound-5-1:before {\n  content: "\\e191";\n}\n.glyphicon-sound-6-1:before {\n  content: "\\e192";\n}\n.glyphicon-sound-7-1:before {\n  content: "\\e193";\n}\n.glyphicon-copyright-mark:before {\n  content: "\\e194";\n}\n.glyphicon-registration-mark:before {\n  content: "\\e195";\n}\n.glyphicon-cloud-download:before {\n  content: "\\e197";\n}\n.glyphicon-cloud-upload:before {\n  content: "\\e198";\n}\n.glyphicon-tree-conifer:before {\n  content: "\\e199";\n}\n.glyphicon-tree-deciduous:before {\n  content: "\\e200";\n}\n.glyphicon-cd:before {\n  content: "\\e201";\n}\n.glyphicon-save-file:before {\n  content: "\\e202";\n}\n.glyphicon-open-file:before {\n  content: "\\e203";\n}\n.glyphicon-level-up:before {\n  content: "\\e204";\n}\n.glyphicon-copy:before {\n  content: "\\e205";\n}\n.glyphicon-paste:before {\n  content: "\\e206";\n}\n.glyphicon-alert:before {\n  content: "\\e209";\n}\n.glyphicon-equalizer:before {\n  content: "\\e210";\n}\n.glyphicon-king:before {\n  content: "\\e211";\n}\n.glyphicon-queen:before {\n  content: "\\e212";\n}\n.glyphicon-pawn:before {\n  content: "\\e213";\n}\n.glyphicon-bishop:before {\n  content: "\\e214";\n}\n.glyphicon-knight:before {\n  content: "\\e215";\n}\n.glyphicon-baby-formula:before {\n  content: "\\e216";\n}\n.glyphicon-tent:before {\n  content: "\\26fa";\n}\n.glyphicon-blackboard:before {\n  content: "\\e218";\n}\n.glyphicon-bed:before {\n  content: "\\e219";\n}\n.glyphicon-apple:before {\n  content: "\\f8ff";\n}\n.glyphicon-erase:before {\n  content: "\\e221";\n}\n.glyphicon-hourglass:before {\n  content: "\\231b";\n}\n.glyphicon-lamp:before {\n  content: "\\e223";\n}\n.glyphicon-duplicate:before {\n  content: "\\e224";\n}\n.glyphicon-piggy-bank:before {\n  content: "\\e225";\n}\n.glyphicon-scissors:before {\n  content: "\\e226";\n}\n.glyphicon-bitcoin:before {\n  content: "\\e227";\n}\n.glyphicon-btc:before {\n  content: "\\e227";\n}\n.glyphicon-xbt:before {\n  content: "\\e227";\n}\n.glyphicon-yen:before {\n  content: "\\00a5";\n}\n.glyphicon-jpy:before {\n  content: "\\00a5";\n}\n.glyphicon-ruble:before {\n  content: "\\20bd";\n}\n.glyphicon-rub:before {\n  content: "\\20bd";\n}\n.glyphicon-scale:before {\n  content: "\\e230";\n}\n.glyphicon-ice-lolly:before {\n  content: "\\e231";\n}\n.glyphicon-ice-lolly-tasted:before {\n  content: "\\e232";\n}\n.glyphicon-education:before {\n  content: "\\e233";\n}\n.glyphicon-option-horizontal:before {\n  content: "\\e234";\n}\n.glyphicon-option-vertical:before {\n  content: "\\e235";\n}\n.glyphicon-menu-hamburger:before {\n  content: "\\e236";\n}\n.glyphicon-modal-window:before {\n  content: "\\e237";\n}\n.glyphicon-oil:before {\n  content: "\\e238";\n}\n.glyphicon-grain:before {\n  content: "\\e239";\n}\n.glyphicon-sunglasses:before {\n  content: "\\e240";\n}\n.glyphicon-text-size:before {\n  content: "\\e241";\n}\n.glyphicon-text-color:before {\n  content: "\\e242";\n}\n.glyphicon-text-background:before {\n  content: "\\e243";\n}\n.glyphicon-object-align-top:before {\n  content: "\\e244";\n}\n.glyphicon-object-align-bottom:before {\n  content: "\\e245";\n}\n.glyphicon-object-align-horizontal:before {\n  content: "\\e246";\n}\n.glyphicon-object-align-left:before {\n  content: "\\e247";\n}\n.glyphicon-object-align-vertical:before {\n  content: "\\e248";\n}\n.glyphicon-object-align-right:before {\n  content: "\\e249";\n}\n.glyphicon-triangle-right:before {\n  content: "\\e250";\n}\n.glyphicon-triangle-left:before {\n  content: "\\e251";\n}\n.glyphicon-triangle-bottom:before {\n  content: "\\e252";\n}\n.glyphicon-triangle-top:before {\n  content: "\\e253";\n}\n.glyphicon-console:before {\n  content: "\\e254";\n}\n.glyphicon-superscript:before {\n  content: "\\e255";\n}\n.glyphicon-subscript:before {\n  content: "\\e256";\n}\n.glyphicon-menu-left:before {\n  content: "\\e257";\n}\n.glyphicon-menu-right:before {\n  content: "\\e258";\n}\n.glyphicon-menu-down:before {\n  content: "\\e259";\n}\n.glyphicon-menu-up:before {\n  content: "\\e260";\n}\n',""])},function(e,t,n){e.exports=n.p+"448c34a56d699c29117adc64c43affeb.woff2"},function(e,t,n){e.exports=n.p+"fa2772327f55d8198301fdb8bcfc8158.woff"},function(e,t,n){e.exports=n.p+"e18bbf611f2a2e43afc071aa2f4e1512.ttf"},function(e,t,n){e.exports=n.p+"89889688147bd7575d6327160d64e760.svg"},function(e,t,n){e.exports=n.p+"5f2d13c2e7291d5cc913ac84524d55ab.woff2"},function(e,t,n){e.exports=n.p+"b9f25e91023f39c84aad839b06a71f83.woff"},function(e,t,n){e.exports=n.p+"1615bb1c6d9f3aa65c1dc69444072f9a.ttf"},function(e,t,n){e.exports=n.p+"0c4a773d62593e97c460207d3dbb0b62.woff2"},function(e,t,n){e.exports=n.p+"4c2bb99449e72688328d5e800131204c.woff"},function(e,t,n){e.exports=n.p+"4f5848e6a415f5a4964a272d8b633164.ttf"},function(e,t,n){e.exports=n.p+"eb6768ff06901c6f4024db866c17442c.woff2"},function(e,t,n){e.exports=n.p+"b898230d289d9b1e0f861a9d9a383702.woff"},function(e,t,n){e.exports=n.p+"600f2d0861eeddb39f0d8b0ff13ef59c.ttf"},function(e,t,n){e.exports=n.p+"de4ac316b39510e614447b713641a759.woff2"},function(e,t,n){e.exports=n.p+"156a79f7efa6213b9d4933024e80f37d.woff"},function(e,t,n){e.exports=n.p+"a9f517c1ea874345a3951d5ec4ea545c.ttf"},function(e,t,n){e.exports=n.p+"6fcf94b8847dbad082108c490535457d.woff2"},function(e,t,n){e.exports=n.p+"06b572af3d54cd72dfaa0028e85b2880.woff"},function(e,t,n){e.exports=n.p+"c87345ceb65eb56514768c598074a102.ttf"},function(e,t,n){e.exports=n.p+"e99c68d4210c2faa09b7590e8ba57c38.woff2"},function(e,t,n){e.exports=n.p+"d4d81e202ab1792a05eea0622fea3fb8.woff"},function(e,t,n){e.exports=n.p+"eb2b8c98a8fc70a6cf461d7ead627e9e.ttf"},function(e,t,n){e.exports=n.p+"06ee7eaf8c7dbfb643d13c2d2de168e5.woff2"},function(e,t,n){e.exports=n.p+"a4b127a9e2c97d30fc3e39631d533dcd.woff"},function(e,t,n){e.exports=n.p+"a48ac41620cd818c5020d0f4302489ff.ttf"},function(e,t,n){e.exports=n.p+"7fad2d5fbf5f236973d8ec1256c22401.woff2"},function(e,t,n){e.exports=n.p+"318a89207d1d420efc6e3ba79e480732.woff"},function(e,t,n){e.exports=n.p+"c0c4a33786b0278c385d0f647b57490f.ttf"},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var i,o=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(o)?e:(i=0===o.indexOf("//")?o:0===o.indexOf("/")?n+o:r+o.replace(/^\.\//,""),"url("+JSON.stringify(i)+")")})}},function(e,t,n){var r=n(717);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(219)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){t=e.exports=n(163)(!1);var r=n(218),i=r(n(718)),o=r(n(719)+"?#iefix&v=4.1.0"),a=r(n(720)),s=r(n(721)),u=r(n(722)+"#fontawesomeregular"),l=r(n(723)),c=r(n(724));t.push([e.i,'.rw-btn, .rw-input-reset, .rw-input, .rw-dropdown-list-autofill, .rw-filter-input {\n  color: inherit;\n  padding: 0;\n  margin: 0;\n  border: none;\n  box-shadow: none;\n  background: none;\n  background-image: none;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n  touch-action: manipulation; }\n\n.rw-btn::-moz-focus-inner {\n  padding: 0;\n  border: 0; }\n\nselect.rw-input {\n  text-transform: none; }\n\nhtml input[type="button"].rw-input {\n  -webkit-appearance: button;\n  cursor: pointer; }\n\ntextarea.rw-input {\n  overflow: auto;\n  resize: vertical; }\n\nbutton[disabled].rw-input, fieldset[disabled] .rw-input, html input[disabled].rw-input {\n  cursor: not-allowed; }\n\nbutton.rw-input::-moz-focus-inner, input.rw-input::-moz-focus-inner {\n  border: 0;\n  padding: 0; }\n\ninput[type="checkbox"], input[type="radio"] {\n  box-sizing: border-box;\n  padding: 0; }\n\n@font-face {\n  font-family: \'RwWidgets\';\n  font-weight: normal;\n  font-style: normal;\n  src: url('+i+");\n  src: url("+o+') format("embedded-opentype"), url('+a+') format("woff"), url('+s+') format("truetype"), url('+u+") format(\"svg\"); }\n\n.rw-i {\n  display: inline-block;\n  color: inherit;\n  font-family: RwWidgets;\n  font-style: normal;\n  font-weight: normal;\n  font-variant: normal;\n  text-transform: none;\n  -moz-osx-font-smoothing: grayscale;\n  -webkit-font-smoothing: antialiased; }\n\n.rw-i-caret-down:before {\n  content: '\\e803'; }\n\n.rw-i-caret-up:before {\n  content: '\\e800'; }\n\n.rw-i-chevron-left:before {\n  content: '\\f104'; }\n\n.rw-i-chevron-right:before {\n  content: '\\f105'; }\n\n.rw-i-clock-o:before {\n  content: '\\e805'; }\n\n.rw-i-calendar:before {\n  content: '\\e804'; }\n\n.rw-i-search:before {\n  content: '\\e801'; }\n\n.rw-btn {\n  position: relative;\n  color: #333;\n  display: inline-block;\n  text-align: center;\n  vertical-align: middle;\n  border: 1px solid transparent;\n  cursor: pointer;\n  outline: none; }\n\n.rw-state-readonly .rw-btn, .rw-state-disabled .rw-btn {\n  cursor: not-allowed; }\n\n.rw-btn-select {\n  opacity: .75;\n  transition: opacity 150ms ease-in; }\n\n.rw-btn-select:hover, .rw-state-focus .rw-btn-select, :hover > .rw-btn-select {\n  opacity: 1; }\n\n.rw-btn-primary {\n  width: 100%;\n  white-space: normal;\n  line-height: 2em; }\n\n.rw-btn-primary:hover {\n  background-color: #e6e6e6; }\n\n.rw-btn-select[disabled], .rw-btn-primary[disabled], fieldset[disabled] .rw-btn-select, fieldset[disabled] .rw-btn-primary {\n  box-shadow: none;\n  cursor: not-allowed;\n  opacity: .65;\n  pointer-events: none; }\n\n.rw-sr {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0; }\n\n.rw-widget {\n  background-clip: border-box;\n  border: none;\n  color: #333;\n  font-size: 1em;\n  font-family: inherit;\n  outline: none;\n  position: relative; }\n\n.rw-widget, .rw-widget * {\n  box-sizing: border-box; }\n\n.rw-widget:before, .rw-widget *:before, .rw-widget:after, .rw-widget *:after {\n  box-sizing: border-box; }\n\n.rw-widget > .rw-widget-container {\n  width: 100%;\n  margin: 0; }\n\n.rw-widget-container {\n  background-color: #fff;\n  border: #ccc 1px solid;\n  border-radius: 4px; }\n\n.rw-widget-container.rw-state-focus, .rw-state-focus > .rw-widget-container, .rw-widget-container.rw-state-focus:hover, .rw-state-focus > .rw-widget-container:hover {\n  background-color: #fff;\n  border-color: #66afe9;\n  box-shadow: 0 0 8px rgba(102, 175, 233, 0.6); }\n\n.rw-widget-container.rw-state-readonly, .rw-state-readonly > .rw-widget-container {\n  cursor: not-allowed; }\n\n.rw-widget-container.rw-state-disabled, .rw-state-disabled > .rw-widget-container, fieldset[disabled] .rw-widget-container, .rw-widget-container.rw-state-disabled:hover, .rw-state-disabled > .rw-widget-container:hover, fieldset[disabled] .rw-widget-container:hover, .rw-widget-container.rw-state-disabled:active, .rw-state-disabled > .rw-widget-container:active, fieldset[disabled] .rw-widget-container:active {\n  box-shadow: none;\n  cursor: not-allowed; }\n\n.rw-widget-picker {\n  position: relative;\n  overflow: hidden;\n  border-collapse: separate;\n  display: inline-table;\n  height: 2.429em; }\n\n.rw-widget-picker > * {\n  position: relative;\n  border: none;\n  outline: none;\n  width: 100%;\n  height: 100%;\n  display: table-cell; }\n\n.rw-widget-picker > .rw-select {\n  width: 1%;\n  white-space: nowrap; }\n\n.rw-open > .rw-widget-picker {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0; }\n\n.rw-open-up > .rw-widget-picker {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0; }\n\nfieldset[disabled] .rw-widget-picker, .rw-state-disabled > .rw-widget-picker {\n  background-color: #eee; }\n\n.rw-multiselect > .rw-widget-picker {\n  height: auto; }\n\n.rw-select {\n  cursor: pointer; }\n\n.rw-select > * {\n  width: 1.9em;\n  height: 100%; }\n\n.rw-state-readonly .rw-select, .rw-state-disabled .rw-select {\n  cursor: not-allowed; }\n\n.rw-select-bordered {\n  cursor: pointer;\n  border: none;\n  border-left: #ccc 1px solid; }\n\n.rw-select-bordered:hover, .rw-select-bordered:active {\n  background-color: #e6e6e6; }\n\n.rw-select-bordered:active {\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\n\n.rw-state-disabled .rw-select-bordered, .rw-state-readonly .rw-select-bordered, fieldset[disabled] .rw-select-bordered, .rw-state-disabled .rw-select-bordered:hover, .rw-state-readonly .rw-select-bordered:hover, fieldset[disabled] .rw-select-bordered:hover, .rw-state-disabled .rw-select-bordered:active, .rw-state-readonly .rw-select-bordered:active, fieldset[disabled] .rw-select-bordered:active {\n  cursor: not-allowed;\n  background-color: inherit;\n  background-image: none;\n  box-shadow: none; }\n\n.rw-rtl .rw-select-bordered {\n  border-right: #ccc 1px solid;\n  border-left: none; }\n\n.rw-rtl {\n  direction: rtl; }\n\n.rw-input-reset, .rw-input, .rw-dropdown-list-autofill, .rw-filter-input {\n  outline: 0; }\n\n.rw-input-reset::-moz-placeholder {\n  color: #999;\n  opacity: 1; }\n\n.rw-input-reset:-ms-input-placeholder {\n  color: #999; }\n\n.rw-input-reset::-webkit-input-placeholder {\n  color: #999; }\n\n.rw-input, .rw-dropdown-list-autofill, .rw-filter-input {\n  color: #555;\n  padding: 0 .857em;\n  background-color: #fff; }\n\n.rw-input[type=\"text\"]::-ms-clear {\n  display: none; }\n\n.rw-input[disabled], fieldset[disabled] .rw-input {\n  box-shadow: none;\n  cursor: not-allowed;\n  opacity: 1;\n  background-color: #eee;\n  border-color: #ccc; }\n\n.rw-input[readonly] {\n  cursor: not-allowed; }\n\n.rw-i.rw-loading {\n  display: block;\n  background: url("+l+") no-repeat center;\n  min-width: 16px;\n  width: 1.9em;\n  height: 16px; }\n\n.rw-i.rw-loading:before {\n  content: \"\"; }\n\n.rw-placeholder {\n  color: #999; }\n\n.rw-detect-autofill:-webkit-autofill {\n  -webkit-animation-name: react-widgets-autofill-start;\n          animation-name: react-widgets-autofill-start;\n  transition: background-color 50000s ease-in-out 0s; }\n\n.rw-detect-autofill:not(:-webkit-autofill) {\n  -webkit-animation-name: react-widgets-autofill-cancel;\n          animation-name: react-widgets-autofill-cancel; }\n\n.rw-webkit-autofill .rw-widget-container, .rw-input:-webkit-autofill {\n  background-color: #faffbd !important;\n  background-image: none !important;\n  color: #000 !important; }\n\n.rw-widget-input, .rw-filter-input {\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\n\n.rw-widget-input.rw-state-focus {\n  box-shadow: 0 0 8px rgba(102, 175, 233, 0.6), inset 0 1px 1px rgba(0, 0, 0, 0.075); }\n\n.rw-list {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  font-size: 1em;\n  outline: 0;\n  overflow: auto;\n  max-height: 200px; }\n\n.rw-list-option {\n  -ms-user-select: none;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n          user-select: none;\n  color: #333;\n  cursor: pointer;\n  border: 1px solid transparent; }\n\n.rw-list-option.rw-state-focus, .rw-list-option.rw-state-focus:hover {\n  background-color: transparent;\n  border-color: #66afe9;\n  color: #333; }\n\n.rw-list-option:hover, .rw-list-option:hover.rw-state-focus {\n  background-color: #e6e6e6;\n  border-color: #e6e6e6;\n  color: #333; }\n\n.rw-list-option.rw-state-selected, .rw-list-option.rw-state-selected:hover {\n  background-color: #337ab7;\n  border-color: #337ab7;\n  color: white; }\n\nfieldset[disabled] .rw-list-option, .rw-list-option.rw-state-disabled, .rw-list-option.rw-state-readonly {\n  box-shadow: none;\n  cursor: not-allowed;\n  color: #999;\n  opacity: .7; }\n\nfieldset[disabled] .rw-list-option:hover, .rw-list-option.rw-state-disabled:hover, .rw-list-option.rw-state-readonly:hover {\n  background: none;\n  border-color: transparent; }\n\n.rw-list-empty, .rw-list-option, .rw-list-optgroup {\n  padding: .143em .75em;\n  outline: 0; }\n\n.rw-list-optgroup {\n  font-weight: bold;\n  padding-top: 7px; }\n\n.rw-list-option-create {\n  border-top: 1px #ccc solid; }\n\n.rw-dropdown-list-autofill {\n  padding: 0; }\n\n.rw-dropdown-list-input {\n  background-color: transparent;\n  vertical-align: middle;\n  padding-right: 0;\n  max-width: 1px;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  overflow: hidden; }\n\n.rw-rtl .rw-dropdown-list-input {\n  padding-right: .857em;\n  padding-left: 0; }\n\n.rw-filter-input {\n  position: relative;\n  margin: 4px;\n  padding-right: 0; }\n\n.rw-filter-input .rw-rtl {\n  padding-right: .857em;\n  padding-left: 0; }\n\n.rw-filter-input .rw-select, .rw-filter-input .rw-btn {\n  opacity: .75;\n  cursor: text; }\n\n.rw-filter-input > .rw-select, .rw-filter-input > .rw-select:active, .rw-filter-input > .rw-select:hover {\n  background: none;\n  cursor: initial;\n  box-shadow: none; }\n\n.rw-number-picker .rw-btn {\n  cursor: pointer;\n  height: calc(1.2145em - 1px);\n  margin-top: -1px\\9;\n  height: 1.2145em\\9;\n  line-height: 1.2145em;\n  line-height: calc(1.2145em - 1px);\n  display: block;\n  border: none; }\n\n.rw-number-picker .rw-btn:hover, .rw-number-picker .rw-btn:active {\n  background-color: #e6e6e6; }\n\n.rw-number-picker .rw-btn:active {\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\n\n.rw-state-disabled .rw-number-picker .rw-btn, .rw-state-readonly .rw-number-picker .rw-btn, fieldset[disabled] .rw-number-picker .rw-btn, .rw-state-disabled .rw-number-picker .rw-btn:hover, .rw-state-readonly .rw-number-picker .rw-btn:hover, fieldset[disabled] .rw-number-picker .rw-btn:hover, .rw-state-disabled .rw-number-picker .rw-btn:active, .rw-state-readonly .rw-number-picker .rw-btn:active, fieldset[disabled] .rw-number-picker .rw-btn:active {\n  cursor: not-allowed;\n  background-color: inherit;\n  background-image: none;\n  box-shadow: none; }\n\n.rw-number-picker .rw-select {\n  vertical-align: middle; }\n\n.rw-number-picker .rw-select, .rw-number-picker .rw-select:hover, .rw-number-picker .rw-select:active {\n  box-shadow: none; }\n\n.rw-calendar-popup {\n  right: auto;\n  min-width: 0;\n  width: 18em; }\n\n.rw-calendar {\n  border-radius: 4px;\n  background-color: #fff;\n  border: #ccc 1px solid;\n  overflow: hidden; }\n\n.rw-calendar.rw-popup {\n  border-color: #ccc; }\n\n.rw-calendar-now {\n  font-weight: bold; }\n\n.rw-calendar-btn-left, .rw-calendar-btn-right {\n  width: 12.5%; }\n\n.rw-calendar-btn-view {\n  width: 75%; }\n\n.rw-calendar-footer {\n  border-top: 1px solid #ccc; }\n\n.rw-calendar-grid {\n  outline: none;\n  height: 14.28571429em;\n  table-layout: fixed;\n  border-collapse: separate;\n  border-spacing: 0;\n  width: 100%;\n  background-color: #fff; }\n\n.rw-head-cell {\n  text-align: center;\n  border-bottom: 1px solid #ccc;\n  padding: .25em; }\n\n.rw-cell {\n  color: #333;\n  border-radius: 4px;\n  cursor: pointer;\n  line-height: normal;\n  text-align: center;\n  border: 1px solid transparent;\n  padding: .25em; }\n\n.rw-cell:hover {\n  background-color: #e6e6e6;\n  border-color: #e6e6e6;\n  color: #333; }\n\n.rw-cell.rw-state-focus, .rw-cell.rw-state-focus:hover {\n  background-color: transparent;\n  border-color: #66afe9;\n  color: #333; }\n\n.rw-cell.rw-state-selected, .rw-cell.rw-state-selected:hover {\n  background-color: #337ab7;\n  border-color: #337ab7;\n  color: white; }\n\n.rw-cell.rw-state-disabled {\n  color: #999;\n  opacity: .7; }\n\n.rw-cell.rw-state-disabled:hover {\n  background: none;\n  border-color: transparent; }\n\n.rw-calendar-month .rw-cell {\n  text-align: center; }\n\n.rw-cell-off-range {\n  color: #999; }\n\n.rw-calendar-transition-group {\n  position: relative; }\n\n.rw-calendar-transition {\n  transition: -webkit-transform 300ms;\n  transition: transform 300ms;\n  transition: transform 300ms, -webkit-transform 300ms;\n  overflow: hidden; }\n\n.rw-calendar-transition-top {\n  -webkit-transform: translateY(-100%);\n          transform: translateY(-100%); }\n\n.rw-calendar-transition-bottom {\n  -webkit-transform: translateY(100%);\n          transform: translateY(100%); }\n\n.rw-calendar-transition-right {\n  -webkit-transform: translateX(-100%);\n          transform: translateX(-100%); }\n\n.rw-calendar-transition-left {\n  -webkit-transform: translateX(100%);\n          transform: translateX(100%); }\n\n.rw-calendar-transition-entering.rw-calendar-transition-top, .rw-calendar-transition-entered.rw-calendar-transition-top, .rw-calendar-transition-entering.rw-calendar-transition-bottom, .rw-calendar-transition-entered.rw-calendar-transition-bottom {\n  -webkit-transform: translateY(0);\n          transform: translateY(0); }\n\n.rw-calendar-transition-entering.rw-calendar-transition-right, .rw-calendar-transition-entered.rw-calendar-transition-right, .rw-calendar-transition-entering.rw-calendar-transition-left, .rw-calendar-transition-entered.rw-calendar-transition-left {\n  -webkit-transform: translateX(0);\n          transform: translateX(0); }\n\n.rw-calendar-transition-exiting.rw-calendar-transition-top {\n  -webkit-transform: translateY(100%);\n          transform: translateY(100%); }\n\n.rw-calendar-transition-exiting.rw-calendar-transition-bottom {\n  -webkit-transform: translateY(-100%);\n          transform: translateY(-100%); }\n\n.rw-calendar-transition-exiting.rw-calendar-transition-right {\n  -webkit-transform: translateX(100%);\n          transform: translateX(100%); }\n\n.rw-calendar-transition-exiting.rw-calendar-transition-left {\n  -webkit-transform: translateX(-100%);\n          transform: translateX(-100%); }\n\n.rw-select-list {\n  overflow: auto;\n  position: relative; }\n\n.rw-select-list .rw-list {\n  max-height: none;\n  font-size: 1em; }\n\n.rw-select-list-label {\n  display: block;\n  position: relative;\n  font-weight: normal;\n  cursor: inherit;\n  padding-left: 20px;\n  margin: 0; }\n\n.rw-rtl .rw-select-list-label {\n  padding-left: 0;\n  padding-right: 20px; }\n\ninput.rw-select-list-input {\n  position: absolute;\n  left: 0;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n          transform: translateY(-50%);\n  top: 0.1em /9;\n  margin: 0;\n  line-height: normal;\n  cursor: inherit; }\n\n.rw-rtl input.rw-select-list-input {\n  left: auto;\n  right: 0; }\n\n.rw-loading-mask {\n  content: '';\n  background: url("+c+") no-repeat center;\n  position: absolute;\n  background-color: #fff;\n  border-radius: 4px;\n  opacity: .7;\n  top: 0;\n  left: 0;\n  height: 100%;\n  width: 100%; }\n\n.rw-multiselect {\n  cursor: text; }\n\n.rw-multiselect .rw-input-reset {\n  height: calc(2.429em - 2px);\n  margin-top: -2px\\9;\n  height: 2.429em\\9;\n  border-width: 0;\n  width: auto;\n  max-width: 100%;\n  padding: 0 .857em; }\n\n.rw-multiselect .rw-select {\n  vertical-align: middle; }\n\n.rw-multiselect .rw-select, .rw-multiselect .rw-select:hover, .rw-multiselect .rw-select:active {\n  box-shadow: none;\n  background: none; }\n\n.rw-multiselect-taglist {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  display: inline-block;\n  vertical-align: 0;\n  outline: none; }\n\n.rw-multiselect-tag {\n  display: inline-table;\n  color: inherit;\n  padding: 0 .35em 0 .35em;\n  margin-left: calc(0.279335em - 1px);\n  margin-top: .279335em;\n  margin-top: calc(0.279335em - 1px);\n  height: 1.87033em;\n  border-radius: 3px;\n  background-color: #eee;\n  border: 1px solid #ccc;\n  cursor: default;\n  vertical-align: top;\n  text-align: center;\n  overflow: hidden;\n  max-width: 100%; }\n\n.rw-multiselect-tag > * {\n  display: table-cell;\n  vertical-align: middle;\n  height: 100%; }\n\n.rw-rtl .rw-multiselect-tag {\n  margin-left: 0;\n  margin-right: calc(0.279335em - 1px);\n  padding: 0 .35em 0 .35em; }\n\n.rw-multiselect-tag.rw-state-focus, .rw-multiselect-tag.rw-state-focus:hover {\n  background-color: transparent;\n  border-color: #66afe9;\n  color: #333; }\n\n.rw-multiselect-tag.rw-state-readonly, .rw-multiselect-tag.rw-state-disabled, .rw-state-readonly .rw-multiselect-tag, .rw-state-disabled .rw-multiselect-tag, fieldset[disabled] .rw-multiselect-tag {\n  cursor: not-allowed; }\n\n.rw-multiselect-tag.rw-state-disabled, .rw-state-disabled .rw-multiselect-tag, fieldset[disabled] .rw-multiselect-tag {\n  opacity: .65; }\n\nfieldset[disabled] .rw-multiselect-tag {\n  box-shadow: none;\n  cursor: not-allowed; }\n\n.rw-multiselect-tag-btn {\n  color: inherit;\n  margin-left: .25em; }\n\n.rw-rtl .rw-multiselect-tag-btn {\n  margin-left: 0;\n  margin-right: .25em; }\n\n.rw-autocomplete .rw-select {\n  position: absolute;\n  display: block;\n  width: auto;\n  top: 0;\n  bottom: 0;\n  right: 0; }\n\n.rw-popup-container {\n  position: absolute;\n  z-index: 1005;\n  top: 100%;\n  left: -6px;\n  right: -6px; }\n\n.rw-popup-container.rw-dropup {\n  top: auto;\n  bottom: 100%; }\n\n.rw-state-focus .rw-popup-container {\n  z-index: 1006; }\n\n.rw-popup-transition {\n  width: 100%;\n  margin-bottom: 6px;\n  padding: 0 6px; }\n\n.rw-dropup > .rw-popup-transition {\n  margin-bottom: 0;\n  margin-top: 6px; }\n\n.rw-popup {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n  box-shadow: 0 5px 6px rgba(0, 0, 0, 0.2);\n  border: #ccc 1px solid;\n  background: #fff; }\n\n.rw-dropup .rw-popup {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n  box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.2); }\n\n.rw-popup-transition {\n  transition: -webkit-transform 200ms;\n  transition: transform 200ms;\n  transition: transform 200ms, -webkit-transform 200ms; }\n\n.rw-popup-transition-entering {\n  overflow: hidden; }\n\n.rw-popup-transition-entering .rw-popup-transition {\n  -webkit-transform: translateY(0);\n          transform: translateY(0);\n  transition-timing-function: ease-out; }\n\n.rw-popup-transition-exiting .rw-popup-transition {\n  transition-timing-function: ease-in; }\n\n.rw-popup-transition-exiting, .rw-popup-transition-exited {\n  overflow: hidden; }\n\n.rw-popup-transition-exiting .rw-popup-transition, .rw-popup-transition-exited .rw-popup-transition {\n  -webkit-transform: translateY(-100%);\n          transform: translateY(-100%); }\n\n.rw-popup-transition-exiting.rw-dropup .rw-popup-transition, .rw-popup-transition-exited.rw-dropup .rw-popup-transition {\n  -webkit-transform: translateY(100%);\n          transform: translateY(100%); }\n\n.rw-popup-transition-exited {\n  display: none; }\n\n.rw-state-disabled {\n  box-shadow: none;\n  cursor: not-allowed; }\n",""])},function(e,t,n){e.exports=n.p+"bc7c4a59f924cf037aad6e1f9edba366.eot"},function(e,t,n){e.exports=n.p+"bc7c4a59f924cf037aad6e1f9edba366.eot"},function(e,t,n){e.exports=n.p+"12f0820c451bdc75f4d1ef97732bf6e8.woff"},function(e,t,n){e.exports=n.p+"eceddf474df95d8d4a7e316668c3be85.ttf"},function(e,t,n){e.exports=n.p+"792dcd18baf5f544aabcad1883d673c2.svg"},function(e,t){e.exports="data:image/gif;base64,R0lGODlhEAAQAPIAAP///zMzM87OzmdnZzMzM4GBgZqamqenpyH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA=="},function(e,t){e.exports="data:image/gif;base64,R0lGODlhIAAgAOMAAAQCBKyqrBweHAwODPz6/Ly+vCwqLBQWFP///wAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQIBgAAACwAAAAAIAAgAAAEMBDJSau9OOvNu/9gKI5kaZ5oqq5s675wLM90bd94rl+FcAQsAwAwIKyERKOq9/NEAAAh+QQIBgAAACwAAAAAIAAgAIMEAgSEgoTs6uxMSkykpqQ0MjT09vRsbmwcGhyMjoxUVlSsrqz8/vz///8AAAAAAAAENLDJSau9OOvNu/9gKI5kaZ5oqq5s675wLM90TRnEwrADABwrgw+AYBV8CpYgkDDYntDoKgIAIfkECAYAAAAsAAAAACAAIACDBAIEjIqMzMrMNDI07OrsHBoc/Pr8BAYEnJqc1NLUREJEHB4c/P78////AAAAAAAABDOwyUmrvTjrzbv/YCiOZGmeaKqubOt+iaII7AAABbMW92GsiFugRSC8jsikcslsOp/QUAQAIfkECAYAAAAsAAAAACAAIACEBAIEjIqMREJEzMrMZGZkLC4stLa05ObkFBIUfH58nJ6cbG5s/P78BAYEVFZU3N7cbGpsxMLE7OrsFBYUpKKk////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUdgJY5kaZ5oqq5s675wLM90bd94rleHgCS7CgRAjOwIRIBR9yg0IEERI0qtWq/YrHbL7eYeAUNQMiFSdoakY3dAEBVBsFgVAgAh+QQIBgAAACwAAAAAIAAgAIQEAgSEhoTU1tRERkTs7uwsKiysqqzk4uR0cnT8+vw0MjQMDgyUlpRUVlTs6uwEBgTc3tz08vQsLiy8vrzk5uR8enz8/vw0NjScnpxcXlz///8AAAAAAAAAAAAAAAAAAAAFTKAmjmRpnmiqrmzrvnAszzRsXA1Vm9QDAJldSfADDISlDGAxQZYOBKd0Sq1ar9isdsvtek+WigSRmBqKmCmjGJgSJICCbmqBlL/4UwgAIfkECAYAAAAsAAAAACAAIACEBAIEpKKkTE5M3N7cbGpsNDY07O7sDAoMxMLEXF5c5ObkdHJ0VFJU5OLkbG5sPDo89PL0DA4MzMrM////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUbgJI5kaZ5oqq5s675wrCrO0sjqAwAFnh47gA9F2BGGKAQCyWw6n9CodErFSQZSwS4AHQR7T0hkl4giGA5Ddc1uu9/wODUEACH5BAgGAAAALAAAAAAgACAAhQQCBIyKjMTGxDw+PCQiJKyqrOTm5BQWFLy6vGxqbPT29AwKDNze3CwuLJSSlLSytMTCxHR2dPz+/DQ2NAQGBMzKzExOTKyurOzu7BwaHLy+vGxubPz6/AwODOTi5DQyNJSWlP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZiwJBwSCwaj8ikcslsKjEajNPJyAAOnikzAOgGtMtLF3ABL0EWkHnNbrvf8Lh8LYDMhZFu4r7oUu4DXR93BhsJWXeJiouMjY6PbBUTDQh3DV0HHHNWABSacgULFA6JCgqQREEAIfkECAYAAAAsAAAAACAAIACEBAIEhIKExMLEREJE5ObkLCostLK01NLUZGJkFBIUdHZ0lJaU9PL0DA4MzM7M3NrcbGps/Pr8BAYEjIqMxMbENDI0vLq8HBocfHp8nJ6c9Pb03N7cbG5s////AAAAAAAABVlgJ45kaZ5oqq5kNEEOK48KACTMLA82EOurjK0SAbIchpxxyWw6nx3HYgMtCWwNalVUsy22IkPvAA4rKOW0es1uu9/wuHxeVHMAhUeZ0kOUHX1pGBcDBHMyIQAh+QQIBgAAACwAAAAAIAAgAIQEAgSMiozExsRMTkzk5uQsKiysqqxsbmz09vQMCgyUlpRUVlTs7uw8Pjy0trR0dnT8/vycnpwEBgTk4uRUUlTs6uw0MjT8+vwMDgycmpy8urx8enz///8AAAAAAAAAAAAFXCAnjmRpnihJCFfqpo4ENO1rjwOgC3f/6BJC74Z4UDTDpHLJ5FwigUoTddAVIFNTQQeYZEs/gKX2FUEMCkZ5zW673/C4fC5H5AaItoKr0PPbCBQJFHl0hoeIiYchACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTCxERCROTm5CwqLJyenNTS1GxqbPT29BQWFDw6POzu7KyurNza3Hx6fAwKDJyanMzKzFxeXDQyNPz+/BweHLS2tAQGBISGhMTGxExOTOzq7CwuLNTW1HRydPz6/BwaHDw+PPTy9LSytNze3Hx+fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ6wJNwSCwaj0hiArGIJJ/JAGAqgVqJiCmgce0eFIBFotsdeSrkY6URYaStj2kH/U52tI568jMtjPVHIBEZBICGh4iJiouMjY5GDRsmIIweWhmMF1oTjCN3GBqNCRocj4gMI44ZABgGjCAYUyGvYAAdjQILIgemvb6/QkEAIfkECAYAAAAsAAAAACAAIACEBAIEhIaExMbE5ObkREZEpKKk9Pb0HBoclJKU5OLkXFpczM7M7O7sJCYkjI6MTE5MrK6s/P78DA4MjIqMzMrM7OrsTEpM/Pr8HB4cnJqcZGZk1NLU9PL0LCostLK0////BW3gJ46kIXBkqq5qcgDHwM50ANwTravQDUA7mmFhGDkIjuDMBWhUlEHbLQnVFXyequ4SIOS04LB4TC6bxRuCZXEeNW6Ntkhyk8g/Dtz9M0js/4CBgoOEhYYfF093Ai8adw8+G3IKPn5tCQQdGVUhACH5BAgGAAAALAAAAAAgACAAhQQCBIyOjERCRMzKzCQiJGRiZOTm5LSytBQWFHRydNze3Pz6/AwKDJyenFRSVDw+PGxqbNTW1CwqLOzu7Ly+vFxaXAQGBJSWlMzOzCQmJGRmZOzq7BweHHx+fOTi5Pz+/AwODKSipFRWVGxubMTGxP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZywJJwSCwNRo2icskUehgAwKVJZR6igEq1utgMJ5zoYduMhB0f4aaBITcLWIqbPMK259WJIxPA+/+AgYKDgAMEIFOERA9YE4pDjFGOj0YECImUmZqbnJ2en6B/JAObGlEdmQtYCJoSUQ+aChoQBqG2t1VBACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTCxERCROTi5CQiJJyanGRmZNTS1PTy9BQSFDQyNIyOjKSmpMzKzFxaXHx+fPz6/BwaHExOTOzq7CwqLKSipGxubNze3Dw+PJSWlAQGBISGhMTGxERGRJyenGxqbNTW1PT29BQWFDQ2NJSSlKyurMzOzPz+/BweHOzu7CwuLP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaPQJZwSGRFAh5LcclsChmAaMdJbV6igEaVShgUNMKTAlBJbJ0PLEao6kTOzgkWAT+fJIBDHR4R7f+ATARvgU0iAwApa4VLJlgXjEsdWBCRSwwrB2aWnJ2en6ChoqNDhEQCHyqFAhIbHEQaUQWmexlYFEOIUQ6Buhu4QhBRI5t/IQspBkQRGhCLpNDR0tPUTkEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKEzM7MREJEJCIk7OrsnJ6cFBIUNDI09Pb0lJKU3N7cbGpsrK6sDAoMjIqM1NbULC4s9PL0PDo8/P78dHZ0tLa0BAYEhIaE1NLUREZEJCYk7O7spKKkHB4c/Pr8nJqc5OLktLK0DA4MPD48fH58////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABo1Ak3BIFEI0CEtxyWwKSQCAI+GsCj8PhkAYiQI41molegA3HIBSuAqNbk0S8NppiEY+87mgQc03Pxl4flYLHgARcoNNAV4gik4KXkqPTB8VCA+UmpucnZ6foIB9nwUbAB4hoJFRAaANXgagJgETJRSyuLm6u7yaEhK4JRcODaASXhGgCWgAJLIWERoQYUEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKEREJExMLE5OLkJCIkZGZktLa09Pb0NDY0dHJ0FBIUVFJU1NLUnJ6c7OrsDAoMjIqMLCosbG5svL68/P78PD48fHp8XFpc3N7cBAYEhIaETE5MxMbE5ObkbGpsvLq8/Pr8PDo8dHZ0HBoc1NbU7O7sLC4sXF5c////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABonAlHBIHDpIiUZxySx6OqHUQwMACJrY4oEqCnmqAFF2nOKAO6kNhIQmYxVVjUcYirqxiBEDdM+WlH1uG1UKgWQLcRWGWQlVBYtZGSgMJZCWl5iZmpspAwd2nAFVHJxCJGAPpQyOipwmIx8ZpbO0tba3uJAdFK2cI1UGsxBgoJoCVSezHhMTBLmLQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTExsRERkSkoqTk5uRkZmQcHhxUVlS0trT09vScnpwUFhSMiozc3txMTkysqqzs7ux0cnQMCgw0NjRcXly8vrz8/vx8enwEBgSEhoTMzsxMSkykpqTs6uwsKixcWly8urz8+vyMjozk4uRUUlSsrqz08vR0dnT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGicCUcEgciioTzqnIbBILqMCyA6hqnFji5VMtpajVQHZ8qgIOKQUIMIiMx5wq6j0WCQpChSlBzyooABkWfXQWZl6EYyQZcolvCSUoCo6UlZaXmEQnIw1umURxbJ9EE2ajQwhdp0IiHQsiq7Gys7S1toQJBgSxG2a7pwtmEqskDIECsQUQDrfNzoRBACH5BAgGAAAALAAAAAAgACAAhQQCBISGhERCRMTGxGRmZOTm5CQmJKSipPT29FRSVBQWFJSSlHR2dDQ2NLSytExKTOTi5Ozu7AwKDIyOjMzOzCwuLPz+/Hx+fLy6vAQGBIyKjERGRMzKzHRydOzq7CwqLKSmpPz6/FxeXBweHJyanHx6fDw6PLS2tExOTPTy9P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaIQJVwSCRCGpJOcckkWhgGUUpFAFgHzSzRYQVoqF2sVgvqllTHjHK8RFAQqtAGYCiwtZAR3SOM3McBXRN/dwddDoRsIQECg4mPkJGQCCUJGJJNHVYZdphFKGGeRScZAA0hokUFA6iprq+wsbKzHCYbFLF6AB+wFhJWCrEaViSyHnyzycrLzM2iQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsRERkTk5uRcXlwkIiSkoqTU0tT09vS0srRUUlRsamw0MjQUEhSMiozMzsxMTkzs7uwsKiysrqzc3tz8/vy8vrx0cnQMDgzExsRMSkzs6uxkYmQkJiSkpqTU1tT8+vy0trRUVlRsbmw8OjwcHhyMjoz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiUCUcEhMVIYCj0dBbDqfGgcgYkEZAABH9cltLrAADcqEzYS63BBHyAAfKY7MAf0EkRcWTqH0GYa2dE0dYBeBhkIkYBCHhhILHg+MkpOUlUMWDAYFCZZPFGAnnU4HYAGiTQkDABNrp6iusLGys7MIERsIsx5YHrMZZbMPWJGzBAS0yMnKy8zNzq5BACH5BAgGAAAALAAAAAAgACAAhQQCBISChExKTMTGxCQiJGRmZKyqrOTm5BQSFFxaXPT29JyanDw6PHR2dLS2tFRSVNze3AwKDIyKjCwqLOzu7BwaHPz+/Hx+fLy+vISGhExOTNTS1GxqbKyurOzq7GRiZPz6/JyenDw+PHx6fLy6vFRWVOTi5AwODCwuLBweHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaNQJVwSAR1HCBhaCIwEZ/QaAkAKKhMVEAiyoWCsifVJivociENiULFoJZVHwBiYPYSqB/V4XKhDClJdU9YVBOCh0NtAAGIiAoGGI11IBaShwsRJwaWZiARVCmcXRYnhaJdDhModKetrq+wsaIUDwQXskIjWayxHFkOuBApABqBshZ+uMrLzM3Oz9DR0s9BACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTGxERCRKSipOTm5CQiJNTW1GxqbLSytBQWFJSWlPT29DQyNMzOzFRWVKyqrAwKDIyKjOzu7CwuLNze3HR2dLy6vBweHJyenPz+/Dw6PMzKzExKTKSmpOzq7CQmJGxubLS2tBwaHJyanPz6/DQ2NNTS1FxaXKyurAwODIyOjOTi5P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaPwJZwSGxxQpmhZCApOp9EVgQAWLQ8VAAEym0xhIksqhXIrrrOTwPQYUww1FSrAMcU0MUyldD6ZBxDDCdfeEQSWVuFhQwPIwgail0lJyWRhRVwFBOWaHoAJJxdC1kioVwlFiZNpqytrqeEr0QeERGgskMjVBGQuC0gVAq+QgIUFBfDycrLzM3Oz9DR0tPUkUEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKEzMrMPD487O7sLCosnJqcXF5c3N7cFBIUjI6MVFZU/Pr8NDY0pKakbG5s1NLUDAoMREZE9Pb0NDI0pKKklJaUdHZ0BAYEhIaEzM7M9PL0LC4snJ6cZGZk5OLkFBYUlJKUXFpc/P78PDo8rK6sdHJ01NbUTEpM////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABozAlHBITDECkopwonhAitAoUQGoClKmKmgjlU4MlknqUQU4UqTyswtdVFEpTQJQ4HaqFAYbGikLCQJiQgIlgntEbgBwh4cnTxMWYYx7GVUmk5NzABgjmIcNVQWehwgHCyejqaqrowJXrFFZAJewRRhVGLVFoAAUukQIHh4Iv8XGx8jJysvMzc7P0NHOQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsRERkTk5uQkIiSkoqRkZmT09vQ0MjS0srSUkpTU0tQcHhxUVlTs7uwsKix8fnwMCgysrqxsbmz8/vw8Pjy8urycmpzc3tyMjozMysxMTkzs6uwkJiSkpqRsamz8+vw0NjS0trSUlpTU1tRkYmT08vQsLiwMDgz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjkCVcEgUlgaJ0bBzORWfUKIFAJAgVBsJoPCIRgMFhxNCBXRB5Y/3KShHVBPtW7Uob9ZFRZkiPHWFIRoOE3hFIRwAHhmFeAgHEHMPIYx4dVQKlIwRZRiZhQQeABZOnnghBKWpqoYkGn+rTyZUIrBQDWWvtUIHVBa6RRUGJKS/xcbHyMnKy8zNzs/Q0dLTQkEAIfkECAYAAAAsAAAAACAAIACFBAIEjIqMREJExMbELCos5ObkrKqsbG5sNDY09Pb0HBoclJaUDAoMTE5M5OLkNDI07O7stLa0dHZ0PD48/P78nJ6cBAYE1NLULC4s7OrsPDo8/Pr8nJqcVFJUvLq8fHp8////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpFAkHBIHFYUiEtxySwWBhtQxgIACIQUCeYQbS4jVM2mUAVohIYyx7tslAeggEUBBy3KAXZRUrUUhBsUQxAPAAQZehALBhsJEh0ebAVdXhSFABJ6mkQOZQSboBsEVQegoAUBHJSmrK1LCR+Qrmx8AH6zTW5VdbhFYAAIq71DT8LDx8jJysvMzc7P0NHS09TV1slBACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTGxERCRGRmZOTm5KSipBweHFRWVPT29JSSlHR2dLS2tBQWFNze3ExKTOzu7CwqLAwKDIyOjNTS1GxubKyqrFxeXPz+/AQGBISGhMzKzERGRGxqbOzq7CQiJFxaXPz6/JyanHx6fLy6vExOTPTy9DQyNKyurP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaLwJRwSByGLpKHqchsEguLwNICqGqGJobD2cREqoiUoQoICCEHQEbALZrIh1QCkeFAhNQqoS0MCR9VC04UZAptDl97ISgMbQwXExhtBGRsfJdDHZWYnAUDDYKcoqN8GB0fIAmkbShkE6tcImRmsE0JHAARHrVcqry/wMHCw8TFxsfIycrLzM3Oz9BCQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsRMSkwkIiTk4uSkoqR0cnQ0MjQUEhSUkpTU0tT08vRUVlSMiowsKiy0trT8+vwMCgzMysx8fnw8OjwcGhzc2txcXlwEBgSEhoRMTkwkJiTk5uSkpqR0dnQUFhScmpzU1tT09vRcWlyMjowsLiy8vrz8/vzMzsw8Pjz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjsCVcEgslhImUXHJHKI+HNJoVQBYN80sEWIFOFaX7mAIaQQiWqKnSxFSMoSUMGzVaC8fRWQ0AHA6TVxWJFkjIFYHQgxaDA8AGQJZC10VaUMjJwVaESZWCpagQwwGJ6GWIgclaKZpDAlWH6xpKV0qspudAJ+3WQweE7zBwsPExcbHyMnKy8zNzs/Q0dLTz0EAIfkECAYAAAAsAAAAACAAIACFBAIEjI6MzMrMTE5M5ObkJCIktLa0bGpsnJ6cDA4M3N7cXF5c9Pb0PDo81NLUpKakDAoMlJaUVFZU7O7sLCosxMbEfH58FBYUZGZk/P78BAYElJKUzM7MVFJU7OrsJCYkvL68dHJ0pKKkFBIU5OLkZGJk/Pr8PD481NbUrKqs////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABo5AlXBIZCiInFNDQGw6nZURYJARfgCAwnPr7GABFaEUkOBuTR4h5ntUbQCaDVGRInBRBUAnM1k0HkQTaUMVEAAXdk8LXyBmRCFfCFuQWByOQyJfTE8eAx8Bl0QiGAZPDmGhqSoWWBiqoRdfDK+OJ1gftI4kGCVtub/AwcLDxMXGx8jJysvMzc7P0NHS005BACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTCxERCROTi5GRiZCQiJKyqrPTy9HRydJSWlNTS1DQ2NBQSFFRSVIyKjOzq7GxqbLS2tPz6/MzKzCwqLHx+fNze3Dw+PBwaHFxaXAQGBISGhExKTOTm5GRmZKyurPT29HR2dJyenNTW1Dw6PBQWFFRWVIyOjOzu7GxubLy+vPz+/MzOzCwuLP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaNwJdwSJyAJJPh5KFaEJ9Q6AkA+AwTVBMiyi1SAY1h6evsPi+ix5ZBHQxHVEbSrDRQCy+IxZIiUkBbdEMEXxWCRC0OGhdcYwABh0ITGVQYXCEHK5FCKV8ZRB4DDSKbTypUCkRYVAKlRAuMRBFfmq5dBC5VLLZ0u7y/wMHCw8TFxsfIycrLzM3Oz9DR0sVBACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTCxDw+POTi5KSmpBweHFxaXJSSlNTS1PTy9BQWFExOTLSytMzKzCwuLGxqbJyanPz6/AwKDIyKjERGROzq7KyurNze3AQGBMTGxKyqrCQiJFxeXJSWlNTW1PT29BwaHFRWVLy6vMzOzDQ2NHRydJyenPz+/IyOjExKTOzu7P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaRQJZwSGQpTAcS0TJSFJ/Q4QEAWICEjgyAs4pGr8IHFUAQQsYFb9FSAqiuESpjiBgr1cMAWvgRSIYoFCIbeEQUY4SFikYiIRAoi2oaEB6QkUQfJSEnQxgTVCmXRBVUGV0sDWMHokMDY2UsKwZUI6xCAgsZFEQrGx+2RH/Aw8TFxsfIycrLzM3Oz9DR0tPU1daFQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsRMSkzk4uRsamwkIiSsrqzU0tRUVlQMDgyUlpT09vR0dnQ8Ojy8urwMCgzMzsxUUlQsKizc3txcXlycnpz8/vwEBgSEhoTExsRMTkzs7uxsbmwkJiS0trTU1tRcWlwUEhScmpz8+vx8eny8vrz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGi8CTcEgUciSGUnHJbApLgKiAGFlQnEXGaMEQFqKAz/ARVRCww0R0IKQYABvSsAO2oIUQ8JDBKR6iGCB3JxJraB8NEWggCCcMC1yDaBlRDZKSIoAXl3cOUR6cdxQVCYKhRRybp04khQZXq0wfYAWxTBpglrZLJQYbfbvBwsPExcbHyMnKy8zNzs/Qy0EAIfkECAYAAAAsAAAAACAAIACFBAIEhIKEREZExMLEJCIkZGZk5OLkpKKk9PL0VFZUFBIUNDY0tLK0DAoMTE5MfHp87Ors/Pr8lJKULCosXF5cvL68BAYEhIaETEpM3N7cJCYkbG5s5ObkrKqs9Pb0XFpcHB4cPD48tLa0DA4MVFJUfH587O7s/P78////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpFAlHBIHEYoDQyiyGw6UR2A9PKsCgOExBJ1kAICxUwlYkVVvA+hJ2ERmIiiBmDhsTK8GyvJO7BGHAAaGVYPUhYGTR4FEyVCJmRWHg8kFU4SXgxlmkIlXgebmgYaACFboFYnHKerrK2ur7CxskMMIBOVsygnClIEuSgRI1Igv1wjCpnFESfFzc7P0NHS09TV1rBBACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTCxERCRCQiJKSipOTi5BQSFJSWlGxubPTy9DQyNLSytIyKjNTS1ExOTAwKDCwqLOzq7BweHPz6/Ly6vNze3AQGBISGhExKTKyqrBQWFJyenHR2dDw6PLS2tIyOjNTW1FRWVCwuLOzu7Pz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaPQJNwSCyCDqNQcckcWhqfoQFAfTSvQ9KGyhFaqIAMFlsBi4aBy8QxvkoO3LZgMWAvSQhNyWTBMNoUWwALSyULVB1tRBQXVBNLX1QRikQYABddRSUEVAmURBIKTRIYHBSfqKmqq6ytrq+wsbKztLW2t7hjFBwNErQJVAR7shFgFrMdVCPDsSUaCCS50tPUsUEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMLEREJELCos5OLkpKKkFBIUZGZk1NLUtLK0dHZ0DAoM/Pr8vLq8zMrMPD48HB4cbG5s3NrcBAYEjI6MxMbETEpMLC4s5ObkrKqsFBYUbGpstLa0fHp8DA4M/P78vL683N7c////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoPAkXBILAoLHEnGyGRWDoQEkQAAQJpYYaYKGAxBlOoniy1wvUNJdUEuNoaVD0ZKtDzaQxEVge+PEFwCfm0cXBaDQw4BdEMZEAceiEIKVQwikliAVQaYTR1il51MAhUToqeoqaqrrK2ur7CxsrO0tba0IREbGq1UAAxvq77ArA4RB7x4QQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsRERkQkIiTs6uykoqRsamwUEhTU0tQ0MjT09vSsrqx0dnSUkpTMyswsKiwMCgxUVlT08vSsqqx0cnQcGhz8/vyMjozExsRMSkwkJiTs7uykpqRsbmwUFhTc2tw8Ojz8+vy0trR8fnycmpzMzswsLiwMDgz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjsCUcEgUMUYi4jCpbDpTEgDgoBx9IqWnNiWSAlDKjZe5bSqkA+VJilqUU6CGg1kgBTjKzMnCeC8+UhVvg0IJXiGEgyJrAA6JgxMGAo+UlZaXmE0JHhhkmUIcCFIkn0QPXmmlQgsQUgaqQxMdJrC1tre4uaoLHQwXthpSVLALXh+2ZwAStnUYbrrQ0dLThEEAIfkECAYAAAAsAAAAACAAIACFBAIEjIqMREJExMbE5ObkJCIkZGZkrKqsFBYU1NbU9Pb0NDI0fHp8DAoMnJqczM7M7O7sbG5svLq8XFpcLCosHB4c3N7c/P78PD48BAYElJaUTE5MzMrM7OrsbGpstLK0HBoc/Pr8NDY0fH58DA4MpKak1NLU9PL0dHJ0xMLELC4s5OLk////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABopAlnBIZJ1Qk0dxyWwKJwAAQrEMnZxYVRSwKh4aGQ1WSNAMho7oZlmJZkJYCCJ6GCZS8KJWmm9+thNjLAMiKhJjKw1RDoKNQyYoJY6TlJWWl5iZmpucnY4mAhgcnkILUSAXpCBufZxpAAGkQh0EnBYGHrWkFFEYpApbCLIGUSOyg0rHysvMzc7PzUEAIfkECAYAAAAsAAAAACAAIACFBAIEjIqMxMbEREJE5ObkrKqsLC4sZGZk9Pb0vL68dHZ0DA4MnJqc1NbU7O7stLK0PD48bG5s1NLUTE5MNDY0/P78FBYUpKKkBAYElJaUzMrM7OrsrK6sNDI0bGps/Pr8xMLEfH58FBIUnJ6c3N7c9PL0tLa0dHJ0VFZU////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoXAlHBIHBIgi1NxyWwKPYAoyElNfSQlIlRabSIMAFHDSAEcus1CFOBBCzkBklOwDrgzUYvDyYCcEG4TawluaHgAeoVoDwEEio+QjwQDIiGRTlsAApdMB2tTnEUkBhhtoUwfp6qrrK2ur7CxsrO0taEkASauGxZRF60mayitBCJRI664D1VBACH5BAgGAAAALAAAAAAgACAAhQQCBISChERCRMTCxKSmpGRiZCQiJOTi5PTy9HRydDQyNJSWlLy6vFRWVBweHKyurCwqLOzq7Pz6/Hx6fAwODIyOjExOTNTW1GxqbDw6PJyenAQGBISGhERGRKyqrCQmJOTm5PT29HR2dDQ2NJyanLy+vFxeXLSytCwuLOzu7Pz+/Hx+fNze3GxubP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaNQJdwSCxKMI5CqMhsOl0EgHTxrAYMDQRxIQVUqs5Sd0IMCQCjFLh56raY2nVTYgF8WPK8MCXRPz0jDSB+cEQgG1ImhEMhdRAHQhddAotCD10iQyYAFAyVLgxdAUQHap8uIg5Zp6ytrq+wsbKztLW2t7i5QioTKAl9sB5dJLFcUhyxKSh2EbIqLMC60mtBACH5BAgGAAAALAAAAAAgACAAhQQCBIyKjERGRMTGxOTi5FxeXCQmJLSytPTy9AwODGxqbFRSVNTW1Ozq7MTCxJyenDQ2NLy6vBQWFHRydAwKDExOTMzKzOTm5GRmZLS2tPz6/BQSFGxubFRWVNze3Ozu7KSipDw6PP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaCQJFwSCwOPYGDcWlEZoyNBADwYFo/kmmVeJgCOlZmxLsoXjba8LKBpjYDT7XwwpkQREilXB2aQvaAIhRegXsKUwqFew4Rio6PkJGSk5SVlgx3lkIYaZYfXgZCFh6TGm0CIhVTIJMDFQUEHl5/lghSAAWaIgMLHB+6wMHCw8TFxseaQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEhoTExsRMTkwkIiSsqqzk5uRsamy8urwUFhQ0MjSUkpTc2tz09vR0dnQMCgy0srQsLizEwsQ8Pjycmpzk4uT8/vx8fnwEBgSMiozMysxkYmQkJiSsrqzs7uxsbmy8vrwcGhw0NjSUlpTc3tz8+vx8enwMDgy0trT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjcCUcEhsQBjEpHKpLEUAgA5zSpVAAYNlyaEwWagpD8iTMjygpuXoWqCSQoBEJSXZBBrLwHVBzVwDYGUcABFkUx1XUoElJCWBIwMjgZOUlZaXmJmam5ydSwISnkkOUAeiQ2cAGKdCE1AKrGUfB3Oxtre4ubq7vJoaIhEIsU9xjqdwqsaiBQ8YfLENeL1DQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsREQkTk4uQkIiSsqqxkYmT08vQUEhTU0tR0cnSUlpQMCgzs6uw0MjS8uryMiozMzsxUUlRsamz8+vzc2tx8enwEBgSEhoTExsRERkTk5uQsKiy0srT09vQcGhx0dnScnpwMDgzs7uw8Pjy8vrxsbmzc3tz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGicCUcEgUQkoTVHHJbKY+IwBg46wOKxGKJOWQAjpW60KaIKVOAIwnXC15tymCuUqoVEXShz38GQBASk4SBh9sKQZeIYZsEF4Zi2wBHQeFkJZCEgyBl00CUiObnEUhXgyiTB5eCqeoIRqssLGys7S1tre4ubq7s3u1aB0WtBpeB7QSxbUXICUcvJBBACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTGxERCRCQiJKSmpOTm5GxubBQWFDQyNLS2tPT29JSWlAwKDExOTCwqLNTW1KyurOzu7HR2dLy+vPz+/JyenFRWVAQGBIyKjCQmJKyqrOzq7BweHDw+PLy6vPz6/JyanAwODFRSVCwuLOTi5Hx6fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaLwJNwSCRSOohCcckkGgSgoQYAaESbWKECA/Bcp9VrtumgAgTCD1I5xk6oGEN7LlxMRh+6fs/vL0EWGRx+WAdUDxWETA9mJYpLbwAkiY9EFQUMEpURJAMQlUQLDVQDoEMcZiSmQwFVCqtDEguwtLW2t30LZQ6zqwxmDLC/VMGrCyMNI724zM3Oz9BNQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsREQkTk4uQsKiycnpxkZmT08vTU0tQUFhQ8Ojx8enycmpzs6uysrqz8+vzc2twMCgyMjozMysxcXlw0MjR0cnQcHhy0trQEBgSEhoTExsRMTkzk5uQsLixsamz09vTU1tQcGhw8Pjx8fnzs7uy0srT8/vzc3tz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjkCVcEgsEjmnkHFZDIEWDeMEACAxr6oAFUApfrYp7PKwfRTJgJFSXEwoAIv1EBEAhdlGhAiFv6IeDSZ9fQxUH3yDYl9UEYliF1QFco5LEA0bHpSam5ydnp+goaKhDx0lEKIiWxuiGVsVoghfGhyjIRwOo6AmCLobABoGohAaVCPDbwAfowILJAm60dLTWEEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMbEREZE5ObkpKKkJCYk9Pb0lJKUZGZk5OLkHBocjIqMzM7MXFpc7O7sTE5MrK6sPDo8/P78DA4MhIaEzMrMTEpM7OrsLCos/Pr8nJqcfHp8HB4cjI6M1NLU9PL0tLK0////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABodAkXBIPAhAxKRyqVQsAAsCc0qtAK4MJoGDOFCTkSsgstQYrgnqoeEVegYepkJsmDoBBsx3KLlypgFicXsiIAVkUwViIYSNEwFwjZKTlJWWl5iZmh8DFw2aSWd4oEQUVxSkQx5YqUMECq2xsrO0tba3uJYaerECT2mtEGIfrQ5isKkKAxkbk0EAIfkECAYAAAAsAAAAACAAIACFBAIEjIqMREJExMbEZGJk5ObkJCIkrK6sdHJ0FBYUVFJU1NbU9Pb0nJ6cPD48DAoMbGpsLCosvL68XFpclJaUzM7M7O7stLa0fH583N7c/P78BAYEjI6MREZEzMrMZGZk7OrsJCYktLK0dHZ0HB4cVFZU/Pr8pKKkDA4MbG5sLC4sXF5c5OLk////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABobAlnBIbHlSjaJyyRSyHgAApUlliqKASbVqAg0tpOhh21yEFRohqFEhNwlYiZucwrbnVYsiFMD7/yYHF2l/TR1RCIVMFlgkikwRUVoeBihTjy0FGAEMLQ5YFphFn1GhokOUCZenrK2ur7CxsrO0QwMesB9RGK4mWAmvkQAOrxkfEAW1ystuQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsREQkTk4uQkIiScmpxkZmTU0tT08vQUEhQ0MjSMjoykpqTMysxcWlx8fnz8+vwcGhxMTkzs6uwsKiykoqRsbmzc3tw8PjyUlpQEBgSEhoTExsRERkScnpxsamzU1tT09vQUFhQ0NjSUkpSsrqzMzsz8/vwcHhzs7uwsLiz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGj0CWcEhkRQIeS3HJbAoZgGjHSW1eooBGlUoYFDTCkwJQSWydDyxGqOpEzs4JFgE/nySAQx0eEe3/gEwEb4FNIgMAKWuFSyZYF4xLHVgQkUsMKwdmlpydnp+goaKjQ4REAh8qhQISGxxEGlEFpnsZWBRDiFEOgbobuEIQUSObfyELKQZEERoQi6TQ0dLT1E5BACH5BAgGAAAALAAAAAAgACAAhQQCBISChMzOzERCRCQiJOzq7JyenBQSFDQyNPT29JSSlNze3GxqbKyurAwKDIyKjNTW1CwuLPTy9Dw6PPz+/HR2dLS2tAQGBISGhNTS1ERGRCQmJOzu7KSipBweHPz6/JyanOTi5LSytAwODDw+PHx+fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaNQJNwSBRCNAhLcclsCkkAgCPhrAo/D4ZAGIkCONZqJXoANxyAUrgKjW5NEvDaaYhGPvO5oEHNNz8ZeH5WCx4AEXKDTQFeIIpOCl5Kj0wfFQgPlJqbnJ2en6CAfZ8FGwAeIaCRUQGgDV4GoCYBEyUUsri5uru8mhISuCUXDg2gEl4RoAloACSyFhEaEGFBACH5BAgGAAAALAAAAAAgACAAhQQCBISChERCRMTCxOTi5CQiJGRmZLS2tPT29DQ2NHRydBQSFFRSVNTS1JyenOzq7AwKDIyKjCwqLGxubLy+vPz+/Dw+PHx6fFxaXNze3AQGBISGhExOTMTGxOTm5GxqbLy6vPz6/Dw6PHR2dBwaHNTW1Ozu7CwuLFxeXP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaJwJRwSBw6SIlGccksejqh1EMDAAia2OKBKgp5qgBRdpzigDupDYSEJmMVVY1HGIq6sYgRA3TPlpR9bhtVCoFkC3EVhlkJVQWLWRkoDCWQlpeYmZqbKQMHdpwBVRycQiRgD6UMjoqcJiMfGaWztLW2t7iQHRStnCNVBrMQYKCaAlUnsx4TEwS5i0EAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMbEREZEpKKk5ObkZGZkHB4cVFZUtLa09Pb0nJ6cFBYUjIqM3N7cTE5MrKqs7O7sdHJ0DAoMNDY0XF5cvL68/P78fHp8BAYEhIaEzM7MTEpMpKak7OrsLCosXFpcvLq8/Pr8jI6M5OLkVFJUrK6s9PL0dHZ0////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABonAlHBIHIoqE86pyGwSC6jAsgOoapxY4uVTLaWo1UB2fKoCDikFCDCIjMecKuo9FgkKQoUpQc8qKAAZFn10FmZehGMkGXKJbwklKAqOlJWWl5hEJyMNbplEcWyfRBNmo0MIXadCIh0LIquxsrO0tbaECQYEsRtmu6cLZhKrJAyBArEFEA63zc6EQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEhoREQkTExsRkZmTk5uQkJiSkoqT09vRUUlQUFhSUkpR0dnQ0NjS0srRMSkzk4uTs7uwMCgyMjozMzswsLiz8/vx8fny8urwEBgSMioxERkTMysx0cnTs6uwsKiykpqT8+vxcXlwcHhycmpx8enw8Ojy0trRMTkz08vT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiECVcEgkQhqSTnHJJFoYBlFKRQBYB80s0WEFaKhdrFYL6pZUx4xyvERQEKrQBmAosLWQEd0jjNzHAV0Tf3cHXQ6EbCEBAoOJj5CRkAglCRiSTR1WGXaYRShhnkUnGQANIaJFBQOoqa6vsLGysxwmGxSxegAfsBYSVgqxGlYksh58s8nKy8zNokEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMLEREZE5ObkXF5cJCIkpKKk1NLU9Pb0tLK0VFJUbGpsNDI0FBIUjIqMzM7MTE5M7O7sLCosrK6s3N7c/P78vL68dHJ0DA4MxMbETEpM7OrsZGJkJCYkpKak1NbU/Pr8tLa0VFZUbG5sPDo8HB4cjI6M////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABolAlHBITFSGAo9HQWw6nxoHIGJBGQAAR/XJbS6wAA3KhM2EutwQR8gAHymOzAH9BJEXFk6h9BmGtnRNHWAXgYZCJGAQh4YSCx4PjJKTlJVDFgwGBQmWTxRgJ51OB2ABok0JAwATa6eorrCxsrOzCBEbCLMeWB6zGWWzD1iRswQEtMjJysvMzc6uQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoRMSkzExsQkIiRkZmSsqqzk5uQUEhRcWlz09vScmpw8Ojx0dnS0trRUUlTc3twMCgyMiowsKizs7uwcGhz8/vx8fny8vryEhoRMTkzU0tRsamysrqzs6uxkYmT8+vycnpw8Pjx8eny8urxUVlTk4uQMDgwsLiwcHhz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjUCVcEgEdRwgYWgiMBGf0GgJACioTFRAIsqFgrIn1SYr6HIhDYlCxaCWVR8AYmD2Eqgf1eFyoQwpSXVPWFQTgodDbQABiIgKBhiNdSAWkocLEScGlmYgEVQpnF0WJ4WiXQ4TKHSnra6vsLGiFA8EF7JCI1mssRxZDrgQKQAagbIWfrjKy8zNzs/Q0dLPQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTExsREQkSkoqTk5uQkIiTU1tRsamy0srQUFhSUlpT09vQ0MjTMzsxUVlSsqqwMCgyMiozs7uwsLizc3tx0dnS8urwcHhycnpz8/vw8OjzMysxMSkykpqTs6uwkJiRsbmy0trQcGhycmpz8+vw0NjTU0tRcWlysrqwMDgyMjozk4uT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGj8CWcEhscUKZoWQgKTqfRFYEAFi0PFQABMptMYSJLKoVyK66zk8D0GFMMNRUqwDHFNDFMpXQ+mQcQwwnX3hEEllbhYUMDyMIGopdJSclkYUVcBQTlmh6ACScXQtZIqFcJRYmTaasra6nhK9EHhERoLJDI1QRkLgtIFQKvkICFBQXw8nKy8zNzs/Q0dLT1JFBACH5BAgGAAAALAAAAAAgACAAhQQCBISChMzKzDw+POzu7CwqLJyanFxeXNze3BQSFIyOjFRWVPz6/DQ2NKSmpGxubNTS1AwKDERGRPT29DQyNKSipJSWlHR2dAQGBISGhMzOzPTy9CwuLJyenGRmZOTi5BQWFJSSlFxaXPz+/Dw6PKyurHRydNTW1ExKTP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaMwJRwSEwxApKKcKJ4QIrQKFEBqApSpipoI5VODJZJ6lEFOFKk8rMLXVRRKU0CUOB2qhQGGxopCwkCYkICJYJ7RG4AcIeHJ08TFmGMexlVJpOTcwAYI5iHDVUFnocIBwsno6mqq6MCV6xRWQCXsEUYVRi1RaAAFLpECB4eCL/FxsfIycrLzM3Oz9DRzkEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMLEREZE5ObkJCIkpKKkZGZk9Pb0NDI0tLK0lJKU1NLUHB4cVFZU7O7sLCosfH58DAoMrK6sbG5s/P78PD48vLq8nJqc3N7cjI6MzMrMTE5M7OrsJCYkpKakbGps/Pr8NDY0tLa0lJaU1NbUZGJk9PL0LC4sDA4M////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABo5AlXBIFJYGidGwczkVn1CiBQCQIFQbCaDwiEYDBYcTQgV0QeWP9ykoR1QT7Vu1KG/WRUWZIjx1hSEaDhN4RSEcAB4ZhXgIBxBzDyGMeHVUCpSMEWUYmYUEHgAWTp54IQSlqaqGJBp/q08mVCKwUA1lr7VCB1QWukUVBiSkv8XGx8jJysvMzc7P0NHS00JBACH5BAgGAAAALAAAAAAgACAAhQQCBIyKjERCRMTGxCwqLOTm5KyqrGxubDQ2NPT29BwaHJSWlAwKDExOTOTi5DQyNOzu7LS2tHR2dDw+PPz+/JyenAQGBNTS1CwuLOzq7Dw6PPz6/JyanFRSVLy6vHx6fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaRQJBwSBxWFIhLccksFgYbUMYCAAiEFAnmEG0uI1TNplAFaISGMse7bJQHoIBFAQctygF2UVK1FIQbFEMQDwAEGXoQCwYbCRIdHmwFXV4UhQASeppEDmUEm6AbBFUHoKAFARyUpqytSwkfkK5sfAB+s01uVXW4RWAACKu9Q0/Cw8fIycrLzM3Oz9DR0tPU1dbJQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTExsREQkRkZmTk5uSkoqQcHhxUVlT09vSUkpR0dnS0trQUFhTc3txMSkzs7uwsKiwMCgyMjozU0tRsbmysqqxcXlz8/vwEBgSEhoTMysxERkRsamzs6uwkIiRcWlz8+vycmpx8eny8urxMTkz08vQ0MjSsrqz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGi8CUcEgchi6Sh6nIbBILi8DSAqhqhiaGw9nERKqIlKEKCAghB0BGwC2ayIdUApHhQITUKqEtDAkfVQtOFGQKbQ5feyEoDG0MFxMYbQRkbHyXQx2VmJwFAw2CnKKjfBgdHyAJpG0oZBOrXCJkZrBNCRwAER61XKq8v8DBwsPExcbHyMnKy8zNzs/QQkEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMLETEpMJCIk5OLkpKKkdHJ0NDI0FBIUlJKU1NLU9PL0VFZUjIqMLCostLa0/Pr8DAoMzMrMfH58PDo8HBoc3NrcXF5cBAYEhIaETE5MJCYk5ObkpKakdHZ0FBYUnJqc1NbU9Pb0XFpcjI6MLC4svL68/P78zM7MPD48////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABo7AlXBILJYSJlFxyRyiPhzSaFUAWDfNLBFiBThWl+5gCGkEIlqip0sRUjKElDBs1WgvH0VkNABwOk1cViRZIyBWB0IMWgwPABkCWQtdFWlDIycFWhEmVgqWoEMMBiehliIHJWimaQwJVh+saSldKrKbnQCft1kMHhO8wcLDxMXGx8jJysvMzc7P0NHS089BACH5BAgGAAAALAAAAAAgACAAhQQCBIyOjMzKzExOTOTm5CQiJLS2tGxqbJyenAwODNze3FxeXPT29Dw6PNTS1KSmpAwKDJSWlFRWVOzu7CwqLMTGxHx+fBQWFGRmZPz+/AQGBJSSlMzOzFRSVOzq7CQmJLy+vHRydKSipBQSFOTi5GRiZPz6/Dw+PNTW1KyqrP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaOQJVwSGQoiJxTQ0BsOp2VEWCQEX4AgMJz6+xgARWhFJDgbk0eIeZ7VG0Amg1RkSJwUQVAJzNZNB5EE2lDFRAAF3ZPC18gZkQhXwhbkFgcjkMiX0xPHgMfAZdEIhgGTw5hoakqFlgYqqEXXwyvjidYH7SOJBglbbm/wMHCw8TFxsfIycrLzM3Oz9DR0tNOQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsREQkTk4uRkYmQkIiSsqqz08vR0cnSUlpTU0tQ0NjQUEhRUUlSMiozs6uxsamy0trT8+vzMyswsKix8fnzc3tw8PjwcGhxcWlwEBgSEhoRMSkzk5uRkZmSsrqz09vR0dnScnpzU1tQ8OjwUFhRUVlSMjozs7uxsbmy8vrz8/vzMzswsLiz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjcCXcEicgCST4eShWhCfUOgJAPgME1QTIsotUgGNYenr7D4voseWQR0MR1RG0qw0UAsviMWSIlJAW3RDBF8VgkQtDhoXXGMAAYdCExlUGFwhByuRQilfGUQeAw0im08qVApEWFQCpUQLjEQRX5quXQQuVSy2dLu8v8DBwsPExcbHyMnKy8zNzs/Q0dLFQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsQ8Pjzk4uSkpqQcHhxcWlyUkpTU0tT08vQUFhRMTky0srTMyswsLixsamycmpz8+vwMCgyMioxERkTs6uysrqzc3twEBgTExsSsqqwkIiRcXlyUlpTU1tT09vQcGhxUVlS8urzMzsw0NjR0cnScnpz8/vyMjoxMSkzs7uz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGkUCWcEhkKUwHEtEyUhSf0OEBAFiAhI4MgLOKRq/CBxVAEELGBW/RUgKorhEqY4gYK9XDAFr4EUiGKBQiG3hEFGOEhYpGIiEQKItqGhAekJFEHyUhJ0MYE1Qpl0QVVBldLA1jB6JDA2NlLCsGVCOsQgILGRREKxsftkR/wMPExcbHyMnKy8zNzs/Q0dLT1NXWhUEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMLETEpM5OLkbGpsJCIkrK6s1NLUVFZUDA4MlJaU9Pb0dHZ0PDo8vLq8DAoMzM7MVFJULCos3N7cXF5cnJ6c/P78BAYEhIaExMbETE5M7O7sbG5sJCYktLa01NbUXFpcFBIUnJqc/Pr8fHp8vL68////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABovAk3BIFHIkhlJxyWwKS4CogBhZUJxFxmjBEBaigM/wEVUQsMNEdCCkGAAb0rADtqCFEPCQwSkeohggdycSa2gfDRFoIAgnDAtcg2gZUQ2SkiKAF5d3DlEenHcUFQmCoUUcm6dOJIUGV6tMH2AFsUwaYJa2SyUGG327wcLDxMXGx8jJysvMzc7P0MtBACH5BAgGAAAALAAAAAAgACAAhQQCBISChERGRMTCxCQiJGRmZOTi5KSipPTy9FRWVBQSFDQ2NLSytAwKDExOTHx6fOzq7Pz6/JSSlCwqLFxeXLy+vAQGBISGhExKTNze3CQmJGxubOTm5KyqrPT29FxaXBweHDw+PLS2tAwODFRSVHx+fOzu7Pz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaRQJRwSBxGKA0MoshsOlEdgPTyrAoDhMQSdZACAsVMJWJFVbwPoSdhEZiIogZg4bEyvBsryTuwRhwAGhlWD1IWBk0eBRMlQiZkVh4PJBVOEl4MZZpCJV4Hm5oGGgAhW6BWJxynq6ytrq+wsbJDDCATlbMoJwpSBLkoESNSIL9cIwqZxREnxc3Oz9DR0tPU1dawQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSEgoTEwsREQkQkIiSkoqTk4uQUEhSUlpRsbmz08vQ0MjS0srSMiozU0tRMTkwMCgwsKizs6uwcHhz8+vy8urzc3twEBgSEhoRMSkysqqwUFhScnpx0dnQ8Ojy0trSMjozU1tRUVlQsLizs7uz8/vz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGj0CTcEgsgg6jUHHJHFoan6EBQH00r0PShsoRWqiADBZbAYuGgcvEMb5KDty2YDFgL0kITclkwTDaFFsAC0slC1QdbUQUF1QTS19UEYpEGAAXXUUlBFQJlEQSCk0SGBwUn6ipqqusra6vsLGys7S1tre4YxQcDRK0CVQEe7IRYBazHVQjw7ElGggkudLT1LFBACH5BAgGAAAALAAAAAAgACAAhQQCBISChMTCxERCRCwqLOTi5KSipBQSFGRmZNTS1LSytHR2dAwKDPz6/Ly6vMzKzDw+PBweHGxubNza3AQGBIyOjMTGxExKTCwuLOTm5KyqrBQWFGxqbLS2tHx6fAwODPz+/Ly+vNze3P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaDwJFwSCwKCxxJxshkVg6EBJEAAECaWGGmChgMQZTqJ4stcL1DSXVBLjaGlQ9GSrQ82kMRFYHvjxBcAn5tHFwWg0MOAXRDGRAHHohCClUMIpJYgFUGmE0dYpedTAIVE6KnqKmqq6ytrq+wsbKztLW2tCERGxqtVAAMb6u+wKwOEQe8eEEAIfkECAYAAAAsAAAAACAAIACFBAIEhIKExMLEREZE7OrsJCIkpKKkbGpsFBIU1NLU9Pb0PDo8rK6slJKUzMrMLCosdHZ0DAoMVFZU9PL0rKqsHBoc/P78jI6MxMbETEpM7O7sJCYkpKakdHJ0FBYU3Nrc/Pr8tLa0nJqczM7MLC4sfH58DA4M////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn3Ak3BIBDFCIOIwqWw6TxIA4KAMeSKip/YEkgJMyo2XuW0upAMlSWpSlE8fSINJgAQ0SgypwngrPFIdb4NCCV4LhIMgawANiYMTBgKPlJWWl5hNCR0XZJlCGiZSJZ9EDl5ppUIKD1IGqkMTHCOwtba3uLm6u7y9vr/AwcKVQQAh+QQIBgAAACwAAAAAIAAgAIUEAgSUlpTMzsxMTkzs7uwkIiS0srRsamzc3twMDgz8+vw0NjTEwsR8enykpqQMCgzU1tRkZmT09vQsKix0cnTk5uTMyswEBgScmpzU0tRcWlz08vS8urxsbmzk4uQUFhT8/vw8PjzExsR8fnysqqwsLiz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGeUCTcEg0bSgaQXHJbAo1AMBHslRsnNhSFOApkh6XAFZYCYiGmOhgWYheFFjCJ0oaQhjw4iT6yTcNWxpjJiILJRxjHg9RGIOOQxkUDo+UlZaXmJmam5ydnp+goaKjoggRBxWhewAhoBJbH6ERUSOiIkqkubq7vL2+mEEAIfkECAYAAAAsAAAAACAAIACFBAIEjIqMxMbEPD48rKqs5ObkbGpsNDI0vL689PL0DA4MnJqc1NbUTE5MtLK0dHJ01NLU7O7s/Pr8FBYUpKKkBAYElJaUzMrMREJErK6s7OrsbG5sNDY0xMLE9Pb0FBIUnJ6c3N7cVFZUtLa0dHZ0////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnLAknBIHBYGikdxyWwKDYBox0ktSSAJIlRabXoOgA/DyAEYuk1C1IwWZgIhp2AdaFuik4hzMXh42g1rCG1odwB5hGgOAQWJjo+QkZKTlJWWl5iZmpucnZ6foKGihCEBI5kaE1EUmCNrIpgFH1EgmaUOVUEAIfkECAYAAAAsAAAAACAAIACEBAIEhIKEREJExMLEZGJk5OLkpKakJCIkdHZ09PL0tLK0PDo8/Pr8nJqcTE5MbGpsLC4sfH58HB4cjI6M3N7c7O7srK6sJCYkfHp89Pb0vLq8/P78VFZUbG5s////AAAABVygJ45kyTwSkZVs63oGIDdvHRxcQjYyMNWuQQ9DSggAiwqwpeh1WMpli+EAXCjSrKjC0Hq/Ih24RgVACmOXpYdIM3sBdwshycnv+Lx+z+/7/4CBgoOEhYaHiIlAIQAh+QQIBgAAACwAAAAAIAAgAIQEAgSMiozExsRERkTk4uS0srRcXlz8+vwUFhTs6uycnpzU1tRUUlS8urwUEhTk5uS0trRkZmQkJiTs7uykoqTc3txUVlT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVeAljmQ5VkFhriYKmYkDAAprT8hck8UMWDZWw8coPWS04CqmawVeyhVKFa1ar9isdsvter/gsHgcXhDIl0hTPPFJxgfkgCxgGM7ovH7P7/v/gIGCNiEAIfkECAYAAAAsAAAAACAAIACFBAIEhIaExMbETE5MJCIkrKqs5ObkDA4MdHZ0LC4svLq89Pb0lJKU3NrcDAoMtLa0fH58NDY0/P78nJqcBAYEzMrMZGJkJCYkrK6s7O7sFBYUfHp8NDI0xMLE/Pr8lJaU3N7c////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmnAkHBIXDwaxKRyqfQkAAAMc0rtQAGDpQfB2UioSYMDull+rgVwsmMJLJaBK0NNFxougESmXveAPHyBgoOEhYaHiImKi4yNjo+QkZKTlJWWlxURCQqNTwAagIsEUBShigUUFHONHm+XIUEAIfkECAYAAAAsAAAAACAAIACEBAIEhIaEPD483N7cZGJk7O7sJCIkrKqsVFJU5ObkvLq8DAoMREZEdHJ09Pb0NDI0REJE5OLkLCostLK07OrsvL68DA4MdHZ0/Pr8////AAAAAAAAAAAAAAAAAAAAAAAABUtgJo6kqAjIUK5smzkWADBu3VIyINl82ciTnlCUKNgimGHPAQEYVMraIdeI1iq5gLUWkBAc27B4TC6bz+i0es1uu9/wuHxOr9vvrBAAIfkECAYAAAAsAAAAACAAIACEBAIEhIKEJCYk1NbUFBYUpKakREJE7O7stLa0DAoMLC4sHB4c9Pb0rK6svL68DA4MNDI0JCIk/Pr8////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUbgJI4k6SxEUa5sKwoAkEhu3cIybe/jmfLAoHBILBqPyKRyyVw2FIZBk5GIGZqHGEDRnARkiO7kwBCbz+i0es1uu9/wODMEACH5BAgGAAAALAAAAAAgACAAhAQCBISChMTCxDw+POTi5CwuLPTy9JyenBwaHNTS1GRmZPz6/IyOjDw6PAQGBISGhMTGxERCROzu7DQyNPT29LSytBweHNza3HRydPz+/P///wAAAAAAAAAAAAAAAAAAAAVJoCaOZElCFWWu7MoAwNDObQEDF62TCoyou50hgMkFj8ikcslsOp/QqHRKrVqv2Kx2y91KDNUHwHGYLhw+MwJWoAoag0R3TleGAAAh+QQIBgAAACwAAAAAIAAgAIMEAgSEgoTk5uRkZmQkJiSkoqT09vQ8OjyUkpR8enwsKiy0srT8/vz///8AAAAAAAAENbDJSau9OOvNsQiI0Y0MAQDD2AknQKjdcSYwZxRLre987//AoHBILBqPyKRyyWw6n9CoFBoBACH5BAgGAAAALAAAAAAgACAAgwQCBIyKjOTm5ERGRPT29HR2dBweHKyurPz+/Ozu7FxeXPz6/Hx+fCwuLLS2tP///wQ28MlJq7046827/2AojmRpntdyOAhKDQBQuFISAwYtNbGiPwJGgPArGo/IpHLJbDqf0Kh0Go0AACH5BAgGAAAALAAAAAAgACAAgwQCBISGhDQ2NMTCxOzq7BwaHERGRPz6/AQGBJyenDw+PNTW1Ozu7BweHP///wAAAAQy0MlJq7046827/2AojmRpnmiqrmzrvnAsz7R0tEOBBKwC/ISV4YcIqhaCQqLGbDqfrwgAIfkECAYAAAAsAAAAACAAIACA////////Ah6Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4LmwUAOw=="},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),a=(r=o)&&r.__esModule?r:{default:r};var s=function(e){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.wasMounted=!0,e.key=0,e.state={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.Component),i(t,[{key:"componentWillUnmount",value:function(){this.wasMounted=!1}},{key:"success",value:function(e,t,n){this.addNotify(e,t,n,"success")}},{key:"error",value:function(e,t,n){this.addNotify(e,t,n,"error")}},{key:"info",value:function(e,t,n){this.addNotify(e,t,n,"info")}},{key:"addNotify",value:function(e,t,n,r){var i=this,o=this.key++,a=Object.assign(this.state,function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},o,{title:e,msg:t,time:n,theme:r}));this.setState(a,function(){return i.countToHide(n,o)})}},{key:"countToHide",value:function(e,t){var n=this;setTimeout(function(){n.hideNotification(t)},e)}},{key:"hideNotification",value:function(e){this.wasMounted&&this.setState(function(t){return delete t[e],t})}},{key:"item",value:function(e){var t=this,n=this.state[e],r=n.theme,i=n.title,o=n.msg;return a.default.createElement("div",{key:e,className:"notify-item "+r,onClick:function(){return t.hideNotification(e)}},a.default.createElement("p",{className:"notify-title"},i),a.default.createElement("p",{className:"notify-body"},o))}},{key:"render",value:function(){var e=this,t=this.state,n=Object.keys(t).map(function(t){return e.item(t)});return a.default.createElement("div",{className:"notify-container"},n)}}]),t}();t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=N(n(94)),o=N(n(67)),a=N(n(77)),s=N(n(127)),u=N(n(128)),l=N(n(30)),c=N(n(21)),d=N(n(22)),f=N(n(23)),p=N(n(24)),h=n(0),m=N(h),g=n(15),y=n(13),v=n(216),b=n(742),_=n(46),w=n(130),A=N(n(756)),x=N(n(52)),k=N(n(2)),M=N(n(783)),E=N(n(784)),L=N(n(785)),S=N(n(997)),D=N(n(998)),T=N(n(999)),C=I(n(1007)),O=I(n(1133)),j=n(1136),P=n(504);function I(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function N(e){return e&&e.__esModule?e:{default:e}}var F=(0,g.connect)(function(e){return{notifications:e.notifications,cache:e.cache,form:e.form,yamlLoaded:e.yamlLoaded}},function(e){return{initialize:function(t,n){return e((0,y.initialize)(t,n))},submit:function(t){return e((0,y.submit)(t))},notify:function(t){return e((0,v.notify)(t))},setVersions:function(t){return e((0,b.setVersions)(t))}}})(r=function(e){function t(e){(0,c.default)(this,t);var n=(0,f.default)(this,(t.__proto__||(0,l.default)(t)).call(this,e));return n.state={search:null,yaml:null,loading:!1,languages:[],values:{},currentValues:{},currentLanguage:null,country:null,blocks:null,elements:null,activeSection:0,allFields:null,lastGen:null,yamlLoaded:!1},n.onLoadingRemote=n.props.onLoadingRemote.bind(n),n}return(0,p.default)(t,e),(0,d.default)(t,[{key:"initBootstrap",value:function(){$('[data-toggle="dropdown"]').dropdown()}},{key:"componentDidMount",value:function(){var e=(0,u.default)(s.default.mark(function e(){var t,n,r;return s.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.initData();case 2:this.switchLang("en"),t=window.location.search,n=new URLSearchParams(t),(r=n.get("url"))&&this.setState({remoteYml:r});case 7:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"initData",value:function(){var e=(0,u.default)(s.default.mark(function e(){var t,n,r,i,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return s.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("initData"),e.next=3,(0,w.getData)(o);case 3:t=e.sent,n=t.elements,r=t.blocks,i=t.allFields,this.setState({elements:n,blocks:r,country:o,allFields:i}),this.initBootstrap();case 9:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"parseYml",value:function(e){this.setState({loading:!0});var t=null;try{t=A.default.load(e)}catch(e){return void alert("Error loading yaml")}if(t){var n=C.transformBack(t),r=n.languages,i=n.values,o=n.country,a=r?r[0]:null;console.log("update state"),this.setState({yaml:e,languages:r,values:i,country:o,loading:!1,yamlLoaded:!0}),this.switchLang(a),o&&this.switchCountry(o)}else alert("Error loading yaml")}},{key:"generate",value:function(e){var t=(0,k.default)();this.setState({loading:!0,lastGen:t});var n=this.state,r=n.values,i=n.country,o=n.elements,a=C.transform(r,i,o);this.showResults(a)}},{key:"validateExt",value:function(e){var t=e.json();if(e.ok)return t;if(422==e.status)return t.then(function(){throw console.log("validation not ok"),new y.SubmissionError(t)});throw console.error("some network failure occured"),new Error("generic erorr")}},{key:"validateAndGenerate",value:function(e){var t=this,n=(0,k.default)();this.setState({loading:!0,lastGen:n}),this.props.onLoadingRemote(!0);var r=this.state,i=r.values,o=r.country,s=r.elements,u=r.languages;i[u?u[0]:null]=e;var l=C.transform(i,o,s);return this.fakeLoading(),l.publiccodeYmlVersion="0.2",(0,P.postDataForValidation)(l).then(this.validateExt).then(function(e){return t.setState({loading:!1}),t.props.onLoadingRemote(!1),t.showResults(t.removeEmpty(e))}).catch(function(n){if(n instanceof y.SubmissionError)return n.errors.then(function(e){var n={};throw e.map(function(e){var t=e.Key.replace(/\/\*\//gi,"_");"description"!=(t=(t=t.replace(/\//gi,"_")).replace(/_it_/gi,"_"))&&(n[t]=e.Reason)}),t.setState({errors:n,loading:!1}),t.props.onLoadingRemote(!1),new y.SubmissionError(n)});console.error("Generic error with remote validation, using local instead",n);var r=t.validate(e),i={};if((0,a.default)(r).forEach(function(e){r[e]._error||(i[e]=r[e])}),console.log(i),t.setState({loading:!1}),t.props.onLoadingRemote(!1),0!==(0,a.default)(i).length||i.constructor!==Object)throw t.setState({errors:i}),new y.SubmissionError(i);t.showResults(l)})}},{key:"removeEmpty",value:function(e){var t=this;return(0,a.default)(e).forEach(function(n){0===(0,a.default)(e[n]).length&&e[n].constructor===Object&&delete e[n]||e[n]&&"object"===(0,o.default)(e[n])&&t.removeEmpty(e[n])}),e}},{key:"showResults",value:function(e){try{var t=(0,i.default)(j.staticFieldsJson,e),n=A.default.safeDump(t,{forceStyleLiteral:!0}),r=j.staticFieldsYaml+n;this.setState({yaml:r,loading:!1})}catch(e){console.error(e)}}},{key:"submitFeedback",value:function(){var e=this.props.form,t=this.state,n=t.yaml,r=t.yamlLoaded,i="success",o="Success";e[_.APP_FORM].submitErrors?(i="error",o="There are some errors",n=null):r=!1,this.props.notify({type:i,title:"",msg:o,millis:3e3}),this.setState({yaml:n,yamlLoaded:r})}},{key:"fakeLoading",value:function(){var e=this;setTimeout(function(){e.setState({loading:!1})},1e3)}},{key:"validate",value:function(e){var t,n=this.state,r=n.values,o=n.currentLanguage,a=n.elements,s=O.validateRequired(e,a),u=O.validateSubTypes(e,a);return t=(0,i.default)(s,u),console.log(e,t),r[o]=e,this.setState({currentValues:e,values:r,loading:!0,error:null}),this.fakeLoading(),t}},{key:"reset",value:function(){var e=(0,u.default)(s.default.mark(function e(){return s.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.props.initialize(_.APP_FORM,null),this.setState({search:null,yaml:null,loading:!1,languages:[],values:{},currentValues:{},currentLanguage:null,country:null,error:null,blocks:null,elements:null,collapse:!1,activeSection:null}),this.props.notify({type:"info",msg:"Reset"}),e.next=5,this.initData();case 5:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"renderFoot",value:function(){var e={reset:this.reset.bind(this),submitFeedback:this.submitFeedback.bind(this),yamlLoaded:this.state.yamlLoaded};return m.default.createElement(E.default,e)}},{key:"renderSidebar",value:function(){var e=this.state,t={yaml:e.yaml,loading:e.loading,values:e.values,allFields:e.allFields,remoteYml:e.remoteYml,onLoadingRemote:this.onLoadingRemote,onLoad:this.parseYml.bind(this),onReset:this.reset.bind(this)};return m.default.createElement(T.default,t)}},{key:"langSwitcher",value:function(){var e=this.state,t={languages:e.languages,currentLanguage:e.currentLanguage,search:e.search,switchLang:this.switchLang.bind(this),removeLang:this.removeLang.bind(this),onSearch:this.onSearch.bind(this)};return m.default.createElement(D.default,t)}},{key:"removeLang",value:function(e){if(confirm("Are you sure you want to remove '"+e+"'?")){var t=this.state,n=t.values,r=t.languages,o=t.currentValues,s=t.currentLanguage;delete n[e],r.splice(r.indexOf(e),1);var u=(0,a.default)(n)?(0,a.default)(n)[0]:null;(s=u||null)||(s=r?r[0]:null),o=s?(0,i.default)({},n[s]):null,this.setState({values:n,languages:r,currentValues:o,currentLanguage:s}),this.props.initialize(_.APP_FORM,o||{})}}},{key:"onSearch",value:function(e){this.setState({search:e})}},{key:"switchLang",value:function(e){var t=this.state,n=t.values,r=t.languages,o=t.currentValues,a=t.currentLanguage;if(e&&e!==a){if(a&&(n[a]=(0,i.default)({},o)),r.indexOf(e)>-1)o=(0,i.default)({},n[e]);else if(r.push(e),o={},a&&n[a]){var s=x.default.omitBy(n[a],function(e,t){return x.default.startsWith(t,w.SUMMARY+"_")});o=(0,i.default)({},s)}a=e;var u=-1;r&&1==r.length&&(u=0),this.setState({values:n,languages:r,currentValues:o,currentLanguage:a,search:null,activeSection:u}),this.props.initialize(_.APP_FORM,o)}}},{key:"switchCountry",value:function(){var e=(0,u.default)(s.default.mark(function e(t){var n;return s.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.state.currentValues,e.next=3,this.initData(t);case 3:this.props.initialize(_.APP_FORM,n);case 4:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}()},{key:"onAccordion",value:function(e){var t=56*e,n=document.getElementById("content__main").scrollTop-t;n>0?(console.info("diff",n),document.getElementById("content__main").scrollTop=t):console.warn("inviewport"),this.setState({activeSection:e})}},{key:"render",value:function(){var e=this.state,t=e.currentLanguage,n=e.blocks,r=e.activeSection,i=e.country,o=e.allFields,a=e.lastGen,s=e.errors,u=this.props.form;return u&&u[_.APP_FORM],m.default.createElement(h.Fragment,null,m.default.createElement("div",{className:"content"},m.default.createElement(M.default,{lastGen:a}),this.langSwitcher(),m.default.createElement("div",{className:"content__main",id:"content__main"},t&&n&&m.default.createElement(L.default,{activeSection:r,onAccordion:this.onAccordion.bind(this),onSubmit:this.validateAndGenerate.bind(this),data:n,country:i,switchCountry:this.switchCountry.bind(this),errors:s,allFields:o})),t&&this.renderFoot(),m.default.createElement(S.default,null)),this.renderSidebar())}}]),t}(h.Component))||r;t.default=F},function(e,t,n){n(728),e.exports=n(16).Object.keys},function(e,t,n){var r=n(88),i=n(92);n(275)("keys",function(){return function(e){return i(r(e))}})},function(e,t,n){var r=function(){return this}()||Function("return this")(),i=r.regeneratorRuntime&&Object.getOwnPropertyNames(r).indexOf("regeneratorRuntime")>=0,o=i&&r.regeneratorRuntime;if(r.regeneratorRuntime=void 0,e.exports=n(730),i)r.regeneratorRuntime=o;else try{delete r.regeneratorRuntime}catch(e){r.regeneratorRuntime=void 0}},function(e,t){!function(t){"use strict";var n,r=Object.prototype,i=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag",l="object"==typeof e,c=t.regeneratorRuntime;if(c)l&&(e.exports=c);else{(c=t.regeneratorRuntime=l?e.exports:{}).wrap=_;var d="suspendedStart",f="suspendedYield",p="executing",h="completed",m={},g={};g[a]=function(){return this};var y=Object.getPrototypeOf,v=y&&y(y(C([])));v&&v!==r&&i.call(v,a)&&(g=v);var b=k.prototype=A.prototype=Object.create(g);x.prototype=b.constructor=k,k.constructor=x,k[u]=x.displayName="GeneratorFunction",c.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===x||"GeneratorFunction"===(t.displayName||t.name))},c.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,k):(e.__proto__=k,u in e||(e[u]="GeneratorFunction")),e.prototype=Object.create(b),e},c.awrap=function(e){return{__await:e}},M(E.prototype),E.prototype[s]=function(){return this},c.AsyncIterator=E,c.async=function(e,t,n,r){var i=new E(_(e,t,n,r));return c.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},M(b),b[u]="Generator",b[a]=function(){return this},b.toString=function(){return"[object Generator]"},c.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},c.values=C,T.prototype={constructor:T,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=n,this.done=!1,this.delegate=null,this.method="next",this.arg=n,this.tryEntries.forEach(D),!e)for(var t in this)"t"===t.charAt(0)&&i.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=n)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,i){return s.type="throw",s.arg=e,t.next=r,i&&(t.method="next",t.arg=n),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var u=i.call(a,"catchLoc"),l=i.call(a,"finallyLoc");if(u&&l){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,m):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),D(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;D(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:C(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=n),m}}}function _(e,t,n,r){var i=t&&t.prototype instanceof A?t:A,o=Object.create(i.prototype),a=new T(r||[]);return o._invoke=function(e,t,n){var r=d;return function(i,o){if(r===p)throw new Error("Generator is already running");if(r===h){if("throw"===i)throw o;return O()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=L(a,n);if(s){if(s===m)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===d)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var u=w(e,t,n);if("normal"===u.type){if(r=n.done?h:f,u.arg===m)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=h,n.method="throw",n.arg=u.arg)}}}(e,n,a),o}function w(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function A(){}function x(){}function k(){}function M(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function E(e){var t;this._invoke=function(n,r){function o(){return new Promise(function(t,o){!function t(n,r,o,a){var s=w(e[n],e,r);if("throw"!==s.type){var u=s.arg,l=u.value;return l&&"object"==typeof l&&i.call(l,"__await")?Promise.resolve(l.__await).then(function(e){t("next",e,o,a)},function(e){t("throw",e,o,a)}):Promise.resolve(l).then(function(e){u.value=e,o(u)},a)}a(s.arg)}(n,r,t,o)})}return t=t?t.then(o,o):o()}}function L(e,t){var r=e.iterator[t.method];if(r===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=n,L(e,t),"throw"===t.method))return m;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var i=w(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,m;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=n),t.delegate=null,m):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function D(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function C(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,o=function t(){for(;++r<e.length;)if(i.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=n,t.done=!0,t};return o.next=o}}return{next:O}}function O(){return{value:n,done:!0}}}(function(){return this}()||Function("return this")())},function(e,t,n){n(285),n(121),n(150),n(732),n(740),n(741),e.exports=n(16).Promise},function(e,t,n){"use strict";var r,i,o,a,s=n(119),u=n(32),l=n(89),c=n(220),d=n(36),f=n(58),p=n(148),h=n(733),m=n(734),g=n(313),y=n(314).set,v=n(736)(),b=n(222),_=n(315),w=n(737),A=n(316),x=u.TypeError,k=u.process,M=k&&k.versions,E=M&&M.v8||"",L=u.Promise,S="process"==c(k),D=function(){},T=i=b.f,C=!!function(){try{var e=L.resolve(1),t=(e.constructor={})[n(33)("species")]=function(e){e(D,D)};return(S||"function"==typeof PromiseRejectionEvent)&&e.then(D)instanceof t&&0!==E.indexOf("6.6")&&-1===w.indexOf("Chrome/66")}catch(e){}}(),O=function(e){var t;return!(!f(e)||"function"!=typeof(t=e.then))&&t},$=function(e,t){if(!e._n){e._n=!0;var n=e._c;v(function(){for(var r=e._v,i=1==e._s,o=0,a=function(t){var n,o,a,s=i?t.ok:t.fail,u=t.resolve,l=t.reject,c=t.domain;try{s?(i||(2==e._h&&I(e),e._h=1),!0===s?n=r:(c&&c.enter(),n=s(r),c&&(c.exit(),a=!0)),n===t.promise?l(x("Promise-chain cycle")):(o=O(n))?o.call(n,u,l):u(n)):l(r)}catch(e){c&&!a&&c.exit(),l(e)}};n.length>o;)a(n[o++]);e._c=[],e._n=!1,t&&!e._h&&j(e)})}},j=function(e){y.call(u,function(){var t,n,r,i=e._v,o=P(e);if(o&&(t=_(function(){S?k.emit("unhandledRejection",i,e):(n=u.onunhandledrejection)?n({promise:e,reason:i}):(r=u.console)&&r.error&&r.error("Unhandled promise rejection",i)}),e._h=S||P(e)?2:1),e._a=void 0,o&&t.e)throw t.v})},P=function(e){return 1!==e._h&&0===(e._a||e._c).length},I=function(e){y.call(u,function(){var t;S?k.emit("rejectionHandled",e):(t=u.onrejectionhandled)&&t({promise:e,reason:e._v})})},N=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),$(t,!0))},F=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw x("Promise can't be resolved itself");(t=O(e))?v(function(){var r={_w:n,_d:!1};try{t.call(e,l(F,r,1),l(N,r,1))}catch(e){N.call(r,e)}}):(n._v=e,n._s=1,$(n,!1))}catch(e){N.call({_w:n,_d:!1},e)}}};C||(L=function(e){h(this,L,"Promise","_h"),p(e),r.call(this);try{e(l(F,this,1),l(N,this,1))}catch(e){N.call(this,e)}},(r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(738)(L.prototype,{then:function(e,t){var n=T(g(this,L));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=S?k.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&$(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r;this.promise=e,this.resolve=l(F,e,1),this.reject=l(N,e,1)},b.f=T=function(e){return e===L||e===a?new o(e):i(e)}),d(d.G+d.W+d.F*!C,{Promise:L}),n(149)(L,"Promise"),n(739)("Promise"),a=n(16).Promise,d(d.S+d.F*!C,"Promise",{reject:function(e){var t=T(this);return(0,t.reject)(e),t.promise}}),d(d.S+d.F*(s||!C),"Promise",{resolve:function(e){return A(s&&this===a?L:this,e)}}),d(d.S+d.F*!(C&&n(317)(function(e){L.all(e).catch(D)})),"Promise",{all:function(e){var t=this,n=T(t),r=n.resolve,i=n.reject,o=_(function(){var n=[],o=0,a=1;m(e,!1,function(e){var s=o++,u=!1;n.push(void 0),a++,t.resolve(e).then(function(e){u||(u=!0,n[s]=e,--a||r(n))},i)}),--a||r(n)});return o.e&&i(o.v),n.promise},race:function(e){var t=this,n=T(t),r=n.reject,i=_(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}})},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(89),i=n(311),o=n(312),a=n(41),s=n(203),u=n(221),l={},c={};(t=e.exports=function(e,t,n,d,f){var p,h,m,g,y=f?function(){return e}:u(e),v=r(n,d,t?2:1),b=0;if("function"!=typeof y)throw TypeError(e+" is not iterable!");if(o(y)){for(p=s(e.length);p>b;b++)if((g=t?v(a(h=e[b])[0],h[1]):v(e[b]))===l||g===c)return g}else for(m=y.call(e);!(h=m.next()).done;)if((g=i(m,v,h.value,t))===l||g===c)return g}).BREAK=l,t.RETURN=c},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(32),i=n(314).set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,u="process"==n(122)(a);e.exports=function(){var e,t,n,l=function(){var r,i;for(u&&(r=a.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(u)n=function(){a.nextTick(l)};else if(!o||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var c=s.resolve(void 0);n=function(){c.then(l)}}else n=function(){i.call(r,l)};else{var d=!0,f=document.createTextNode("");new o(l).observe(f,{characterData:!0}),n=function(){f.data=d=!d}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},function(e,t,n){var r=n(32).navigator;e.exports=r&&r.userAgent||""},function(e,t,n){var r=n(73);e.exports=function(e,t,n){for(var i in t)n&&e[i]?e[i]=t[i]:r(e,i,t[i]);return e}},function(e,t,n){"use strict";var r=n(32),i=n(16),o=n(51),a=n(42),s=n(33)("species");e.exports=function(e){var t="function"==typeof i[e]?i[e]:r[e];a&&t&&!t[s]&&o.f(t,s,{configurable:!0,get:function(){return this}})}},function(e,t,n){"use strict";var r=n(36),i=n(16),o=n(32),a=n(313),s=n(316);r(r.P+r.R,"Promise",{finally:function(e){var t=a(this,i.Promise||o.Promise),n="function"==typeof e;return this.then(n?function(n){return s(t,e()).then(function(){return n})}:e,n?function(n){return s(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){"use strict";var r=n(36),i=n(222),o=n(315);r(r.S,"Promise",{try:function(e){var t=i.f(this),n=o(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setVersions=t.clearYaml=t.saveYaml=t.SET_VERSIONS=t.RESET_YAML=t.SET_YAML=void 0;var r,i=n(8),o=(r=i)&&r.__esModule?r:{default:r},a=n(269);var s=t.SET_YAML="SET_YAML",u=t.RESET_YAML="RESET_YAML",l=t.SET_VERSIONS="SET_VERSIONS",c=(t.saveYaml=(0,a.createAction)(s),t.clearYaml=(0,a.createAction)(u),t.setVersions=(0,a.createAction)(l),(0,a.handleActions)({SET_YAML:function(e,t){return(0,o.default)({},e,{yml:t.payload})},RESET_YAML:function(e,t){return(0,o.default)({},e,{yml:null})},SET_VERSIONS:function(e,t){return(0,o.default)({},e,{versions:t.payload})}},{yml:null,versions:null}));t.default=c},function(e,t,n){n(121),n(744),e.exports=n(16).Array.from},function(e,t,n){"use strict";var r=n(89),i=n(36),o=n(88),a=n(311),s=n(312),u=n(203),l=n(745),c=n(221);i(i.S+i.F*!n(317)(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,i,d,f=o(e),p="function"==typeof this?this:Array,h=arguments.length,m=h>1?arguments[1]:void 0,g=void 0!==m,y=0,v=c(f);if(g&&(m=r(m,h>2?arguments[2]:void 0,2)),null==v||p==Array&&s(v))for(n=new p(t=u(f.length));t>y;y++)l(n,y,g?m(f[y],y):f[y]);else for(d=v.call(f),n=new p;!(i=d.next()).done;y++)l(n,y,g?a(d,m,[i.value,y],!0):i.value);return n.length=y,n}})},function(e,t,n){"use strict";var r=n(51),i=n(120);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){e.exports={default:n(747),__esModule:!0}},function(e,t,n){n(748),e.exports=n(16).Object.values},function(e,t,n){var r=n(36),i=n(318)(!1);r(r.S,"Object",{values:function(e){return i(e)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fieldsAsync=void 0;var r=s(n(127)),i=s(n(128)),o=s(n(750)),a=s(n(751));function s(e){return e&&e.__esModule?e:{default:e}}var u,l=[{code:"it",name:"italia",fields:o.default}],c=l.map(function(e){return e.code}),d={countrySpec:l,sections:["Name","Repository & Documentation","Software Details","Legal & Reuse","Description & Features","Logo & Screenshots","Purpose & Audience","Maintenance"],groups:["summary","maintenance","legal","intendedAudience","localisation"],available_countries:c};t.fieldsAsync=(u=(0,i.default)(r.default.mark(function e(){return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,a.default)();case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e,void 0)})),function(){return u.apply(this,arguments)});t.default=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=[{title:"countryExtensionVersion",label:"Country Ext. Version",type:"hidden",description:"Country Extension version",section:6,required:!1,widget:"string",value:"0.2",disabled:!0,group:"it"},{section:4,group:"it",title:"piattaforme",label:"Piattaforme",type:"object",properties:{spid:{title:"spid",label:"SPID",type:"boolean",description:"Se presente e impostato a yes, il software si interfaccia con SPID - il Sistema Pubblico di Identità Digitale."},cie:{title:"cie",label:"CIE",type:"boolean",description:"Se presente e impostato a yes, il software si interfaccia con la Carta di Identità Elettronica."},anpr:{title:"anpr",label:"ANPR",type:"boolean",description:"Se presente e impostato a yes, il software si interfaccia con PagoPA."},pagopa:{title:"pagopa",label:"pagoPA",type:"boolean",description:"Se presente e impostato a yes, il software si interfaccia con PagoPA."}}},{section:4,group:"it",title:"conforme",label:"Conforme",type:"object",properties:{lineeGuidaDesign:{title:"lineeGuidaDesign",label:"Linee guida design",type:"boolean",description:"Se presente e impostato a yes, il software è conforme alle linee guida di design."},modelloInteroperabilita:{title:"modelloInteroperabilita",label:"Interoperabile",type:"boolean",description:"Se presente e impostato a yes, il software è conforme alle linee guida sull'interoperabilità.Riferimento normativo: Art. 73 del CAD."},misureMinimeSicurezza:{title:"misureMinimeSicurezza",label:"Misure minime sicurezza",type:"boolean",description:"Se presente e impostato a yes, il software è conforme alle Misure minime di sicurezza ICT per le Pubbliche amministrazioni."},gdpr:{title:"gdpr",label:"GDPR",type:"boolean",description:"Se presente e impostato a yes, il software rispetta il GDPR."}}},{section:3,prepend:!0,group:"it",title:"riuso",label:"Riuso",showLabel:!1,type:"object",cn:"block__item--full",properties:{codiceIPA:{title:"codiceIPA",label:"Codice iPA dell'ente (obbligatorio per Pubbliche Amministrazioni)",type:"string",widget:"rsearch",description:"Codice dell'ente all'interno dell'Indice delle Pubbliche Amministrazioni\n          (codice iPA, https://indicepa.gov.it/).",ajax:{url:n(46).elasticUrl,params:function(e){return{from:0,size:50,query:{bool:{should:[{match:{ipa:e}},{multi_match:{query:e,operator:"and",fields:["ipa","pec","description","type","cf"]}}]}}}}}}}}];t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=d(n(127)),i=d(n(129)),o=d(n(128)),a=d(n(752)),s=d(n(753)),u=d(n(754)),l=d(n(319)),c=d(n(755));function d(e){return e&&e.__esModule?e:{default:e}}var f,p=["concept","development","beta","stable","obsolete"],h=["standalone/backend","standalone/desktop","standalone/iot","standalone/mobile","standalone/web","standalone/other","addon","library","configurationFiles"],m=null,g=(f=(0,o.default)(r.default.mark(function e(){return r.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(m){e.next=4;break}try{m=["development","0.1"]}catch(e){m=["development","0.1"]}e.next=7;break;case 4:return e.next=6,i.default.resolve(m);case 6:m=e.sent;case 7:return e.abrupt("return",[{title:"name",label:"Name of the software",type:"string",description:"This key contains the name of the software. It contains the (short) public name of the product, which can be localised in the specific localisation section. It should be the name most people usually refer to the software. In case the software has both an internal 'code' name and a commercial name, use the commercial name.",section:0,required:!0},{title:"releaseDate",label:"Release Date",type:"string",description:"This key contains the date at which the latest version was released. This date is mandatory if the software has been released at least once and thus the version number is present.",section:2,required:!0,widget:"date"},{title:"url",label:"Repository URL",type:"string",description:"A unique identifier for this software. This string must be a URL to the source code repository (git, svn, ...) in which the software is published. If the repository is available under multiple protocols, prefer HTTP/HTTPS URLs which don't require user authentication.",widget:"url",section:1,required:!0},{title:"applicationSuite",label:"Application Suite",type:"string",description:"This key contains the name of the 'suite' to which the software belongs.",section:0},{type:"string",title:"landingURL",label:"Landing Page URL",description:"If the url parameter does not serve a human readable or browsable page, but only serves source code to a source control client, with this key you have an option to specify a landing page. This page, ideally, is where your users will land when they will click a button labeled something like 'Go to the application source code'. In case the product provides an automated graphical installer, this URL can point to a page which contains a reference to the source code but also offers the download of such an installer.",section:1,widget:"url"},{title:"localisedName",label:"Localised Name",type:"string",description:"This key is an opportunity to localise the name in a specific language. It contains the (short) public name of the product. It should be the name most people usually refer to the software. In case the software has both an internal “code” name and a commercial name, use the commercial name.",section:0,group:"description"},{title:"genericName",label:"Generic Name",type:"string",description:"This key is the “Generic name”, which refers to the specific category to which the software belongs. You can usually find the generic name in the presentation of the software, when you write: “Software xxx is a yyy” Notable examples include “Text Editor”, “Word Processor”, “Web Browser”, “Chat” and so on… The generic name can be up to 35 characters long.",section:0,maxLength:35,required:!0,group:"description"},{title:"shortDescription",label:"Short Description",type:"string",description:"This key contains a short description of the software. It should be a single line containing a single sentence. Maximum 150 characters are allowed.",section:4,maxLength:150,group:"description",required:!0},{title:"longDescription",label:"Long Description",type:"string",description:"This key contains a longer description of the software, between 500 and 10000 chars. It is meant to provide an overview of the capabilities of the software for a potential user. The audience for this text should be that of users of the software, not developers. You can think of this text as the description of the software that would be in its website (if the software had one).This description can contain some basic markdown: *italic*, **bold**, bullet points and [links](#).",section:4,group:"description",widget:"editor",required:!0,minLength:500,maxLength:1e4,cn:"block__item--full"},{title:"documentation",label:"Documentation",type:"string",description:"This key contains a reference to the user-level (not developer-level) documentation of the software. The value must be a URL to a hosted version of the documentation.It is suggested that the URL points to a hosted version of the documentation that is immediately readable through a common web browser in both desktop and mobile format. The documentation should be rendered in HTML and browsable like a website (with a navigation index, a search bar, etc.).",section:1,group:"description",widget:"url"},{title:"apiDocumentation",label:"API Documentation",section:1,group:"description",type:"string",description:"This key contains a reference to the API documentation of the software. The value must be a URL to a hosted version of the documentation.It is suggested that the URL points to a hosted version of the documentation that is immediately readable through a common web browser. The documentation should be rendered in HTML and browsable like a website (with a navigation index, a search bar, etc.), and if there is a reference or test deployment, possibly offer an interactive interface (e.g. Swagger).",widget:"url"},{title:"features",label:"Features",type:"array",description:"This key contains a list of software features, describing what capabilities the software allows to do. The audience for this text should be that of public decision makers who will be commissioning the software. The features should thus not target developers: instead of listing technical features referring to implementation details, prefer listing user-visible functionalities of the software.While the key is mandatory, there is no mandatory minimum or maximum number of features that should be listed in this key. Each feature must use a maximum of 100 characters.The suggested number of features to list is between 5 and 20, depending on the software size and complexity. There is no need for exhaustiveness, as users can always read the documentation for additional information.",items:{type:"string",title:"feature",maxLength:100},section:4,required:!0,group:"description"},{title:"screenshots",label:"Screenshots",type:"array",description:"This key is for some software screens with purpose to show an overview on how it works. It can be a relative or absolute path",items:{type:"string",title:"screenshot"},section:5,group:"description"},{title:"videos",label:"Videos",type:"array",description:"This key contains one or multiple URLs of videos showing how the software works. Like screenshots, videos should be used to give a quick overview on how the software looks like and how it works. Videos must be hosted on a video sharing website that supports the oEmbed standard; popular options are YouTube and Vimeo.",items:{type:"string",title:"video"},section:5,group:"description"},{title:"awards",label:"Awards",type:"array",description:"A list of awards won by the software.",items:{type:"string",title:"award"},section:3,group:"description"},{title:"isBasedOn",label:"Is Based On",type:"array",items:{type:"string",title:"isBasedOn"},description:"In case this software is a variant or a fork of another software, which might or might not contain a publiccode.yml file, this key will contain the url of the original project(s). The existence of this key identifies the fork as a software variant, descending from the specified repositories.",section:2,widget:"url"},{type:"string",title:"softwareVersion",label:"Software Version",description:"This key contains the latest stable version number of the software. The version number is a string that is not meant to be interpreted and parsed but just displayed; parsers should not assume semantic versioning or any other specific version format.",section:2},{type:"string",title:"logo",label:"Logo",description:"This key contains the logo of the software. Logos should be in vector format; raster formats are only allowed as a fallback. In this case, they should be transparent PNGs, minimum 1000px of width. Acceptable formats: SVG, SVGZ, PNG",section:5,fileExt:["svg","svgz","png"]},{type:"string",title:"monochromeLogo",label:"Logo Monochrome",description:"A monochromatic (black) logo. The logo should be in vector format; raster formats are only allowed as a fallback. In this case, they should be transparent PNGs, minimum 1000px of width. Acceptable formats: SVG, SVGZ, PNG",section:5,fileExt:["svg","svgz","png"]},{title:"developmentStatus",label:"Development Status",type:"string",description:"Allowed values: concept, development, beta, stable, obsolete",enum:p,section:2,required:!0,widget:"choice-expanded"},{title:"softwareType",label:"Software Type",type:"string",description:"Allowed values: standalone, addon, library, configurationFiles",enum:h,section:2,required:!0,widget:"choice-expanded"},{title:"roadmap",label:"Roadmap",type:"string",description:"A link to a public roadmap of the software.",section:1,widget:"url"},{type:"array",title:"platforms",label:"Platforms",description:"This key specifies which platform the software runs on. It is meant to describe the platforms that users will use to access and operate the software, rather than the platform the software itself runs on. Use the predefined values if possible. If the software runs on a platform for which a predefined value is not available, a different value can be used. Values: web, windows, mac, linux, ios, android. Human readable values outside this list are allowed.",examples:["android","ios"],items:{type:"string",enum:["web","windows","mac","linux","ios","android"]},required:!0,section:2,widget:"tags"},{type:"array",title:"license",label:"License",description:"This string describes the license under which the software is distributed. The string must contain a valid SPDX expression, referring to one (or multiple) open-source license. Please refer to the SPDX documentation for further information.",section:3,items:{type:"string",enum:u.default},group:"legal",required:!0,widget:"combobox"},{type:"string",title:"mainCopyrightOwner",label:"Main Copyright Owner",description:"This string describes the entity that owns the copyright on 'most' of the code in the repository. Normally, this is the line that is reported with the copyright symbol at the top of most files in the repo.",section:3,group:"legal"},{type:"string",title:"repoOwner",label:"Repository Owner",description:"This string describes the entity that owns this repository; this might or might not be the same entity who owns the copyright on the code itself. For instance, in case of a fork of the original software, the repoOwner is probably different from the mainCopyrightOwner.",section:3,group:"legal",required:!1},{title:"authorsFile",label:"Authors File",type:"string",description:"Some open-source softwares adopt a convention of identify the copyright holders through a file that lists all the entities that own the copyright. This is common in projects strongly backed by a community where there are many external contributors and no clear single/main copyright owner. In such cases, this key can be used to refer to the authors file, using a path relative to the root of the repository.",section:3,group:"legal"},{title:"categories",label:"Category",description:"A list of words that can be used to describe the software and can help building catalogs of open software. Each tag must be in Unicode lowercase, and should not contain any Unicode whitespace character. The suggested character to separate multiple words is - (single dash). See also: description/[lang]/freeTags/",type:"array",items:{type:"string",title:"category",enum:a.default},section:6,required:!0,widget:"tags"},{title:"scope",label:"Scope",description:"Public software could be very specific in scope because there is a large set of tasks that are specific to each type of administration. For instance, many softwares that are used in schools are probably not useful in hospitals. If you want to explicitly mark some software as only useful to certain types of administrations, you should add them to this key.The list of allowed values is defined in pa-types.md, and can be country-specific. This list can evolve at any time, separately from the version of this specification.",type:"array",items:{type:"string",title:"scope",enum:s.default},section:6,group:"intendedAudience",widget:"tags"},{title:"countries",label:"Countries",type:"array",description:"This key explicitly includes certain countries in the intended audience, i.e. the software explicitly claims compliance with specific processes, technologies or laws. All countries are specified using lowercase ISO 3166-1 alpha-2 two-letter country codes.",items:{title:"item",type:"string",enum:c.default},section:6,group:"intendedAudience",widget:"tags"},{title:"unsupportedCountries",label:"Unsupported Countries",type:"array",description:"This key explicitly marks countries as NOT supported. This might be the case if there is a conflict between how software is working and a specific law, process or technology. All countries are specified using lowercase ISO 3166-1 alpha-2 two-letter country codes.",items:{title:"item",type:"string",enum:c.default},section:6,group:"intendedAudience",widget:"tags"},{title:"usedBy",label:"Used By",description:"A list of the names of prominent public administrations (that will serve as testimonials) that are currently known to the software maintainer to be using this software. Parsers are encouraged to enhance this list also with other information that can obtain independently; for instance, a fork of a software, owned by an administration, could be used as a signal of usage of the software.",type:"array",items:{type:"string"},section:3},{title:"inputTypes",label:"Input Types",description:"A list of Media Types (MIME Types) as mandated in RFC 6838 which the application can handle as output. In case the software does not support any input, you can skip this field or use application/x.empty.",type:"array",items:{type:"string"},section:2},{title:"outputTypes",label:"Output Types",description:"A list of Media Types (MIME Types) as mandated in RFC 6838 which the application can handle as output. In case the software does not support any output, you can skip this field or use application/x.empty.",type:"array",items:{type:"string"},section:2},{title:"localisationReady",label:"Localisation Ready",type:"boolean",description:"If yes, the software has infrastructure in place or is otherwise designed to be multilingual. It does not need to be available in more than one language.",section:6,required:!0,group:"localisation"},{title:"availableLanguages",label:"Available Languages",type:"array",description:"If present, this is the list of languages in which the software is available. Of course, this list will contain at least one language. The primary language subtag cannot be omitted, as mandated by the. See also: https://tools.ietf.org/html/bcp47",items:{title:"item",type:"string",enum:l.default},widget:"tags",section:4,required:!0,group:"localisation"},{title:"type",label:"Maintenance Type",type:"array",description:"This key describes how the software is currently maintained. 'internal' means that the software is internally maintained by the repository owner. 'contract' means that there is a commercial contract that binds an entity to the maintenance of the software; 'community' means that the software is currently maintained by one or more people that donate their time to the project; 'none' means that the software is not actively maintained.",items:{type:"string"},uniqueItems:!0,required:!0,requireChildrenIf:[{title:"maintenance_contacts",values:["internal","community"]},{title:"maintenance_contractors",values:["contract"]}],enum:["internal","contract","community","none"],widget:"choice-expanded",section:7,group:"maintenance"},{title:"contacts",label:"Contacts",type:"array",description:"One or more contacts maintaining this software. This key describes the technical people currently responsible for maintaining the software. All contacts need to be a physical person, not a company or an organisation. if somebody is acting as a representative of an institution, it must be listed within the affiliation of the contact. In case of a commercial agreement (or a chain of such agreements), specify the final entities actually contracted to deliver the maintenance. Do not specify the software owner unless it is technically involved with the maintenance of the product as well.",items:{title:"contact",label:"Contact",description:"This key contains an explicit affiliation information for the technical contact. In case of multiple maintainers, this can be used to create a relation between each technical contact and each maintainer entity. It can contain for instance a company name, an association name, etc.",type:"object",properties:{name:{type:"string",title:"name",label:"Name",description:" mandatory - This key contains the full name of one of the technical contacts. It must be a real person; do NOT populate this key with generic contact information, company departments, associations, etc."},email:{type:"string",title:"Email",label:"Email",widget:"email",description:"This key contains the e-mail address of the technical contact. It must be an email address of where the technical contact can be directly reached; do NOT populate this key with mailing-lists or generic contact points like info@acme.inc. "},phone:{type:"string",widget:"phone",title:"phone",label:"Phone",description:"Phone number (with international prefix)"},affiliation:{type:"string",title:"affiliation",label:"Affiliation",description:"This key contains an explicit affiliation information for the technical contact. In case of multiple maintainers, this can be used to create a relation between each technical contact and each maintainer entity. It can contain for instance a company name, an association name, etc."}},required:["name"]},section:7,group:"maintenance",cn:"block__item--full"},{title:"contractors",label:"Contractors",type:"array",description:"This key describes the entity or entities, if any, that are currently contracted for maintaining the software. They can be companies, organizations, or other collective names.",items:{title:"contractor",label:"Contractor",description:"This key contains an explicit affiliation information for the technical contact. In case of multiple maintainers, this can be used to create a relation between each technical contact and each maintainer entity. It can contain for instance a company name, an association name, etc.",type:"object",properties:{name:{type:"string",title:"name",label:"Name",description:"mandatory - The name of the contractor, whether it's a company or a physical person."},until:{type:"string",title:"until",label:"Until",description:" mandatory - This is a date (YYYY-MM-DD). This key must contain the date at which the maintenance is going to end. In case of community maintenance, the value should not be more than 2 years in the future, and thus will need to be regularly updated as the community continues working on the project.",widget:"date"},website:{type:"string",title:"website",label:"website",description:"This key points to the maintainer website. It can either point to the main institutional website, or to a more project-specific page or website.",widget:"url"}},required:["name","until"]},section:7,group:"maintenance",cn:"block__item--full"},{title:"dependsOn",label:"Depends On",description:"This section provides an overview on the system-level dependencies required to install and use this software.",type:"array",items:{title:"dependency",label:"Dependency",description:"A dependency is a complex object. The properties are the following:",type:"object",properties:{type:{title:"type",label:"Type",type:"array",items:{type:"string"},enum:["open","proprietary","hardware"],uniqueItems:!0,widget:"choice-expanded"},name:{title:"name",label:"Name",type:"string",description:"mandatory - The name of the dependency (e.g. MySQL, NFC Reader)"},versionMin:{type:"string",title:"versionMin",label:"Version Range Min",description:"the first compatible version"},versionMax:{type:"string",title:"versionMax",label:"Version Range Max",description:"the latest compatible version"},version:{type:"string",title:"version",label:"Exact Version",description:"the only major version for which the software is compatible. It assumes compatibility with all patches and bugfixes later applied to this version."},optional:{title:"optional",label:"Optional",type:"boolean",description:"whether the dependency is optional or mandatory"}},required:["name","type"]},section:7,cn:"block__item--full"}]);case 8:case"end":return e.stop()}},e,void 0)})),function(){return f.apply(this,arguments)});t.default=g},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=["accounting","agile-project-management","applicant-tracking","application-development","appointment-scheduling","backup","billing-and-invoicing","blog","budgeting","business-intelligence","business-process-management","cad","call-center-management","cloud-management","collaboration","communications","compliance-management","contact-management","content-management","crm","customer-service-and-support","data-analytics","data-collection","data-visualization","digital-asset-management","digital-citizenship","document-management","donor-management","e-commerce","e-signature","email-management","email-marketing","employee-management","enterprise-project-management","enterprise-social-networking","erp","event-management","facility-management","feedback-and-reviews-management","financial-reporting","fleet-management","fundraising","gamification","geographic-information-systems","grant-management","graphic-design","help-desk","hr","ide","identity-management","instant-messaging","inventory-management","it-asset-management","it-development","it-management","it-security","it-service-management","knowledge-management","learning-management-system","marketing","mind-mapping","mobile-marketing","mobile-payment","network-management","office","online-booking","online-community","payment-gateway","payroll","predictive-analysis","procurement","productivity-suite","project-collaboration","project-management","property-management","real-estate-management","remote-support","resource-management","sales-management","seo","service-desk","social-media-management","survey","talent-management","task-management","taxes-management","test-management","time-management","time-tracking","translation","video-conferencing","video-editing","visitor-management","voip","warehouse-management","web-collaboration","web-conferencing","website-builder","workflow-management"]},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=["agriculture","culture","defence","education","emergency-services","employment","energy","environment","finance-and-economic-development","foreign-affairs","government","healthcare","infrastructures","justice","local-authorities","manufacturing","research","science-and-technology","security","society","sport","tourism","transportation","welfare"]},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=[{text:"BSD Zero Clause License",value:"0BSD"},{text:"Attribution Assurance License",value:"AAL"},{text:"Academic Free License v1.1",value:"AFL-1.1"},{text:"Academic Free License v1.2",value:"AFL-1.2"},{text:"Academic Free License v2.0",value:"AFL-2.0"},{text:"Academic Free License v2.1",value:"AFL-2.1"},{text:"Academic Free License v3.0",value:"AFL-3.0"},{text:"GNU Affero General Public License v3.0 only",value:"AGPL-3.0-only"},{text:"GNU Affero General Public License v3.0 or later",value:"AGPL-3.0-or-later"},{text:"Adaptive Public License 1.0",value:"APL-1.0"},{text:"Apple Public Source License 1.0",value:"APSL-1.0"},{text:"Apple Public Source License 1.1",value:"APSL-1.1"},{text:"Apple Public Source License 1.2",value:"APSL-1.2"},{text:"Apple Public Source License 2.0",value:"APSL-2.0"},{text:"Apache License 1.1",value:"Apache-1.1"},{text:"Apache License 2.0",value:"Apache-2.0"},{text:"Artistic License 1.0",value:"Artistic-1.0"},{text:"Artistic License 1.0 (Perl)",value:"Artistic-1.0-Perl"},{text:"Artistic License 1.0 w/clause 8",value:"Artistic-1.0-cl8"},{text:"Artistic License 2.0",value:"Artistic-2.0"},{text:'BSD 2-Clause "Simplified" License',value:"BSD-2-Clause"},{text:"BSD-2-Clause Plus Patent License",value:"BSD-2-Clause-Patent"},{text:'BSD 3-Clause "New" or "Revised" License',value:"BSD-3-Clause"},{text:"Boost Software License 1.0",value:"BSL-1.0"},{text:"Computer Associates Trusted Open Source License 1.1",value:"CATOSL-1.1"},{text:"Common Development and Distribution License 1.0",value:"CDDL-1.0"},{text:"CeCILL Free Software License Agreement v2.1",value:"CECILL-2.1"},{text:"CNRI Python License",value:"CNRI-Python"},{text:"Common Public Attribution License 1.0",value:"CPAL-1.0"},{text:"Common Public License 1.0",value:"CPL-1.0"},{text:"CUA Office Public License v1.0",value:"CUA-OPL-1.0"},{text:"Educational Community License v1.0",value:"ECL-1.0"},{text:"Educational Community License v2.0",value:"ECL-2.0"},{text:"Eiffel Forum License v1.0",value:"EFL-1.0"},{text:"Eiffel Forum License v2.0",value:"EFL-2.0"},{text:"Eclipse Public License 1.0",value:"EPL-1.0"},{text:"Eclipse Public License 2.0",value:"EPL-2.0"},{text:"EU DataGrid Software License",value:"EUDatagrid"},{text:"European Union Public License 1.1",value:"EUPL-1.1"},{text:"European Union Public License 1.2",value:"EUPL-1.2"},{text:"Entessa Public License v1.0",value:"Entessa"},{text:"Fair License",value:"Fair"},{text:"Frameworx Open License 1.0",value:"Frameworx-1.0"},{text:"GNU General Public License v2.0 only",value:"GPL-2.0-only"},{text:"GNU General Public License v2.0 or later",value:"GPL-2.0-or-later"},{text:"GNU General Public License v3.0 only",value:"GPL-3.0-only"},{text:"GNU General Public License v3.0 or later",value:"GPL-3.0-or-later"},{text:"Historical Permission Notice and Disclaimer",value:"HPND"},{text:"IPA Font License",value:"IPA"},{text:"IBM Public License v1.0",value:"IPL-1.0"},{text:"ISC License",value:"ISC"},{text:"Intel Open Source License",value:"Intel"},{text:"GNU Library General Public License v2 only",value:"LGPL-2.0-only"},{text:"GNU Library General Public License v2 or later",value:"LGPL-2.0-or-later"},{text:"GNU Lesser General Public License v2.1 only",value:"LGPL-2.1-only"},{text:"GNU Lesser General Public License v2.1 or later",value:"LGPL-2.1-or-later"},{text:"GNU Lesser General Public License v3.0 only",value:"LGPL-3.0-only"},{text:"GNU Lesser General Public License v3.0 or later",value:"LGPL-3.0-or-later"},{text:"Lucent Public License Version 1.0",value:"LPL-1.0"},{text:"Lucent Public License v1.02",value:"LPL-1.02"},{text:"LaTeX Project Public License v1.3c",value:"LPPL-1.3c"},{text:"Licence Libre du Québec – Permissive version 1.1",value:"LiLiQ-P-1.1"},{text:"Licence Libre du Québec – Réciprocité version 1.1",value:"LiLiQ-R-1.1"},{text:"Licence Libre du Québec – Réciprocité forte version 1.1",value:"LiLiQ-Rplus-1.1"},{text:"MIT License",value:"MIT"},{text:"MIT No Attribution",value:"MIT-0"},{text:"Mozilla Public License 1.0",value:"MPL-1.0"},{text:"Mozilla Public License 1.1",value:"MPL-1.1"},{text:"Mozilla Public License 2.0",value:"MPL-2.0"},{text:"Mozilla Public License 2.0 (no copyleft exception)",value:"MPL-2.0-no-copyleft-exception"},{text:"Microsoft Public License",value:"MS-PL"},{text:"Microsoft Reciprocal License",value:"MS-RL"},{text:"The MirOS Licence",value:"MirOS"},{text:"Motosoto License",value:"Motosoto"},{text:"Multics License",value:"Multics"},{text:"NASA Open Source Agreement 1.3",value:"NASA-1.3"},{text:"University of Illinois/NCSA Open Source License",value:"NCSA"},{text:"Nethack General Public License",value:"NGPL"},{text:"Non-Profit Open Software License 3.0",value:"NPOSL-3.0"},{text:"NTP License",value:"NTP"},{text:"Naumen Public License",value:"Naumen"},{text:"Nokia Open Source License",value:"Nokia"},{text:"OCLC Research Public License 2.0",value:"OCLC-2.0"},{text:"SIL Open Font License 1.1",value:"OFL-1.1"},{text:"Open Group Test Suite License",value:"OGTSL"},{text:"OSET Public License version 2.1",value:"OSET-PL-2.1"},{text:"Open Software License 1.0",value:"OSL-1.0"},{text:"Open Software License 2.0",value:"OSL-2.0"},{text:"Open Software License 2.1",value:"OSL-2.1"},{text:"Open Software License 3.0",value:"OSL-3.0"},{text:"PHP License v3.0",value:"PHP-3.0"},{text:"PostgreSQL License",value:"PostgreSQL"},{text:"Python License 2.0",value:"Python-2.0"},{text:"Q Public License 1.0",value:"QPL-1.0"},{text:"Reciprocal Public License 1.1",value:"RPL-1.1"},{text:"Reciprocal Public License 1.5",value:"RPL-1.5"},{text:"RealNetworks Public Source License v1.0",value:"RPSL-1.0"},{text:"Ricoh Source Code Public License",value:"RSCPL"},{text:"Sun Industry Standards Source License v1.1",value:"SISSL"},{text:"Sun Public License v1.0",value:"SPL-1.0"},{text:"Simple Public License 2.0",value:"SimPL-2.0"},{text:"Sleepycat License",value:"Sleepycat"},{text:"Universal Permissive License v1.0",value:"UPL-1.0"},{text:"Vovida Software License v1.0",value:"VSL-1.0"},{text:"W3C Software Notice and License (2002-12-31)",value:"W3C"},{text:"Sybase Open Watcom Public License 1.0",value:"Watcom-1.0"},{text:"X.Net License",value:"Xnet"},{text:"Zope Public License 2.0",value:"ZPL-2.0"},{text:"zlib License",value:"Zlib"}]},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=["ad","ae","af","ag","ai","al","am","ao","aq","ar","as","at","au","aw","ax","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bl","bm","bn","bo","bq","br","bs","bt","bv","bw","by","bz","ca","cc","cd","cf","cg","ch","ci","ck","cl","cm","cn","co","cr","cu","cv","cw","cx","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","eh","er","es","et","fi","fj","fk","fm","fo","fr","ga","gb","gd","ge","gf","gg","gh","gi","gl","gm","gn","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","id","ie","il","im","in","io","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","ki","km","kn","kp","kr","kw","ky","kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","me","mf","mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt","mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no","np","nr","nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","ps","pt","pw","py","qa","re","ro","rs","ru","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","ss","st","sv","sx","sy","sz","tc","td","tf","tg","th","tj","tk","tl","tm","tn","to","tr","tt","tv","tw","tz","ua","ug","um","us","uy","uz","va","vc","ve","vg","vi","vn","vu","wf","ws","ye","yt","za","zm","zw"]},function(e,t,n){"use strict";var r=n(757);e.exports=r},function(e,t,n){"use strict";var r=n(758),i=n(781);function o(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}e.exports.Type=n(27),e.exports.Schema=n(96),e.exports.FAILSAFE_SCHEMA=n(225),e.exports.JSON_SCHEMA=n(321),e.exports.CORE_SCHEMA=n(320),e.exports.DEFAULT_SAFE_SCHEMA=n(132),e.exports.DEFAULT_FULL_SCHEMA=n(164),e.exports.load=r.load,e.exports.loadAll=r.loadAll,e.exports.safeLoad=r.safeLoad,e.exports.safeLoadAll=r.safeLoadAll,e.exports.dump=i.dump,e.exports.safeDump=i.safeDump,e.exports.YAMLException=n(131),e.exports.MINIMAL_SCHEMA=n(225),e.exports.SAFE_SCHEMA=n(132),e.exports.DEFAULT_SCHEMA=n(164),e.exports.scan=o("scan"),e.exports.parse=o("parse"),e.exports.compose=o("compose"),e.exports.addConstructor=o("addConstructor")},function(e,t,n){"use strict";var r=n(95),i=n(131),o=n(759),a=n(132),s=n(164),u=Object.prototype.hasOwnProperty,l=1,c=2,d=3,f=4,p=1,h=2,m=3,g=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/[\x85\u2028\u2029]/,v=/[,\[\]\{\}]/,b=/^(?:!|!!|![a-z\-]+!)$/i,_=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function w(e){return Object.prototype.toString.call(e)}function A(e){return 10===e||13===e}function x(e){return 9===e||32===e}function k(e){return 9===e||32===e||10===e||13===e}function M(e){return 44===e||91===e||93===e||123===e||125===e}function E(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}function L(e){return 48===e?"\0":97===e?"":98===e?"\b":116===e?"\t":9===e?"\t":110===e?"\n":118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function S(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}for(var D=new Array(256),T=new Array(256),C=0;C<256;C++)D[C]=L(C)?1:0,T[C]=L(C);function O(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||s,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function $(e,t){return new i(t,new o(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function j(e,t){throw $(e,t)}function P(e,t){e.onWarning&&e.onWarning.call(null,$(e,t))}var I={YAML:function(e,t,n){var r,i,o;null!==e.version&&j(e,"duplication of %YAML directive"),1!==n.length&&j(e,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&j(e,"ill-formed argument of the YAML directive"),i=parseInt(r[1],10),o=parseInt(r[2],10),1!==i&&j(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&P(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var r,i;2!==n.length&&j(e,"TAG directive accepts exactly two arguments"),r=n[0],i=n[1],b.test(r)||j(e,"ill-formed tag handle (first argument) of the TAG directive"),u.call(e.tagMap,r)&&j(e,'there is a previously declared suffix for "'+r+'" tag handle'),_.test(i)||j(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[r]=i}};function N(e,t,n,r){var i,o,a,s;if(t<n){if(s=e.input.slice(t,n),r)for(i=0,o=s.length;i<o;i+=1)9===(a=s.charCodeAt(i))||32<=a&&a<=1114111||j(e,"expected valid JSON character");else g.test(s)&&j(e,"the stream contains non-printable characters");e.result+=s}}function F(e,t,n,i){var o,a,s,l;for(r.isObject(n)||j(e,"cannot merge mappings; the provided source object is unacceptable"),s=0,l=(o=Object.keys(n)).length;s<l;s+=1)a=o[s],u.call(t,a)||(t[a]=n[a],i[a]=!0)}function R(e,t,n,r,i,o,a,s){var l,c;if(Array.isArray(i))for(l=0,c=(i=Array.prototype.slice.call(i)).length;l<c;l+=1)Array.isArray(i[l])&&j(e,"nested arrays are not supported inside keys"),"object"==typeof i&&"[object Object]"===w(i[l])&&(i[l]="[object Object]");if("object"==typeof i&&"[object Object]"===w(i)&&(i="[object Object]"),i=String(i),null===t&&(t={}),"tag:yaml.org,2002:merge"===r)if(Array.isArray(o))for(l=0,c=o.length;l<c;l+=1)F(e,t,o[l],n);else F(e,t,o,n);else e.json||u.call(n,i)||!u.call(t,i)||(e.line=a||e.line,e.position=s||e.position,j(e,"duplicated mapping key")),t[i]=o,delete n[i];return t}function Y(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):j(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function B(e,t,n){for(var r=0,i=e.input.charCodeAt(e.position);0!==i;){for(;x(i);)i=e.input.charCodeAt(++e.position);if(t&&35===i)do{i=e.input.charCodeAt(++e.position)}while(10!==i&&13!==i&&0!==i);if(!A(i))break;for(Y(e),i=e.input.charCodeAt(e.position),r++,e.lineIndent=0;32===i;)e.lineIndent++,i=e.input.charCodeAt(++e.position)}return-1!==n&&0!==r&&e.lineIndent<n&&P(e,"deficient indentation"),r}function z(e){var t,n=e.position;return!(45!==(t=e.input.charCodeAt(n))&&46!==t||t!==e.input.charCodeAt(n+1)||t!==e.input.charCodeAt(n+2)||(n+=3,0!==(t=e.input.charCodeAt(n))&&!k(t)))}function H(e,t){1===t?e.result+=" ":t>1&&(e.result+=r.repeat("\n",t-1))}function U(e,t){var n,r,i=e.tag,o=e.anchor,a=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),r=e.input.charCodeAt(e.position);0!==r&&45===r&&k(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,B(e,!0,-1)&&e.lineIndent<=t)a.push(null),r=e.input.charCodeAt(e.position);else if(n=e.line,q(e,t,d,!1,!0),a.push(e.result),B(e,!0,-1),r=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==r)j(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return!!s&&(e.tag=i,e.anchor=o,e.kind="sequence",e.result=a,!0)}function Z(e){var t,n,r,i,o=!1,a=!1;if(33!==(i=e.input.charCodeAt(e.position)))return!1;if(null!==e.tag&&j(e,"duplication of a tag property"),60===(i=e.input.charCodeAt(++e.position))?(o=!0,i=e.input.charCodeAt(++e.position)):33===i?(a=!0,n="!!",i=e.input.charCodeAt(++e.position)):n="!",t=e.position,o){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&62!==i);e.position<e.length?(r=e.input.slice(t,e.position),i=e.input.charCodeAt(++e.position)):j(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==i&&!k(i);)33===i&&(a?j(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),b.test(n)||j(e,"named tag handle cannot contain such characters"),a=!0,t=e.position+1)),i=e.input.charCodeAt(++e.position);r=e.input.slice(t,e.position),v.test(r)&&j(e,"tag suffix cannot contain flow indicator characters")}return r&&!_.test(r)&&j(e,"tag name cannot contain such characters: "+r),o?e.tag=r:u.call(e.tagMap,n)?e.tag=e.tagMap[n]+r:"!"===n?e.tag="!"+r:"!!"===n?e.tag="tag:yaml.org,2002:"+r:j(e,'undeclared tag handle "'+n+'"'),!0}function K(e){var t,n;if(38!==(n=e.input.charCodeAt(e.position)))return!1;for(null!==e.anchor&&j(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!k(n)&&!M(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&j(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function q(e,t,n,i,o){var a,s,g,y,v,b,_,w,L=1,C=!1,O=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,a=s=g=f===n||d===n,i&&B(e,!0,-1)&&(C=!0,e.lineIndent>t?L=1:e.lineIndent===t?L=0:e.lineIndent<t&&(L=-1)),1===L)for(;Z(e)||K(e);)B(e,!0,-1)?(C=!0,g=a,e.lineIndent>t?L=1:e.lineIndent===t?L=0:e.lineIndent<t&&(L=-1)):g=!1;if(g&&(g=C||o),1!==L&&f!==n||(_=l===n||c===n?t:t+1,w=e.position-e.lineStart,1===L?g&&(U(e,w)||function(e,t,n){var r,i,o,a,s,u=e.tag,l=e.anchor,d={},p={},h=null,m=null,g=null,y=!1,v=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=d),s=e.input.charCodeAt(e.position);0!==s;){if(r=e.input.charCodeAt(e.position+1),o=e.line,a=e.position,63!==s&&58!==s||!k(r)){if(!q(e,n,c,!1,!0))break;if(e.line===o){for(s=e.input.charCodeAt(e.position);x(s);)s=e.input.charCodeAt(++e.position);if(58===s)k(s=e.input.charCodeAt(++e.position))||j(e,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(R(e,d,p,h,m,null),h=m=g=null),v=!0,y=!1,i=!1,h=e.tag,m=e.result;else{if(!v)return e.tag=u,e.anchor=l,!0;j(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!v)return e.tag=u,e.anchor=l,!0;j(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===s?(y&&(R(e,d,p,h,m,null),h=m=g=null),v=!0,y=!0,i=!0):y?(y=!1,i=!0):j(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,s=r;if((e.line===o||e.lineIndent>t)&&(q(e,t,f,!0,i)&&(y?m=e.result:g=e.result),y||(R(e,d,p,h,m,g,o,a),h=m=g=null),B(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)j(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return y&&R(e,d,p,h,m,null),v&&(e.tag=u,e.anchor=l,e.kind="mapping",e.result=d),v}(e,w,_))||function(e,t){var n,r,i,o,a,s,u,c,d,f,p=!0,h=e.tag,m=e.anchor,g={};if(91===(f=e.input.charCodeAt(e.position)))i=93,s=!1,r=[];else{if(123!==f)return!1;i=125,s=!0,r={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=r),f=e.input.charCodeAt(++e.position);0!==f;){if(B(e,!0,t),(f=e.input.charCodeAt(e.position))===i)return e.position++,e.tag=h,e.anchor=m,e.kind=s?"mapping":"sequence",e.result=r,!0;p||j(e,"missed comma between flow collection entries"),d=null,o=a=!1,63===f&&k(e.input.charCodeAt(e.position+1))&&(o=a=!0,e.position++,B(e,!0,t)),n=e.line,q(e,t,l,!1,!0),c=e.tag,u=e.result,B(e,!0,t),f=e.input.charCodeAt(e.position),!a&&e.line!==n||58!==f||(o=!0,f=e.input.charCodeAt(++e.position),B(e,!0,t),q(e,t,l,!1,!0),d=e.result),s?R(e,r,g,c,u,d):o?r.push(R(e,null,g,c,u,d)):r.push(u),B(e,!0,t),44===(f=e.input.charCodeAt(e.position))?(p=!0,f=e.input.charCodeAt(++e.position)):p=!1}j(e,"unexpected end of the stream within a flow collection")}(e,_)?O=!0:(s&&function(e,t){var n,i,o,a,s,u=p,l=!1,c=!1,d=t,f=0,g=!1;if(124===(a=e.input.charCodeAt(e.position)))i=!1;else{if(62!==a)return!1;i=!0}for(e.kind="scalar",e.result="";0!==a;)if(43===(a=e.input.charCodeAt(++e.position))||45===a)p===u?u=43===a?m:h:j(e,"repeat of a chomping mode identifier");else{if(!((o=48<=(s=a)&&s<=57?s-48:-1)>=0))break;0===o?j(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?j(e,"repeat of an indentation width identifier"):(d=t+o-1,c=!0)}if(x(a)){do{a=e.input.charCodeAt(++e.position)}while(x(a));if(35===a)do{a=e.input.charCodeAt(++e.position)}while(!A(a)&&0!==a)}for(;0!==a;){for(Y(e),e.lineIndent=0,a=e.input.charCodeAt(e.position);(!c||e.lineIndent<d)&&32===a;)e.lineIndent++,a=e.input.charCodeAt(++e.position);if(!c&&e.lineIndent>d&&(d=e.lineIndent),A(a))f++;else{if(e.lineIndent<d){u===m?e.result+=r.repeat("\n",l?1+f:f):u===p&&l&&(e.result+="\n");break}for(i?x(a)?(g=!0,e.result+=r.repeat("\n",l?1+f:f)):g?(g=!1,e.result+=r.repeat("\n",f+1)):0===f?l&&(e.result+=" "):e.result+=r.repeat("\n",f):e.result+=r.repeat("\n",l?1+f:f),l=!0,c=!0,f=0,n=e.position;!A(a)&&0!==a;)a=e.input.charCodeAt(++e.position);N(e,n,e.position,!1)}}return!0}(e,_)||function(e,t){var n,r,i;if(39!==(n=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,r=i=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(N(e,r,e.position,!0),39!==(n=e.input.charCodeAt(++e.position)))return!0;r=e.position,e.position++,i=e.position}else A(n)?(N(e,r,i,!0),H(e,B(e,!1,t)),r=i=e.position):e.position===e.lineStart&&z(e)?j(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);j(e,"unexpected end of the stream within a single quoted scalar")}(e,_)||function(e,t){var n,r,i,o,a,s,u;if(34!==(s=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,n=r=e.position;0!==(s=e.input.charCodeAt(e.position));){if(34===s)return N(e,n,e.position,!0),e.position++,!0;if(92===s){if(N(e,n,e.position,!0),A(s=e.input.charCodeAt(++e.position)))B(e,!1,t);else if(s<256&&D[s])e.result+=T[s],e.position++;else if((a=120===(u=s)?2:117===u?4:85===u?8:0)>0){for(i=a,o=0;i>0;i--)(a=E(s=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+a:j(e,"expected hexadecimal character");e.result+=S(o),e.position++}else j(e,"unknown escape sequence");n=r=e.position}else A(s)?(N(e,n,r,!0),H(e,B(e,!1,t)),n=r=e.position):e.position===e.lineStart&&z(e)?j(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}j(e,"unexpected end of the stream within a double quoted scalar")}(e,_)?O=!0:!function(e){var t,n,r;if(42!==(r=e.input.charCodeAt(e.position)))return!1;for(r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!k(r)&&!M(r);)r=e.input.charCodeAt(++e.position);return e.position===t&&j(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||j(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],B(e,!0,-1),!0}(e)?function(e,t,n){var r,i,o,a,s,u,l,c,d=e.kind,f=e.result;if(k(c=e.input.charCodeAt(e.position))||M(c)||35===c||38===c||42===c||33===c||124===c||62===c||39===c||34===c||37===c||64===c||96===c)return!1;if((63===c||45===c)&&(k(r=e.input.charCodeAt(e.position+1))||n&&M(r)))return!1;for(e.kind="scalar",e.result="",i=o=e.position,a=!1;0!==c;){if(58===c){if(k(r=e.input.charCodeAt(e.position+1))||n&&M(r))break}else if(35===c){if(k(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&z(e)||n&&M(c))break;if(A(c)){if(s=e.line,u=e.lineStart,l=e.lineIndent,B(e,!1,-1),e.lineIndent>=t){a=!0,c=e.input.charCodeAt(e.position);continue}e.position=o,e.line=s,e.lineStart=u,e.lineIndent=l;break}}a&&(N(e,i,o,!1),H(e,e.line-s),i=o=e.position,a=!1),x(c)||(o=e.position+1),c=e.input.charCodeAt(++e.position)}return N(e,i,o,!1),!!e.result||(e.kind=d,e.result=f,!1)}(e,_,l===n)&&(O=!0,null===e.tag&&(e.tag="?")):(O=!0,null===e.tag&&null===e.anchor||j(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===L&&(O=g&&U(e,w))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&j(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),y=0,v=e.implicitTypes.length;y<v;y+=1)if((b=e.implicitTypes[y]).resolve(e.result)){e.result=b.construct(e.result),e.tag=b.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else u.call(e.typeMap[e.kind||"fallback"],e.tag)?(b=e.typeMap[e.kind||"fallback"][e.tag],null!==e.result&&b.kind!==e.kind&&j(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+b.kind+'", not "'+e.kind+'"'),b.resolve(e.result)?(e.result=b.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):j(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):j(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||O}function W(e){var t,n,r,i,o=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(i=e.input.charCodeAt(e.position))&&(B(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==i));){for(a=!0,i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!k(i);)i=e.input.charCodeAt(++e.position);for(r=[],(n=e.input.slice(t,e.position)).length<1&&j(e,"directive name must not be less than one character in length");0!==i;){for(;x(i);)i=e.input.charCodeAt(++e.position);if(35===i){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&!A(i));break}if(A(i))break;for(t=e.position;0!==i&&!k(i);)i=e.input.charCodeAt(++e.position);r.push(e.input.slice(t,e.position))}0!==i&&Y(e),u.call(I,n)?I[n](e,n,r):P(e,'unknown document directive "'+n+'"')}B(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,B(e,!0,-1)):a&&j(e,"directives end mark is expected"),q(e,e.lineIndent-1,f,!1,!0),B(e,!0,-1),e.checkLineBreaks&&y.test(e.input.slice(o,e.position))&&P(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&z(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,B(e,!0,-1)):e.position<e.length-1&&j(e,"end of the stream or a document separator is expected")}function G(e,t){t=t||{},0!==(e=String(e)).length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new O(e,t),r=e.indexOf("\0");for(-1!==r&&(n.position=r,j(n,"null byte is not allowed in input")),n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)W(n);return n.documents}function V(e,t,n){null!==t&&"object"==typeof t&&void 0===n&&(n=t,t=null);var r=G(e,n);if("function"!=typeof t)return r;for(var i=0,o=r.length;i<o;i+=1)t(r[i])}function J(e,t){var n=G(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new i("expected a single document in the stream, but found more")}}e.exports.loadAll=V,e.exports.load=J,e.exports.safeLoadAll=function(e,t,n){return"object"==typeof t&&null!==t&&void 0===n&&(n=t,t=null),V(e,t,r.extend({schema:a},n))},e.exports.safeLoad=function(e,t){return J(e,r.extend({schema:a},t))}},function(e,t,n){"use strict";var r=n(95);function i(e,t,n,r,i){this.name=e,this.buffer=t,this.position=n,this.line=r,this.column=i}i.prototype.getSnippet=function(e,t){var n,i,o,a,s;if(!this.buffer)return null;for(e=e||4,t=t||75,n="",i=this.position;i>0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(i-1));)if(i-=1,this.position-i>t/2-1){n=" ... ",i+=5;break}for(o="",a=this.position;a<this.buffer.length&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(a));)if((a+=1)-this.position>t/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(i,a),r.repeat(" ",e)+n+s+o+"\n"+r.repeat(" ",e+this.position-i+n.length)+"^"},i.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(n+=":\n"+t),n},e.exports=i},function(e,t,n){"use strict";var r=n(27);e.exports=new r("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},function(e,t,n){"use strict";var r=n(27);e.exports=new r("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},function(e,t,n){"use strict";var r=n(27);e.exports=new r("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},function(e,t,n){"use strict";var r=n(27);e.exports=new r("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},function(e,t,n){"use strict";var r=n(27);e.exports=new r("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},function(e,t,n){"use strict";var r=n(95),i=n(27);function o(e){return 48<=e&&e<=55}function a(e){return 48<=e&&e<=57}e.exports=new i("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,r=e.length,i=0,s=!1;if(!r)return!1;if("-"!==(t=e[i])&&"+"!==t||(t=e[++i]),"0"===t){if(i+1===r)return!0;if("b"===(t=e[++i])){for(i++;i<r;i++)if("_"!==(t=e[i])){if("0"!==t&&"1"!==t)return!1;s=!0}return s&&"_"!==t}if("x"===t){for(i++;i<r;i++)if("_"!==(t=e[i])){if(!(48<=(n=e.charCodeAt(i))&&n<=57||65<=n&&n<=70||97<=n&&n<=102))return!1;s=!0}return s&&"_"!==t}for(;i<r;i++)if("_"!==(t=e[i])){if(!o(e.charCodeAt(i)))return!1;s=!0}return s&&"_"!==t}if("_"===t)return!1;for(;i<r;i++)if("_"!==(t=e[i])){if(":"===t)break;if(!a(e.charCodeAt(i)))return!1;s=!0}return!(!s||"_"===t)&&(":"!==t||/^(:[0-5]?[0-9])+$/.test(e.slice(i)))},construct:function(e){var t,n,r=e,i=1,o=[];return-1!==r.indexOf("_")&&(r=r.replace(/_/g,"")),"-"!==(t=r[0])&&"+"!==t||("-"===t&&(i=-1),t=(r=r.slice(1))[0]),"0"===r?0:"0"===t?"b"===r[1]?i*parseInt(r.slice(2),2):"x"===r[1]?i*parseInt(r,16):i*parseInt(r,8):-1!==r.indexOf(":")?(r.split(":").forEach(function(e){o.unshift(parseInt(e,10))}),r=0,n=1,o.forEach(function(e){r+=e*n,n*=60}),i*r):i*parseInt(r,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!r.isNegativeZero(e)},represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},function(e,t,n){"use strict";var r=n(95),i=n(27),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var a=/^[-+]?[0-9]+e/;e.exports=new i("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!o.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n,r,i;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,i=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(e){i.unshift(parseFloat(e,10))}),t=0,r=1,i.forEach(function(e){t+=e*r,r*=60}),n*t):n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||r.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(r.isNegativeZero(e))return"-0.0";return n=e.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},function(e,t,n){"use strict";var r=n(27),i=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),o=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");e.exports=new r("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==i.exec(e)||null!==o.exec(e))},construct:function(e){var t,n,r,a,s,u,l,c,d=0,f=null;if(null===(t=i.exec(e))&&(t=o.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],r=+t[2]-1,a=+t[3],!t[4])return new Date(Date.UTC(n,r,a));if(s=+t[4],u=+t[5],l=+t[6],t[7]){for(d=t[7].slice(0,3);d.length<3;)d+="0";d=+d}return t[9]&&(f=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(f=-f)),c=new Date(Date.UTC(n,r,a,s,u,l,d)),f&&c.setTime(c.getTime()-f),c},instanceOf:Date,represent:function(e){return e.toISOString()}})},function(e,t,n){"use strict";var r=n(27);e.exports=new r("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},function(e,t,n){"use strict";var r;try{r=n(770).Buffer}catch(e){}var i=n(27),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";e.exports=new i("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,r=0,i=e.length,a=o;for(n=0;n<i;n++)if(!((t=a.indexOf(e.charAt(n)))>64)){if(t<0)return!1;r+=6}return r%8==0},construct:function(e){var t,n,i=e.replace(/[\r\n=]/g,""),a=i.length,s=o,u=0,l=[];for(t=0;t<a;t++)t%4==0&&t&&(l.push(u>>16&255),l.push(u>>8&255),l.push(255&u)),u=u<<6|s.indexOf(i.charAt(t));return 0==(n=a%4*6)?(l.push(u>>16&255),l.push(u>>8&255),l.push(255&u)):18===n?(l.push(u>>10&255),l.push(u>>2&255)):12===n&&l.push(u>>4&255),r?r.from?r.from(l):new r(l):l},predicate:function(e){return r&&r.isBuffer(e)},represent:function(e){var t,n,r="",i=0,a=e.length,s=o;for(t=0;t<a;t++)t%3==0&&t&&(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]),i=(i<<8)+e[t];return 0==(n=a%3)?(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]):2===n?(r+=s[i>>10&63],r+=s[i>>4&63],r+=s[i<<2&63],r+=s[64]):1===n&&(r+=s[i>>2&63],r+=s[i<<4&63],r+=s[64],r+=s[64]),r}})},function(e,t,n){"use strict";(function(e){
 /*!
  * The buffer module from node.js, for the browser.
  *
@@ -228,4 +228,4 @@ function e(e,t){if(/^[A-Z_$][0-9A-Z_$]*$/i.test(e))return t?t+"."+e:e;var n=JSON
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-var n="undefined"!=typeof window&&"undefined"!=typeof document,r=["Edge","Trident","Firefox"],i=0,o=0;o<r.length;o+=1)if(n&&navigator.userAgent.indexOf(r[o])>=0){i=1;break}var a=n&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},i))}};function s(e){return e&&"[object Function]"==={}.toString.call(e)}function u(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function l(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function c(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=u(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/(auto|scroll|overlay)/.test(n+i+r)?e:c(l(e))}var d=n&&!(!window.MSInputMethodContext||!document.documentMode),f=n&&/MSIE 10/.test(navigator.userAgent);function p(e){return 11===e?d:10===e?f:d||f}function h(e){if(!e)return document.documentElement;for(var t=p(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===u(n,"position")?h(n):n:e?e.ownerDocument.documentElement:document.documentElement}function m(e){return null!==e.parentNode?m(e.parentNode):e}function g(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?e:t,i=n?t:e,o=document.createRange();o.setStart(r,0),o.setEnd(i,0);var a,s,u=o.commonAncestorContainer;if(e!==u&&t!==u||r.contains(i))return"BODY"===(s=(a=u).nodeName)||"HTML"!==s&&h(a.firstElementChild)!==a?h(u):u;var l=m(e);return l.host?g(l.host,t):g(e,m(t).host)}function y(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var r=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||r)[t]}return e[t]}function v(e,t){var n="x"===t?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+r+"Width"],10)}function b(e,t,n,r){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],p(10)?parseInt(n["offset"+e])+parseInt(r["margin"+("Height"===e?"Top":"Left")])+parseInt(r["margin"+("Height"===e?"Bottom":"Right")]):0)}function _(e){var t=e.body,n=e.documentElement,r=p(10)&&getComputedStyle(n);return{height:b("Height",t,n,r),width:b("Width",t,n,r)}}var w=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},A=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),x=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},k=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function M(e){return k({},e,{right:e.left+e.width,bottom:e.top+e.height})}function E(e){var t={};try{if(p(10)){t=e.getBoundingClientRect();var n=y(e,"top"),r=y(e,"left");t.top+=n,t.left+=r,t.bottom+=n,t.right+=r}else t=e.getBoundingClientRect()}catch(e){}var i={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},o="HTML"===e.nodeName?_(e.ownerDocument):{},a=o.width||e.clientWidth||i.right-i.left,s=o.height||e.clientHeight||i.bottom-i.top,l=e.offsetWidth-a,c=e.offsetHeight-s;if(l||c){var d=u(e);l-=v(d,"x"),c-=v(d,"y"),i.width-=l,i.height-=c}return M(i)}function L(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=p(10),i="HTML"===t.nodeName,o=E(e),a=E(t),s=c(e),l=u(t),d=parseFloat(l.borderTopWidth,10),f=parseFloat(l.borderLeftWidth,10);n&&i&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var h=M({top:o.top-a.top-d,left:o.left-a.left-f,width:o.width,height:o.height});if(h.marginTop=0,h.marginLeft=0,!r&&i){var m=parseFloat(l.marginTop,10),g=parseFloat(l.marginLeft,10);h.top-=d-m,h.bottom-=d-m,h.left-=f-g,h.right-=f-g,h.marginTop=m,h.marginLeft=g}return(r&&!n?t.contains(s):t===s&&"BODY"!==s.nodeName)&&(h=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=y(t,"top"),i=y(t,"left"),o=n?-1:1;return e.top+=r*o,e.bottom+=r*o,e.left+=i*o,e.right+=i*o,e}(h,t)),h}function S(e){if(!e||!e.parentElement||p())return document.documentElement;for(var t=e.parentElement;t&&"none"===u(t,"transform");)t=t.parentElement;return t||document.documentElement}function D(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},a=i?S(e):g(e,t);if("viewport"===r)o=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,r=L(e,n),i=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),a=t?0:y(n),s=t?0:y(n,"left");return M({top:a-r.top+r.marginTop,left:s-r.left+r.marginLeft,width:i,height:o})}(a,i);else{var s=void 0;"scrollParent"===r?"BODY"===(s=c(l(t))).nodeName&&(s=e.ownerDocument.documentElement):s="window"===r?e.ownerDocument.documentElement:r;var d=L(s,a,i);if("HTML"!==s.nodeName||function e(t){var n=t.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===u(t,"position"))return!0;var r=l(t);return!!r&&e(r)}(a))o=d;else{var f=_(e.ownerDocument),p=f.height,h=f.width;o.top+=d.top-d.marginTop,o.bottom=p+d.top,o.left+=d.left-d.marginLeft,o.right=h+d.left}}var m="number"==typeof(n=n||0);return o.left+=m?n:n.left||0,o.top+=m?n:n.top||0,o.right-=m?n:n.right||0,o.bottom-=m?n:n.bottom||0,o}function T(e,t,n,r,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var a=D(n,r,o,i),s={top:{width:a.width,height:t.top-a.top},right:{width:a.right-t.right,height:a.height},bottom:{width:a.width,height:a.bottom-t.bottom},left:{width:t.left-a.left,height:a.height}},u=Object.keys(s).map(function(e){return k({key:e},s[e],{area:(t=s[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),l=u.filter(function(e){var t=e.width,r=e.height;return t>=n.clientWidth&&r>=n.clientHeight}),c=l.length>0?l[0].key:u[0].key,d=e.split("-")[1];return c+(d?"-"+d:"")}function C(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return L(n,r?S(t):g(t,n),r)}function O(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),r=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+r,height:e.offsetHeight+n}}function $(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function j(e,t,n){n=n.split("-")[0];var r=O(e),i={width:r.width,height:r.height},o=-1!==["right","left"].indexOf(n),a=o?"top":"left",s=o?"left":"top",u=o?"height":"width",l=o?"width":"height";return i[a]=t[a]+t[u]/2-r[u]/2,i[s]=n===s?t[s]-r[l]:t[$(s)],i}function P(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function I(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var r=P(e,function(e){return e[t]===n});return e.indexOf(r)}(e,"name",n))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&s(n)&&(t.offsets.popper=M(t.offsets.popper),t.offsets.reference=M(t.offsets.reference),t=n(t,e))}),t}function N(e,t){return e.some(function(e){var n=e.name;return e.enabled&&n===t})}function F(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),r=0;r<t.length;r++){var i=t[r],o=i?""+i+n:e;if(void 0!==document.body.style[o])return o}return null}function R(e){var t=e.ownerDocument;return t?t.defaultView:window}function Y(e,t,n,r){n.updateBound=r,R(e).addEventListener("resize",n.updateBound,{passive:!0});var i=c(e);return function e(t,n,r,i){var o="BODY"===t.nodeName,a=o?t.ownerDocument.defaultView:t;a.addEventListener(n,r,{passive:!0}),o||e(c(a.parentNode),n,r,i),i.push(a)}(i,"scroll",n.updateBound,n.scrollParents),n.scrollElement=i,n.eventsEnabled=!0,n}function B(){var e,t;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(e=this.reference,t=this.state,R(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t))}function z(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function H(e,t){Object.keys(t).forEach(function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&z(t[n])&&(r="px"),e.style[n]=t[n]+r})}var U=n&&/Firefox/i.test(navigator.userAgent);function Z(e,t,n){var r=P(e,function(e){return e.name===t}),i=!!r&&e.some(function(e){return e.name===n&&e.enabled&&e.order<r.order});if(!i){var o="`"+t+"`",a="`"+n+"`";console.warn(a+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return i}var K=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],q=K.slice(3);function W(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=q.indexOf(e),r=q.slice(n+1).concat(q.slice(0,n));return t?r.reverse():r}var G={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function V(e,t,n,r){var i=[0,0],o=-1!==["right","left"].indexOf(r),a=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=a.indexOf(P(a,function(e){return-1!==e.search(/,|\s/)}));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var u=/\s*,\s*|\s+/,l=-1!==s?[a.slice(0,s).concat([a[s].split(u)[0]]),[a[s].split(u)[1]].concat(a.slice(s+1))]:[a];return(l=l.map(function(e,r){var i=(1===r?!o:o)?"height":"width",a=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,a=!0,e):a?(e[e.length-1]+=t,a=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,r){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+i[1],a=i[2];if(!o)return e;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=r}return M(s)[t]/100*o}if("vh"===a||"vw"===a)return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(e,i,t,n)})})).forEach(function(e,t){e.forEach(function(n,r){z(n)&&(i[t]+=n*("-"===e[r-1]?-1:1))})}),i}var J={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],r=t.split("-")[1];if(r){var i=e.offsets,o=i.reference,a=i.popper,s=-1!==["bottom","top"].indexOf(n),u=s?"left":"top",l=s?"width":"height",c={start:x({},u,o[u]),end:x({},u,o[u]+o[l]-a[l])};e.offsets.popper=k({},a,c[r])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,r=e.placement,i=e.offsets,o=i.popper,a=i.reference,s=r.split("-")[0],u=void 0;return u=z(+n)?[+n,0]:V(n,o,a,s),"left"===s?(o.top+=u[0],o.left-=u[1]):"right"===s?(o.top+=u[0],o.left+=u[1]):"top"===s?(o.left+=u[0],o.top-=u[1]):"bottom"===s&&(o.left+=u[0],o.top+=u[1]),e.popper=o,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||h(e.instance.popper);e.instance.reference===n&&(n=h(n));var r=F("transform"),i=e.instance.popper.style,o=i.top,a=i.left,s=i[r];i.top="",i.left="",i[r]="";var u=D(e.instance.popper,e.instance.reference,t.padding,n,e.positionFixed);i.top=o,i.left=a,i[r]=s,t.boundaries=u;var l=t.priority,c=e.offsets.popper,d={primary:function(e){var n=c[e];return c[e]<u[e]&&!t.escapeWithReference&&(n=Math.max(c[e],u[e])),x({},e,n)},secondary:function(e){var n="right"===e?"left":"top",r=c[n];return c[e]>u[e]&&!t.escapeWithReference&&(r=Math.min(c[n],u[e]-("right"===e?c.width:c.height))),x({},n,r)}};return l.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";c=k({},c,d[t](e))}),e.offsets.popper=c,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,r=t.reference,i=e.placement.split("-")[0],o=Math.floor,a=-1!==["top","bottom"].indexOf(i),s=a?"right":"bottom",u=a?"left":"top",l=a?"width":"height";return n[s]<o(r[u])&&(e.offsets.popper[u]=o(r[u])-n[l]),n[u]>o(r[s])&&(e.offsets.popper[u]=o(r[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!Z(e.instance.modifiers,"arrow","keepTogether"))return e;var r=t.element;if("string"==typeof r){if(!(r=e.instance.popper.querySelector(r)))return e}else if(!e.instance.popper.contains(r))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var i=e.placement.split("-")[0],o=e.offsets,a=o.popper,s=o.reference,l=-1!==["left","right"].indexOf(i),c=l?"height":"width",d=l?"Top":"Left",f=d.toLowerCase(),p=l?"left":"top",h=l?"bottom":"right",m=O(r)[c];s[h]-m<a[f]&&(e.offsets.popper[f]-=a[f]-(s[h]-m)),s[f]+m>a[h]&&(e.offsets.popper[f]+=s[f]+m-a[h]),e.offsets.popper=M(e.offsets.popper);var g=s[f]+s[c]/2-m/2,y=u(e.instance.popper),v=parseFloat(y["margin"+d],10),b=parseFloat(y["border"+d+"Width"],10),_=g-e.offsets.popper[f]-v-b;return _=Math.max(Math.min(a[c]-m,_),0),e.arrowElement=r,e.offsets.arrow=(x(n={},f,Math.round(_)),x(n,p,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(N(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=D(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),r=e.placement.split("-")[0],i=$(r),o=e.placement.split("-")[1]||"",a=[];switch(t.behavior){case G.FLIP:a=[r,i];break;case G.CLOCKWISE:a=W(r);break;case G.COUNTERCLOCKWISE:a=W(r,!0);break;default:a=t.behavior}return a.forEach(function(s,u){if(r!==s||a.length===u+1)return e;r=e.placement.split("-")[0],i=$(r);var l=e.offsets.popper,c=e.offsets.reference,d=Math.floor,f="left"===r&&d(l.right)>d(c.left)||"right"===r&&d(l.left)<d(c.right)||"top"===r&&d(l.bottom)>d(c.top)||"bottom"===r&&d(l.top)<d(c.bottom),p=d(l.left)<d(n.left),h=d(l.right)>d(n.right),m=d(l.top)<d(n.top),g=d(l.bottom)>d(n.bottom),y="left"===r&&p||"right"===r&&h||"top"===r&&m||"bottom"===r&&g,v=-1!==["top","bottom"].indexOf(r),b=!!t.flipVariations&&(v&&"start"===o&&p||v&&"end"===o&&h||!v&&"start"===o&&m||!v&&"end"===o&&g),_=!!t.flipVariationsByContent&&(v&&"start"===o&&h||v&&"end"===o&&p||!v&&"start"===o&&g||!v&&"end"===o&&m),w=b||_;(f||y||w)&&(e.flipped=!0,(f||y)&&(r=a[u+1]),w&&(o=function(e){return"end"===e?"start":"start"===e?"end":e}(o)),e.placement=r+(o?"-"+o:""),e.offsets.popper=k({},e.offsets.popper,j(e.instance.popper,e.offsets.reference,e.placement)),e=I(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],r=e.offsets,i=r.popper,o=r.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return i[a?"left":"top"]=o[n]-(s?i[a?"width":"height"]:0),e.placement=$(t),e.offsets.popper=M(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!Z(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=P(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottom<n.top||t.left>n.right||t.top>n.bottom||t.right<n.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var n=t.x,r=t.y,i=e.offsets.popper,o=P(e.instance.modifiers,function(e){return"applyStyle"===e.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var a=void 0!==o?o:t.gpuAcceleration,s=h(e.instance.popper),u=E(s),l={position:i.position},c=function(e,t){var n=e.offsets,r=n.popper,i=n.reference,o=Math.round,a=Math.floor,s=function(e){return e},u=o(i.width),l=o(r.width),c=-1!==["left","right"].indexOf(e.placement),d=-1!==e.placement.indexOf("-"),f=t?c||d||u%2==l%2?o:a:s,p=t?o:s;return{left:f(u%2==1&&l%2==1&&!d&&t?r.left-1:r.left),top:p(r.top),bottom:p(r.bottom),right:f(r.right)}}(e,window.devicePixelRatio<2||!U),d="bottom"===n?"top":"bottom",f="right"===r?"left":"right",p=F("transform"),m=void 0,g=void 0;if(g="bottom"===d?"HTML"===s.nodeName?-s.clientHeight+c.bottom:-u.height+c.bottom:c.top,m="right"===f?"HTML"===s.nodeName?-s.clientWidth+c.right:-u.width+c.right:c.left,a&&p)l[p]="translate3d("+m+"px, "+g+"px, 0)",l[d]=0,l[f]=0,l.willChange="transform";else{var y="bottom"===d?-1:1,v="right"===f?-1:1;l[d]=g*y,l[f]=m*v,l.willChange=d+", "+f}var b={"x-placement":e.placement};return e.attributes=k({},b,e.attributes),e.styles=k({},l,e.styles),e.arrowStyles=k({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){var t,n;return H(e.instance.popper,e.styles),t=e.instance.popper,n=e.attributes,Object.keys(n).forEach(function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)}),e.arrowElement&&Object.keys(e.arrowStyles).length&&H(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,r,i){var o=C(i,t,e,n.positionFixed),a=T(n.placement,o,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",a),H(t,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},Q=function(){function e(t,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};w(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=a(this.update.bind(this)),this.options=k({},e.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(k({},e.Defaults.modifiers,i.modifiers)).forEach(function(t){r.options.modifiers[t]=k({},e.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return k({name:e},r.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&s(e.onLoad)&&e.onLoad(r.reference,r.popper,r.options,e,r.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return A(e,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=C(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=T(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=j(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=I(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,N(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[F("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=Y(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return B.call(this)}}]),e}();Q.Utils=("undefined"!=typeof window?window:e).PopperUtils,Q.placements=K,Q.Defaults=J,t.default=Q}.call(this,n(43))},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(6),u=n.n(s),l=n(86),c=n.n(l),d=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var p=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),d(t,[{key:"shouldComponentUpdate",value:function(e){return this.props.forceRender||!c()(this.props,e)}},{key:"render",value:function(){var e;if(this._isActived=this.props.forceRender||this._isActived||this.props.isActive,!this._isActived)return null;var t=this.props,n=t.prefixCls,r=t.isActive,o=t.children,a=t.destroyInactivePanel,s=t.forceRender,l=t.role,c=u()((f(e={},n+"-content",!0),f(e,n+"-content-active",r),f(e,n+"-content-inactive",!r),e)),d=s||r||!a?i.a.createElement("div",{className:n+"-content-box"},o):null;return i.a.createElement("div",{className:c,role:l},d)}}]),t}();p.propTypes={prefixCls:a.a.string,isActive:a.a.bool,children:a.a.any,destroyInactivePanel:a.a.bool,forceRender:a.a.bool,role:a.a.string};var h=p,m=n(8),g=n.n(m),y=n(187),v=n.n(y),b=n(21),_=n.n(b),w=n(22),A=n.n(w),x=n(23),k=n.n(x),M=n(24),E=n.n(M);function L(e){var t=[];return i.a.Children.forEach(e,function(e){t.push(e)}),t}function S(e,t){var n=null;return e&&e.forEach(function(e){n||e&&e.key===t&&(n=e)}),n}function D(e,t,n){var r=null;return e&&e.forEach(function(e){if(e&&e.key===t&&e.props[n]){if(r)throw new Error("two child with same key for <rc-animate> children");r=e}}),r}var T=n(19),C=n.n(T),O=n(67),$=n.n(O),j={transitionstart:{transition:"transitionstart",WebkitTransition:"webkitTransitionStart",MozTransition:"mozTransitionStart",OTransition:"oTransitionStart",msTransition:"MSTransitionStart"},animationstart:{animation:"animationstart",WebkitAnimation:"webkitAnimationStart",MozAnimation:"mozAnimationStart",OAnimation:"oAnimationStart",msAnimation:"MSAnimationStart"}},P={transitionend:{transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"mozTransitionEnd",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd"},animationend:{animation:"animationend",WebkitAnimation:"webkitAnimationEnd",MozAnimation:"mozAnimationEnd",OAnimation:"oAnimationEnd",msAnimation:"MSAnimationEnd"}},I=[],N=[];function F(e,t,n){e.addEventListener(t,n,!1)}function R(e,t,n){e.removeEventListener(t,n,!1)}"undefined"!=typeof window&&"undefined"!=typeof document&&function(){var e=document.createElement("div").style;function t(t,n){for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];for(var o in i)if(o in e){n.push(i[o]);break}}}"AnimationEvent"in window||(delete j.animationstart.animation,delete P.animationend.animation),"TransitionEvent"in window||(delete j.transitionstart.transition,delete P.transitionend.transition),t(j,I),t(P,N)}();var Y={startEvents:I,addStartEventListener:function(e,t){0!==I.length?I.forEach(function(n){F(e,n,t)}):window.setTimeout(t,0)},removeStartEventListener:function(e,t){0!==I.length&&I.forEach(function(n){R(e,n,t)})},endEvents:N,addEndEventListener:function(e,t){0!==N.length?N.forEach(function(n){F(e,n,t)}):window.setTimeout(t,0)},removeEndEventListener:function(e,t){0!==N.length&&N.forEach(function(n){R(e,n,t)})}},B=n(543),z=n.n(B),H=0!==Y.endEvents.length,U=["Webkit","Moz","O","ms"],Z=["-webkit-","-moz-","-o-","ms-",""];function K(e,t){for(var n=window.getComputedStyle(e,null),r="",i=0;i<Z.length&&!(r=n.getPropertyValue(Z[i]+t));i++);return r}function q(e){if(H){var t=parseFloat(K(e,"transition-delay"))||0,n=parseFloat(K(e,"transition-duration"))||0,r=parseFloat(K(e,"animation-delay"))||0,i=parseFloat(K(e,"animation-duration"))||0,o=Math.max(n+t,i+r);e.rcEndAnimTimeout=setTimeout(function(){e.rcEndAnimTimeout=null,e.rcEndListener&&e.rcEndListener()},1e3*o+200)}}function W(e){e.rcEndAnimTimeout&&(clearTimeout(e.rcEndAnimTimeout),e.rcEndAnimTimeout=null)}var G=function(e,t,n){var r="object"===(void 0===t?"undefined":$()(t)),i=r?t.name:t,o=r?t.active:t+"-active",a=n,s=void 0,u=void 0,l=z()(e);return n&&"[object Object]"===Object.prototype.toString.call(n)&&(a=n.end,s=n.start,u=n.active),e.rcEndListener&&e.rcEndListener(),e.rcEndListener=function(t){t&&t.target!==e||(e.rcAnimTimeout&&(clearTimeout(e.rcAnimTimeout),e.rcAnimTimeout=null),W(e),l.remove(i),l.remove(o),Y.removeEndEventListener(e,e.rcEndListener),e.rcEndListener=null,a&&a())},Y.addEndEventListener(e,e.rcEndListener),s&&s(),l.add(i),e.rcAnimTimeout=setTimeout(function(){e.rcAnimTimeout=null,l.add(o),u&&setTimeout(u,0),q(e)},30),{stop:function(){e.rcEndListener&&e.rcEndListener()}}};G.style=function(e,t,n){e.rcEndListener&&e.rcEndListener(),e.rcEndListener=function(t){t&&t.target!==e||(e.rcAnimTimeout&&(clearTimeout(e.rcAnimTimeout),e.rcAnimTimeout=null),W(e),Y.removeEndEventListener(e,e.rcEndListener),e.rcEndListener=null,n&&n())},Y.addEndEventListener(e,e.rcEndListener),e.rcAnimTimeout=setTimeout(function(){for(var n in t)t.hasOwnProperty(n)&&(e.style[n]=t[n]);e.rcAnimTimeout=null,q(e)},0)},G.setTransition=function(e,t,n){var r=t,i=n;void 0===n&&(i=r,r=""),r=r||"",U.forEach(function(t){e.style[t+"Transition"+r]=i})},G.isCssAnimationSupported=H;var V=G,J={isAppearSupported:function(e){return e.transitionName&&e.transitionAppear||e.animation.appear},isEnterSupported:function(e){return e.transitionName&&e.transitionEnter||e.animation.enter},isLeaveSupported:function(e){return e.transitionName&&e.transitionLeave||e.animation.leave},allowAppearCallback:function(e){return e.transitionAppear||e.animation.appear},allowEnterCallback:function(e){return e.transitionEnter||e.animation.enter},allowLeaveCallback:function(e){return e.transitionLeave||e.animation.leave}},Q={enter:"transitionEnter",appear:"transitionAppear",leave:"transitionLeave"},X=function(e){function t(){return _()(this,t),k()(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return E()(t,e),A()(t,[{key:"componentWillUnmount",value:function(){this.stop()}},{key:"componentWillEnter",value:function(e){J.isEnterSupported(this.props)?this.transition("enter",e):e()}},{key:"componentWillAppear",value:function(e){J.isAppearSupported(this.props)?this.transition("appear",e):e()}},{key:"componentWillLeave",value:function(e){J.isLeaveSupported(this.props)?this.transition("leave",e):e()}},{key:"transition",value:function(e,t){var n=this,r=C.a.findDOMNode(this),i=this.props,o=i.transitionName,a="object"==typeof o;this.stop();var s=function(){n.stopper=null,t()};if((H||!i.animation[e])&&o&&i[Q[e]]){var u=a?o[e]:o+"-"+e,l=u+"-active";a&&o[e+"Active"]&&(l=o[e+"Active"]),this.stopper=V(r,{name:u,active:l},s)}else this.stopper=i.animation[e](r,s)}},{key:"stop",value:function(){var e=this.stopper;e&&(this.stopper=null,e.stop())}},{key:"render",value:function(){return this.props.children}}]),t}(i.a.Component);X.propTypes={children:a.a.any};var ee=X,te="rc_animate_"+Date.now();function ne(e){var t=e.children;return i.a.isValidElement(t)&&!t.key?i.a.cloneElement(t,{key:te}):t}function re(){}var ie=function(e){function t(e){_()(this,t);var n=k()(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return oe.call(n),n.currentlyAnimatingKeys={},n.keysToEnter=[],n.keysToLeave=[],n.state={children:L(ne(e))},n.childrenRefs={},n}return E()(t,e),A()(t,[{key:"componentDidMount",value:function(){var e=this,t=this.props.showProp,n=this.state.children;t&&(n=n.filter(function(e){return!!e.props[t]})),n.forEach(function(t){t&&e.performAppear(t.key)})}},{key:"componentWillReceiveProps",value:function(e){var t=this;this.nextProps=e;var n=L(ne(e)),r=this.props;r.exclusive&&Object.keys(this.currentlyAnimatingKeys).forEach(function(e){t.stop(e)});var o,a,s,u,l=r.showProp,c=this.currentlyAnimatingKeys,d=r.exclusive?L(ne(r)):this.state.children,f=[];l?(d.forEach(function(e){var t=e&&S(n,e.key),r=void 0;(r=t&&t.props[l]||!e.props[l]?t:i.a.cloneElement(t||e,v()({},l,!0)))&&f.push(r)}),n.forEach(function(e){e&&S(d,e.key)||f.push(e)})):(o=n,a=[],s={},u=[],d.forEach(function(e){e&&S(o,e.key)?u.length&&(s[e.key]=u,u=[]):u.push(e)}),o.forEach(function(e){e&&Object.prototype.hasOwnProperty.call(s,e.key)&&(a=a.concat(s[e.key])),a.push(e)}),f=a=a.concat(u)),this.setState({children:f}),n.forEach(function(e){var n=e&&e.key;if(!e||!c[n]){var r=e&&S(d,n);if(l){var i=e.props[l];if(r)!D(d,n,l)&&i&&t.keysToEnter.push(n);else i&&t.keysToEnter.push(n)}else r||t.keysToEnter.push(n)}}),d.forEach(function(e){var r=e&&e.key;if(!e||!c[r]){var i=e&&S(n,r);if(l){var o=e.props[l];if(i)!D(n,r,l)&&o&&t.keysToLeave.push(r);else o&&t.keysToLeave.push(r)}else i||t.keysToLeave.push(r)}})}},{key:"componentDidUpdate",value:function(){var e=this.keysToEnter;this.keysToEnter=[],e.forEach(this.performEnter);var t=this.keysToLeave;this.keysToLeave=[],t.forEach(this.performLeave)}},{key:"isValidChildByKey",value:function(e,t){var n=this.props.showProp;return n?D(e,t,n):S(e,t)}},{key:"stop",value:function(e){delete this.currentlyAnimatingKeys[e];var t=this.childrenRefs[e];t&&t.stop()}},{key:"render",value:function(){var e=this,t=this.props;this.nextProps=t;var n=this.state.children,r=null;n&&(r=n.map(function(n){if(null==n)return n;if(!n.key)throw new Error("must set key for <rc-animate> children");return i.a.createElement(ee,{key:n.key,ref:function(t){e.childrenRefs[n.key]=t},animation:t.animation,transitionName:t.transitionName,transitionEnter:t.transitionEnter,transitionAppear:t.transitionAppear,transitionLeave:t.transitionLeave},n)}));var o=t.component;if(o){var a=t;return"string"==typeof o&&(a=g()({className:t.className,style:t.style},t.componentProps)),i.a.createElement(o,a,r)}return r[0]||null}}]),t}(i.a.Component);ie.isAnimate=!0,ie.propTypes={component:a.a.any,componentProps:a.a.object,animation:a.a.object,transitionName:a.a.oneOfType([a.a.string,a.a.object]),transitionEnter:a.a.bool,transitionAppear:a.a.bool,exclusive:a.a.bool,transitionLeave:a.a.bool,onEnd:a.a.func,onEnter:a.a.func,onLeave:a.a.func,onAppear:a.a.func,showProp:a.a.string,children:a.a.node},ie.defaultProps={animation:{},component:"span",componentProps:{},transitionEnter:!0,transitionLeave:!0,transitionAppear:!1,onEnd:re,onEnter:re,onLeave:re,onAppear:re};var oe=function(){var e=this;this.performEnter=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillEnter(e.handleDoneAdding.bind(e,t,"enter")))},this.performAppear=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillAppear(e.handleDoneAdding.bind(e,t,"appear")))},this.handleDoneAdding=function(t,n){var r=e.props;if(delete e.currentlyAnimatingKeys[t],!r.exclusive||r===e.nextProps){var i=L(ne(r));e.isValidChildByKey(i,t)?"appear"===n?J.allowAppearCallback(r)&&(r.onAppear(t),r.onEnd(t,!0)):J.allowEnterCallback(r)&&(r.onEnter(t),r.onEnd(t,!0)):e.performLeave(t)}},this.performLeave=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillLeave(e.handleDoneLeaving.bind(e,t)))},this.handleDoneLeaving=function(t){var n=e.props;if(delete e.currentlyAnimatingKeys[t],!n.exclusive||n===e.nextProps){var r,i,o,a,s=L(ne(n));if(e.isValidChildByKey(s,t))e.performEnter(t);else{var u=function(){J.allowLeaveCallback(n)&&(n.onLeave(t),n.onEnd(t,!1))};r=e.state.children,i=s,o=n.showProp,(a=r.length===i.length)&&r.forEach(function(e,t){var n=i[t];e&&n&&(e&&!n||!e&&n?a=!1:e.key!==n.key?a=!1:o&&e.props[o]!==n.props[o]&&(a=!1))}),a?u():e.setState({children:s},u)}}}},ae=ie,se=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ue(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function le(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var ce=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r=le(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.handleItemClick=function(){var e=r.props,t=e.onItemClick,n=e.panelKey;"function"==typeof t&&t(n)},r.handleKeyPress=function(e){"Enter"!==e.key&&13!==e.keyCode&&13!==e.which||r.handleItemClick()},le(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),se(t,[{key:"shouldComponentUpdate",value:function(e){return!c()(this.props,e)}},{key:"render",value:function(){var e,t=this.props,n=t.className,r=t.id,o=t.style,a=t.prefixCls,s=t.header,l=t.headerClass,c=t.children,d=t.isActive,f=t.showArrow,p=t.destroyInactivePanel,m=t.disabled,g=t.accordion,y=t.forceRender,v=t.expandIcon,b=t.extra,_=u()(a+"-header",ue({},l,l)),w=u()((ue(e={},a+"-item",!0),ue(e,a+"-item-active",d),ue(e,a+"-item-disabled",m),e),n),A=i.a.createElement("i",{className:"arrow"});return f&&"function"==typeof v&&(A=v(this.props)),i.a.createElement("div",{className:w,style:o,id:r},i.a.createElement("div",{className:_,onClick:this.handleItemClick,role:g?"tab":"button",tabIndex:m?-1:0,"aria-expanded":""+d,onKeyPress:this.handleKeyPress},f&&A,s,b&&i.a.createElement("div",{className:a+"-extra"},b)),i.a.createElement(ae,{showProp:"isActive",exclusive:!0,component:"",animation:this.props.openAnimation},i.a.createElement(h,{prefixCls:a,isActive:d,destroyInactivePanel:p,forceRender:y,role:g?"tabpanel":null},c)))}}]),t}();ce.propTypes={className:a.a.oneOfType([a.a.string,a.a.object]),id:a.a.string,children:a.a.any,openAnimation:a.a.object,prefixCls:a.a.string,header:a.a.oneOfType([a.a.string,a.a.number,a.a.node]),headerClass:a.a.string,showArrow:a.a.bool,isActive:a.a.bool,onItemClick:a.a.func,style:a.a.object,destroyInactivePanel:a.a.bool,disabled:a.a.bool,accordion:a.a.bool,forceRender:a.a.bool,expandIcon:a.a.func,extra:a.a.node,panelKey:a.a.any},ce.defaultProps={showArrow:!0,isActive:!1,destroyInactivePanel:!1,onItemClick:function(){},headerClass:"",forceRender:!1};var de=ce;function fe(e,t,n,r){var i=void 0;return V(e,n,{start:function(){t?(i=e.offsetHeight,e.style.height=0):e.style.height=e.offsetHeight+"px"},active:function(){e.style.height=(t?i:0)+"px"},end:function(){e.style.height="",r()}})}var pe=function(e){return{enter:function(t,n){return fe(t,!0,e+"-anim",n)},leave:function(t,n){return fe(t,!1,e+"-anim",n)}}},he=n(56),me=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ge(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ye(e){var t=e;return Array.isArray(t)||(t=t?[t]:[]),t}var ve=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));be.call(n);var r=e.activeKey,i=e.defaultActiveKey;return"activeKey"in e&&(i=r),n.state={openAnimation:e.openAnimation||pe(e.prefixCls),activeKey:ye(i)},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),me(t,[{key:"componentWillReceiveProps",value:function(e){"activeKey"in e&&this.setState({activeKey:ye(e.activeKey)}),"openAnimation"in e&&this.setState({openAnimation:e.openAnimation})}},{key:"shouldComponentUpdate",value:function(e,t){return!c()(this.props,e)||!c()(this.state,t)}},{key:"render",value:function(){var e,t=this.props,n=t.prefixCls,r=t.className,o=t.style,a=t.accordion,s=u()((ge(e={},n,!0),ge(e,r,!!r),e));return i.a.createElement("div",{className:s,style:o,role:a?"tablist":null},this.getItems())}}]),t}(),be=function(){var e=this;this.onClickItem=function(t){var n=e.state.activeKey;if(e.props.accordion)n=n[0]===t?[]:[t];else{var r=(n=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(n))).indexOf(t);r>-1?n.splice(r,1):n.push(t)}e.setActiveKey(n)},this.getNewChild=function(t,n){if(!t)return null;var r=e.state.activeKey,o=e.props,a=o.prefixCls,s=o.accordion,u=o.destroyInactivePanel,l=o.expandIcon,c=t.key||String(n),d=t.props,f=d.header,p=d.headerClass,h=d.disabled,m={key:c,panelKey:c,header:f,headerClass:p,isActive:s?r[0]===c:r.indexOf(c)>-1,prefixCls:a,destroyInactivePanel:u,openAnimation:e.state.openAnimation,accordion:s,children:t.props.children,onItemClick:h?null:e.onClickItem,expandIcon:l};return i.a.cloneElement(t,m)},this.getItems=function(){var t=e.props.children,n=Object(he.isFragment)(t)?t.props.children:t,o=r.Children.map(n,e.getNewChild);return Object(he.isFragment)(t)?i.a.createElement(i.a.Fragment,null,o):o},this.setActiveKey=function(t){"activeKey"in e.props||e.setState({activeKey:t}),e.props.onChange(e.props.accordion?t[0]:t)}};ve.propTypes={children:a.a.any,prefixCls:a.a.string,activeKey:a.a.oneOfType([a.a.string,a.a.arrayOf(a.a.string)]),defaultActiveKey:a.a.oneOfType([a.a.string,a.a.arrayOf(a.a.string)]),openAnimation:a.a.object,onChange:a.a.func,accordion:a.a.bool,className:a.a.string,style:a.a.object,destroyInactivePanel:a.a.bool,expandIcon:a.a.func},ve.defaultProps={prefixCls:"rc-collapse",onChange:function(){},accordion:!1,destroyInactivePanel:!1},ve.Panel=de;var _e=ve;n.d(t,"Panel",function(){return we});t.default=_e;var we=_e.Panel},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r);function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var a=n(146),s=n.n(a);function u(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n(12);n(541);var l=n(273),c=n(87),d=function(e,t){return function(n){return n[e]=t,n}},f=function(e){return d("displayName",e)},p=function(e){return function(t){var n=Object(r.createFactory)(t);return function(t){return n(e(t))}}},h=function(e,t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=t(e[r],r));return n},m=(Object.keys,r.Component,function(e){return function(t){var n=Object(r.createFactory)(t);return function(t){function r(){return t.apply(this,arguments)||this}u(r,t);var i=r.prototype;return i.shouldComponentUpdate=function(t){return e(this.props,t)},i.render=function(){return n(this.props)},r}(r.Component)}}),g=function(e){return m(function(e,t){return!s()(e,t)})(e)};var y,v=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}},function(e){return e})},b={fromESObservable:null,toESObservable:null},_={fromESObservable:function(e){return"function"==typeof b.fromESObservable?b.fromESObservable(e):e},toESObservable:function(e){return"function"==typeof b.toESObservable?b.toESObservable(e):e}},w=(y=_,n(533)),A=n(542),x=n.n(A);function k(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&(n[r[i]]=e[r[i]])}return n}var M,E,L,S,D,T,C=v(f("DebounceInput"),g,(T={wait:250},function(e){var t=Object(r.createFactory)(e),n=function(e){return t(e)};return n.defaultProps=T,n}),(S={debounceFieldValue:"",debouncing:!1},D={setDebounceFieldValue:function(){return function(e){return{debounceFieldValue:e}}},setDebouncing:function(){return function(e){return{debouncing:e}}}},function(e){var t=Object(r.createFactory)(e);return function(e){function n(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).state="function"==typeof S?S(t.props):S,t.stateUpdaters=h(D,function(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];n&&"function"==typeof n.persist&&n.persist(),t.setState(function(t,r){return e(t,r).apply(void 0,[n].concat(i))})}}),t}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.state,this.stateUpdaters))},n}(r.Component)}),(L={componentDidMount:function(){this.props.setDebounceFieldValue(this.props.input.value)},componentWillReceiveProps:function(e){e.debouncing||e.input.value!==this.props.input.value&&this.props.setDebounceFieldValue(e.input.value)}},function(e){var t=Object(r.createFactory)(e),n=function(e){function n(){return e.apply(this,arguments)||this}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.state))},n}(r.Component);return Object.keys(L).forEach(function(e){return n.prototype[e]=L[e]}),n}),(E=function(e){var t=e.wait,n=e.setDebouncing,r=x()(function(e,t){n(!1),e(t)},t);return{onChange:function(e){return function(t){t.persist(),n(!0),r(e.input.onChange,t),e.setDebounceFieldValue(t.target.value)}},onBlur:function(e){return function(t){r.cancel(),n(!1),e.input.onChange(t),e.input.onBlur(t)}},onKeyDown:function(e){return function(t){13===t.keyCode&&(r.cancel(),n(!1),e.input.onChange(t))}}}},function(e){var t=Object(r.createFactory)(e);return function(e){function n(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).handlers=h("function"==typeof E?E(t.props):E,function(e){return function(){return e(t.props).apply(void 0,arguments)}}),t}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.handlers))},n}(r.Component)}),(M=function(e){var t=e.input,n=e.debounceFieldValue,r=e.onChange,i=e.onBlur,o=e.onKeyDown;return{input:Object.assign({},t,{value:n,onChange:r,onBlur:i,onKeyDown:o})}},p(function(e){return o({},e,"function"==typeof M?M(e):M)})))(function(e){var t=e.ownerComponent,n=(e.wait,e.debounceFieldValue,e.setDebounceFieldValue,e.debouncing,e.setDebouncing,e.onChange,e.onBlur,e.onKeyDown,k(e,["ownerComponent","wait","debounceFieldValue","setDebounceFieldValue","debouncing","setDebouncing","onChange","onBlur","onKeyDown"]));return i.a.createElement(t,Object.assign({},n))}),O=v(f("DebounceField"),g)(function(e){var t=e.component,n=k(e,["component"]);return i.a.createElement(w.a,Object.assign({},n,{component:C,ownerComponent:t}))});t.default=O},function(e,t,n){"use strict";n.r(t);var r=n(484),i=n.n(r),o=n(240),a=n(490),s=n.n(a),u=n(241),l=n.n(u),c=n(491),d=n.n(c),f=n(239),p=n.n(f),h={version:"1.7.25",country_calling_codes:{1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],383:["XK"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],800:["001"],808:["001"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],870:["001"],878:["001"],880:["BD"],881:["001"],882:["001"],883:["001"],886:["TW"],888:["001"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],979:["001"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},countries:{AC:["247","00","(?:[01589]\\d|[46])\\d{4}",[5,6]],AD:["376","00","(?:1|6\\d)\\d{7}|[136-9]\\d{5}",[6,8,9],[["(\\d{3})(\\d{3})","$1 $2",["[136-9]"]],["(\\d{4})(\\d{4})","$1 $2",["1"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]]],AE:["971","00","(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}",[5,6,7,8,9,10,11,12],[["(\\d{3})(\\d{2,9})","$1 $2",["60|8"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[236]|[479][2-8]"],"0$1"],["(\\d{3})(\\d)(\\d{5})","$1 $2 $3",["[479]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"]],"0"],AF:["93","00","[2-7]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],"0"],AG:["1","011","(?:268|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([457]\\d{6})$","268$1",0,"268"],AI:["1","011","(?:264|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2457]\\d{6})$","264$1",0,"264"],AL:["355","00","(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}",[6,7,8,9],[["(\\d{3})(\\d{3,4})","$1 $2",["80|9"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["4[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2358][2-5]|4"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["[23578]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["6"],"0$1"]],"0"],AM:["374","00","(?:[1-489]\\d|55|60|77)\\d{6}",[8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0 $1"],["(\\d{3})(\\d{5})","$1 $2",["2|3[12]"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["1|47"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[3-9]"],"0$1"]],"0"],AO:["244","00","[29]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[29]"]]]],AR:["54","00","11\\d{8}|(?:[2368]|9\\d)\\d{9}",[10,11],[["(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])","2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5(?:[24-6]|3[2-5]))|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["[23]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],["(\\d)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))","9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5(?:[24-6]|3[2-5]))|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 15-$3-$4",["91"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9"],"0$1",0,"$1 $2 $3-$4"]],"0",0,"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1"],AS:["1","011","(?:[58]\\d\\d|684|900)\\d{7}",[10],0,"1",0,"1|([267]\\d{6})$","684$1",0,"684"],AT:["43","00","1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",[4,5,6,7,8,9,10,11,12,13],[["(\\d)(\\d{3,12})","$1 $2",["1(?:11|[2-9])"],"0$1"],["(\\d{3})(\\d{2})","$1 $2",["517"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["5[079]"],"0$1"],["(\\d{3})(\\d{3,10})","$1 $2",["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],"0$1"],["(\\d{4})(\\d{3,9})","$1 $2",["[2-467]|5[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["5"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,7})","$1 $2 $3",["5"],"0$1"]],"0"],AU:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{7,8}|8[0-24-9]\\d{7})|(?:[2-478]\\d\\d|550)\\d{6}|1\\d{4,7}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,4})","$1 $2",["16"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["14|[45]"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:30|[89])"]]],"0",0,"0|(183[12])",0,0,0,[["(?:[237]\\d{5}|8(?:51(?:0(?:0[03-9]|[1247]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-6])|1(?:1[69]|[23]\\d|4[0-4]))|(?:[6-8]\\d{3}|9(?:[02-9]\\d\\d|1(?:[0-57-9]\\d|6[0135-9])))\\d))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,["16\\d{3,7}",[5,6,7,8,9]],["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],AW:["297","00","(?:[25-79]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[25-9]"]]]],AX:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|(?:[147]\\d|3[0-46-9]|50)\\d{4,8}",[5,6,7,8,9,10],0,"0",0,0,0,0,"18",0,"00"],AZ:["994","00","(?:365\\d{3}|900200)\\d{3}|(?:[12457]\\d|60|88)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[12]|365","[12]|365","[12]|365(?:[0-46-9]|5[0-35-9])"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[3-8]"],"0$1"]],"0"],BA:["387","00","6\\d{8}|(?:[35689]\\d|49|70)\\d{6}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-356]|[7-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6"],"0$1"]],"0"],BB:["1","011","(?:246|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","246$1",0,"246"],BD:["880","00","[13469]\\d{9}|8[0-79]\\d{7,8}|[2-7]\\d{8}|[2-9]\\d{7}|[3-689]\\d{6}|[57-9]\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{4,6})","$1-$2",["31[5-7]|[459]1"],"0$1"],["(\\d{3})(\\d{3,7})","$1-$2",["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:28|4[14]|5)|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],"0$1"],["(\\d{4})(\\d{3,6})","$1-$2",["[13-9]"],"0$1"],["(\\d)(\\d{7,8})","$1-$2",["2"],"0$1"]],"0"],BE:["32","00","4\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[239]|4[23]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[15-8]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4"],"0$1"]],"0"],BF:["226","00","[025-7]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[025-7]"]]]],BG:["359","00","[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",[6,7,8,9],[["(\\d)(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["43[1-6]|70[1-9]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:70|8)0"],"0$1"],["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[1-7]|7"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[48]|9[08]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"]],"0"],BH:["973","00","[136-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[13679]|8[047]"]]]],BI:["257","00","(?:[267]\\d|31)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2367]"]]]],BJ:["229","00","[2689]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2689]"]]]],BL:["590","00","(?:590|69\\d)\\d{6}",[9],0,"0",0,0,0,0,0,[["590(?:2[7-9]|5[12]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],BM:["1","011","(?:441|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-8]\\d{6})$","441$1",0,"441"],BN:["673","00","[2-578]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-578]"]]]],BO:["591","00(?:1\\d)?","(?:[2-467]\\d{3}|80017)\\d{4}",[8,9],[["(\\d)(\\d{7})","$1 $2",["[23]|4[46]"]],["(\\d{8})","$1",["[67]"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["8"]]],"0",0,"0(1\\d)?"],BQ:["599","00","(?:[34]1|7\\d)\\d{5}",[7],0,0,0,0,0,0,"[347]"],BR:["55","00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)","(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-24679]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}",[8,9,10,11],[["(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37)","4(?:02|37)0|[34]00"]],["(\\d{3})(\\d{2,3})(\\d{4})","$1 $2 $3",["(?:[358]|90)0"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],"($1)"],["(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[16][1-9]|[2-57-9]"],"($1)"]],"0",0,"0(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?","$2"],BS:["1","011","(?:242|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([3-8]\\d{6})$","242$1",0,"242"],BT:["975","00","[17]\\d{7}|[2-8]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[2-68]|7[246]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[67]|7"]]]],BW:["267","00","90\\d{5}|(?:[2-6]|7\\d)\\d{6}",[7,8],[["(\\d{2})(\\d{5})","$1 $2",["90"]],["(\\d{3})(\\d{4})","$1 $2",["[2-6]"]],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["7"]]]],BY:["375","810","(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3})","$1 $2",["800"],"8 $1"],["(\\d{3})(\\d{2})(\\d{2,4})","$1 $2 $3",["800"],"8 $1"],["(\\d{4})(\\d{2})(\\d{3})","$1 $2-$3",["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])","1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],"8 0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["1(?:[56]|7[467])|2[1-3]"],"8 0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-4]"],"8 0$1"],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["[89]"],"8 $1"]],"8",0,"0|80?",0,0,0,0,"8~10"],BZ:["501","00","(?:0800\\d|[2-8])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1-$2",["[2-8]"]],["(\\d)(\\d{3})(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]]]],CA:["1","011","(?:[2-8]\\d|90)\\d{8}",[10],0,"1",0,0,0,0,0,[["(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["(?:5(?:00|2[12]|33|44|66|77|88)|622)[2-9]\\d{6}"],0,0,0,["600[2-9]\\d{6}"]]],CC:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d|8[0-24-9])\\d{7}|(?:[148]\\d\\d|550)\\d{6}|1\\d{5,7}",[6,7,8,9,10],0,"0",0,"0|([59]\\d{7})$","8$1",0,0,[["8(?:51(?:0(?:02|31|60)|118)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],CD:["243","00","[189]\\d{8}|[1-68]\\d{6}",[7,9],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[1-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"],"0$1"]],"0"],CF:["236","00","(?:[27]\\d{3}|8776)\\d{4}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[278]"]]]],CG:["242","00","222\\d{6}|(?:0\\d|80)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["801"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]]]],CH:["41","00","8\\d{11}|[2-9]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]|81"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["8"],"0$1"]],"0"],CI:["225","00","[02-8]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[02-8]"]]]],CK:["682","00","[2-8]\\d{4}",[5],[["(\\d{2})(\\d{3})","$1 $2",["[2-8]"]]]],CL:["56","(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0","12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}",[9,10,11],[["(\\d{5})(\\d{4})","$1 $2",["21"],"($1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["44"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[23]"],"($1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["9[2-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"],"($1)"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{3})(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"]]]],CM:["237","00","(?:[26]\\d\\d|88)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["88"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]"]]]],CN:["86","00|1(?:[12]\\d|79|9[0235-7])\\d\\d00","1[1279]\\d{8,9}|2\\d{9}(?:\\d{2})?|[12]\\d{6,7}|86\\d{6}|(?:1[03-68]\\d|6)\\d{7,9}|(?:[3-579]\\d|8[0-57-9])\\d{6,9}",[7,8,9,10,11,12],[["(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2[0-57-9])[19]","(?:10|2[0-57-9])(?:10|9[56])","(?:10|2[0-57-9])(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{5,6})","$1 $2",["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]","(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]","85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])","85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["(?:4|80)0"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|2(?:[02-57-9]|1[1-9])","10|2(?:[02-57-9]|1[1-9])","10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"],"0$1",1],["(\\d{3})(\\d{7,8})","$1 $2",["9"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[3-578]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-9]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["[12]"],"0$1",1]],"0",0,"0|(1(?:[12]\\d|79|9[0235-7])\\d\\d)",0,0,0,0,"00"],CO:["57","00(?:4(?:[14]4|56)|[579])","(?:1\\d|3)\\d{9}|[124-8]\\d{7}",[8,10,11],[["(\\d)(\\d{7})","$1 $2",["1[2-79]|[25-8]|(?:18|4)[2-9]"],"($1)"],["(\\d{3})(\\d{7})","$1 $2",["3"]],["(\\d)(\\d{3})(\\d{7})","$1-$2-$3",["1(?:80|9)","1(?:800|9)"],"0$1",0,"$1 $2 $3"]],"0",0,"0([3579]|4(?:[14]4|56))?"],CR:["506","00","(?:8\\d|90)\\d{8}|[24-8]\\d{7}",[8,10],[["(\\d{4})(\\d{4})","$1 $2",["[24-7]|8[3-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]"]]],0,0,"(19(?:0[0-2468]|1[09]|20|66|77|99))"],CU:["53","119","[27]\\d{6,7}|[34]\\d{5,7}|5\\d{7}",[6,7,8],[["(\\d{2})(\\d{4,6})","$1 $2",["2[1-4]|[34]"],"(0$1)"],["(\\d)(\\d{6,7})","$1 $2",["7"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["5"],"0$1"]],"0"],CV:["238","0","[2-59]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2-59]"]]]],CW:["599","00","(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[3467]"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["9[4-8]"]]],0,0,0,0,0,"[69]"],CX:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d|8[0-24-9])\\d{7}|(?:[148]\\d\\d|550)\\d{6}|1\\d{5,7}",[6,7,8,9,10],0,"0",0,"0|([59]\\d{7})$","8$1",0,0,[["8(?:51(?:0(?:01|30|59)|117)|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],CY:["357","00","(?:[279]\\d|[58]0)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[257-9]"]]]],CZ:["420","00","(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]|9[015-7]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]]],DE:["49","00","[2579]\\d{5,14}|49(?:[05]\\d{10}|[46][1-8]\\d{4,9})|49(?:[0-25]\\d|3[1-689]|7[1-7])\\d{4,8}|49(?:[0-2579]\\d|[34][1-9]|6[0-8])\\d{3}|49\\d{3,4}|(?:1|[368]\\d|4[0-8])\\d{3,13}",[4,5,6,7,8,9,10,11,12,13,14,15],[["(\\d{2})(\\d{3,13})","$1 $2",["3[02]|40|[68]9"],"0$1"],["(\\d{3})(\\d{3,12})","$1 $2",["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1","2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"],"0$1"],["(\\d{4})(\\d{2,11})","$1 $2",["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]","[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["138"],"0$1"],["(\\d{5})(\\d{2,10})","$1 $2",["3"],"0$1"],["(\\d{3})(\\d{5,11})","$1 $2",["181"],"0$1"],["(\\d{3})(\\d)(\\d{4,10})","$1 $2 $3",["1(?:3|80)|9"],"0$1"],["(\\d{3})(\\d{7,8})","$1 $2",["1[67]"],"0$1"],["(\\d{3})(\\d{7,12})","$1 $2",["8"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["185","1850","18500"],"0$1"],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["18[68]"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["15[0568]"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["15[1279]"],"0$1"],["(\\d{3})(\\d{8})","$1 $2",["18"],"0$1"],["(\\d{3})(\\d{2})(\\d{7,8})","$1 $2 $3",["1(?:6[023]|7)"],"0$1"],["(\\d{4})(\\d{2})(\\d{7})","$1 $2 $3",["15[279]"],"0$1"],["(\\d{3})(\\d{2})(\\d{8})","$1 $2 $3",["15"],"0$1"]],"0"],DJ:["253","00","(?:2\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[27]"]]]],DK:["45","00","[2-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-9]"]]]],DM:["1","011","(?:[58]\\d\\d|767|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","767$1",0,"767"],DO:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,0,0,0,"8[024]9"],DZ:["213","00","(?:[1-4]|[5-79]\\d|80)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-8]"],"0$1"]],"0"],EC:["593","00","1800\\d{6,7}|(?:[2-7]|9\\d)\\d{7}",[8,9,10,11],[["(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[2-7]"],"(0$1)",0,"$1-$2-$3"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]]],"0"],EE:["372","00","8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d\\d|900)\\d{4}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]"]],["(\\d{4})(\\d{3,4})","$1 $2",["[45]|8(?:00|[1-4])","[45]|8(?:00[1-9]|[1-4])"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["80"]]]],EG:["20","00","[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",[8,9,10],[["(\\d)(\\d{7,8})","$1 $2",["[23]"],"0$1"],["(\\d{2})(\\d{6,7})","$1 $2",["1[35]|[4-6]|8[2468]|9[235-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[189]"],"0$1"]],"0"],EH:["212","00","[5-8]\\d{8}",[9],0,"0",0,0,0,0,"528[89]"],ER:["291","00","[178]\\d{6}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[178]"],"0$1"]],"0"],ES:["34","00","(?:51|[6-9]\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-9]"]]]],ET:["251","00","(?:11|[2-59]\\d)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-59]"],"0$1"]],"0"],FI:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}|[1-35689]\\d{4}",[5,6,7,8,9,10],[["(\\d)(\\d{4,9})","$1 $2",["[2568][1-8]|3(?:0[1-9]|[1-9])|9"],"0$1"],["(\\d{3})(\\d{3,7})","$1 $2",["(?:[12]0|7)0|[368]"],"0$1"],["(\\d{2})(\\d{4,8})","$1 $2",["[12457]"],"0$1"]],"0",0,0,0,0,"1[03-79]|[2-9]",0,"00"],FJ:["679","0(?:0|52)","45\\d{5}|(?:0800\\d|[235-9])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1 $2",["[235-9]|45"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]]],0,0,0,0,0,0,0,"00"],FK:["500","00","[2-7]\\d{4}",[5]],FM:["691","00","[39]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[39]"]]]],FO:["298","00","(?:[2-8]\\d|90)\\d{4}",[6],[["(\\d{6})","$1",["[2-9]"]]],0,0,"(10(?:01|[12]0|88))"],FR:["33","00","[1-9]\\d{8}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"]],"0"],GA:["241","00","(?:0\\d|[2-7])\\d{6}",[7,8],[["(\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]]]],GB:["44","00","[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",[7,9,10],[["(\\d{3})(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["845","8454","84546","845464"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["800"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:(?:38|69)7|5(?:24|39)|768|946)","1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["1(?:[2-69][02-9]|[78])"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[25]|7(?:0|6[024-9])","[25]|7(?:0|6(?:[04-9]|2[356]))"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[1389]"],"0$1"]],"0",0,0,0,0,0,[["(?:1(?:(?:1(?:3[0-58]|4[0-5]|5[0-26-9]|6[0-4]|[78][0-49])|3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d\\d|2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d\\d|1(?:[0-7]\\d\\d|80[04589])))|2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d|7(?:(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))\\d|6888[2-46-8]))\\d\\d",[9,10]],["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",[10]],["56\\d{8}",[10]]],0," x"],GD:["1","011","(?:473|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","473$1",0,"473"],GE:["995","00","(?:[3-57]\\d\\d|800)\\d{6}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["32"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[57]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[348]"],"0$1"]],"0"],GF:["594","00","[56]94\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0"],GG:["44","00","(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",[7,9,10],0,"0",0,"0|([25-9]\\d{5})$","1481$1",0,0,[["1481[25-9]\\d{5}",[10]],["7(?:(?:781|839)\\d|911[17])\\d{5}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",[10]],["56\\d{8}",[10]]]],GH:["233","00","(?:[235]\\d{3}|800)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"]],"0"],GI:["350","00","(?:[25]\\d\\d|629)\\d{5}",[8],[["(\\d{3})(\\d{5})","$1 $2",["2"]]]],GL:["299","00","(?:19|[2-689]\\d)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["19|[2-689]"]]]],GM:["220","00","[2-9]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],GN:["224","00","(?:30|6\\d\\d|722)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[67]"]]]],GP:["590","00","(?:590|69\\d)\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0",0,0,0,0,0,[["590(?:0[1-68]|1[0-2]|2[0-68]|3[1289]|4[0-24-9]|5[3-579]|6[0189]|7[08]|8[0-689]|9\\d)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],GQ:["240","00","222\\d{6}|(?:3\\d|55|[89]0)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"]],["(\\d{3})(\\d{6})","$1 $2",["[89]"]]]],GR:["30","00","(?:[268]\\d|[79]0)\\d{8}",[10],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["21|7"]],["(\\d{4})(\\d{6})","$1 $2",["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2689]"]]]],GT:["502","00","(?:1\\d{3}|[2-7])\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1 $2",["[2-7]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],GU:["1","011","(?:[58]\\d\\d|671|900)\\d{7}",[10],0,"1",0,"1|([3-9]\\d{6})$","671$1",0,"671"],GW:["245","00","[49]\\d{8}|4\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["40"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"]]]],GY:["592","001","(?:862\\d|9008)\\d{3}|(?:[2-46]\\d|77)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-46-9]"]]]],HK:["852","00(?:30|5[09]|[126-9]?)","8[0-46-9]\\d{6,7}|9\\d{4}(?:\\d(?:\\d(?:\\d{4})?)?)?|(?:[235-79]\\d|46)\\d{6}",[5,6,7,8,9,11],[["(\\d{3})(\\d{2,5})","$1 $2",["900","9003"]],["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{3})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]],0,0,0,0,0,0,0,"00"],HN:["504","00","[237-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1-$2",["[237-9]"]]]],HR:["385","00","(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}",[6,7,8,9],[["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["6[01]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{4})(\\d{3})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-5]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],"0"],HT:["509","00","[2-489]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[2-489]"]]]],HU:["36","00","[2357]\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-57-9]"],"06 $1"]],"06"],ID:["62","00[189]","(?:(?:007803|8\\d{4})\\d|[1-36])\\d{6}|[1-9]\\d{8,10}|[2-9]\\d{7}",[7,8,9,10,11,12,13],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["15"]],["(\\d{2})(\\d{5,9})","$1 $2",["2[124]|[36]1"],"(0$1)"],["(\\d{3})(\\d{5,7})","$1 $2",["800"],"0$1"],["(\\d{3})(\\d{5,8})","$1 $2",["[2-79]"],"(0$1)"],["(\\d{3})(\\d{3,4})(\\d{3})","$1-$2-$3",["8[1-35-9]"],"0$1"],["(\\d{3})(\\d{6,8})","$1 $2",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],["(\\d{3})(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1-$2-$3",["8"],"0$1"]],"0"],IE:["353","00","(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["2[24-9]|47|58|6[237-9]|9[35-9]"],"(0$1)"],["(\\d{3})(\\d{5})","$1 $2",["[45]0"],"(0$1)"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["1"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2569]|4[1-69]|7[14]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["81"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[78]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]],["(\\d{2})(\\d)(\\d{3})(\\d{4})","$1 $2 $3 $4",["8"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["4"],"(0$1)"]],"0"],IL:["972","0(?:0|1[2-9])","1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}",[7,8,9,10,11,12],[["(\\d{4})(\\d{3})","$1-$2",["125"]],["(\\d{4})(\\d{2})(\\d{2})","$1-$2-$3",["121"]],["(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-489]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1-$2-$3",["12"]],["(\\d{4})(\\d{6})","$1-$2",["159"]],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3-$4",["1[7-9]"]],["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})","$1-$2 $3-$4",["15"]]],"0"],IM:["44","00","1624\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"0|([5-8]\\d{5})$","1624$1",0,"74576|(?:16|7[56])24"],IN:["91","00","(?:00800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}",[8,9,10,11,12,13],[["(\\d{8})","$1",["5(?:0|2[23]|3[03]|[67]1|88)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"],0,1],["(\\d{4})(\\d{4,5})","$1 $2",["180","1800"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["140"],0,1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79[1-7]|80[2-46]","11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])","11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|(?:55|61)2|7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:1(?:29|60|8[06])|261|552|788[01])[2-7]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])"],"0$1",1],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|[4-8])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807","1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]","1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|3179)|807(?:1|9[1-3])|(?:1552|7(?:28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],"0$1",1],["(\\d{5})(\\d{5})","$1 $2",["[6-9]"],"0$1",1],["(\\d{4})(\\d{2,4})(\\d{4})","$1 $2 $3",["1(?:6|8[06])","1(?:6|8[06]0)"],0,1],["(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18"],0,1]],"0"],IO:["246","00","3\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["3"]]]],IQ:["964","00","(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],IR:["98","00","[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}",[4,5,6,7,10],[["(\\d{4,5})","$1",["96"],"0$1"],["(\\d{2})(\\d{4,5})","$1 $2",["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[1-8]"],"0$1"]],"0"],IS:["354","00|1(?:0(?:01|[12]0)|100)","(?:38\\d|[4-9])\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["[4-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["3"]]],0,0,0,0,0,0,0,"00"],IT:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],[["(\\d{2})(\\d{4,6})","$1 $2",["0[26]"]],["(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[245])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[45][0-4]))"]],["(\\d{4})(\\d{2,6})","$1 $2",["0(?:[13-579][2-46-8]|8[236-8])"]],["(\\d{4})(\\d{4})","$1 $2",["894"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|5"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1[4679]|[38]"]],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]"]],["(\\d{2})(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["3"]]],0,0,0,0,0,0,[["0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"],["3[1-9]\\d{8}|3[2-9]\\d{7}",[9,10]],["80(?:0\\d{3}|3)\\d{3}",[6,9]],["(?:0878\\d\\d|89(?:2|4[5-9]\\d))\\d{3}|89[45][0-4]\\d\\d|(?:1(?:44|6[346])|89(?:5[5-9]|9))\\d{6}",[6,8,9,10]],["1(?:78\\d|99)\\d{6}",[9,10]],0,0,0,["55\\d{8}",[10]],["84(?:[08]\\d{3}|[17])\\d{3}",[6,9]]]],JE:["44","00","1534\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"0|([0-24-8]\\d{5})$","1534$1",0,0,[["1534[0-24-8]\\d{5}"],["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97[7-9]))\\d{5}"],["80(?:07(?:35|81)|8901)\\d{4}"],["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"],["701511\\d{4}"],0,["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}"],["56\\d{8}"]]],JM:["1","011","(?:[58]\\d\\d|658|900)\\d{7}",[10],0,"1",0,0,0,0,"658|876"],JO:["962","00","900\\d{5}|(?:(?:[268]|7\\d)\\d|32|53)\\d{6}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]|87"],"(0$1)"],["(\\d{3})(\\d{5,6})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["70"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],JP:["81","010","00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",[8,9,10,11,12,13,14,15,16,17],[["(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],["(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[78]|96)|477|51[24]|636)|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[78]|96[2457-9])|477|51[24]|636[2-57-9])|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])","[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[279]|49|6[0-24-689]|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|5(?:2|3[045]|4[0-369]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|49|6(?:[0-24]|5[0-3589]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:49|55|83)[29]|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:47[59]|59[89]|8(?:6[68]|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:48|829(?:2|66)|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],"0$1"],["(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3[3-8]|5[2-9])","[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3(?:[3-6][2-9]|7|8[2-5])|5[2-9])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[2579]|80"],"0$1"]],"0"],KE:["254","000","(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}",[7,8,9,10],[["(\\d{2})(\\d{5,7})","$1 $2",["[24-6]"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[17]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0"],KG:["996","00","8\\d{9}|(?:[235-8]\\d|99)\\d{7}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["3(?:1[346]|[24-79])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-79]|88"],"0$1"],["(\\d{3})(\\d{3})(\\d)(\\d{2,3})","$1 $2 $3 $4",["8"],"0$1"]],"0"],KH:["855","00[14-9]","1\\d{9}|[1-9]\\d{7,8}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],KI:["686","00","(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",[5,8],0,"0"],KM:["269","00","[3478]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[3478]"]]]],KN:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","869$1",0,"869"],KP:["850","00|99","85\\d{6}|(?:19\\d|2)\\d{7}",[8,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"]],"0"],KR:["82","00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))","00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}",[5,6,8,9,10,11,12,13,14],[["(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1"],["(\\d{4})(\\d{4})","$1-$2",["1"]],["(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60|8"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["[1346]|5[1-5]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{2})(\\d{5})(\\d{4})","$1-$2-$3",["5"],"0$1"]],"0",0,"0(8(?:[1-46-8]|5\\d\\d))?"],KW:["965","00","(?:18|[2569]\\d\\d)\\d{5}",[7,8],[["(\\d{4})(\\d{3,4})","$1 $2",["[169]|2(?:[235]|4[1-35-9])|52"]],["(\\d{3})(\\d{5})","$1 $2",["[25]"]]]],KY:["1","011","(?:345|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","345$1",0,"345"],KZ:["7","810","33622\\d{5}|(?:7\\d|80)\\d{8}",[10],0,"8",0,0,0,0,"33|7",0,"8~10"],LA:["856","00","(?:2\\d|3)\\d{8}|(?:[235-8]\\d|41)\\d{6}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|3[14]|[4-8]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["3"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2"],"0$1"]],"0"],LB:["961","00","[7-9]\\d{7}|[13-9]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"]]],"0"],LC:["1","011","(?:[58]\\d\\d|758|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","758$1",0,"758"],LI:["423","00","90\\d{5}|(?:[2378]|6\\d\\d)\\d{6}",[7,9],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[237-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["69"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]],"0",0,"0|(10(?:01|20|66))"],LK:["94","00","(?:[1-7]\\d|[89]1)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[1-689]"],"0$1"]],"0"],LR:["231","00","(?:2|33|5\\d|77|88)\\d{7}|[45]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[45]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3578]"],"0$1"]],"0"],LS:["266","00","(?:[256]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2568]"]]]],LT:["370","00","(?:[3469]\\d|52|[78]0)\\d{6}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["52[0-79]"],"(8-$1)",1],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[7-9]"],"8 $1",1],["(\\d{2})(\\d{6})","$1 $2",["37|4(?:[15]|6[1-8])"],"(8-$1)",1],["(\\d{3})(\\d{5})","$1 $2",["[3-6]"],"(8-$1)",1]],"8",0,"[08]"],LU:["352","00","35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}",[4,5,6,7,8,9,10,11],[["(\\d{2})(\\d{3})","$1 $2",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20[2-689]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"]],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["80[01]|90[015]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})","$1 $2 $3 $4",["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]]],0,0,"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"],LV:["371","00","(?:[268]\\d|90)\\d{6}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[269]|8[01]"]]]],LY:["218","00","(?:[2569]\\d|71)\\d{7}",[9],[["(\\d{2})(\\d{7})","$1-$2",["[25-79]"],"0$1"]],"0"],MA:["212","00","[5-8]\\d{8}",[9],[["(\\d{5})(\\d{4})","$1-$2",["5(?:29|38)","5(?:29|38)[89]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5[45]"],"0$1"],["(\\d{4})(\\d{5})","$1-$2",["5(?:2[2-489]|3[5-9]|9)|892"],"0$1"],["(\\d{2})(\\d{7})","$1-$2",["8"],"0$1"],["(\\d{3})(\\d{6})","$1-$2",["[5-7]"],"0$1"]],"0",0,0,0,0,0,[["5(?:29|38)[89]0\\d{4}|5(?:2(?:[015-7]\\d|2[2-9]|3[2-57]|4[2-46-8]|8[235-7]|90)|3(?:[0-4]\\d|[57][2-9]|6[2-8]|80|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}"],["692[12]\\d{5}|(?:6(?:[0-7]\\d|8[0-247-9]|9[013-9])|7(?:0[06-8]|6[1267]|7[0-27]))\\d{6}"],["80\\d{7}"],["89\\d{7}"],0,0,0,0,["5924[0-2]\\d{4}"]]],MC:["377","00","870\\d{5}|(?:[349]|6\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[39]"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"],"0$1"]],"0"],MD:["373","00","(?:[235-7]\\d|[89]0)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["22|3"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[25-7]"],"0$1"]],"0"],ME:["382","00","(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"0$1"]],"0"],MF:["590","00","(?:590|69\\d)\\d{6}",[9],0,"0",0,0,0,0,0,[["590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],MG:["261","00","[23]\\d{8}",[9],[["(\\d{2})(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",["[23]"],"0$1"]],"0",0,"0|([24-9]\\d{6})$","20$1"],MH:["692","011","329\\d{4}|(?:[256]\\d|45)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1-$2",["[2-6]"]]],"1"],MK:["389","00","[2-578]\\d{7}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[347]"],"0$1"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"],"0$1"]],"0"],ML:["223","00","(?:[246-9]\\d|50)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]]]],MM:["95","00","1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}",[6,7,8,9,10],[["(\\d)(\\d{2})(\\d{3})","$1 $2 $3",["16|2"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[4-7]|8[1-35]"],"0$1"],["(\\d)(\\d{3})(\\d{4,6})","$1 $2 $3",["9(?:2[0-4]|[35-9]|4[137-9])"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["92"],"0$1"],["(\\d)(\\d{5})(\\d{4})","$1 $2 $3",["9"],"0$1"]],"0"],MN:["976","001","[12]\\d{7,9}|[57-9]\\d{7}",[8,9,10],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[57-9]"]],["(\\d{3})(\\d{5,6})","$1 $2",["[12]2[1-3]"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["[12](?:27|3[2-8]|4[2-68]|5[1-4689])","[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["[12]"],"0$1"]],"0"],MO:["853","00","(?:28|[68]\\d)\\d{6}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[268]"]]]],MP:["1","011","[58]\\d{9}|(?:67|90)0\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","670$1",0,"670"],MQ:["596","00","(?:596|69\\d)\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0"],MR:["222","00","(?:[2-4]\\d\\d|800)\\d{5}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]]]],MS:["1","011","66449\\d{5}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|(4\\d{6})$","664$1",0,"664"],MT:["356","00","3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2357-9]"]]]],MU:["230","0(?:0|[24-7]0|3[03])","(?:[2-468]|5\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-46]|8[013]"]],["(\\d{4})(\\d{4})","$1 $2",["5"]]],0,0,0,0,0,0,0,"020"],MV:["960","0(?:0|19)","(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}",[7,10],[["(\\d{3})(\\d{4})","$1-$2",["[3467]|9[13-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"]]],0,0,0,0,0,0,0,"00"],MW:["265","00","1\\d{6}(?:\\d{2})?|(?:[23]1|77|88|99)\\d{7}",[7,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[17-9]"],"0$1"]],"0"],MX:["52","0[09]","(?:1(?:[01467]\\d|[2359][1-9]|8[1-79])|[2-9]\\d)\\d{8}",[10,11],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|5[56]|81"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2-9]"],0,1],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 $3 $4",["1(?:33|5[56]|81)"],0,1],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 $3 $4",["1"],0,1]],"01",0,"0(?:[12]|4[45])|1",0,0,0,0,"00"],MY:["60","00","1\\d{8,9}|(?:3\\d|[4-9])\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["[4-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1-$2 $3",["1(?:[0249]|[367][2-9]|8[1-9])|8"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2 $3",["3"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3-$4",["1[36-8]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2 $3",["15"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2 $3",["1"],"0$1"]],"0"],MZ:["258","00","(?:2|8\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2|8[2-7]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]]],NA:["264","00","[68]\\d{7,8}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["87"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0"],NC:["687","00","[2-57-9]\\d{5}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[2-57-9]"]]]],NE:["227","00","[0289]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["08"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[089]|2[01]"]]]],NF:["672","00","[13]\\d{5}",[6],[["(\\d{2})(\\d{4})","$1 $2",["1"]],["(\\d)(\\d{5})","$1 $2",["3"]]],0,0,"([0-258]\\d{4})$","3$1"],NG:["234","009","(?:[124-7]|9\\d{3})\\d{6}|[1-9]\\d{7}|[78]\\d{9,13}",[7,8,10,11,12,13,14],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["78"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]|9(?:0[3-9]|[1-9])"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[3-7]|8[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[7-9]"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]"],"0$1"],["(\\d{3})(\\d{5})(\\d{5,6})","$1 $2 $3",["[78]"],"0$1"]],"0"],NI:["505","00","(?:1800|[25-8]\\d{3})\\d{4}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[125-8]"]]]],NL:["31","00","(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|[89]\\d{6,9}|1\\d{4,5}",[5,6,7,8,9,10],[["(\\d{3})(\\d{4,7})","$1 $2",["[89]0"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["66"],"0$1"],["(\\d)(\\d{8})","$1 $2",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-57-9]"],"0$1"]],"0"],NO:["47","00","(?:0|[2-9]\\d{3})\\d{4}",[5,8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[489]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-7]"]]],0,0,0,0,0,"[02-689]|7[0-8]"],NP:["977","00","9\\d{9}|[1-9]\\d{7}",[8,10],[["(\\d)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],["(\\d{2})(\\d{6})","$1-$2",["[1-8]|9(?:[1-579]|6[2-6])"],"0$1"],["(\\d{3})(\\d{7})","$1-$2",["9"]]],"0"],NR:["674","00","(?:444|55\\d|888)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[458]"]]]],NU:["683","00","(?:[47]|888\\d)\\d{3}",[4,7],[["(\\d{3})(\\d{4})","$1 $2",["8"]]]],NZ:["64","0(?:0|161)","[28]\\d{7,9}|[346]\\d{7}|(?:508|[79]\\d)\\d{6,7}",[8,9,10],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["24|[346]|7[2-57-9]|9[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:10|74)|[59]|80"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["2[028]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,5})","$1 $2 $3",["2(?:[169]|7[0-35-9])|7|86"],"0$1"]],"0",0,0,0,0,0,0,"00"],OM:["968","00","(?:[279]\\d{3}|500)\\d{4}|8007\\d{4,5}",[7,8,9],[["(\\d{3})(\\d{4,6})","$1 $2",["[58]"]],["(\\d{2})(\\d{6})","$1 $2",["2"]],["(\\d{4})(\\d{4})","$1 $2",["[79]"]]]],PA:["507","00","(?:[1-57-9]|6\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"]],["(\\d{4})(\\d{4})","$1-$2",["6"]]]],PE:["51","19(?:1[124]|77|90)00","(?:[14-8]|9\\d)\\d{7}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["80"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["1"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[4-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"]]],"0",0,0,0,0,0,0,0," Anexo "],PF:["689","00","[48]\\d{7}|4\\d{5}",[6,8],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["44"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[48]"]]]],PG:["675","00|140[1-3]","(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["18|[2-69]|85"]],["(\\d{4})(\\d{4})","$1 $2",["[78]"]]],0,0,0,0,0,0,0,"00"],PH:["63","00","(?:1800|8)\\d{7,9}|2\\d{5}(?:\\d{2})?|(?:[3-7]|9\\d)\\d{8}",[6,8,9,10,11,12,13],[["(\\d)(\\d{5})","$1 $2",["2"],"(0$1)"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"(0$1)"],["(\\d{4})(\\d{4,6})","$1 $2",["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2","3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],"(0$1)"],["(\\d{5})(\\d{4})","$1 $2",["346|4(?:27|9[35])|883","3469|4(?:279|9(?:30|56))|8834"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|8[2-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]]],"0"],PK:["92","00","122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[025-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["[89]0"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["1"]],["(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],"(0$1)"],["(\\d{3})(\\d{6,7})","$1 $2",["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])","9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],"(0$1)"],["(\\d{5})(\\d{5})","$1 $2",["58"],"(0$1)"],["(\\d{3})(\\d{7})","$1 $2",["3"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[24-9]"],"(0$1)"]],"0"],PL:["48","00","[1-57-9]\\d{6}(?:\\d{2})?|6\\d{5,8}",[6,7,8,9],[["(\\d{5})","$1",["19"]],["(\\d{3})(\\d{3})","$1 $2",["11|64"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1","(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["64"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["39|45|5[0137]|6[0469]|7[02389]|8[08]"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[2-8]|[2-8]|9[145]"]]]],PM:["508","00","[45]\\d{5}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[45]"],"0$1"]],"0"],PR:["1","011","(?:[589]\\d\\d|787)\\d{7}",[10],0,"1",0,0,0,0,"787|939"],PS:["970","00","[2489]2\\d{6}|(?:1\\d|5)\\d{8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2489]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["5"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],PT:["351","00","(?:[26-9]\\d|30)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["2[12]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[236-9]"]]]],PW:["680","01[12]","(?:[25-8]\\d\\d|345|488|900)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],PY:["595","00","59\\d{4,6}|(?:[2-46-9]\\d|5[0-8])\\d{4,7}",[6,7,8,9],[["(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{3})(\\d{4,5})","$1 $2",["2[279]|3[13-5]|4[359]|5|6[347]|7[46-8]|85"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["87"]],["(\\d{3})(\\d{6})","$1 $2",["9"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]"],"0$1"]],"0"],QA:["974","00","800\\d{4}|(?:2|[3-7]\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["2[126]|8"]],["(\\d{4})(\\d{4})","$1 $2",["[3-7]"]]]],RE:["262","00","(?:26|[68]\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[268]"],"0$1"]],"0",0,0,0,0,"262|69|8"],RO:["40","00","(?:[237]\\d|[89]0)\\d{7}|[23]\\d{5}",[6,9],[["(\\d{3})(\\d{3})","$1 $2",["2[3-6]","2[3-6]\\d9"],"0$1"],["(\\d{2})(\\d{4})","$1 $2",["219|31"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23]1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[237-9]"],"0$1"]],"0",0,0,0,0,0,0,0," int "],RS:["381","00","38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}",[6,7,8,9,10,11,12],[["(\\d{3})(\\d{3,9})","$1 $2",["(?:2[389]|39)0|[7-9]"],"0$1"],["(\\d{2})(\\d{5,10})","$1 $2",["[1-36]"],"0$1"]],"0"],RU:["7","810","[347-9]\\d{9}",[10],[["(\\d{4})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-8]|2[1-9])","7(?:1(?:[0-6]2|7|8[27])|2(?:1[23]|[2-9]2))","7(?:1(?:[0-6]2|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"],"8 ($1)",1],["(\\d{5})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-68]|2[1-9])","7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))","7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[3489]"],"8 ($1)",1]],"8",0,0,0,0,"3[04-689]|[489]",0,"8~10"],RW:["250","00","(?:06|[27]\\d\\d|[89]00)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"],"0$1"]],"0"],SA:["966","00","92\\d{7}|(?:[15]|8\\d)\\d{8}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["9"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["81"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]],"0"],SB:["677","0[01]","(?:[1-6]|[7-9]\\d\\d)\\d{4}",[5,7],[["(\\d{2})(\\d{5})","$1 $2",["7|8[4-9]|9(?:[1-8]|9[0-8])"]]]],SC:["248","010|0[0-2]","8000\\d{3}|(?:[249]\\d|64)\\d{5}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[246]"]]],0,0,0,0,0,0,0,"00"],SD:["249","00","[19]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[19]"],"0$1"]],"0"],SE:["46","00","(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{2,3})(\\d{2})","$1-$2 $3",["20"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{4})","$1-$2",["9(?:00|39|44)"],"0$1",0,"$1 $2"],["(\\d{2})(\\d{3})(\\d{2})","$1-$2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3"],["(\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{2,3})(\\d{3})","$1-$2 $3",["9(?:00|39|44)"],"0$1",0,"$1 $2 $3"],["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3 $4"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["7"],"0$1",0,"$1 $2 $3 $4"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4 $5",["[26]"],"0$1",0,"$1 $2 $3 $4 $5"]],"0"],SG:["65","0[0-3]\\d","(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}",[8,10,11],[["(\\d{4})(\\d{4})","$1 $2",["[369]|8[1-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]],["(\\d{4})(\\d{4})(\\d{3})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],SH:["290","00","(?:[256]\\d|8)\\d{3}",[4,5],0,0,0,0,0,0,"[256]"],SI:["386","00|10(?:22|66|88|99)","[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}",[5,6,7,8],[["(\\d{2})(\\d{3,6})","$1 $2",["8[09]|9"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["59|8"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[0139]|51|6"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-57]"],"(0$1)"]],"0",0,0,0,0,0,0,"00"],SJ:["47","00","0\\d{4}|(?:[4589]\\d|79)\\d{6}",[5,8],0,0,0,0,0,0,"79"],SK:["421","00","[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",[6,7,9],[["(\\d)(\\d{2})(\\d{3,4})","$1 $2 $3",["21"],"0$1"],["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["[3-5][1-8]1","[3-5][1-8]1[67]"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"]],"0"],SL:["232","00","(?:[2378]\\d|99)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[237-9]"],"(0$1)"]],"0"],SM:["378","00","(?:0549|[5-7]\\d)\\d{6}",[8,10],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],["(\\d{4})(\\d{6})","$1 $2",["0"]]],0,0,"([89]\\d{5})$","0549$1"],SN:["221","00","(?:[378]\\d{4}|93330)\\d{4}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[379]"]]]],SO:["252","00","[346-9]\\d{8}|[12679]\\d{7}|(?:[1-4]\\d|59)\\d{5}|[1348]\\d{5}",[6,7,8,9],[["(\\d{2})(\\d{4})","$1 $2",["8[125]"]],["(\\d{6})","$1",["[134]"]],["(\\d)(\\d{6})","$1 $2",["1|2[0-79]|3[0-46-8]|4[0-7]|59"]],["(\\d)(\\d{7})","$1 $2",["24|[67]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[348]|64|79[0-8]|90"]],["(\\d{2})(\\d{5,7})","$1 $2",["1|28|6[1-35-9]|799|9[2-9]"]]],"0"],SR:["597","00","(?:[2-5]|68|[78]\\d)\\d{5}",[6,7],[["(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"]],["(\\d{3})(\\d{3})","$1-$2",["[2-5]"]],["(\\d{3})(\\d{4})","$1-$2",["[6-8]"]]]],SS:["211","00","[19]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[19]"],"0$1"]],"0"],ST:["239","00","(?:22|9\\d)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[29]"]]]],SV:["503","00","[267]\\d{7}|[89]00\\d{4}(?:\\d{4})?",[7,8,11],[["(\\d{3})(\\d{4})","$1 $2",["[89]"]],["(\\d{4})(\\d{4})","$1 $2",["[267]"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]]]],SX:["1","011","7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|(5\\d{6})$","721$1",0,"721"],SY:["963","00","[1-39]\\d{8}|[1-5]\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-5]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1",1]],"0"],SZ:["268","00","0800\\d{4}|(?:[237]\\d|900)\\d{6}",[8,9],[["(\\d{4})(\\d{4})","$1 $2",["[0237]"]],["(\\d{5})(\\d{4})","$1 $2",["9"]]]],TA:["290","00","8\\d{3}",[4],0,0,0,0,0,0,"8"],TC:["1","011","(?:[58]\\d\\d|649|900)\\d{7}",[10],0,"1",0,"1|([2-479]\\d{6})$","649$1",0,"649"],TD:["235","00|16","(?:22|[69]\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2679]"]]],0,0,0,0,0,0,0,"00"],TG:["228","00","[279]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[279]"]]]],TH:["66","00[1-9]","1\\d{8,9}|(?:[2-57]|[689]\\d)\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["14|[3-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],TJ:["992","810","(?:[3-59]\\d|77|88)\\d{7}",[9],[["(\\d{6})(\\d)(\\d{2})","$1 $2 $3",["331","3317"],0,1],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[34]7|91[78]"],0,1],["(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3"],0,1],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[457-9]"],0,1]],"8",0,0,0,0,0,0,"8~10"],TK:["690","00","[2-47]\\d{3,6}",[4,5,6,7]],TL:["670","00","7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-489]|70"]],["(\\d{4})(\\d{4})","$1 $2",["7"]]]],TM:["993","810","[1-6]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["12"],"(8 $1)"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-5]"],"(8 $1)"],["(\\d{2})(\\d{6})","$1 $2",["6"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],TN:["216","00","[2-57-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]"]]]],TO:["676","00","(?:0800|[5-8]\\d{3})\\d{3}|[2-8]\\d{4}",[5,7],[["(\\d{2})(\\d{3})","$1-$2",["[2-4]|50|6[09]|7[0-24-69]|8[05]"]],["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{3})(\\d{4})","$1 $2",["[5-8]"]]]],TR:["90","00","(?:[2-58]\\d\\d|900)\\d{7}|4\\d{6}",[7,10],[["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["512|8[0589]|90"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:[0-59]|61)","5(?:[0-59]|616)","5(?:[0-59]|6161)"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24][1-8]|3[1-9]"],"(0$1)",1]],"0"],TT:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-46-8]\\d{6})$","868$1",0,"868"],TV:["688","00","(?:2|7\\d\\d|90)\\d{4}",[5,6,7]],TW:["886","0(?:0[25-79]|19)","(?:[24589]|7\\d)\\d{8}|[2-8]\\d{7}|2\\d{6}",[7,8,9,10],[["(\\d{2})(\\d)(\\d{4})","$1 $2 $3",["202"],"0$1"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["[25][2-8]|[346]|7[1-9]|8[237-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[258]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0",0,0,0,0,0,0,0,"#"],TZ:["255","00[056]","(?:[26-8]\\d|41|90)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[24]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[67]"],"0$1"]],"0"],UA:["380","00","[89]\\d{9}|[3-9]\\d{8}",[9,10],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]","6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["4[45][0-5]|5(?:0|6[37])|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]","4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["[3-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0",0,0,0,0,0,0,"0~0"],UG:["256","00[057]","800\\d{6}|(?:[29]0|[347]\\d)\\d{7}",[9],[["(\\d{4})(\\d{5})","$1 $2",["202","2024"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[27-9]|4(?:6[45]|[7-9])"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[34]"],"0$1"]],"0"],US:["1","011","[2-9]\\d{9}",[10],[["(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",["[2-9]"],0,1,"$1-$2-$3"]],"1",0,0,0,0,0,[["(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[017]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-28]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0179]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}"],0,["710[2-9]\\d{6}"]]],UY:["598","0(?:0|1[3-9]\\d)","(?:[249]\\d\\d|80)\\d{5}|9\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["8|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[24]"]]],"0",0,0,0,0,0,0,"00"," int. "],UZ:["998","810","[679]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[679]"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],VA:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],0,0,0,0,0,0,"06698"],VC:["1","011","(?:[58]\\d\\d|784|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","784$1",0,"784"],VE:["58","00","[89]00\\d{7}|(?:[24]\\d|50)\\d{8}",[10],[["(\\d{3})(\\d{7})","$1-$2",["[24589]"],"0$1"]],"0"],VG:["1","011","(?:284|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-578]\\d{6})$","284$1",0,"284"],VI:["1","011","[58]\\d{9}|(?:34|90)0\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","340$1",0,"340"],VN:["84","00","[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["80"],"0$1",1],["(\\d{4})(\\d{4,6})","$1 $2",["1"],0,1],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[69]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[3578]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2[48]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["2"],"0$1",1]],"0"],VU:["678","00","(?:[23]\\d|[48]8)\\d{3}|(?:[57]\\d|90)\\d{5}",[5,7],[["(\\d{3})(\\d{4})","$1 $2",["[579]"]]]],WF:["681","00","(?:[45]0|68|72|8\\d)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[4-8]"]]]],WS:["685","0","[2-6]\\d{4}|8\\d{5}(?:\\d{4})?|[78]\\d{6}",[5,6,7,10],[["(\\d{5})","$1",["[2-6]"]],["(\\d{3})(\\d{3,7})","$1 $2",["8"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]]],XK:["383","00","[23]\\d{7,8}|(?:4\\d\\d|[89]00)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[23]"],"0$1"]],"0"],YE:["967","00","(?:1|7\\d)\\d{7}|[1-7]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-6]|7[24-68]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"],"0$1"]],"0"],YT:["262","00","80\\d{7}|(?:26|63)9\\d{6}",[9],0,"0",0,0,0,0,"269|63"],ZA:["27","00","[1-9]\\d{8}|8\\d{4,7}",[5,6,7,8,9],[["(\\d{2})(\\d{3,4})","$1 $2",["8[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["8[1-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["860"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-9]"],"0$1"]],"0"],ZM:["260","00","800\\d{6}|(?:21|76|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[28]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[79]"],"0$1"]],"0"],ZW:["263","00","2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",[5,6,7,8,9,10],[["(\\d{3})(\\d{3,5})","$1 $2",["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"],"0$1"],["(\\d)(\\d{3})(\\d{2,4})","$1 $2 $3",["[49]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["80"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2","2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)","2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["29[013-9]|39|54"],"0$1"],["(\\d{4})(\\d{3,5})","$1 $2",["(?:25|54)8","258|5483"],"0$1"]],"0"],"001":["979",0,"\\d{9}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3"]]]}},m=(n(68),n(534),n(535),n(486),n(110)),g=n(188),y=n(10);n(487),n(488);function v(e,t){var n=Array.prototype.slice.call(t);return n.push(h),e.apply(this,n)}function b(e,t){return m.a.call(this,e,t,h)}function _(e){return g.a.call(this,e,h)}function w(){return v(y.b,arguments)}b.prototype=Object.create(m.a.prototype,{}),b.prototype.constructor=b,_.prototype=Object.create(g.a.prototype,{}),_.prototype.constructor=_,n.d(t,"default",function(){return i.a}),n.d(t,"parseRFC3966",function(){return o.parseRFC3966}),n.d(t,"formatRFC3966",function(){return o.formatRFC3966}),n.d(t,"parsePhoneNumber",function(){return s.a}),n.d(t,"formatPhoneNumber",function(){return l.a}),n.d(t,"formatPhoneNumberIntl",function(){return u.formatPhoneNumberIntl}),n.d(t,"isValidPhoneNumber",function(){return d.a}),n.d(t,"PhoneInput",function(){return p.a}),n.d(t,"getCountryCallingCode",function(){return w})}]);
\ No newline at end of file
+var n="undefined"!=typeof window&&"undefined"!=typeof document,r=["Edge","Trident","Firefox"],i=0,o=0;o<r.length;o+=1)if(n&&navigator.userAgent.indexOf(r[o])>=0){i=1;break}var a=n&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},i))}};function s(e){return e&&"[object Function]"==={}.toString.call(e)}function u(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function l(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function c(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=u(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/(auto|scroll|overlay)/.test(n+i+r)?e:c(l(e))}var d=n&&!(!window.MSInputMethodContext||!document.documentMode),f=n&&/MSIE 10/.test(navigator.userAgent);function p(e){return 11===e?d:10===e?f:d||f}function h(e){if(!e)return document.documentElement;for(var t=p(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===u(n,"position")?h(n):n:e?e.ownerDocument.documentElement:document.documentElement}function m(e){return null!==e.parentNode?m(e.parentNode):e}function g(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?e:t,i=n?t:e,o=document.createRange();o.setStart(r,0),o.setEnd(i,0);var a,s,u=o.commonAncestorContainer;if(e!==u&&t!==u||r.contains(i))return"BODY"===(s=(a=u).nodeName)||"HTML"!==s&&h(a.firstElementChild)!==a?h(u):u;var l=m(e);return l.host?g(l.host,t):g(e,m(t).host)}function y(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var r=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||r)[t]}return e[t]}function v(e,t){var n="x"===t?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+r+"Width"],10)}function b(e,t,n,r){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],p(10)?parseInt(n["offset"+e])+parseInt(r["margin"+("Height"===e?"Top":"Left")])+parseInt(r["margin"+("Height"===e?"Bottom":"Right")]):0)}function _(e){var t=e.body,n=e.documentElement,r=p(10)&&getComputedStyle(n);return{height:b("Height",t,n,r),width:b("Width",t,n,r)}}var w=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},A=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),x=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},k=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function M(e){return k({},e,{right:e.left+e.width,bottom:e.top+e.height})}function E(e){var t={};try{if(p(10)){t=e.getBoundingClientRect();var n=y(e,"top"),r=y(e,"left");t.top+=n,t.left+=r,t.bottom+=n,t.right+=r}else t=e.getBoundingClientRect()}catch(e){}var i={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},o="HTML"===e.nodeName?_(e.ownerDocument):{},a=o.width||e.clientWidth||i.right-i.left,s=o.height||e.clientHeight||i.bottom-i.top,l=e.offsetWidth-a,c=e.offsetHeight-s;if(l||c){var d=u(e);l-=v(d,"x"),c-=v(d,"y"),i.width-=l,i.height-=c}return M(i)}function L(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=p(10),i="HTML"===t.nodeName,o=E(e),a=E(t),s=c(e),l=u(t),d=parseFloat(l.borderTopWidth,10),f=parseFloat(l.borderLeftWidth,10);n&&i&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var h=M({top:o.top-a.top-d,left:o.left-a.left-f,width:o.width,height:o.height});if(h.marginTop=0,h.marginLeft=0,!r&&i){var m=parseFloat(l.marginTop,10),g=parseFloat(l.marginLeft,10);h.top-=d-m,h.bottom-=d-m,h.left-=f-g,h.right-=f-g,h.marginTop=m,h.marginLeft=g}return(r&&!n?t.contains(s):t===s&&"BODY"!==s.nodeName)&&(h=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=y(t,"top"),i=y(t,"left"),o=n?-1:1;return e.top+=r*o,e.bottom+=r*o,e.left+=i*o,e.right+=i*o,e}(h,t)),h}function S(e){if(!e||!e.parentElement||p())return document.documentElement;for(var t=e.parentElement;t&&"none"===u(t,"transform");)t=t.parentElement;return t||document.documentElement}function D(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},a=i?S(e):g(e,t);if("viewport"===r)o=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,r=L(e,n),i=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),a=t?0:y(n),s=t?0:y(n,"left");return M({top:a-r.top+r.marginTop,left:s-r.left+r.marginLeft,width:i,height:o})}(a,i);else{var s=void 0;"scrollParent"===r?"BODY"===(s=c(l(t))).nodeName&&(s=e.ownerDocument.documentElement):s="window"===r?e.ownerDocument.documentElement:r;var d=L(s,a,i);if("HTML"!==s.nodeName||function e(t){var n=t.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===u(t,"position"))return!0;var r=l(t);return!!r&&e(r)}(a))o=d;else{var f=_(e.ownerDocument),p=f.height,h=f.width;o.top+=d.top-d.marginTop,o.bottom=p+d.top,o.left+=d.left-d.marginLeft,o.right=h+d.left}}var m="number"==typeof(n=n||0);return o.left+=m?n:n.left||0,o.top+=m?n:n.top||0,o.right-=m?n:n.right||0,o.bottom-=m?n:n.bottom||0,o}function T(e,t,n,r,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var a=D(n,r,o,i),s={top:{width:a.width,height:t.top-a.top},right:{width:a.right-t.right,height:a.height},bottom:{width:a.width,height:a.bottom-t.bottom},left:{width:t.left-a.left,height:a.height}},u=Object.keys(s).map(function(e){return k({key:e},s[e],{area:(t=s[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),l=u.filter(function(e){var t=e.width,r=e.height;return t>=n.clientWidth&&r>=n.clientHeight}),c=l.length>0?l[0].key:u[0].key,d=e.split("-")[1];return c+(d?"-"+d:"")}function C(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return L(n,r?S(t):g(t,n),r)}function O(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),r=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+r,height:e.offsetHeight+n}}function $(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function j(e,t,n){n=n.split("-")[0];var r=O(e),i={width:r.width,height:r.height},o=-1!==["right","left"].indexOf(n),a=o?"top":"left",s=o?"left":"top",u=o?"height":"width",l=o?"width":"height";return i[a]=t[a]+t[u]/2-r[u]/2,i[s]=n===s?t[s]-r[l]:t[$(s)],i}function P(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function I(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var r=P(e,function(e){return e[t]===n});return e.indexOf(r)}(e,"name",n))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&s(n)&&(t.offsets.popper=M(t.offsets.popper),t.offsets.reference=M(t.offsets.reference),t=n(t,e))}),t}function N(e,t){return e.some(function(e){var n=e.name;return e.enabled&&n===t})}function F(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),r=0;r<t.length;r++){var i=t[r],o=i?""+i+n:e;if(void 0!==document.body.style[o])return o}return null}function R(e){var t=e.ownerDocument;return t?t.defaultView:window}function Y(e,t,n,r){n.updateBound=r,R(e).addEventListener("resize",n.updateBound,{passive:!0});var i=c(e);return function e(t,n,r,i){var o="BODY"===t.nodeName,a=o?t.ownerDocument.defaultView:t;a.addEventListener(n,r,{passive:!0}),o||e(c(a.parentNode),n,r,i),i.push(a)}(i,"scroll",n.updateBound,n.scrollParents),n.scrollElement=i,n.eventsEnabled=!0,n}function B(){var e,t;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(e=this.reference,t=this.state,R(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t))}function z(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function H(e,t){Object.keys(t).forEach(function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&z(t[n])&&(r="px"),e.style[n]=t[n]+r})}var U=n&&/Firefox/i.test(navigator.userAgent);function Z(e,t,n){var r=P(e,function(e){return e.name===t}),i=!!r&&e.some(function(e){return e.name===n&&e.enabled&&e.order<r.order});if(!i){var o="`"+t+"`",a="`"+n+"`";console.warn(a+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return i}var K=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],q=K.slice(3);function W(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=q.indexOf(e),r=q.slice(n+1).concat(q.slice(0,n));return t?r.reverse():r}var G={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function V(e,t,n,r){var i=[0,0],o=-1!==["right","left"].indexOf(r),a=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=a.indexOf(P(a,function(e){return-1!==e.search(/,|\s/)}));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var u=/\s*,\s*|\s+/,l=-1!==s?[a.slice(0,s).concat([a[s].split(u)[0]]),[a[s].split(u)[1]].concat(a.slice(s+1))]:[a];return(l=l.map(function(e,r){var i=(1===r?!o:o)?"height":"width",a=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,a=!0,e):a?(e[e.length-1]+=t,a=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,r){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+i[1],a=i[2];if(!o)return e;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=r}return M(s)[t]/100*o}if("vh"===a||"vw"===a)return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(e,i,t,n)})})).forEach(function(e,t){e.forEach(function(n,r){z(n)&&(i[t]+=n*("-"===e[r-1]?-1:1))})}),i}var J={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],r=t.split("-")[1];if(r){var i=e.offsets,o=i.reference,a=i.popper,s=-1!==["bottom","top"].indexOf(n),u=s?"left":"top",l=s?"width":"height",c={start:x({},u,o[u]),end:x({},u,o[u]+o[l]-a[l])};e.offsets.popper=k({},a,c[r])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,r=e.placement,i=e.offsets,o=i.popper,a=i.reference,s=r.split("-")[0],u=void 0;return u=z(+n)?[+n,0]:V(n,o,a,s),"left"===s?(o.top+=u[0],o.left-=u[1]):"right"===s?(o.top+=u[0],o.left+=u[1]):"top"===s?(o.left+=u[0],o.top-=u[1]):"bottom"===s&&(o.left+=u[0],o.top+=u[1]),e.popper=o,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||h(e.instance.popper);e.instance.reference===n&&(n=h(n));var r=F("transform"),i=e.instance.popper.style,o=i.top,a=i.left,s=i[r];i.top="",i.left="",i[r]="";var u=D(e.instance.popper,e.instance.reference,t.padding,n,e.positionFixed);i.top=o,i.left=a,i[r]=s,t.boundaries=u;var l=t.priority,c=e.offsets.popper,d={primary:function(e){var n=c[e];return c[e]<u[e]&&!t.escapeWithReference&&(n=Math.max(c[e],u[e])),x({},e,n)},secondary:function(e){var n="right"===e?"left":"top",r=c[n];return c[e]>u[e]&&!t.escapeWithReference&&(r=Math.min(c[n],u[e]-("right"===e?c.width:c.height))),x({},n,r)}};return l.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";c=k({},c,d[t](e))}),e.offsets.popper=c,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,r=t.reference,i=e.placement.split("-")[0],o=Math.floor,a=-1!==["top","bottom"].indexOf(i),s=a?"right":"bottom",u=a?"left":"top",l=a?"width":"height";return n[s]<o(r[u])&&(e.offsets.popper[u]=o(r[u])-n[l]),n[u]>o(r[s])&&(e.offsets.popper[u]=o(r[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!Z(e.instance.modifiers,"arrow","keepTogether"))return e;var r=t.element;if("string"==typeof r){if(!(r=e.instance.popper.querySelector(r)))return e}else if(!e.instance.popper.contains(r))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var i=e.placement.split("-")[0],o=e.offsets,a=o.popper,s=o.reference,l=-1!==["left","right"].indexOf(i),c=l?"height":"width",d=l?"Top":"Left",f=d.toLowerCase(),p=l?"left":"top",h=l?"bottom":"right",m=O(r)[c];s[h]-m<a[f]&&(e.offsets.popper[f]-=a[f]-(s[h]-m)),s[f]+m>a[h]&&(e.offsets.popper[f]+=s[f]+m-a[h]),e.offsets.popper=M(e.offsets.popper);var g=s[f]+s[c]/2-m/2,y=u(e.instance.popper),v=parseFloat(y["margin"+d],10),b=parseFloat(y["border"+d+"Width"],10),_=g-e.offsets.popper[f]-v-b;return _=Math.max(Math.min(a[c]-m,_),0),e.arrowElement=r,e.offsets.arrow=(x(n={},f,Math.round(_)),x(n,p,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(N(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=D(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),r=e.placement.split("-")[0],i=$(r),o=e.placement.split("-")[1]||"",a=[];switch(t.behavior){case G.FLIP:a=[r,i];break;case G.CLOCKWISE:a=W(r);break;case G.COUNTERCLOCKWISE:a=W(r,!0);break;default:a=t.behavior}return a.forEach(function(s,u){if(r!==s||a.length===u+1)return e;r=e.placement.split("-")[0],i=$(r);var l=e.offsets.popper,c=e.offsets.reference,d=Math.floor,f="left"===r&&d(l.right)>d(c.left)||"right"===r&&d(l.left)<d(c.right)||"top"===r&&d(l.bottom)>d(c.top)||"bottom"===r&&d(l.top)<d(c.bottom),p=d(l.left)<d(n.left),h=d(l.right)>d(n.right),m=d(l.top)<d(n.top),g=d(l.bottom)>d(n.bottom),y="left"===r&&p||"right"===r&&h||"top"===r&&m||"bottom"===r&&g,v=-1!==["top","bottom"].indexOf(r),b=!!t.flipVariations&&(v&&"start"===o&&p||v&&"end"===o&&h||!v&&"start"===o&&m||!v&&"end"===o&&g),_=!!t.flipVariationsByContent&&(v&&"start"===o&&h||v&&"end"===o&&p||!v&&"start"===o&&g||!v&&"end"===o&&m),w=b||_;(f||y||w)&&(e.flipped=!0,(f||y)&&(r=a[u+1]),w&&(o=function(e){return"end"===e?"start":"start"===e?"end":e}(o)),e.placement=r+(o?"-"+o:""),e.offsets.popper=k({},e.offsets.popper,j(e.instance.popper,e.offsets.reference,e.placement)),e=I(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],r=e.offsets,i=r.popper,o=r.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return i[a?"left":"top"]=o[n]-(s?i[a?"width":"height"]:0),e.placement=$(t),e.offsets.popper=M(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!Z(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=P(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottom<n.top||t.left>n.right||t.top>n.bottom||t.right<n.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var n=t.x,r=t.y,i=e.offsets.popper,o=P(e.instance.modifiers,function(e){return"applyStyle"===e.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var a=void 0!==o?o:t.gpuAcceleration,s=h(e.instance.popper),u=E(s),l={position:i.position},c=function(e,t){var n=e.offsets,r=n.popper,i=n.reference,o=Math.round,a=Math.floor,s=function(e){return e},u=o(i.width),l=o(r.width),c=-1!==["left","right"].indexOf(e.placement),d=-1!==e.placement.indexOf("-"),f=t?c||d||u%2==l%2?o:a:s,p=t?o:s;return{left:f(u%2==1&&l%2==1&&!d&&t?r.left-1:r.left),top:p(r.top),bottom:p(r.bottom),right:f(r.right)}}(e,window.devicePixelRatio<2||!U),d="bottom"===n?"top":"bottom",f="right"===r?"left":"right",p=F("transform"),m=void 0,g=void 0;if(g="bottom"===d?"HTML"===s.nodeName?-s.clientHeight+c.bottom:-u.height+c.bottom:c.top,m="right"===f?"HTML"===s.nodeName?-s.clientWidth+c.right:-u.width+c.right:c.left,a&&p)l[p]="translate3d("+m+"px, "+g+"px, 0)",l[d]=0,l[f]=0,l.willChange="transform";else{var y="bottom"===d?-1:1,v="right"===f?-1:1;l[d]=g*y,l[f]=m*v,l.willChange=d+", "+f}var b={"x-placement":e.placement};return e.attributes=k({},b,e.attributes),e.styles=k({},l,e.styles),e.arrowStyles=k({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){var t,n;return H(e.instance.popper,e.styles),t=e.instance.popper,n=e.attributes,Object.keys(n).forEach(function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)}),e.arrowElement&&Object.keys(e.arrowStyles).length&&H(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,r,i){var o=C(i,t,e,n.positionFixed),a=T(n.placement,o,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",a),H(t,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},Q=function(){function e(t,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};w(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=a(this.update.bind(this)),this.options=k({},e.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(k({},e.Defaults.modifiers,i.modifiers)).forEach(function(t){r.options.modifiers[t]=k({},e.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return k({name:e},r.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&s(e.onLoad)&&e.onLoad(r.reference,r.popper,r.options,e,r.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return A(e,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=C(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=T(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=j(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=I(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,N(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[F("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=Y(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return B.call(this)}}]),e}();Q.Utils=("undefined"!=typeof window?window:e).PopperUtils,Q.placements=K,Q.Defaults=J,t.default=Q}.call(this,n(43))},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(6),u=n.n(s),l=n(86),c=n.n(l),d=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var p=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),d(t,[{key:"shouldComponentUpdate",value:function(e){return this.props.forceRender||!c()(this.props,e)}},{key:"render",value:function(){var e;if(this._isActived=this.props.forceRender||this._isActived||this.props.isActive,!this._isActived)return null;var t=this.props,n=t.prefixCls,r=t.isActive,o=t.children,a=t.destroyInactivePanel,s=t.forceRender,l=t.role,c=u()((f(e={},n+"-content",!0),f(e,n+"-content-active",r),f(e,n+"-content-inactive",!r),e)),d=s||r||!a?i.a.createElement("div",{className:n+"-content-box"},o):null;return i.a.createElement("div",{className:c,role:l},d)}}]),t}();p.propTypes={prefixCls:a.a.string,isActive:a.a.bool,children:a.a.any,destroyInactivePanel:a.a.bool,forceRender:a.a.bool,role:a.a.string};var h=p,m=n(8),g=n.n(m),y=n(187),v=n.n(y),b=n(21),_=n.n(b),w=n(22),A=n.n(w),x=n(23),k=n.n(x),M=n(24),E=n.n(M);function L(e){var t=[];return i.a.Children.forEach(e,function(e){t.push(e)}),t}function S(e,t){var n=null;return e&&e.forEach(function(e){n||e&&e.key===t&&(n=e)}),n}function D(e,t,n){var r=null;return e&&e.forEach(function(e){if(e&&e.key===t&&e.props[n]){if(r)throw new Error("two child with same key for <rc-animate> children");r=e}}),r}var T=n(19),C=n.n(T),O=n(67),$=n.n(O),j={transitionstart:{transition:"transitionstart",WebkitTransition:"webkitTransitionStart",MozTransition:"mozTransitionStart",OTransition:"oTransitionStart",msTransition:"MSTransitionStart"},animationstart:{animation:"animationstart",WebkitAnimation:"webkitAnimationStart",MozAnimation:"mozAnimationStart",OAnimation:"oAnimationStart",msAnimation:"MSAnimationStart"}},P={transitionend:{transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"mozTransitionEnd",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd"},animationend:{animation:"animationend",WebkitAnimation:"webkitAnimationEnd",MozAnimation:"mozAnimationEnd",OAnimation:"oAnimationEnd",msAnimation:"MSAnimationEnd"}},I=[],N=[];function F(e,t,n){e.addEventListener(t,n,!1)}function R(e,t,n){e.removeEventListener(t,n,!1)}"undefined"!=typeof window&&"undefined"!=typeof document&&function(){var e=document.createElement("div").style;function t(t,n){for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];for(var o in i)if(o in e){n.push(i[o]);break}}}"AnimationEvent"in window||(delete j.animationstart.animation,delete P.animationend.animation),"TransitionEvent"in window||(delete j.transitionstart.transition,delete P.transitionend.transition),t(j,I),t(P,N)}();var Y={startEvents:I,addStartEventListener:function(e,t){0!==I.length?I.forEach(function(n){F(e,n,t)}):window.setTimeout(t,0)},removeStartEventListener:function(e,t){0!==I.length&&I.forEach(function(n){R(e,n,t)})},endEvents:N,addEndEventListener:function(e,t){0!==N.length?N.forEach(function(n){F(e,n,t)}):window.setTimeout(t,0)},removeEndEventListener:function(e,t){0!==N.length&&N.forEach(function(n){R(e,n,t)})}},B=n(543),z=n.n(B),H=0!==Y.endEvents.length,U=["Webkit","Moz","O","ms"],Z=["-webkit-","-moz-","-o-","ms-",""];function K(e,t){for(var n=window.getComputedStyle(e,null),r="",i=0;i<Z.length&&!(r=n.getPropertyValue(Z[i]+t));i++);return r}function q(e){if(H){var t=parseFloat(K(e,"transition-delay"))||0,n=parseFloat(K(e,"transition-duration"))||0,r=parseFloat(K(e,"animation-delay"))||0,i=parseFloat(K(e,"animation-duration"))||0,o=Math.max(n+t,i+r);e.rcEndAnimTimeout=setTimeout(function(){e.rcEndAnimTimeout=null,e.rcEndListener&&e.rcEndListener()},1e3*o+200)}}function W(e){e.rcEndAnimTimeout&&(clearTimeout(e.rcEndAnimTimeout),e.rcEndAnimTimeout=null)}var G=function(e,t,n){var r="object"===(void 0===t?"undefined":$()(t)),i=r?t.name:t,o=r?t.active:t+"-active",a=n,s=void 0,u=void 0,l=z()(e);return n&&"[object Object]"===Object.prototype.toString.call(n)&&(a=n.end,s=n.start,u=n.active),e.rcEndListener&&e.rcEndListener(),e.rcEndListener=function(t){t&&t.target!==e||(e.rcAnimTimeout&&(clearTimeout(e.rcAnimTimeout),e.rcAnimTimeout=null),W(e),l.remove(i),l.remove(o),Y.removeEndEventListener(e,e.rcEndListener),e.rcEndListener=null,a&&a())},Y.addEndEventListener(e,e.rcEndListener),s&&s(),l.add(i),e.rcAnimTimeout=setTimeout(function(){e.rcAnimTimeout=null,l.add(o),u&&setTimeout(u,0),q(e)},30),{stop:function(){e.rcEndListener&&e.rcEndListener()}}};G.style=function(e,t,n){e.rcEndListener&&e.rcEndListener(),e.rcEndListener=function(t){t&&t.target!==e||(e.rcAnimTimeout&&(clearTimeout(e.rcAnimTimeout),e.rcAnimTimeout=null),W(e),Y.removeEndEventListener(e,e.rcEndListener),e.rcEndListener=null,n&&n())},Y.addEndEventListener(e,e.rcEndListener),e.rcAnimTimeout=setTimeout(function(){for(var n in t)t.hasOwnProperty(n)&&(e.style[n]=t[n]);e.rcAnimTimeout=null,q(e)},0)},G.setTransition=function(e,t,n){var r=t,i=n;void 0===n&&(i=r,r=""),r=r||"",U.forEach(function(t){e.style[t+"Transition"+r]=i})},G.isCssAnimationSupported=H;var V=G,J={isAppearSupported:function(e){return e.transitionName&&e.transitionAppear||e.animation.appear},isEnterSupported:function(e){return e.transitionName&&e.transitionEnter||e.animation.enter},isLeaveSupported:function(e){return e.transitionName&&e.transitionLeave||e.animation.leave},allowAppearCallback:function(e){return e.transitionAppear||e.animation.appear},allowEnterCallback:function(e){return e.transitionEnter||e.animation.enter},allowLeaveCallback:function(e){return e.transitionLeave||e.animation.leave}},Q={enter:"transitionEnter",appear:"transitionAppear",leave:"transitionLeave"},X=function(e){function t(){return _()(this,t),k()(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return E()(t,e),A()(t,[{key:"componentWillUnmount",value:function(){this.stop()}},{key:"componentWillEnter",value:function(e){J.isEnterSupported(this.props)?this.transition("enter",e):e()}},{key:"componentWillAppear",value:function(e){J.isAppearSupported(this.props)?this.transition("appear",e):e()}},{key:"componentWillLeave",value:function(e){J.isLeaveSupported(this.props)?this.transition("leave",e):e()}},{key:"transition",value:function(e,t){var n=this,r=C.a.findDOMNode(this),i=this.props,o=i.transitionName,a="object"==typeof o;this.stop();var s=function(){n.stopper=null,t()};if((H||!i.animation[e])&&o&&i[Q[e]]){var u=a?o[e]:o+"-"+e,l=u+"-active";a&&o[e+"Active"]&&(l=o[e+"Active"]),this.stopper=V(r,{name:u,active:l},s)}else this.stopper=i.animation[e](r,s)}},{key:"stop",value:function(){var e=this.stopper;e&&(this.stopper=null,e.stop())}},{key:"render",value:function(){return this.props.children}}]),t}(i.a.Component);X.propTypes={children:a.a.any};var ee=X,te="rc_animate_"+Date.now();function ne(e){var t=e.children;return i.a.isValidElement(t)&&!t.key?i.a.cloneElement(t,{key:te}):t}function re(){}var ie=function(e){function t(e){_()(this,t);var n=k()(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return oe.call(n),n.currentlyAnimatingKeys={},n.keysToEnter=[],n.keysToLeave=[],n.state={children:L(ne(e))},n.childrenRefs={},n}return E()(t,e),A()(t,[{key:"componentDidMount",value:function(){var e=this,t=this.props.showProp,n=this.state.children;t&&(n=n.filter(function(e){return!!e.props[t]})),n.forEach(function(t){t&&e.performAppear(t.key)})}},{key:"componentWillReceiveProps",value:function(e){var t=this;this.nextProps=e;var n=L(ne(e)),r=this.props;r.exclusive&&Object.keys(this.currentlyAnimatingKeys).forEach(function(e){t.stop(e)});var o,a,s,u,l=r.showProp,c=this.currentlyAnimatingKeys,d=r.exclusive?L(ne(r)):this.state.children,f=[];l?(d.forEach(function(e){var t=e&&S(n,e.key),r=void 0;(r=t&&t.props[l]||!e.props[l]?t:i.a.cloneElement(t||e,v()({},l,!0)))&&f.push(r)}),n.forEach(function(e){e&&S(d,e.key)||f.push(e)})):(o=n,a=[],s={},u=[],d.forEach(function(e){e&&S(o,e.key)?u.length&&(s[e.key]=u,u=[]):u.push(e)}),o.forEach(function(e){e&&Object.prototype.hasOwnProperty.call(s,e.key)&&(a=a.concat(s[e.key])),a.push(e)}),f=a=a.concat(u)),this.setState({children:f}),n.forEach(function(e){var n=e&&e.key;if(!e||!c[n]){var r=e&&S(d,n);if(l){var i=e.props[l];if(r)!D(d,n,l)&&i&&t.keysToEnter.push(n);else i&&t.keysToEnter.push(n)}else r||t.keysToEnter.push(n)}}),d.forEach(function(e){var r=e&&e.key;if(!e||!c[r]){var i=e&&S(n,r);if(l){var o=e.props[l];if(i)!D(n,r,l)&&o&&t.keysToLeave.push(r);else o&&t.keysToLeave.push(r)}else i||t.keysToLeave.push(r)}})}},{key:"componentDidUpdate",value:function(){var e=this.keysToEnter;this.keysToEnter=[],e.forEach(this.performEnter);var t=this.keysToLeave;this.keysToLeave=[],t.forEach(this.performLeave)}},{key:"isValidChildByKey",value:function(e,t){var n=this.props.showProp;return n?D(e,t,n):S(e,t)}},{key:"stop",value:function(e){delete this.currentlyAnimatingKeys[e];var t=this.childrenRefs[e];t&&t.stop()}},{key:"render",value:function(){var e=this,t=this.props;this.nextProps=t;var n=this.state.children,r=null;n&&(r=n.map(function(n){if(null==n)return n;if(!n.key)throw new Error("must set key for <rc-animate> children");return i.a.createElement(ee,{key:n.key,ref:function(t){e.childrenRefs[n.key]=t},animation:t.animation,transitionName:t.transitionName,transitionEnter:t.transitionEnter,transitionAppear:t.transitionAppear,transitionLeave:t.transitionLeave},n)}));var o=t.component;if(o){var a=t;return"string"==typeof o&&(a=g()({className:t.className,style:t.style},t.componentProps)),i.a.createElement(o,a,r)}return r[0]||null}}]),t}(i.a.Component);ie.isAnimate=!0,ie.propTypes={component:a.a.any,componentProps:a.a.object,animation:a.a.object,transitionName:a.a.oneOfType([a.a.string,a.a.object]),transitionEnter:a.a.bool,transitionAppear:a.a.bool,exclusive:a.a.bool,transitionLeave:a.a.bool,onEnd:a.a.func,onEnter:a.a.func,onLeave:a.a.func,onAppear:a.a.func,showProp:a.a.string,children:a.a.node},ie.defaultProps={animation:{},component:"span",componentProps:{},transitionEnter:!0,transitionLeave:!0,transitionAppear:!1,onEnd:re,onEnter:re,onLeave:re,onAppear:re};var oe=function(){var e=this;this.performEnter=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillEnter(e.handleDoneAdding.bind(e,t,"enter")))},this.performAppear=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillAppear(e.handleDoneAdding.bind(e,t,"appear")))},this.handleDoneAdding=function(t,n){var r=e.props;if(delete e.currentlyAnimatingKeys[t],!r.exclusive||r===e.nextProps){var i=L(ne(r));e.isValidChildByKey(i,t)?"appear"===n?J.allowAppearCallback(r)&&(r.onAppear(t),r.onEnd(t,!0)):J.allowEnterCallback(r)&&(r.onEnter(t),r.onEnd(t,!0)):e.performLeave(t)}},this.performLeave=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillLeave(e.handleDoneLeaving.bind(e,t)))},this.handleDoneLeaving=function(t){var n=e.props;if(delete e.currentlyAnimatingKeys[t],!n.exclusive||n===e.nextProps){var r,i,o,a,s=L(ne(n));if(e.isValidChildByKey(s,t))e.performEnter(t);else{var u=function(){J.allowLeaveCallback(n)&&(n.onLeave(t),n.onEnd(t,!1))};r=e.state.children,i=s,o=n.showProp,(a=r.length===i.length)&&r.forEach(function(e,t){var n=i[t];e&&n&&(e&&!n||!e&&n?a=!1:e.key!==n.key?a=!1:o&&e.props[o]!==n.props[o]&&(a=!1))}),a?u():e.setState({children:s},u)}}}},ae=ie,se=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ue(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function le(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var ce=function(e){function t(){var e,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r=le(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.handleItemClick=function(){var e=r.props,t=e.onItemClick,n=e.panelKey;"function"==typeof t&&t(n)},r.handleKeyPress=function(e){"Enter"!==e.key&&13!==e.keyCode&&13!==e.which||r.handleItemClick()},le(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),se(t,[{key:"shouldComponentUpdate",value:function(e){return!c()(this.props,e)}},{key:"render",value:function(){var e,t=this.props,n=t.className,r=t.id,o=t.style,a=t.prefixCls,s=t.header,l=t.headerClass,c=t.children,d=t.isActive,f=t.showArrow,p=t.destroyInactivePanel,m=t.disabled,g=t.accordion,y=t.forceRender,v=t.expandIcon,b=t.extra,_=u()(a+"-header",ue({},l,l)),w=u()((ue(e={},a+"-item",!0),ue(e,a+"-item-active",d),ue(e,a+"-item-disabled",m),e),n),A=i.a.createElement("i",{className:"arrow"});return f&&"function"==typeof v&&(A=v(this.props)),i.a.createElement("div",{className:w,style:o,id:r},i.a.createElement("div",{className:_,onClick:this.handleItemClick,role:g?"tab":"button",tabIndex:m?-1:0,"aria-expanded":""+d,onKeyPress:this.handleKeyPress},f&&A,s,b&&i.a.createElement("div",{className:a+"-extra"},b)),i.a.createElement(ae,{showProp:"isActive",exclusive:!0,component:"",animation:this.props.openAnimation},i.a.createElement(h,{prefixCls:a,isActive:d,destroyInactivePanel:p,forceRender:y,role:g?"tabpanel":null},c)))}}]),t}();ce.propTypes={className:a.a.oneOfType([a.a.string,a.a.object]),id:a.a.string,children:a.a.any,openAnimation:a.a.object,prefixCls:a.a.string,header:a.a.oneOfType([a.a.string,a.a.number,a.a.node]),headerClass:a.a.string,showArrow:a.a.bool,isActive:a.a.bool,onItemClick:a.a.func,style:a.a.object,destroyInactivePanel:a.a.bool,disabled:a.a.bool,accordion:a.a.bool,forceRender:a.a.bool,expandIcon:a.a.func,extra:a.a.node,panelKey:a.a.any},ce.defaultProps={showArrow:!0,isActive:!1,destroyInactivePanel:!1,onItemClick:function(){},headerClass:"",forceRender:!1};var de=ce;function fe(e,t,n,r){var i=void 0;return V(e,n,{start:function(){t?(i=e.offsetHeight,e.style.height=0):e.style.height=e.offsetHeight+"px"},active:function(){e.style.height=(t?i:0)+"px"},end:function(){e.style.height="",r()}})}var pe=function(e){return{enter:function(t,n){return fe(t,!0,e+"-anim",n)},leave:function(t,n){return fe(t,!1,e+"-anim",n)}}},he=n(56),me=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ge(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ye(e){var t=e;return Array.isArray(t)||(t=t?[t]:[]),t}var ve=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));be.call(n);var r=e.activeKey,i=e.defaultActiveKey;return"activeKey"in e&&(i=r),n.state={openAnimation:e.openAnimation||pe(e.prefixCls),activeKey:ye(i)},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,r["Component"]),me(t,[{key:"componentWillReceiveProps",value:function(e){"activeKey"in e&&this.setState({activeKey:ye(e.activeKey)}),"openAnimation"in e&&this.setState({openAnimation:e.openAnimation})}},{key:"shouldComponentUpdate",value:function(e,t){return!c()(this.props,e)||!c()(this.state,t)}},{key:"render",value:function(){var e,t=this.props,n=t.prefixCls,r=t.className,o=t.style,a=t.accordion,s=u()((ge(e={},n,!0),ge(e,r,!!r),e));return i.a.createElement("div",{className:s,style:o,role:a?"tablist":null},this.getItems())}}]),t}(),be=function(){var e=this;this.onClickItem=function(t){var n=e.state.activeKey;if(e.props.accordion)n=n[0]===t?[]:[t];else{var r=(n=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(n))).indexOf(t);r>-1?n.splice(r,1):n.push(t)}e.setActiveKey(n)},this.getNewChild=function(t,n){if(!t)return null;var r=e.state.activeKey,o=e.props,a=o.prefixCls,s=o.accordion,u=o.destroyInactivePanel,l=o.expandIcon,c=t.key||String(n),d=t.props,f=d.header,p=d.headerClass,h=d.disabled,m={key:c,panelKey:c,header:f,headerClass:p,isActive:s?r[0]===c:r.indexOf(c)>-1,prefixCls:a,destroyInactivePanel:u,openAnimation:e.state.openAnimation,accordion:s,children:t.props.children,onItemClick:h?null:e.onClickItem,expandIcon:l};return i.a.cloneElement(t,m)},this.getItems=function(){var t=e.props.children,n=Object(he.isFragment)(t)?t.props.children:t,o=r.Children.map(n,e.getNewChild);return Object(he.isFragment)(t)?i.a.createElement(i.a.Fragment,null,o):o},this.setActiveKey=function(t){"activeKey"in e.props||e.setState({activeKey:t}),e.props.onChange(e.props.accordion?t[0]:t)}};ve.propTypes={children:a.a.any,prefixCls:a.a.string,activeKey:a.a.oneOfType([a.a.string,a.a.arrayOf(a.a.string)]),defaultActiveKey:a.a.oneOfType([a.a.string,a.a.arrayOf(a.a.string)]),openAnimation:a.a.object,onChange:a.a.func,accordion:a.a.bool,className:a.a.string,style:a.a.object,destroyInactivePanel:a.a.bool,expandIcon:a.a.func},ve.defaultProps={prefixCls:"rc-collapse",onChange:function(){},accordion:!1,destroyInactivePanel:!1},ve.Panel=de;var _e=ve;n.d(t,"Panel",function(){return we});t.default=_e;var we=_e.Panel},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r);function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var a=n(146),s=n.n(a);function u(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n(12);n(541);var l=n(273),c=n(87),d=function(e,t){return function(n){return n[e]=t,n}},f=function(e){return d("displayName",e)},p=function(e){return function(t){var n=Object(r.createFactory)(t);return function(t){return n(e(t))}}},h=function(e,t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=t(e[r],r));return n},m=(Object.keys,r.Component,function(e){return function(t){var n=Object(r.createFactory)(t);return function(t){function r(){return t.apply(this,arguments)||this}u(r,t);var i=r.prototype;return i.shouldComponentUpdate=function(t){return e(this.props,t)},i.render=function(){return n(this.props)},r}(r.Component)}}),g=function(e){return m(function(e,t){return!s()(e,t)})(e)};var y,v=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}},function(e){return e})},b={fromESObservable:null,toESObservable:null},_={fromESObservable:function(e){return"function"==typeof b.fromESObservable?b.fromESObservable(e):e},toESObservable:function(e){return"function"==typeof b.toESObservable?b.toESObservable(e):e}},w=(y=_,n(533)),A=n(542),x=n.n(A);function k(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&(n[r[i]]=e[r[i]])}return n}var M,E,L,S,D,T,C=v(f("DebounceInput"),g,(T={wait:250},function(e){var t=Object(r.createFactory)(e),n=function(e){return t(e)};return n.defaultProps=T,n}),(S={debounceFieldValue:"",debouncing:!1},D={setDebounceFieldValue:function(){return function(e){return{debounceFieldValue:e}}},setDebouncing:function(){return function(e){return{debouncing:e}}}},function(e){var t=Object(r.createFactory)(e);return function(e){function n(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).state="function"==typeof S?S(t.props):S,t.stateUpdaters=h(D,function(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];n&&"function"==typeof n.persist&&n.persist(),t.setState(function(t,r){return e(t,r).apply(void 0,[n].concat(i))})}}),t}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.state,this.stateUpdaters))},n}(r.Component)}),(L={componentDidMount:function(){this.props.setDebounceFieldValue(this.props.input.value)},componentWillReceiveProps:function(e){e.debouncing||e.input.value!==this.props.input.value&&this.props.setDebounceFieldValue(e.input.value)}},function(e){var t=Object(r.createFactory)(e),n=function(e){function n(){return e.apply(this,arguments)||this}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.state))},n}(r.Component);return Object.keys(L).forEach(function(e){return n.prototype[e]=L[e]}),n}),(E=function(e){var t=e.wait,n=e.setDebouncing,r=x()(function(e,t){n(!1),e(t)},t);return{onChange:function(e){return function(t){t.persist(),n(!0),r(e.input.onChange,t),e.setDebounceFieldValue(t.target.value)}},onBlur:function(e){return function(t){r.cancel(),n(!1),e.input.onChange(t),e.input.onBlur(t)}},onKeyDown:function(e){return function(t){13===t.keyCode&&(r.cancel(),n(!1),e.input.onChange(t))}}}},function(e){var t=Object(r.createFactory)(e);return function(e){function n(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).handlers=h("function"==typeof E?E(t.props):E,function(e){return function(){return e(t.props).apply(void 0,arguments)}}),t}return u(n,e),n.prototype.render=function(){return t(o({},this.props,this.handlers))},n}(r.Component)}),(M=function(e){var t=e.input,n=e.debounceFieldValue,r=e.onChange,i=e.onBlur,o=e.onKeyDown;return{input:Object.assign({},t,{value:n,onChange:r,onBlur:i,onKeyDown:o})}},p(function(e){return o({},e,"function"==typeof M?M(e):M)})))(function(e){var t=e.ownerComponent,n=(e.wait,e.debounceFieldValue,e.setDebounceFieldValue,e.debouncing,e.setDebouncing,e.onChange,e.onBlur,e.onKeyDown,k(e,["ownerComponent","wait","debounceFieldValue","setDebounceFieldValue","debouncing","setDebouncing","onChange","onBlur","onKeyDown"]));return i.a.createElement(t,Object.assign({},n))}),O=v(f("DebounceField"),g)(function(e){var t=e.component,n=k(e,["component"]);return i.a.createElement(w.a,Object.assign({},n,{component:C,ownerComponent:t}))});t.default=O},function(e,t,n){"use strict";n.r(t);var r=n(484),i=n.n(r),o=n(240),a=n(490),s=n.n(a),u=n(241),l=n.n(u),c=n(491),d=n.n(c),f=n(239),p=n.n(f),h={version:"1.7.25",country_calling_codes:{1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],383:["XK"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],800:["001"],808:["001"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],870:["001"],878:["001"],880:["BD"],881:["001"],882:["001"],883:["001"],886:["TW"],888:["001"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],979:["001"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},countries:{AC:["247","00","(?:[01589]\\d|[46])\\d{4}",[5,6]],AD:["376","00","(?:1|6\\d)\\d{7}|[136-9]\\d{5}",[6,8,9],[["(\\d{3})(\\d{3})","$1 $2",["[136-9]"]],["(\\d{4})(\\d{4})","$1 $2",["1"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]]],AE:["971","00","(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}",[5,6,7,8,9,10,11,12],[["(\\d{3})(\\d{2,9})","$1 $2",["60|8"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[236]|[479][2-8]"],"0$1"],["(\\d{3})(\\d)(\\d{5})","$1 $2 $3",["[479]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"]],"0"],AF:["93","00","[2-7]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],"0"],AG:["1","011","(?:268|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([457]\\d{6})$","268$1",0,"268"],AI:["1","011","(?:264|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2457]\\d{6})$","264$1",0,"264"],AL:["355","00","(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}",[6,7,8,9],[["(\\d{3})(\\d{3,4})","$1 $2",["80|9"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["4[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2358][2-5]|4"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["[23578]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["6"],"0$1"]],"0"],AM:["374","00","(?:[1-489]\\d|55|60|77)\\d{6}",[8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0 $1"],["(\\d{3})(\\d{5})","$1 $2",["2|3[12]"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["1|47"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[3-9]"],"0$1"]],"0"],AO:["244","00","[29]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[29]"]]]],AR:["54","00","11\\d{8}|(?:[2368]|9\\d)\\d{9}",[10,11],[["(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])","2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5(?:[24-6]|3[2-5]))|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["[23]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],["(\\d)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))","9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5(?:[24-6]|3[2-5]))|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 15-$3-$4",["91"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9"],"0$1",0,"$1 $2 $3-$4"]],"0",0,"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1"],AS:["1","011","(?:[58]\\d\\d|684|900)\\d{7}",[10],0,"1",0,"1|([267]\\d{6})$","684$1",0,"684"],AT:["43","00","1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",[4,5,6,7,8,9,10,11,12,13],[["(\\d)(\\d{3,12})","$1 $2",["1(?:11|[2-9])"],"0$1"],["(\\d{3})(\\d{2})","$1 $2",["517"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["5[079]"],"0$1"],["(\\d{3})(\\d{3,10})","$1 $2",["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],"0$1"],["(\\d{4})(\\d{3,9})","$1 $2",["[2-467]|5[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["5"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,7})","$1 $2 $3",["5"],"0$1"]],"0"],AU:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{7,8}|8[0-24-9]\\d{7})|(?:[2-478]\\d\\d|550)\\d{6}|1\\d{4,7}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,4})","$1 $2",["16"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["14|[45]"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:30|[89])"]]],"0",0,"0|(183[12])",0,0,0,[["(?:[237]\\d{5}|8(?:51(?:0(?:0[03-9]|[1247]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-6])|1(?:1[69]|[23]\\d|4[0-4]))|(?:[6-8]\\d{3}|9(?:[02-9]\\d\\d|1(?:[0-57-9]\\d|6[0135-9])))\\d))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,["16\\d{3,7}",[5,6,7,8,9]],["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],AW:["297","00","(?:[25-79]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[25-9]"]]]],AX:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|(?:[147]\\d|3[0-46-9]|50)\\d{4,8}",[5,6,7,8,9,10],0,"0",0,0,0,0,"18",0,"00"],AZ:["994","00","(?:365\\d{3}|900200)\\d{3}|(?:[12457]\\d|60|88)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[12]|365","[12]|365","[12]|365(?:[0-46-9]|5[0-35-9])"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[3-8]"],"0$1"]],"0"],BA:["387","00","6\\d{8}|(?:[35689]\\d|49|70)\\d{6}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-356]|[7-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6"],"0$1"]],"0"],BB:["1","011","(?:246|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","246$1",0,"246"],BD:["880","00","[13469]\\d{9}|8[0-79]\\d{7,8}|[2-7]\\d{8}|[2-9]\\d{7}|[3-689]\\d{6}|[57-9]\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{4,6})","$1-$2",["31[5-7]|[459]1"],"0$1"],["(\\d{3})(\\d{3,7})","$1-$2",["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:28|4[14]|5)|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],"0$1"],["(\\d{4})(\\d{3,6})","$1-$2",["[13-9]"],"0$1"],["(\\d)(\\d{7,8})","$1-$2",["2"],"0$1"]],"0"],BE:["32","00","4\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[239]|4[23]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[15-8]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4"],"0$1"]],"0"],BF:["226","00","[025-7]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[025-7]"]]]],BG:["359","00","[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",[6,7,8,9],[["(\\d)(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["43[1-6]|70[1-9]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:70|8)0"],"0$1"],["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[1-7]|7"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[48]|9[08]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"]],"0"],BH:["973","00","[136-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[13679]|8[047]"]]]],BI:["257","00","(?:[267]\\d|31)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2367]"]]]],BJ:["229","00","[2689]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2689]"]]]],BL:["590","00","(?:590|69\\d)\\d{6}",[9],0,"0",0,0,0,0,0,[["590(?:2[7-9]|5[12]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],BM:["1","011","(?:441|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-8]\\d{6})$","441$1",0,"441"],BN:["673","00","[2-578]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-578]"]]]],BO:["591","00(?:1\\d)?","(?:[2-467]\\d{3}|80017)\\d{4}",[8,9],[["(\\d)(\\d{7})","$1 $2",["[23]|4[46]"]],["(\\d{8})","$1",["[67]"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["8"]]],"0",0,"0(1\\d)?"],BQ:["599","00","(?:[34]1|7\\d)\\d{5}",[7],0,0,0,0,0,0,"[347]"],BR:["55","00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)","(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-24679]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}",[8,9,10,11],[["(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37)","4(?:02|37)0|[34]00"]],["(\\d{3})(\\d{2,3})(\\d{4})","$1 $2 $3",["(?:[358]|90)0"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],"($1)"],["(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[16][1-9]|[2-57-9]"],"($1)"]],"0",0,"0(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?","$2"],BS:["1","011","(?:242|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([3-8]\\d{6})$","242$1",0,"242"],BT:["975","00","[17]\\d{7}|[2-8]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[2-68]|7[246]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[67]|7"]]]],BW:["267","00","90\\d{5}|(?:[2-6]|7\\d)\\d{6}",[7,8],[["(\\d{2})(\\d{5})","$1 $2",["90"]],["(\\d{3})(\\d{4})","$1 $2",["[2-6]"]],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["7"]]]],BY:["375","810","(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3})","$1 $2",["800"],"8 $1"],["(\\d{3})(\\d{2})(\\d{2,4})","$1 $2 $3",["800"],"8 $1"],["(\\d{4})(\\d{2})(\\d{3})","$1 $2-$3",["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])","1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],"8 0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["1(?:[56]|7[467])|2[1-3]"],"8 0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-4]"],"8 0$1"],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["[89]"],"8 $1"]],"8",0,"0|80?",0,0,0,0,"8~10"],BZ:["501","00","(?:0800\\d|[2-8])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1-$2",["[2-8]"]],["(\\d)(\\d{3})(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]]]],CA:["1","011","(?:[2-8]\\d|90)\\d{8}",[10],0,"1",0,0,0,0,0,[["(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["(?:5(?:00|2[12]|33|44|66|77|88)|622)[2-9]\\d{6}"],0,0,0,["600[2-9]\\d{6}"]]],CC:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d|8[0-24-9])\\d{7}|(?:[148]\\d\\d|550)\\d{6}|1\\d{5,7}",[6,7,8,9,10],0,"0",0,"0|([59]\\d{7})$","8$1",0,0,[["8(?:51(?:0(?:02|31|60)|118)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],CD:["243","00","[189]\\d{8}|[1-68]\\d{6}",[7,9],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[1-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"],"0$1"]],"0"],CF:["236","00","(?:[27]\\d{3}|8776)\\d{4}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[278]"]]]],CG:["242","00","222\\d{6}|(?:0\\d|80)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["801"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]]]],CH:["41","00","8\\d{11}|[2-9]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]|81"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["8"],"0$1"]],"0"],CI:["225","00","[02-8]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[02-8]"]]]],CK:["682","00","[2-8]\\d{4}",[5],[["(\\d{2})(\\d{3})","$1 $2",["[2-8]"]]]],CL:["56","(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0","12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}",[9,10,11],[["(\\d{5})(\\d{4})","$1 $2",["21"],"($1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["44"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[23]"],"($1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["9[2-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"],"($1)"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{3})(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"]]]],CM:["237","00","(?:[26]\\d\\d|88)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["88"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]"]]]],CN:["86","00|1(?:[12]\\d|79|9[0235-7])\\d\\d00","1[1279]\\d{8,9}|2\\d{9}(?:\\d{2})?|[12]\\d{6,7}|86\\d{6}|(?:1[03-68]\\d|6)\\d{7,9}|(?:[3-579]\\d|8[0-57-9])\\d{6,9}",[7,8,9,10,11,12],[["(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2[0-57-9])[19]","(?:10|2[0-57-9])(?:10|9[56])","(?:10|2[0-57-9])(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{5,6})","$1 $2",["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]","(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]","85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])","85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["(?:4|80)0"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|2(?:[02-57-9]|1[1-9])","10|2(?:[02-57-9]|1[1-9])","10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"],"0$1",1],["(\\d{3})(\\d{7,8})","$1 $2",["9"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[3-578]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-9]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["[12]"],"0$1",1]],"0",0,"0|(1(?:[12]\\d|79|9[0235-7])\\d\\d)",0,0,0,0,"00"],CO:["57","00(?:4(?:[14]4|56)|[579])","(?:1\\d|3)\\d{9}|[124-8]\\d{7}",[8,10,11],[["(\\d)(\\d{7})","$1 $2",["1[2-79]|[25-8]|(?:18|4)[2-9]"],"($1)"],["(\\d{3})(\\d{7})","$1 $2",["3"]],["(\\d)(\\d{3})(\\d{7})","$1-$2-$3",["1(?:80|9)","1(?:800|9)"],"0$1",0,"$1 $2 $3"]],"0",0,"0([3579]|4(?:[14]4|56))?"],CR:["506","00","(?:8\\d|90)\\d{8}|[24-8]\\d{7}",[8,10],[["(\\d{4})(\\d{4})","$1 $2",["[24-7]|8[3-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]"]]],0,0,"(19(?:0[0-2468]|1[09]|20|66|77|99))"],CU:["53","119","[27]\\d{6,7}|[34]\\d{5,7}|5\\d{7}",[6,7,8],[["(\\d{2})(\\d{4,6})","$1 $2",["2[1-4]|[34]"],"(0$1)"],["(\\d)(\\d{6,7})","$1 $2",["7"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["5"],"0$1"]],"0"],CV:["238","0","[2-59]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2-59]"]]]],CW:["599","00","(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[3467]"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["9[4-8]"]]],0,0,0,0,0,"[69]"],CX:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d|8[0-24-9])\\d{7}|(?:[148]\\d\\d|550)\\d{6}|1\\d{5,7}",[6,7,8,9,10],0,"0",0,"0|([59]\\d{7})$","8$1",0,0,[["8(?:51(?:0(?:01|30|59)|117)|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",[9]],["483[0-3]\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["(?:14(?:5(?:1[0458]|[23][458])|71\\d)|550\\d\\d)\\d{4}",[9]],["13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}",[6,8,10]]],"0011"],CY:["357","00","(?:[279]\\d|[58]0)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[257-9]"]]]],CZ:["420","00","(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]|9[015-7]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]]],DE:["49","00","[2579]\\d{5,14}|49(?:[05]\\d{10}|[46][1-8]\\d{4,9})|49(?:[0-25]\\d|3[1-689]|7[1-7])\\d{4,8}|49(?:[0-2579]\\d|[34][1-9]|6[0-8])\\d{3}|49\\d{3,4}|(?:1|[368]\\d|4[0-8])\\d{3,13}",[4,5,6,7,8,9,10,11,12,13,14,15],[["(\\d{2})(\\d{3,13})","$1 $2",["3[02]|40|[68]9"],"0$1"],["(\\d{3})(\\d{3,12})","$1 $2",["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1","2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"],"0$1"],["(\\d{4})(\\d{2,11})","$1 $2",["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]","[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["138"],"0$1"],["(\\d{5})(\\d{2,10})","$1 $2",["3"],"0$1"],["(\\d{3})(\\d{5,11})","$1 $2",["181"],"0$1"],["(\\d{3})(\\d)(\\d{4,10})","$1 $2 $3",["1(?:3|80)|9"],"0$1"],["(\\d{3})(\\d{7,8})","$1 $2",["1[67]"],"0$1"],["(\\d{3})(\\d{7,12})","$1 $2",["8"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["185","1850","18500"],"0$1"],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["18[68]"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["15[0568]"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["15[1279]"],"0$1"],["(\\d{3})(\\d{8})","$1 $2",["18"],"0$1"],["(\\d{3})(\\d{2})(\\d{7,8})","$1 $2 $3",["1(?:6[023]|7)"],"0$1"],["(\\d{4})(\\d{2})(\\d{7})","$1 $2 $3",["15[279]"],"0$1"],["(\\d{3})(\\d{2})(\\d{8})","$1 $2 $3",["15"],"0$1"]],"0"],DJ:["253","00","(?:2\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[27]"]]]],DK:["45","00","[2-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-9]"]]]],DM:["1","011","(?:[58]\\d\\d|767|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","767$1",0,"767"],DO:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,0,0,0,"8[024]9"],DZ:["213","00","(?:[1-4]|[5-79]\\d|80)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-8]"],"0$1"]],"0"],EC:["593","00","1800\\d{6,7}|(?:[2-7]|9\\d)\\d{7}",[8,9,10,11],[["(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[2-7]"],"(0$1)",0,"$1-$2-$3"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]]],"0"],EE:["372","00","8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d\\d|900)\\d{4}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]"]],["(\\d{4})(\\d{3,4})","$1 $2",["[45]|8(?:00|[1-4])","[45]|8(?:00[1-9]|[1-4])"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["80"]]]],EG:["20","00","[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",[8,9,10],[["(\\d)(\\d{7,8})","$1 $2",["[23]"],"0$1"],["(\\d{2})(\\d{6,7})","$1 $2",["1[35]|[4-6]|8[2468]|9[235-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[189]"],"0$1"]],"0"],EH:["212","00","[5-8]\\d{8}",[9],0,"0",0,0,0,0,"528[89]"],ER:["291","00","[178]\\d{6}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[178]"],"0$1"]],"0"],ES:["34","00","(?:51|[6-9]\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-9]"]]]],ET:["251","00","(?:11|[2-59]\\d)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-59]"],"0$1"]],"0"],FI:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}|[1-35689]\\d{4}",[5,6,7,8,9,10],[["(\\d)(\\d{4,9})","$1 $2",["[2568][1-8]|3(?:0[1-9]|[1-9])|9"],"0$1"],["(\\d{3})(\\d{3,7})","$1 $2",["(?:[12]0|7)0|[368]"],"0$1"],["(\\d{2})(\\d{4,8})","$1 $2",["[12457]"],"0$1"]],"0",0,0,0,0,"1[03-79]|[2-9]",0,"00"],FJ:["679","0(?:0|52)","45\\d{5}|(?:0800\\d|[235-9])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1 $2",["[235-9]|45"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]]],0,0,0,0,0,0,0,"00"],FK:["500","00","[2-7]\\d{4}",[5]],FM:["691","00","[39]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[39]"]]]],FO:["298","00","(?:[2-8]\\d|90)\\d{4}",[6],[["(\\d{6})","$1",["[2-9]"]]],0,0,"(10(?:01|[12]0|88))"],FR:["33","00","[1-9]\\d{8}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"]],"0"],GA:["241","00","(?:0\\d|[2-7])\\d{6}",[7,8],[["(\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]]]],GB:["44","00","[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",[7,9,10],[["(\\d{3})(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["845","8454","84546","845464"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["800"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:(?:38|69)7|5(?:24|39)|768|946)","1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["1(?:[2-69][02-9]|[78])"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[25]|7(?:0|6[024-9])","[25]|7(?:0|6(?:[04-9]|2[356]))"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[1389]"],"0$1"]],"0",0,0,0,0,0,[["(?:1(?:(?:1(?:3[0-58]|4[0-5]|5[0-26-9]|6[0-4]|[78][0-49])|3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d\\d|2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d\\d|1(?:[0-7]\\d\\d|80[04589])))|2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d|7(?:(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))\\d|6888[2-46-8]))\\d\\d",[9,10]],["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",[10]],["56\\d{8}",[10]]],0," x"],GD:["1","011","(?:473|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","473$1",0,"473"],GE:["995","00","(?:[3-57]\\d\\d|800)\\d{6}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["32"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[57]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[348]"],"0$1"]],"0"],GF:["594","00","[56]94\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0"],GG:["44","00","(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",[7,9,10],0,"0",0,"0|([25-9]\\d{5})$","1481$1",0,0,[["1481[25-9]\\d{5}",[10]],["7(?:(?:781|839)\\d|911[17])\\d{5}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",[10]],["56\\d{8}",[10]]]],GH:["233","00","(?:[235]\\d{3}|800)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"]],"0"],GI:["350","00","(?:[25]\\d\\d|629)\\d{5}",[8],[["(\\d{3})(\\d{5})","$1 $2",["2"]]]],GL:["299","00","(?:19|[2-689]\\d)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["19|[2-689]"]]]],GM:["220","00","[2-9]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],GN:["224","00","(?:30|6\\d\\d|722)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[67]"]]]],GP:["590","00","(?:590|69\\d)\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0",0,0,0,0,0,[["590(?:0[1-68]|1[0-2]|2[0-68]|3[1289]|4[0-24-9]|5[3-579]|6[0189]|7[08]|8[0-689]|9\\d)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],GQ:["240","00","222\\d{6}|(?:3\\d|55|[89]0)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"]],["(\\d{3})(\\d{6})","$1 $2",["[89]"]]]],GR:["30","00","(?:[268]\\d|[79]0)\\d{8}",[10],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["21|7"]],["(\\d{4})(\\d{6})","$1 $2",["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2689]"]]]],GT:["502","00","(?:1\\d{3}|[2-7])\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1 $2",["[2-7]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],GU:["1","011","(?:[58]\\d\\d|671|900)\\d{7}",[10],0,"1",0,"1|([3-9]\\d{6})$","671$1",0,"671"],GW:["245","00","[49]\\d{8}|4\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["40"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"]]]],GY:["592","001","(?:862\\d|9008)\\d{3}|(?:[2-46]\\d|77)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-46-9]"]]]],HK:["852","00(?:30|5[09]|[126-9]?)","8[0-46-9]\\d{6,7}|9\\d{4}(?:\\d(?:\\d(?:\\d{4})?)?)?|(?:[235-79]\\d|46)\\d{6}",[5,6,7,8,9,11],[["(\\d{3})(\\d{2,5})","$1 $2",["900","9003"]],["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{3})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]],0,0,0,0,0,0,0,"00"],HN:["504","00","[237-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1-$2",["[237-9]"]]]],HR:["385","00","(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}",[6,7,8,9],[["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["6[01]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{4})(\\d{3})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-5]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],"0"],HT:["509","00","[2-489]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[2-489]"]]]],HU:["36","00","[2357]\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-57-9]"],"06 $1"]],"06"],ID:["62","00[189]","(?:(?:007803|8\\d{4})\\d|[1-36])\\d{6}|[1-9]\\d{8,10}|[2-9]\\d{7}",[7,8,9,10,11,12,13],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["15"]],["(\\d{2})(\\d{5,9})","$1 $2",["2[124]|[36]1"],"(0$1)"],["(\\d{3})(\\d{5,7})","$1 $2",["800"],"0$1"],["(\\d{3})(\\d{5,8})","$1 $2",["[2-79]"],"(0$1)"],["(\\d{3})(\\d{3,4})(\\d{3})","$1-$2-$3",["8[1-35-9]"],"0$1"],["(\\d{3})(\\d{6,8})","$1 $2",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],["(\\d{3})(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1-$2-$3",["8"],"0$1"]],"0"],IE:["353","00","(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["2[24-9]|47|58|6[237-9]|9[35-9]"],"(0$1)"],["(\\d{3})(\\d{5})","$1 $2",["[45]0"],"(0$1)"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["1"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2569]|4[1-69]|7[14]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["81"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[78]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]],["(\\d{2})(\\d)(\\d{3})(\\d{4})","$1 $2 $3 $4",["8"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["4"],"(0$1)"]],"0"],IL:["972","0(?:0|1[2-9])","1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}",[7,8,9,10,11,12],[["(\\d{4})(\\d{3})","$1-$2",["125"]],["(\\d{4})(\\d{2})(\\d{2})","$1-$2-$3",["121"]],["(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-489]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1-$2-$3",["12"]],["(\\d{4})(\\d{6})","$1-$2",["159"]],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3-$4",["1[7-9]"]],["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})","$1-$2 $3-$4",["15"]]],"0"],IM:["44","00","1624\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"0|([5-8]\\d{5})$","1624$1",0,"74576|(?:16|7[56])24"],IN:["91","00","(?:00800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}",[8,9,10,11,12,13],[["(\\d{8})","$1",["5(?:0|2[23]|3[03]|[67]1|88)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"],0,1],["(\\d{4})(\\d{4,5})","$1 $2",["180","1800"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["140"],0,1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79[1-7]|80[2-46]","11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])","11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|(?:55|61)2|7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:1(?:29|60|8[06])|261|552|788[01])[2-7]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])"],"0$1",1],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|[4-8])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807","1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]","1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|3179)|807(?:1|9[1-3])|(?:1552|7(?:28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],"0$1",1],["(\\d{5})(\\d{5})","$1 $2",["[6-9]"],"0$1",1],["(\\d{4})(\\d{2,4})(\\d{4})","$1 $2 $3",["1(?:6|8[06])","1(?:6|8[06]0)"],0,1],["(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18"],0,1]],"0"],IO:["246","00","3\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["3"]]]],IQ:["964","00","(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],IR:["98","00","[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}",[4,5,6,7,10],[["(\\d{4,5})","$1",["96"],"0$1"],["(\\d{2})(\\d{4,5})","$1 $2",["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[1-8]"],"0$1"]],"0"],IS:["354","00|1(?:0(?:01|[12]0)|100)","(?:38\\d|[4-9])\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["[4-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["3"]]],0,0,0,0,0,0,0,"00"],IT:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],[["(\\d{2})(\\d{4,6})","$1 $2",["0[26]"]],["(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[245])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[45][0-4]))"]],["(\\d{4})(\\d{2,6})","$1 $2",["0(?:[13-579][2-46-8]|8[236-8])"]],["(\\d{4})(\\d{4})","$1 $2",["894"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|5"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1[4679]|[38]"]],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]"]],["(\\d{2})(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["3"]]],0,0,0,0,0,0,[["0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"],["3[1-9]\\d{8}|3[2-9]\\d{7}",[9,10]],["80(?:0\\d{3}|3)\\d{3}",[6,9]],["(?:0878\\d\\d|89(?:2|4[5-9]\\d))\\d{3}|89[45][0-4]\\d\\d|(?:1(?:44|6[346])|89(?:5[5-9]|9))\\d{6}",[6,8,9,10]],["1(?:78\\d|99)\\d{6}",[9,10]],0,0,0,["55\\d{8}",[10]],["84(?:[08]\\d{3}|[17])\\d{3}",[6,9]]]],JE:["44","00","1534\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"0|([0-24-8]\\d{5})$","1534$1",0,0,[["1534[0-24-8]\\d{5}"],["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97[7-9]))\\d{5}"],["80(?:07(?:35|81)|8901)\\d{4}"],["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"],["701511\\d{4}"],0,["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"],["76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}"],["56\\d{8}"]]],JM:["1","011","(?:[58]\\d\\d|658|900)\\d{7}",[10],0,"1",0,0,0,0,"658|876"],JO:["962","00","900\\d{5}|(?:(?:[268]|7\\d)\\d|32|53)\\d{6}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]|87"],"(0$1)"],["(\\d{3})(\\d{5,6})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["70"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],JP:["81","010","00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",[8,9,10,11,12,13,14,15,16,17],[["(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],["(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[78]|96)|477|51[24]|636)|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[78]|96[2457-9])|477|51[24]|636[2-57-9])|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])","[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[279]|49|6[0-24-689]|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|5(?:2|3[045]|4[0-369]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|49|6(?:[0-24]|5[0-3589]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:49|55|83)[29]|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:47[59]|59[89]|8(?:6[68]|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:48|829(?:2|66)|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],"0$1"],["(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3[3-8]|5[2-9])","[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3(?:[3-6][2-9]|7|8[2-5])|5[2-9])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[2579]|80"],"0$1"]],"0"],KE:["254","000","(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}",[7,8,9,10],[["(\\d{2})(\\d{5,7})","$1 $2",["[24-6]"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[17]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0"],KG:["996","00","8\\d{9}|(?:[235-8]\\d|99)\\d{7}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["3(?:1[346]|[24-79])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-79]|88"],"0$1"],["(\\d{3})(\\d{3})(\\d)(\\d{2,3})","$1 $2 $3 $4",["8"],"0$1"]],"0"],KH:["855","00[14-9]","1\\d{9}|[1-9]\\d{7,8}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],KI:["686","00","(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",[5,8],0,"0"],KM:["269","00","[3478]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[3478]"]]]],KN:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","869$1",0,"869"],KP:["850","00|99","85\\d{6}|(?:19\\d|2)\\d{7}",[8,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"]],"0"],KR:["82","00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))","00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}",[5,6,8,9,10,11,12,13,14],[["(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1"],["(\\d{4})(\\d{4})","$1-$2",["1"]],["(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60|8"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["[1346]|5[1-5]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{2})(\\d{5})(\\d{4})","$1-$2-$3",["5"],"0$1"]],"0",0,"0(8(?:[1-46-8]|5\\d\\d))?"],KW:["965","00","(?:18|[2569]\\d\\d)\\d{5}",[7,8],[["(\\d{4})(\\d{3,4})","$1 $2",["[169]|2(?:[235]|4[1-35-9])|52"]],["(\\d{3})(\\d{5})","$1 $2",["[25]"]]]],KY:["1","011","(?:345|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","345$1",0,"345"],KZ:["7","810","33622\\d{5}|(?:7\\d|80)\\d{8}",[10],0,"8",0,0,0,0,"33|7",0,"8~10"],LA:["856","00","(?:2\\d|3)\\d{8}|(?:[235-8]\\d|41)\\d{6}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|3[14]|[4-8]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["3"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2"],"0$1"]],"0"],LB:["961","00","[7-9]\\d{7}|[13-9]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"]]],"0"],LC:["1","011","(?:[58]\\d\\d|758|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","758$1",0,"758"],LI:["423","00","90\\d{5}|(?:[2378]|6\\d\\d)\\d{6}",[7,9],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[237-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["69"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]],"0",0,"0|(10(?:01|20|66))"],LK:["94","00","(?:[1-7]\\d|[89]1)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[1-689]"],"0$1"]],"0"],LR:["231","00","(?:2|33|5\\d|77|88)\\d{7}|[45]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[45]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3578]"],"0$1"]],"0"],LS:["266","00","(?:[256]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2568]"]]]],LT:["370","00","(?:[3469]\\d|52|[78]0)\\d{6}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["52[0-79]"],"(8-$1)",1],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[7-9]"],"8 $1",1],["(\\d{2})(\\d{6})","$1 $2",["37|4(?:[15]|6[1-8])"],"(8-$1)",1],["(\\d{3})(\\d{5})","$1 $2",["[3-6]"],"(8-$1)",1]],"8",0,"[08]"],LU:["352","00","35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}",[4,5,6,7,8,9,10,11],[["(\\d{2})(\\d{3})","$1 $2",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20[2-689]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"]],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["80[01]|90[015]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})","$1 $2 $3 $4",["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]]],0,0,"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"],LV:["371","00","(?:[268]\\d|90)\\d{6}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[269]|8[01]"]]]],LY:["218","00","(?:[2569]\\d|71)\\d{7}",[9],[["(\\d{2})(\\d{7})","$1-$2",["[25-79]"],"0$1"]],"0"],MA:["212","00","[5-8]\\d{8}",[9],[["(\\d{5})(\\d{4})","$1-$2",["5(?:29|38)","5(?:29|38)[89]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5[45]"],"0$1"],["(\\d{4})(\\d{5})","$1-$2",["5(?:2[2-489]|3[5-9]|9)|892"],"0$1"],["(\\d{2})(\\d{7})","$1-$2",["8"],"0$1"],["(\\d{3})(\\d{6})","$1-$2",["[5-7]"],"0$1"]],"0",0,0,0,0,0,[["5(?:29|38)[89]0\\d{4}|5(?:2(?:[015-7]\\d|2[2-9]|3[2-57]|4[2-46-8]|8[235-7]|90)|3(?:[0-4]\\d|[57][2-9]|6[2-8]|80|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}"],["692[12]\\d{5}|(?:6(?:[0-7]\\d|8[0-247-9]|9[013-9])|7(?:0[06-8]|6[1267]|7[0-27]))\\d{6}"],["80\\d{7}"],["89\\d{7}"],0,0,0,0,["5924[0-2]\\d{4}"]]],MC:["377","00","870\\d{5}|(?:[349]|6\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[39]"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"],"0$1"]],"0"],MD:["373","00","(?:[235-7]\\d|[89]0)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["22|3"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[25-7]"],"0$1"]],"0"],ME:["382","00","(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"0$1"]],"0"],MF:["590","00","(?:590|69\\d)\\d{6}",[9],0,"0",0,0,0,0,0,[["590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}"]]],MG:["261","00","[23]\\d{8}",[9],[["(\\d{2})(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",["[23]"],"0$1"]],"0",0,"0|([24-9]\\d{6})$","20$1"],MH:["692","011","329\\d{4}|(?:[256]\\d|45)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1-$2",["[2-6]"]]],"1"],MK:["389","00","[2-578]\\d{7}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[347]"],"0$1"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"],"0$1"]],"0"],ML:["223","00","(?:[246-9]\\d|50)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]]]],MM:["95","00","1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}",[6,7,8,9,10],[["(\\d)(\\d{2})(\\d{3})","$1 $2 $3",["16|2"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[4-7]|8[1-35]"],"0$1"],["(\\d)(\\d{3})(\\d{4,6})","$1 $2 $3",["9(?:2[0-4]|[35-9]|4[137-9])"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["92"],"0$1"],["(\\d)(\\d{5})(\\d{4})","$1 $2 $3",["9"],"0$1"]],"0"],MN:["976","001","[12]\\d{7,9}|[57-9]\\d{7}",[8,9,10],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[57-9]"]],["(\\d{3})(\\d{5,6})","$1 $2",["[12]2[1-3]"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["[12](?:27|3[2-8]|4[2-68]|5[1-4689])","[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["[12]"],"0$1"]],"0"],MO:["853","00","(?:28|[68]\\d)\\d{6}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[268]"]]]],MP:["1","011","[58]\\d{9}|(?:67|90)0\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","670$1",0,"670"],MQ:["596","00","(?:596|69\\d)\\d{6}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]"],"0$1"]],"0"],MR:["222","00","(?:[2-4]\\d\\d|800)\\d{5}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]]]],MS:["1","011","66449\\d{5}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|(4\\d{6})$","664$1",0,"664"],MT:["356","00","3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2357-9]"]]]],MU:["230","0(?:0|[24-7]0|3[03])","(?:[2-468]|5\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-46]|8[013]"]],["(\\d{4})(\\d{4})","$1 $2",["5"]]],0,0,0,0,0,0,0,"020"],MV:["960","0(?:0|19)","(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}",[7,10],[["(\\d{3})(\\d{4})","$1-$2",["[3467]|9[13-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"]]],0,0,0,0,0,0,0,"00"],MW:["265","00","1\\d{6}(?:\\d{2})?|(?:[23]1|77|88|99)\\d{7}",[7,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[17-9]"],"0$1"]],"0"],MX:["52","0[09]","(?:1(?:[01467]\\d|[2359][1-9]|8[1-79])|[2-9]\\d)\\d{8}",[10,11],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|5[56]|81"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2-9]"],0,1],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 $3 $4",["1(?:33|5[56]|81)"],0,1],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 $3 $4",["1"],0,1]],"01",0,"0(?:[12]|4[45])|1",0,0,0,0,"00"],MY:["60","00","1\\d{8,9}|(?:3\\d|[4-9])\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["[4-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1-$2 $3",["1(?:[0249]|[367][2-9]|8[1-9])|8"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2 $3",["3"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3-$4",["1[36-8]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2 $3",["15"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2 $3",["1"],"0$1"]],"0"],MZ:["258","00","(?:2|8\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2|8[2-7]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]]],NA:["264","00","[68]\\d{7,8}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["87"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0"],NC:["687","00","[2-57-9]\\d{5}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[2-57-9]"]]]],NE:["227","00","[0289]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["08"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[089]|2[01]"]]]],NF:["672","00","[13]\\d{5}",[6],[["(\\d{2})(\\d{4})","$1 $2",["1"]],["(\\d)(\\d{5})","$1 $2",["3"]]],0,0,"([0-258]\\d{4})$","3$1"],NG:["234","009","(?:[124-7]|9\\d{3})\\d{6}|[1-9]\\d{7}|[78]\\d{9,13}",[7,8,10,11,12,13,14],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["78"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]|9(?:0[3-9]|[1-9])"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[3-7]|8[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[7-9]"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]"],"0$1"],["(\\d{3})(\\d{5})(\\d{5,6})","$1 $2 $3",["[78]"],"0$1"]],"0"],NI:["505","00","(?:1800|[25-8]\\d{3})\\d{4}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[125-8]"]]]],NL:["31","00","(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|[89]\\d{6,9}|1\\d{4,5}",[5,6,7,8,9,10],[["(\\d{3})(\\d{4,7})","$1 $2",["[89]0"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["66"],"0$1"],["(\\d)(\\d{8})","$1 $2",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-57-9]"],"0$1"]],"0"],NO:["47","00","(?:0|[2-9]\\d{3})\\d{4}",[5,8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[489]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-7]"]]],0,0,0,0,0,"[02-689]|7[0-8]"],NP:["977","00","9\\d{9}|[1-9]\\d{7}",[8,10],[["(\\d)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],["(\\d{2})(\\d{6})","$1-$2",["[1-8]|9(?:[1-579]|6[2-6])"],"0$1"],["(\\d{3})(\\d{7})","$1-$2",["9"]]],"0"],NR:["674","00","(?:444|55\\d|888)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[458]"]]]],NU:["683","00","(?:[47]|888\\d)\\d{3}",[4,7],[["(\\d{3})(\\d{4})","$1 $2",["8"]]]],NZ:["64","0(?:0|161)","[28]\\d{7,9}|[346]\\d{7}|(?:508|[79]\\d)\\d{6,7}",[8,9,10],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["24|[346]|7[2-57-9]|9[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:10|74)|[59]|80"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["2[028]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,5})","$1 $2 $3",["2(?:[169]|7[0-35-9])|7|86"],"0$1"]],"0",0,0,0,0,0,0,"00"],OM:["968","00","(?:[279]\\d{3}|500)\\d{4}|8007\\d{4,5}",[7,8,9],[["(\\d{3})(\\d{4,6})","$1 $2",["[58]"]],["(\\d{2})(\\d{6})","$1 $2",["2"]],["(\\d{4})(\\d{4})","$1 $2",["[79]"]]]],PA:["507","00","(?:[1-57-9]|6\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"]],["(\\d{4})(\\d{4})","$1-$2",["6"]]]],PE:["51","19(?:1[124]|77|90)00","(?:[14-8]|9\\d)\\d{7}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["80"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["1"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[4-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"]]],"0",0,0,0,0,0,0,0," Anexo "],PF:["689","00","[48]\\d{7}|4\\d{5}",[6,8],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["44"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[48]"]]]],PG:["675","00|140[1-3]","(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["18|[2-69]|85"]],["(\\d{4})(\\d{4})","$1 $2",["[78]"]]],0,0,0,0,0,0,0,"00"],PH:["63","00","(?:1800|8)\\d{7,9}|2\\d{5}(?:\\d{2})?|(?:[3-7]|9\\d)\\d{8}",[6,8,9,10,11,12,13],[["(\\d)(\\d{5})","$1 $2",["2"],"(0$1)"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"(0$1)"],["(\\d{4})(\\d{4,6})","$1 $2",["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2","3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],"(0$1)"],["(\\d{5})(\\d{4})","$1 $2",["346|4(?:27|9[35])|883","3469|4(?:279|9(?:30|56))|8834"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|8[2-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]]],"0"],PK:["92","00","122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[025-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["[89]0"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["1"]],["(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],"(0$1)"],["(\\d{3})(\\d{6,7})","$1 $2",["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])","9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],"(0$1)"],["(\\d{5})(\\d{5})","$1 $2",["58"],"(0$1)"],["(\\d{3})(\\d{7})","$1 $2",["3"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[24-9]"],"(0$1)"]],"0"],PL:["48","00","[1-57-9]\\d{6}(?:\\d{2})?|6\\d{5,8}",[6,7,8,9],[["(\\d{5})","$1",["19"]],["(\\d{3})(\\d{3})","$1 $2",["11|64"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1","(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["64"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["39|45|5[0137]|6[0469]|7[02389]|8[08]"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[2-8]|[2-8]|9[145]"]]]],PM:["508","00","[45]\\d{5}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[45]"],"0$1"]],"0"],PR:["1","011","(?:[589]\\d\\d|787)\\d{7}",[10],0,"1",0,0,0,0,"787|939"],PS:["970","00","[2489]2\\d{6}|(?:1\\d|5)\\d{8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2489]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["5"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],PT:["351","00","(?:[26-9]\\d|30)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["2[12]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[236-9]"]]]],PW:["680","01[12]","(?:[25-8]\\d\\d|345|488|900)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],PY:["595","00","59\\d{4,6}|(?:[2-46-9]\\d|5[0-8])\\d{4,7}",[6,7,8,9],[["(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{3})(\\d{4,5})","$1 $2",["2[279]|3[13-5]|4[359]|5|6[347]|7[46-8]|85"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["87"]],["(\\d{3})(\\d{6})","$1 $2",["9"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]"],"0$1"]],"0"],QA:["974","00","800\\d{4}|(?:2|[3-7]\\d)\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["2[126]|8"]],["(\\d{4})(\\d{4})","$1 $2",["[3-7]"]]]],RE:["262","00","(?:26|[68]\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[268]"],"0$1"]],"0",0,0,0,0,"262|69|8"],RO:["40","00","(?:[237]\\d|[89]0)\\d{7}|[23]\\d{5}",[6,9],[["(\\d{3})(\\d{3})","$1 $2",["2[3-6]","2[3-6]\\d9"],"0$1"],["(\\d{2})(\\d{4})","$1 $2",["219|31"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23]1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[237-9]"],"0$1"]],"0",0,0,0,0,0,0,0," int "],RS:["381","00","38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}",[6,7,8,9,10,11,12],[["(\\d{3})(\\d{3,9})","$1 $2",["(?:2[389]|39)0|[7-9]"],"0$1"],["(\\d{2})(\\d{5,10})","$1 $2",["[1-36]"],"0$1"]],"0"],RU:["7","810","[347-9]\\d{9}",[10],[["(\\d{4})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-8]|2[1-9])","7(?:1(?:[0-6]2|7|8[27])|2(?:1[23]|[2-9]2))","7(?:1(?:[0-6]2|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"],"8 ($1)",1],["(\\d{5})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-68]|2[1-9])","7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))","7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[3489]"],"8 ($1)",1]],"8",0,0,0,0,"3[04-689]|[489]",0,"8~10"],RW:["250","00","(?:06|[27]\\d\\d|[89]00)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"],"0$1"]],"0"],SA:["966","00","92\\d{7}|(?:[15]|8\\d)\\d{8}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["9"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["81"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]],"0"],SB:["677","0[01]","(?:[1-6]|[7-9]\\d\\d)\\d{4}",[5,7],[["(\\d{2})(\\d{5})","$1 $2",["7|8[4-9]|9(?:[1-8]|9[0-8])"]]]],SC:["248","010|0[0-2]","8000\\d{3}|(?:[249]\\d|64)\\d{5}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[246]"]]],0,0,0,0,0,0,0,"00"],SD:["249","00","[19]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[19]"],"0$1"]],"0"],SE:["46","00","(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{2,3})(\\d{2})","$1-$2 $3",["20"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{4})","$1-$2",["9(?:00|39|44)"],"0$1",0,"$1 $2"],["(\\d{2})(\\d{3})(\\d{2})","$1-$2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3"],["(\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{2,3})(\\d{3})","$1-$2 $3",["9(?:00|39|44)"],"0$1",0,"$1 $2 $3"],["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3 $4"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["7"],"0$1",0,"$1 $2 $3 $4"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4 $5",["[26]"],"0$1",0,"$1 $2 $3 $4 $5"]],"0"],SG:["65","0[0-3]\\d","(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}",[8,10,11],[["(\\d{4})(\\d{4})","$1 $2",["[369]|8[1-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]],["(\\d{4})(\\d{4})(\\d{3})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],SH:["290","00","(?:[256]\\d|8)\\d{3}",[4,5],0,0,0,0,0,0,"[256]"],SI:["386","00|10(?:22|66|88|99)","[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}",[5,6,7,8],[["(\\d{2})(\\d{3,6})","$1 $2",["8[09]|9"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["59|8"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[0139]|51|6"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-57]"],"(0$1)"]],"0",0,0,0,0,0,0,"00"],SJ:["47","00","0\\d{4}|(?:[4589]\\d|79)\\d{6}",[5,8],0,0,0,0,0,0,"79"],SK:["421","00","[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",[6,7,9],[["(\\d)(\\d{2})(\\d{3,4})","$1 $2 $3",["21"],"0$1"],["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["[3-5][1-8]1","[3-5][1-8]1[67]"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"]],"0"],SL:["232","00","(?:[2378]\\d|99)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[237-9]"],"(0$1)"]],"0"],SM:["378","00","(?:0549|[5-7]\\d)\\d{6}",[8,10],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],["(\\d{4})(\\d{6})","$1 $2",["0"]]],0,0,"([89]\\d{5})$","0549$1"],SN:["221","00","(?:[378]\\d{4}|93330)\\d{4}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[379]"]]]],SO:["252","00","[346-9]\\d{8}|[12679]\\d{7}|(?:[1-4]\\d|59)\\d{5}|[1348]\\d{5}",[6,7,8,9],[["(\\d{2})(\\d{4})","$1 $2",["8[125]"]],["(\\d{6})","$1",["[134]"]],["(\\d)(\\d{6})","$1 $2",["1|2[0-79]|3[0-46-8]|4[0-7]|59"]],["(\\d)(\\d{7})","$1 $2",["24|[67]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[348]|64|79[0-8]|90"]],["(\\d{2})(\\d{5,7})","$1 $2",["1|28|6[1-35-9]|799|9[2-9]"]]],"0"],SR:["597","00","(?:[2-5]|68|[78]\\d)\\d{5}",[6,7],[["(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"]],["(\\d{3})(\\d{3})","$1-$2",["[2-5]"]],["(\\d{3})(\\d{4})","$1-$2",["[6-8]"]]]],SS:["211","00","[19]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[19]"],"0$1"]],"0"],ST:["239","00","(?:22|9\\d)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[29]"]]]],SV:["503","00","[267]\\d{7}|[89]00\\d{4}(?:\\d{4})?",[7,8,11],[["(\\d{3})(\\d{4})","$1 $2",["[89]"]],["(\\d{4})(\\d{4})","$1 $2",["[267]"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]]]],SX:["1","011","7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|(5\\d{6})$","721$1",0,"721"],SY:["963","00","[1-39]\\d{8}|[1-5]\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-5]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1",1]],"0"],SZ:["268","00","0800\\d{4}|(?:[237]\\d|900)\\d{6}",[8,9],[["(\\d{4})(\\d{4})","$1 $2",["[0237]"]],["(\\d{5})(\\d{4})","$1 $2",["9"]]]],TA:["290","00","8\\d{3}",[4],0,0,0,0,0,0,"8"],TC:["1","011","(?:[58]\\d\\d|649|900)\\d{7}",[10],0,"1",0,"1|([2-479]\\d{6})$","649$1",0,"649"],TD:["235","00|16","(?:22|[69]\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2679]"]]],0,0,0,0,0,0,0,"00"],TG:["228","00","[279]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[279]"]]]],TH:["66","00[1-9]","1\\d{8,9}|(?:[2-57]|[689]\\d)\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["14|[3-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],TJ:["992","810","(?:[3-59]\\d|77|88)\\d{7}",[9],[["(\\d{6})(\\d)(\\d{2})","$1 $2 $3",["331","3317"],0,1],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[34]7|91[78]"],0,1],["(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3"],0,1],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[457-9]"],0,1]],"8",0,0,0,0,0,0,"8~10"],TK:["690","00","[2-47]\\d{3,6}",[4,5,6,7]],TL:["670","00","7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-489]|70"]],["(\\d{4})(\\d{4})","$1 $2",["7"]]]],TM:["993","810","[1-6]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["12"],"(8 $1)"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-5]"],"(8 $1)"],["(\\d{2})(\\d{6})","$1 $2",["6"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],TN:["216","00","[2-57-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]"]]]],TO:["676","00","(?:0800|[5-8]\\d{3})\\d{3}|[2-8]\\d{4}",[5,7],[["(\\d{2})(\\d{3})","$1-$2",["[2-4]|50|6[09]|7[0-24-69]|8[05]"]],["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{3})(\\d{4})","$1 $2",["[5-8]"]]]],TR:["90","00","(?:[2-58]\\d\\d|900)\\d{7}|4\\d{6}",[7,10],[["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["512|8[0589]|90"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:[0-59]|61)","5(?:[0-59]|616)","5(?:[0-59]|6161)"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24][1-8]|3[1-9]"],"(0$1)",1]],"0"],TT:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-46-8]\\d{6})$","868$1",0,"868"],TV:["688","00","(?:2|7\\d\\d|90)\\d{4}",[5,6,7]],TW:["886","0(?:0[25-79]|19)","(?:[24589]|7\\d)\\d{8}|[2-8]\\d{7}|2\\d{6}",[7,8,9,10],[["(\\d{2})(\\d)(\\d{4})","$1 $2 $3",["202"],"0$1"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["[25][2-8]|[346]|7[1-9]|8[237-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[258]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0",0,0,0,0,0,0,0,"#"],TZ:["255","00[056]","(?:[26-8]\\d|41|90)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[24]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[67]"],"0$1"]],"0"],UA:["380","00","[89]\\d{9}|[3-9]\\d{8}",[9,10],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]","6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["4[45][0-5]|5(?:0|6[37])|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]","4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["[3-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0",0,0,0,0,0,0,"0~0"],UG:["256","00[057]","800\\d{6}|(?:[29]0|[347]\\d)\\d{7}",[9],[["(\\d{4})(\\d{5})","$1 $2",["202","2024"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[27-9]|4(?:6[45]|[7-9])"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[34]"],"0$1"]],"0"],US:["1","011","[2-9]\\d{9}",[10],[["(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",["[2-9]"],0,1,"$1-$2-$3"]],"1",0,0,0,0,0,[["(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[017]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-28]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0179]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}"],0,["710[2-9]\\d{6}"]]],UY:["598","0(?:0|1[3-9]\\d)","(?:[249]\\d\\d|80)\\d{5}|9\\d{6}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["8|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[24]"]]],"0",0,0,0,0,0,0,"00"," int. "],UZ:["998","810","[679]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[679]"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],VA:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],0,0,0,0,0,0,"06698"],VC:["1","011","(?:[58]\\d\\d|784|900)\\d{7}",[10],0,"1",0,"1|([2-7]\\d{6})$","784$1",0,"784"],VE:["58","00","[89]00\\d{7}|(?:[24]\\d|50)\\d{8}",[10],[["(\\d{3})(\\d{7})","$1-$2",["[24589]"],"0$1"]],"0"],VG:["1","011","(?:284|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"1|([2-578]\\d{6})$","284$1",0,"284"],VI:["1","011","[58]\\d{9}|(?:34|90)0\\d{7}",[10],0,"1",0,"1|([2-9]\\d{6})$","340$1",0,"340"],VN:["84","00","[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["80"],"0$1",1],["(\\d{4})(\\d{4,6})","$1 $2",["1"],0,1],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[69]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[3578]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2[48]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["2"],"0$1",1]],"0"],VU:["678","00","(?:[23]\\d|[48]8)\\d{3}|(?:[57]\\d|90)\\d{5}",[5,7],[["(\\d{3})(\\d{4})","$1 $2",["[579]"]]]],WF:["681","00","(?:[45]0|68|72|8\\d)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[4-8]"]]]],WS:["685","0","[2-6]\\d{4}|8\\d{5}(?:\\d{4})?|[78]\\d{6}",[5,6,7,10],[["(\\d{5})","$1",["[2-6]"]],["(\\d{3})(\\d{3,7})","$1 $2",["8"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]]],XK:["383","00","[23]\\d{7,8}|(?:4\\d\\d|[89]00)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[23]"],"0$1"]],"0"],YE:["967","00","(?:1|7\\d)\\d{7}|[1-7]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-6]|7[24-68]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"],"0$1"]],"0"],YT:["262","00","80\\d{7}|(?:26|63)9\\d{6}",[9],0,"0",0,0,0,0,"269|63"],ZA:["27","00","[1-9]\\d{8}|8\\d{4,7}",[5,6,7,8,9],[["(\\d{2})(\\d{3,4})","$1 $2",["8[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["8[1-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["860"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-9]"],"0$1"]],"0"],ZM:["260","00","800\\d{6}|(?:21|76|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[28]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[79]"],"0$1"]],"0"],ZW:["263","00","2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",[5,6,7,8,9,10],[["(\\d{3})(\\d{3,5})","$1 $2",["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"],"0$1"],["(\\d)(\\d{3})(\\d{2,4})","$1 $2 $3",["[49]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["80"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2","2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)","2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["29[013-9]|39|54"],"0$1"],["(\\d{4})(\\d{3,5})","$1 $2",["(?:25|54)8","258|5483"],"0$1"]],"0"],"001":["979",0,"\\d{9}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3"]]]}},m=(n(68),n(534),n(535),n(486),n(110)),g=n(188),y=n(10);n(487),n(488);function v(e,t){var n=Array.prototype.slice.call(t);return n.push(h),e.apply(this,n)}function b(e,t){return m.a.call(this,e,t,h)}function _(e){return g.a.call(this,e,h)}function w(){return v(y.b,arguments)}b.prototype=Object.create(m.a.prototype,{}),b.prototype.constructor=b,_.prototype=Object.create(g.a.prototype,{}),_.prototype.constructor=_,n.d(t,"default",function(){return i.a}),n.d(t,"parseRFC3966",function(){return o.parseRFC3966}),n.d(t,"formatRFC3966",function(){return o.formatRFC3966}),n.d(t,"parsePhoneNumber",function(){return s.a}),n.d(t,"formatPhoneNumber",function(){return l.a}),n.d(t,"formatPhoneNumberIntl",function(){return u.formatPhoneNumberIntl}),n.d(t,"isValidPhoneNumber",function(){return d.a}),n.d(t,"PhoneInput",function(){return p.a}),n.d(t,"getCountryCallingCode",function(){return w})}]);
diff --git a/web/themes/ventuno/README.md b/web/themes/ventuno/README.md
index 5de8afc4e5..4bb0ff1a21 100755
--- a/web/themes/ventuno/README.md
+++ b/web/themes/ventuno/README.md
@@ -1,6 +1,6 @@
-# Ventuno for Portal theme
+# Ventuno for Interoperable Europe Portal theme
 
-Custom theme for Portal. Built on the [OpenEuropa Bootstrap
+Custom theme for Interoperable Europe Portal. Built on the [OpenEuropa Bootstrap
 theme](https://github.com/openeuropa/oe_bootstrap_theme).
 
 The recommended development workflow is to use Docker. See the main README file
@@ -28,7 +28,7 @@ you will need to install the following dependencies:
 
 The code is publicly available at
 [https://git.fpfis.tech.ec.europa.eu/ec-europa/digit-joinup-reference](https://git.fpfis.tech.ec.europa.eu/ec-europa/digit-joinup-reference)
-as part of the Portal project. The development is coordinated in a private Jira
+as part of the Interoperable Europe Portal project. The development is coordinated in a private Jira
 instance: [https://citnet.tech.ec.europa.eu/CITnet/jira/projects/ISAICP](https://citnet.tech.ec.europa.eu/CITnet/jira/projects/ISAICP).
 
 When frontend development is requested, in most cases this will be preceded by a
@@ -36,7 +36,7 @@ backend ticket that will be developed first. After the backend work is reviewed
 and approved in user acceptance testing a separate frontend sister ticket is
 created. Since the backend and frontend will need to be delivered to production
 simultaneously, the frontend ticket will be forked off the branch that contains
-the backend functionality. In Portal parlance the combination of both tickets is
+the backend functionality. In Interoperable Europe Portal parlance the combination of both tickets is
 called a "mini-epic". Once the FE ticket is reviewed and accepted, both will be
 merged into the `develop` branch to be included in the next release.
 
@@ -102,7 +102,7 @@ directory.
 
 ## Notes
 
-This guide should be expanded with more practices used by the Portal project.
+This guide should be expanded with more practices used by the Interoperable Europe Portal project.
 Things possibly missing:
 * Better way to be able to view BCL components and understand how to interact
 with them.
diff --git a/web/themes/ventuno/includes/layout.inc b/web/themes/ventuno/includes/layout.inc
index bd36ea08e3..610b9a9780 100644
--- a/web/themes/ventuno/includes/layout.inc
+++ b/web/themes/ventuno/includes/layout.inc
@@ -16,7 +16,7 @@
  * Implements hook_preprocess_page().
  */
 function ventuno_preprocess_page(array &$variables): void {
-  // Retrieve the Portal version and link to display in the footer.
+  // Retrieve the Interoperable Europe Portal version and link to display in the footer.
   // @todo Move this into a block.
   /** @var \Drupal\joinup_core\JoinupVersionInterface $joinup_version */
   $joinup_version = \Drupal::service('joinup_core.joinup_version');
@@ -46,7 +46,7 @@ function ventuno_preprocess_page(array &$variables): void {
   // Populate the links shown to anonymous users.
   $variables['anonymous_links'] = $menu_helper->getBclAnonymousMenu();
 
-  // The "About us" link is only shown if the Portal collection exists.
+  // The "About us" link is only shown if the Interoperable Europe Portal collection exists.
   $variables['#cache']['tags'][] = 'joinup_collection:exists';
   // Moderator can change navbar links.
   $variables['#cache']['tags'][] = 'config:system.menu.navbar';
diff --git a/web/themes/ventuno/includes/licence_assistant.inc b/web/themes/ventuno/includes/licence_assistant.inc
index 6459036eab..451f5fc8c3 100644
--- a/web/themes/ventuno/includes/licence_assistant.inc
+++ b/web/themes/ventuno/includes/licence_assistant.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Portal Licencing Assistant specific procedural functions.
+ * Interoperable Europe Portal Licencing Assistant specific procedural functions.
  */
 
 declare(strict_types=1);
@@ -19,7 +19,7 @@ function ventuno_preprocess_licence_filter_list(array &$variables): void {
  * Implements hook_preprocess_HOOK().
  *
  * Provides variables needed for the compatibility_check view mode of licences.
- * This is used on the Portal Licence Assistant Compatibility Check overview
+ * This is used on the Interoperable Europe Portal Licence Assistant Compatibility Check overview
  * page.
  */
 function ventuno_preprocess_node__licence__compatibility_check(array &$variables): void {
@@ -49,7 +49,7 @@ function ventuno_preprocess_node__licence__jla(array &$variables): void {
  * Implements hook_preprocess_HOOK().
  *
  * Provides variables needed for the search_list_item view mode of licences.
- * This is used on the Portal Licence Assistant overview page.
+ * This is used on the Interoperable Europe Portal Licence Assistant overview page.
  */
 function ventuno_preprocess_node__licence__view_mode_search_list_item(array &$variables): void {
   ventuno_preprocess_node__licence__jla($variables);
diff --git a/web/themes/ventuno/includes/rdf_entity.inc b/web/themes/ventuno/includes/rdf_entity.inc
index 07ed865deb..aaea58b03b 100644
--- a/web/themes/ventuno/includes/rdf_entity.inc
+++ b/web/themes/ventuno/includes/rdf_entity.inc
@@ -77,7 +77,7 @@ function ventuno_preprocess_rdf_entity__solution__view_mode_search_list_item(arr
   }
 
   // Provides variables needed for the search_list_item view mode of licences.
-  // This is used on the Portal Licence Assistant overview page.
+  // This is used on the Interoperable Europe Portal Licence Assistant overview page.
   $data_property_categories = [];
 
   $parent_id = 'solution-category';
diff --git a/web/themes/ventuno/src/scss/partials/overrides/_colors.scss b/web/themes/ventuno/src/scss/partials/overrides/_colors.scss
index eb3bcbff06..050164f354 100644
--- a/web/themes/ventuno/src/scss/partials/overrides/_colors.scss
+++ b/web/themes/ventuno/src/scss/partials/overrides/_colors.scss
@@ -37,7 +37,7 @@ $gray-700: #555859;
 $gray-800: #3d3f40;
 $gray-900: #242626;
 
-// Portal colors
+// Interoperable Europe Portal colors
 $joinup-green: #067f77;
 $joinup-brown: #7f7366;
 $joinup-red: #cd4747;
diff --git a/web/themes/ventuno/templates/block/block--exposed-search.html.twig b/web/themes/ventuno/templates/block/block--exposed-search.html.twig
index 05947a2c10..9f973b8e39 100644
--- a/web/themes/ventuno/templates/block/block--exposed-search.html.twig
+++ b/web/themes/ventuno/templates/block/block--exposed-search.html.twig
@@ -24,7 +24,7 @@
 %}
 <div{{ attributes.addClass(classes) }}>
   <div class="col-8 offset-2 col-md-7 offset-md-0 col-lg-6 mb-4">
-    <img src="{{ file_url('themes/ventuno/assets/images/logo.svg') }}" class="img-fluid" alt="Portal logo" width="336" height="86">
+    <img src="{{ file_url('themes/ventuno/assets/images/logo.svg') }}" class="img-fluid" alt="Interoperable Europe Portal logo" width="336" height="86">
   </div>
   <div class="col-12 order-md-2">
     <div class="search-bar mb-3 px-2 ps-md-0 pe-md-5">
diff --git a/web/themes/ventuno/templates/form/share-content-form.html.twig b/web/themes/ventuno/templates/form/share-content-form.html.twig
index 7991f6ff49..d6b73d5ade 100644
--- a/web/themes/ventuno/templates/form/share-content-form.html.twig
+++ b/web/themes/ventuno/templates/form/share-content-form.html.twig
@@ -19,7 +19,7 @@
       {{ form.share }}
     </div>
     <div>
-      <h3 class="fs-6">{{ 'Other groups on Portal'|t }}</h3>
+      <h3 class="fs-6">{{ 'Other groups on Interoperable Europe Portal'|t }}</h3>
       {{ form|without('share') }}
     </div>
   </div>
diff --git a/web/themes/ventuno/templates/layout/page--home.html.twig b/web/themes/ventuno/templates/layout/page--home.html.twig
index f412e6c7ae..b64f941ee1 100644
--- a/web/themes/ventuno/templates/layout/page--home.html.twig
+++ b/web/themes/ventuno/templates/layout/page--home.html.twig
@@ -14,7 +14,7 @@
  * Once we have a way to leverage layouts in dedicated regions (such as support
  * in core or when the Layout Builder Everywhere module is stabilized) we can
  * replace this overridden template with the Layout Builder + the
- * `twocolfooter-onecol-67-33` layout from the Portal Layout module.
+ * `twocolfooter-onecol-67-33` layout from the Interoperable Europe Portal Layout module.
  *
  * @see https://www.drupal.org/project/drupal/issues/2924058
  * @see https://www.drupal.org/project/lb_everywhere
diff --git a/web/themes/ventuno/templates/layout/page--search.html.twig b/web/themes/ventuno/templates/layout/page--search.html.twig
index e6184d91b6..075328caf8 100644
--- a/web/themes/ventuno/templates/layout/page--search.html.twig
+++ b/web/themes/ventuno/templates/layout/page--search.html.twig
@@ -14,7 +14,7 @@
  * Once we have a way to leverage layouts in dedicated regions (such as support
  * in core or when the Layout Builder Everywhere module is stabilized) we can
  * replace this overridden template with the Layout Builder + the
- * `twocolfooter-onecol-67-33` layout from the Portal Layout module.
+ * `twocolfooter-onecol-67-33` layout from the Interoperable Europe Portal Layout module.
  *
  * @see https://www.drupal.org/project/drupal/issues/2924058
  * @see https://www.drupal.org/project/lb_everywhere
diff --git a/web/themes/ventuno/templates/message-digest/message-digest.html.twig b/web/themes/ventuno/templates/message-digest/message-digest.html.twig
index ee3494ab88..6a0b5e3ce6 100644
--- a/web/themes/ventuno/templates/message-digest/message-digest.html.twig
+++ b/web/themes/ventuno/templates/message-digest/message-digest.html.twig
@@ -159,7 +159,7 @@
           <tr>
             <td style="height: 100px;" class="bg-white fs-sm text-center">
               {% trans %}
-                You received this email because you opted in for Portal digest messages.<br/>
+                You received this email because you opted in for Interoperable Europe Portal digest messages.<br/>
                 <a href="{{ subscription_url }}">Manage</a> your subscription notifications or <a href="{{ unsubscription_url }}">unsubscribe</a> from all.<br/>
                 <a href="{{ contact_url }}">Contact us</a>.
               {% endtrans %}
diff --git a/web/themes/ventuno/templates/parts/footer.html.twig b/web/themes/ventuno/templates/parts/footer.html.twig
index 5d215bf42b..a9c4ebc37d 100644
--- a/web/themes/ventuno/templates/parts/footer.html.twig
+++ b/web/themes/ventuno/templates/parts/footer.html.twig
@@ -5,7 +5,7 @@
       <!--Interoperable Europe logo-->
       <div class="col-md-12 col-lg-3 column-logo">
         <p class="joinup-logo"><a href="{{ path('<front>') }}" class="joinup-logo-white mb-3"><span class="visually-hidden">{{ 'Interoperable Europe'|t }}</span></a></p>
-        <p class="joinup-version"><a href="{{ version_url }}" aria-label="{{ 'Portal version number: '|t }}{{ version }}">{{ version }}</a></p>
+        <p class="joinup-version"><a href="{{ version_url }}" aria-label="{{ 'Interoperable Europe Portal version number: '|t }}{{ version }}">{{ version }}</a></p>
       </div>
       <h2 class="visually-hidden">{{ 'Useful links'|t }}</h2>
 
diff --git a/web/themes/ventuno/templates/patterns/tile/tile.ui_patterns.yml b/web/themes/ventuno/templates/patterns/tile/tile.ui_patterns.yml
index a67c9e8f78..8df1090852 100644
--- a/web/themes/ventuno/templates/patterns/tile/tile.ui_patterns.yml
+++ b/web/themes/ventuno/templates/patterns/tile/tile.ui_patterns.yml
@@ -1,6 +1,6 @@
 tile:
   label: 'Tile'
-  description: 'Custom version of <a href="https://oelibrary.netlify.app/default/?path=/story/components-card--default" target="_blank">BCL''s card</a> to fit the needs of Portal tiles display.'
+  description: 'Custom version of <a href="https://oelibrary.netlify.app/default/?path=/story/components-card--default" target="_blank">BCL''s card</a> to fit the needs of Interoperable Europe Portal tiles display.'
   fields:
     horizontal:
       type: boolean
diff --git a/web/themes/ventuno/templates/swiftmailer/symfony-mailer-lite-email--message-notify--announcement.html.twig b/web/themes/ventuno/templates/swiftmailer/symfony-mailer-lite-email--message-notify--announcement.html.twig
index 176fd0cc3e..443ea880d6 100644
--- a/web/themes/ventuno/templates/swiftmailer/symfony-mailer-lite-email--message-notify--announcement.html.twig
+++ b/web/themes/ventuno/templates/swiftmailer/symfony-mailer-lite-email--message-notify--announcement.html.twig
@@ -105,7 +105,7 @@
         <tr class="bg-light">
           <td class="p-3 fs-sm text-center">
             {% trans %}
-              <p>You received this e-mail because, as a registered user of Portal and a member of {{ message.group_title }} {{ message.group_type }}, you agreed to receive information sent to you by the {{ message.group_title }} {{ message.group_type }} owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725).</p>
+              <p>You received this e-mail because, as a registered user of Interoperable Europe Portal and a member of {{ message.group_title }} {{ message.group_type }}, you agreed to receive information sent to you by the {{ message.group_title }} {{ message.group_type }} owner/administrator (based on Article 5(d) of Regulation (EU) 2018/1725).</p>
               <p>In case you do not want to receive such e-mails, you can <a href="{{ message.recipient_unsubscribe }}" target="_blank">unsubscribe</a> from group announcement notifications or manage all your subscription notifications from the <a href="{{ message.recipient_subscriptions }}" target="_blank">user subscriptions</a> page.</p>
               <p>This is an unmonitored email address, please do not reply.<br> You can contact directly {{ message.group_title }} {{ message.group_type }} via the <a href="{{ message.group_landing_page }}" target="_blank">Overview</a> page.</p>
             {% endtrans %}
diff --git a/web/themes/ventuno/ventuno.info.yml b/web/themes/ventuno/ventuno.info.yml
index 502c08b7a0..2bfbdefb5f 100644
--- a/web/themes/ventuno/ventuno.info.yml
+++ b/web/themes/ventuno/ventuno.info.yml
@@ -1,5 +1,5 @@
 name: Ventuno
-description: Custom theme for Portal, sub-theme of OpenEuropa Bootstrap Theme.
+description: Custom theme for Interoperable Europe Portal, sub-theme of OpenEuropa Bootstrap Theme.
 package: Custom
 type: theme
 core_version_requirement: '>=9.3'
-- 
GitLab


From 44c9156e6d672621e47bea562fea4a021aba6d25 Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Mon, 28 Oct 2024 14:03:22 +0000
Subject: [PATCH 13/33] ISAICP-8856: Fix lines that exceeds 80 characters.

---
 .../ValidUpdateNameSniff.php                  | 39 ++++++++++---------
 src/Composer/load.environment.php             | 10 ++---
 tests/src/Context/CollectionContext.php       |  7 ++--
 tests/src/Context/EuplContext.php             |  5 ++-
 tests/src/Context/FeatureContext.php          |  9 +++--
 tests/src/Context/HomepageContext.php         |  2 +-
 tests/src/Context/JoinupCollectionContext.php |  4 +-
 tests/src/Context/JoinupContext.php           |  6 +--
 tests/src/Context/RssContext.php              |  2 +-
 tests/src/Traits/OgTrait.php                  | 13 ++++---
 .../JoinupCasMockServerConfigOverrider.php    |  7 ++--
 .../joinup_collection.module                  | 10 +++--
 .../custom/joinup_core/joinup_core.module     |  4 +-
 .../src/JoinupVersionInterface.php            |  3 +-
 .../Plugin/Block/JoinupLocalTasksBlock.php    |  5 ++-
 .../SubscribedDiscussionCommentSubscriber.php |  6 +--
 .../joinup_eulogin/joinup_eulogin.module      |  6 +--
 .../JoinupEuLoginCasEventsSubscriber.php      |  7 ++--
 .../joinup_featured/joinup_featured.module    |  3 +-
 .../src/FeaturedContentInterface.php          |  8 ++--
 .../src/Plugin/Block/ExploreBlock.php         |  3 +-
 .../custom/joinup_group/joinup_group.module   |  6 +--
 .../src/Entity/GroupInterface.php             | 31 ++++++++-------
 .../joinup_group/src/Entity/GroupTrait.php    |  3 +-
 ...oinupGroupPageDisplayVariantSubscriber.php |  2 +-
 .../TransferGroupOwnershipConfirmForm.php     |  4 +-
 .../joinup_group/src/JoinupGroupHelper.php    |  4 +-
 .../JoinupGroupEntityIdValidator.php          |  2 +-
 .../src/Routing/RouteSubscriber.php           |  2 +-
 .../FieldFormatter/StrippedHTMLFormatter.php  |  7 ++--
 .../Controller/LicenceComparerController.php  |  3 +-
 .../ParamConverter/SpdxIdsParamConverter.php  |  6 ++-
 .../custom/joinup_menu/src/MenuHelper.php     | 11 +++---
 .../src/EntityMessageHelper.php               |  8 ++--
 .../src/MessageArgumentGenerator.php          | 11 +++---
 .../custom/joinup_slick/joinup_slick.module   |  4 +-
 .../src/Form/ChangeSolutionStateForm.php      | 12 +++---
 web/profiles/joinup/src/JoinupPermissions.php |  5 ++-
 web/themes/ventuno/includes/layout.inc        |  6 ++-
 .../ventuno/includes/licence_assistant.inc    |  7 ++--
 web/themes/ventuno/includes/rdf_entity.inc    |  3 +-
 41 files changed, 164 insertions(+), 132 deletions(-)

diff --git a/src/CodingStandards/Sniffs/NamingConventions/ValidUpdateNameSniff.php b/src/CodingStandards/Sniffs/NamingConventions/ValidUpdateNameSniff.php
index 8530e75d80..0b93177c8f 100644
--- a/src/CodingStandards/Sniffs/NamingConventions/ValidUpdateNameSniff.php
+++ b/src/CodingStandards/Sniffs/NamingConventions/ValidUpdateNameSniff.php
@@ -14,14 +14,14 @@
 /**
  * Checks the naming of (post)update/deploy functions.
  *
- * Interoperable Europe Portal offers only _contiguous upgrades_. For instance, if your project is
- * currently on Interoperable Europe Portal `v1.39.2`, and the latest stable version is `v1.42.0`,
- * then you cannot upgrade directly to the latest version. Instead, you should
- * upgrade first to `v1.40.0`, second to `v1.40.1` (if exists) and, finally, to
- * `v1.42.0`.
+ * Interoperable Europe Portal offers only _contiguous upgrades_. For instance,
+ * if your project is currently on Interoperable Europe Portal `v1.39.2`,
+ * and the latest stable version is `v1.42.0`, then you cannot upgrade directly
+ * to the latest version. Instead, you should upgrade first to `v1.40.0`,
+ * second to `v1.40.1` (if exists) and, finally, to `v1.42.0`.
  *
- * The Interoperable Europe Portal update, post-update and deploy scripts namings are following this
- * pattern:
+ * The Interoperable Europe Portal update, post-update and deploy scripts
+ * namings are following this pattern:
  * @code
  * function mymodule_update_106100() {...}
  * @endcode
@@ -39,20 +39,23 @@
  *   post updates from the same extension (module or profile). `00` is the first
  *   (post)update/deploy that applies.
  * - The middle three digits are the Interoperable Europe Portal minor version.
- * - The first one or two digits are the Interoperable Europe Portal major version. It cannot start
- *   with '0'.
+ * - The first one or two digits are the Interoperable Europe Portal major
+ * version. It cannot start with '0'.
  *
  * Given the above example:
  *
- * - `function mymodule_update_106100() {...}`: Was applied in Interoperable Europe Portal `v1.61.x`
- *   as the first update of the `mymodule` module (`1` major version, `061`
- *   minor version, `00` update weight within the module).
- * - `function mymodule_post_update_207503() {...}`: Was applied in Interoperable Europe Portal
- *   `v2.75.x` as the fourth post update of the `mymodule` module (`2` major
- *   version, `075` minor version, `03` post-update weight within the module).
- * - `function mymodule_deploy_1008101() {...}`: Was applied in Interoperable Europe Portal
- *   `v10.81.x` as the second deploy of the `mymodule` module (`10` major
- *   version, `081` minor version, `01` deploy weight within the module).
+ * - `function mymodule_update_106100() {...}`: Was applied in Interoperable
+ *   Europe Portal `v1.61.x` as the first update of the `mymodule` module
+ *   (`1` major version, `061` minor version, `00` update weight
+ *   within the module).
+ * - `function mymodule_post_update_207503() {...}`: Was applied in
+ *   Interoperable Europe Portal `v2.75.x` as the fourth post update of the
+ *   `mymodule` module (`2` major version, `075` minor version, `03`
+ *   post-update weight within the module).
+ * - `function mymodule_deploy_1008101() {...}`: Was applied in Interoperable
+ *   Europe Portal `v10.81.x` as the second deploy of the `mymodule` module
+ *   (`10` major version, `081` minor version, `01` deploy weight within
+ *   the module).
  *
  * This sniff checks if the (post)update or deploy is correctly formed and if
  * the version represented by the (post)update/deploy identifier was not already
diff --git a/src/Composer/load.environment.php b/src/Composer/load.environment.php
index 09af9c8604..60b1382584 100644
--- a/src/Composer/load.environment.php
+++ b/src/Composer/load.environment.php
@@ -21,10 +21,10 @@ function (string $file) use ($path): bool {
     return file_exists("{$path}/{$file}");
   }
 );
-// Interoperable Europe Portal has been instructed by the devops team to use getenv() to import
-// environment variables in settings.php, so we need to use the unsafe method.
-// This means Interoperable Europe Portal is not intended to be used in environments that use
-// php-fpm. Also, this file should not be included on any production environment
-// for performance reasons.
+// Interoperable Europe Portal has been instructed by the devops team to use
+// getenv() to import environment variables in settings.php, so we need to use
+// the unsafe method. This means Interoperable Europe Portal is not intended to
+// be used in environments that use php-fpm. Also, this file should not be
+// included on any production environment for performance reasons.
 // @see https://github.com/vlucas/phpdotenv/issues/446
 Dotenv::createUnsafeImmutable($path, $candidates, FALSE)->safeLoad();
diff --git a/tests/src/Context/CollectionContext.php b/tests/src/Context/CollectionContext.php
index 832e6ad653..d4432c9cae 100644
--- a/tests/src/Context/CollectionContext.php
+++ b/tests/src/Context/CollectionContext.php
@@ -722,8 +722,8 @@ public function assertGlossaryNavigator(?string $expected_navigator = NULL): voi
    * collection the content belongs to. It is tedious to manually define a
    * collection and link it to the content for every single test. If it is
    * omitted in the definition of the test we assign an existing collection, or
-   * if none exist we assign the "Interoperable Europe Portal" collection. This ensures data
-   * integrity and prevents form validation errors.
+   * if none exist we assign the "Interoperable Europe Portal" collection.
+   * This ensures data integrity and prevents form validation errors.
    *
    * @param \Drupal\DrupalExtension\Hook\Scope\BeforeNodeCreateScope $scope
    *   An object containing the entity properties and fields that are to be used
@@ -753,7 +753,8 @@ public function provideCollection(BeforeNodeCreateScope $scope): void {
       }
     }
 
-    // If no suitable candidate is found, use the default "Interoperable Europe Portal" collection.
+    // If no suitable candidate is found, use the default
+    // "Interoperable Europe Portal" collection.
     if (empty($collection)) {
       $collection = $this->createJoinupCollection();
     }
diff --git a/tests/src/Context/EuplContext.php b/tests/src/Context/EuplContext.php
index bbe47763f6..b4875a14ef 100644
--- a/tests/src/Context/EuplContext.php
+++ b/tests/src/Context/EuplContext.php
@@ -63,7 +63,7 @@ public function setupEuplData(): void {
     $solution->save();
     $this->entities['rdf_entity'][$solution->id()] = $solution;
 
-    // The 'Interoperable Europe Portal Licensing Assistant' standard custom page.
+    // 'Interoperable Europe Portal Licensing Assistant' standard custom page.
     $this->nodeCreate((object) [
       'nid' => 701805,
       'type' => 'custom_page',
@@ -73,7 +73,8 @@ public function setupEuplData(): void {
       'field_state' => 'published',
     ]);
 
-    // The 'Interoperable Europe Portal Licensing Compatibility Check' standard custom page.
+    // The 'Interoperable Europe Portal Licensing Compatibility Check'
+    // standard custom page.
     $this->nodeCreate((object) [
       'nid' => 703242,
       'type' => 'custom_page',
diff --git a/tests/src/Context/FeatureContext.php b/tests/src/Context/FeatureContext.php
index 6ccb5f4e21..57e6921b30 100644
--- a/tests/src/Context/FeatureContext.php
+++ b/tests/src/Context/FeatureContext.php
@@ -66,8 +66,9 @@ class FeatureContext extends RawDrupalContext {
   use UtilityTrait;
 
   /**
-   * The Interoperable Europe Portal version, retrieved from the `VERSION` file in the project root.
+   * The Interoperable Europe Portal version.
    *
+   * Retrieved from the `VERSION` file in the project root.
    * Will contain the contents of the file, or FALSE if the file is not present.
    *
    * @var string|bool
@@ -1063,7 +1064,8 @@ public function assertNotLinkOptionalRegion($link, $region): void {
   /**
    * Asserts that the page title tag equals to some text.
    *
-   * The assertion strips off the possible suffix "| Interoperable Europe Portal".
+   * The assertion strips off the possible suffix
+   * "| Interoperable Europe Portal".
    *
    * @param string $text
    *   The text to search for.
@@ -1863,7 +1865,8 @@ public function restoreJoinupVersion(): void {
    * scenario.
    *
    * @param string $version
-   *   The Interoperable Europe Portal version to set, e.g. 'v1.57.0' or 'v1.57.0-66-g1234abcde'.
+   *   The Interoperable Europe Portal version to set, e.g. 'v1.57.0' or
+   *   'v1.57.0-66-g1234abcde'.
    *
    * @When the Interoperable Europe Portal version is set to :version
    */
diff --git a/tests/src/Context/HomepageContext.php b/tests/src/Context/HomepageContext.php
index 9314256536..336082585d 100644
--- a/tests/src/Context/HomepageContext.php
+++ b/tests/src/Context/HomepageContext.php
@@ -11,7 +11,7 @@
 use PHPUnit\Framework\Assert;
 
 /**
- * Behat step definitions to interact with elements on the Interoperable Europe Portal homepage.
+ * Behat step definitions to interact with elements on homepage.
  */
 class HomepageContext extends RawDrupalContext {
 
diff --git a/tests/src/Context/JoinupCollectionContext.php b/tests/src/Context/JoinupCollectionContext.php
index fc3b2e34aa..432f5fbd15 100644
--- a/tests/src/Context/JoinupCollectionContext.php
+++ b/tests/src/Context/JoinupCollectionContext.php
@@ -12,7 +12,7 @@
 use Drupal\rdf_entity\Entity\Rdf;
 
 /**
- * Behat step definitions and related methods related to the Interoperable Europe Portal collection.
+ * Behat step definitions and related methods related to the Portal collection.
  */
 class JoinupCollectionContext extends RawDrupalContext {
 
@@ -56,7 +56,7 @@ public function setupJoinupCollection(): void {
   }
 
   /**
-   * Clears the Interoperable Europe Portal collection created before the scenario.
+   * Clears the Portal collection created before the scenario.
    *
    * @throws \Drupal\Core\Entity\EntityStorageException
    *   Thrown when one of the created entities could not be deleted.
diff --git a/tests/src/Context/JoinupContext.php b/tests/src/Context/JoinupContext.php
index b27ea97079..26b9be4343 100644
--- a/tests/src/Context/JoinupContext.php
+++ b/tests/src/Context/JoinupContext.php
@@ -2879,9 +2879,9 @@ public function theOutputShouldMatchTheFile($file_path): void {
    * Title field is optional.
    *
    * Table format:
-   * | URL                          | Title  |
-   * | https://interoperable-europe.ec.europa.eu/ | Interoperable Europe Portal |
-   * | https://www.drupal.org/      | Drupal |
+   * | URL                                        | Title  |
+   * | https://interoperable-europe.ec.europa.eu/ | Portal |
+   * | https://www.drupal.org/                    | Drupal |
    *
    * @param \Behat\Gherkin\Node\TableNode $table
    *   A table containing the data to enter in the fields.
diff --git a/tests/src/Context/RssContext.php b/tests/src/Context/RssContext.php
index bf6b7ab91d..11a26b63d5 100644
--- a/tests/src/Context/RssContext.php
+++ b/tests/src/Context/RssContext.php
@@ -53,7 +53,7 @@ public function assertRss(): void {
    *
    * Table format:
    * | title       | link               | description         | ... |
-   * | Interoperable Europe Portal feed | /collection/joinup | RSS feed for Interoperable Europe Portal | ... |
+   * | Portal feed | /collection/portal | RSS feed for Portal | ... |
    *
    * @param \Behat\Gherkin\Node\TableNode $table
    *   The channel elements data.
diff --git a/tests/src/Traits/OgTrait.php b/tests/src/Traits/OgTrait.php
index f6c13f1067..c71e2324fc 100644
--- a/tests/src/Traits/OgTrait.php
+++ b/tests/src/Traits/OgTrait.php
@@ -75,8 +75,8 @@ protected function subscribeUserToGroup(AccountInterface $user, GroupInterface $
   protected function convertOgRoleNamesToIds(array $roles, EntityInterface $group): array {
     $role_prefix = $group->getEntityTypeId() . '-' . $group->bundle() . '-';
     foreach ($roles as $key => $role) {
-      // What is called a "collection owner" or a "solution owner" in Interoperable Europe Portal, is
-      // known as an "administrator" in OG.
+      // What is called a "collection owner" or a "solution owner" in
+      // Interoperable Europe Portal, is known as an "administrator" in OG.
       $role = $role === 'owner' ? 'administrator' : $role;
       $roles[$key] = $role_prefix . $role;
     }
@@ -235,10 +235,11 @@ protected function givenUserMembership(RdfInterface $group, array $values): void
     if (!empty($values['roles'])) {
       $role_names = explode(',', $values['roles']);
       $role_names = array_map('trim', $role_names);
-      // Every owner is also a facilitator. In Interoperable Europe Portal the facilitator role is
-      // assigned to the owner when they create the collection. Since in this
-      // step the collections are already created, mimick this behaviour by
-      // making sure every owner also has the 'facilitator' role.
+      // Every owner is also a facilitator. In Interoperable Europe Portal the
+      // facilitator role is assigned to the owner when they create the
+      // collection. Since in this step the collections are already created,
+      // mimick this behaviour by making sure every owner also has the
+      // 'facilitator' role.
       if (in_array('owner', $role_names) && !in_array('facilitator', $role_names)) {
         $role_names[] = 'facilitator';
       }
diff --git a/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php b/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php
index 6207922295..f7cc8aa9e5 100644
--- a/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php
+++ b/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php
@@ -45,9 +45,10 @@ public function loadOverrides($names): array {
           'email' => 'E-mail address',
         ],
       ],
-      // The Interoperable Europe Portal EU Login module customizes the validation path of the CAS
-      // ticket validation service. Restore it to the value that corresponds to
-      // the CAS 3.0 specification which is implemented by the CAS mock server.
+      // The Interoperable Europe Portal EU Login module customizes the
+      // validation path of the CAS ticket validation service. Restore it to
+      // the value that corresponds to the CAS 3.0 specification which is
+      // implemented by the CAS mock server.
       'joinup_eulogin.settings' => [
         'ticket_validation' => [
           'path' => 'p3/serviceValidate',
diff --git a/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module b/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module
index 19d5473d47..12fbbad73e 100644
--- a/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module
+++ b/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module
@@ -19,7 +19,8 @@
 /**
  * Implements hook_ENTITY_TYPE_insert().
  *
- * Add the 'Interoperable Europe Portal' collection membership to every new user.
+ * Add the 'Interoperable Europe Portal' collection membership to
+ * every new user.
  */
 function joinup_collection_user_insert(UserInterface $account): void {
   /** @var \Drupal\collection\Entity\CollectionInterface $joinup_collection */
@@ -61,9 +62,10 @@ function joinup_collection_form_views_form_og_members_overview_default_alter(&$f
  */
 function joinup_collection_rdf_entity_insert(EntityInterface $entity): void {
   // Invalidate a custom cache tag, used to rebuild the hamburger menu so that
-  // the 'About us' link can be shown dependending on whether the Interoperable Europe Portal
-  // collection exists. Mainly intended for tests since in the production site
-  // the Interoperable Europe Portal collection is not regularly deleted.
+  // the 'About us' link can be shown dependending on whether the Interoperable
+  // Europe Portal collection exists. Mainly intended for tests since in the
+  // production site the Interoperable Europe Portal collection is not
+  // regularly deleted.
   if ($entity->id() === JoinupCollectionHelper::getCollectionId()) {
     Cache::invalidateTags(['joinup_collection:exists']);
   }
diff --git a/web/modules/custom/joinup_core/joinup_core.module b/web/modules/custom/joinup_core/joinup_core.module
index c22c2635b3..2296d337d9 100644
--- a/web/modules/custom/joinup_core/joinup_core.module
+++ b/web/modules/custom/joinup_core/joinup_core.module
@@ -460,8 +460,8 @@ function joinup_core_menu_local_tasks_alter(&$data, $route_name, RefinableCachea
  * Implements hook_page_attachments().
  */
 function joinup_core_page_attachments(array &$attachments): void {
-  // As Interoperable Europe Portal uses multiple themes, we pass the active theme to the page to be
-  // used in various contexts.
+  // As Interoperable Europe Portal uses multiple themes, we pass the active
+  // theme to the page to be used in various contexts.
   $attachments['#attached']['drupalSettings']['theme'] = \Drupal::theme()->getActiveTheme()->getName();
 }
 
diff --git a/web/modules/custom/joinup_core/src/JoinupVersionInterface.php b/web/modules/custom/joinup_core/src/JoinupVersionInterface.php
index efeb9c15e3..82c214fae8 100644
--- a/web/modules/custom/joinup_core/src/JoinupVersionInterface.php
+++ b/web/modules/custom/joinup_core/src/JoinupVersionInterface.php
@@ -28,7 +28,8 @@ interface JoinupVersionInterface {
    * Returns a string that uniquely identifies the current Interoperable Europe Portal version.
    *
    * @return string
-   *   The Interoperable Europe Portal version. This is in the format as returned by `git describe`.
+   *   The Interoperable Europe Portal version. This is in the format as
+   *   returned by `git describe`.
    *   - If a release is checked out this will be the git tag, e.g. 'v1.56.0'.
    *   - If a development version is checked out, the version is composed of the
    *     closest git tag, followed by a dash, the number of commits that follow
diff --git a/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php b/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php
index fea89f290a..5a7b40b1e2 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php
@@ -17,8 +17,9 @@
  * always visible so if there is only 1 tab active, it is the current one and
  * the user does not need to click to go to the current page.
  *
- * In Interoperable Europe Portal, we are hiding off the "View" tab for canonical paths. This can
- * result in cases where there is only 1 tab left but it is not the current one.
+ * In Interoperable Europe Portal, we are hiding off the "View" tab for
+ * canonical paths. This can result in cases where there is only 1 tab
+ * left but it is not the current one.
  * Thus, we need to override the primary tabs block in order to allow a single
  * tab to be viewed.
  *
diff --git a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php
index a8b91ab431..24b95aba85 100644
--- a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php
+++ b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php
@@ -84,9 +84,9 @@ public static function getSubscribedEvents(): array {
    * Normally we should have split the events into more specific events, like
    * 'comment create', 'comment update', 'comment delete'. Just 'comment crud'
    * is too generic and is not actually an event. In order to keep the
-   * compatibility with Interoperable Europe Portal Notification module, we use this proxy method to
-   * delegate the reaction to a specific protected method, based on the real
-   * operation being performed.
+   * compatibility with Interoperable Europe Portal Notification module, we use
+   * this proxy method to delegate the reaction to a specific protected method,
+   * based on the real operation being performed.
    *
    * @param \Drupal\joinup_notification\Event\NotificationEvent $event
    *   The notification event object.
diff --git a/web/modules/custom/joinup_eulogin/joinup_eulogin.module b/web/modules/custom/joinup_eulogin/joinup_eulogin.module
index 28394dab03..dfc09b8b48 100644
--- a/web/modules/custom/joinup_eulogin/joinup_eulogin.module
+++ b/web/modules/custom/joinup_eulogin/joinup_eulogin.module
@@ -51,9 +51,9 @@ function joinup_eulogin_form_user_form_alter(array &$form, FormStateInterface $f
   $account = $form_state->getFormObject()->getEntity();
   // This hook implementation runs after cas_form_user_form_alter() because the
   // two modules have the same weight but the module list is sorted by weight
-  // and then alphabetically, making the CAS module to be placed before 'Interoperable Europe Portal
-  // EU Login'. For this reason, it's safe to use the form alter to overwrite
-  // the behavior of CAS module hook implementation.
+  // and then alphabetically, making the CAS module to be placed before
+  // 'Interoperable Europe Portal EU Login'. For this reason, it's safe to use
+  // the form alter to overwrite the behavior of CAS module hook implementation.
   // @see module_config_sort()
   // @see cas_form_user_form_alter()
   $cas_settings = \Drupal::config('cas.settings');
diff --git a/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php b/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php
index f29770f0b5..8a08e32f81 100644
--- a/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php
+++ b/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php
@@ -220,9 +220,10 @@ public function preventRegisterEmailCollision(CasPreRegisterEvent $event): void
    *
    * When users are changing their EU Login account email, upstream, it might
    * happen that another user is registered with the same email address on
-   * Interoperable Europe Portal. This would lead to duplicate emails on Interoperable Europe Portal which is unacceptable
-   * with respect to data integrity. Note that Drupal allows email duplicates at
-   * API level but not when using the UI. However, Interoperable Europe Portal is enforcing email
+   * Interoperable Europe Portal. This would lead to duplicate emails on
+   * Interoperable Europe Portal which is unacceptable with respect to data
+   * integrity. Note that Drupal allows email duplicates at API level but not
+   * when using the UI. However, Interoperable Europe Portal is enforcing email
    * uniqueness across users. As this edge case is very rare and unlikely, we
    * only throw an exception.
    *
diff --git a/web/modules/custom/joinup_featured/joinup_featured.module b/web/modules/custom/joinup_featured/joinup_featured.module
index a0a71c697f..247c4816fd 100644
--- a/web/modules/custom/joinup_featured/joinup_featured.module
+++ b/web/modules/custom/joinup_featured/joinup_featured.module
@@ -85,7 +85,8 @@ function joinup_featured_meta_entity_delete(MetaEntityInterface $entity): void {
  */
 function joinup_featured_entity_view_alter(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display): void {
   if ($entity instanceof FeaturedContentInterface) {
-    // Note: the 'entity' contextual link group is added by the Interoperable Europe Portal profile.
+    // Note: the 'entity' contextual link group is added by the
+    // Interoperable Europe Portal profile.
     // @see joinup_entity_view_alter()
     $build['#contextual_links']['entity']['metadata']['is_featured'] = (int) $entity->isFeatured();
     $build['#contextual_links']['entity']['metadata']['token'] = \Drupal::service('csrf_token')->get(__FUNCTION__);
diff --git a/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php b/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php
index 4f7e6e2029..a08ead96c6 100644
--- a/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php
+++ b/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php
@@ -9,10 +9,10 @@
 /**
  * Interface for content entities that can be featured.
  *
- * In Interoperable Europe Portal moderators can designate important content to be "featured site
- * wide". Featured content will show prominently at the top of lists, is
- * highlighted with an icon, and the user can use facet filters to only see
- * featured content.
+ * In Interoperable Europe Portal moderators can designate important content
+ * to be "featured site wide". Featured content will show prominently at the
+ * top of lists, is highlighted with an icon, and the user can use facet
+ * filters to only see featured content.
  *
  * Only moderators can decide which content is features, but all users can see
  * it. It applies to collections, solutions and community content.
diff --git a/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php b/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php
index e496cbeb6c..8ca006a357 100644
--- a/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php
+++ b/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php
@@ -15,7 +15,8 @@
  *
  * This block is placed on the front page and shows a swipeable list of recently
  * published content of 4 types: collections, solutions, news and events. The
- * intention is that users can get a quick view of what is new on Interoperable Europe Portal.
+ * intention is that users can get a quick view of what is new on
+ * Interoperable Europe Portal.
  *
  * For each content type the 12 most recent items are shown. They are rendered
  * using the `explore_item` view mode which is exclusive for this block.
diff --git a/web/modules/custom/joinup_group/joinup_group.module b/web/modules/custom/joinup_group/joinup_group.module
index 2b3d8e576e..cf51754884 100644
--- a/web/modules/custom/joinup_group/joinup_group.module
+++ b/web/modules/custom/joinup_group/joinup_group.module
@@ -883,9 +883,9 @@ function joinup_group_user_predelete(EntityInterface $entity): void {
  *
  * If a user gets blocked in the entire site we no longer want to include this
  * user in the collection membership counts. We handle this use case here in
- * Interoperable Europe Portal Core since Organic Groups currently only handles users that are
- * blocked on group level through the membership state; at this time OG is not
- * acting on users that are blocked on user level.
+ * Interoperable Europe Portal Core since Organic Groups currently only handles
+ * users that are blocked on group level through the membership state; at this
+ * time OG is not acting on users that are blocked on user level.
  */
 function joinup_group_user_update(UserInterface $user): void {
   // Only invalidate the tags if the user is being (un)blocked.
diff --git a/web/modules/custom/joinup_group/src/Entity/GroupInterface.php b/web/modules/custom/joinup_group/src/Entity/GroupInterface.php
index 82efa52986..91f2c1073f 100644
--- a/web/modules/custom/joinup_group/src/Entity/GroupInterface.php
+++ b/web/modules/custom/joinup_group/src/Entity/GroupInterface.php
@@ -111,11 +111,12 @@ public function getGroupAccess(string $permission, ?AccountInterface $user = NUL
   /**
    * Returns the group owners.
    *
-   * In Interoperable Europe Portal every new group has exactly one owner. However there are still a
-   * number of solutions which were migrated from the legacy platform which have
-   * multiple owners. Since we enforce a single owner when an ownership transfer
-   * is initiated, the number of groups with multiple owners will reduce over
-   * time. For the moment though we still need to account for multiple owners.
+   * In Interoperable Europe Portal every new group has exactly one owner.
+   * However there are still a number of solutions which were migrated from
+   * the legacy platform which have multiple owners. Since we enforce a single
+   * owner when an ownership transfer is initiated, the number of groups with
+   * multiple owners will reduce over time. For the moment though we still
+   * need to account for multiple owners.
    *
    * During some special operations it is possible that no group owner is
    * assigned. For example when the group is initially created, during transfer
@@ -129,11 +130,12 @@ public function getGroupOwners(): array;
   /**
    * Returns the user IDs of the group owners.
    *
-   * In Interoperable Europe Portal every new group has exactly one owner. However there are still a
-   * number of solutions which were migrated from the legacy platform which have
-   * multiple owners. Since we enforce a single owner when an ownership transfer
-   * is initiated, the number of groups with multiple owners will reduce over
-   * time. For the moment though we still need to account for multiple owners.
+   * In Interoperable Europe Portal every new group has exactly one owner.
+   * However there are still a number of solutions which were migrated from
+   * the legacy platform which have multiple owners. Since we enforce a single
+   * owner when an ownership transfer is initiated, the number of groups with
+   * multiple owners will reduce over time. For the moment though we still need
+   * to account for multiple owners.
    *
    * During some special operations it is possible that no group owner is
    * assigned. For example when the group is initially created, during transfer
@@ -158,10 +160,11 @@ public function isGroupOwner(int $uid): bool;
   /**
    * Returns whether the user with the given ID is the sole group owner.
    *
-   * In Interoperable Europe Portal every new group has exactly one owner. However there are still a
-   * number of solutions which were migrated from the legacy platform which have
-   * multiple owners. In some cases (such as transferring group ownership) we
-   * need to be able to ascertain that a user is the sole owner of a group.
+   * In Interoperable Europe Portal every new group has exactly one owner.
+   * However there are still a number of solutions which were migrated from
+   * the legacy platform which have multiple owners. In some cases
+   * (such as transferring group ownership) we need to be able to ascertain
+   * that a user is the sole owner of a group.
    *
    * @param int $uid
    *   The user ID.
diff --git a/web/modules/custom/joinup_group/src/Entity/GroupTrait.php b/web/modules/custom/joinup_group/src/Entity/GroupTrait.php
index b0fd3c45ad..c6bdeca9ff 100644
--- a/web/modules/custom/joinup_group/src/Entity/GroupTrait.php
+++ b/web/modules/custom/joinup_group/src/Entity/GroupTrait.php
@@ -78,7 +78,8 @@ public function createMembership(?int $uid = NULL, ?string $role = 'member', ?st
     }
 
     // Validate the role. We cannot create additional memberships for owners /
-    // administrators since in Interoperable Europe Portal every group has a single owner.
+    // administrators since in Interoperable Europe Portal every group
+    // has a single owner.
     if (!in_array($role, ['member', 'author', 'facilitator'])) {
       throw new \InvalidArgumentException("Cannot create membership with role '$role'.");
     }
diff --git a/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php b/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php
index 9cf0da79c7..522c33bc90 100644
--- a/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php
+++ b/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php
@@ -25,7 +25,7 @@ public static function getSubscribedEvents(): array {
   }
 
   /**
-   * Selects the Interoperable Europe Portal group page display variant when case.
+   * Selects Interoperable Europe Portal group page display variant when case.
    *
    * @param \Drupal\Core\Render\PageDisplayVariantSelectionEvent $event
    *   The event to process.
diff --git a/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php b/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php
index 79b644ed6e..afec0cfe1a 100644
--- a/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php
+++ b/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php
@@ -182,8 +182,8 @@ public function submitForm(array &$form, FormStateInterface $form_state): void {
       $membership->save();
     }
 
-    // Add the 'owner' role, and also the 'facilitator' role, since in Interoperable Europe Portal
-    // every owner is also a facilitator.
+    // Add the 'owner' role, and also the 'facilitator' role, since in
+    // Interoperable Europe Portal every owner is also a facilitator.
     $administrator_role = OgRole::loadByGroupAndName($group, 'administrator');
     $this->membership
       ->addRole($administrator_role)
diff --git a/web/modules/custom/joinup_group/src/JoinupGroupHelper.php b/web/modules/custom/joinup_group/src/JoinupGroupHelper.php
index 93e5648241..0346e48fcb 100644
--- a/web/modules/custom/joinup_group/src/JoinupGroupHelper.php
+++ b/web/modules/custom/joinup_group/src/JoinupGroupHelper.php
@@ -26,8 +26,8 @@ class JoinupGroupHelper {
   /**
    * Returns the group the entity belongs to.
    *
-   * This relies on the fact that in Interoperable Europe Portal every group content entity only
-   * belongs to a single group.
+   * This relies on the fact that in Interoperable Europe Portal every group
+   * content entity only belongs to a single group.
    *
    * Call this only if you transparently need to support both comment entities
    * and standard group content. If you are dealing only with group content,
diff --git a/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php b/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php
index c7ed806ed6..618228981e 100644
--- a/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php
+++ b/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php
@@ -9,7 +9,7 @@
 use Drupal\views\Plugin\views\argument_validator\Entity;
 
 /**
- * Defines argument validator plugin for the Interoperable Europe Portal group entity ID.
+ * Defines argument validator plugin for Interoperable Europe Portal group ID.
  *
  * @ViewsArgumentValidator(
  *    id = "joinup_group_entity_id",
diff --git a/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php b/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php
index 144d00366d..c11b0b5509 100644
--- a/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php
+++ b/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php
@@ -8,7 +8,7 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Alters existing routes for the Interoperable Europe Portal user multiple cancel form.
+ * Modifies routes for Interoperable Europe Portal user multiple cancel form.
  */
 class RouteSubscriber extends RouteSubscriberBase {
 
diff --git a/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php b/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php
index 5148bc73d9..ed844f699d 100644
--- a/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php
+++ b/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php
@@ -12,9 +12,10 @@
 /**
  * Field formatter which strips all HTML.
  *
- * This is tailored to the use case of Interoperable Europe Portal. It relies on a custom text filter
- * format `stripped_html` which includes all of the filters that are commonly
- * used in Interoperable Europe Portal, such as Interoperable Europe Portal Video, Glossary items, etc.
+ * This is tailored to the use case of Interoperable Europe Portal. It relies
+ * on a custom text filter format `stripped_html` which includes all of the
+ * filters that are commonly used in Interoperable Europe Portal, such as
+ * Interoperable Europe Portal Video, Glossary items, etc.
  *
  * The goal of this is to be able to not only strip vanilla HTML elements that
  * are present in the content but also placeholder tokens which are included by
diff --git a/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php b/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php
index d4b88aeeb9..eb8d28f6e2 100644
--- a/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php
+++ b/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php
@@ -31,7 +31,8 @@ class LicenceComparerController extends ControllerBase {
    * Responds to a request made to 'joinup_licence.comparer' route.
    *
    * @param \Drupal\joinup_licence\Entity\LicenceInterface[] $licences
-   *   An ordered list of Interoperable Europe Portal licence entities keyed by their SPDX ID.
+   *   An ordered list of Interoperable Europe Portal licence entities
+   *   keyed by their SPDX ID.
    *
    * @return array
    *   A render array.
diff --git a/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php b/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php
index 56d2e9c8d9..70ada21fbf 100644
--- a/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php
+++ b/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php
@@ -71,7 +71,8 @@ public function convert($value, $definition, $name, array $defaults) {
       ->condition('spdx_licence.target_id', $actual_spdx_ids, 'IN')
       ->execute();
 
-    // Some of the passed SPDX IDs don't have a related Interoperable Europe Portal licence.
+    // Some of the passed SPDX IDs don't have a related
+    // Interoperable Europe Portal licence.
     if (count($spdx_ids) > count($actual_licence_ids)) {
       return NULL;
     }
@@ -85,7 +86,8 @@ public function convert($value, $definition, $name, array $defaults) {
       return $spdx_ids_order[$licence_a_spdx_id] <=> $spdx_ids_order[$licence_b_spdx_id];
     });
 
-    // An ordered list of Interoperable Europe Portal licence entities keyed by their SPDX ID.
+    // An ordered list of Interoperable Europe Portal licence entities
+    // keyed by their SPDX ID.
     return array_combine($spdx_ids, $licences);
   }
 
diff --git a/web/modules/custom/joinup_menu/src/MenuHelper.php b/web/modules/custom/joinup_menu/src/MenuHelper.php
index 4659650e05..c23c8f9279 100644
--- a/web/modules/custom/joinup_menu/src/MenuHelper.php
+++ b/web/modules/custom/joinup_menu/src/MenuHelper.php
@@ -127,11 +127,12 @@ public function getBclAnonymousMenu(): array {
       ];
     }
     catch (Exception $e) {
-      // The Interoperable Europe Portal collection could not be loaded or the link to the About page
-      // could not be generated. This should not crash the page since the
-      // collection is considered to be optional. It is for example possible for
-      // a project to reuse the Interoperable Europe Portal open source code without hosting a
-      // "Interoperable Europe Portal" collection.
+      // The Interoperable Europe Portal collection could not be loaded or the
+      // link to the About page could not be generated. This should not crash
+      // the page since the collection is considered to be optional. It is for
+      // example possible for a project to reuse the Interoperable Europe
+      // Portal open source code without hosting a "Interoperable Europe
+      // Portal" collection.
       // However, in scope of the Ventuno theme the About Us link is considered
       // to be an important element, so we log a warning to alert the webmaster
       // that corrective action is required.
diff --git a/web/modules/custom/joinup_notification/src/EntityMessageHelper.php b/web/modules/custom/joinup_notification/src/EntityMessageHelper.php
index 8780d2c125..9814bf352f 100644
--- a/web/modules/custom/joinup_notification/src/EntityMessageHelper.php
+++ b/web/modules/custom/joinup_notification/src/EntityMessageHelper.php
@@ -113,10 +113,10 @@ public function getMessageEntityStorage(): EntityStorageInterface {
       $storage = $this->entityTypeManager->getStorage('message');
     }
     catch (InvalidPluginDefinitionException $e) {
-      // Since the Interoperable Europe Portal Notification module depends on the Message module we
-      // can reasonably expect that the Message entity type is available at
-      // runtime and we don't need to handle the possibility that it is not
-      // defined.
+      // Since the Interoperable Europe Portal Notification module depends on
+      // the Message module we can reasonably expect that the Message entity
+      // type is available at runtime and we don't need to handle the
+      // possibility that it is not defined.
       // Instead of ignoring this silently, convert it in an (unchecked) runtime
       // exception. This will make sure that in the extremely rare case that
       // this exception might still be thrown, the error will still be logged,
diff --git a/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php b/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
index 9924fec5ca..eaf15f611d 100644
--- a/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
+++ b/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
@@ -51,8 +51,8 @@ public static function getActorArguments(?UserInterface $actor = NULL): array {
 
     if ($actor->isAnonymous()) {
       // If an anonymous is creating content, set the first name to also be 'the
-      // Interoperable Europe Portal Moderation Team' because some emails use only the first name
-      // instead of the full name.
+      // Interoperable Europe Portal Moderation Team' because some emails use
+      // only the first name instead of the full name.
       $arguments['@actor:role'] = 'moderator';
       $arguments['@actor:full_name'] = $arguments['@actor:field_user_first_name'] = 'the Interoperable Europe Portal Moderation Team';
     }
@@ -144,9 +144,10 @@ public static function getOgMembershipArguments(OgMembershipInterface $membershi
       // If the user is an administrator they will also have inherited the
       // facilitator role. Having multiple roles might be confusing for
       // non-technical users. Let's just call them the 'owner'.
-      // Note that in Interoperable Europe Portal the OG admin roles don't have the `is_admin` flag
-      // set because this would unlock unwanted permissions, so we cannot use
-      // `$role->isAdmin()` here. Instead we check if the role name matches.
+      // Note that in Interoperable Europe Portal the OG admin roles don't have
+      // the `is_admin` flag set because this would unlock unwanted
+      // permissions, so we cannot use `$role->isAdmin()` here. Instead we
+      // check if the role name matches.
       if ($role->getName() === OgRoleInterface::ADMINISTRATOR) {
         $roles = ['owner'];
         break;
diff --git a/web/modules/custom/joinup_slick/joinup_slick.module b/web/modules/custom/joinup_slick/joinup_slick.module
index 21ca91a6f0..99f1167906 100644
--- a/web/modules/custom/joinup_slick/joinup_slick.module
+++ b/web/modules/custom/joinup_slick/joinup_slick.module
@@ -159,8 +159,8 @@ function joinup_slick_preprocess_slick(array &$variables): void {
  * Implements hook_preprocess_HOOK() for "slick_slide".
  */
 function joinup_slick_preprocess_slick_slide(array &$variables): void {
-  // Always use wrapper and content attributes if this is a Interoperable Europe Portal Slick
-  // instance.
+  // Always use wrapper and content attributes if this is
+  // Interoperable Europe Portal Slick instance.
   if (!empty($variables['settings']['joinup_slick'])) {
     $variables['settings']['wrapper'] = TRUE;
     $variables['settings']['use_ca'] = TRUE;
diff --git a/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php b/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php
index e80eff1cb8..ba5c4582d4 100644
--- a/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php
+++ b/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php
@@ -153,12 +153,12 @@ public function submitForm(array &$form, FormStateInterface $form_state): void {
         )
       );
 
-      // In Interoperable Europe Portal, Search API indexes are updated "immediately". Actually, this
-      // means that when an indexed entity is changed (or an entity is added) in
-      // a PHP thread, re-indexing is triggered by
-      // \Drupal\search_api\Utility\PostRequestIndexing after the response is
-      // sent to the client. This means that there will be two concurrent PHP
-      // threads:
+      // In Interoperable Europe Portal, Search API indexes are updated
+      // "immediately". Actually, this means that when an indexed entity is
+      // changed (or an entity is added) in a PHP thread, re-indexing is
+      // triggered by \Drupal\search_api\Utility\PostRequestIndexing after
+      // the response is sent to the client. This means that there will be
+      // two concurrent PHP threads:
       // - The initial thread, which is performing the re-indexing of the
       //   changed entities.
       // - The second thread, which starts to render the (VBO) form what the
diff --git a/web/profiles/joinup/src/JoinupPermissions.php b/web/profiles/joinup/src/JoinupPermissions.php
index bd150c8a8f..62fc2b91e5 100644
--- a/web/profiles/joinup/src/JoinupPermissions.php
+++ b/web/profiles/joinup/src/JoinupPermissions.php
@@ -17,8 +17,9 @@ class JoinupPermissions {
   /**
    * Returns an array of permissions related to Rdf types.
    *
-   * The Interoperable Europe Portal profile alters a new form display mode into the Rdf entity type,
-   * and this provides permissions to use those forms for each type.
+   * The Interoperable Europe Portal profile alters a new form display mode
+   * into the Rdf entity type, and this provides permissions to use those
+   * forms for each type.
    *
    * @return array
    *   The permissions.
diff --git a/web/themes/ventuno/includes/layout.inc b/web/themes/ventuno/includes/layout.inc
index 610b9a9780..60443ed302 100644
--- a/web/themes/ventuno/includes/layout.inc
+++ b/web/themes/ventuno/includes/layout.inc
@@ -16,7 +16,8 @@
  * Implements hook_preprocess_page().
  */
 function ventuno_preprocess_page(array &$variables): void {
-  // Retrieve the Interoperable Europe Portal version and link to display in the footer.
+  // Retrieve the Interoperable Europe Portal version and link to display
+  // in the footer.
   // @todo Move this into a block.
   /** @var \Drupal\joinup_core\JoinupVersionInterface $joinup_version */
   $joinup_version = \Drupal::service('joinup_core.joinup_version');
@@ -46,7 +47,8 @@ function ventuno_preprocess_page(array &$variables): void {
   // Populate the links shown to anonymous users.
   $variables['anonymous_links'] = $menu_helper->getBclAnonymousMenu();
 
-  // The "About us" link is only shown if the Interoperable Europe Portal collection exists.
+  // The "About us" link is only shown if the Interoperable Europe Portal
+  // collection exists.
   $variables['#cache']['tags'][] = 'joinup_collection:exists';
   // Moderator can change navbar links.
   $variables['#cache']['tags'][] = 'config:system.menu.navbar';
diff --git a/web/themes/ventuno/includes/licence_assistant.inc b/web/themes/ventuno/includes/licence_assistant.inc
index 451f5fc8c3..1dec98dc5a 100644
--- a/web/themes/ventuno/includes/licence_assistant.inc
+++ b/web/themes/ventuno/includes/licence_assistant.inc
@@ -19,8 +19,8 @@ function ventuno_preprocess_licence_filter_list(array &$variables): void {
  * Implements hook_preprocess_HOOK().
  *
  * Provides variables needed for the compatibility_check view mode of licences.
- * This is used on the Interoperable Europe Portal Licence Assistant Compatibility Check overview
- * page.
+ * This is used on the Interoperable Europe Portal Licence Assistant
+ * Compatibility Check overview page.
  */
 function ventuno_preprocess_node__licence__compatibility_check(array &$variables): void {
   ventuno_preprocess_node__licence__jla($variables);
@@ -49,7 +49,8 @@ function ventuno_preprocess_node__licence__jla(array &$variables): void {
  * Implements hook_preprocess_HOOK().
  *
  * Provides variables needed for the search_list_item view mode of licences.
- * This is used on the Interoperable Europe Portal Licence Assistant overview page.
+ * This is used on the Interoperable Europe Portal Licence Assistant
+ * overview page.
  */
 function ventuno_preprocess_node__licence__view_mode_search_list_item(array &$variables): void {
   ventuno_preprocess_node__licence__jla($variables);
diff --git a/web/themes/ventuno/includes/rdf_entity.inc b/web/themes/ventuno/includes/rdf_entity.inc
index aaea58b03b..5e3ea93a45 100644
--- a/web/themes/ventuno/includes/rdf_entity.inc
+++ b/web/themes/ventuno/includes/rdf_entity.inc
@@ -77,7 +77,8 @@ function ventuno_preprocess_rdf_entity__solution__view_mode_search_list_item(arr
   }
 
   // Provides variables needed for the search_list_item view mode of licences.
-  // This is used on the Interoperable Europe Portal Licence Assistant overview page.
+  // This is used on the Interoperable Europe Portal Licence Assistant
+  // overview page.
   $data_property_categories = [];
 
   $parent_id = 'solution-category';
-- 
GitLab


From 82f42fe5650c96450c8f183da089503e6bcfb088 Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Mon, 28 Oct 2024 22:52:19 +0000
Subject: [PATCH 14/33] ISAICP-8856: Fix more tests.

---
 tests/features/homepage.feature               |  2 +-
 tests/features/joinup_seo/discussion.feature  | 30 ++++++-------
 tests/features/joinup_seo/document.feature    | 12 +++---
 tests/features/joinup_seo/news.feature        | 42 +++++++++----------
 tests/features/smoke_test.feature             |  2 +-
 tests/features/user/profile.feature           |  4 +-
 tests/features/user/roles.feature             |  8 ++--
 .../src/Functional/ContactFormMailTest.php    |  8 ++--
 8 files changed, 55 insertions(+), 53 deletions(-)

diff --git a/tests/features/homepage.feature b/tests/features/homepage.feature
index c73a5b811f..711ff4a93a 100644
--- a/tests/features/homepage.feature
+++ b/tests/features/homepage.feature
@@ -185,7 +185,7 @@ Feature: Homepage
     And the response should not contain "http://raresteaktown.com"
 
     When I click "Read more" in the "Highlighted event"
-    Then the url should match "/collection/portal/event/florentine-steak-festival"
+    Then the url should match "/collection/interoperable-europe-portal/event/florentine-steak-festival"
 
     # The "More events" link should temporarily link to the search page with the
     # events pre-filtered. This will be replaced with the events page later.
diff --git a/tests/features/joinup_seo/discussion.feature b/tests/features/joinup_seo/discussion.feature
index 168ada1076..77dbdabbfe 100644
--- a/tests/features/joinup_seo/discussion.feature
+++ b/tests/features/joinup_seo/discussion.feature
@@ -19,15 +19,15 @@ Feature: SEO for discussion forum posts.
     Then the metatag JSON should be attached in the page
     And 1 metatag graph of type "http://schema.org/DiscussionForumPosting" should exist in the page
     And the metatag graph of the item with "name" "Discussions are now forum posts" should have the following properties:
-      | property            | value                                                                                               |
-      | @type               | http://schema.org/DiscussionForumPosting                                                            |
-      | headline            | Discussions are now forum posts                                                                     |
-      | name                | Discussions are now forum posts                                                                     |
-      | description         | This discussion is to ensure that SEO tags are set properly.                                        |
-      | datePublished       | 2019-12-25T13:00:00+0000                                                                            |
-      | isAccessibleForFree | True                                                                                                |
-      | dateModified        | 2020-01-01T13:00:00+0000                                                                            |
-      | mainEntityOfPage    | __base_url__/collection/portal-seo-discussion-collection/discussion/discussions-are-now-forum-posts |
+      | property            | value                                                                                                                    |
+      | @type               | http://schema.org/DiscussionForumPosting                                                                                 |
+      | headline            | Discussions are now forum posts                                                                                          |
+      | name                | Discussions are now forum posts                                                                                          |
+      | description         | This discussion is to ensure that SEO tags are set properly.                                                             |
+      | datePublished       | 2019-12-25T13:00:00+0000                                                                                                 |
+      | isAccessibleForFree | True                                                                                                                     |
+      | dateModified        | 2020-01-01T13:00:00+0000                                                                                                 |
+      | mainEntityOfPage    | __base_url__/collection/interoperable-europe-portal-seo-discussion-collection/discussion/discussions-are-now-forum-posts |
     # Adding numerical property values is turning the "about" property into an array comparison.
     And the metatag graph of the item with "name" "Discussions are now forum posts" should have the following "about" properties:
       | property | value      |
@@ -75,12 +75,12 @@ Feature: SEO for discussion forum posts.
       | name     | Kindle eReader                    |
       | url      | __base_url__/user/__random_text__ |
     And the following meta tags should available in the html:
-      | identifier     | value                                                                                               |
-      | description    | This discussion is to ensure that SEO tags are set properly.                                        |
-      | og:url         | __base_url__/collection/portal-seo-discussion-collection/discussion/discussions-are-now-forum-posts |
-      | og:site_name   | Interoperable Europe Portal                                                                         |
-      | og:title       | Discussions are now forum posts                                                                     |
-      | og:description | This discussion is to ensure that SEO tags are set properly.                                        |
+      | identifier     | value                                                                                                                    |
+      | description    | This discussion is to ensure that SEO tags are set properly.                                                             |
+      | og:url         | __base_url__/collection/interoperable-europe-portal-seo-discussion-collection/discussion/discussions-are-now-forum-posts |
+      | og:site_name   | Interoperable Europe Portal                                                                                              |
+      | og:title       | Discussions are now forum posts                                                                                          |
+      | og:description | This discussion is to ensure that SEO tags are set properly.                                                             |
 
     When I visit the content overview
     Then I should see the "Discussions are now forum posts" tile
diff --git a/tests/features/joinup_seo/document.feature b/tests/features/joinup_seo/document.feature
index f4a7fffb07..b614504ca9 100644
--- a/tests/features/joinup_seo/document.feature
+++ b/tests/features/joinup_seo/document.feature
@@ -59,12 +59,12 @@ Feature: SEO for document content.
       | name     | Scrapper Jedi                     |
       | url      | __base_url__/user/__random_text__ |
     And the following meta tags should available in the html:
-      | identifier     | value                                                                        |
-      | description    | Document test1.zip                                                           |
-      | og:url         | __base_url__/collection/portal-seo-document-collection/document/seo-document |
-      | og:site_name   | Interoperable Europe Portal                                                  |
-      | og:title       | SEO document                                                                 |
-      | og:description | Document test1.zip                                                           |
+      | identifier     | value                                                                                             |
+      | description    | Document test1.zip                                                                                |
+      | og:url         | __base_url__/collection/interoperable-europe-portal-seo-document-collection/document/seo-document |
+      | og:site_name   | Interoperable Europe Portal                                                                       |
+      | og:title       | SEO document                                                                                      |
+      | og:description | Document test1.zip                                                                                |
 
     When I visit the content overview
     Then I should see the "SEO document" tile
diff --git a/tests/features/joinup_seo/news.feature b/tests/features/joinup_seo/news.feature
index 10e80f9e03..4dee664cfc 100644
--- a/tests/features/joinup_seo/news.feature
+++ b/tests/features/joinup_seo/news.feature
@@ -19,15 +19,15 @@ Feature: SEO for news articles.
     Then the metatag JSON should be attached in the page
     And 1 metatag graph of type "http://schema.org/NewsArticle" should exist in the page
     And the metatag graph of the item with "name" "Interoperable Europe Portal SEO news" should have the following properties:
-      | property            | value                                                                   |
-      | @type               | http://schema.org/NewsArticle                                           |
-      | headline            | Headline of Interoperable Europe Portal SEO news                                             |
-      | description         | Body of news.                                                           |
-      | isAccessibleForFree | True                                                                    |
-      | datePublished       | 2019-12-25T13:00:00+0000                                                |
-      | dateModified        | 2020-01-01T13:00:00+0000                                                |
+      | property            | value                                                                                                              |
+      | @type               | http://schema.org/NewsArticle                                                                                      |
+      | headline            | Headline of Interoperable Europe Portal SEO news                                                                   |
+      | description         | Body of news.                                                                                                      |
+      | isAccessibleForFree | True                                                                                                               |
+      | datePublished       | 2019-12-25T13:00:00+0000                                                                                           |
+      | dateModified        | 2020-01-01T13:00:00+0000                                                                                           |
       # __base_url__ will be replaced with the base url of the website.
-      | mainEntityOfPage    | __base_url__/collection/portal-seo-news-collection/news/portal-seo-news |
+      | mainEntityOfPage    | __base_url__/collection/interoperable-europe-portal-seo-news-collection/news/interoperable-europe-portal-seo-news  |
     And the metatag graph of the item with "name" "Interoperable Europe Portal SEO news" should have the following "image" properties:
       | property             | value                         |
       | @type                | http://schema.org/ImageObject |
@@ -50,19 +50,19 @@ Feature: SEO for news articles.
       | name     | Kurk Smith                        |
       | url      | __base_url__/user/__random_text__ |
     And the following meta tags should available in the html:
-      | identifier             | value                                                                   |
-      | description            | Body of news.                                                           |
-      | og:url                 | __base_url__/collection/portal-seo-news-collection/news/portal-seo-news |
-      | og:site_name           | Interoperable Europe Portal                                             |
-      | og:title               | Interoperable Europe Portal SEO news                                                         |
-      | og:description         | Body of news.                                                           |
-      | og:image               | __base_url__/sites/default/files/__random_text__.jpg                    |
-      | og:image:type          | image/jpeg                                                              |
-      | og:image:width         | 377                                                                     |
-      | og:image:height        | 139                                                                     |
-      | article:author         | Kurk Smith                                                              |
-      | article:published_time | 2019-12-25T13:00:00+0000                                                |
-      | article:modified_time  | 2020-01-01T13:00:00+0000                                                |
+      | identifier             | value                                                                                                              |
+      | description            | Body of news.                                                                                                      |
+      | og:url                 | __base_url__/collection/interoperable-europe-portal-seo-news-collection/news/interoperable-europe-portal-seo-news  |
+      | og:site_name           | Interoperable Europe Portal                                                                                        |
+      | og:title               | Interoperable Europe Portal SEO news                                                                               |
+      | og:description         | Body of news.                                                                                                      |
+      | og:image               | __base_url__/sites/default/files/__random_text__.jpg                                                               |
+      | og:image:type          | image/jpeg                                                                                                         |
+      | og:image:width         | 377                                                                                                                |
+      | og:image:height        | 139                                                                                                                |
+      | article:author         | Kurk Smith                                                                                                         |
+      | article:published_time | 2019-12-25T13:00:00+0000                                                                                           |
+      | article:modified_time  | 2020-01-01T13:00:00+0000                                                                                           |
 
     When I visit the content overview
     Then I should see the "Interoperable Europe Portal SEO news" tile
diff --git a/tests/features/smoke_test.feature b/tests/features/smoke_test.feature
index 7dbe00d173..6e0b977c66 100644
--- a/tests/features/smoke_test.feature
+++ b/tests/features/smoke_test.feature
@@ -5,7 +5,7 @@ Feature: Minimal install clone testing.
 
     Given I am an anonymous user
     When I visit "/search?keys=joinup&f[0]=type:collection"
-    Then I should see the "The Interoperable Europe Portal" tile
+    Then I should see the "The Portal" tile
     And I should see "The European Commission provides this common place"
 
   Scenario: Assert that the cache backend is set to memcache.
diff --git a/tests/features/user/profile.feature b/tests/features/user/profile.feature
index bef276d7d6..75e66fee56 100644
--- a/tests/features/user/profile.feature
+++ b/tests/features/user/profile.feature
@@ -92,8 +92,8 @@ Feature: User profile
     Then I should see the success message "The changes have been saved."
     And I should see the success message "The user has been notified that their account has been updated."
     And the following email should have been sent:
-      | recipient | Leonardo Da Vinci                                                                                         |
-      | subject   | The Portal Support Team updated your account Interoperable Europe Portal                                            |
+      | recipient | Leonardo Da Vinci                                                                                                              |
+      | subject   | The Portal Support Team updated your account for you at Interoperable Europe Portal                                            |
       | body      | A moderator has edited your user profile on Interoperable Europe Portal. Please check your profile to verify the changes done. |
 
   Scenario: The user public profile page shows the content he's author of or is member of.
diff --git a/tests/features/user/roles.feature b/tests/features/user/roles.feature
index 70e04e3c70..dcf8d80cbe 100644
--- a/tests/features/user/roles.feature
+++ b/tests/features/user/roles.feature
@@ -62,8 +62,8 @@ Feature: User role management
     Then I should see the success message "Add the Moderator role to the selected user(s) was applied to 1 item."
     And I should see the success message "The user has been notified that their account has been updated."
     And the following email should have been sent:
-      | recipient | Nibby Noob                                                                                                |
-      | subject   | The Portal Support Team updated your account Interoperable Europe Portal                                            |
+      | recipient | Nibby Noob                                                                                                                     |
+      | subject   | The Portal Support Team updated your account for you at Interoperable Europe Portal                                            |
       | body      | A moderator has edited your user profile on Interoperable Europe Portal. Please check your profile to verify the changes done. |
 
     Given I am on the homepage
@@ -96,8 +96,8 @@ Feature: User role management
     Then I should see the success message "Add the Licence manager role to the selected user(s) was applied to 1 item."
     And I should see the success message "The user has been notified that their account has been updated."
     And the following email should have been sent:
-      | recipient | Nibby Noob                                                                                                |
-      | subject   | The Portal Support Team updated your account Interoperable Europe Portal                                            |
+      | recipient | Nibby Noob                                                                                                                     |
+      | subject   | The Portal Support Team updated your account for you at Interoperable Europe Portal                                            |
       | body      | A moderator has edited your user profile on Interoperable Europe Portal. Please check your profile to verify the changes done. |
 
     When I am logged in as "Nibby Noob"
diff --git a/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php b/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
index 359f2a08cb..37ca96dd27 100644
--- a/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
+++ b/web/modules/custom/contact_form/tests/src/Functional/ContactFormMailTest.php
@@ -240,7 +240,8 @@ public function providerTestEmailSending(): array {
   const COPY_PLAIN = <<<EOS
 Dear Jane Doe
 
-Thank you for submitting your message to the Interoperable Europe Portal Support.
+Thank you for submitting your message to the Interoperable Europe
+Portal Support.
 
 This is the message you submitted through the online form:
 
@@ -248,7 +249,7 @@ public function providerTestEmailSending(): array {
 
 Content:
 
-> Question about Interoperable Europe Portal
+> Question about Interoperable Europe Portal
 
 Thank you for your interest, we will reply as soon as possible.
 
@@ -293,7 +294,8 @@ public function providerTestEmailSending(): array {
   const WITHOUT_COPY_PLAIN = <<<EOS
 Dear Jane Doe
 
-Thank you for submitting your message to the Interoperable Europe Portal Support.
+Thank you for submitting your message to the Interoperable Europe
+Portal Support.
 
 We will reply as soon as possible.
 
-- 
GitLab


From bad130f32dc99d92350e2fde0741c8d2421a30fb Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Tue, 29 Oct 2024 08:53:42 +0000
Subject: [PATCH 15/33] ISAICP-8856: Revert development comments.

---
 resources/vocab/EIRA_SKOS.rdf                 | 106 +++++++++---------
 .../files/single_solution_valid_adms.rdf      |   2 +-
 tests/fixtures/files/valid_adms.rdf           |   2 +-
 tests/src/Context/CollectionContext.php       |  13 +--
 tests/src/Context/EuplContext.php             |   5 +-
 tests/src/Context/FeatureContext.php          |  13 +--
 tests/src/Context/HomepageContext.php         |   2 +-
 tests/src/Context/JoinupCollectionContext.php |   6 +-
 tests/src/Context/JoinupContext.php           |   8 +-
 tests/src/Context/JoinupCoreContext.php       |   2 +-
 tests/src/Context/JoinupDiscussionContext.php |   2 +-
 tests/src/Context/JoinupLegalContext.php      |   2 +-
 .../src/Context/JoinupSubscriptionContext.php |   2 +-
 tests/src/Context/RssContext.php              |   4 +-
 tests/src/Context/SolutionContext.php         |   2 +-
 .../acceptance/joinup_acceptance.info.yml     |   4 +-
 .../acceptance/joinup_acceptance.install      |   2 +-
 .../adms_validator/adms_validator.info.yml    |   2 +-
 .../custom/collection/collection.info.yml     |   4 +-
 .../src/Controller/GlossaryController.php     |   2 +-
 .../src/Entity/CollectionInterface.php        |   2 +-
 .../src/Entity/GlossaryTermInterface.php      |   2 +-
 .../CollectionGroupSubscriber.php             |   2 +-
 .../custom/contact_form/contact_form.info.yml |   4 +-
 .../contact_form/contact_form.links.menu.yml  |   2 +-
 .../contact_information.info.yml              |   4 +-
 .../Entity/ContactInformationInterface.php    |   4 +-
 .../src/Plugin/CKEditor5Plugin/ContactUs.php  |   2 +-
 .../curated_content_listing.info.yml          |   2 +-
 .../custom/custom_page/custom_page.info.yml   |   2 +-
 .../CustomPageGroupSubscriber.php             |   2 +-
 .../custom/dashboard/dashboard.info.yml       |   4 +-
 .../entityqueue_block.info.yml                |   2 +-
 .../isa2_analytics/isa2_analytics.info.yml    |   2 +-
 .../joinup_bookmark/joinup_bookmark.info.yml  |   2 +-
 .../joinup_bookmark/joinup_bookmark.module    |   2 +-
 .../joinup_bundle_class.info.yml              |   6 +-
 .../joinup_cas_mock_server.info.yml           |   6 +-
 .../JoinupCasMockServerConfigOverrider.php    |   7 +-
 .../joinup_communities/eif/eif.info.yml       |   2 +-
 .../joinup_communities/eira/eira.info.yml     |   2 +-
 .../joinup_communities/eupl/eupl.info.yml     |   2 +-
 .../joinup_communities/eupl/src/Eupl.php      |   2 +-
 .../interoperable_europe.info.yml             |   4 +-
 .../joinup_collection.info.yml                |   6 +-
 .../joinup_collection.module                  |  12 +-
 .../JoinupCollectionLeaveController.php       |   2 +-
 .../src/JoinupCollectionHelper.php            |   6 +-
 .../joinup_oss_catalogue.info.yml             |   4 +-
 .../joinup_oss_catalogue.module               |   2 +-
 .../src/Entity/JoinupOssSolution.php          |   2 +-
 ...oinupOssCatalogueImagecacheWarmerQueue.php |   2 +-
 .../osor/static_pages/implementation.html     |   2 +-
 .../joinup_communities/semic/adopters.xml     |  40 +++----
 .../joinup_communities/semic/semic.info.yml   |   2 +-
 .../joinup_community_content.info.yml         |   6 +-
 ...ityContentWorkflowAccessControlHandler.php |   2 +-
 .../CommunityContentGroupSubscriber.php       |   2 +-
 .../src/EventSubscriber/EventSubscriber.php   |   2 +-
 .../views/filter/JoinupContentState.php       |   2 +-
 .../CommunityContentWorkflowTestBase.php      |   2 +-
 .../config/schema/joinup_core.schema.yml      |   6 +-
 .../custom/joinup_core/joinup_core.deploy.php |   2 +-
 .../custom/joinup_core/joinup_core.info.yml   |   6 +-
 .../custom/joinup_core/joinup_core.install    |   2 +-
 .../joinup_core/joinup_core.links.menu.yml    |   2 +-
 .../custom/joinup_core/joinup_core.module     |   6 +-
 .../joinup_core/joinup_core.post_update.php   |   2 +-
 .../custom/joinup_core/joinup_core.tokens.inc |   2 +-
 .../custom/joinup_core/src/JoinupVersion.php  |   4 +-
 .../src/JoinupVersionInterface.php            |  11 +-
 .../Plugin/Block/JoinupLocalTasksBlock.php    |   5 +-
 .../src/Plugin/Condition/JoinupContent.php    |   2 +-
 ...ltipleCardinalitySupportingEmailWidget.php |   2 +-
 ...ultipleCardinalitySupportingLinkWidget.php |   2 +-
 ...leCardinalitySupportingTextFieldWidget.php |   2 +-
 .../src/Plugin/Filter/FilterIframe.php        |   2 +-
 .../SocialMediaLinks/Iconset/JoinupIcons.php  |   8 +-
 .../Id/JoinupEntityIdGenerator.php            |   2 +-
 .../joinup_test_etrans.info.yml               |   2 +-
 .../joinup_test_etrans.module                 |   2 +-
 .../joinup_test_time.info.yml                 |   2 +-
 .../BlockContextSatisfactionTest.php          |   6 +-
 .../tests/src/ExistingSite/ConfigTest.php     |   2 +-
 .../tests/src/Kernel/JoinupConfigSyncTest.php |   2 +-
 .../Kernel/Mail/JoinupMailKernelTestBase.php  |   2 +-
 .../custom/joinup_debug/joinup_debug.info.yml |   4 +-
 .../custom/joinup_debug/joinup_debug.module   |   2 +-
 .../src/Form/SparqlConsoleForm.php            |   2 +-
 .../src/Form/VocabularyIndexForm.php          |   2 +-
 .../joinup_discussion.info.yml                |   4 +-
 .../joinup_discussion.module                  |   2 +-
 .../src/Entity/DiscussionInterface.php        |   2 +-
 .../src/Event/DiscussionEvents.php            |   2 +-
 .../SubscribedDiscussionCommentSubscriber.php |  14 +--
 .../SubscribedDiscussionSubscriber.php        |   8 +-
 .../joinup_distribution.info.yml              |   2 +-
 .../DistributionGroupSubscriber.php           |   2 +-
 .../joinup_document/joinup_document.info.yml  |   6 +-
 .../joinup_document/joinup_document.module    |   2 +-
 .../src/Entity/DocumentInterface.php          |   2 +-
 .../config/schema/joinup_eulogin.schema.yml   |   2 +-
 .../joinup_eulogin/joinup_eulogin.info.yml    |   4 +-
 .../joinup_eulogin/joinup_eulogin.module      |   8 +-
 .../JoinupEuLoginCasEventsSubscriber.php      |   9 +-
 .../custom/joinup_event/joinup_event.info.yml |   4 +-
 .../custom/joinup_event/joinup_event.module   |   6 +-
 .../src/Entity/EventInterface.php             |   2 +-
 .../joinup_featured/joinup_featured.info.yml  |   4 +-
 .../joinup_featured/joinup_featured.module    |   5 +-
 .../src/FeaturedContentInterface.php          |   8 +-
 .../config/schema/joinup_flag.schema.yml      |   4 +-
 .../custom/joinup_flag/joinup_flag.info.yml   |   4 +-
 .../custom/joinup_flag/joinup_flag.module     |   2 +-
 .../custom/joinup_flag/joinup_flag.views.inc  |   2 +-
 .../processor/JoinupEntityBundle.php          |   2 +-
 .../joinup_front_page.info.yml                |   6 +-
 .../joinup_front_page.module                  |   2 +-
 .../src/Plugin/Block/ExploreBlock.php         |   3 +-
 .../config/schema/joinup_group.schema.yml     |   2 +-
 .../schema/joinup_group.views.schema.yml      |   4 +-
 .../custom/joinup_group/joinup_group.info.yml |   6 +-
 .../custom/joinup_group/joinup_group.install  |   2 +-
 .../custom/joinup_group/joinup_group.module   |   8 +-
 .../joinup_group/joinup_group.views.inc       |   2 +-
 .../src/AnnouncementsAccessTrait.php          |   6 +-
 .../UnpublishedContentPageController.php      |   2 +-
 .../src/Entity/GroupInterface.php             |  31 +++--
 .../joinup_group/src/Entity/GroupTrait.php    |   3 +-
 .../Entity/PinnableGroupContentInterface.php  |   2 +-
 .../AnnouncementTransitionSubscriber.php      |   4 +-
 ...oinupGroupPageDisplayVariantSubscriber.php |   2 +-
 .../TransferGroupOwnershipConfirmForm.php     |   4 +-
 .../joinup_group/src/Form/UserCancelForm.php  |   2 +-
 .../src/Form/UserMultipleCancelConfirm.php    |   2 +-
 .../joinup_group/src/JoinupGroupHelper.php    |   6 +-
 .../joinup_group/src/JoinupGroupManager.php   |   2 +-
 .../Plugin/Action/DeleteGroupMembership.php   |   2 +-
 .../Action/TransferGroupOwnershipAction.php   |   2 +-
 .../JoinupGroupEntityIdValidator.php          |   4 +-
 .../JoinupGroupValidator.php                  |   2 +-
 .../src/Routing/RouteSubscriber.php           |   2 +-
 .../joinup_group_content_management/README.md |   2 +-
 .../joinup_group_content_management.info.yml  |   4 +-
 .../schema/joinup_html_stripper.schema.yml    |   2 +-
 .../joinup_html_stripper.info.yml             |   6 +-
 .../FieldFormatter/StrippedHTMLFormatter.php  |   7 +-
 .../joinup_invite/joinup_invite.info.yml      |   4 +-
 .../custom/joinup_invite/joinup_invite.module |   2 +-
 .../src/Event/InvitationEvents.php            |   2 +-
 .../joinup_layout/joinup_layout.info.yml      |   6 +-
 .../joinup_layout/joinup_layout.layouts.yml   |  10 +-
 web/modules/custom/joinup_licence/README.md   |   4 +-
 .../joinup_licence/joinup_licence.info.yml    |   4 +-
 .../Controller/LicenceComparerController.php  |   7 +-
 .../src/Entity/LicenceLegalTypeInterface.php  |   2 +-
 .../LicenceGroupSubscriber.php                |   2 +-
 .../ParamConverter/SpdxIdsParamConverter.php  |   8 +-
 .../src/Plugin/Block/LicenceFilterBlock.php   |   2 +-
 .../custom/joinup_like/joinup_like.info.yml   |   2 +-
 .../src/Plugin/ActionLink/NodeCountLink.php   |   2 +-
 .../src/Plugin/ActionLink/RdfCountLink.php    |   2 +-
 .../custom/joinup_log/joinup_log.info.yml     |   4 +-
 .../custom/joinup_log/joinup_log.module       |   2 +-
 .../joinup_log/src/Entity/JoinupLog.php       |   4 +-
 .../joinup_log/src/JoinupLogStorage.php       |   2 +-
 .../joinup_log/src/JoinupLogStorageSchema.php |   2 +-
 .../joinup_log/src/JoinupLogViewsData.php     |   2 +-
 .../tests/src/Kernel/JoinupLogEntityTest.php  |   6 +-
 .../config/schema/joinup_media.schema.yml     |   2 +-
 .../custom/joinup_media/joinup_media.info.yml |   4 +-
 .../custom/joinup_media/joinup_media.module   |   2 +-
 .../joinup_media/joinup_media.post_update.php |   2 +-
 .../joinup_media/joinup_media.views.inc       |   2 +-
 .../joinup_media/src/JoinupMediaLibrary.php   |   2 +-
 .../custom/joinup_menu/joinup_menu.info.yml   |   6 +-
 .../custom/joinup_menu/src/MenuHelper.php     |  15 ++-
 .../joinup_menu/src/MenuHelperInterface.php   |   2 +-
 .../custom/joinup_modal/joinup_modal.info.yml |   6 +-
 .../custom/joinup_news/joinup_news.info.yml   |   4 +-
 .../joinup_news/src/Entity/NewsInterface.php  |   2 +-
 .../joinup_newsletter.info.yml                |   6 +-
 .../joinup_newsletter.module                  |   2 +-
 .../custom/joinup_notification/README.md      |   2 +-
 .../joinup_notification.info.yml              |   4 +-
 .../src/EntityMessageHelper.php               |   8 +-
 .../NotificationSubscriberBase.php            |   2 +-
 .../src/JoinupMessageDelivery.php             |   2 +-
 .../src/MessageArgumentGenerator.php          |  11 +-
 .../joinup_paragraphs.info.yml                |   6 +-
 .../joinup_paragraphs.module                  |   2 +-
 .../custom/joinup_poll/joinup_poll.info.yml   |   4 +-
 .../custom/joinup_poll/joinup_poll.module     |   2 +-
 .../joinup_publication_date.info.yml          |   4 +-
 .../joinup_publication_date.module            |   2 +-
 .../custom/joinup_rdf/joinup_rdf.deploy.php   |   2 +-
 .../custom/joinup_rdf/joinup_rdf.info.yml     |   6 +-
 .../custom/joinup_rdf/joinup_rdf.install      |   2 +-
 .../custom/joinup_rdf/joinup_rdf.module       |   2 +-
 .../RdfUriGenerator/JoinupRdfUriGenerator.php |   2 +-
 .../joinup_release/joinup_release.info.yml    |   2 +-
 .../joinup_release/joinup_release.module      |   2 +-
 .../src/Entity/ReleaseInterface.php           |   2 +-
 .../ReleaseGroupSubscriber.php                |   2 +-
 ...joinup-release-releases-download.html.twig |   2 +-
 .../joinup_replicate.info.yml                 |   6 +-
 .../joinup_replicate/joinup_replicate.module  |   2 +-
 .../src/RouteSubscriber/RouteSubscriber.php   |   2 +-
 .../custom/joinup_rss/joinup_rss.info.yml     |   6 +-
 .../custom/joinup_rss/joinup_rss.module       |   2 +-
 .../config/schema/joinup_search.schema.yml    |   2 +-
 .../joinup_search/joinup_search.info.yml      |   6 +-
 .../joinup_search/joinup_search.install       |   2 +-
 .../custom/joinup_search/joinup_search.module |   2 +-
 .../joinup_search/joinup_search.views.inc     |   2 +-
 .../search_api_arbitrary_facet.info.yml       |   4 +-
 .../search_api_arbitrary_facet.module         |   2 +-
 .../JoinupGlobalSearchApiAlter.php            |   2 +-
 .../processor/JoinupEntityLatestRevision.php  |   2 +-
 .../JoinupEntityPublishedRevision.php         |   2 +-
 .../processor/JoinupEntityStatus.php          |   2 +-
 .../custom/joinup_seo/joinup_seo.info.yml     |   4 +-
 .../custom/joinup_seo/joinup_seo.module       |   2 +-
 .../UrlGenerator/JoinupEntityUrlGenerator.php |   4 +-
 .../UrlGenerator/JoinupUrlGeneratorBase.php   |   2 +-
 .../joinup_sitewide_alert.info.yml            |   4 +-
 .../joinup_sitewide_alert.module              |   2 +-
 .../custom/joinup_slick/joinup_slick.info.yml |   4 +-
 .../custom/joinup_slick/joinup_slick.module   |   6 +-
 .../joinup_solution/joinup_solution.info.yml  |   2 +-
 .../joinup_solution/joinup_solution.module    |   2 +-
 .../joinup_sparql/joinup_sparql.info.yml      |   6 +-
 .../Database/joinup_sparql/Connection.php     |   2 +-
 .../joinup_content_negotiation_test.info.yml  |   2 +-
 web/modules/custom/joinup_stats/README.md     |   2 +-
 .../config/schema/joinup_stats.schema.yml     |   2 +-
 .../custom/joinup_stats/joinup_stats.info.yml |   4 +-
 .../custom/joinup_stats/joinup_stats.module   |   2 +-
 ...eld.field.node.distribution.access_url.yml |   2 +-
 .../stats_test/joinup_stats_test.info.yml     |   2 +-
 .../stats_test/joinup_stats_test.module       |   2 +-
 .../custom/joinup_subscription/README.md      |   4 +-
 .../schema/joinup_subscription.schema.yml     |   2 +-
 .../joinup_subscription.info.yml              |   4 +-
 .../GroupContentSubscriptionSubscriber.php    |   4 +-
 .../src/Form/SubscriptionsForm.php            |   6 +-
 .../src/JoinupDiscussionSubscription.php      |   2 +-
 .../src/JoinupSubscriptionsHelper.php         |   2 +-
 .../Field/FieldType/EntityBundlePairItem.php  |   2 +-
 .../config/schema/joinup_taxonomy.schema.yml  |   2 +-
 .../joinup_taxonomy/joinup_taxonomy.info.yml  |   4 +-
 .../joinup_taxonomy/joinup_taxonomy.module    |   2 +-
 .../custom/joinup_test/joinup_test.info.yml   |   6 +-
 .../custom/joinup_test/joinup_test.install    |   2 +-
 .../custom/joinup_test/joinup_test.module     |   2 +-
 .../JoinupExistingSiteTestBase.php            |   2 +-
 .../tests/src/Kernel/JoinupKernelTestBase.php |   2 +-
 .../custom/joinup_tiles/joinup_tiles.info.yml |   6 +-
 .../custom/joinup_tiles/joinup_tiles.module   |   2 +-
 .../src/Plugin/views/style/Tiles.php          |   2 +-
 .../custom/joinup_tour/joinup_tour.info.yml   |   6 +-
 .../custom/joinup_tour/joinup_tour.module     |   2 +-
 .../custom/joinup_tour/src/TourHelper.php     |   2 +-
 .../joinup_tour/src/TourHelperInterface.php   |   2 +-
 .../config/schema/joinup_user.schema.yml      |   2 +-
 .../custom/joinup_user/joinup_user.info.yml   |   4 +-
 .../custom/joinup_user/joinup_user.install    |   2 +-
 .../custom/joinup_user/joinup_user.module     |   2 +-
 .../joinup_user/src/JoinupUserViewsData.php   |   2 +-
 .../src/Plugin/Block/WarningMessageBlock.php  |   2 +-
 .../Plugin/views/field/JoinupUserBulkForm.php |   2 +-
 .../joinup_validation.info.yml                |   6 +-
 .../custom/joinup_video/joinup_video.info.yml |   4 +-
 .../custom/joinup_video/joinup_video.install  |   2 +-
 web/modules/custom/joinup_workflow/README.md  |   2 +-
 .../joinup_workflow/joinup_workflow.info.yml  |   6 +-
 .../joinup_workflow/joinup_workflow.module    |   2 +-
 .../custom/legal/joinup_legal.info.yml        |   4 +-
 web/modules/custom/legal/joinup_legal.install |   2 +-
 web/modules/custom/legal/joinup_legal.module  |   2 +-
 .../custom/moderation/moderation.info.yml     |   2 +-
 .../custom/oe_gisco_geocoding/README.md       |   2 +-
 web/modules/custom/owner/owner.info.yml       |   4 +-
 .../owner/src/Entity/OwnerInterface.php       |   2 +-
 web/modules/custom/solution/solution.info.yml |   2 +-
 .../solution/src/Entity/SolutionInterface.php |   2 +-
 .../SolutionGroupSubscriber.php               |   2 +-
 .../src/Form/ChangeCollectionForm.php         |   2 +-
 .../src/Form/ChangeSolutionStateForm.php      |  12 +-
 .../template_suggestion.info.yml              |   2 +-
 .../topic/src/Entity/TopicInterface.php       |   2 +-
 .../src/Entity/TopicMetaEntityInterface.php   |   2 +-
 .../EventSubscriber/QueryPresetSubscriber.php |   2 +-
 web/modules/custom/topic/topic.info.yml       |   4 +-
 web/modules/custom/topic/topic.views.inc      |   2 +-
 .../custom/whats_new/whats_new.info.yml       |   2 +-
 web/modules/custom/whats_new/whats_new.module |   2 +-
 web/profiles/joinup/joinup.info.yml           |   6 +-
 web/profiles/joinup/joinup.profile            |   2 +-
 web/profiles/joinup/joinup.routing.yml        |   4 +-
 .../src/Controller/JoinupController.php       |   2 +-
 web/profiles/joinup/src/JoinupPermissions.php |   7 +-
 .../joinup/src/Routing/RouteSubscriber.php    |   4 +-
 .../joinup-modal-close-button.html.twig       |   2 +-
 web/themes/ventuno/README.md                  |  10 +-
 web/themes/ventuno/includes/layout.inc        |   6 +-
 .../ventuno/includes/licence_assistant.inc    |   9 +-
 web/themes/ventuno/includes/rdf_entity.inc    |   3 +-
 .../src/scss/partials/overrides/_colors.scss  |   2 +-
 .../templates/layout/page--home.html.twig     |   2 +-
 .../templates/layout/page--search.html.twig   |   2 +-
 web/themes/ventuno/ventuno.info.yml           |   2 +-
 312 files changed, 604 insertions(+), 632 deletions(-)

diff --git a/resources/vocab/EIRA_SKOS.rdf b/resources/vocab/EIRA_SKOS.rdf
index faf550bd9c..16a53ad2f8 100644
--- a/resources/vocab/EIRA_SKOS.rdf
+++ b/resources/vocab/EIRA_SKOS.rdf
@@ -1377,7 +1377,7 @@ Source:
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Public Service Agent ABB is a Business Actor consuming or delivering a public service on behalf of a principal.
 
-Source: Interoperable Europe Portal
+Source: Joinup
 (https://joinup.ec.europa.eu/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f7661a4a0_bbdf9_b4e98_bb04a_b967c6a1053f9)
 
 INTEROPERABILITY SALIENCY:
@@ -1616,7 +1616,7 @@ https://webgate.ec.europa.eu/easi-micpro/application#!cogcPublicPage]]></skos:de
     <skos:prefLabel xml:lang="en"><![CDATA[Service Delivery Mode]]></skos:prefLabel>
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
-Service Delivery Mode ABB is a Business Interface delivering to public service consumers, or otherwise interacting with them, for the purpose of supplying specific public services with accessibility value. This involves a number of management practices to ensure that the public services are provided as agreed between the public service provider and the consumer. The service delivery mode should also ensure a constant and stable access to public service in alarm and crisis situations (e.g., COVID 19 pandemic, natural disasters, etc.). Here some examples of service delivery mode: i) Mobile App; ii) Web Interoperable Europe Portal; iii) Web Services; iv) Contact Center, etc.
+Service Delivery Mode ABB is a Business Interface delivering to public service consumers, or otherwise interacting with them, for the purpose of supplying specific public services with accessibility value. This involves a number of management practices to ensure that the public services are provided as agreed between the public service provider and the consumer. The service delivery mode should also ensure a constant and stable access to public service in alarm and crisis situations (e.g., COVID 19 pandemic, natural disasters, etc.). Here some examples of service delivery mode: i) Mobile App; ii) Web Portal; iii) Web Services; iv) Contact Center, etc.
 
 Source: Innovation Policy Platform (https://www.innovationpolicyplatform.org/printpdf/12406)
 
@@ -2802,7 +2802,7 @@ EXAMPLES:
 The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB):
 
 EURES - Job vacancy
-Most of the jobs on the EURES Job Mobility Interoperable Europe Portal come from the job vacancies databases managed by the Public Employment Services of the countries participating in EURES. Using a technology called Web Services, the EURES search engine instantly, in real time, interrogates each national database for jobs. These jobs can be of two types:
+Most of the jobs on the EURES Job Mobility Portal come from the job vacancies databases managed by the Public Employment Services of the countries participating in EURES. Using a technology called Web Services, the EURES search engine instantly, in real time, interrogates each national database for jobs. These jobs can be of two types:
 “EURES jobs", displayed with a blue flag, which are jobs where an employer has expressed an interest in recruiting from another country, or any other jobs advertised in the national jobs databases.
 There is, in addition, a central database where EURES advisers can manually post jobs that will all be flagged as "EURES jobs". This is for the time being the only way for those few countries that are not yet fully connected to Web Services to advertise jobs on the EURES portal. This solution can, however, also be used for other specific purposes, such as when an employer wishes to publish a vacancy in several languages etc., which may not always be possible in a national database.
 
@@ -3118,7 +3118,7 @@ RAPEX - Semantic Web Gate
 Public set of RAPEX notifications are available via the Semantic Web Gate in the Open Data portal
 http://ec.europa.eu/semantic_webgate/query/dataset=rapex
 
-e-Justice Interoperable Europe Portal - Commission's approach on the security of communication and information systems in the European Commission
+e-Justice Portal - Commission's approach on the security of communication and information systems in the European Commission
 Commission Decision (EU, Euratom) 2017/46 of 10 January 2017 on the security of communication and information systems in the European Commission. The Commission's approach should take into account EU policy initiatives and legislation on network and information security, industry standards and good practices, to comply with all relevant legislation and to allow interoperability and compatibility.  This decision applies to all communication and information systems (CISs) which are owned, procured, managed or operated by or on behalf of the Commission and all usage of those CISs by the Commission.
 This decision sets out the basic principles, objectives, organisation and responsibilities regarding the security of those CISs, and in particular for Commission departments owning, procuring, managing or operating CISs and including CISs provided by an internal IT service provider.
 http://eur-lex.europa.eu/legal-content/EN/TXT/?uri=uriserv:OJ.L_.2017.006.01.0040.01.ENG]]></skos:definition>
@@ -3427,7 +3427,7 @@ The Public Service Consumer ABB is salient for organisational interoperability b
 EXAMPLES:
 The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB):
 
-Cosmetic Product Notification Interoperable Europe Portal CPNP - Poison centre, Responsible person, Market surveillance authority, Distributor, Health advisor, Administrations
+Cosmetic Product Notification Portal CPNP - Poison centre, Responsible person, Market surveillance authority, Distributor, Health advisor, Administrations
 The CPNP is making this information available electronically to:
 •	Competent Authorities (for the purposes of market surveillance, market analysis, evaluation and consumer information)
 •	Poison Centres or similar bodies established by EU countries (for the purposes of medical treatment).
@@ -3456,7 +3456,7 @@ Source:
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Public Service Consumer Agent ABB is a Business Role consuming a public service on behalf of a principal.
 
-Source: Interoperable Europe Portal
+Source: Joinup
 (https://joinup.ec.europa.eu/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f7661a4a0_bbdf9_b4e98_bb04a_b967c6a1053f9")
 
 INTEROPERABILITY SALIENCY:
@@ -4866,7 +4866,7 @@ Source: OECD
 
 Source reference: https://stats.oecd.org/glossary/detail.asp?ID=4454
 
-Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): EU SCIENCE HUB - The European Commission's science and knowledge service - JRC's Data policy: The JRC's data policy is driven by transparency with the aim of contributing to innovation. It is a pillar of the development and implementation of scientific knowledge management at the JRC. It follows the commitments and regulatory basis of the Commission Decision on the reuse of Commission documents (2011/833/EU). The objectives for adopting and implementing the JRC data policy include: • Share and use data on the basis of the JRC Open Data principles: fully, freely, openly and timely; • To be transparent on the reasons for restricted access to certain data; • Provide a coordinated approach to the acquisition of data by the JRC; • Facilitate management, broaden access and use of JRC data; • Reinforce goals of Horizon 2020; • Support EU implementation of the G8 Open Data Charter; • Continuously support evidence-based decision making and research; • Ensure that JRC data is made available through the EU Open Data Interoperable Europe Portal. For a successful implementation process, the JRC's data policy lays down implementation principles with respect to responsible entities, overall implementation guidelines, and their individual elements like data management plans, as well as the monitoring of its implementation. https://ec.europa.eu/jrc/en/about/jrc-in-brief/data-policy
+Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): EU SCIENCE HUB - The European Commission's science and knowledge service - JRC's Data policy: The JRC's data policy is driven by transparency with the aim of contributing to innovation. It is a pillar of the development and implementation of scientific knowledge management at the JRC. It follows the commitments and regulatory basis of the Commission Decision on the reuse of Commission documents (2011/833/EU). The objectives for adopting and implementing the JRC data policy include: • Share and use data on the basis of the JRC Open Data principles: fully, freely, openly and timely; • To be transparent on the reasons for restricted access to certain data; • Provide a coordinated approach to the acquisition of data by the JRC; • Facilitate management, broaden access and use of JRC data; • Reinforce goals of Horizon 2020; • Support EU implementation of the G8 Open Data Charter; • Continuously support evidence-based decision making and research; • Ensure that JRC data is made available through the EU Open Data Portal. For a successful implementation process, the JRC's data policy lays down implementation principles with respect to responsible entities, overall implementation guidelines, and their individual elements like data management plans, as well as the monitoring of its implementation. https://ec.europa.eu/jrc/en/about/jrc-in-brief/data-policy
 
 IoP Dimension: Governance IoP
 
@@ -4908,7 +4908,7 @@ eira:policy_type: [ Information security policy | Privacy policy | Licensing and
     <skos:definition><![CDATA[Data Policy ABB is a Business Object aiming to form the guiding framework in which data management can operate.]]></skos:definition>
     <eira:definitionSource>OECD</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://stats.oecd.org/glossary/detail.asp?ID=4454]]></eira:definitionSourceReference>
-    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): EU SCIENCE HUB - The European Commission's science and knowledge service - JRC's Data policy: The JRC's data policy is driven by transparency with the aim of contributing to innovation. It is a pillar of the development and implementation of scientific knowledge management at the JRC. It follows the commitments and regulatory basis of the Commission Decision on the reuse of Commission documents (2011/833/EU). The objectives for adopting and implementing the JRC data policy include: • Share and use data on the basis of the JRC Open Data principles: fully, freely, openly and timely; • To be transparent on the reasons for restricted access to certain data; • Provide a coordinated approach to the acquisition of data by the JRC; • Facilitate management, broaden access and use of JRC data; • Reinforce goals of Horizon 2020; • Support EU implementation of the G8 Open Data Charter; • Continuously support evidence-based decision making and research; • Ensure that JRC data is made available through the EU Open Data Interoperable Europe Portal. For a successful implementation process, the JRC's data policy lays down implementation principles with respect to responsible entities, overall implementation guidelines, and their individual elements like data management plans, as well as the monitoring of its implementation. https://ec.europa.eu/jrc/en/about/jrc-in-brief/data-policy]]></skos:example>
+    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): EU SCIENCE HUB - The European Commission's science and knowledge service - JRC's Data policy: The JRC's data policy is driven by transparency with the aim of contributing to innovation. It is a pillar of the development and implementation of scientific knowledge management at the JRC. It follows the commitments and regulatory basis of the Commission Decision on the reuse of Commission documents (2011/833/EU). The objectives for adopting and implementing the JRC data policy include: • Share and use data on the basis of the JRC Open Data principles: fully, freely, openly and timely; • To be transparent on the reasons for restricted access to certain data; • Provide a coordinated approach to the acquisition of data by the JRC; • Facilitate management, broaden access and use of JRC data; • Reinforce goals of Horizon 2020; • Support EU implementation of the G8 Open Data Charter; • Continuously support evidence-based decision making and research; • Ensure that JRC data is made available through the EU Open Data Portal. For a successful implementation process, the JRC's data policy lays down implementation principles with respect to responsible entities, overall implementation guidelines, and their individual elements like data management plans, as well as the monitoring of its implementation. https://ec.europa.eu/jrc/en/about/jrc-in-brief/data-policy]]></skos:example>
     <eira:iopSaliency><![CDATA[The Data Policy ABB is salient for semantic interoperability because it provides a guiding framework to manage data and information according to interoperability principles as stated in the EIF recommendation n° 30: "Perceive data and information as a public asset that should be appropriately generated, collected, managed, shared, protected and preserved."]]></eira:iopSaliency>
     <skos:note><![CDATA[]]></skos:note>
     <eira:concept>eira:ArchitectureBuildingBlock</eira:concept>
@@ -5211,7 +5211,7 @@ eira:dimension: Behavioral IoP
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Digital-ready Policymaking ABB is a Business Process consisting in formulating digital-ready policies and legislation by considering digital aspects from the start of the policy cycle to ensure that they are ready for the digital age, future-proof and interoperable.
 
-Source: Interoperable Europe Portal (Digital Ready Policies)
+Source: Joinup (Digital Ready Policies)
 
 Source reference: https://joinup.ec.europa.eu/collection/better-legislation-smoother-implementation/digital-ready-policymaking
 
@@ -5252,7 +5252,7 @@ Last modification: 2023-10-01
     <dcterms:modified>2023-10-1</dcterms:modified>
     <eira:synonym>Policy Cycle</eira:synonym>
     <skos:definition><![CDATA[Digital-ready Policymaking ABB is a Business Process consisting in formulating digital-ready policies and legislation by considering digital aspects from the start of the policy cycle to ensure that they are ready for the digital age, future-proof and interoperable.]]></skos:definition>
-    <eira:definitionSource>Interoperable Europe Portal (Digital Ready Policies)</eira:definitionSource>
+    <eira:definitionSource>Joinup (Digital Ready Policies)</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/collection/better-legislation-smoother-implementation/digital-ready-policymaking]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example of how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Performance-based Full Policy Cycle for the Digital Single Market (http://www.europarl.europa.eu/RegData/etudes/etudes/join/2013/507457/IPOL-IMCO_ET(2013)507457_EN.pdf). The key features of a performance-based full policy cycle are a clear articulation of policy objectives, the identification and use of quantitative indicators of expected short-term and longer-term policy impacts, the identification of synergies between policies, a much greater use of quantitative data in ex-ante impact assessments, the implementation of robust, data-based, independent ex post assessments of the performance of policies relative to their expected impacts and a wide dissemination of lessons learned in such ex-post performance assessments]]></skos:example>
     <eira:iopSaliency><![CDATA[The Public Policy Cycle ABB is salient for the governance  interoperability because it impacts on the design and formulation of public policies, which are implemented through legal acts. Also, the ABB also is salient for the legal interoperability due to it establis the legal actions and directives for public administration services as the case of interoperability principles need to be taken into account during the whole public policy cycle.]]></eira:iopSaliency>
@@ -5568,7 +5568,7 @@ Last modification: 2023-11-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Semantic interoperability agreement ABB is a Contract formalizing governance rules enabling collaboration between digital public services with ontological value.
 
-Source: Interoperable Europe Portal
+Source: Joinup
 
 Source reference: https://joinup.ec.europa.eu/sites/default/files/document/2015-03/Process
 
@@ -5605,7 +5605,7 @@ Last modification: 2023-16-01
     <dcterms:modified>2023-01-16</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Semantic interoperability agreement ABB is a Contract formalizing governance rules enabling collaboration between digital public services with ontological value.]]></skos:definition>
-    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
+    <eira:definitionSource>Joinup</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/sites/default/files/document/2015-03/Process]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): e-Invoicing Semantic Data Model - The semantic data model includes only the essential information elements that an electronic invoice needs to ensure legal (including fiscal) compliance and to enable interoperability for cross-border, cross-sector and for domestic trade. The semantic data model may be used by public and private sector organisations for public procurement invoicing and took into account the physical and financial supply chain perspective, reflecting both private and public sector requirements, with a view to allowing the full straight-through processing of an electronic invoice. https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/2017/06/28/CEN+Publishes+eInvoicing+Semantic+Data+Model]]></skos:example>
     <eira:iopSaliency><![CDATA[The Semantic Interoperability Agreement ABB is a key interoperability enabler (*) for governance interoperability by enabling the understanding of information and collaboration between digital public services.]]></eira:iopSaliency>
@@ -5904,7 +5904,7 @@ Last modification: 2023-10-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Semantic Agreement ABB is a Contract formalising an agreement from a peer to the common ontology that is the result of a matching or mapping process that is used to resolve their semantic discrepancies. The combination matching process consists of a linguistic base, internal and external structure comparison. The result of the matching combination will be used to develop an agreement unit as a component of the agreement. There are some assumptions for the agreement, such as using the same language to represent the schema/ontology, labels and the meaning of a concept, and there is no individual at the common ontology.
 
-Source: Interoperable Europe Portal
+Source: Joinup
 
 Source reference: https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fSemanticAgreement
 
@@ -5943,7 +5943,7 @@ Last modification: 2023-16-01
     <dcterms:modified>2023-01-16</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Semantic Agreement ABB is a Contract formalising an agreement from a peer to the common ontology that is the result of a matching or mapping process that is used to resolve their semantic discrepancies. The combination matching process consists of a linguistic base, internal and external structure comparison. The result of the matching combination will be used to develop an agreement unit as a component of the agreement. There are some assumptions for the agreement, such as using the same language to represent the schema/ontology, labels and the meaning of a concept, and there is no individual at the common ontology.]]></skos:definition>
-    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
+    <eira:definitionSource>Joinup</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fSemanticAgreement]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): SEMIC - "Supporting alignments and agreements on common definitions and specifications at the semantic layer for the Member States and the EU institutions". https://joinup.ec.europa.eu/collection/semantic-interoperability-community-semic/about]]></skos:example>
     <eira:iopSaliency><![CDATA[The Semantic Agreement ABB is a key interoperability enabler because it supports semantic governance by enabling collaboration between digital public services.]]></eira:iopSaliency>
@@ -6460,7 +6460,7 @@ Last modification: 2022-17-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: National Legal Interoperability Agreement ABB is a Contract formalizing governance rules enabling collaboration amongst different levels of administrations in a State.
 
-Source: Based on the definition in the EIF about Legal Interoperability Agreement, the National Interoperability Framework Observatory (see Interoperable Europe Portal NIFO) and existing national legal interoperability agreements.
+Source: Based on the definition in the EIF about Legal Interoperability Agreement, the National Interoperability Framework Observatory (see Joinup NIFO) and existing national legal interoperability agreements.
 
 Source reference: https://ec.europa.eu/isa2/sites/isa/files/eif_brochure_final.pdf#page=27
 
@@ -6498,7 +6498,7 @@ Last modification: 2022-18-01
     <dcterms:type>eira:NationalLegalInteroperabilityAgreementContract</dcterms:type>
     <dcterms:modified>2022-01-18</dcterms:modified>
     <skos:definition><![CDATA[National Legal Interoperability Agreement ABB is a Contract formalizing governance rules enabling collaboration amongst different levels of administrations in a State.]]></skos:definition>
-    <eira:definitionSource>Based on the definition in the EIF about Legal Interoperability Agreement, the National Interoperability Framework Observatory (see Interoperable Europe Portal NIFO) and existing national legal interoperability agreements.</eira:definitionSource>
+    <eira:definitionSource>Based on the definition in the EIF about Legal Interoperability Agreement, the National Interoperability Framework Observatory (see Joinup NIFO) and existing national legal interoperability agreements.</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://ec.europa.eu/isa2/sites/isa/files/eif_brochure_final.pdf#page=27]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example of how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Agreement to pass the policy of e-Signture and Certificates for the interoperability between the digital public services of the Spanish Central Administration (https://www.boe.es/diario_boe/txt.php?id=BOE-A-2012-15066)]]></skos:example>
     <eira:iopSaliency><![CDATA[The European Legal Interoperability Agreement ABB is salient for the governance of interoperability because it lays the European framework between public administration to enable the interoperability between public services. The European Legal Interoperability Agreement ABB is also salient for the legal interoperability due to the legal foundations and requirements that enable the seamless exchange of data, information, and knowledge between European and EEA Member State digital public services. The European Legal Interoperability Agreement ABB is also salient for the organizational interoperability since, as a consequence of the agreement, digital business capabilities can be mapped and subsequently, the process can be aligned between the Member State and EEA Public Administrations and digital public services.]]></eira:iopSaliency>
@@ -8083,8 +8083,8 @@ Syn. CMS
 
 The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB):
 
-CROS Interoperable Europe Portal
-The CROS Interoperable Europe Portal is a content management system based on Drupal and stands for "Interoperable Europe Portal on Collaboration in Research and Methodology for Official Statistics". The CROS Interoperable Europe Portal is dedicated to the collaboration between researchers and Official Statisticians in Europe and beyond. It provides a working space and tools for dissemination and information exchange for statistical projects and methodological topics. Services provided include hosting of statistical communities, repositories of useful documents, research results, project deliverables, CVs of experts in statistical relevant areas, and discussion fora on different topics like the future research needs in Official Statistics.
+CROS Portal
+The CROS Portal is a content management system based on Drupal and stands for "Portal on Collaboration in Research and Methodology for Official Statistics". The CROS Portal is dedicated to the collaboration between researchers and Official Statisticians in Europe and beyond. It provides a working space and tools for dissemination and information exchange for statistical projects and methodological topics. Services provided include hosting of statistical communities, repositories of useful documents, research results, project deliverables, CVs of experts in statistical relevant areas, and discussion fora on different topics like the future research needs in Official Statistics.
 https://ec.europa.eu/eurostat/cros/]]></skos:definition>
     <owl:deprecated>true</owl:deprecated>
     <eira:ContentManagementService_Properties />
@@ -8205,12 +8205,12 @@ The Open Data ABB is salient for semantic interoperability because it is a part
 EXAMPLES:
 The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB):
 
-European Data Interoperable Europe Portal
-The European Data Interoperable Europe Portal harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included.
+European Data Portal
+The European Data Portal harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included.
 
-Within the Interoperable Europe Portal, sections are dedicated to:
+Within the Portal, sections are dedicated to:
 •	Searching datasets: Categories have been established to structure the metadata harvested from the various countries. These categories follow the revision of the DCAT Application Profile and have been mapped against the Eurovoc Thesaurus.
-•	Providing Data: This section gives an insight into understanding Open Data from the perspective of a data provider. In addition, instructions are offered for those who wish their data portal to be harvested by the European Data Interoperable Europe Portal.
+•	Providing Data: This section gives an insight into understanding Open Data from the perspective of a data provider. In addition, instructions are offered for those who wish their data portal to be harvested by the European Data Portal.
 •	Using Data: How Open Data is being used, as well as the economic benefits of Open Data are detailed in this section.
 •	Training and Library: eLearning modules about Open Data as well as training guides and a knowledge base referencing publications around Open Data and featured projects.
 
@@ -9537,7 +9537,7 @@ EIRA concept: eira:ArchitectureBuildingBlock
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Data Virtualization ABB is an Application Component that implements the functionality of retrieving and manipulating data without requiring technical details about the data format or location.
 
-Source: Interoperable Europe Portal
+Source: Joinup
 
 Source reference: https://joinup.ec.europa.eu/sites/default/files/inline-files/Data%20visualisation%20service%20definition.pdf
 
@@ -9574,7 +9574,7 @@ Last modification: 2022-23-01
     <dcterms:modified>2022-01-23</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Data Virtualization ABB is an Application Component that implements the functionality of retrieving and manipulating data without requiring technical details about the data format or location.]]></skos:definition>
-    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
+    <eira:definitionSource>Joinup</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/sites/default/files/inline-files/Data%20visualisation%20service%20definition.pdf]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Virtuoso. Virtuoso Universal Server is modern platform built on existing open standards that harnesses the power of Hyperlinks (functioning as Super Keys) for breaking down data silos that impede both user and enterprise ability. For example, Virtuoso's core SQL & SPARQL powers many Enterprise Knowledge Graph initiatives just as it does DBpedia and a majority of nodes in the Linked Open Data Cloud -- the world's largest publicly accessible Knowledge Graph. https://big-data-test-infrastructure.ec.europa.eu/service-offering/virtuoso_en]]></skos:example>
     <eira:iopSaliency><![CDATA[The Data Virtualization Component ABB is salient for technical interoperability because it realises the services established and defined by the Data Virtualization Service ABB, collaborating with enabling interoperability between public services that generate, process or consume data.]]></eira:iopSaliency>
@@ -11181,7 +11181,7 @@ Last modification: 2022-23-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Data Virtualization ABB is an Application Service that enables the access and manipulation of data from various sources without the need for physical data integration.
 
-Source: Interoperable Europe Portal
+Source: Joinup
 
 Source reference: https://joinup.ec.europa.eu/sites/default/files/inline-files/Data%20visualisation%20service%20definition.pdf
 
@@ -11215,7 +11215,7 @@ EIRA concept: eira:ArchitectureBuildingBlock
     <dcterms:modified>2023-05-25</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Data Virtualization ABB is an Application Service that enables the access and manipulation of data from various sources without the need for physical data integration.]]></skos:definition>
-    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
+    <eira:definitionSource>Joinup</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/sites/default/files/inline-files/Data%20visualisation%20service%20definition.pdf]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Virtuoso. Virtuoso Universal Server is modern platform built on existing open standards that harnesses the power of Hyperlinks (functioning as Super Keys) for breaking down data silos that impede both user and enterprise ability. For example, Virtuoso's core SQL & SPARQL powers many Enterprise Knowledge Graph initiatives just as it does DBpedia and a majority of nodes in the Linked Open Data Cloud -- the world's largest publicly accessible Knowledge Graph. https://big-data-test-infrastructure.ec.europa.eu/service-offering/virtuoso_en]]></skos:example>
     <eira:iopSaliency><![CDATA[The Data Virtualization Application Service ABB is salient for technical interoperability because provides the tools for visualising datasets in a graphical way. These services can enable to visualise data and information from different sources, and public services, in a manner that can be better processed, understood, and therefore, interoperability can be achieved.]]></eira:iopSaliency>
@@ -11394,7 +11394,7 @@ EIRA concept: eira:ArchitectureBuildingBlock
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Authorisation ABB is an Application Service that enables processes to formalise the electronic identification of a natural or legal person, or the origin and integrity of data in the electronic form to be confirmed
 
-Source: Interoperable Europe Portal
+Source: Joinup
 
 Source reference: https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fIdentityManagementService
 
@@ -11431,7 +11431,7 @@ Last modification: 2022-18-01
     <dcterms:modified>2022-01-18</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Authorisation ABB is an Application Service that enables processes to formalise the electronic identification of a natural or legal person, or the origin and integrity of data in the electronic form to be confirmed]]></skos:definition>
-    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
+    <eira:definitionSource>Joinup</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fIdentityManagementService]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example of how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Users roles are managed and linked to EU Login accounts (https://ec.europa.eu/research/participants/docs/h2020-funding-guide/user-account-and-roles/roles-and-access-rights_en.htm). EU Login is the entry gate to sign in to different European Commission services and/or other systems. EU Login verifies your identity and allows recovering your personal settings, history and access rights in a secure way. You can sign in using social media accounts or the EU Login account.]]></skos:example>
     <eira:iopSaliency><![CDATA[The Authorisation Application Service ABB is salient for interoperability because it represents the identifications of actors (natural or legal persons) involved in system interactions, ensuring that the service and the data contained are accessed by actors with granted permissions. Additionally, this can be used as part of the data integrity process to identify the origin of certain data. In general, authorisation services allow for the maintenance of control and integrity of the available data, ensuring its quality when exchanged.]]></eira:iopSaliency>
@@ -12764,7 +12764,7 @@ Source: ISA2
 
 Source reference: https://ec.europa.eu/isa2/sites/default/files/docs/publications/isa2-actions-phase2_-_poc_-_wp1_specifications_en.pdf
 
-Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Data Interoperable Europe Portal - The European Data Interoperable Europe Portal harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included. What is Open Data? -	Open (Government) Data refers to the information collected, produced or paid for by the public bodies (also referred to as Public Sector Information) and made freely available for re-use for any purpose. The licence will specify the terms of use; -	Public sector information is information held by the public sector. The Directive on the re-use of public sector information provides a common legal framework for a European market for government-held data. It is built around the key pillars of the internal market: free flow of data, transparency and fair competition. It is important to note that not all of the public sector information is Open Data. Within the Interoperable Europe Portal, sections are dedicated to: -	Searching datasets: Categories have been established to structure the metadata harvested from the various countries. These categories follow the revision of the DCAT Application Profile and have been mapped against the Eurovoc Thesaurus; -	Providing Data: This section gives an insight into understanding Open Data from the perspective of a data provider. In addition, instructions are offered for those who wish their data portal to be harvested by the European Data Interoperable Europe Portal; -	Using Data: How Open Data is being used, as well as the economic benefits of Open Data are detailed in this section; -	Training and Library: eLearning modules about Open Data as well as training guides and a knowledge base referencing publications around Open Data and featured projects; - Portals can be national, regional, local or domain specific. They cover the 28 EU Member States, EEA, countries involved in the EU's neighbourhood policy and Switzerland. https://www.europeandataportal.eu/
+Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Data Portal - The European Data Portal harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included. What is Open Data? -	Open (Government) Data refers to the information collected, produced or paid for by the public bodies (also referred to as Public Sector Information) and made freely available for re-use for any purpose. The licence will specify the terms of use; -	Public sector information is information held by the public sector. The Directive on the re-use of public sector information provides a common legal framework for a European market for government-held data. It is built around the key pillars of the internal market: free flow of data, transparency and fair competition. It is important to note that not all of the public sector information is Open Data. Within the Portal, sections are dedicated to: -	Searching datasets: Categories have been established to structure the metadata harvested from the various countries. These categories follow the revision of the DCAT Application Profile and have been mapped against the Eurovoc Thesaurus; -	Providing Data: This section gives an insight into understanding Open Data from the perspective of a data provider. In addition, instructions are offered for those who wish their data portal to be harvested by the European Data Portal; -	Using Data: How Open Data is being used, as well as the economic benefits of Open Data are detailed in this section; -	Training and Library: eLearning modules about Open Data as well as training guides and a knowledge base referencing publications around Open Data and featured projects; - Portals can be national, regional, local or domain specific. They cover the 28 EU Member States, EEA, countries involved in the EU's neighbourhood policy and Switzerland. https://www.europeandataportal.eu/
 
 IoP Dimension: Behavioral IoP
 
@@ -12799,7 +12799,7 @@ Last modification: 2022-23-01
     <skos:definition><![CDATA[Data Publication ABB is an Application Service that enables the processes of making data available through the adoption of discoverable, accessible, and reusable mechanisms.]]></skos:definition>
     <eira:definitionSource>ISA2</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://ec.europa.eu/isa2/sites/default/files/docs/publications/isa2-actions-phase2_-_poc_-_wp1_specifications_en.pdf]]></eira:definitionSourceReference>
-    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Data Interoperable Europe Portal - The European Data Interoperable Europe Portal harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included. What is Open Data? -	Open (Government) Data refers to the information collected, produced or paid for by the public bodies (also referred to as Public Sector Information) and made freely available for re-use for any purpose. The licence will specify the terms of use; -	Public sector information is information held by the public sector. The Directive on the re-use of public sector information provides a common legal framework for a European market for government-held data. It is built around the key pillars of the internal market: free flow of data, transparency and fair competition. It is important to note that not all of the public sector information is Open Data. Within the Interoperable Europe Portal, sections are dedicated to: -	Searching datasets: Categories have been established to structure the metadata harvested from the various countries. These categories follow the revision of the DCAT Application Profile and have been mapped against the Eurovoc Thesaurus; -	Providing Data: This section gives an insight into understanding Open Data from the perspective of a data provider. In addition, instructions are offered for those who wish their data portal to be harvested by the European Data Interoperable Europe Portal; -	Using Data: How Open Data is being used, as well as the economic benefits of Open Data are detailed in this section; -	Training and Library: eLearning modules about Open Data as well as training guides and a knowledge base referencing publications around Open Data and featured projects; - Portals can be national, regional, local or domain specific. They cover the 28 EU Member States, EEA, countries involved in the EU's neighbourhood policy and Switzerland. https://www.europeandataportal.eu/]]></skos:example>
+    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Data Portal - The European Data Portal harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included. What is Open Data? -	Open (Government) Data refers to the information collected, produced or paid for by the public bodies (also referred to as Public Sector Information) and made freely available for re-use for any purpose. The licence will specify the terms of use; -	Public sector information is information held by the public sector. The Directive on the re-use of public sector information provides a common legal framework for a European market for government-held data. It is built around the key pillars of the internal market: free flow of data, transparency and fair competition. It is important to note that not all of the public sector information is Open Data. Within the Portal, sections are dedicated to: -	Searching datasets: Categories have been established to structure the metadata harvested from the various countries. These categories follow the revision of the DCAT Application Profile and have been mapped against the Eurovoc Thesaurus; -	Providing Data: This section gives an insight into understanding Open Data from the perspective of a data provider. In addition, instructions are offered for those who wish their data portal to be harvested by the European Data Portal; -	Using Data: How Open Data is being used, as well as the economic benefits of Open Data are detailed in this section; -	Training and Library: eLearning modules about Open Data as well as training guides and a knowledge base referencing publications around Open Data and featured projects; - Portals can be national, regional, local or domain specific. They cover the 28 EU Member States, EEA, countries involved in the EU's neighbourhood policy and Switzerland. https://www.europeandataportal.eu/]]></skos:example>
     <eira:iopSaliency><![CDATA[The Data Pubblication Service ABB  is salient for technical interoperability because it provides the functionalities to make public data freely available for use and reuse by others unless restriction aoply as stated in the EIF recommendation n.2: "Publish the data you own as open data unless certain restrictions apply."]]></eira:iopSaliency>
     <skos:note><![CDATA[]]></skos:note>
     <eira:concept>eira:ArchitectureBuildingBlock</eira:concept>
@@ -13590,7 +13590,7 @@ ABB name: eira:SolutionSpecificationDataObject
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Controlled Vocabulary ABB is a Data Object that enables a carefully curated set of terms used to describe concepts or objects in a specific field or domain. It is a standardized list of terms that are used to ensure consistency and accuracy in the indexing, searching, and retrieval of information
 
-Source: Interoperable Europe Portal
+Source: Joinup
 
 Source reference: https://joinup.ec.europa.eu/collection/catalogue-services/document/controlled-vocabularies
 
@@ -13627,7 +13627,7 @@ Last modification: 2022-17-01
     <dcterms:modified>2022-01-17</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Controlled Vocabulary ABB is a Data Object that enables a carefully curated set of terms used to describe concepts or objects in a specific field or domain. It is a standardized list of terms that are used to ensure consistency and accuracy in the indexing, searching, and retrieval of information]]></skos:definition>
-    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
+    <eira:definitionSource>Joinup</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/collection/catalogue-services/document/controlled-vocabularies]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): EuroVoc - EuroVoc is a multilingual, multidisciplinary thesaurus covering the activities of the EU, the European Parliament in particular. It contains terms in 23 EU languages (Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hungarian, Italian, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Slovak, Slovenian, Spanish and Swedish), plus in three languages of countries which are candidates for EU accession: македонски (mk), shqip (sq) and cрпски (sr). (https://op.europa.eu/en/web/eu-vocabularies/th-dataset/-/resource/dataset/eurovoc)]]></skos:example>
     <eira:iopSaliency><![CDATA[The Controlled Vocabulary ABB is salient for semantic interoperability because it ensures compatible interpretations of words and phrases used to index content and/or to retrieve content through browsing or searching.]]></eira:iopSaliency>
@@ -13699,7 +13699,7 @@ Last modification: 2022-17-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Ontologies Catalogue ABB is a Data Object aiming at indexing the collection of ontologies with comprehensiveness and trustiness value
 
-Source: Interoperable Europe Portal
+Source: Joinup
 
 Source reference: https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fOntologiesCatalogue
 
@@ -13736,7 +13736,7 @@ Last modification: 2023-16-01
     <dcterms:modified>2023-01-16</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Ontologies Catalogue ABB is a Data Object aiming at indexing the collection of ontologies with comprehensiveness and trustiness value]]></skos:definition>
-    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
+    <eira:definitionSource>Joinup</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/taxonomy/term/http_e_f_fdata_ceuropa_ceu_fdr8_fOntologiesCatalogue]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): BioPortal - BioPortal is a repository of over 300 biomedical ontologies and includes tools for working with these ontologies. Holds most widely used Biomedical ontologies. Allows ontologies to be browsed, searched, and reviewed. Allows uses to create notes on ontologies terms. Allows arbitrary text to be annotated with ontology terms. Also supports search of biomedical resources (e.g. PubMed) for combinations of terms from ontologies. Allows programmatic access to ontologies through a REST interface.(http://bioportal.bioontology.org/)]]></skos:example>
     <eira:iopSaliency><![CDATA[The Ontologies catalogue ABB is a key interoperability enabler (*) for structural interoperability because it ensures the provision/consumption of ontologies by digital public services.]]></eira:iopSaliency>
@@ -14652,7 +14652,7 @@ Source reference: https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX
 
 Additional information: It is useful to remember that when a common interconnecting infrastructure for base registries is available, legislation is used to force its use. The use of interconnecting infrastructure prevents the proliferation of pointto-point interconnections. Stakeholders should be involved in developing the legislation and be given enough time to prepare for implementation.
 
-Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Union Data Interoperable Europe Portal - The European Union Open Data Interoperable Europe Portal (EU ODP) gives you access to open data published by EU institutions and bodies. All the data you can find via this catalogue are free to use and reuse for commercial or non-commercial purposes. (https://data.europa.eu/euodp/data/dataset)
+Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Union Data Portal - The European Union Open Data Portal (EU ODP) gives you access to open data published by EU institutions and bodies. All the data you can find via this catalogue are free to use and reuse for commercial or non-commercial purposes. (https://data.europa.eu/euodp/data/dataset)
 
 IoP Dimension: Structural IoP
 
@@ -14689,7 +14689,7 @@ Last modification: 2022-16-01
     <skos:definition><![CDATA[Dataset ABB is a Data Object representing a collection of related data that is organized and presented in a structured format]]></skos:definition>
     <eira:definitionSource>Inpired in the Open Data and Re-use of public sector inforamtion directive</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32019L1024&from=EN#d1e1012-56-1]]></eira:definitionSourceReference>
-    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Union Data Interoperable Europe Portal - The European Union Open Data Interoperable Europe Portal (EU ODP) gives you access to open data published by EU institutions and bodies. All the data you can find via this catalogue are free to use and reuse for commercial or non-commercial purposes. (https://data.europa.eu/euodp/data/dataset)]]></skos:example>
+    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): European Union Data Portal - The European Union Open Data Portal (EU ODP) gives you access to open data published by EU institutions and bodies. All the data you can find via this catalogue are free to use and reuse for commercial or non-commercial purposes. (https://data.europa.eu/euodp/data/dataset)]]></skos:example>
     <eira:iopSaliency><![CDATA[The Data Set ABB is salient for semantic interoperability because it provides a collection of data to be shared or exchanged between ICT systmes as stated in the EIF recommendation n° 30: "Perceive data and information as a public asset that should be appropriately generated, collected, managed, shared, protected and preserved."]]></eira:iopSaliency>
     <skos:note><![CDATA[It is useful to remember that when a common interconnecting infrastructure for base registries is available, legislation is used to force its use. The use of interconnecting infrastructure prevents the proliferation of pointto-point interconnections. Stakeholders should be involved in developing the legislation and be given enough time to prepare for implementation.]]></skos:note>
     <eira:concept>eira:ArchitectureBuildingBlock</eira:concept>
@@ -14705,7 +14705,7 @@ Last modification: 2022-16-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Software Components Catalogue ABB is a Data Object aiming to index information about collaborative spaces that offfers eGoverment solutions and best practices.
 
-Source: Interoperable Europe Portal
+Source: Joinup
 
 Source reference: https://joinup.ec.europa.eu/topic/ict/reusable-software-components
 
@@ -14740,7 +14740,7 @@ Last modification: 2022-20-01
     <dcterms:modified>2022-01-20</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Software Components Catalogue ABB is a Data Object aiming to index information about collaborative spaces that offfers eGoverment solutions and best practices.]]></skos:definition>
-    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
+    <eira:definitionSource>Joinup</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/topic/ict/reusable-software-components]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example of how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): Software ReUse Catalogue (Belgium) https://joinup.ec.europa.eu/collection/belgian-interoperability-catalogue/solution/ict-reuse/about]]></skos:example>
     <eira:iopSaliency><![CDATA[The Software Components Catalogue Data Object ABB is salient for semantic interoperability because it can act as a repository with descriptive data about digital solutions and interoperable solutions and best practices. This can contribute to expanding and enabling the reuse of artefacts, solutions, and services to implement new digital public services without starting from scratch. The reuse of such elements can infer knowledge and best practices from the collaboration between parties.]]></eira:iopSaliency>
@@ -18197,7 +18197,7 @@ Synonym:
 
 Additional information:
 
-Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The Single Digital Gateway from the European Commission is implemented via Your Europe Interoperable Europe Portal. This portal allows searching and exchanging information from businesses at the European and national level.  information from EU and member states. https://europa.eu/youreurope/index_en.htm
+Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The Single Digital Gateway from the European Commission is implemented via Your Europe Portal. This portal allows searching and exchanging information from businesses at the European and national level.  information from EU and member states. https://europa.eu/youreurope/index_en.htm
 
 IoP Dimension:
 
@@ -18231,7 +18231,7 @@ Last modification:
     <skos:definition><![CDATA[Gateway ABB is a Technology Service that enables the implementation of a component that converts information, data or other communications from one protocol or format to another]]></skos:definition>
     <eira:definitionSource>Gartner</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://www.gartner.com/en/information-technology/glossary/gateway]]></eira:definitionSourceReference>
-    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The Single Digital Gateway from the European Commission is implemented via Your Europe Interoperable Europe Portal. This portal allows searching and exchanging information from businesses at the European and national level.  information from EU and member states. https://europa.eu/youreurope/index_en.htm]]></skos:example>
+    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The Single Digital Gateway from the European Commission is implemented via Your Europe Portal. This portal allows searching and exchanging information from businesses at the European and national level.  information from EU and member states. https://europa.eu/youreurope/index_en.htm]]></skos:example>
     <eira:iopSaliency><![CDATA[Gateway ABB is salient for technical interoperability because it physically transforms information, data and other communications from one protocol or format into another standard protocol format.]]></eira:iopSaliency>
     <skos:note><![CDATA[]]></skos:note>
     <eira:concept>eira:ArchitectureBuildingBlock</eira:concept>
@@ -19012,7 +19012,7 @@ EIRA concept: eira:ArchitectureBuildingBlock
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: API Gateway ABB is a Technology Service that implements the behaviour of acting as a single entry point for multiple APIs (Application Programming Interfaces)
 
-Source: Inspired in Interoperable Europe Portal
+Source: Inspired in Joinup
 
 Source reference: https://joinup.ec.europa.eu/collection/api4dt/about
 
@@ -19046,7 +19046,7 @@ Last modification: 2022-31-01
     <dcterms:modified>2022-01-31</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[API Gateway ABB is a Technology Service that implements the behaviour of acting as a single entry point for multiple APIs (Application Programming Interfaces)]]></skos:definition>
-    <eira:definitionSource>Inspired in Interoperable Europe Portal</eira:definitionSource>
+    <eira:definitionSource>Inspired in Joinup</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/collection/api4dt/about]]></eira:definitionSourceReference>
     <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): API Gateway Authentication Bundle. It authenticates requests from European Commission service API Gateway. https://joinup.ec.europa.eu/collection/ecphp/solution/api-gw-authentication-php/about]]></skos:example>
     <eira:iopSaliency><![CDATA[API Gateway ABB is salient for semantic interoperability due to its setting up the rules to share multiple public administration digital services to facilitate their accessibility, discovery and sharing across platforms (catalogue of APIs). These rules follow up existing standards and common practices in the API documentation and accessibility (Open APIs description).]]></eira:iopSaliency>
@@ -19236,7 +19236,7 @@ The new European Interoperability Framework (EIF) is part of the Communication (
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 EULF compliance ABB is a Principle consisting of a package of case studies, specifications, guidelines, training materials, recommendations and actions required by public administrations and stakeholder communities to facilitate the implementation, use and expansion of INSPIRE in an e-government context.
 
-Source: Interoperable Europe Portal
+Source: Joinup
 (https://joinup.ec.europa.eu/sites/default/files/news/attachment/jrc103110_1-dc246-d3.2_eulf_guideline_on_location_privacy_v1.00_final_-_pubsy.pdf)
 
 EXAMPLES:
@@ -19494,7 +19494,7 @@ The following implementation is an example on how this specific Architecture Bui
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 User-centricity ABB is a Principle refering to putting users’ needs at the centre when determining which public services should be provided and how they should be delivered. Therefore, as far as possible, user needs and requirements should guide the design and development of public services, in accordance with the following expectations: i A multi-channel service delivery approach; ii A single point of contact should be made available to users; iii Users’ feedback should be systematically collected, assessed and used to design new public services and to further improve existing ones.
 
-Source: Interoperable Europe Portal
+Source: Joinup
 (https://joinup.ec.europa.eu/collection/nifo-national-interoperability-framework-observatory/glossary/term/user-centricity)
 
 EXAMPLES:
@@ -19593,7 +19593,7 @@ Administrative Simplification ABB is a Principle refering to streamlined deliver
 - Proportional approach to control
 - Simplification of solutions
 
-Source: Interoperable Europe Portal
+Source: Joinup
 (https://joinup.ec.europa.eu/collection/nifo-national-interoperability-framework-observatory/glossary/term/administrative-simplification)
 
 EXAMPLES:
@@ -20282,7 +20282,7 @@ Source:(https://www.brainkart.com/article/Functional-Requirements---Software-Arc
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Legal Interoperability Requirement ABB is a Requirement that must be met to help achieve legal interoperability.
 
-Source: Interoperable Europe Portal
+Source: Joinup
 (https://joinup.ec.europa.eu/sites/default/files/document/2019-06/High-level%20Interoperability%20Requirements%20Solution%20Architecture%20Template%20%28HL%20SAT%29%20Design%20Guidelines_0.pdf)
 
 EXAMPLES:
@@ -20315,7 +20315,7 @@ Source: (https://ec.europa.eu/eusurvey/runner/SIQAT_v200?startQuiz=true&surveyla
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Organisational Interoperability Requirement ABB is a Requirement that must be met to help achieve organisational interoperability.
 
-Source: Interoperable Europe Portal
+Source: Joinup
 (https://joinup.ec.europa.eu/sites/default/files/document/2019-06/High-level%20Interoperability%20Requirements%20Solution%20Architecture%20Template%20%28HL%20SAT%29%20Design%20Guidelines_0.pdf)
 
 EXAMPLES:
@@ -20348,7 +20348,7 @@ Source: (https://ec.europa.eu/eusurvey/runner/SIQAT_v200?startQuiz=true&surveyla
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Technical Interoperability Requirement ABB is a Requirement that must be met to help achieve technical interoperability.
 
-Source: Interoperable Europe Portal
+Source: Joinup
 (https://joinup.ec.europa.eu/sites/default/files/document/2019-06/High-level%20Interoperability%20Requirements%20Solution%20Architecture%20Template%20%28HL%20SAT%29%20Design%20Guidelines_0.pdf)
 
 EXAMPLES:
@@ -20381,7 +20381,7 @@ Source: (https://ec.europa.eu/eusurvey/runner/SIQAT_v200?startQuiz=true&surveyla
     <skos:definition xml:lang="en"><![CDATA[DEFINITION:
 Semantic Interoperability Requirement ABB is a Requirement that must be met to help achieve semantic interoperability.
 
-Source: Interoperable Europe Portal
+Source: Joinup
 (https://joinup.ec.europa.eu/sites/default/files/document/2019-06/High-level%20Interoperability%20Requirements%20Solution%20Architecture%20Template%20%28HL%20SAT%29%20Design%20Guidelines_0.pdf)
 
 EXAMPLES:
@@ -20657,7 +20657,7 @@ Source reference: http://eur-lex.europa.eu/resource.html?uri=cellar:2c2f2554-0fa
 
 Additional information: Studying the implementation orientation facilitate Member States in understanding the implementation impacts on the interoperability and the functioning of the digital public services from different perspectives.
 
-Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The four implementation orientations identified in IDPSIO, integration, technology, governance, and legal (see the Interoperable Europe Portal IDPSIO solution home page: https://joinup.ec.europa.eu/collection/european-interoperability-reference-architecture-eira/solution/egovera/release/v210).
+Example: The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The four implementation orientations identified in IDPSIO, integration, technology, governance, and legal (see the Joinup IDPSIO solution home page: https://joinup.ec.europa.eu/collection/european-interoperability-reference-architecture-eira/solution/egovera/release/v210).
 
 IoP Dimension: Governance IoP
 
@@ -20690,7 +20690,7 @@ Last modification: 2022-12-01
     <skos:definition><![CDATA[Interoperable Digital Public Service Implementation Orientation ABB is a Constraint that implements the approach that a digital public service owner has to follow to implement their digital public services.]]></skos:definition>
     <eira:definitionSource>European Interoperability Framework (EIF)</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[http://eur-lex.europa.eu/resource.html?uri=cellar:2c2f2554-0faf-11e7-8a35-01aa75ed71a1.0017.02/DOC_3&format=PDF]]></eira:definitionSourceReference>
-    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The four implementation orientations identified in IDPSIO, integration, technology, governance, and legal (see the Interoperable Europe Portal IDPSIO solution home page: https://joinup.ec.europa.eu/collection/european-interoperability-reference-architecture-eira/solution/egovera/release/v210).]]></skos:example>
+    <skos:example><![CDATA[The following implementation is an example on how this specific Architecture Building Block (ABB) can be instantiated as a Solution Building Block (SBB): The four implementation orientations identified in IDPSIO, integration, technology, governance, and legal (see the Joinup IDPSIO solution home page: https://joinup.ec.europa.eu/collection/european-interoperability-reference-architecture-eira/solution/egovera/release/v210).]]></skos:example>
     <eira:iopSaliency><![CDATA[Interoperable Digital Public Service Implementation Orientation ABB is salient for governance interoperability because it supports digital public service owners in deciding the approach to follow to implement their digital public services.]]></eira:iopSaliency>
     <skos:note><![CDATA[Studying the implementation orientation facilitate Member States in understanding the implementation impacts on the interoperability and the functioning of the digital public services from different perspectives.]]></skos:note>
     <eira:concept>eira:ArchitectureBuildingBlock</eira:concept>
@@ -25053,7 +25053,7 @@ Last modification: 2023-10-01
     <skos:topConceptOf rdf:resource="http://data.europa.eu/dr8" />
     <skos:definition xml:lang="en"><![CDATA[Definition: Shared Infrastructure Content ABB is a Grouping that refers to the set of tools and services that pools IT infrastructure provided by the service provider (e.g. hardware, operating system software, associated operating processes and tools) that can be physically used by several users at the time, thus being "shared". In particular, the service provider ensures compliance with all security standards and the logical separation of data and applications
 
-Source: Interoperable Europe Portal
+Source: Joinup
 
 Source reference: https://joinup.ec.europa.eu/collection/nifo-national-interoperability-framework-observatory/glossary/term/shared-infrastructure
 
@@ -25091,7 +25091,7 @@ Last modification: 2022-31-01
     <dcterms:modified>2022-01-31</dcterms:modified>
     <eira:synonym></eira:synonym>
     <skos:definition><![CDATA[Shared Infrastructure Content ABB is a Grouping that refers to the set of tools and services that pools IT infrastructure provided by the service provider (e.g. hardware, operating system software, associated operating processes and tools) that can be physically used by several users at the time, thus being "shared". In particular, the service provider ensures compliance with all security standards and the logical separation of data and applications]]></skos:definition>
-    <eira:definitionSource>Interoperable Europe Portal</eira:definitionSource>
+    <eira:definitionSource>Joinup</eira:definitionSource>
     <eira:definitionSourceReference><![CDATA[https://joinup.ec.europa.eu/collection/nifo-national-interoperability-framework-observatory/glossary/term/shared-infrastructure]]></eira:definitionSourceReference>
     <skos:example><![CDATA[]]></skos:example>
     <eira:iopSaliency><![CDATA[Shared Infrastructure Content ABB is a key interoperability enabler (*) for structural, behavioural and governance interoperability. It is salient for technical interoperability because it determines the tools and services that can be used by stakeholders or other digital services to interconnect services and data. This ABB also technically establish security standards compliance to deliver such public services.]]></eira:iopSaliency>
diff --git a/tests/fixtures/files/single_solution_valid_adms.rdf b/tests/fixtures/files/single_solution_valid_adms.rdf
index 318d2a811b..6c81e15759 100644
--- a/tests/fixtures/files/single_solution_valid_adms.rdf
+++ b/tests/fixtures/files/single_solution_valid_adms.rdf
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- Demo file including entities to be imported.
-     This file represents a remote repository file so no Drupal/Interoperable Europe Portal properties are included.
+     This file represents a remote repository file so no Drupal/Joinup properties are included.
      After import, the following properties need to be taken care of:
      Solution:
        - Title. This is a federated property but there have been cases that it is missing.
diff --git a/tests/fixtures/files/valid_adms.rdf b/tests/fixtures/files/valid_adms.rdf
index 13baac50f2..76385877a7 100644
--- a/tests/fixtures/files/valid_adms.rdf
+++ b/tests/fixtures/files/valid_adms.rdf
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- Demo file including entities to be imported.
-     This file represents a remote repository file so no Drupal/Interoperable Europe Portal properties are included.
+     This file represents a remote repository file so no Drupal/Joinup properties are included.
      After import, the following properties need to be taken care of:
      Solution:
        - Title. This is a federated property but there have been cases that it is missing.
diff --git a/tests/src/Context/CollectionContext.php b/tests/src/Context/CollectionContext.php
index d4432c9cae..b0ffcf6b31 100644
--- a/tests/src/Context/CollectionContext.php
+++ b/tests/src/Context/CollectionContext.php
@@ -125,7 +125,7 @@ public function assertCollectionPath(string $collection): void {
   /**
    * Navigates to the collections overview page.
    *
-   * @todo This is currently dependent on the Interoperable Europe Portal profile being installed,
+   * @todo This is currently dependent on the Joinup profile being installed,
    *   since the view providing this overview page is exported in the profile.
    *   Remove this todo when ISAICP-5176 is fixed.
    *
@@ -665,10 +665,10 @@ public function updateCollectionName(string $collection, string $name): void {
   }
 
   /**
-   * Creates the standard 'Interoperable Europe Portal' collection.
+   * Creates the standard 'Joinup' collection.
    *
    * @return \Drupal\collection\Entity\CollectionInterface
-   *   The 'Interoperable Europe Portal' collection.
+   *   The 'Joinup' collection.
    *
    * @BeforeScenario @joinup_collection&&@api
    *
@@ -722,8 +722,8 @@ public function assertGlossaryNavigator(?string $expected_navigator = NULL): voi
    * collection the content belongs to. It is tedious to manually define a
    * collection and link it to the content for every single test. If it is
    * omitted in the definition of the test we assign an existing collection, or
-   * if none exist we assign the "Interoperable Europe Portal" collection.
-   * This ensures data integrity and prevents form validation errors.
+   * if none exist we assign the "Joinup" collection. This ensures data
+   * integrity and prevents form validation errors.
    *
    * @param \Drupal\DrupalExtension\Hook\Scope\BeforeNodeCreateScope $scope
    *   An object containing the entity properties and fields that are to be used
@@ -753,8 +753,7 @@ public function provideCollection(BeforeNodeCreateScope $scope): void {
       }
     }
 
-    // If no suitable candidate is found, use the default
-    // "Interoperable Europe Portal" collection.
+    // If no suitable candidate is found, use the default "Joinup" collection.
     if (empty($collection)) {
       $collection = $this->createJoinupCollection();
     }
diff --git a/tests/src/Context/EuplContext.php b/tests/src/Context/EuplContext.php
index b4875a14ef..9a424e8298 100644
--- a/tests/src/Context/EuplContext.php
+++ b/tests/src/Context/EuplContext.php
@@ -63,7 +63,7 @@ public function setupEuplData(): void {
     $solution->save();
     $this->entities['rdf_entity'][$solution->id()] = $solution;
 
-    // 'Interoperable Europe Portal Licensing Assistant' standard custom page.
+    // The 'Joinup Licensing Assistant' standard custom page.
     $this->nodeCreate((object) [
       'nid' => 701805,
       'type' => 'custom_page',
@@ -73,8 +73,7 @@ public function setupEuplData(): void {
       'field_state' => 'published',
     ]);
 
-    // The 'Interoperable Europe Portal Licensing Compatibility Check'
-    // standard custom page.
+    // The 'Joinup Licensing Compatibility Check' standard custom page.
     $this->nodeCreate((object) [
       'nid' => 703242,
       'type' => 'custom_page',
diff --git a/tests/src/Context/FeatureContext.php b/tests/src/Context/FeatureContext.php
index 57e6921b30..a8560165de 100644
--- a/tests/src/Context/FeatureContext.php
+++ b/tests/src/Context/FeatureContext.php
@@ -66,9 +66,8 @@ class FeatureContext extends RawDrupalContext {
   use UtilityTrait;
 
   /**
-   * The Interoperable Europe Portal version.
+   * The Joinup version, retrieved from the `VERSION` file in the project root.
    *
-   * Retrieved from the `VERSION` file in the project root.
    * Will contain the contents of the file, or FALSE if the file is not present.
    *
    * @var string|bool
@@ -1064,8 +1063,7 @@ public function assertNotLinkOptionalRegion($link, $region): void {
   /**
    * Asserts that the page title tag equals to some text.
    *
-   * The assertion strips off the possible suffix
-   * "| Interoperable Europe Portal".
+   * The assertion strips off the possible suffix "| Joinup".
    *
    * @param string $text
    *   The text to search for.
@@ -1843,7 +1841,7 @@ public function backupJoinupVersion(): void {
   }
 
   /**
-   * Restores the backup of the Interoperable Europe Portal `VERSION` file.
+   * Restores the backup of the Joinup `VERSION` file.
    *
    * @AfterScenario @joinupVersion&&@api
    */
@@ -1857,7 +1855,7 @@ public function restoreJoinupVersion(): void {
   }
 
   /**
-   * Sets the Interoperable Europe Portal version.
+   * Sets the Joinup version.
    *
    * Since this overwrites the `VERSION.txt` file in the webroot directory, any
    * scenario that includes this step should be tagged with `@joinupVersion` so
@@ -1865,8 +1863,7 @@ public function restoreJoinupVersion(): void {
    * scenario.
    *
    * @param string $version
-   *   The Interoperable Europe Portal version to set, e.g. 'v1.57.0' or
-   *   'v1.57.0-66-g1234abcde'.
+   *   The Joinup version to set, e.g. 'v1.57.0' or 'v1.57.0-66-g1234abcde'.
    *
    * @When the Interoperable Europe Portal version is set to :version
    */
diff --git a/tests/src/Context/HomepageContext.php b/tests/src/Context/HomepageContext.php
index 336082585d..ba3ca4253c 100644
--- a/tests/src/Context/HomepageContext.php
+++ b/tests/src/Context/HomepageContext.php
@@ -11,7 +11,7 @@
 use PHPUnit\Framework\Assert;
 
 /**
- * Behat step definitions to interact with elements on homepage.
+ * Behat step definitions to interact with elements on the Joinup homepage.
  */
 class HomepageContext extends RawDrupalContext {
 
diff --git a/tests/src/Context/JoinupCollectionContext.php b/tests/src/Context/JoinupCollectionContext.php
index 432f5fbd15..61e0f0d1cd 100644
--- a/tests/src/Context/JoinupCollectionContext.php
+++ b/tests/src/Context/JoinupCollectionContext.php
@@ -12,7 +12,7 @@
 use Drupal\rdf_entity\Entity\Rdf;
 
 /**
- * Behat step definitions and related methods related to the Portal collection.
+ * Behat step definitions and related methods related to the Joinup collection.
  */
 class JoinupCollectionContext extends RawDrupalContext {
 
@@ -21,7 +21,7 @@ class JoinupCollectionContext extends RawDrupalContext {
   use TopicTrait;
 
   /**
-   * Creates the 'Interoperable Europe Portal' collection and related data.
+   * Creates the 'Joinup' collection and related data.
    *
    * @throws \Drupal\Core\Entity\EntityStorageException
    *   Thrown when one of the entities could not be created, for example because
@@ -56,7 +56,7 @@ public function setupJoinupCollection(): void {
   }
 
   /**
-   * Clears the Portal collection created before the scenario.
+   * Clears the Joinup collection created before the scenario.
    *
    * @throws \Drupal\Core\Entity\EntityStorageException
    *   Thrown when one of the created entities could not be deleted.
diff --git a/tests/src/Context/JoinupContext.php b/tests/src/Context/JoinupContext.php
index 26b9be4343..521d44806c 100644
--- a/tests/src/Context/JoinupContext.php
+++ b/tests/src/Context/JoinupContext.php
@@ -47,7 +47,7 @@
 use PHPUnit\Framework\ExpectationFailedException;
 
 /**
- * Behat step definitions that are generally useful for the Interoperable Europe Portal project.
+ * Behat step definitions that are generally useful for the Joinup project.
  */
 class JoinupContext extends RawDrupalContext {
 
@@ -2879,9 +2879,9 @@ public function theOutputShouldMatchTheFile($file_path): void {
    * Title field is optional.
    *
    * Table format:
-   * | URL                                        | Title  |
-   * | https://interoperable-europe.ec.europa.eu/ | Portal |
-   * | https://www.drupal.org/                    | Drupal |
+   * | URL                          | Title  |
+   * | https://joinup.ec.europa.eu/ | Joinup |
+   * | https://www.drupal.org/      | Drupal |
    *
    * @param \Behat\Gherkin\Node\TableNode $table
    *   A table containing the data to enter in the fields.
diff --git a/tests/src/Context/JoinupCoreContext.php b/tests/src/Context/JoinupCoreContext.php
index 1e383a78df..16cdc94e29 100644
--- a/tests/src/Context/JoinupCoreContext.php
+++ b/tests/src/Context/JoinupCoreContext.php
@@ -17,7 +17,7 @@
 use PHPUnit\Framework\Assert;
 
 /**
- * Behat step definitions for functionalities provided by Interoperable Europe Portal core module.
+ * Behat step definitions for functionalities provided by Joinup core module.
  */
 class JoinupCoreContext extends RawDrupalContext {
 
diff --git a/tests/src/Context/JoinupDiscussionContext.php b/tests/src/Context/JoinupDiscussionContext.php
index fc1ae00678..74f0a134c3 100644
--- a/tests/src/Context/JoinupDiscussionContext.php
+++ b/tests/src/Context/JoinupDiscussionContext.php
@@ -51,7 +51,7 @@ public function assertSubscribers(string $title, int $count): void {
   }
 
   /**
-   * Returns the Interoperable Europe Portal subscription service.
+   * Returns the Joinup subscription service.
    *
    * @return \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface
    *   The subscription service.
diff --git a/tests/src/Context/JoinupLegalContext.php b/tests/src/Context/JoinupLegalContext.php
index ea9c2a6722..0cb212b9af 100644
--- a/tests/src/Context/JoinupLegalContext.php
+++ b/tests/src/Context/JoinupLegalContext.php
@@ -12,7 +12,7 @@
 use Drupal\joinup\Traits\TestingEntitiesTrait;
 
 /**
- * Behat step definitions for the Interoperable Europe Portal Legal module.
+ * Behat step definitions for the Joinup Legal module.
  */
 class JoinupLegalContext extends RawDrupalContext {
 
diff --git a/tests/src/Context/JoinupSubscriptionContext.php b/tests/src/Context/JoinupSubscriptionContext.php
index 9fc7554024..8c12ae6d70 100644
--- a/tests/src/Context/JoinupSubscriptionContext.php
+++ b/tests/src/Context/JoinupSubscriptionContext.php
@@ -542,7 +542,7 @@ public function assertDigestNotContains(TableNode $table, string $interval, stri
   }
 
   /**
-   * Returns the Interoperable Europe Portal subscription service.
+   * Returns the Joinup subscription service.
    *
    * @return \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface
    *   The subscription service.
diff --git a/tests/src/Context/RssContext.php b/tests/src/Context/RssContext.php
index 11a26b63d5..13b6b46c75 100644
--- a/tests/src/Context/RssContext.php
+++ b/tests/src/Context/RssContext.php
@@ -53,7 +53,7 @@ public function assertRss(): void {
    *
    * Table format:
    * | title       | link               | description         | ... |
-   * | Portal feed | /collection/portal | RSS feed for Portal | ... |
+   * | Joinup feed | /collection/joinup | RSS feed for Joinup | ... |
    *
    * @param \Behat\Gherkin\Node\TableNode $table
    *   The channel elements data.
@@ -99,7 +99,7 @@ public function assertRssItemsCount(int $count): void {
    * @codingStandardsIgnoreStart
    * Table format:
    * | title     | link            | description          | publication date                | author        | ... |
-   * | News item | /news/news-item | Content of the news. | Thu, 24 Jan 2019 14:08:09 +0100 | Interoperable Europe Portal editor | ... |
+   * | News item | /news/news-item | Content of the news. | Thu, 24 Jan 2019 14:08:09 +0100 | Joinup editor | ... |
    * @codingStandardsIgnoreEnd
    *
    * @param \Behat\Gherkin\Node\TableNode $table
diff --git a/tests/src/Context/SolutionContext.php b/tests/src/Context/SolutionContext.php
index e17ffc3fdb..563a19107a 100644
--- a/tests/src/Context/SolutionContext.php
+++ b/tests/src/Context/SolutionContext.php
@@ -95,7 +95,7 @@ public function visitSolution(string $solution): void {
   /**
    * Navigates to the solution overview page.
    *
-   * @todo This is currently dependent on the Interoperable Europe Portal profile being installed,
+   * @todo This is currently dependent on the Joinup profile being installed,
    *   since the view providing this overview page is exported in the profile.
    *   Remove this todo when ISAICP-5176 is fixed.
    *
diff --git a/web/modules/custom/acceptance/joinup_acceptance.info.yml b/web/modules/custom/acceptance/joinup_acceptance.info.yml
index b5d0295a84..b26c7290a3 100644
--- a/web/modules/custom/acceptance/joinup_acceptance.info.yml
+++ b/web/modules/custom/acceptance/joinup_acceptance.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal Acceptance'
+name: 'Joinup Acceptance'
 description: 'Tasks to performed in the acceptance environment.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/acceptance/joinup_acceptance.install b/web/modules/custom/acceptance/joinup_acceptance.install
index 02c12185f5..ced241f19d 100644
--- a/web/modules/custom/acceptance/joinup_acceptance.install
+++ b/web/modules/custom/acceptance/joinup_acceptance.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update, uninstall tasks for Interoperable Europe Portal Acceptance module.
+ * Install, update, uninstall tasks for Joinup Acceptance module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/adms_validator/adms_validator.info.yml b/web/modules/custom/adms_validator/adms_validator.info.yml
index 0b91488d0d..6d97d898eb 100644
--- a/web/modules/custom/adms_validator/adms_validator.info.yml
+++ b/web/modules/custom/adms_validator/adms_validator.info.yml
@@ -1,7 +1,7 @@
 name: ADMS-AP validator
 description: Validates ADMS-AP data.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/collection/collection.info.yml b/web/modules/custom/collection/collection.info.yml
index f8fc538ab9..1f949d90ce 100644
--- a/web/modules/custom/collection/collection.info.yml
+++ b/web/modules/custom/collection/collection.info.yml
@@ -1,7 +1,7 @@
 name: Collection
-description: 'Provides Collections for the Interoperable Europe Portal project.'
+description: 'Provides Collections for the Joinup project.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 dependencies:
   - drupal:datetime
diff --git a/web/modules/custom/collection/src/Controller/GlossaryController.php b/web/modules/custom/collection/src/Controller/GlossaryController.php
index ac71fc6a76..cb02c8972e 100644
--- a/web/modules/custom/collection/src/Controller/GlossaryController.php
+++ b/web/modules/custom/collection/src/Controller/GlossaryController.php
@@ -15,7 +15,7 @@
 use Drupal\views\Views;
 
 /**
- * Provides controllers for Interoperable Europe Portal glossary functionality.
+ * Provides controllers for Joinup glossary functionality.
  */
 class GlossaryController extends ControllerBase {
 
diff --git a/web/modules/custom/collection/src/Entity/CollectionInterface.php b/web/modules/custom/collection/src/Entity/CollectionInterface.php
index cde3b0bcca..6ecc1e949c 100644
--- a/web/modules/custom/collection/src/Entity/CollectionInterface.php
+++ b/web/modules/custom/collection/src/Entity/CollectionInterface.php
@@ -15,7 +15,7 @@
 use Drupal\rdf_entity\RdfInterface;
 
 /**
- * Interface for collection entities in Interoperable Europe Portal.
+ * Interface for collection entities in Joinup.
  */
 interface CollectionInterface extends RdfInterface, EntityPublicationTimeInterface, EntityWorkflowStateInterface, GroupInterface, FeaturedContentInterface, ArchivableEntityInterface, DescriptionInterface, AbstractInterface {
 
diff --git a/web/modules/custom/collection/src/Entity/GlossaryTermInterface.php b/web/modules/custom/collection/src/Entity/GlossaryTermInterface.php
index 3bc2df23e6..e75ae03417 100644
--- a/web/modules/custom/collection/src/Entity/GlossaryTermInterface.php
+++ b/web/modules/custom/collection/src/Entity/GlossaryTermInterface.php
@@ -7,7 +7,7 @@
 use Drupal\node\NodeInterface;
 
 /**
- * Interface for glossary terms in Interoperable Europe Portal.
+ * Interface for glossary terms in Joinup.
  */
 interface GlossaryTermInterface extends NodeInterface, CollectionContentInterface {
 
diff --git a/web/modules/custom/collection/src/EventSubscriber/CollectionGroupSubscriber.php b/web/modules/custom/collection/src/EventSubscriber/CollectionGroupSubscriber.php
index 58f1a95874..10a3017c67 100644
--- a/web/modules/custom/collection/src/EventSubscriber/CollectionGroupSubscriber.php
+++ b/web/modules/custom/collection/src/EventSubscriber/CollectionGroupSubscriber.php
@@ -9,7 +9,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Interoperable Europe Portal Group events.
+ * Subscribes to Joinup Group events.
  */
 class CollectionGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/contact_form/contact_form.info.yml b/web/modules/custom/contact_form/contact_form.info.yml
index 6b4488a83c..f1d3609746 100644
--- a/web/modules/custom/contact_form/contact_form.info.yml
+++ b/web/modules/custom/contact_form/contact_form.info.yml
@@ -1,7 +1,7 @@
 name: Contact form
-description: The contact form for the Interoperable Europe Portal project.
+description: The contact form for the Joinup project.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/contact_form/contact_form.links.menu.yml b/web/modules/custom/contact_form/contact_form.links.menu.yml
index da3d9abdcc..73cab725b9 100644
--- a/web/modules/custom/contact_form/contact_form.links.menu.yml
+++ b/web/modules/custom/contact_form/contact_form.links.menu.yml
@@ -1,5 +1,5 @@
 contact_form.contact:
-  title: 'Contact Interoperable Europe Portal Support'
+  title: 'Contact Joinup Support'
   weight: 0
   url: 'internal:/contact'
   menu_name: footer
diff --git a/web/modules/custom/contact_information/contact_information.info.yml b/web/modules/custom/contact_information/contact_information.info.yml
index e0d74eba83..3caa31f96e 100644
--- a/web/modules/custom/contact_information/contact_information.info.yml
+++ b/web/modules/custom/contact_information/contact_information.info.yml
@@ -1,7 +1,7 @@
 name: 'Contact information'
-description: 'Provides Contact information entities for the Interoperable Europe Portal project.'
+description: 'Provides Contact information entities for the Joinup project.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/contact_information/src/Entity/ContactInformationInterface.php b/web/modules/custom/contact_information/src/Entity/ContactInformationInterface.php
index 3648200c5d..3f1cbed24f 100644
--- a/web/modules/custom/contact_information/src/Entity/ContactInformationInterface.php
+++ b/web/modules/custom/contact_information/src/Entity/ContactInformationInterface.php
@@ -10,14 +10,14 @@
 use Drupal\node\NodeInterface;
 
 /**
- * Interface for contact information entities in Interoperable Europe Portal.
+ * Interface for contact information entities in Joinup.
  *
  * A contact information entity provides a name - title, and contact details and
  * is used by collections, solutions and asset releases. The data is linked
  * using a standard entity reference field on the parent entity, and even though
  * it can be related to groups this is not considered group content.
  *
- * In Interoperable Europe Portal a contact information entity is not shared between groups, so every
+ * In Joinup a contact information entity is not shared between groups, so every
  * contact info entity belongs only to 1 single parent group. However it can
  * belong to many asset releases within a solution.
  */
diff --git a/web/modules/custom/contact_information/src/Plugin/CKEditor5Plugin/ContactUs.php b/web/modules/custom/contact_information/src/Plugin/CKEditor5Plugin/ContactUs.php
index b792e89b94..0a3ea4e25b 100644
--- a/web/modules/custom/contact_information/src/Plugin/CKEditor5Plugin/ContactUs.php
+++ b/web/modules/custom/contact_information/src/Plugin/CKEditor5Plugin/ContactUs.php
@@ -26,7 +26,7 @@ class ContactUs extends CKEditor5PluginDefault implements ContainerFactoryPlugin
    * @param mixed $plugin_definition
    *   The plugin implementation definition.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $groupManager
-   *   The Interoperable Europe Portal Group manager service.
+   *   The Joinup Group manager service.
    */
   public function __construct(array $configuration, $plugin_id, $plugin_definition, protected JoinupGroupManagerInterface $groupManager) {
     parent::__construct($configuration, $plugin_id, $plugin_definition);
diff --git a/web/modules/custom/curated_content_listing/curated_content_listing.info.yml b/web/modules/custom/curated_content_listing/curated_content_listing.info.yml
index 61819f6203..9ee6e261a2 100644
--- a/web/modules/custom/curated_content_listing/curated_content_listing.info.yml
+++ b/web/modules/custom/curated_content_listing/curated_content_listing.info.yml
@@ -1,7 +1,7 @@
 name: Curated content listings
 type: module
 description: Provides listings of content that can be hand picked by moderators.
-package: Interoperable Europe Portal
+package: Joinup
 
 core_version_requirement: ">= 9.4"
 
diff --git a/web/modules/custom/custom_page/custom_page.info.yml b/web/modules/custom/custom_page/custom_page.info.yml
index c03097983f..9b08f3a64c 100644
--- a/web/modules/custom/custom_page/custom_page.info.yml
+++ b/web/modules/custom/custom_page/custom_page.info.yml
@@ -1,7 +1,7 @@
 name: 'Custom page'
 description: 'Custom content that belongs to a collection.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/custom_page/src/EventSubscriber/CustomPageGroupSubscriber.php b/web/modules/custom/custom_page/src/EventSubscriber/CustomPageGroupSubscriber.php
index 34c1821d00..fe8bdb1241 100644
--- a/web/modules/custom/custom_page/src/EventSubscriber/CustomPageGroupSubscriber.php
+++ b/web/modules/custom/custom_page/src/EventSubscriber/CustomPageGroupSubscriber.php
@@ -8,7 +8,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Interoperable Europe Portal Group events.
+ * Subscribes to Joinup Group events.
  */
 class CustomPageGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/dashboard/dashboard.info.yml b/web/modules/custom/dashboard/dashboard.info.yml
index 0597bcc2cb..9928ba1fe3 100644
--- a/web/modules/custom/dashboard/dashboard.info.yml
+++ b/web/modules/custom/dashboard/dashboard.info.yml
@@ -1,7 +1,7 @@
 name: Dashboard
-description: Provides a dashboard for the Interoperable Europe Portal project.
+description: Provides a dashboard for the Joinup project.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 dependencies:
   - joinup:joinup_core
diff --git a/web/modules/custom/entityqueue_block/entityqueue_block.info.yml b/web/modules/custom/entityqueue_block/entityqueue_block.info.yml
index ef1dfca2de..63e304ff0a 100644
--- a/web/modules/custom/entityqueue_block/entityqueue_block.info.yml
+++ b/web/modules/custom/entityqueue_block/entityqueue_block.info.yml
@@ -1,7 +1,7 @@
 name: Entityqueue block
 type: module
 description: Provides a block type that displays the content of an entityqueue.
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 dependencies:
   - 'drupal:block'
diff --git a/web/modules/custom/isa2_analytics/isa2_analytics.info.yml b/web/modules/custom/isa2_analytics/isa2_analytics.info.yml
index 5105f87522..bc4d8440a3 100644
--- a/web/modules/custom/isa2_analytics/isa2_analytics.info.yml
+++ b/web/modules/custom/isa2_analytics/isa2_analytics.info.yml
@@ -1,5 +1,5 @@
 name: ISA2 Analytics
-description: Integrates the ISA2 Interoperable Europe Portal instance with Webtools Analytics for tracking user behaviour.
+description: Integrates the ISA2 Joinup instance with Webtools Analytics for tracking user behaviour.
 type: module
 package: ISA2
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_bookmark/joinup_bookmark.info.yml b/web/modules/custom/joinup_bookmark/joinup_bookmark.info.yml
index d81391181d..4454a7330c 100644
--- a/web/modules/custom/joinup_bookmark/joinup_bookmark.info.yml
+++ b/web/modules/custom/joinup_bookmark/joinup_bookmark.info.yml
@@ -1,7 +1,7 @@
 name: Bookmark
 description: 'bookmark functionality'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_bookmark/joinup_bookmark.module b/web/modules/custom/joinup_bookmark/joinup_bookmark.module
index 8162a0c092..20d2a56337 100644
--- a/web/modules/custom/joinup_bookmark/joinup_bookmark.module
+++ b/web/modules/custom/joinup_bookmark/joinup_bookmark.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal bookmark module.
+ * Hook implementations for the Joinup bookmark module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_bundle_class/joinup_bundle_class.info.yml b/web/modules/custom/joinup_bundle_class/joinup_bundle_class.info.yml
index f0f50cf6c3..ee8d0016b1 100644
--- a/web/modules/custom/joinup_bundle_class/joinup_bundle_class.info.yml
+++ b/web/modules/custom/joinup_bundle_class/joinup_bundle_class.info.yml
@@ -1,5 +1,5 @@
-name: 'Interoperable Europe Portal Bundle Class'
-description: 'Shared code for entity types that implement bundle classes in Interoperable Europe Portal.'
+name: 'Joinup Bundle Class'
+description: 'Shared code for entity types that implement bundle classes in Joinup.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_cas_mock_server/joinup_cas_mock_server.info.yml b/web/modules/custom/joinup_cas_mock_server/joinup_cas_mock_server.info.yml
index c5a49204a2..d665656e46 100644
--- a/web/modules/custom/joinup_cas_mock_server/joinup_cas_mock_server.info.yml
+++ b/web/modules/custom/joinup_cas_mock_server/joinup_cas_mock_server.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal CAS Mock Server
-description: CAS mock server customized for Interoperable Europe Portal.
+name: Joinup CAS Mock Server
+description: CAS mock server customized for Joinup.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 dependencies:
   - cas_mock_server:cas_mock_server
diff --git a/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php b/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php
index f7cc8aa9e5..7e42f1986d 100644
--- a/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php
+++ b/web/modules/custom/joinup_cas_mock_server/src/Config/JoinupCasMockServerConfigOverrider.php
@@ -45,10 +45,9 @@ public function loadOverrides($names): array {
           'email' => 'E-mail address',
         ],
       ],
-      // The Interoperable Europe Portal EU Login module customizes the
-      // validation path of the CAS ticket validation service. Restore it to
-      // the value that corresponds to the CAS 3.0 specification which is
-      // implemented by the CAS mock server.
+      // The Joinup EU Login module customizes the validation path of the CAS
+      // ticket validation service. Restore it to the value that corresponds to
+      // the CAS 3.0 specification which is implemented by the CAS mock server.
       'joinup_eulogin.settings' => [
         'ticket_validation' => [
           'path' => 'p3/serviceValidate',
diff --git a/web/modules/custom/joinup_communities/eif/eif.info.yml b/web/modules/custom/joinup_communities/eif/eif.info.yml
index ba0f28d447..54f952e74c 100644
--- a/web/modules/custom/joinup_communities/eif/eif.info.yml
+++ b/web/modules/custom/joinup_communities/eif/eif.info.yml
@@ -2,7 +2,7 @@ name: European Interoperability Framework
 type: module
 description: Custom functionality for the European Interoperability Framework community.
 core_version_requirement: ">= 9.4"
-package: Interoperable Europe Portal communities
+package: Joinup communities
 dependencies:
   - drupal:text
   - joinup:custom_page
diff --git a/web/modules/custom/joinup_communities/eira/eira.info.yml b/web/modules/custom/joinup_communities/eira/eira.info.yml
index 5b46b445e9..e0a6d659ab 100644
--- a/web/modules/custom/joinup_communities/eira/eira.info.yml
+++ b/web/modules/custom/joinup_communities/eira/eira.info.yml
@@ -2,7 +2,7 @@ name: EIRA
 type: module
 description: 'Customizations for the EIRA community.'
 core_version_requirement: ">= 9.4"
-package: 'Interoperable Europe Portal communities'
+package: 'Joinup communities'
 
 dependencies:
   - drupal:filter
diff --git a/web/modules/custom/joinup_communities/eupl/eupl.info.yml b/web/modules/custom/joinup_communities/eupl/eupl.info.yml
index 378098baec..8140450fb1 100644
--- a/web/modules/custom/joinup_communities/eupl/eupl.info.yml
+++ b/web/modules/custom/joinup_communities/eupl/eupl.info.yml
@@ -2,6 +2,6 @@ name: EUPL
 type: module
 description: 'Customizations for the EUPL community.'
 core_version_requirement: ">= 9.4"
-package: 'Interoperable Europe Portal communities'
+package: 'Joinup communities'
 
 dependencies: {  }
diff --git a/web/modules/custom/joinup_communities/eupl/src/Eupl.php b/web/modules/custom/joinup_communities/eupl/src/Eupl.php
index de86fd4402..26a3831ce6 100644
--- a/web/modules/custom/joinup_communities/eupl/src/Eupl.php
+++ b/web/modules/custom/joinup_communities/eupl/src/Eupl.php
@@ -17,7 +17,7 @@ class Eupl {
   const EUPL_COMMUNITY_ID = 'http://data.europa.eu/w21/b4be085f-c669-4ead-82a9-b2020fabd40b';
 
   /**
-   * The Interoperable Europe Portal Licensing Assistant (JLA) solution ID.
+   * The Joinup Licensing Assistant (JLA) solution ID.
    *
    * @var string
    */
diff --git a/web/modules/custom/joinup_communities/interoperable_europe/interoperable_europe.info.yml b/web/modules/custom/joinup_communities/interoperable_europe/interoperable_europe.info.yml
index 974f3c3d0a..523a774a2b 100644
--- a/web/modules/custom/joinup_communities/interoperable_europe/interoperable_europe.info.yml
+++ b/web/modules/custom/joinup_communities/interoperable_europe/interoperable_europe.info.yml
@@ -1,7 +1,7 @@
 name: Interoperable Europe
 type: module
-description: Custom code for the Interoperable Europe community of the Interoperable Europe Portal project.
-package: Interoperable Europe Portal communities
+description: Custom code for the Interoperable Europe community of the Joinup project.
+package: Joinup communities
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.info.yml b/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.info.yml
index b8a42682f0..1e98468ed0 100644
--- a/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.info.yml
+++ b/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.info.yml
@@ -1,8 +1,8 @@
-name: Interoperable Europe Portal
+name: Joinup
 type: module
-description: Specificities for the Interoperable Europe Portal community.
+description: Specificities for the Joinup community.
 core_version_requirement: ">= 9.4"
-package: Interoperable Europe Portal communities
+package: Joinup communities
 
 dependencies:
   - og:og
diff --git a/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module b/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module
index 12fbbad73e..e70eb951d3 100644
--- a/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module
+++ b/web/modules/custom/joinup_communities/joinup_collection/joinup_collection.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main file of Interoperable Europe Portal module.
+ * Main file of Joinup module.
  */
 
 declare(strict_types=1);
@@ -19,8 +19,7 @@
 /**
  * Implements hook_ENTITY_TYPE_insert().
  *
- * Add the 'Interoperable Europe Portal' collection membership to
- * every new user.
+ * Add the 'Joinup' collection membership to every new user.
  */
 function joinup_collection_user_insert(UserInterface $account): void {
   /** @var \Drupal\collection\Entity\CollectionInterface $joinup_collection */
@@ -62,10 +61,9 @@ function joinup_collection_form_views_form_og_members_overview_default_alter(&$f
  */
 function joinup_collection_rdf_entity_insert(EntityInterface $entity): void {
   // Invalidate a custom cache tag, used to rebuild the hamburger menu so that
-  // the 'About us' link can be shown dependending on whether the Interoperable
-  // Europe Portal collection exists. Mainly intended for tests since in the
-  // production site the Interoperable Europe Portal collection is not
-  // regularly deleted.
+  // the 'About us' link can be shown dependending on whether the Joinup
+  // collection exists. Mainly intended for tests since in the production site
+  // the Joinup collection is not regularly deleted.
   if ($entity->id() === JoinupCollectionHelper::getCollectionId()) {
     Cache::invalidateTags(['joinup_collection:exists']);
   }
diff --git a/web/modules/custom/joinup_communities/joinup_collection/src/Controller/JoinupCollectionLeaveController.php b/web/modules/custom/joinup_communities/joinup_collection/src/Controller/JoinupCollectionLeaveController.php
index e2d5b7ad54..b8ade36087 100644
--- a/web/modules/custom/joinup_communities/joinup_collection/src/Controller/JoinupCollectionLeaveController.php
+++ b/web/modules/custom/joinup_communities/joinup_collection/src/Controller/JoinupCollectionLeaveController.php
@@ -25,7 +25,7 @@ class JoinupCollectionLeaveController {
    *   The access result object.
    */
   public static function access(RdfInterface $rdf_entity): AccessResultInterface {
-    // The 'Interoperable Europe Portal' membership can not be revoked.
+    // The 'Joinup' membership can not be revoked.
     if ($rdf_entity->id() === JoinupCollectionHelper::getCollectionId()) {
       return AccessResult::forbidden();
     }
diff --git a/web/modules/custom/joinup_communities/joinup_collection/src/JoinupCollectionHelper.php b/web/modules/custom/joinup_communities/joinup_collection/src/JoinupCollectionHelper.php
index 6627024d99..6758c4c748 100644
--- a/web/modules/custom/joinup_communities/joinup_collection/src/JoinupCollectionHelper.php
+++ b/web/modules/custom/joinup_communities/joinup_collection/src/JoinupCollectionHelper.php
@@ -7,12 +7,12 @@
 use Drupal\Core\Site\Settings;
 
 /**
- * Helper class for the Interoperable Europe Portal Collection module.
+ * Helper class for the Joinup Collection module.
  */
 class JoinupCollectionHelper {
 
   /**
-   * The default entity ID of the Interoperable Europe Portal collection.
+   * The default entity ID of the Joinup collection.
    */
   public const JOINUP_COLLECTION_DEFAULT_ENTITY_ID = 'http://data.europa.eu/w21/df34e3a2-207b-4910-a804-344931654e20';
 
@@ -22,7 +22,7 @@ class JoinupCollectionHelper {
   public const INTEROPERABILITY_SOLUTIONS_ENTITY_ID = 704741;
 
   /**
-   * Returns the entity ID of the Interoperable Europe Portal collection.
+   * Returns the entity ID of the Joinup collection.
    *
    * This will return the collection ID that is defined in `settings.php`, or a
    * fallback default ID if not defined in the settings.
diff --git a/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.info.yml b/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.info.yml
index 61bd7f1ea0..23a4c333f1 100644
--- a/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.info.yml
+++ b/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.info.yml
@@ -1,8 +1,8 @@
-name: Interoperable Europe Portal OSS Catalogue
+name: Joinup OSS Catalogue
 type: module
 description: EU OSS Catalogue customisation
 core_version_requirement: ">= 9.4"
-package: Interoperable Europe Portal communities
+package: Joinup communities
 
 dependencies:
   - eu_oss_catalogue:eu_oss_catalogue
diff --git a/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.module b/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.module
index 8b4ae0b131..a740c2e6d1 100644
--- a/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.module
+++ b/web/modules/custom/joinup_communities/joinup_oss_catalogue/joinup_oss_catalogue.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main file of Interoperable Europe Portal OSS Catalogue module.
+ * Main file of Joinup OSS Catalogue module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Entity/JoinupOssSolution.php b/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Entity/JoinupOssSolution.php
index f414b685ef..d458858826 100644
--- a/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Entity/JoinupOssSolution.php
+++ b/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Entity/JoinupOssSolution.php
@@ -18,7 +18,7 @@
 use Drupal\joinup_oss_catalogue\Plugin\LanguageNegotiation\OssContentNegotiation;
 
 /**
- * Interoperable Europe Portal OSS solution.
+ * Joinup OSS solution.
  */
 class JoinupOssSolution extends OssSolution implements DescriptionInterface, LogoInterface {
 
diff --git a/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Plugin/QueueWorker/JoinupOssCatalogueImagecacheWarmerQueue.php b/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Plugin/QueueWorker/JoinupOssCatalogueImagecacheWarmerQueue.php
index a46108b6f1..c8f8e4cccf 100644
--- a/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Plugin/QueueWorker/JoinupOssCatalogueImagecacheWarmerQueue.php
+++ b/web/modules/custom/joinup_communities/joinup_oss_catalogue/src/Plugin/QueueWorker/JoinupOssCatalogueImagecacheWarmerQueue.php
@@ -11,7 +11,7 @@
  *
  * @QueueWorker(
  *   id = "joinup_oss_catalogue_imagecache_warmer",
- *   title = @Translation("Interoperable Europe Portal OSS Catalogue remote image cache warmer"),
+ *   title = @Translation("Joinup OSS Catalogue remote image cache warmer"),
  *   cron = {"time" = 60},
  * )
  */
diff --git a/web/modules/custom/joinup_communities/osor/static_pages/implementation.html b/web/modules/custom/joinup_communities/osor/static_pages/implementation.html
index c6bae6da33..d63febd01d 100644
--- a/web/modules/custom/joinup_communities/osor/static_pages/implementation.html
+++ b/web/modules/custom/joinup_communities/osor/static_pages/implementation.html
@@ -48,4 +48,4 @@
       </div>
     </div>
   </div>
-</div>
+</div>
\ No newline at end of file
diff --git a/web/modules/custom/joinup_communities/semic/adopters.xml b/web/modules/custom/joinup_communities/semic/adopters.xml
index 8bf00880d3..e1e9225b3f 100644
--- a/web/modules/custom/joinup_communities/semic/adopters.xml
+++ b/web/modules/custom/joinup_communities/semic/adopters.xml
@@ -7,15 +7,15 @@
 			<name>Adopters of data standards developed by SEMIC in Europe</name>
 			<Placemark>
 				<name>BRIS</name>
-				<description><![CDATA[The EU Business Registers Interconnection System (BRIS) facilitates the distribution of information from each of the Member States’ business registers to the registers of other Member States in a standard message format and in the relevant language version. The BRIS XML schema makes basic company information searchable and exchangeable, and is based on the XML syntax of the Core Business Vocabularies.<br><br>BRIS uses the XML schema representation format to describe the information exchange model and the domain model. BRIS is aligned with the Core Business Vocabulary at the conceptual level, and BRIS XML messages are based on Core Business Vocabulary XML syntax. Class properties and associations that were not needed from the Core Business Registry were removed, and new classes, properties or associations needed by BRIS were added. You can read more about it <a href="https://joinup.ec.europa.eu/sites/default/files/eu_core_vocabularies_in_action_using_core_business_vocabulary_in_the_eu_.pdf" target="_blank">here</a>.<br><br>Owners: <a href="http://ec.europa.eu/dgs/informatics/index_en.htm" target="_blank">DG DIGIT</a>, <a href="http://ec.europa.eu/justice/index_en.htm" target="_blank">DG JUST</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/core_vocabularies/description" target="_blank">Core Business Vocabulary</a><br><br>You can visit the <a href="https://joinup.ec.europa.eu/community/semic/news/core-business-vocabulary-action-case-eu-business-registers-interconnection-syst" target="_blank">BRIS homepage on Interoperable Europe Portal</a> for more information.]]></description>
+				<description><![CDATA[The EU Business Registers Interconnection System (BRIS) facilitates the distribution of information from each of the Member States’ business registers to the registers of other Member States in a standard message format and in the relevant language version. The BRIS XML schema makes basic company information searchable and exchangeable, and is based on the XML syntax of the Core Business Vocabularies.<br><br>BRIS uses the XML schema representation format to describe the information exchange model and the domain model. BRIS is aligned with the Core Business Vocabulary at the conceptual level, and BRIS XML messages are based on Core Business Vocabulary XML syntax. Class properties and associations that were not needed from the Core Business Registry were removed, and new classes, properties or associations needed by BRIS were added. You can read more about it <a href="https://joinup.ec.europa.eu/sites/default/files/eu_core_vocabularies_in_action_using_core_business_vocabulary_in_the_eu_.pdf" target="_blank">here</a>.<br><br>Owners: <a href="http://ec.europa.eu/dgs/informatics/index_en.htm" target="_blank">DG DIGIT</a>, <a href="http://ec.europa.eu/justice/index_en.htm" target="_blank">DG JUST</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/core_vocabularies/description" target="_blank">Core Business Vocabulary</a><br><br>You can visit the <a href="https://joinup.ec.europa.eu/community/semic/news/core-business-vocabulary-action-case-eu-business-registers-interconnection-syst" target="_blank">BRIS homepage on Joinup</a> for more information.]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>4.3712711,50.8422893,0.0</coordinates>
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>Interoperable Europe Portal</name>
-				<description><![CDATA[Interoperable Europe Portal is a collaborative platform, and a federated repository of more than 40 repositories across Europe for interoperability solutions created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other. It also supports them to find, choose, re-use, develop and implement interoperability solutions.<br><br>ADMS-AP for Interoperable Europe Portal aims to extend the use of ADMS for the description of other types of interoperability solutions, meaning solutions covering the political, legal, organisational and technical interoperability layers defined by the <a href="http://ec.europa.eu/isa/documents/isa_annex_ii_eif_en.pdf" target="_blank">European Interoperability Framework</a>. You can read more about it <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">here</a>.<br><br>Owner: <a href="http://ec.europa.eu/isa/" target="_blank">ISA Programme</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">ADMS-AP</a><br><br><a href="https://joinup.ec.europa.eu" target="_blank">joinup.ec.europa.eu</a>]]></description>
+				<name>Joinup</name>
+				<description><![CDATA[Joinup is a collaborative platform, and a federated repository of more than 40 repositories across Europe for interoperability solutions created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other. It also supports them to find, choose, re-use, develop and implement interoperability solutions.<br><br>ADMS-AP for Joinup aims to extend the use of ADMS for the description of other types of interoperability solutions, meaning solutions covering the political, legal, organisational and technical interoperability layers defined by the <a href="http://ec.europa.eu/isa/documents/isa_annex_ii_eif_en.pdf" target="_blank">European Interoperability Framework</a>. You can read more about it <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">here</a>.<br><br>Owner: <a href="http://ec.europa.eu/isa/" target="_blank">ISA Programme</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">ADMS-AP</a><br><br><a href="https://joinup.ec.europa.eu" target="_blank">joinup.ec.europa.eu</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>4.3710887,50.8420996,0.0</coordinates>
@@ -30,8 +30,8 @@
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>The European Union Open Data Interoperable Europe Portal</name>
-				<description><![CDATA[The European Union Open Data Interoperable Europe Portal is the single point of access to a growing range of data from the institutions and other bodies of the European Union (EU). Data are free to use and reuse for commercial or non-commercial purposes. By providing easy and free access to data, the portal aims to promote their innovative use and unleash their economic potential. It also aims to help foster the transparency and the accountability of the institutions and other bodies of the EU. The core feature of the European Data Interoperable Europe Portal is a metadata repository harvesting metadata references to data published by public administrations in those countries and present those metadata references in the DCAT-AP format.<br><br>The European Union Open Data Interoperable Europe Portal implements the DCAT-AP as the common vocabulary for harmonising descriptions of over 258,000 datasets harvested from 67 data portals of 34 countries. The vocabulary is provided as a <a href="https://open-data.europa.eu/files/MetadataVocabulary.ods" target="_blank">worksheet specification</a> and as an <a href="https://open-data.europa.eu/files/ec-odp.owl" target="_blank">ontology</a>. It has been aligned in general terms to be compatible with the <a href="https://joinup.ec.europa.eu/asset/adms/description" target="_blank">ADMS</a>. You can read more about it <a href="https://open-data.europa.eu/en/linked-data" target="_blank">here</a>.<br><br>Owner: <a href="http://publications.europa.eu/en/web/about-us/who-we-are" target="_blank">Publications Office of the European Union</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="https://open-data.europa.eu" target="_blank">https://open-data.europa.eu</a>]]></description>
+				<name>The European Union Open Data Portal</name>
+				<description><![CDATA[The European Union Open Data Portal is the single point of access to a growing range of data from the institutions and other bodies of the European Union (EU). Data are free to use and reuse for commercial or non-commercial purposes. By providing easy and free access to data, the portal aims to promote their innovative use and unleash their economic potential. It also aims to help foster the transparency and the accountability of the institutions and other bodies of the EU. The core feature of the European Data Portal is a metadata repository harvesting metadata references to data published by public administrations in those countries and present those metadata references in the DCAT-AP format.<br><br>The European Union Open Data Portal implements the DCAT-AP as the common vocabulary for harmonising descriptions of over 258,000 datasets harvested from 67 data portals of 34 countries. The vocabulary is provided as a <a href="https://open-data.europa.eu/files/MetadataVocabulary.ods" target="_blank">worksheet specification</a> and as an <a href="https://open-data.europa.eu/files/ec-odp.owl" target="_blank">ontology</a>. It has been aligned in general terms to be compatible with the <a href="https://joinup.ec.europa.eu/asset/adms/description" target="_blank">ADMS</a>. You can read more about it <a href="https://open-data.europa.eu/en/linked-data" target="_blank">here</a>.<br><br>Owner: <a href="http://publications.europa.eu/en/web/about-us/who-we-are" target="_blank">Publications Office of the European Union</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="https://open-data.europa.eu" target="_blank">https://open-data.europa.eu</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>6.1313099,49.5987394,0.0</coordinates>
@@ -46,8 +46,8 @@
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>Swedish Open Data Interoperable Europe Portal</name>
-				<description><![CDATA[The Swedish innovation agency VINNOVA, which runs the Swedish Open Data Interoperable Europe Portal, in collaboration with Open Knowledge UK and MetaSolutions have undertaken many activities to support the implementation of DCAT-AP in the Swedish Open Data Interoperable Europe Portal, including: preliminary support for DCAT-AP in CKAN, and the development of a DCAT-AP validator and editors.<br><br>The Swedish Open Data Interoperable Europe Portal uses a <a href="https://docs.google.com/document/d/1A7OUPTqWIvKGdaArOORIJKlowFynA0UWBO1M4BnE4Ak/edit" target="_blank">DCAT application profile</a> specifically created for Sweden by <a href="https://metasolutions.se/" target="_blank">Metasolutions</a> to describe datasets in more details. For example, datasets classifications according to <a href="http://eurovoc.europa.eu/drupal/?q=navigation&cl=en" target="_blank">Eurovoc classification system</a>. The Swedish Open Data Interoperable Europe Portal uses CKAN to automatically harvest datasets from a range of DCAT sources and to expose DCAT metadata in different formats. You can read more about it <a href="http://ckan.org/tag/oppnadata-se/" target="_blank">here</a>.<br><br>Owner: <a href="http://www.vinnova.se/sv/" target="_blank">Swedish innovation agency Vinnova</a><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="http://oppnadata.se" target="_blank">http://oppnadata.se</a>]]></description>
+				<name>Swedish Open Data Portal</name>
+				<description><![CDATA[The Swedish innovation agency VINNOVA, which runs the Swedish Open Data Portal, in collaboration with Open Knowledge UK and MetaSolutions have undertaken many activities to support the implementation of DCAT-AP in the Swedish Open Data Portal, including: preliminary support for DCAT-AP in CKAN, and the development of a DCAT-AP validator and editors.<br><br>The Swedish Open Data Portal uses a <a href="https://docs.google.com/document/d/1A7OUPTqWIvKGdaArOORIJKlowFynA0UWBO1M4BnE4Ak/edit" target="_blank">DCAT application profile</a> specifically created for Sweden by <a href="https://metasolutions.se/" target="_blank">Metasolutions</a> to describe datasets in more details. For example, datasets classifications according to <a href="http://eurovoc.europa.eu/drupal/?q=navigation&cl=en" target="_blank">Eurovoc classification system</a>. The Swedish Open Data Portal uses CKAN to automatically harvest datasets from a range of DCAT sources and to expose DCAT metadata in different formats. You can read more about it <a href="http://ckan.org/tag/oppnadata-se/" target="_blank">here</a>.<br><br>Owner: <a href="http://www.vinnova.se/sv/" target="_blank">Swedish innovation agency Vinnova</a><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="http://oppnadata.se" target="_blank">http://oppnadata.se</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>18.0609781,59.3326049,0.0</coordinates>
@@ -79,7 +79,7 @@
 			</Placemark>
 			<Placemark>
 				<name>The German XRepository</name>
-				<description><![CDATA[The XRepository provides a central location for storing and managing subject-specific and interdisciplinary interoperability solutions for public administrations. These interoperability solutions support data exchange between public authorities or between a public authority and citizens. XRepository provides a serialisation of its metadata in ADMS-AP format which is federated in Interoperable Europe Portal.<br><br>Owner: <a href="http://www.bmi.bund.de/EN/Home/home_node.html" target="_blank">German Federal Ministry of the Interior</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">ADMS-AP</a><br><br><a href="https://www.xrepository.de" target="_blank">https://www.xrepository.de</a>]]></description>
+				<description><![CDATA[The XRepository provides a central location for storing and managing subject-specific and interdisciplinary interoperability solutions for public administrations. These interoperability solutions support data exchange between public authorities or between a public authority and citizens. XRepository provides a serialisation of its metadata in ADMS-AP format which is federated in Joinup.<br><br>Owner: <a href="http://www.bmi.bund.de/EN/Home/home_node.html" target="_blank">German Federal Ministry of the Interior</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/adms/asset_release/adms-application-profile-joinup" target="_blank">ADMS-AP</a><br><br><a href="https://www.xrepository.de" target="_blank">https://www.xrepository.de</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>8.8125172,53.0791566,0.0</coordinates>
@@ -102,7 +102,7 @@
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>Dutch Open Data Interoperable Europe Portal</name>
+				<name>Dutch Open Data Portal</name>
 				<description><![CDATA[The Dutch data portal provides an overview of all available datasets provided by government organisations in the Netherlands. There are over 150 Dutch government organisations that provide over 7100 datasets. The Dutch data portal implements DCAT-AP standard as a NL application profile. The Dutch data portal provides export of their metadata in DCAT-AP-NL format. You can read more about it <a href="https://data.overheid.nl/IPM-Datamodel" target="_blank">here</a>.<br><br>Owner: <a href="https://www.rijksoverheid.nl/ministeries/ministerie-van-binnenlandse-zaken-en-koninkrijksrelaties" target="_blank">Dutch Ministry of Interior and Kingdom Relations</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="https://data.overheid.nl" target="_blank">https://data.overheid.nl</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
@@ -110,7 +110,7 @@
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>The Swiss Open Data Interoperable Europe Portal</name>
+				<name>The Swiss Open Data Portal</name>
 				<description><![CDATA[The Confederation, cantons and communes as well as other organisations with a mandate from the state publish their open data on opendata.swiss. The portal brings together a wide range of datasets such as Swiss communal boundaries, population statistics, current weather data, historical documents and health insurance premiums. DCAT-AP Switzerland metadata standard helps publishers get their data on the Swiss open data portal. You can read more about it <a href="http://dcat-ap-switzerland.readthedocs.org/en/latest/" target="_blank">here</a>.<br><br>Owner: <a href="https://www.bar.admin.ch/bar/en/home.html" target="_blank">Swiss federal archives</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="http://www.opendata.admin.ch/en" target="_blank">http://www.opendata.admin.ch/en</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
@@ -118,8 +118,8 @@
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>The Irish Open Data Interoperable Europe Portal</name>
-				<description><![CDATA[The Irish Open Data Interoperable Europe Portal promotes innovation and transparency through the publication of Irish Public Sector data in open, free and reusable formats. The Open Data listed in data.gov.ie is published by over 80 Government Departments and Public Bodies. Many datasets are individually published and updated by public organisations. Other datasets are harvested daily from existing, domain-specific data catalogues. Datasets on https://data.gov.ie are accompanied by metadata compliant to DCAT-AP (with the Geo extension, if appropriate to the dataset). You can read more about it <a href="https://data.gov.ie/developers" target="_blank">here</a>.<br><br>Owner: <a href="http://www.per.gov.ie/en/" target="_blank">The Department of Public Expenditure & Reform</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="https://data.gov.ie" target="_blank">https://data.gov.ie</a>]]></description>
+				<name>The Irish Open Data Portal</name>
+				<description><![CDATA[The Irish Open Data Portal promotes innovation and transparency through the publication of Irish Public Sector data in open, free and reusable formats. The Open Data listed in data.gov.ie is published by over 80 Government Departments and Public Bodies. Many datasets are individually published and updated by public organisations. Other datasets are harvested daily from existing, domain-specific data catalogues. Datasets on https://data.gov.ie are accompanied by metadata compliant to DCAT-AP (with the Geo extension, if appropriate to the dataset). You can read more about it <a href="https://data.gov.ie/developers" target="_blank">here</a>.<br><br>Owner: <a href="http://www.per.gov.ie/en/" target="_blank">The Department of Public Expenditure & Reform</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="https://data.gov.ie" target="_blank">https://data.gov.ie</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>-6.2529284,53.3386354,0.0</coordinates>
@@ -135,7 +135,7 @@
 			</Placemark>
 			<Placemark>
 				<name>Geocat CKAN Harvester</name>
-				<description><![CDATA[Geocat CKAN Harvester is an extension of CKAN for data harvesting from the Swiss CSW service geocat.ch to the Swiss open data portal opendata.swiss. The source format is ISO-19139_che (Swiss version of ISO-19139), the target format is DCAT-AP Switzerland.<br><br>Owner: <a href="https://opendata.swiss/en/" target="_blank">Open Data Interoperable Europe Portal Switzerland</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="https://github.com/opendata-swiss/ckanext-geocat" target="_blank">https://github.com/opendata-swiss/ckanext-geocat</a>]]></description>
+				<description><![CDATA[Geocat CKAN Harvester is an extension of CKAN for data harvesting from the Swiss CSW service geocat.ch to the Swiss open data portal opendata.swiss. The source format is ISO-19139_che (Swiss version of ISO-19139), the target format is DCAT-AP Switzerland.<br><br>Owner: <a href="https://opendata.swiss/en/" target="_blank">Open Data Portal Switzerland</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="https://github.com/opendata-swiss/ckanext-geocat" target="_blank">https://github.com/opendata-swiss/ckanext-geocat</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>7.446687500000001,46.9404132,0.0</coordinates>
@@ -174,7 +174,7 @@
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>Belgian Open Data Interoperable Europe Portal</name>
+				<name>Belgian Open Data Portal</name>
 				<description><![CDATA[The Federal Public Service for Information and Communication Technology (Fedict) defines and implements the federal e-government strategy. Fedict works to develop and follow up on e-Government solutions and applications on behalf of the Federal Government. To this end, Fedict assists the Federal public services in enhancing the delivery of their services to citizens, businesses and civil servants with the aid of innovative information and communication technologies (ICT). In doing so, Fedict actively contributes to the exchange of data between various public services and to the development and modernisation of software giving access to online government applications.<br>You can read more about it here:<a href="http://www.fedict.belgium.be/en/"target="_blank">Fedict</a><br><br>Fedict uses a command-line DCAT-AP validator and other tools for harvesting local open data portals, and for updating the data.gov.be portal. A dump of all the metadata is available on github.<br><br>The command line DCAT-AP validator is an open source tool for DCAT-AP 1.1 developed initially for improving the data.gov.be metadata as an offline alternative to online validators. Following the validation action, the output is an HTML report with a list of subjects violating the rule.<br><br>The validation rules check: (1) mandatory classes and properties, (2) recommended properties, (3) the use of the EU Publication Office's MDR Authority lists (controlled vocabularies), and (4) best practices (e.g. language tags on literals).<br><br>Owner: <br><a href=http://www.fedict.belgium.be/en"target="_blank">Fedict</a><br><br>ISA specification used: <br><a href=https://joinup.ec.europa.eu/node/145618"target="_blank">DCAT-AP validator</a> <br><br>Project: <br><a href=http://data.gov.be"target="_blank">DCAT-AP validator</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
@@ -182,16 +182,16 @@
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>The Open Data Interoperable Europe Portal of Ghent</name>
-				<description><![CDATA[The City of Ghent publishes most of the content which is availble on its public website <a href="http://stad.gent"target="_blank">Stad Gent</a> as Linked Open Data (RDF). This includes all the public services it offers to citizens. These services are described using the Core Public Service Vocabulary and are extended in some cases with more specfic information. An example of such a service is <br><a href="https://stad.gent/id/products/208"target="_blank">example</a> . At the bottom of the page a link to the RDF representation, and this representation can also be acquired through content negotiation.<br>This allows semantic web agents and other applications to retreive structured, semantic information on the City's services.<br><br>The City of Ghent is long-standing publisher of open data. The metadata of every dataset it publishes on its data portal, <a href=http://data.stad.gent"target="_blank">Ghent Data Interoperable Europe Portal</a>, is available through a DCAT feed. This feed also allows other data portals (specifically that of the Flemish government, the Belgian federal government and the European data portal) to harvest and aggregate its data.<br><br>Owner: <br><a href=https://stad.gent/"target="_blank">Stad Gent</a><br><br>ISA specifications used: <br><a href=https://joinup.ec.europa.eu/node/52597"target="_blank">Core Public Service Vocabulary</a>, and DCAT-AP <a href=https://joinup.ec.europa.eu/node/63567"target="_blank">DCAT-AP</a><br><br><a href=https://stad.gent/data/products/"target="_blank">Gent Public Services</a>,]]></description>
+				<name>The Open Data Portal of Ghent</name>
+				<description><![CDATA[The City of Ghent publishes most of the content which is availble on its public website <a href="http://stad.gent"target="_blank">Stad Gent</a> as Linked Open Data (RDF). This includes all the public services it offers to citizens. These services are described using the Core Public Service Vocabulary and are extended in some cases with more specfic information. An example of such a service is <br><a href="https://stad.gent/id/products/208"target="_blank">example</a> . At the bottom of the page a link to the RDF representation, and this representation can also be acquired through content negotiation.<br>This allows semantic web agents and other applications to retreive structured, semantic information on the City's services.<br><br>The City of Ghent is long-standing publisher of open data. The metadata of every dataset it publishes on its data portal, <a href=http://data.stad.gent"target="_blank">Ghent Data Portal</a>, is available through a DCAT feed. This feed also allows other data portals (specifically that of the Flemish government, the Belgian federal government and the European data portal) to harvest and aggregate its data.<br><br>Owner: <br><a href=https://stad.gent/"target="_blank">Stad Gent</a><br><br>ISA specifications used: <br><a href=https://joinup.ec.europa.eu/node/52597"target="_blank">Core Public Service Vocabulary</a>, and DCAT-AP <a href=https://joinup.ec.europa.eu/node/63567"target="_blank">DCAT-AP</a><br><br><a href=https://stad.gent/data/products/"target="_blank">Gent Public Services</a>,]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>3.7253208,51.0545313,0.0</coordinates>
 				</Point>
 			</Placemark>
 			<Placemark>
-				<name>The European Data Interoperable Europe Portal - EDP</name>
-				<description><![CDATA[The European Data Interoperable Europe Portal <a href="http://www.europeandataportal.eu" target="_blank">European Data Interoperable Europe Portal</a> harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included.<br><br>Mapping into the GeoDCAT-AP profile – a transdisciplinary metadata exchange format for EU data portals – the exchange and reuse of EU member states' spatial data and that of other European countries can be simplified and their quality improved. Moreover, all metadata is automatically translated during harvesting. For example, French metadata is automatically translated to German and vice versa, to simplify the Europe-wide search for data.<br>Another feature available from the portal is the search for place names, for the purpose of simplifying the discovery of datasets by means of spatial search criteria. To this end, con terra employs the smart.finder, a solution that allows rapid discovery and structured access to extensive, heterogeneous datasets. The basic data is drawn from such sources as the geographical names according to INSPIRE Annex I and open data from geonames.org, which are harmonised and combined with the aid of the FME spatial data hub. The INSPIRE-compliant OGC Web Feature Service that has recently been made available by the Federal Agency for Cartography and Geodesy (BKG) is also used for geographical names in the construction of this so-called gazetteer.<br><br>Project participants: <a href="http://www.conterra.de" target="_blank">con terra GmbH</a>,  <a href="https://www.fokus.fraunhofer.de/en" target="_blank">fraunhofer</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/node/139283" target="_blank">GeoDCAT-AP</a><br><br>Project:<br><a href="http://www.europeandataportal.eu/en"  target="_blank">European Data Interoperable Europe Portal</a>]]></description>
+				<name>The European Data Portal - EDP</name>
+				<description><![CDATA[The European Data Portal <a href="http://www.europeandataportal.eu" target="_blank">European Data Portal</a> harvests the metadata of Public Sector Information available on public data portals across European countries. Information regarding the provision of data and the benefits of re-using data is also included.<br><br>Mapping into the GeoDCAT-AP profile – a transdisciplinary metadata exchange format for EU data portals – the exchange and reuse of EU member states' spatial data and that of other European countries can be simplified and their quality improved. Moreover, all metadata is automatically translated during harvesting. For example, French metadata is automatically translated to German and vice versa, to simplify the Europe-wide search for data.<br>Another feature available from the portal is the search for place names, for the purpose of simplifying the discovery of datasets by means of spatial search criteria. To this end, con terra employs the smart.finder, a solution that allows rapid discovery and structured access to extensive, heterogeneous datasets. The basic data is drawn from such sources as the geographical names according to INSPIRE Annex I and open data from geonames.org, which are harmonised and combined with the aid of the FME spatial data hub. The INSPIRE-compliant OGC Web Feature Service that has recently been made available by the Federal Agency for Cartography and Geodesy (BKG) is also used for geographical names in the construction of this so-called gazetteer.<br><br>Project participants: <a href="http://www.conterra.de" target="_blank">con terra GmbH</a>,  <a href="https://www.fokus.fraunhofer.de/en" target="_blank">fraunhofer</a><br><br>ISA specification used: <a href="https://joinup.ec.europa.eu/node/139283" target="_blank">GeoDCAT-AP</a><br><br>Project:<br><a href="http://www.europeandataportal.eu/en"  target="_blank">European Data Portal</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>6.125537,49.5995608,0.0</coordinates>
@@ -264,7 +264,7 @@
 			</Placemark>
 			<Placemark>
 				<name>Technical Interoperability Standard for Data Models</name>
-				<description><![CDATA[The National Technical Interoperability Standard to reuse public information (NTIS) establishes a minimum of common specification to describe data sets within the Spanish Public. The NTIS is an application profile of DCAT.<br><br>The NTIS is federated with European Data Interoperable Europe Portal (EDP).<br><br>Owner: <a href="http://www.minhap.gob.es/en-GB/El%20Ministerio/Paginas/El%20Ministerio.aspx" target="_blank">Directorate for Information Technologies & Communications, Ministry of Finance & Public Administration</a><br><br>ISA specification: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="www.datos.gob.es" target="_blank">www.datos.gob.es</a>]]></description>
+				<description><![CDATA[The National Technical Interoperability Standard to reuse public information (NTIS) establishes a minimum of common specification to describe data sets within the Spanish Public. The NTIS is an application profile of DCAT.<br><br>The NTIS is federated with European Data Portal (EDP).<br><br>Owner: <a href="http://www.minhap.gob.es/en-GB/El%20Ministerio/Paginas/El%20Ministerio.aspx" target="_blank">Directorate for Information Technologies & Communications, Ministry of Finance & Public Administration</a><br><br>ISA specification: <a href="https://joinup.ec.europa.eu/asset/dcat_application_profile/description" target="_blank">DCAT-AP</a><br><br><a href="www.datos.gob.es" target="_blank">www.datos.gob.es</a>]]></description>
 				<styleUrl>#icon-503-DB4436</styleUrl>
 				<Point>
 					<coordinates>-3.6960411,40.4209456,0.0</coordinates>
@@ -318,4 +318,4 @@
 			</Pair>
 		</StyleMap>
 	</Document>
-</kml>
+</kml>
\ No newline at end of file
diff --git a/web/modules/custom/joinup_communities/semic/semic.info.yml b/web/modules/custom/joinup_communities/semic/semic.info.yml
index 55e892856e..1de3dbb28d 100644
--- a/web/modules/custom/joinup_communities/semic/semic.info.yml
+++ b/web/modules/custom/joinup_communities/semic/semic.info.yml
@@ -2,4 +2,4 @@ name: Semic
 type: module
 description: Specificities for the SEMIC community.
 core_version_requirement: ">= 9.4"
-package: Interoperable Europe Portal communities
+package: Joinup communities
diff --git a/web/modules/custom/joinup_community_content/joinup_community_content.info.yml b/web/modules/custom/joinup_community_content/joinup_community_content.info.yml
index c3c55acdd4..228599876b 100644
--- a/web/modules/custom/joinup_community_content/joinup_community_content.info.yml
+++ b/web/modules/custom/joinup_community_content/joinup_community_content.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal Community Content
-description: Interoperable Europe Portal Community Content base module
+name: Joinup Community Content
+description: Joinup Community Content base module
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_community_content/src/CommunityContentWorkflowAccessControlHandler.php b/web/modules/custom/joinup_community_content/src/CommunityContentWorkflowAccessControlHandler.php
index 6f0986ec96..4d56c46971 100644
--- a/web/modules/custom/joinup_community_content/src/CommunityContentWorkflowAccessControlHandler.php
+++ b/web/modules/custom/joinup_community_content/src/CommunityContentWorkflowAccessControlHandler.php
@@ -52,7 +52,7 @@ public function __construct(
   }
 
   /**
-   * Main handler for access checks for group content in Interoperable Europe Portal.
+   * Main handler for access checks for group content in Joinup.
    *
    * @param \Drupal\joinup_community_content\Entity\CommunityContentInterface $content
    *   The group content entity object.
diff --git a/web/modules/custom/joinup_community_content/src/EventSubscriber/CommunityContentGroupSubscriber.php b/web/modules/custom/joinup_community_content/src/EventSubscriber/CommunityContentGroupSubscriber.php
index e61144bb9d..3d83e99e9f 100644
--- a/web/modules/custom/joinup_community_content/src/EventSubscriber/CommunityContentGroupSubscriber.php
+++ b/web/modules/custom/joinup_community_content/src/EventSubscriber/CommunityContentGroupSubscriber.php
@@ -8,7 +8,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Interoperable Europe Portal Group events.
+ * Subscribes to Joinup Group events.
  */
 class CommunityContentGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/joinup_community_content/src/EventSubscriber/EventSubscriber.php b/web/modules/custom/joinup_community_content/src/EventSubscriber/EventSubscriber.php
index 080198a6c9..db4be4145f 100644
--- a/web/modules/custom/joinup_community_content/src/EventSubscriber/EventSubscriber.php
+++ b/web/modules/custom/joinup_community_content/src/EventSubscriber/EventSubscriber.php
@@ -15,7 +15,7 @@
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 
 /**
- * Event subscribers for the Interoperable Europe Portal community content module.
+ * Event subscribers for the Joinup community content module.
  */
 class EventSubscriber implements EventSubscriberInterface {
 
diff --git a/web/modules/custom/joinup_community_content/src/Plugin/views/filter/JoinupContentState.php b/web/modules/custom/joinup_community_content/src/Plugin/views/filter/JoinupContentState.php
index 6ace91054d..44129b390b 100644
--- a/web/modules/custom/joinup_community_content/src/Plugin/views/filter/JoinupContentState.php
+++ b/web/modules/custom/joinup_community_content/src/Plugin/views/filter/JoinupContentState.php
@@ -13,7 +13,7 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Interoperable Europe Portal content state.
+ * Joinup content state.
  *
  * Workflow for nodes are calculated based on the associated group. We can not
  * use the standard approach because state filter does not use a real entity,
diff --git a/web/modules/custom/joinup_community_content/tests/src/ExistingSite/CommunityContentWorkflowTestBase.php b/web/modules/custom/joinup_community_content/tests/src/ExistingSite/CommunityContentWorkflowTestBase.php
index 11ff3e1e75..4839aaf54b 100644
--- a/web/modules/custom/joinup_community_content/tests/src/ExistingSite/CommunityContentWorkflowTestBase.php
+++ b/web/modules/custom/joinup_community_content/tests/src/ExistingSite/CommunityContentWorkflowTestBase.php
@@ -16,7 +16,7 @@
 use Drupal\rdf_entity\RdfInterface;
 
 /**
- * Base setup for a Interoperable Europe Portal workflow test for community content.
+ * Base setup for a Joinup workflow test for community content.
  *
  * @group rdf_entity
  */
diff --git a/web/modules/custom/joinup_core/config/schema/joinup_core.schema.yml b/web/modules/custom/joinup_core/config/schema/joinup_core.schema.yml
index 785ba13ed1..356cfb3ac4 100644
--- a/web/modules/custom/joinup_core/config/schema/joinup_core.schema.yml
+++ b/web/modules/custom/joinup_core/config/schema/joinup_core.schema.yml
@@ -19,7 +19,7 @@ joinup_core.outdated_content_threshold:
 
 field.formatter.third_party.joinup:
   type: mapping
-  label: 'Theme settings for Interoperable Europe Portal project.'
+  label: 'Theme settings for Joinup project.'
   mapping:
     template_suggestion:
       type: string
@@ -159,7 +159,7 @@ condition.plugin.request_route:
 
 condition.plugin.joinup_content:
   type: condition.plugin
-  label: Interoperable Europe Portal content condition
+  label: Joinup content condition
   mapping:
     content:
       type: sequence
@@ -214,7 +214,7 @@ entity_reference_selection.grouped_taxonomy_term_selection:
 
 filter_settings.joinup_iframe:
   type: filter
-  label: 'Interoperable Europe Portal iframe filter'
+  label: 'Joinup iframe filter'
   mapping:
     allowed_domains:
       type: sequence
diff --git a/web/modules/custom/joinup_core/joinup_core.deploy.php b/web/modules/custom/joinup_core/joinup_core.deploy.php
index 15c9c6a596..688c6f52c0 100644
--- a/web/modules/custom/joinup_core/joinup_core.deploy.php
+++ b/web/modules/custom/joinup_core/joinup_core.deploy.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Deploy functions for Interoperable Europe Portal.
+ * Deploy functions for Joinup.
  *
  * This should only contain update functions that rely on the Drupal API and
  * need to run _after_ the configuration is imported.
diff --git a/web/modules/custom/joinup_core/joinup_core.info.yml b/web/modules/custom/joinup_core/joinup_core.info.yml
index 32924395a9..7c8d8c81f2 100644
--- a/web/modules/custom/joinup_core/joinup_core.info.yml
+++ b/web/modules/custom/joinup_core/joinup_core.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal core'
-description: 'Contains shared code for Interoperable Europe Portal.'
+name: 'Joinup core'
+description: 'Contains shared code for Joinup.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 dependencies:
   - 'drupal:comment'
diff --git a/web/modules/custom/joinup_core/joinup_core.install b/web/modules/custom/joinup_core/joinup_core.install
index d884cce79f..5fdda9e198 100644
--- a/web/modules/custom/joinup_core/joinup_core.install
+++ b/web/modules/custom/joinup_core/joinup_core.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update, and uninstall functions for the Interoperable Europe Portal core module.
+ * Install, update, and uninstall functions for the Joinup core module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_core/joinup_core.links.menu.yml b/web/modules/custom/joinup_core/joinup_core.links.menu.yml
index 4e6a6277f9..3da8630e62 100644
--- a/web/modules/custom/joinup_core/joinup_core.links.menu.yml
+++ b/web/modules/custom/joinup_core/joinup_core.links.menu.yml
@@ -28,7 +28,7 @@ joinup_core.support.contact:
   destination: true
 
 joinup_core.support.homepage_contact:
-  title: 'Contact Interoperable Europe Portal Support'
+  title: 'Contact Joinup Support'
   menu_name: footer-help-and-support
   url: 'internal:/contact'
   weight: -100
diff --git a/web/modules/custom/joinup_core/joinup_core.module b/web/modules/custom/joinup_core/joinup_core.module
index 2296d337d9..eb74d4a909 100644
--- a/web/modules/custom/joinup_core/joinup_core.module
+++ b/web/modules/custom/joinup_core/joinup_core.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal core module.
+ * Hook implementations for the Joinup core module.
  */
 
 declare(strict_types=1);
@@ -460,8 +460,8 @@ function joinup_core_menu_local_tasks_alter(&$data, $route_name, RefinableCachea
  * Implements hook_page_attachments().
  */
 function joinup_core_page_attachments(array &$attachments): void {
-  // As Interoperable Europe Portal uses multiple themes, we pass the active
-  // theme to the page to be used in various contexts.
+  // As Joinup uses multiple themes, we pass the active theme to the page to be
+  // used in various contexts.
   $attachments['#attached']['drupalSettings']['theme'] = \Drupal::theme()->getActiveTheme()->getName();
 }
 
diff --git a/web/modules/custom/joinup_core/joinup_core.post_update.php b/web/modules/custom/joinup_core/joinup_core.post_update.php
index e734b69d9c..60c416114e 100644
--- a/web/modules/custom/joinup_core/joinup_core.post_update.php
+++ b/web/modules/custom/joinup_core/joinup_core.post_update.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Post update functions for Interoperable Europe Portal.
+ * Post update functions for Joinup.
  *
  * This should only contain update functions that rely on the Drupal API but
  * need to run _before_ the configuration is imported.
diff --git a/web/modules/custom/joinup_core/joinup_core.tokens.inc b/web/modules/custom/joinup_core/joinup_core.tokens.inc
index a4d2f61768..6b34223a60 100644
--- a/web/modules/custom/joinup_core/joinup_core.tokens.inc
+++ b/web/modules/custom/joinup_core/joinup_core.tokens.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Tokens support for Interoperable Europe Portal Core module.
+ * Tokens support for Joinup Core module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_core/src/JoinupVersion.php b/web/modules/custom/joinup_core/src/JoinupVersion.php
index f2324b4275..fad9a0dce9 100644
--- a/web/modules/custom/joinup_core/src/JoinupVersion.php
+++ b/web/modules/custom/joinup_core/src/JoinupVersion.php
@@ -7,7 +7,7 @@
 use Drupal\Core\Url;
 
 /**
- * A service that retrieves the current Interoperable Europe Portal version.
+ * A service that retrieves the current Joinup version.
  *
  * The version is saved during building the codebase in a `VERSION.txt` file, in
  * the project's webroot directory.
@@ -22,7 +22,7 @@ class JoinupVersion implements JoinupVersionInterface {
   const UNTAGGED = 'untagged.version';
 
   /**
-   * The current Interoperable Europe Portal version.
+   * The current Joinup version.
    *
    * @var string
    */
diff --git a/web/modules/custom/joinup_core/src/JoinupVersionInterface.php b/web/modules/custom/joinup_core/src/JoinupVersionInterface.php
index 82c214fae8..0a435f2190 100644
--- a/web/modules/custom/joinup_core/src/JoinupVersionInterface.php
+++ b/web/modules/custom/joinup_core/src/JoinupVersionInterface.php
@@ -7,7 +7,7 @@
 use Drupal\Core\Url;
 
 /**
- * Interface for services that retrieve the current Interoperable Europe Portal version.
+ * Interface for services that retrieve the current Joinup version.
  *
  * The version is saved during building the codebase in a `VERSION.txt` file, in
  * the project's webroot directory.
@@ -15,7 +15,7 @@
 interface JoinupVersionInterface {
 
   /**
-   * The path to the file that contains the Interoperable Europe Portal version.
+   * The path to the file that contains the Joinup version.
    */
   const PATH = DRUPAL_ROOT . '/VERSION.txt';
 
@@ -25,11 +25,10 @@ interface JoinupVersionInterface {
   const REPO_BASE_URL = 'https://git.fpfis.tech.ec.europa.eu/ec-europa/digit-joinup-reference/';
 
   /**
-   * Returns a string that uniquely identifies the current Interoperable Europe Portal version.
+   * Returns a string that uniquely identifies the current Joinup version.
    *
    * @return string
-   *   The Interoperable Europe Portal version. This is in the format as
-   *   returned by `git describe`.
+   *   The Joinup version. This is in the format as returned by `git describe`.
    *   - If a release is checked out this will be the git tag, e.g. 'v1.56.0'.
    *   - If a development version is checked out, the version is composed of the
    *     closest git tag, followed by a dash, the number of commits that follow
@@ -43,7 +42,7 @@ interface JoinupVersionInterface {
   public function getVersion(): string;
 
   /**
-   * Returns the URL of the current Interoperable Europe Portal release or code snapshot.
+   * Returns the URL of the current Joinup release or code snapshot.
    *
    * @return \Drupal\Core\Url
    *   The URL.
diff --git a/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php b/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php
index 5a7b40b1e2..6d96b6a346 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Block/JoinupLocalTasksBlock.php
@@ -17,9 +17,8 @@
  * always visible so if there is only 1 tab active, it is the current one and
  * the user does not need to click to go to the current page.
  *
- * In Interoperable Europe Portal, we are hiding off the "View" tab for
- * canonical paths. This can result in cases where there is only 1 tab
- * left but it is not the current one.
+ * In Joinup, we are hiding off the "View" tab for canonical paths. This can
+ * result in cases where there is only 1 tab left but it is not the current one.
  * Thus, we need to override the primary tabs block in order to allow a single
  * tab to be viewed.
  *
diff --git a/web/modules/custom/joinup_core/src/Plugin/Condition/JoinupContent.php b/web/modules/custom/joinup_core/src/Plugin/Condition/JoinupContent.php
index 74d7037c40..cf6241b1c5 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Condition/JoinupContent.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Condition/JoinupContent.php
@@ -16,7 +16,7 @@
  *
  * @Condition(
  *   id = "joinup_content",
- *   label = @Translation("Interoperable Europe Portal content"),
+ *   label = @Translation("Joinup content"),
  *   context_definitions = {
  *     "node" = @ContextDefinition("entity:node", label = @Translation("Node"),
  *   required = FALSE),
diff --git a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingEmailWidget.php b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingEmailWidget.php
index 62f99574ac..61688e8074 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingEmailWidget.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingEmailWidget.php
@@ -10,7 +10,7 @@
 /**
  * Widget for e-mail fields that support multiple cardinality for existing data.
  *
- * In the Drupal 6 version of Interoperable Europe Portal it was possible to enter multiple e-mail
+ * In the Drupal 6 version of Joinup it was possible to enter multiple e-mail
  * addresses for some e-mail fields. In the new version we only allow to enter a
  * single e-mail address for these fields. However, it should still be possible
  * to edit existing multivalue data for content that was migrated from Drupal 6.
diff --git a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingLinkWidget.php b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingLinkWidget.php
index b9d72a9078..be86d019fc 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingLinkWidget.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingLinkWidget.php
@@ -12,7 +12,7 @@
 /**
  * Widget for link fields that support multiple cardinality for existing data.
  *
- * In the Drupal 6 version of Interoperable Europe Portal it was possible to enter multiple values
+ * In the Drupal 6 version of Joinup it was possible to enter multiple values
  * for some link fields, but in the new version we only allow to enter a single
  * value. However, it should still be possible to edit existing multivalue data
  * for content that was migrated from Drupal 6.
diff --git a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingTextFieldWidget.php b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingTextFieldWidget.php
index 42894096a2..d48a88e60d 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingTextFieldWidget.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Field/FieldWidget/LegacyMultipleCardinalitySupportingTextFieldWidget.php
@@ -10,7 +10,7 @@
 /**
  * Widget for text fields that support multiple cardinality for existing data.
  *
- * In the Drupal 6 version of Interoperable Europe Portal it was possible to enter multiple values
+ * In the Drupal 6 version of Joinup it was possible to enter multiple values
  * for some text fields, but in the new version we only allow to enter a single
  * value. However, it should still be possible to edit existing multivalue data
  * for content that was migrated from Drupal 6.
diff --git a/web/modules/custom/joinup_core/src/Plugin/Filter/FilterIframe.php b/web/modules/custom/joinup_core/src/Plugin/Filter/FilterIframe.php
index 968bf88aca..ab1c699f8f 100644
--- a/web/modules/custom/joinup_core/src/Plugin/Filter/FilterIframe.php
+++ b/web/modules/custom/joinup_core/src/Plugin/Filter/FilterIframe.php
@@ -22,7 +22,7 @@
  */
 #[Filter(
   id: "joinup_iframe",
-  title: new TranslatableMarkup("Interoperable Europe Portal iframe filter"),
+  title: new TranslatableMarkup("Joinup iframe filter"),
   type: FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE,
   description: new TranslatableMarkup("Filters <code>iframe</code> tags according to allowed domains."),
   settings: [
diff --git a/web/modules/custom/joinup_core/src/Plugin/SocialMediaLinks/Iconset/JoinupIcons.php b/web/modules/custom/joinup_core/src/Plugin/SocialMediaLinks/Iconset/JoinupIcons.php
index 32e0135244..b151a58f6f 100644
--- a/web/modules/custom/joinup_core/src/Plugin/SocialMediaLinks/Iconset/JoinupIcons.php
+++ b/web/modules/custom/joinup_core/src/Plugin/SocialMediaLinks/Iconset/JoinupIcons.php
@@ -8,15 +8,15 @@
 use Drupal\social_media_links\IconsetBase;
 
 /**
- * Provides the Interoperable Europe Portal icons set.
+ * Provides the Joinup icons set.
  *
  * Since the user social media field requires this class in its configuration,
- * we cannot put this in the Interoperable Europe Portal profile.
+ * we cannot put this in the Joinup profile.
  *
  * @Iconset(
  *   id = "joinup",
- *   publisher = "Interoperable Europe Portal",
- *   name = "Interoperable Europe Portal icons",
+ *   publisher = "Joinup",
+ *   name = "Joinup icons",
  * )
  */
 class JoinupIcons extends IconsetBase {
diff --git a/web/modules/custom/joinup_core/src/Plugin/sparql_entity_storage/Id/JoinupEntityIdGenerator.php b/web/modules/custom/joinup_core/src/Plugin/sparql_entity_storage/Id/JoinupEntityIdGenerator.php
index dd6fe225a2..03329e477c 100644
--- a/web/modules/custom/joinup_core/src/Plugin/sparql_entity_storage/Id/JoinupEntityIdGenerator.php
+++ b/web/modules/custom/joinup_core/src/Plugin/sparql_entity_storage/Id/JoinupEntityIdGenerator.php
@@ -14,7 +14,7 @@
  *
  * @SparqlEntityIdGenerator(
  *   id = "joinup_po_namespace",
- *   name = @Translation("Interoperable Europe Portal PO namespace (data.europa.eu/w21)"),
+ *   name = @Translation("Joinup PO namespace (data.europa.eu/w21)"),
  * )
  */
 class JoinupEntityIdGenerator extends SparqlEntityStorageEntityIdPluginBase {
diff --git a/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.info.yml b/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.info.yml
index c64783484d..c82de9e0a9 100644
--- a/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.info.yml
+++ b/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.info.yml
@@ -1,4 +1,4 @@
-name: 'Interoperable Europe Portal ETrans Debugger'
+name: 'Joinup ETrans Debugger'
 type: module
 description: 'Developer module which visually reveals which parts of the page are translated by the ETrans service'
 package: Testing
diff --git a/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.module b/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.module
index 5a85ed699d..57525c6993 100644
--- a/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.module
+++ b/web/modules/custom/joinup_core/tests/modules/joinup_test_etrans/joinup_test_etrans.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains hooks of Interoperable Europe Portal ETrans Debugger.
+ * Contains hooks of Joinup ETrans Debugger.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_core/tests/modules/joinup_test_time/joinup_test_time.info.yml b/web/modules/custom/joinup_core/tests/modules/joinup_test_time/joinup_test_time.info.yml
index d3584de0f5..4a69360e9e 100644
--- a/web/modules/custom/joinup_core/tests/modules/joinup_test_time/joinup_test_time.info.yml
+++ b/web/modules/custom/joinup_core/tests/modules/joinup_test_time/joinup_test_time.info.yml
@@ -1,4 +1,4 @@
-name: 'Interoperable Europe Portal request time mock'
+name: 'Joinup request time mock'
 type: module
 description: 'Support module for testing with mocked request time.'
 package: Testing
diff --git a/web/modules/custom/joinup_core/tests/src/ExistingSite/BlockContextSatisfactionTest.php b/web/modules/custom/joinup_core/tests/src/ExistingSite/BlockContextSatisfactionTest.php
index bc1d3222e4..2f073a43fa 100644
--- a/web/modules/custom/joinup_core/tests/src/ExistingSite/BlockContextSatisfactionTest.php
+++ b/web/modules/custom/joinup_core/tests/src/ExistingSite/BlockContextSatisfactionTest.php
@@ -17,7 +17,7 @@
 class BlockContextSatisfactionTest extends JoinupExistingSiteTestBase {
 
   /**
-   * An array containing the paths that contain custom Interoperable Europe Portal code.
+   * An array containing the paths that contain custom Joinup code.
    *
    * All custom blocks whose definitions reside in these paths will be subjected
    * to this test.
@@ -94,7 +94,7 @@ protected function getBlockDefinitionsFilteredByAvailableContexts(): array {
   }
 
   /**
-   * Returns the block definitions that are defined in custom Interoperable Europe Portal code.
+   * Returns the block definitions that are defined in custom Joinup code.
    *
    * @return array[]
    *   An associative array of block definitions, keyed by block ID.
@@ -109,7 +109,7 @@ protected function getJoinupBlockDefinitions(): array {
   }
 
   /**
-   * Returns the custom extensions that are provided by Interoperable Europe Portal.
+   * Returns the custom extensions that are provided by Joinup.
    *
    * @return \Drupal\Core\Extension\Extension[]
    *   The extensions.
diff --git a/web/modules/custom/joinup_core/tests/src/ExistingSite/ConfigTest.php b/web/modules/custom/joinup_core/tests/src/ExistingSite/ConfigTest.php
index b61ef1ad3c..e0c3778f9a 100644
--- a/web/modules/custom/joinup_core/tests/src/ExistingSite/ConfigTest.php
+++ b/web/modules/custom/joinup_core/tests/src/ExistingSite/ConfigTest.php
@@ -8,7 +8,7 @@
 use Drush\TestTraits\DrushTestTrait;
 
 /**
- * Tests the Interoperable Europe Portal configuration.
+ * Tests the Joinup configuration.
  *
  * @group joinup_core
  */
diff --git a/web/modules/custom/joinup_core/tests/src/Kernel/JoinupConfigSyncTest.php b/web/modules/custom/joinup_core/tests/src/Kernel/JoinupConfigSyncTest.php
index 6078a0bbfa..821911554e 100644
--- a/web/modules/custom/joinup_core/tests/src/Kernel/JoinupConfigSyncTest.php
+++ b/web/modules/custom/joinup_core/tests/src/Kernel/JoinupConfigSyncTest.php
@@ -13,7 +13,7 @@
 use Symfony\Component\DependencyInjection\Reference;
 
 /**
- * Tests Interoperable Europe Portal sync configuration.
+ * Tests Joinup sync configuration.
  *
  * @group joinup_core
  */
diff --git a/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupMailKernelTestBase.php b/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupMailKernelTestBase.php
index ffc8e13214..e155da308f 100644
--- a/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupMailKernelTestBase.php
+++ b/web/modules/custom/joinup_core/tests/src/Kernel/Mail/JoinupMailKernelTestBase.php
@@ -42,7 +42,7 @@ abstract class JoinupMailKernelTestBase extends KernelTestBase {
     'mailsystem',
     'symfony_mailer_lite',
 
-    // Interoperable Europe Portal Notification + its dependencies.
+    // Joinup Notification + its dependencies.
     'joinup_notification',
     'field',
     'options',
diff --git a/web/modules/custom/joinup_debug/joinup_debug.info.yml b/web/modules/custom/joinup_debug/joinup_debug.info.yml
index a79cd7a920..1893f0e069 100644
--- a/web/modules/custom/joinup_debug/joinup_debug.info.yml
+++ b/web/modules/custom/joinup_debug/joinup_debug.info.yml
@@ -1,5 +1,5 @@
-name: 'Interoperable Europe Portal debug'
+name: 'Joinup debug'
 description: 'Provides additional logging when unexpected behavior occurs.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_debug/joinup_debug.module b/web/modules/custom/joinup_debug/joinup_debug.module
index c4187532ad..0a348b7e28 100644
--- a/web/modules/custom/joinup_debug/joinup_debug.module
+++ b/web/modules/custom/joinup_debug/joinup_debug.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal Debug module.
+ * Hook implementations for the Joinup Debug module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_debug/src/Form/SparqlConsoleForm.php b/web/modules/custom/joinup_debug/src/Form/SparqlConsoleForm.php
index cd75278d92..89f526d07b 100644
--- a/web/modules/custom/joinup_debug/src/Form/SparqlConsoleForm.php
+++ b/web/modules/custom/joinup_debug/src/Form/SparqlConsoleForm.php
@@ -11,7 +11,7 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Provides a Interoperable Europe Portal RDF form.
+ * Provides a Joinup RDF form.
  */
 final class SparqlConsoleForm extends FormBase {
 
diff --git a/web/modules/custom/joinup_debug/src/Form/VocabularyIndexForm.php b/web/modules/custom/joinup_debug/src/Form/VocabularyIndexForm.php
index 8b79c0ef43..a943bf7f3a 100644
--- a/web/modules/custom/joinup_debug/src/Form/VocabularyIndexForm.php
+++ b/web/modules/custom/joinup_debug/src/Form/VocabularyIndexForm.php
@@ -13,7 +13,7 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Provides a Interoperable Europe Portal debug form.
+ * Provides a Joinup debug form.
  */
 final class VocabularyIndexForm extends FormBase {
 
diff --git a/web/modules/custom/joinup_discussion/joinup_discussion.info.yml b/web/modules/custom/joinup_discussion/joinup_discussion.info.yml
index 279071cea5..5952b5a882 100644
--- a/web/modules/custom/joinup_discussion/joinup_discussion.info.yml
+++ b/web/modules/custom/joinup_discussion/joinup_discussion.info.yml
@@ -1,7 +1,7 @@
 name: Discussion
-description: 'A discussion content bundle for the Interoperable Europe Portal project.'
+description: 'A discussion content bundle for the Joinup project.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_discussion/joinup_discussion.module b/web/modules/custom/joinup_discussion/joinup_discussion.module
index ac11ef2515..f7bd0ce509 100644
--- a/web/modules/custom/joinup_discussion/joinup_discussion.module
+++ b/web/modules/custom/joinup_discussion/joinup_discussion.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal Discussion module.
+ * Hook implementations for the Joinup Discussion module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_discussion/src/Entity/DiscussionInterface.php b/web/modules/custom/joinup_discussion/src/Entity/DiscussionInterface.php
index e63cf027d8..f2826e237e 100644
--- a/web/modules/custom/joinup_discussion/src/Entity/DiscussionInterface.php
+++ b/web/modules/custom/joinup_discussion/src/Entity/DiscussionInterface.php
@@ -9,7 +9,7 @@
 use Drupal\joinup_workflow\ArchivableEntityInterface;
 
 /**
- * Interface for discussion entities in Interoperable Europe Portal.
+ * Interface for discussion entities in Joinup.
  */
 interface DiscussionInterface extends CommunityContentInterface, ArchivableEntityInterface, LogoInterface {
 
diff --git a/web/modules/custom/joinup_discussion/src/Event/DiscussionEvents.php b/web/modules/custom/joinup_discussion/src/Event/DiscussionEvents.php
index 569fb54bb6..81d61c8310 100644
--- a/web/modules/custom/joinup_discussion/src/Event/DiscussionEvents.php
+++ b/web/modules/custom/joinup_discussion/src/Event/DiscussionEvents.php
@@ -5,7 +5,7 @@
 namespace Drupal\joinup_discussion\Event;
 
 /**
- * Defines events for the Interoperable Europe Portal Discussion module.
+ * Defines events for the Joinup Discussion module.
  */
 final class DiscussionEvents {
 
diff --git a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php
index 24b95aba85..2bd81702ae 100644
--- a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php
+++ b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionCommentSubscriber.php
@@ -17,14 +17,14 @@
 class SubscribedDiscussionCommentSubscriber implements EventSubscriberInterface {
 
   /**
-   * The Interoperable Europe Portal subscribe service.
+   * The Joinup subscribe service.
    *
    * @var \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface
    */
   protected $subscribeService;
 
   /**
-   * The Interoperable Europe Portal message delivery service.
+   * The Joinup message delivery service.
    *
    * @var \Drupal\joinup_notification\JoinupMessageDeliveryInterface
    */
@@ -62,9 +62,9 @@ class SubscribedDiscussionCommentSubscriber implements EventSubscriberInterface
    * Constructs a new event subscriber object.
    *
    * @param \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface $subscribe_service
-   *   The Interoperable Europe Portal subscribe service.
+   *   The Joinup subscribe service.
    * @param \Drupal\joinup_notification\JoinupMessageDeliveryInterface $message_delivery
-   *   The Interoperable Europe Portal message delivery service.
+   *   The Joinup message delivery service.
    */
   public function __construct(JoinupDiscussionSubscriptionInterface $subscribe_service, JoinupMessageDeliveryInterface $message_delivery) {
     $this->subscribeService = $subscribe_service;
@@ -84,9 +84,9 @@ public static function getSubscribedEvents(): array {
    * Normally we should have split the events into more specific events, like
    * 'comment create', 'comment update', 'comment delete'. Just 'comment crud'
    * is too generic and is not actually an event. In order to keep the
-   * compatibility with Interoperable Europe Portal Notification module, we use
-   * this proxy method to delegate the reaction to a specific protected method,
-   * based on the real operation being performed.
+   * compatibility with Joinup Notification module, we use this proxy method to
+   * delegate the reaction to a specific protected method, based on the real
+   * operation being performed.
    *
    * @param \Drupal\joinup_notification\Event\NotificationEvent $event
    *   The notification event object.
diff --git a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php
index 79ea5c3357..69e97dca99 100644
--- a/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php
+++ b/web/modules/custom/joinup_discussion/src/EventSubscriber/SubscribedDiscussionSubscriber.php
@@ -30,14 +30,14 @@
 class SubscribedDiscussionSubscriber implements EventSubscriberInterface {
 
   /**
-   * The Interoperable Europe Portal subscribe service.
+   * The Joinup subscribe service.
    *
    * @var \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface
    */
   protected $subscribeService;
 
   /**
-   * The Interoperable Europe Portal message delivery service.
+   * The Joinup message delivery service.
    *
    * @var \Drupal\joinup_notification\JoinupMessageDeliveryInterface
    */
@@ -68,9 +68,9 @@ class SubscribedDiscussionSubscriber implements EventSubscriberInterface {
    * Constructs a new event subscriber object.
    *
    * @param \Drupal\joinup_subscription\JoinupDiscussionSubscriptionInterface $subscribe_service
-   *   The Interoperable Europe Portal subscribe service.
+   *   The Joinup subscribe service.
    * @param \Drupal\joinup_notification\JoinupMessageDeliveryInterface $message_delivery
-   *   The Interoperable Europe Portal message delivery service.
+   *   The Joinup message delivery service.
    * @param \Drupal\Core\Session\AccountProxyInterface $current_user
    *   The current user.
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
diff --git a/web/modules/custom/joinup_distribution/joinup_distribution.info.yml b/web/modules/custom/joinup_distribution/joinup_distribution.info.yml
index 9d65efd67a..980c6ecb2f 100644
--- a/web/modules/custom/joinup_distribution/joinup_distribution.info.yml
+++ b/web/modules/custom/joinup_distribution/joinup_distribution.info.yml
@@ -1,7 +1,7 @@
 type: module
 name: Distribution
 description: Distribution functionality
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 10.2"
 
 dependencies:
diff --git a/web/modules/custom/joinup_distribution/src/EventSubscriber/DistributionGroupSubscriber.php b/web/modules/custom/joinup_distribution/src/EventSubscriber/DistributionGroupSubscriber.php
index 2b7f912c36..5722e38501 100644
--- a/web/modules/custom/joinup_distribution/src/EventSubscriber/DistributionGroupSubscriber.php
+++ b/web/modules/custom/joinup_distribution/src/EventSubscriber/DistributionGroupSubscriber.php
@@ -12,7 +12,7 @@
 use Drupal\solution\Entity\SolutionInterface;
 
 /**
- * Subscribes to Interoperable Europe Portal Group events.
+ * Subscribes to Joinup Group events.
  */
 class DistributionGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/joinup_document/joinup_document.info.yml b/web/modules/custom/joinup_document/joinup_document.info.yml
index 1eb58404cf..0edcc45d5c 100644
--- a/web/modules/custom/joinup_document/joinup_document.info.yml
+++ b/web/modules/custom/joinup_document/joinup_document.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal Document
-description: The document content type used in Interoperable Europe Portal.
+name: Joinup Document
+description: The document content type used in Joinup.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_document/joinup_document.module b/web/modules/custom/joinup_document/joinup_document.module
index 8357315ab7..9aede148f1 100644
--- a/web/modules/custom/joinup_document/joinup_document.module
+++ b/web/modules/custom/joinup_document/joinup_document.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal Document module.
+ * Hook implementations for the Joinup Document module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_document/src/Entity/DocumentInterface.php b/web/modules/custom/joinup_document/src/Entity/DocumentInterface.php
index 2090e2871f..22945dee2b 100644
--- a/web/modules/custom/joinup_document/src/Entity/DocumentInterface.php
+++ b/web/modules/custom/joinup_document/src/Entity/DocumentInterface.php
@@ -10,7 +10,7 @@
 use Drupal\joinup_workflow\ArchivableEntityInterface;
 
 /**
- * Interface for document entities in Interoperable Europe Portal.
+ * Interface for document entities in Joinup.
  */
 interface DocumentInterface extends CommunityContentInterface, LogoInterface, ArchivableEntityInterface, AbstractInterface {
 
diff --git a/web/modules/custom/joinup_eulogin/config/schema/joinup_eulogin.schema.yml b/web/modules/custom/joinup_eulogin/config/schema/joinup_eulogin.schema.yml
index 345f301465..c4ea82b0c5 100644
--- a/web/modules/custom/joinup_eulogin/config/schema/joinup_eulogin.schema.yml
+++ b/web/modules/custom/joinup_eulogin/config/schema/joinup_eulogin.schema.yml
@@ -1,6 +1,6 @@
 joinup_eulogin.settings:
   type: config_object
-  label: 'Interoperable Europe Portal EU Login Settings'
+  label: 'Joinup EU Login Settings'
   mapping:
     ticket_validation:
       type: mapping
diff --git a/web/modules/custom/joinup_eulogin/joinup_eulogin.info.yml b/web/modules/custom/joinup_eulogin/joinup_eulogin.info.yml
index 9691f55978..b062ae698d 100644
--- a/web/modules/custom/joinup_eulogin/joinup_eulogin.info.yml
+++ b/web/modules/custom/joinup_eulogin/joinup_eulogin.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal EU Login'
+name: 'Joinup EU Login'
 description: 'Provides integration with EU Login.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_eulogin/joinup_eulogin.module b/web/modules/custom/joinup_eulogin/joinup_eulogin.module
index dfc09b8b48..f5f8209150 100644
--- a/web/modules/custom/joinup_eulogin/joinup_eulogin.module
+++ b/web/modules/custom/joinup_eulogin/joinup_eulogin.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main functions and hook implementations of the Interoperable Europe Portal EU Login module.
+ * Main functions and hook implementations of the Joinup EU Login module.
  */
 
 declare(strict_types=1);
@@ -51,9 +51,9 @@ function joinup_eulogin_form_user_form_alter(array &$form, FormStateInterface $f
   $account = $form_state->getFormObject()->getEntity();
   // This hook implementation runs after cas_form_user_form_alter() because the
   // two modules have the same weight but the module list is sorted by weight
-  // and then alphabetically, making the CAS module to be placed before
-  // 'Interoperable Europe Portal EU Login'. For this reason, it's safe to use
-  // the form alter to overwrite the behavior of CAS module hook implementation.
+  // and then alphabetically, making the CAS module to be placed before 'Joinup
+  // EU Login'. For this reason, it's safe to use the form alter to overwrite
+  // the behavior of CAS module hook implementation.
   // @see module_config_sort()
   // @see cas_form_user_form_alter()
   $cas_settings = \Drupal::config('cas.settings');
diff --git a/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php b/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php
index 8a08e32f81..e261a014ea 100644
--- a/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php
+++ b/web/modules/custom/joinup_eulogin/src/Event/Subscriber/JoinupEuLoginCasEventsSubscriber.php
@@ -220,10 +220,9 @@ public function preventRegisterEmailCollision(CasPreRegisterEvent $event): void
    *
    * When users are changing their EU Login account email, upstream, it might
    * happen that another user is registered with the same email address on
-   * Interoperable Europe Portal. This would lead to duplicate emails on
-   * Interoperable Europe Portal which is unacceptable with respect to data
-   * integrity. Note that Drupal allows email duplicates at API level but not
-   * when using the UI. However, Interoperable Europe Portal is enforcing email
+   * Joinup. This would lead to duplicate emails on Joinup which is unacceptable
+   * with respect to data integrity. Note that Drupal allows email duplicates at
+   * API level but not when using the UI. However, Joinup is enforcing email
    * uniqueness across users. As this edge case is very rare and unlikely, we
    * only throw an exception.
    *
@@ -232,7 +231,7 @@ public function preventRegisterEmailCollision(CasPreRegisterEvent $event): void
    *
    * @throws \Exception
    *   When a user changes its EU Login email to a value that is already taken
-   *   by other Interoperable Europe Portal user.
+   *   by other Joinup user.
    */
   public function handlePotentialMailCollision(CasPreLoginEvent $event): void {
     $account = $event->getAccount();
diff --git a/web/modules/custom/joinup_event/joinup_event.info.yml b/web/modules/custom/joinup_event/joinup_event.info.yml
index 1da0d9b548..75b33c7a05 100644
--- a/web/modules/custom/joinup_event/joinup_event.info.yml
+++ b/web/modules/custom/joinup_event/joinup_event.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal Event'
+name: 'Joinup Event'
 description: 'Events content type for joinup.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_event/joinup_event.module b/web/modules/custom/joinup_event/joinup_event.module
index 8d95ffdecd..7bd84bd41c 100644
--- a/web/modules/custom/joinup_event/joinup_event.module
+++ b/web/modules/custom/joinup_event/joinup_event.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal Event module.
+ * Hook implementations for the Joinup Event module.
  */
 
 declare(strict_types=1);
@@ -149,7 +149,7 @@ function joinup_event_field_formatter_info_alter(array &$info): void {
 function joinup_event_token_info_alter(&$info): void {
   $info['tokens']['node']['event_url'] = [
     'name' => t('Url of the event'),
-    'description' => t('The website provided if available or the Interoperable Europe Portal event URL.'),
+    'description' => t('The website provided if available or the Joinup event URL.'),
   ];
 }
 
@@ -166,7 +166,7 @@ function joinup_event_tokens($type, array $tokens, array $data = [], array $opti
     foreach ($tokens as $name => $original) {
       switch ($name) {
         // Returns the event URL. If the event has a web URL, then this is the
-        // event URL. Otherwise use the Interoperable Europe Portal URL.
+        // event URL. Otherwise use the Joinup URL.
         case 'event_url':
           if ($node->isNew() || !$node instanceof EventInterface) {
             break;
diff --git a/web/modules/custom/joinup_event/src/Entity/EventInterface.php b/web/modules/custom/joinup_event/src/Entity/EventInterface.php
index a60425b64d..fee224227f 100644
--- a/web/modules/custom/joinup_event/src/Entity/EventInterface.php
+++ b/web/modules/custom/joinup_event/src/Entity/EventInterface.php
@@ -11,7 +11,7 @@
 use Drupal\joinup_workflow\ArchivableEntityInterface;
 
 /**
- * Interface for event entities in Interoperable Europe Portal.
+ * Interface for event entities in Joinup.
  */
 interface EventInterface extends CommunityContentInterface, LogoInterface, ArchivableEntityInterface, AbstractInterface {
 
diff --git a/web/modules/custom/joinup_featured/joinup_featured.info.yml b/web/modules/custom/joinup_featured/joinup_featured.info.yml
index e26857231c..d4a5d09fef 100644
--- a/web/modules/custom/joinup_featured/joinup_featured.info.yml
+++ b/web/modules/custom/joinup_featured/joinup_featured.info.yml
@@ -1,5 +1,5 @@
-name: Interoperable Europe Portal Featured
+name: Joinup Featured
 description: Allows to feature content site wide. The content will appear at the top of lists.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_featured/joinup_featured.module b/web/modules/custom/joinup_featured/joinup_featured.module
index 247c4816fd..021c2094c2 100644
--- a/web/modules/custom/joinup_featured/joinup_featured.module
+++ b/web/modules/custom/joinup_featured/joinup_featured.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal Featured module.
+ * Hook implementations for the Joinup Featured module.
  */
 
 declare(strict_types=1);
@@ -85,8 +85,7 @@ function joinup_featured_meta_entity_delete(MetaEntityInterface $entity): void {
  */
 function joinup_featured_entity_view_alter(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display): void {
   if ($entity instanceof FeaturedContentInterface) {
-    // Note: the 'entity' contextual link group is added by the
-    // Interoperable Europe Portal profile.
+    // Note: the 'entity' contextual link group is added by the Joinup profile.
     // @see joinup_entity_view_alter()
     $build['#contextual_links']['entity']['metadata']['is_featured'] = (int) $entity->isFeatured();
     $build['#contextual_links']['entity']['metadata']['token'] = \Drupal::service('csrf_token')->get(__FUNCTION__);
diff --git a/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php b/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php
index a08ead96c6..59f3e78166 100644
--- a/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php
+++ b/web/modules/custom/joinup_featured/src/FeaturedContentInterface.php
@@ -9,10 +9,10 @@
 /**
  * Interface for content entities that can be featured.
  *
- * In Interoperable Europe Portal moderators can designate important content
- * to be "featured site wide". Featured content will show prominently at the
- * top of lists, is highlighted with an icon, and the user can use facet
- * filters to only see featured content.
+ * In Joinup moderators can designate important content to be "featured site
+ * wide". Featured content will show prominently at the top of lists, is
+ * highlighted with an icon, and the user can use facet filters to only see
+ * featured content.
  *
  * Only moderators can decide which content is features, but all users can see
  * it. It applies to collections, solutions and community content.
diff --git a/web/modules/custom/joinup_flag/config/schema/joinup_flag.schema.yml b/web/modules/custom/joinup_flag/config/schema/joinup_flag.schema.yml
index ffa7668693..a8eea413e4 100644
--- a/web/modules/custom/joinup_flag/config/schema/joinup_flag.schema.yml
+++ b/web/modules/custom/joinup_flag/config/schema/joinup_flag.schema.yml
@@ -1,10 +1,10 @@
 block.settings.joinup_flag_block:
   type: block_settings
-  label: 'Interoperable Europe Portal flag block settings'
+  label: 'Joinup flag block settings'
   mapping:
     flag_type:
       type: string
-      label: 'Interoperable Europe Portal flag type.'
+      label: 'Joinup flag type.'
 
 views.field.joinup_flag_flagged_entity:
   type: views.field.field
diff --git a/web/modules/custom/joinup_flag/joinup_flag.info.yml b/web/modules/custom/joinup_flag/joinup_flag.info.yml
index 3a992693d5..6bf49d2325 100644
--- a/web/modules/custom/joinup_flag/joinup_flag.info.yml
+++ b/web/modules/custom/joinup_flag/joinup_flag.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal Flag
+name: Joinup Flag
 description: 'Flag functionality'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_flag/joinup_flag.module b/web/modules/custom/joinup_flag/joinup_flag.module
index 4d58bf704f..affb70cb18 100644
--- a/web/modules/custom/joinup_flag/joinup_flag.module
+++ b/web/modules/custom/joinup_flag/joinup_flag.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal flag module.
+ * Hook implementations for the Joinup flag module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_flag/joinup_flag.views.inc b/web/modules/custom/joinup_flag/joinup_flag.views.inc
index 2693c4149d..aedb1bf09f 100644
--- a/web/modules/custom/joinup_flag/joinup_flag.views.inc
+++ b/web/modules/custom/joinup_flag/joinup_flag.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains views API hooks for Interoperable Europe Portal flag module.
+ * Contains views API hooks for Joinup flag module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_flag/src/Plugin/search_api/processor/JoinupEntityBundle.php b/web/modules/custom/joinup_flag/src/Plugin/search_api/processor/JoinupEntityBundle.php
index 28e0dec077..41e097b5b9 100644
--- a/web/modules/custom/joinup_flag/src/Plugin/search_api/processor/JoinupEntityBundle.php
+++ b/web/modules/custom/joinup_flag/src/Plugin/search_api/processor/JoinupEntityBundle.php
@@ -15,7 +15,7 @@
  *
  * @SearchApiProcessor(
  *   id = "joinup_entity_bundle",
- *   label = @Translation("Interoperable Europe Portal entity bundle"),
+ *   label = @Translation("Joinup entity bundle"),
  *   description = @Translation("Get entity bundle from flagging item."),
  *   stages = {
  *     "add_properties" = 0,
diff --git a/web/modules/custom/joinup_front_page/joinup_front_page.info.yml b/web/modules/custom/joinup_front_page/joinup_front_page.info.yml
index e762d1c486..080e3b46f4 100644
--- a/web/modules/custom/joinup_front_page/joinup_front_page.info.yml
+++ b/web/modules/custom/joinup_front_page/joinup_front_page.info.yml
@@ -1,5 +1,5 @@
-name: 'Interoperable Europe Portal front page'
-description: 'Contains functionality related to the Interoperable Europe Portal front page.'
+name: 'Joinup front page'
+description: 'Contains functionality related to the Joinup front page.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_front_page/joinup_front_page.module b/web/modules/custom/joinup_front_page/joinup_front_page.module
index 17ff44fd05..d0f6e1a5f7 100644
--- a/web/modules/custom/joinup_front_page/joinup_front_page.module
+++ b/web/modules/custom/joinup_front_page/joinup_front_page.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal front page module.
+ * Hook implementations for the Joinup front page module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php b/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php
index 8ca006a357..bd560af3ac 100644
--- a/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php
+++ b/web/modules/custom/joinup_front_page/src/Plugin/Block/ExploreBlock.php
@@ -15,8 +15,7 @@
  *
  * This block is placed on the front page and shows a swipeable list of recently
  * published content of 4 types: collections, solutions, news and events. The
- * intention is that users can get a quick view of what is new on
- * Interoperable Europe Portal.
+ * intention is that users can get a quick view of what is new on Joinup.
  *
  * For each content type the 12 most recent items are shown. They are rendered
  * using the `explore_item` view mode which is exclusive for this block.
diff --git a/web/modules/custom/joinup_group/config/schema/joinup_group.schema.yml b/web/modules/custom/joinup_group/config/schema/joinup_group.schema.yml
index 959c0b573c..aa3b1eff83 100644
--- a/web/modules/custom/joinup_group/config/schema/joinup_group.schema.yml
+++ b/web/modules/custom/joinup_group/config/schema/joinup_group.schema.yml
@@ -64,7 +64,7 @@ views.argument_validator.joinup_group_user_permission:
 
 views.argument_validator.joinup_group:
   type: views.argument_validator.joinup_group_user_permission
-  label: Interoperable Europe Portal group
+  label: Joinup group
 
 views.argument_validator.joinup_group_announcements_enabled:
   type: views.argument_validator.joinup_group_user_permission
diff --git a/web/modules/custom/joinup_group/config/schema/joinup_group.views.schema.yml b/web/modules/custom/joinup_group/config/schema/joinup_group.views.schema.yml
index 99eec6353f..dc39868019 100644
--- a/web/modules/custom/joinup_group/config/schema/joinup_group.views.schema.yml
+++ b/web/modules/custom/joinup_group/config/schema/joinup_group.views.schema.yml
@@ -1,8 +1,8 @@
-# Schema for the views plugins of the Interoperable Europe Portal group module.
+# Schema for the views plugins of the Joinup group module.
 
 views.argument_validator.joinup_group_entity_id:
   type: views.argument_validator_entity
-  label: 'Interoperable Europe Portal group entity ID'
+  label: 'Joinup group entity ID'
   mapping:
     rdf_entity_id:
       type: string
diff --git a/web/modules/custom/joinup_group/joinup_group.info.yml b/web/modules/custom/joinup_group/joinup_group.info.yml
index c1b8cbf3f6..3b983387cf 100644
--- a/web/modules/custom/joinup_group/joinup_group.info.yml
+++ b/web/modules/custom/joinup_group/joinup_group.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal Group'
-description: 'Services and API methods useful for Interoperable Europe Portal groups.'
+name: 'Joinup Group'
+description: 'Services and API methods useful for Joinup groups.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_group/joinup_group.install b/web/modules/custom/joinup_group/joinup_group.install
index e5d7fc9c6b..ca30cd9dbe 100644
--- a/web/modules/custom/joinup_group/joinup_group.install
+++ b/web/modules/custom/joinup_group/joinup_group.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains the schema hook for the Interoperable Europe Portal Group module.
+ * Contains the schema hook for the Joinup Group module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_group/joinup_group.module b/web/modules/custom/joinup_group/joinup_group.module
index cf51754884..1736b406d6 100644
--- a/web/modules/custom/joinup_group/joinup_group.module
+++ b/web/modules/custom/joinup_group/joinup_group.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal Group module.
+ * Hook implementations for the Joinup Group module.
  */
 
 declare(strict_types=1);
@@ -883,9 +883,9 @@ function joinup_group_user_predelete(EntityInterface $entity): void {
  *
  * If a user gets blocked in the entire site we no longer want to include this
  * user in the collection membership counts. We handle this use case here in
- * Interoperable Europe Portal Core since Organic Groups currently only handles
- * users that are blocked on group level through the membership state; at this
- * time OG is not acting on users that are blocked on user level.
+ * Joinup Core since Organic Groups currently only handles users that are
+ * blocked on group level through the membership state; at this time OG is not
+ * acting on users that are blocked on user level.
  */
 function joinup_group_user_update(UserInterface $user): void {
   // Only invalidate the tags if the user is being (un)blocked.
diff --git a/web/modules/custom/joinup_group/joinup_group.views.inc b/web/modules/custom/joinup_group/joinup_group.views.inc
index 27a86f3c59..7e697a4abc 100644
--- a/web/modules/custom/joinup_group/joinup_group.views.inc
+++ b/web/modules/custom/joinup_group/joinup_group.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Views integration for Interoperable Europe Portal Group module.
+ * Views integration for Joinup Group module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_group/src/AnnouncementsAccessTrait.php b/web/modules/custom/joinup_group/src/AnnouncementsAccessTrait.php
index 8ce4108abc..3331f92ac1 100644
--- a/web/modules/custom/joinup_group/src/AnnouncementsAccessTrait.php
+++ b/web/modules/custom/joinup_group/src/AnnouncementsAccessTrait.php
@@ -15,15 +15,15 @@
 trait AnnouncementsAccessTrait {
 
   /**
-   * The Interoperable Europe Portal Group manager service.
+   * The Joinup Group manager service.
    */
   protected JoinupGroupManagerInterface $groupManager;
 
   /**
-   * Injects the Interoperable Europe Portal group manager service.
+   * Injects the Joinup group manager service.
    *
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $group_manager
-   *   The Interoperable Europe Portal Group manager service.
+   *   The Joinup Group manager service.
    *
    * @return $this
    */
diff --git a/web/modules/custom/joinup_group/src/Controller/UnpublishedContentPageController.php b/web/modules/custom/joinup_group/src/Controller/UnpublishedContentPageController.php
index 5284defe8f..fa2ae91afc 100644
--- a/web/modules/custom/joinup_group/src/Controller/UnpublishedContentPageController.php
+++ b/web/modules/custom/joinup_group/src/Controller/UnpublishedContentPageController.php
@@ -25,7 +25,7 @@ class UnpublishedContentPageController extends ControllerBase {
    * @param \Drupal\Core\Render\RendererInterface $renderer
    *   The renderer.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $group_manager
-   *   The Interoperable Europe Portal group manager service.
+   *   The Joinup group manager service.
    */
   public function __construct(protected BlockManagerInterface $block_plugin_manager, protected RendererInterface $renderer, protected JoinupGroupManagerInterface $group_manager) {}
 
diff --git a/web/modules/custom/joinup_group/src/Entity/GroupInterface.php b/web/modules/custom/joinup_group/src/Entity/GroupInterface.php
index 91f2c1073f..f990eef55e 100644
--- a/web/modules/custom/joinup_group/src/Entity/GroupInterface.php
+++ b/web/modules/custom/joinup_group/src/Entity/GroupInterface.php
@@ -111,12 +111,11 @@ public function getGroupAccess(string $permission, ?AccountInterface $user = NUL
   /**
    * Returns the group owners.
    *
-   * In Interoperable Europe Portal every new group has exactly one owner.
-   * However there are still a number of solutions which were migrated from
-   * the legacy platform which have multiple owners. Since we enforce a single
-   * owner when an ownership transfer is initiated, the number of groups with
-   * multiple owners will reduce over time. For the moment though we still
-   * need to account for multiple owners.
+   * In Joinup every new group has exactly one owner. However there are still a
+   * number of solutions which were migrated from the legacy platform which have
+   * multiple owners. Since we enforce a single owner when an ownership transfer
+   * is initiated, the number of groups with multiple owners will reduce over
+   * time. For the moment though we still need to account for multiple owners.
    *
    * During some special operations it is possible that no group owner is
    * assigned. For example when the group is initially created, during transfer
@@ -130,12 +129,11 @@ public function getGroupOwners(): array;
   /**
    * Returns the user IDs of the group owners.
    *
-   * In Interoperable Europe Portal every new group has exactly one owner.
-   * However there are still a number of solutions which were migrated from
-   * the legacy platform which have multiple owners. Since we enforce a single
-   * owner when an ownership transfer is initiated, the number of groups with
-   * multiple owners will reduce over time. For the moment though we still need
-   * to account for multiple owners.
+   * In Joinup every new group has exactly one owner. However there are still a
+   * number of solutions which were migrated from the legacy platform which have
+   * multiple owners. Since we enforce a single owner when an ownership transfer
+   * is initiated, the number of groups with multiple owners will reduce over
+   * time. For the moment though we still need to account for multiple owners.
    *
    * During some special operations it is possible that no group owner is
    * assigned. For example when the group is initially created, during transfer
@@ -160,11 +158,10 @@ public function isGroupOwner(int $uid): bool;
   /**
    * Returns whether the user with the given ID is the sole group owner.
    *
-   * In Interoperable Europe Portal every new group has exactly one owner.
-   * However there are still a number of solutions which were migrated from
-   * the legacy platform which have multiple owners. In some cases
-   * (such as transferring group ownership) we need to be able to ascertain
-   * that a user is the sole owner of a group.
+   * In Joinup every new group has exactly one owner. However there are still a
+   * number of solutions which were migrated from the legacy platform which have
+   * multiple owners. In some cases (such as transferring group ownership) we
+   * need to be able to ascertain that a user is the sole owner of a group.
    *
    * @param int $uid
    *   The user ID.
diff --git a/web/modules/custom/joinup_group/src/Entity/GroupTrait.php b/web/modules/custom/joinup_group/src/Entity/GroupTrait.php
index c6bdeca9ff..304bb59d98 100644
--- a/web/modules/custom/joinup_group/src/Entity/GroupTrait.php
+++ b/web/modules/custom/joinup_group/src/Entity/GroupTrait.php
@@ -78,8 +78,7 @@ public function createMembership(?int $uid = NULL, ?string $role = 'member', ?st
     }
 
     // Validate the role. We cannot create additional memberships for owners /
-    // administrators since in Interoperable Europe Portal every group
-    // has a single owner.
+    // administrators since in Joinup every group has a single owner.
     if (!in_array($role, ['member', 'author', 'facilitator'])) {
       throw new \InvalidArgumentException("Cannot create membership with role '$role'.");
     }
diff --git a/web/modules/custom/joinup_group/src/Entity/PinnableGroupContentInterface.php b/web/modules/custom/joinup_group/src/Entity/PinnableGroupContentInterface.php
index 00821e9f21..733a52107b 100644
--- a/web/modules/custom/joinup_group/src/Entity/PinnableGroupContentInterface.php
+++ b/web/modules/custom/joinup_group/src/Entity/PinnableGroupContentInterface.php
@@ -62,7 +62,7 @@ public function unpin(?GroupInterface $group = NULL): PinnableGroupContentInterf
    *
    * @return string[]
    *   A list of group IDs in which the content is pinned. Since all groups in
-   *   Interoperable Europe Portal are RDF entities, these are RDF entity IDs.
+   *   Joinup are RDF entities, these are RDF entity IDs.
    */
   public function getPinnedGroupIds(): array;
 
diff --git a/web/modules/custom/joinup_group/src/EventSubscriber/AnnouncementTransitionSubscriber.php b/web/modules/custom/joinup_group/src/EventSubscriber/AnnouncementTransitionSubscriber.php
index 1c18fadcb6..d9019d5950 100644
--- a/web/modules/custom/joinup_group/src/EventSubscriber/AnnouncementTransitionSubscriber.php
+++ b/web/modules/custom/joinup_group/src/EventSubscriber/AnnouncementTransitionSubscriber.php
@@ -36,7 +36,7 @@ class AnnouncementTransitionSubscriber implements EventSubscriberInterface {
   protected LanguageManagerInterface $languageManager;
 
   /**
-   * The Interoperable Europe Portal message delivery service.
+   * The Joinup message delivery service.
    */
   protected JoinupMessageDeliveryInterface $messageDelivery;
 
@@ -55,7 +55,7 @@ class AnnouncementTransitionSubscriber implements EventSubscriberInterface {
    * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
    *   The language manager service.
    * @param \Drupal\joinup_notification\JoinupMessageDeliveryInterface $message_delivery
-   *   The Interoperable Europe Portal message delivery service.
+   *   The Joinup message delivery service.
    * @param \Drupal\Core\Queue\QueueFactory $queue_factory
    *   The queue factory service.
    */
diff --git a/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php b/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php
index 522c33bc90..83ac506561 100644
--- a/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php
+++ b/web/modules/custom/joinup_group/src/EventSubscriber/JoinupGroupPageDisplayVariantSubscriber.php
@@ -25,7 +25,7 @@ public static function getSubscribedEvents(): array {
   }
 
   /**
-   * Selects Interoperable Europe Portal group page display variant when case.
+   * Selects the Joinup group page display variant when case.
    *
    * @param \Drupal\Core\Render\PageDisplayVariantSelectionEvent $event
    *   The event to process.
diff --git a/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php b/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php
index afec0cfe1a..020383f38e 100644
--- a/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php
+++ b/web/modules/custom/joinup_group/src/Form/TransferGroupOwnershipConfirmForm.php
@@ -182,8 +182,8 @@ public function submitForm(array &$form, FormStateInterface $form_state): void {
       $membership->save();
     }
 
-    // Add the 'owner' role, and also the 'facilitator' role, since in
-    // Interoperable Europe Portal every owner is also a facilitator.
+    // Add the 'owner' role, and also the 'facilitator' role, since in Joinup
+    // every owner is also a facilitator.
     $administrator_role = OgRole::loadByGroupAndName($group, 'administrator');
     $this->membership
       ->addRole($administrator_role)
diff --git a/web/modules/custom/joinup_group/src/Form/UserCancelForm.php b/web/modules/custom/joinup_group/src/Form/UserCancelForm.php
index f6020181e3..845b121c74 100644
--- a/web/modules/custom/joinup_group/src/Form/UserCancelForm.php
+++ b/web/modules/custom/joinup_group/src/Form/UserCancelForm.php
@@ -38,7 +38,7 @@ class UserCancelForm extends CoreUserCancelForm {
    * @param \Drupal\Component\Datetime\TimeInterface $time
    *   The time service.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $group_manager
-   *   The Interoperable Europe Portal group manager.
+   *   The Joinup group manager.
    */
   public function __construct(EntityRepositoryInterface $entity_repository, EntityTypeBundleInfoInterface $entity_type_bundle_info, TimeInterface $time, JoinupGroupManagerInterface $group_manager) {
     parent::__construct($entity_repository, $entity_type_bundle_info, $time);
diff --git a/web/modules/custom/joinup_group/src/Form/UserMultipleCancelConfirm.php b/web/modules/custom/joinup_group/src/Form/UserMultipleCancelConfirm.php
index cd7be26bd4..6df9ca7542 100644
--- a/web/modules/custom/joinup_group/src/Form/UserMultipleCancelConfirm.php
+++ b/web/modules/custom/joinup_group/src/Form/UserMultipleCancelConfirm.php
@@ -47,7 +47,7 @@ class UserMultipleCancelConfirm extends CoreUserMultipleCancelConfirm {
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The entity type manager.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $joinup_group_manager
-   *   The Interoperable Europe Portal group manager.
+   *   The Joinup group manager.
    * @param \Drupal\Core\Entity\EntityTypeBundleInfoInterface $bundle_info
    *   The entity type bundle info service.
    */
diff --git a/web/modules/custom/joinup_group/src/JoinupGroupHelper.php b/web/modules/custom/joinup_group/src/JoinupGroupHelper.php
index 0346e48fcb..6bf4dd2857 100644
--- a/web/modules/custom/joinup_group/src/JoinupGroupHelper.php
+++ b/web/modules/custom/joinup_group/src/JoinupGroupHelper.php
@@ -11,7 +11,7 @@
 use Drupal\joinup_group\Exception\MissingGroupException;
 
 /**
- * Static helper methods for dealing with groups in Interoperable Europe Portal.
+ * Static helper methods for dealing with groups in Joinup.
  */
 class JoinupGroupHelper {
 
@@ -26,8 +26,8 @@ class JoinupGroupHelper {
   /**
    * Returns the group the entity belongs to.
    *
-   * This relies on the fact that in Interoperable Europe Portal every group
-   * content entity only belongs to a single group.
+   * This relies on the fact that in Joinup every group content entity only
+   * belongs to a single group.
    *
    * Call this only if you transparently need to support both comment entities
    * and standard group content. If you are dealing only with group content,
diff --git a/web/modules/custom/joinup_group/src/JoinupGroupManager.php b/web/modules/custom/joinup_group/src/JoinupGroupManager.php
index 813bb82d75..7aae71febf 100644
--- a/web/modules/custom/joinup_group/src/JoinupGroupManager.php
+++ b/web/modules/custom/joinup_group/src/JoinupGroupManager.php
@@ -18,7 +18,7 @@
 use Drupal\og\OgMembershipInterface;
 
 /**
- * Helper methods related to the Interoperable Europe Portal groups.
+ * Helper methods related to the Joinup groups.
  */
 class JoinupGroupManager implements JoinupGroupManagerInterface {
 
diff --git a/web/modules/custom/joinup_group/src/Plugin/Action/DeleteGroupMembership.php b/web/modules/custom/joinup_group/src/Plugin/Action/DeleteGroupMembership.php
index 90695ce614..ffde0e6572 100644
--- a/web/modules/custom/joinup_group/src/Plugin/Action/DeleteGroupMembership.php
+++ b/web/modules/custom/joinup_group/src/Plugin/Action/DeleteGroupMembership.php
@@ -83,7 +83,7 @@ public function execute(?OgMembership $membership = NULL): void {
    */
   public function access($membership, ?AccountInterface $account = NULL, $return_as_object = FALSE) {
     /** @var \Drupal\og\Entity\OgMembership $membership */
-    // 'Interoperable Europe Portal' collection membership cannot be revoked.
+    // 'Joinup' collection membership cannot be revoked.
     if ($membership->getGroupId() === JoinupCollectionHelper::getCollectionId()) {
       return $return_as_object ? AccessResult::forbidden() : FALSE;
     }
diff --git a/web/modules/custom/joinup_group/src/Plugin/Action/TransferGroupOwnershipAction.php b/web/modules/custom/joinup_group/src/Plugin/Action/TransferGroupOwnershipAction.php
index 48bbaed5a0..d3801e76c8 100644
--- a/web/modules/custom/joinup_group/src/Plugin/Action/TransferGroupOwnershipAction.php
+++ b/web/modules/custom/joinup_group/src/Plugin/Action/TransferGroupOwnershipAction.php
@@ -30,7 +30,7 @@ class TransferGroupOwnershipAction extends ActionBase implements ContainerFactor
   use StringTranslationTrait;
 
   /**
-   * The Interoperable Europe Portal group transfer temporary storage.
+   * The Joinup group transfer temporary storage.
    *
    * @var \Drupal\Core\TempStore\PrivateTempStore
    */
diff --git a/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php b/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php
index 618228981e..5bc07d46fc 100644
--- a/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php
+++ b/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupEntityIdValidator.php
@@ -9,11 +9,11 @@
 use Drupal\views\Plugin\views\argument_validator\Entity;
 
 /**
- * Defines argument validator plugin for Interoperable Europe Portal group ID.
+ * Defines argument validator plugin for the Joinup group entity ID.
  *
  * @ViewsArgumentValidator(
  *    id = "joinup_group_entity_id",
- *    title = @Translation("Interoperable Europe Portal group entity ID"),
+ *    title = @Translation("Joinup group entity ID"),
  *    entity_type = "rdf_entity",
  * )
  */
diff --git a/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupValidator.php b/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupValidator.php
index 4e0a3f794d..6bf971587a 100644
--- a/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupValidator.php
+++ b/web/modules/custom/joinup_group/src/Plugin/views/argument_validator/JoinupGroupValidator.php
@@ -16,7 +16,7 @@
  *
  * @ViewsArgumentValidator(
  *   id = "joinup_group",
- *   title = @Translation("Interoperable Europe Portal group"),
+ *   title = @Translation("Joinup group"),
  *   entity_type = "rdf_entity",
  * )
  */
diff --git a/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php b/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php
index c11b0b5509..18cf67bd16 100644
--- a/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php
+++ b/web/modules/custom/joinup_group/src/Routing/RouteSubscriber.php
@@ -8,7 +8,7 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Modifies routes for Interoperable Europe Portal user multiple cancel form.
+ * Alters existing routes for the Joinup user multiple cancel form.
  */
 class RouteSubscriber extends RouteSubscriberBase {
 
diff --git a/web/modules/custom/joinup_group_content_management/README.md b/web/modules/custom/joinup_group_content_management/README.md
index e918ca6d54..324186323d 100644
--- a/web/modules/custom/joinup_group_content_management/README.md
+++ b/web/modules/custom/joinup_group_content_management/README.md
@@ -1,4 +1,4 @@
-Interoperable Europe Portal Group Content Management
+Joinup Group Content Management
 ===============================
 
 This module contains business logic related to managing content in groups.
diff --git a/web/modules/custom/joinup_group_content_management/joinup_group_content_management.info.yml b/web/modules/custom/joinup_group_content_management/joinup_group_content_management.info.yml
index fa5ae5ca05..66a6b5cd49 100644
--- a/web/modules/custom/joinup_group_content_management/joinup_group_content_management.info.yml
+++ b/web/modules/custom/joinup_group_content_management/joinup_group_content_management.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal Group Content Management'
+name: 'Joinup Group Content Management'
 description: 'Contains functionality related to managing group content.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_html_stripper/config/schema/joinup_html_stripper.schema.yml b/web/modules/custom/joinup_html_stripper/config/schema/joinup_html_stripper.schema.yml
index 4866a0fd7f..f20df23460 100644
--- a/web/modules/custom/joinup_html_stripper/config/schema/joinup_html_stripper.schema.yml
+++ b/web/modules/custom/joinup_html_stripper/config/schema/joinup_html_stripper.schema.yml
@@ -1,6 +1,6 @@
 field.formatter.settings.joinup_html_stripper_stripped:
   type: mapping
-  label: 'Interoperable Europe Portal HTML stripper formatter settings'
+  label: 'Joinup HTML stripper formatter settings'
   mapping:
     trim_length:
       type: integer
diff --git a/web/modules/custom/joinup_html_stripper/joinup_html_stripper.info.yml b/web/modules/custom/joinup_html_stripper/joinup_html_stripper.info.yml
index 27f4d0155d..70f90dabe7 100644
--- a/web/modules/custom/joinup_html_stripper/joinup_html_stripper.info.yml
+++ b/web/modules/custom/joinup_html_stripper/joinup_html_stripper.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal HTML stripper
+name: Joinup HTML stripper
 type: module
-description: Field formatter that strips all HTML, tailored for use in Interoperable Europe Portal.
-package: Interoperable Europe Portal
+description: Field formatter that strips all HTML, tailored for use in Joinup.
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php b/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php
index ed844f699d..34d7d0a2e8 100644
--- a/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php
+++ b/web/modules/custom/joinup_html_stripper/src/Plugin/Field/FieldFormatter/StrippedHTMLFormatter.php
@@ -12,10 +12,9 @@
 /**
  * Field formatter which strips all HTML.
  *
- * This is tailored to the use case of Interoperable Europe Portal. It relies
- * on a custom text filter format `stripped_html` which includes all of the
- * filters that are commonly used in Interoperable Europe Portal, such as
- * Interoperable Europe Portal Video, Glossary items, etc.
+ * This is tailored to the use case of Joinup. It relies on a custom text filter
+ * format `stripped_html` which includes all of the filters that are commonly
+ * used in Joinup, such as Joinup Video, Glossary items, etc.
  *
  * The goal of this is to be able to not only strip vanilla HTML elements that
  * are present in the content but also placeholder tokens which are included by
diff --git a/web/modules/custom/joinup_invite/joinup_invite.info.yml b/web/modules/custom/joinup_invite/joinup_invite.info.yml
index 4a02f820c6..c89d14fd9c 100644
--- a/web/modules/custom/joinup_invite/joinup_invite.info.yml
+++ b/web/modules/custom/joinup_invite/joinup_invite.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal invite
+name: Joinup invite
 description: A light invitation system for joinup.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_invite/joinup_invite.module b/web/modules/custom/joinup_invite/joinup_invite.module
index a60ed1d4b4..07f8479666 100644
--- a/web/modules/custom/joinup_invite/joinup_invite.module
+++ b/web/modules/custom/joinup_invite/joinup_invite.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal Invite module.
+ * Hook implementations for the Joinup Invite module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_invite/src/Event/InvitationEvents.php b/web/modules/custom/joinup_invite/src/Event/InvitationEvents.php
index 5c8a2678fe..3485fd3736 100644
--- a/web/modules/custom/joinup_invite/src/Event/InvitationEvents.php
+++ b/web/modules/custom/joinup_invite/src/Event/InvitationEvents.php
@@ -5,7 +5,7 @@
 namespace Drupal\joinup_invite\Event;
 
 /**
- * Events for the Interoperable Europe Portal Invite module.
+ * Events for the Joinup Invite module.
  */
 final class InvitationEvents {
 
diff --git a/web/modules/custom/joinup_layout/joinup_layout.info.yml b/web/modules/custom/joinup_layout/joinup_layout.info.yml
index b0a724f4d4..e3b4b183a5 100644
--- a/web/modules/custom/joinup_layout/joinup_layout.info.yml
+++ b/web/modules/custom/joinup_layout/joinup_layout.info.yml
@@ -1,5 +1,5 @@
-name: 'Interoperable Europe Portal layout'
+name: 'Joinup layout'
 type: module
-description: 'Contains custom layouts for Interoperable Europe Portal.'
+description: 'Contains custom layouts for Joinup.'
 core_version_requirement: ">= 9.4"
-package: Interoperable Europe Portal
+package: Joinup
diff --git a/web/modules/custom/joinup_layout/joinup_layout.layouts.yml b/web/modules/custom/joinup_layout/joinup_layout.layouts.yml
index db46e43398..7bb17bdf9a 100644
--- a/web/modules/custom/joinup_layout/joinup_layout.layouts.yml
+++ b/web/modules/custom/joinup_layout/joinup_layout.layouts.yml
@@ -1,5 +1,5 @@
 joinup_layout_group_heading:
-  label: 'Interoperable Europe Portal group heading'
+  label: 'Joinup group heading'
   path: layouts/group
   template: joinup-layout--group-heading
   default_region: main
@@ -17,7 +17,7 @@ joinup_layout_group_heading:
       label: Aside
 
 joinup_layout_twocol_60_40:
-  label: 'Interoperable Europe Portal 60/40'
+  label: 'Joinup 60/40'
   path: layouts/twocol-60-40
   template: joinup-layout--twocol-60-40
   library: joinup_layout/twocol_60_40
@@ -38,7 +38,7 @@ joinup_layout_twocol_60_40:
       label: Bottom
 
 joinup_layout_twocolfooter_onecol_67_33:
-  label: 'Interoperable Europe Portal three columns, two with common footer'
+  label: 'Joinup three columns, two with common footer'
   path: layouts/twocolfooter-onecol-67-33
   template: joinup-layout--twocolfooter-onecol-67-33
   library: joinup_layout/twocolfooter_onecol_67_33
@@ -58,7 +58,7 @@ joinup_layout_twocolfooter_onecol_67_33:
       label: Two column footer
 
 joinup_layout_oss_heading:
-  label: 'Interoperable Europe Portal OSS heading'
+  label: 'Joinup OSS heading'
   path: layouts/oss-heading
   template: joinup-layout--oss-heading
   library: joinup_layout/oss_heading
@@ -89,7 +89,7 @@ joinup_layout_oss_heading:
       label: Aside
 
 joinup_layout_four_column_grid:
-  label: 'Interoperable Europe Portal Four column grid'
+  label: 'Joinup Four column grid'
   path: layouts/four-column-grid
   template: joinup-layout--four-column-grid
   library: joinup_layout/four_column_grid
diff --git a/web/modules/custom/joinup_licence/README.md b/web/modules/custom/joinup_licence/README.md
index 221ae33fb4..f348b29077 100644
--- a/web/modules/custom/joinup_licence/README.md
+++ b/web/modules/custom/joinup_licence/README.md
@@ -1,8 +1,8 @@
-Interoperable Europe Portal Licence
+Joinup Licence
 ==============
 
 This module imports licences from the [SPDX Licence
-List](https://spdx.org/licenses/) and makes them available in Interoperable Europe Portal as RDF
+List](https://spdx.org/licenses/) and makes them available in Joinup as RDF
 data for use in distributions.
 
 Importing licences from SPDX
diff --git a/web/modules/custom/joinup_licence/joinup_licence.info.yml b/web/modules/custom/joinup_licence/joinup_licence.info.yml
index ac3ddd82cc..9f7ecb8a66 100644
--- a/web/modules/custom/joinup_licence/joinup_licence.info.yml
+++ b/web/modules/custom/joinup_licence/joinup_licence.info.yml
@@ -1,7 +1,7 @@
 name: Licence
-description: 'Licence entity for Interoperable Europe Portal'
+description: 'Licence entity for Joinup'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php b/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php
index eb8d28f6e2..eb2efa1460 100644
--- a/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php
+++ b/web/modules/custom/joinup_licence/src/Controller/LicenceComparerController.php
@@ -9,12 +9,12 @@
 use Drupal\joinup_licence\LicenceComparerHelper;
 
 /**
- * Controller for the Interoperable Europe Portal Licensing Assistant (JLA).
+ * Controller for the Joinup Licensing Assistant (JLA).
  */
 class LicenceComparerController extends ControllerBase {
 
   /**
-   * An ordered list of Interoperable Europe Portal licence entities keyed by their SPDX ID.
+   * An ordered list of Joinup licence entities keyed by their SPDX ID.
    *
    * @var \Drupal\joinup_licence\Entity\LicenceInterface[]
    */
@@ -31,8 +31,7 @@ class LicenceComparerController extends ControllerBase {
    * Responds to a request made to 'joinup_licence.comparer' route.
    *
    * @param \Drupal\joinup_licence\Entity\LicenceInterface[] $licences
-   *   An ordered list of Interoperable Europe Portal licence entities
-   *   keyed by their SPDX ID.
+   *   An ordered list of Joinup licence entities keyed by their SPDX ID.
    *
    * @return array
    *   A render array.
diff --git a/web/modules/custom/joinup_licence/src/Entity/LicenceLegalTypeInterface.php b/web/modules/custom/joinup_licence/src/Entity/LicenceLegalTypeInterface.php
index ba4fbd9a8e..2aa4828b11 100644
--- a/web/modules/custom/joinup_licence/src/Entity/LicenceLegalTypeInterface.php
+++ b/web/modules/custom/joinup_licence/src/Entity/LicenceLegalTypeInterface.php
@@ -8,7 +8,7 @@
 use Drupal\taxonomy\TermInterface;
 
 /**
- * Interface for licence legal type terms in Interoperable Europe Portal.
+ * Interface for licence legal type terms in Joinup.
  */
 interface LicenceLegalTypeInterface extends TermInterface, RdfSyncEntityInterface {
 
diff --git a/web/modules/custom/joinup_licence/src/EventSubscriber/LicenceGroupSubscriber.php b/web/modules/custom/joinup_licence/src/EventSubscriber/LicenceGroupSubscriber.php
index f5189ad868..1593b1e6bc 100644
--- a/web/modules/custom/joinup_licence/src/EventSubscriber/LicenceGroupSubscriber.php
+++ b/web/modules/custom/joinup_licence/src/EventSubscriber/LicenceGroupSubscriber.php
@@ -7,7 +7,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Interoperable Europe Portal Group events.
+ * Subscribes to Joinup Group events.
  */
 class LicenceGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php b/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php
index 70ada21fbf..39d3809ef9 100644
--- a/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php
+++ b/web/modules/custom/joinup_licence/src/ParamConverter/SpdxIdsParamConverter.php
@@ -11,7 +11,7 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Converts a list of SPDX IDs into a list of Interoperable Europe Portal licences.
+ * Converts a list of SPDX IDs into a list of Joinup licences.
  */
 class SpdxIdsParamConverter implements ParamConverterInterface {
 
@@ -71,8 +71,7 @@ public function convert($value, $definition, $name, array $defaults) {
       ->condition('spdx_licence.target_id', $actual_spdx_ids, 'IN')
       ->execute();
 
-    // Some of the passed SPDX IDs don't have a related
-    // Interoperable Europe Portal licence.
+    // Some of the passed SPDX IDs don't have a related Joinup licence.
     if (count($spdx_ids) > count($actual_licence_ids)) {
       return NULL;
     }
@@ -86,8 +85,7 @@ public function convert($value, $definition, $name, array $defaults) {
       return $spdx_ids_order[$licence_a_spdx_id] <=> $spdx_ids_order[$licence_b_spdx_id];
     });
 
-    // An ordered list of Interoperable Europe Portal licence entities
-    // keyed by their SPDX ID.
+    // An ordered list of Joinup licence entities keyed by their SPDX ID.
     return array_combine($spdx_ids, $licences);
   }
 
diff --git a/web/modules/custom/joinup_licence/src/Plugin/Block/LicenceFilterBlock.php b/web/modules/custom/joinup_licence/src/Plugin/Block/LicenceFilterBlock.php
index 7341eabf4b..49c866e96d 100644
--- a/web/modules/custom/joinup_licence/src/Plugin/Block/LicenceFilterBlock.php
+++ b/web/modules/custom/joinup_licence/src/Plugin/Block/LicenceFilterBlock.php
@@ -17,7 +17,7 @@
  * @Block(
  *   id = "licence_filter_block",
  *   admin_label = @Translation("Licence filter block"),
- *   category = @Translation("Interoperable Europe Portal")
+ *   category = @Translation("Joinup")
  * )
  */
 class LicenceFilterBlock extends BlockBase implements ContainerFactoryPluginInterface {
diff --git a/web/modules/custom/joinup_like/joinup_like.info.yml b/web/modules/custom/joinup_like/joinup_like.info.yml
index f3727148b1..46093cb01f 100644
--- a/web/modules/custom/joinup_like/joinup_like.info.yml
+++ b/web/modules/custom/joinup_like/joinup_like.info.yml
@@ -1,7 +1,7 @@
 name: Like
 description: 'Like functionality'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_like/src/Plugin/ActionLink/NodeCountLink.php b/web/modules/custom/joinup_like/src/Plugin/ActionLink/NodeCountLink.php
index e501db29d5..f1c4aedb36 100644
--- a/web/modules/custom/joinup_like/src/Plugin/ActionLink/NodeCountLink.php
+++ b/web/modules/custom/joinup_like/src/Plugin/ActionLink/NodeCountLink.php
@@ -14,7 +14,7 @@
  *
  * @ActionLinkType(
  *   id = "count_link_node",
- *   label = @Translation("Interoperable Europe Portal Count link node entity"),
+ *   label = @Translation("Joinup Count link node entity"),
  *   description = "An AJAX action link which displays the count with the flag."
  * )
  */
diff --git a/web/modules/custom/joinup_like/src/Plugin/ActionLink/RdfCountLink.php b/web/modules/custom/joinup_like/src/Plugin/ActionLink/RdfCountLink.php
index 2bb6fde124..bff8bd4fc4 100644
--- a/web/modules/custom/joinup_like/src/Plugin/ActionLink/RdfCountLink.php
+++ b/web/modules/custom/joinup_like/src/Plugin/ActionLink/RdfCountLink.php
@@ -15,7 +15,7 @@
  *
  * @ActionLinkType(
  *   id = "count_link_rdf",
- *   label = @Translation("Interoperable Europe Portal Count link Rdf entity"),
+ *   label = @Translation("Joinup Count link Rdf entity"),
  *   description = "An AJAX action link which displays the count with the flag."
  * )
  */
diff --git a/web/modules/custom/joinup_log/joinup_log.info.yml b/web/modules/custom/joinup_log/joinup_log.info.yml
index e523cbd493..40da9a68ea 100644
--- a/web/modules/custom/joinup_log/joinup_log.info.yml
+++ b/web/modules/custom/joinup_log/joinup_log.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal log'
+name: 'Joinup log'
 description: 'Contains log-related features.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 10.1"
 dependencies:
   - drupal:user
diff --git a/web/modules/custom/joinup_log/joinup_log.module b/web/modules/custom/joinup_log/joinup_log.module
index 733ced42ec..2fba310580 100644
--- a/web/modules/custom/joinup_log/joinup_log.module
+++ b/web/modules/custom/joinup_log/joinup_log.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal Log module.
+ * Hook implementations for the Joinup Log module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_log/src/Entity/JoinupLog.php b/web/modules/custom/joinup_log/src/Entity/JoinupLog.php
index 3fa7ef3ca9..4022e9e3aa 100644
--- a/web/modules/custom/joinup_log/src/Entity/JoinupLog.php
+++ b/web/modules/custom/joinup_log/src/Entity/JoinupLog.php
@@ -19,8 +19,8 @@
  *
  * @ContentEntityType(
  *   id = "joinup_log",
- *   label = @Translation("Interoperable Europe Portal log"),
- *   label_collection = @Translation("Interoperable Europe Portal logs"),
+ *   label = @Translation("Joinup log"),
+ *   label_collection = @Translation("Joinup logs"),
  *   label_singular = @Translation("joinup log"),
  *   label_plural = @Translation("joinup logs"),
  *   label_count = @PluralTranslation(
diff --git a/web/modules/custom/joinup_log/src/JoinupLogStorage.php b/web/modules/custom/joinup_log/src/JoinupLogStorage.php
index 7f393a820b..80faa02b57 100644
--- a/web/modules/custom/joinup_log/src/JoinupLogStorage.php
+++ b/web/modules/custom/joinup_log/src/JoinupLogStorage.php
@@ -9,7 +9,7 @@
 use Drupal\Core\Entity\Sql\SqlContentEntityStorage;
 
 /**
- * Defines the storage handler class for Interoperable Europe Portal log entity.
+ * Defines the storage handler class for Joinup log entity.
  */
 class JoinupLogStorage extends SqlContentEntityStorage {
 
diff --git a/web/modules/custom/joinup_log/src/JoinupLogStorageSchema.php b/web/modules/custom/joinup_log/src/JoinupLogStorageSchema.php
index 67dd8612f0..10fc591cc1 100644
--- a/web/modules/custom/joinup_log/src/JoinupLogStorageSchema.php
+++ b/web/modules/custom/joinup_log/src/JoinupLogStorageSchema.php
@@ -8,7 +8,7 @@
 use Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema;
 
 /**
- * Defines the Interoperable Europe Portal log entity schema handler.
+ * Defines the Joinup log entity schema handler.
  */
 class JoinupLogStorageSchema extends SqlContentEntityStorageSchema {
 
diff --git a/web/modules/custom/joinup_log/src/JoinupLogViewsData.php b/web/modules/custom/joinup_log/src/JoinupLogViewsData.php
index 48879a9fe3..14ac7b2ca6 100644
--- a/web/modules/custom/joinup_log/src/JoinupLogViewsData.php
+++ b/web/modules/custom/joinup_log/src/JoinupLogViewsData.php
@@ -9,7 +9,7 @@
 use Drupal\views\EntityViewsData;
 
 /**
- * Provides the views data for Interoperable Europe Portal log entity type.
+ * Provides the views data for Joinup log entity type.
  */
 class JoinupLogViewsData extends EntityViewsData {
 
diff --git a/web/modules/custom/joinup_log/tests/src/Kernel/JoinupLogEntityTest.php b/web/modules/custom/joinup_log/tests/src/Kernel/JoinupLogEntityTest.php
index 03f1ef7c2a..c28410f6c8 100644
--- a/web/modules/custom/joinup_log/tests/src/Kernel/JoinupLogEntityTest.php
+++ b/web/modules/custom/joinup_log/tests/src/Kernel/JoinupLogEntityTest.php
@@ -12,7 +12,7 @@
 use Drupal\joinup_log\Entity\JoinupLogInterface;
 
 /**
- * Test the Interoperable Europe Portal log entity functionality.
+ * Test the Joinup log entity functionality.
  */
 class JoinupLogEntityTest extends KernelTestBase {
 
@@ -92,13 +92,13 @@ public function testDelete(): void {
   }
 
   /**
-   * Generates a Interoperable Europe Portal log entity.
+   * Generates a Joinup log entity.
    *
    * @param array $values
    *   Overrides the defaults values.
    *
    * @return \Drupal\joinup_log\Entity\JoinupLogInterface
-   *   The Interoperable Europe Portal log entity.
+   *   The Joinup log entity.
    */
   private function generateLogEntity(array $values = []): JoinupLogInterface {
     global $base_root;
diff --git a/web/modules/custom/joinup_media/config/schema/joinup_media.schema.yml b/web/modules/custom/joinup_media/config/schema/joinup_media.schema.yml
index fafeea1d38..d6514de06c 100644
--- a/web/modules/custom/joinup_media/config/schema/joinup_media.schema.yml
+++ b/web/modules/custom/joinup_media/config/schema/joinup_media.schema.yml
@@ -1,3 +1,3 @@
 field.widget.settings.joinup_media_video_url:
   type: field.widget.settings.inline_entity_form_simple
-  label: 'Interoperable Europe Portal Media video URL'
+  label: 'Joinup Media video URL'
diff --git a/web/modules/custom/joinup_media/joinup_media.info.yml b/web/modules/custom/joinup_media/joinup_media.info.yml
index 9a1373c535..5fb64fb39b 100644
--- a/web/modules/custom/joinup_media/joinup_media.info.yml
+++ b/web/modules/custom/joinup_media/joinup_media.info.yml
@@ -1,7 +1,7 @@
 type: module
-name: Interoperable Europe Portal Media
+name: Joinup Media
 description: Drupal Media adaptation.
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">=9.4"
 dependencies:
   - drupal:media
diff --git a/web/modules/custom/joinup_media/joinup_media.module b/web/modules/custom/joinup_media/joinup_media.module
index 159b88a667..911b32515c 100644
--- a/web/modules/custom/joinup_media/joinup_media.module
+++ b/web/modules/custom/joinup_media/joinup_media.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for Interoperable Europe Portal Media module.
+ * Hook implementations for Joinup Media module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_media/joinup_media.post_update.php b/web/modules/custom/joinup_media/joinup_media.post_update.php
index b051cb0af7..76614f942d 100644
--- a/web/modules/custom/joinup_media/joinup_media.post_update.php
+++ b/web/modules/custom/joinup_media/joinup_media.post_update.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Post-update functions for Interoperable Europe Portal Media module.
+ * Post-update functions for Joinup Media module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_media/joinup_media.views.inc b/web/modules/custom/joinup_media/joinup_media.views.inc
index 4e018d1128..c7b03274bc 100644
--- a/web/modules/custom/joinup_media/joinup_media.views.inc
+++ b/web/modules/custom/joinup_media/joinup_media.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Views integration for Interoperable Europe Portal Group module.
+ * Views integration for Joinup Group module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_media/src/JoinupMediaLibrary.php b/web/modules/custom/joinup_media/src/JoinupMediaLibrary.php
index cb9b3d9a29..6419dfcbdc 100644
--- a/web/modules/custom/joinup_media/src/JoinupMediaLibrary.php
+++ b/web/modules/custom/joinup_media/src/JoinupMediaLibrary.php
@@ -37,7 +37,7 @@ class JoinupMediaLibrary extends MediaLibrary {
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entityTypeManager
    *   The entity type manager.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $groupManager
-   *   The Interoperable Europe Portal group manager service.
+   *   The Joinup group manager service.
    */
   public function __construct(array $configuration, string $pluginId, CKEditor5PluginDefinition $pluginDefinition, EntityTypeManagerInterface $entityTypeManager, protected JoinupGroupManagerInterface $groupManager) {
     parent::__construct($configuration, $pluginId, $pluginDefinition, $entityTypeManager);
diff --git a/web/modules/custom/joinup_menu/joinup_menu.info.yml b/web/modules/custom/joinup_menu/joinup_menu.info.yml
index 7ff05c9468..0b7123eed7 100644
--- a/web/modules/custom/joinup_menu/joinup_menu.info.yml
+++ b/web/modules/custom/joinup_menu/joinup_menu.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal Menu'
-description: 'Reusable code to interact with menus in Interoperable Europe Portal.'
+name: 'Joinup Menu'
+description: 'Reusable code to interact with menus in Joinup.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_menu/src/MenuHelper.php b/web/modules/custom/joinup_menu/src/MenuHelper.php
index c23c8f9279..1d9321fe97 100644
--- a/web/modules/custom/joinup_menu/src/MenuHelper.php
+++ b/web/modules/custom/joinup_menu/src/MenuHelper.php
@@ -98,7 +98,7 @@ public function getBclAnonymousMenu(): array {
       'cta' => [
         // Even though the link claims to lead to an account creation form, we
         // are linking to the EU Login portal. Account creation is not handled
-        // inside the Interoperable Europe Portal domain.
+        // inside the Joinup domain.
         'link' => $cas_login_link,
         'attributes' => 'tabindex="0"',
         'text' => $this->t('Create an account'),
@@ -111,7 +111,7 @@ public function getBclAnonymousMenu(): array {
       'popover' => $popover,
     ];
 
-    // Generate a link to the Interoperable Europe Portal collection, to show as
+    // Generate a link to the Joinup collection, to show as
     // the "About us" link in the hamburger menu for anonymous users.
     $rdf_storage = $this->entityTypeManager->getStorage('rdf_entity');
     try {
@@ -127,12 +127,11 @@ public function getBclAnonymousMenu(): array {
       ];
     }
     catch (Exception $e) {
-      // The Interoperable Europe Portal collection could not be loaded or the
-      // link to the About page could not be generated. This should not crash
-      // the page since the collection is considered to be optional. It is for
-      // example possible for a project to reuse the Interoperable Europe
-      // Portal open source code without hosting a "Interoperable Europe
-      // Portal" collection.
+      // The Joinup collection could not be loaded or the link to the About page
+      // could not be generated. This should not crash the page since the
+      // collection is considered to be optional. It is for example possible for
+      // a project to reuse the Joinup open source code without hosting a
+      // "Joinup" collection.
       // However, in scope of the Ventuno theme the About Us link is considered
       // to be an important element, so we log a warning to alert the webmaster
       // that corrective action is required.
diff --git a/web/modules/custom/joinup_menu/src/MenuHelperInterface.php b/web/modules/custom/joinup_menu/src/MenuHelperInterface.php
index 56231077c2..d5b73dc3c1 100644
--- a/web/modules/custom/joinup_menu/src/MenuHelperInterface.php
+++ b/web/modules/custom/joinup_menu/src/MenuHelperInterface.php
@@ -38,7 +38,7 @@ public function getBclAnonymousMenu(): array;
    *
    * The landing pages returned are:
    *   - Interoperable Europe collection landing page.
-   *   - Interoperable Europe Portal collection landing page.
+   *   - Joinup collection landing page.
    *
    * @return array[]
    *   An array of menu links for the anonymous menu in the BCL header template
diff --git a/web/modules/custom/joinup_modal/joinup_modal.info.yml b/web/modules/custom/joinup_modal/joinup_modal.info.yml
index b415ac41e2..46a281d33b 100644
--- a/web/modules/custom/joinup_modal/joinup_modal.info.yml
+++ b/web/modules/custom/joinup_modal/joinup_modal.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal modal'
-description: 'Reusable modal for Interoperable Europe Portal.'
+name: 'Joinup modal'
+description: 'Reusable modal for Joinup.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 dependencies:
   - user:user
diff --git a/web/modules/custom/joinup_news/joinup_news.info.yml b/web/modules/custom/joinup_news/joinup_news.info.yml
index 5ce406efbb..6b03fa97a7 100644
--- a/web/modules/custom/joinup_news/joinup_news.info.yml
+++ b/web/modules/custom/joinup_news/joinup_news.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal News
+name: Joinup News
 description: News content type.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_news/src/Entity/NewsInterface.php b/web/modules/custom/joinup_news/src/Entity/NewsInterface.php
index 85cb6daa73..f6a380faaa 100644
--- a/web/modules/custom/joinup_news/src/Entity/NewsInterface.php
+++ b/web/modules/custom/joinup_news/src/Entity/NewsInterface.php
@@ -10,7 +10,7 @@
 use Drupal\joinup_workflow\ArchivableEntityInterface;
 
 /**
- * Interface for news entities in Interoperable Europe Portal.
+ * Interface for news entities in Joinup.
  */
 interface NewsInterface extends CommunityContentInterface, LogoInterface, ArchivableEntityInterface, AbstractInterface {
 
diff --git a/web/modules/custom/joinup_newsletter/joinup_newsletter.info.yml b/web/modules/custom/joinup_newsletter/joinup_newsletter.info.yml
index 1c6d1bfd9c..d962553ec9 100644
--- a/web/modules/custom/joinup_newsletter/joinup_newsletter.info.yml
+++ b/web/modules/custom/joinup_newsletter/joinup_newsletter.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal Newsletter'
-description: 'Provides newsletter functionality to Interoperable Europe Portal'
+name: 'Joinup Newsletter'
+description: 'Provides newsletter functionality to Joinup'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_newsletter/joinup_newsletter.module b/web/modules/custom/joinup_newsletter/joinup_newsletter.module
index 2fc286be91..ce68d8c754 100644
--- a/web/modules/custom/joinup_newsletter/joinup_newsletter.module
+++ b/web/modules/custom/joinup_newsletter/joinup_newsletter.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main functions and hook implementations of the Interoperable Europe Portal Newsletter module.
+ * Main functions and hook implementations of the Joinup Newsletter module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_notification/README.md b/web/modules/custom/joinup_notification/README.md
index 462a40a28b..fa65aa2465 100644
--- a/web/modules/custom/joinup_notification/README.md
+++ b/web/modules/custom/joinup_notification/README.md
@@ -1,4 +1,4 @@
-# Interoperable Europe Portal notification module
+# Joinup notification module
 
 The joinup notification module is a custom module that depends only on message,
 message_notify, og and state machine.
diff --git a/web/modules/custom/joinup_notification/joinup_notification.info.yml b/web/modules/custom/joinup_notification/joinup_notification.info.yml
index f443d73425..46f857be42 100644
--- a/web/modules/custom/joinup_notification/joinup_notification.info.yml
+++ b/web/modules/custom/joinup_notification/joinup_notification.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal notification'
+name: 'Joinup notification'
 description: 'Handles notifications for joinup project.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 dependencies:
   - 'joinup:joinup_workflow'
diff --git a/web/modules/custom/joinup_notification/src/EntityMessageHelper.php b/web/modules/custom/joinup_notification/src/EntityMessageHelper.php
index 9814bf352f..e1b1f1001f 100644
--- a/web/modules/custom/joinup_notification/src/EntityMessageHelper.php
+++ b/web/modules/custom/joinup_notification/src/EntityMessageHelper.php
@@ -113,10 +113,10 @@ public function getMessageEntityStorage(): EntityStorageInterface {
       $storage = $this->entityTypeManager->getStorage('message');
     }
     catch (InvalidPluginDefinitionException $e) {
-      // Since the Interoperable Europe Portal Notification module depends on
-      // the Message module we can reasonably expect that the Message entity
-      // type is available at runtime and we don't need to handle the
-      // possibility that it is not defined.
+      // Since the Joinup Notification module depends on the Message module we
+      // can reasonably expect that the Message entity type is available at
+      // runtime and we don't need to handle the possibility that it is not
+      // defined.
       // Instead of ignoring this silently, convert it in an (unchecked) runtime
       // exception. This will make sure that in the extremely rare case that
       // this exception might still be thrown, the error will still be logged,
diff --git a/web/modules/custom/joinup_notification/src/EventSubscriber/NotificationSubscriberBase.php b/web/modules/custom/joinup_notification/src/EventSubscriber/NotificationSubscriberBase.php
index 394992b274..5e11f3c1f8 100644
--- a/web/modules/custom/joinup_notification/src/EventSubscriber/NotificationSubscriberBase.php
+++ b/web/modules/custom/joinup_notification/src/EventSubscriber/NotificationSubscriberBase.php
@@ -283,7 +283,7 @@ protected function getRecipientIdsByOgRole(EntityInterface $entity, OgRoleInterf
    *   - Actor first name
    *   - Actor family name
    *   - Actor role
-   *   - Actor full name (This will be 'The Portal Support Team' if the user
+   *   - Actor full name (This will be 'The Joinup Support Team' if the user
    *   has the moderator role)
    *
    * @throws \Drupal\Core\Entity\EntityMalformedException
diff --git a/web/modules/custom/joinup_notification/src/JoinupMessageDelivery.php b/web/modules/custom/joinup_notification/src/JoinupMessageDelivery.php
index 27d425b4f3..1d3f419eb1 100644
--- a/web/modules/custom/joinup_notification/src/JoinupMessageDelivery.php
+++ b/web/modules/custom/joinup_notification/src/JoinupMessageDelivery.php
@@ -33,7 +33,7 @@ class JoinupMessageDelivery implements JoinupMessageDeliveryInterface {
   protected $messageNotifier;
 
   /**
-   * Constructs a new Interoperable Europe Portal deliver service object.
+   * Constructs a new Joinup deliver service object.
    *
    * @param \Drupal\message_notify\MessageNotifier $message_notifier
    *   The message notifier service.
diff --git a/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php b/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
index eaf15f611d..5dadce678b 100644
--- a/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
+++ b/web/modules/custom/joinup_notification/src/MessageArgumentGenerator.php
@@ -51,8 +51,8 @@ public static function getActorArguments(?UserInterface $actor = NULL): array {
 
     if ($actor->isAnonymous()) {
       // If an anonymous is creating content, set the first name to also be 'the
-      // Interoperable Europe Portal Moderation Team' because some emails use
-      // only the first name instead of the full name.
+      // Joinup Moderation Team' because some emails use only the first name
+      // instead of the full name.
       $arguments['@actor:role'] = 'moderator';
       $arguments['@actor:full_name'] = $arguments['@actor:field_user_first_name'] = 'the Interoperable Europe Portal Moderation Team';
     }
@@ -144,10 +144,9 @@ public static function getOgMembershipArguments(OgMembershipInterface $membershi
       // If the user is an administrator they will also have inherited the
       // facilitator role. Having multiple roles might be confusing for
       // non-technical users. Let's just call them the 'owner'.
-      // Note that in Interoperable Europe Portal the OG admin roles don't have
-      // the `is_admin` flag set because this would unlock unwanted
-      // permissions, so we cannot use `$role->isAdmin()` here. Instead we
-      // check if the role name matches.
+      // Note that in Joinup the OG admin roles don't have the `is_admin` flag
+      // set because this would unlock unwanted permissions, so we cannot use
+      // `$role->isAdmin()` here. Instead we check if the role name matches.
       if ($role->getName() === OgRoleInterface::ADMINISTRATOR) {
         $roles = ['owner'];
         break;
diff --git a/web/modules/custom/joinup_paragraphs/joinup_paragraphs.info.yml b/web/modules/custom/joinup_paragraphs/joinup_paragraphs.info.yml
index 95d15074dc..f0bd320d91 100644
--- a/web/modules/custom/joinup_paragraphs/joinup_paragraphs.info.yml
+++ b/web/modules/custom/joinup_paragraphs/joinup_paragraphs.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal paragraphs'
-description: 'Contains settings, installation config and functionality related to paragraphs needed in Interoperable Europe Portal.'
+name: 'Joinup paragraphs'
+description: 'Contains settings, installation config and functionality related to paragraphs needed in Joinup.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_paragraphs/joinup_paragraphs.module b/web/modules/custom/joinup_paragraphs/joinup_paragraphs.module
index 3146a54e22..129d44dfd2 100644
--- a/web/modules/custom/joinup_paragraphs/joinup_paragraphs.module
+++ b/web/modules/custom/joinup_paragraphs/joinup_paragraphs.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for Interoperable Europe Portal Paragraphs module.
+ * Hook implementations for Joinup Paragraphs module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_poll/joinup_poll.info.yml b/web/modules/custom/joinup_poll/joinup_poll.info.yml
index 360123fb6b..cf947a6c2a 100644
--- a/web/modules/custom/joinup_poll/joinup_poll.info.yml
+++ b/web/modules/custom/joinup_poll/joinup_poll.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal Poll'
+name: 'Joinup Poll'
 description: 'Poll customisation.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_poll/joinup_poll.module b/web/modules/custom/joinup_poll/joinup_poll.module
index 47318620d9..37c4aaf33c 100644
--- a/web/modules/custom/joinup_poll/joinup_poll.module
+++ b/web/modules/custom/joinup_poll/joinup_poll.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main functions and hook implementations of the Interoperable Europe Portal Poll module.
+ * Main functions and hook implementations of the Joinup Poll module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_publication_date/joinup_publication_date.info.yml b/web/modules/custom/joinup_publication_date/joinup_publication_date.info.yml
index bd8d55c338..444df14faf 100644
--- a/web/modules/custom/joinup_publication_date/joinup_publication_date.info.yml
+++ b/web/modules/custom/joinup_publication_date/joinup_publication_date.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal Publication Date
+name: Joinup Publication Date
 description: Extends the contributed Publication Date module with goodies such as support for bundle classes.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 dependencies:
   - publication_date:publication_date
diff --git a/web/modules/custom/joinup_publication_date/joinup_publication_date.module b/web/modules/custom/joinup_publication_date/joinup_publication_date.module
index a679e090c8..609d532449 100644
--- a/web/modules/custom/joinup_publication_date/joinup_publication_date.module
+++ b/web/modules/custom/joinup_publication_date/joinup_publication_date.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal Publication Date module.
+ * Hook implementations for the Joinup Publication Date module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php b/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php
index 39ac09566f..a9209c6746 100644
--- a/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php
+++ b/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Deploy hooks for Interoperable Europe Portal RDF module.
+ * Deploy hooks for Joinup RDF module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_rdf/joinup_rdf.info.yml b/web/modules/custom/joinup_rdf/joinup_rdf.info.yml
index 3604c6afde..0507137176 100644
--- a/web/modules/custom/joinup_rdf/joinup_rdf.info.yml
+++ b/web/modules/custom/joinup_rdf/joinup_rdf.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal RDF'
-description: 'Integrates the RDF data model in Interoperable Europe Portal.'
+name: 'Joinup RDF'
+description: 'Integrates the RDF data model in Joinup.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_rdf/joinup_rdf.install b/web/modules/custom/joinup_rdf/joinup_rdf.install
index a331f263c0..88a8c66f78 100644
--- a/web/modules/custom/joinup_rdf/joinup_rdf.install
+++ b/web/modules/custom/joinup_rdf/joinup_rdf.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Post update functions for the Interoperable Europe Portal RDF module.
+ * Post update functions for the Joinup RDF module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_rdf/joinup_rdf.module b/web/modules/custom/joinup_rdf/joinup_rdf.module
index 1d88054c62..2bcc7b5464 100644
--- a/web/modules/custom/joinup_rdf/joinup_rdf.module
+++ b/web/modules/custom/joinup_rdf/joinup_rdf.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal RDF module.
+ * Hook implementations for the Joinup RDF module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_rdf/src/Plugin/rdf_sync/RdfUriGenerator/JoinupRdfUriGenerator.php b/web/modules/custom/joinup_rdf/src/Plugin/rdf_sync/RdfUriGenerator/JoinupRdfUriGenerator.php
index b854bfb16a..650cc39e5b 100644
--- a/web/modules/custom/joinup_rdf/src/Plugin/rdf_sync/RdfUriGenerator/JoinupRdfUriGenerator.php
+++ b/web/modules/custom/joinup_rdf/src/Plugin/rdf_sync/RdfUriGenerator/JoinupRdfUriGenerator.php
@@ -13,7 +13,7 @@
  *
  * @RdfUriGenerator(
  *   id = "joinup_po_namespace",
- *   name = @Translation("Interoperable Europe Portal PO namespace (data.europa.eu/w21)"),
+ *   name = @Translation("Joinup PO namespace (data.europa.eu/w21)"),
  * )
  */
 class JoinupRdfUriGenerator extends RdfUriGeneratorPluginBase {
diff --git a/web/modules/custom/joinup_release/joinup_release.info.yml b/web/modules/custom/joinup_release/joinup_release.info.yml
index 1661a13a3f..6f8c3752e6 100644
--- a/web/modules/custom/joinup_release/joinup_release.info.yml
+++ b/web/modules/custom/joinup_release/joinup_release.info.yml
@@ -1,4 +1,4 @@
-name: 'Interoperable Europe Portal release'
+name: 'Joinup release'
 type: module
 description: 'Custom functionality related to releases.'
 package: Custom
diff --git a/web/modules/custom/joinup_release/joinup_release.module b/web/modules/custom/joinup_release/joinup_release.module
index c2e16f17b7..0879a5f7f2 100644
--- a/web/modules/custom/joinup_release/joinup_release.module
+++ b/web/modules/custom/joinup_release/joinup_release.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Primary module hooks for Interoperable Europe Portal release module.
+ * Primary module hooks for Joinup release module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_release/src/Entity/ReleaseInterface.php b/web/modules/custom/joinup_release/src/Entity/ReleaseInterface.php
index d5039357cc..647c2fe686 100644
--- a/web/modules/custom/joinup_release/src/Entity/ReleaseInterface.php
+++ b/web/modules/custom/joinup_release/src/Entity/ReleaseInterface.php
@@ -17,7 +17,7 @@
 use Drupal\solution\Entity\SolutionInterface;
 
 /**
- * Interface for asset release entities in Interoperable Europe Portal.
+ * Interface for asset release entities in Joinup.
  */
 interface ReleaseInterface extends NodeInterface, RdfSyncEntityInterface, CollectionContentInterface, SolutionContentInterface, EntityPublicationTimeInterface, EntityWorkflowStateInterface, DistributionsParentInterface, DescriptionInterface, ArchivableEntityInterface, PermalinkInterface {
 
diff --git a/web/modules/custom/joinup_release/src/EventSubscriber/ReleaseGroupSubscriber.php b/web/modules/custom/joinup_release/src/EventSubscriber/ReleaseGroupSubscriber.php
index ff9e9d62a5..f13bee6e42 100644
--- a/web/modules/custom/joinup_release/src/EventSubscriber/ReleaseGroupSubscriber.php
+++ b/web/modules/custom/joinup_release/src/EventSubscriber/ReleaseGroupSubscriber.php
@@ -9,7 +9,7 @@
 use Drupal\solution\Entity\SolutionInterface;
 
 /**
- * Subscribes to Interoperable Europe Portal Group events.
+ * Subscribes to Joinup Group events.
  */
 class ReleaseGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/joinup_release/templates/joinup-release-releases-download.html.twig b/web/modules/custom/joinup_release/templates/joinup-release-releases-download.html.twig
index 5664120817..f4501a1802 100644
--- a/web/modules/custom/joinup_release/templates/joinup-release-releases-download.html.twig
+++ b/web/modules/custom/joinup_release/templates/joinup-release-releases-download.html.twig
@@ -1,7 +1,7 @@
 {#
 /**
  * @file
- * Default template for the Interoperable Europe Portal release Releases download page.
+ * Default template for the Joinup release Releases download page.
  *
  * Available variables:
  * - releases: An array of release render arrays.
diff --git a/web/modules/custom/joinup_replicate/joinup_replicate.info.yml b/web/modules/custom/joinup_replicate/joinup_replicate.info.yml
index e97289f9a1..aa3793f9ea 100644
--- a/web/modules/custom/joinup_replicate/joinup_replicate.info.yml
+++ b/web/modules/custom/joinup_replicate/joinup_replicate.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal Replicate'
-description: 'Integrates the Replicate module in Interoperable Europe Portal.'
+name: 'Joinup Replicate'
+description: 'Integrates the Replicate module in Joinup.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 10.2"
 
 dependencies:
diff --git a/web/modules/custom/joinup_replicate/joinup_replicate.module b/web/modules/custom/joinup_replicate/joinup_replicate.module
index 5a1f043716..698ddbf424 100644
--- a/web/modules/custom/joinup_replicate/joinup_replicate.module
+++ b/web/modules/custom/joinup_replicate/joinup_replicate.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hooks of Interoperable Europe Portal Replicate module.
+ * Hooks of Joinup Replicate module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_replicate/src/RouteSubscriber/RouteSubscriber.php b/web/modules/custom/joinup_replicate/src/RouteSubscriber/RouteSubscriber.php
index 69c5c47243..e6a32d2293 100644
--- a/web/modules/custom/joinup_replicate/src/RouteSubscriber/RouteSubscriber.php
+++ b/web/modules/custom/joinup_replicate/src/RouteSubscriber/RouteSubscriber.php
@@ -29,7 +29,7 @@ class RouteSubscriber extends RouteSubscriberBase {
    */
   protected function alterRoutes(RouteCollection $collection): void {
     // @todo Consider making this configurable by additional configuration
-    // options either in Interoperable Europe Portal or in the contrib module.
+    // options either in Joinup or in the contrib module.
     foreach (static::ALLOWED_BUNDLES_PER_TYPE as $entityTypeId => $allowedBundles) {
       if (!$route = $collection->get("entity.$entityTypeId.replicate")) {
         continue;
diff --git a/web/modules/custom/joinup_rss/joinup_rss.info.yml b/web/modules/custom/joinup_rss/joinup_rss.info.yml
index 636d958f70..d722aaab6d 100644
--- a/web/modules/custom/joinup_rss/joinup_rss.info.yml
+++ b/web/modules/custom/joinup_rss/joinup_rss.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal RSS
-description: Exposes RSS feeds in Interoperable Europe Portal.
+name: Joinup RSS
+description: Exposes RSS feeds in Joinup.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_rss/joinup_rss.module b/web/modules/custom/joinup_rss/joinup_rss.module
index 1808777b8e..32893c0d35 100644
--- a/web/modules/custom/joinup_rss/joinup_rss.module
+++ b/web/modules/custom/joinup_rss/joinup_rss.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Provides functionality for the Interoperable Europe Portal RSS module.
+ * Provides functionality for the Joinup RSS module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/config/schema/joinup_search.schema.yml b/web/modules/custom/joinup_search/config/schema/joinup_search.schema.yml
index 2b1c003cec..47a7520b0b 100644
--- a/web/modules/custom/joinup_search/config/schema/joinup_search.schema.yml
+++ b/web/modules/custom/joinup_search/config/schema/joinup_search.schema.yml
@@ -23,7 +23,7 @@ joinup_search_filter_plugin_entity_autocomplete:
 
 plugin.plugin_configuration.search_api_processor.joinup_entity_status:
   type: search_api.default_processor_configuration
-  label: 'Interoperable Europe Portal entity status processor'
+  label: 'Joinup entity status processor'
   mapping:
     inverse:
       type: boolean
diff --git a/web/modules/custom/joinup_search/joinup_search.info.yml b/web/modules/custom/joinup_search/joinup_search.info.yml
index fca0b865db..86f9a2eb7d 100644
--- a/web/modules/custom/joinup_search/joinup_search.info.yml
+++ b/web/modules/custom/joinup_search/joinup_search.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal search
-description: Integrates the Interoperable Europe Portal project with Solr.
+name: Joinup search
+description: Integrates the Joinup project with Solr.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_search/joinup_search.install b/web/modules/custom/joinup_search/joinup_search.install
index 05583e09c2..b96d1eed11 100644
--- a/web/modules/custom/joinup_search/joinup_search.install
+++ b/web/modules/custom/joinup_search/joinup_search.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update and uninstall functions for Interoperable Europe Portal Search module.
+ * Install, update and uninstall functions for Joinup Search module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/joinup_search.module b/web/modules/custom/joinup_search/joinup_search.module
index 7d8500ab9b..e53a708db6 100644
--- a/web/modules/custom/joinup_search/joinup_search.module
+++ b/web/modules/custom/joinup_search/joinup_search.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Provides functionality for the Interoperable Europe Portal search module.
+ * Provides functionality for the Joinup search module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/joinup_search.views.inc b/web/modules/custom/joinup_search/joinup_search.views.inc
index 7001d519d3..e56e34fe5b 100644
--- a/web/modules/custom/joinup_search/joinup_search.views.inc
+++ b/web/modules/custom/joinup_search/joinup_search.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Views hook implementations for the Interoperable Europe Portal search module.
+ * Views hook implementations for the Joinup search module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.info.yml b/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.info.yml
index d3f07cdeef..167b188afd 100644
--- a/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.info.yml
+++ b/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.info.yml
@@ -1,8 +1,8 @@
-name: Interoperable Europe Portal search arbitrary facet
+name: Joinup search arbitrary facet
 type: module
 description: Allows adding facets based on arbitrary queries.
 core_version_requirement: ">= 9.4"
-package: Interoperable Europe Portal
+package: Joinup
 
 dependencies:
   - facets:facets
diff --git a/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.module b/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.module
index 4052b6bbbb..8ebf744f97 100644
--- a/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.module
+++ b/web/modules/custom/joinup_search/modules/search_api_arbitrary_facet/search_api_arbitrary_facet.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Provides functionality for the Interoperable Europe Portal search arbitrary facet.
+ * Provides functionality for the Joinup search arbitrary facet.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_search/src/EventSubscriber/JoinupGlobalSearchApiAlter.php b/web/modules/custom/joinup_search/src/EventSubscriber/JoinupGlobalSearchApiAlter.php
index da4336e9a3..ad794e4e7f 100644
--- a/web/modules/custom/joinup_search/src/EventSubscriber/JoinupGlobalSearchApiAlter.php
+++ b/web/modules/custom/joinup_search/src/EventSubscriber/JoinupGlobalSearchApiAlter.php
@@ -11,7 +11,7 @@
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 
 /**
- * Apply the global settings to all search_api_field solarium queries on Interoperable Europe Portal.
+ * Apply the global settings to all search_api_field solarium queries on Joinup.
  */
 class JoinupGlobalSearchApiAlter implements EventSubscriberInterface {
 
diff --git a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityLatestRevision.php b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityLatestRevision.php
index a3406084c0..3716e62788 100644
--- a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityLatestRevision.php
+++ b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityLatestRevision.php
@@ -17,7 +17,7 @@
  *
  * @SearchApiProcessor(
  *   id = "joinup_entity_latest_revision",
- *   label = @Translation("Interoperable Europe Portal entity latest revision"),
+ *   label = @Translation("Joinup entity latest revision"),
  *   description = @Translation("Ensures that the version of the entity is the latest revision."),
  *   stages = {
  *     "alter_items" = -20,
diff --git a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityPublishedRevision.php b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityPublishedRevision.php
index 94ddc46220..b044f8a7e7 100644
--- a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityPublishedRevision.php
+++ b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityPublishedRevision.php
@@ -16,7 +16,7 @@
  *
  * @SearchApiProcessor(
  *   id = "joinup_entity_published_revision",
- *   label = @Translation("Interoperable Europe Portal entity published revision"),
+ *   label = @Translation("Joinup entity published revision"),
  *   description = @Translation("Ensures that the version of the entity is the published revision."),
  *   stages = {
  *     "alter_items" = -20,
diff --git a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityStatus.php b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityStatus.php
index 6a08fe1e5f..8a743238e1 100644
--- a/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityStatus.php
+++ b/web/modules/custom/joinup_search/src/Plugin/search_api/processor/JoinupEntityStatus.php
@@ -23,7 +23,7 @@
  *
  * @SearchApiProcessor(
  *   id = "joinup_entity_status",
- *   label = @Translation("Interoperable Europe Portal entity status"),
+ *   label = @Translation("Joinup entity status"),
  *   description = @Translation("Exclude unpublished content, rdf entities and users."),
  *   stages = {
  *     "alter_items" = 0,
diff --git a/web/modules/custom/joinup_seo/joinup_seo.info.yml b/web/modules/custom/joinup_seo/joinup_seo.info.yml
index bc316a8b42..5f6a1fece5 100644
--- a/web/modules/custom/joinup_seo/joinup_seo.info.yml
+++ b/web/modules/custom/joinup_seo/joinup_seo.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal SEO
+name: Joinup SEO
 description: Contains specific functionality that helps visibility of the platform in search engines.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_seo/joinup_seo.module b/web/modules/custom/joinup_seo/joinup_seo.module
index db2666d3ba..cc379d0fe9 100644
--- a/web/modules/custom/joinup_seo/joinup_seo.module
+++ b/web/modules/custom/joinup_seo/joinup_seo.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains hook implementations for the Interoperable Europe Portal SEO module.
+ * Contains hook implementations for the Joinup SEO module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupEntityUrlGenerator.php b/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupEntityUrlGenerator.php
index f0f424ebd4..c0d34628be 100755
--- a/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupEntityUrlGenerator.php
+++ b/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupEntityUrlGenerator.php
@@ -7,11 +7,11 @@
 use Drupal\Core\Entity\Query\QueryInterface;
 
 /**
- * Generates URLs to content on Interoperable Europe Portal for inclusion in the sitemap.
+ * Generates URLs to content on Joinup for inclusion in the sitemap.
  *
  * @UrlGenerator(
  *   id = "joinup_entity",
- *   label = @Translation("Interoperable Europe Portal URL generator"),
+ *   label = @Translation("Joinup URL generator"),
  *   description = @Translation("Generates URLs for entities ignoring recent news."),
  * )
  */
diff --git a/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupUrlGeneratorBase.php b/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupUrlGeneratorBase.php
index 11185193b5..bb630c20d4 100644
--- a/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupUrlGeneratorBase.php
+++ b/web/modules/custom/joinup_seo/src/Plugin/simple_sitemap/UrlGenerator/JoinupUrlGeneratorBase.php
@@ -10,7 +10,7 @@
 use Drupal\simple_sitemap\Plugin\simple_sitemap\UrlGenerator\EntityUrlGenerator;
 
 /**
- * Base class for Interoperable Europe Portal Url Generators.
+ * Base class for Joinup Url Generators.
  */
 abstract class JoinupUrlGeneratorBase extends EntityUrlGenerator {
 
diff --git a/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.info.yml b/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.info.yml
index a409ee0d55..8c5c064144 100644
--- a/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.info.yml
+++ b/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal Sitewide alerts
+name: Joinup Sitewide alerts
 description: Contains customisation for sitewide_alert module.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.module b/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.module
index a3cce844e0..0fa628f1c8 100644
--- a/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.module
+++ b/web/modules/custom/joinup_sitewide_alert/joinup_sitewide_alert.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal Sitewide Alert module.
+ * Hook implementations for the Joinup Sitewide Alert module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_slick/joinup_slick.info.yml b/web/modules/custom/joinup_slick/joinup_slick.info.yml
index 4b94584fd5..2edb913501 100644
--- a/web/modules/custom/joinup_slick/joinup_slick.info.yml
+++ b/web/modules/custom/joinup_slick/joinup_slick.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal Slick
+name: Joinup Slick
 description: Formats multi-item fields with Slick Carousel
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 10.1"
 dependencies:
   - slick:slick
diff --git a/web/modules/custom/joinup_slick/joinup_slick.module b/web/modules/custom/joinup_slick/joinup_slick.module
index 99f1167906..73566182c3 100644
--- a/web/modules/custom/joinup_slick/joinup_slick.module
+++ b/web/modules/custom/joinup_slick/joinup_slick.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hooks and custom functions of Interoperable Europe Portal Slick module.
+ * Hooks and custom functions of Joinup Slick module.
  */
 
 declare(strict_types=1);
@@ -159,8 +159,8 @@ function joinup_slick_preprocess_slick(array &$variables): void {
  * Implements hook_preprocess_HOOK() for "slick_slide".
  */
 function joinup_slick_preprocess_slick_slide(array &$variables): void {
-  // Always use wrapper and content attributes if this is
-  // Interoperable Europe Portal Slick instance.
+  // Always use wrapper and content attributes if this is a Joinup Slick
+  // instance.
   if (!empty($variables['settings']['joinup_slick'])) {
     $variables['settings']['wrapper'] = TRUE;
     $variables['settings']['use_ca'] = TRUE;
diff --git a/web/modules/custom/joinup_solution/joinup_solution.info.yml b/web/modules/custom/joinup_solution/joinup_solution.info.yml
index 22c264455d..f208a95702 100644
--- a/web/modules/custom/joinup_solution/joinup_solution.info.yml
+++ b/web/modules/custom/joinup_solution/joinup_solution.info.yml
@@ -1,4 +1,4 @@
-name: 'Interoperable Europe Portal solution'
+name: 'Joinup solution'
 type: module
 description: 'Contains functionality related to the solution entity.'
 package: Joinuo
diff --git a/web/modules/custom/joinup_solution/joinup_solution.module b/web/modules/custom/joinup_solution/joinup_solution.module
index cce744bfaf..6aecfd5280 100644
--- a/web/modules/custom/joinup_solution/joinup_solution.module
+++ b/web/modules/custom/joinup_solution/joinup_solution.module
@@ -9,7 +9,7 @@
 
 /**
  * @file
- * Primary module hooks for Interoperable Europe Portal solution module.
+ * Primary module hooks for Joinup solution module.
  */
 
 use Drupal\joinup_solution\Entity\Solution;
diff --git a/web/modules/custom/joinup_sparql/joinup_sparql.info.yml b/web/modules/custom/joinup_sparql/joinup_sparql.info.yml
index e304e24d47..e0a5dc7699 100644
--- a/web/modules/custom/joinup_sparql/joinup_sparql.info.yml
+++ b/web/modules/custom/joinup_sparql/joinup_sparql.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal SPARQL
-description: Contains Interoperable Europe Portal specific overrides related to the RDF entity and the SPARQL endpoint.
+name: Joinup SPARQL
+description: Contains Joinup specific overrides related to the RDF entity and the SPARQL endpoint.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php b/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php
index 0951856483..8b22532545 100644
--- a/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php
+++ b/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php
@@ -18,7 +18,7 @@
  */
 
 /**
- * SPARQL connection service set up for virtuoso and Interoperable Europe Portal.
+ * SPARQL connection service set up for virtuoso and Joinup.
  */
 class Connection extends BaseConnection implements ConnectionInterface {
 
diff --git a/web/modules/custom/joinup_sparql/tests/modules/joinup_content_negotiation_test/joinup_content_negotiation_test.info.yml b/web/modules/custom/joinup_sparql/tests/modules/joinup_content_negotiation_test/joinup_content_negotiation_test.info.yml
index 585236a03d..e2e4780d92 100644
--- a/web/modules/custom/joinup_sparql/tests/modules/joinup_content_negotiation_test/joinup_content_negotiation_test.info.yml
+++ b/web/modules/custom/joinup_sparql/tests/modules/joinup_content_negotiation_test/joinup_content_negotiation_test.info.yml
@@ -1,4 +1,4 @@
-name: 'Interoperable Europe Portal Content Negotiation  Test'
+name: 'Joinup Content Negotiation  Test'
 type: module
 description: 'Provides a module for testing content negotiation.'
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_stats/README.md b/web/modules/custom/joinup_stats/README.md
index b09b2d69f4..55ea2ed14d 100644
--- a/web/modules/custom/joinup_stats/README.md
+++ b/web/modules/custom/joinup_stats/README.md
@@ -1,4 +1,4 @@
-Interoperable Europe Portal Stats
+Joinup Stats
 ============
 
 This module allows entities to store usage statistics in a related meta entity.
diff --git a/web/modules/custom/joinup_stats/config/schema/joinup_stats.schema.yml b/web/modules/custom/joinup_stats/config/schema/joinup_stats.schema.yml
index 446aa4fe37..f2db7a10c3 100644
--- a/web/modules/custom/joinup_stats/config/schema/joinup_stats.schema.yml
+++ b/web/modules/custom/joinup_stats/config/schema/joinup_stats.schema.yml
@@ -1,6 +1,6 @@
 meta_entity.type.*.third_party.joinup_stats:
   type: mapping
-  label: 'Interoperable Europe Portal Statistics settings'
+  label: 'Joinup Statistics settings'
   mapping:
     matomo_method:
       type: string
diff --git a/web/modules/custom/joinup_stats/joinup_stats.info.yml b/web/modules/custom/joinup_stats/joinup_stats.info.yml
index 42c388850e..d8bda19205 100644
--- a/web/modules/custom/joinup_stats/joinup_stats.info.yml
+++ b/web/modules/custom/joinup_stats/joinup_stats.info.yml
@@ -1,7 +1,7 @@
 name: Statistics
-description: 'Provide statistics for Interoperable Europe Portal entities.'
+description: 'Provide statistics for Joinup entities.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_stats/joinup_stats.module b/web/modules/custom/joinup_stats/joinup_stats.module
index eeaf7d68fb..c4855a57ad 100644
--- a/web/modules/custom/joinup_stats/joinup_stats.module
+++ b/web/modules/custom/joinup_stats/joinup_stats.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Interoperable Europe Portal Statistics module main file.
+ * Joinup Statistics module main file.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_stats/tests/modules/stats_test/config/install/field.field.node.distribution.access_url.yml b/web/modules/custom/joinup_stats/tests/modules/stats_test/config/install/field.field.node.distribution.access_url.yml
index 0b6a673b86..93d55815ae 100644
--- a/web/modules/custom/joinup_stats/tests/modules/stats_test/config/install/field.field.node.distribution.access_url.yml
+++ b/web/modules/custom/joinup_stats/tests/modules/stats_test/config/install/field.field.node.distribution.access_url.yml
@@ -16,7 +16,7 @@ field_name: access_url
 entity_type: node
 bundle: distribution
 label: 'Access URL'
-description: 'If the file(s) exist in an external server, you can provide the URL here directly. You can alternatively host your distribution in Interoperable Europe Portal by using the Distribution file field above.'
+description: 'If the file(s) exist in an external server, you can provide the URL here directly. You can alternatively host your distribution in Joinup by using the Distribution file field above.'
 required: false
 translatable: false
 default_value: {  }
diff --git a/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.info.yml b/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.info.yml
index 7fc801996a..322420b4e1 100644
--- a/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.info.yml
+++ b/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.info.yml
@@ -1,6 +1,6 @@
 type: module
 name: 'Statistics test'
-description: 'Used to test Interoperable Europe Portal Statistics.'
+description: 'Used to test Joinup Statistics.'
 core_version_requirement: ">= 9.4"
 package: Testing
 dependecies:
diff --git a/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.module b/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.module
index 91b9c0287d..300894aa2d 100644
--- a/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.module
+++ b/web/modules/custom/joinup_stats/tests/modules/stats_test/joinup_stats_test.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal Stats test module.
+ * Hook implementations for the Joinup Stats test module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_subscription/README.md b/web/modules/custom/joinup_subscription/README.md
index 077143b6e8..c1f62f4b3b 100644
--- a/web/modules/custom/joinup_subscription/README.md
+++ b/web/modules/custom/joinup_subscription/README.md
@@ -1,7 +1,7 @@
-Interoperable Europe Portal Subscription
+Joinup Subscription
 ===================
 
-This module handles subscribing to content in Interoperable Europe Portal. If a user is subscribed
+This module handles subscribing to content in Joinup. If a user is subscribed
 they will receive email notifications when new content is being published. At
 the moment there are two distinct subscription systems offered by the module:
 
diff --git a/web/modules/custom/joinup_subscription/config/schema/joinup_subscription.schema.yml b/web/modules/custom/joinup_subscription/config/schema/joinup_subscription.schema.yml
index d01a91fb32..30153f023a 100644
--- a/web/modules/custom/joinup_subscription/config/schema/joinup_subscription.schema.yml
+++ b/web/modules/custom/joinup_subscription/config/schema/joinup_subscription.schema.yml
@@ -1,6 +1,6 @@
 joinup_subscription.settings:
   type: config_object
-  label: 'Interoperable Europe Portal subscription settings'
+  label: 'Joinup subscription settings'
   mapping:
     frequency:
       type: string
diff --git a/web/modules/custom/joinup_subscription/joinup_subscription.info.yml b/web/modules/custom/joinup_subscription/joinup_subscription.info.yml
index 425ded24f5..0d4fd38b78 100644
--- a/web/modules/custom/joinup_subscription/joinup_subscription.info.yml
+++ b/web/modules/custom/joinup_subscription/joinup_subscription.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal subscription
+name: Joinup subscription
 description: Allows users to subscribe to collection content.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_subscription/src/EventSubscriber/GroupContentSubscriptionSubscriber.php b/web/modules/custom/joinup_subscription/src/EventSubscriber/GroupContentSubscriptionSubscriber.php
index f97c0e33f7..967f2a9d4f 100644
--- a/web/modules/custom/joinup_subscription/src/EventSubscriber/GroupContentSubscriptionSubscriber.php
+++ b/web/modules/custom/joinup_subscription/src/EventSubscriber/GroupContentSubscriptionSubscriber.php
@@ -32,7 +32,7 @@ class GroupContentSubscriptionSubscriber implements EventSubscriberInterface {
   protected $entityTypeManager;
 
   /**
-   * The Interoperable Europe Portal message delivery service.
+   * The Joinup message delivery service.
    *
    * @var \Drupal\joinup_notification\JoinupMessageDeliveryInterface
    */
@@ -51,7 +51,7 @@ class GroupContentSubscriptionSubscriber implements EventSubscriberInterface {
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entityTypeManager
    *   The entity type manager.
    * @param \Drupal\joinup_notification\JoinupMessageDeliveryInterface $joinupMessageDelivery
-   *   The Interoperable Europe Portal message delivery service.
+   *   The Joinup message delivery service.
    * @param \Drupal\Core\Logger\LoggerChannelFactoryInterface $logger
    *   The logger channel factory.
    */
diff --git a/web/modules/custom/joinup_subscription/src/Form/SubscriptionsForm.php b/web/modules/custom/joinup_subscription/src/Form/SubscriptionsForm.php
index 56e63661bc..828c0357d4 100644
--- a/web/modules/custom/joinup_subscription/src/Form/SubscriptionsForm.php
+++ b/web/modules/custom/joinup_subscription/src/Form/SubscriptionsForm.php
@@ -23,7 +23,7 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Provides a Interoperable Europe Portal subscription form.
+ * Provides a Joinup subscription form.
  */
 class SubscriptionsForm extends FormBase {
 
@@ -42,7 +42,7 @@ class SubscriptionsForm extends FormBase {
   protected EntityTypeBundleInfoInterface $entityTypeBundleInfo;
 
   /**
-   * The Interoperable Europe Portal group manager service.
+   * The Joinup group manager service.
    *
    * @var \Drupal\joinup_group\JoinupGroupManagerInterface
    */
@@ -63,7 +63,7 @@ class SubscriptionsForm extends FormBase {
    * @param \Drupal\Core\Entity\EntityTypeBundleInfoInterface $entityTypeBundleInfo
    *   The entity type bundle info service.
    * @param \Drupal\joinup_group\JoinupGroupManagerInterface $groupManager
-   *   The Interoperable Europe Portal group manager service.
+   *   The Joinup group manager service.
    * @param \Drupal\og\MembershipManagerInterface $membershipManager
    *   The OG membership manager.
    */
diff --git a/web/modules/custom/joinup_subscription/src/JoinupDiscussionSubscription.php b/web/modules/custom/joinup_subscription/src/JoinupDiscussionSubscription.php
index 93d15d018b..8be81977b0 100644
--- a/web/modules/custom/joinup_subscription/src/JoinupDiscussionSubscription.php
+++ b/web/modules/custom/joinup_subscription/src/JoinupDiscussionSubscription.php
@@ -31,7 +31,7 @@ class JoinupDiscussionSubscription implements JoinupDiscussionSubscriptionInterf
   protected $flagService;
 
   /**
-   * Constructs a new Interoperable Europe Portal subscription service.
+   * Constructs a new Joinup subscription service.
    *
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The entity type manager service.
diff --git a/web/modules/custom/joinup_subscription/src/JoinupSubscriptionsHelper.php b/web/modules/custom/joinup_subscription/src/JoinupSubscriptionsHelper.php
index 30745e3f3d..7b0ff032c6 100644
--- a/web/modules/custom/joinup_subscription/src/JoinupSubscriptionsHelper.php
+++ b/web/modules/custom/joinup_subscription/src/JoinupSubscriptionsHelper.php
@@ -7,7 +7,7 @@
 use Drupal\joinup_community_content\CommunityContentHelper;
 
 /**
- * Helper class for Interoperable Europe Portal subscriptions.
+ * Helper class for Joinup subscriptions.
  */
 class JoinupSubscriptionsHelper {
 
diff --git a/web/modules/custom/joinup_subscription/src/Plugin/Field/FieldType/EntityBundlePairItem.php b/web/modules/custom/joinup_subscription/src/Plugin/Field/FieldType/EntityBundlePairItem.php
index 79ec851f9b..106012607f 100644
--- a/web/modules/custom/joinup_subscription/src/Plugin/Field/FieldType/EntityBundlePairItem.php
+++ b/web/modules/custom/joinup_subscription/src/Plugin/Field/FieldType/EntityBundlePairItem.php
@@ -16,7 +16,7 @@
  * This is a pseudo reference field that references bundles by storing the
  * entity type and the bundle machine name.
  *
- * @todo If this is useful for other subsystems in Interoperable Europe Portal this can be split off
+ * @todo If this is useful for other subsystems in Joinup this can be split off
  *   to a separate module.
  *
  * @FieldType(
diff --git a/web/modules/custom/joinup_taxonomy/config/schema/joinup_taxonomy.schema.yml b/web/modules/custom/joinup_taxonomy/config/schema/joinup_taxonomy.schema.yml
index edcc5389d9..d9fbc06931 100644
--- a/web/modules/custom/joinup_taxonomy/config/schema/joinup_taxonomy.schema.yml
+++ b/web/modules/custom/joinup_taxonomy/config/schema/joinup_taxonomy.schema.yml
@@ -1,6 +1,6 @@
 taxonomy.vocabulary.*.third_party.joinup_taxonomy:
   type: mapping
-  label: 'Interoperable Europe Portal Taxonomy third party settings'
+  label: 'Joinup Taxonomy third party settings'
   mapping:
     locked:
       type: boolean
diff --git a/web/modules/custom/joinup_taxonomy/joinup_taxonomy.info.yml b/web/modules/custom/joinup_taxonomy/joinup_taxonomy.info.yml
index 1c18ac22a2..c8b79b03ad 100644
--- a/web/modules/custom/joinup_taxonomy/joinup_taxonomy.info.yml
+++ b/web/modules/custom/joinup_taxonomy/joinup_taxonomy.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal Taxonomy
+name: Joinup Taxonomy
 description: Customizing the core's Taxonomy module.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 dependencies:
   - drupal:taxonomy
diff --git a/web/modules/custom/joinup_taxonomy/joinup_taxonomy.module b/web/modules/custom/joinup_taxonomy/joinup_taxonomy.module
index af934e3240..f563cff66b 100644
--- a/web/modules/custom/joinup_taxonomy/joinup_taxonomy.module
+++ b/web/modules/custom/joinup_taxonomy/joinup_taxonomy.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for Interoperable Europe Portal taxonomy module.
+ * Hook implementations for Joinup taxonomy module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_test/joinup_test.info.yml b/web/modules/custom/joinup_test/joinup_test.info.yml
index 4b981364ae..d2b701c025 100644
--- a/web/modules/custom/joinup_test/joinup_test.info.yml
+++ b/web/modules/custom/joinup_test/joinup_test.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal Test'
-description: 'Contains functionality to test Interoperable Europe Portal.'
+name: 'Joinup Test'
+description: 'Contains functionality to test Joinup.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 dependencies:
   - http_request_mock:http_request_mock
diff --git a/web/modules/custom/joinup_test/joinup_test.install b/web/modules/custom/joinup_test/joinup_test.install
index 66dc783714..7b8947f178 100644
--- a/web/modules/custom/joinup_test/joinup_test.install
+++ b/web/modules/custom/joinup_test/joinup_test.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update and uninstall hooks for Interoperable Europe Portal Test module.
+ * Install, update and uninstall hooks for Joinup Test module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_test/joinup_test.module b/web/modules/custom/joinup_test/joinup_test.module
index 4425b7f1d6..2119489a3c 100644
--- a/web/modules/custom/joinup_test/joinup_test.module
+++ b/web/modules/custom/joinup_test/joinup_test.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for Interoperable Europe Portal Test module.
+ * Hook implementations for Joinup Test module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_test/tests/src/ExistingSite/JoinupExistingSiteTestBase.php b/web/modules/custom/joinup_test/tests/src/ExistingSite/JoinupExistingSiteTestBase.php
index 5b03ef53d2..fa20ee2d0e 100644
--- a/web/modules/custom/joinup_test/tests/src/ExistingSite/JoinupExistingSiteTestBase.php
+++ b/web/modules/custom/joinup_test/tests/src/ExistingSite/JoinupExistingSiteTestBase.php
@@ -13,7 +13,7 @@
 use weitzman\DrupalTestTraits\ExistingSiteBase;
 
 /**
- * Base class for Interoperable Europe Portal ExistingSite tests.
+ * Base class for Joinup ExistingSite tests.
  */
 abstract class JoinupExistingSiteTestBase extends ExistingSiteBase {
 
diff --git a/web/modules/custom/joinup_test/tests/src/Kernel/JoinupKernelTestBase.php b/web/modules/custom/joinup_test/tests/src/Kernel/JoinupKernelTestBase.php
index 4e1f39d5b1..7e5cf90edd 100644
--- a/web/modules/custom/joinup_test/tests/src/Kernel/JoinupKernelTestBase.php
+++ b/web/modules/custom/joinup_test/tests/src/Kernel/JoinupKernelTestBase.php
@@ -7,7 +7,7 @@
 use Drupal\Tests\rdf_entity\Kernel\RdfKernelTestBase;
 
 /**
- * Provides a base class for entity tests in Interoperable Europe Portal.
+ * Provides a base class for entity tests in Joinup.
  *
  * This class is not intended for generic kernel tests but only for entity
  * tests. It will be renamed to JoinupEntityKernelTestBase to avoid confusion.
diff --git a/web/modules/custom/joinup_tiles/joinup_tiles.info.yml b/web/modules/custom/joinup_tiles/joinup_tiles.info.yml
index fca20779cc..e3a9be44bc 100644
--- a/web/modules/custom/joinup_tiles/joinup_tiles.info.yml
+++ b/web/modules/custom/joinup_tiles/joinup_tiles.info.yml
@@ -1,5 +1,5 @@
-name: Interoperable Europe Portal Tiles
-description: Tiles components for Interoperable Europe Portal
+name: Joinup Tiles
+description: Tiles components for Joinup
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_tiles/joinup_tiles.module b/web/modules/custom/joinup_tiles/joinup_tiles.module
index ee1a106bbf..bef1dc26e3 100644
--- a/web/modules/custom/joinup_tiles/joinup_tiles.module
+++ b/web/modules/custom/joinup_tiles/joinup_tiles.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal Tiles module.
+ * Hook implementations for the Joinup Tiles module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_tiles/src/Plugin/views/style/Tiles.php b/web/modules/custom/joinup_tiles/src/Plugin/views/style/Tiles.php
index 64d072dac8..5961da2b95 100644
--- a/web/modules/custom/joinup_tiles/src/Plugin/views/style/Tiles.php
+++ b/web/modules/custom/joinup_tiles/src/Plugin/views/style/Tiles.php
@@ -9,7 +9,7 @@
 /**
  * A Views style that renders markup for "Tiles".
  *
- * A "tile" is Interoperable Europe Portal terminology for a "card".
+ * A "tile" is Joinup terminology for a "card".
  *
  * How to use this:
  * 1. Create a view that uses the 'Tiles' style (called 'format' in the UI).
diff --git a/web/modules/custom/joinup_tour/joinup_tour.info.yml b/web/modules/custom/joinup_tour/joinup_tour.info.yml
index 5d04b484f5..2a38bff847 100644
--- a/web/modules/custom/joinup_tour/joinup_tour.info.yml
+++ b/web/modules/custom/joinup_tour/joinup_tour.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal Tour'
-description: 'Contains tours for Interoperable Europe Portal.'
+name: 'Joinup Tour'
+description: 'Contains tours for Joinup.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_tour/joinup_tour.module b/web/modules/custom/joinup_tour/joinup_tour.module
index ee783bdf6c..8a488e4ca5 100644
--- a/web/modules/custom/joinup_tour/joinup_tour.module
+++ b/web/modules/custom/joinup_tour/joinup_tour.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal Tour module.
+ * Hook implementations for the Joinup Tour module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_tour/src/TourHelper.php b/web/modules/custom/joinup_tour/src/TourHelper.php
index 6fa630b3ee..631274e05d 100644
--- a/web/modules/custom/joinup_tour/src/TourHelper.php
+++ b/web/modules/custom/joinup_tour/src/TourHelper.php
@@ -8,7 +8,7 @@
 use Drupal\Core\Routing\RouteMatchInterface;
 
 /**
- * Helper methods for dealing with tours on Interoperable Europe Portal.
+ * Helper methods for dealing with tours on Joinup.
  */
 class TourHelper implements TourHelperInterface {
 
diff --git a/web/modules/custom/joinup_tour/src/TourHelperInterface.php b/web/modules/custom/joinup_tour/src/TourHelperInterface.php
index 99423fdf5a..2b0ca49d91 100644
--- a/web/modules/custom/joinup_tour/src/TourHelperInterface.php
+++ b/web/modules/custom/joinup_tour/src/TourHelperInterface.php
@@ -5,7 +5,7 @@
 namespace Drupal\joinup_tour;
 
 /**
- * Helper methods for dealing with tours on Interoperable Europe Portal.
+ * Helper methods for dealing with tours on Joinup.
  */
 interface TourHelperInterface {
 
diff --git a/web/modules/custom/joinup_user/config/schema/joinup_user.schema.yml b/web/modules/custom/joinup_user/config/schema/joinup_user.schema.yml
index de3071c94d..591f3aa625 100644
--- a/web/modules/custom/joinup_user/config/schema/joinup_user.schema.yml
+++ b/web/modules/custom/joinup_user/config/schema/joinup_user.schema.yml
@@ -1,4 +1,4 @@
-# Schema for the configuration files of the Interoperable Europe Portal user module.
+# Schema for the configuration files of the Joinup user module.
 joinup_user.mail:
   type: config_object
   label: 'Email settings'
diff --git a/web/modules/custom/joinup_user/joinup_user.info.yml b/web/modules/custom/joinup_user/joinup_user.info.yml
index ce841289ae..7f40753e9d 100644
--- a/web/modules/custom/joinup_user/joinup_user.info.yml
+++ b/web/modules/custom/joinup_user/joinup_user.info.yml
@@ -1,7 +1,7 @@
-name: 'Interoperable Europe Portal user'
+name: 'Joinup user'
 description: 'User profile fields, user notifications, ...'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/joinup_user/joinup_user.install b/web/modules/custom/joinup_user/joinup_user.install
index 859da8bbea..6bd4560b5b 100644
--- a/web/modules/custom/joinup_user/joinup_user.install
+++ b/web/modules/custom/joinup_user/joinup_user.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install functions of the Interoperable Europe Portal user module.
+ * Install functions of the Joinup user module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_user/joinup_user.module b/web/modules/custom/joinup_user/joinup_user.module
index 8ca884812e..dda18aa6ff 100644
--- a/web/modules/custom/joinup_user/joinup_user.module
+++ b/web/modules/custom/joinup_user/joinup_user.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Main functions and hook implementations of the Interoperable Europe Portal user module.
+ * Main functions and hook implementations of the Joinup user module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_user/src/JoinupUserViewsData.php b/web/modules/custom/joinup_user/src/JoinupUserViewsData.php
index 4c182a9d98..da1e4233b5 100644
--- a/web/modules/custom/joinup_user/src/JoinupUserViewsData.php
+++ b/web/modules/custom/joinup_user/src/JoinupUserViewsData.php
@@ -7,7 +7,7 @@
 use Drupal\user\UserViewsData;
 
 /**
- * Provides the views data for the Interoperable Europe Portal user entity type.
+ * Provides the views data for the Joinup user entity type.
  */
 class JoinupUserViewsData extends UserViewsData {
 
diff --git a/web/modules/custom/joinup_user/src/Plugin/Block/WarningMessageBlock.php b/web/modules/custom/joinup_user/src/Plugin/Block/WarningMessageBlock.php
index 04f2850a67..a89da4cd46 100644
--- a/web/modules/custom/joinup_user/src/Plugin/Block/WarningMessageBlock.php
+++ b/web/modules/custom/joinup_user/src/Plugin/Block/WarningMessageBlock.php
@@ -17,7 +17,7 @@
 #[Block(
   id: "developer_warning_message",
   admin_label: new TranslatableMarkup("Developers warning message"),
-  category: new TranslatableMarkup("Interoperable Europe Portal"),
+  category: new TranslatableMarkup("Joinup"),
 )]
 final class WarningMessageBlock extends BlockBase {
 
diff --git a/web/modules/custom/joinup_user/src/Plugin/views/field/JoinupUserBulkForm.php b/web/modules/custom/joinup_user/src/Plugin/views/field/JoinupUserBulkForm.php
index b546b62dae..3afe46e74a 100644
--- a/web/modules/custom/joinup_user/src/Plugin/views/field/JoinupUserBulkForm.php
+++ b/web/modules/custom/joinup_user/src/Plugin/views/field/JoinupUserBulkForm.php
@@ -62,7 +62,7 @@ class JoinupUserBulkForm extends RoleDelegationUserBulkForm {
    * @param \Drupal\Core\Session\AccountInterface $currentUser
    *   The currently logged in user.
    * @param \Drupal\joinup_user\JoinupUserNotificationHelperInterface $notificationHelper
-   *   The notification helper for the Interoperable Europe Portal User module.
+   *   The notification helper for the Joinup User module.
    *
    * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
    * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
diff --git a/web/modules/custom/joinup_validation/joinup_validation.info.yml b/web/modules/custom/joinup_validation/joinup_validation.info.yml
index 93f9bf800a..4d8f690031 100644
--- a/web/modules/custom/joinup_validation/joinup_validation.info.yml
+++ b/web/modules/custom/joinup_validation/joinup_validation.info.yml
@@ -1,5 +1,5 @@
-name: 'Interoperable Europe Portal Validation'
-description: 'Validation constraints that are useful for Interoperable Europe Portal.'
+name: 'Joinup Validation'
+description: 'Validation constraints that are useful for Joinup.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_video/joinup_video.info.yml b/web/modules/custom/joinup_video/joinup_video.info.yml
index a6a2e7735c..032f036189 100644
--- a/web/modules/custom/joinup_video/joinup_video.info.yml
+++ b/web/modules/custom/joinup_video/joinup_video.info.yml
@@ -1,5 +1,5 @@
-name: Interoperable Europe Portal video
+name: Joinup video
 description: Provides video functionality
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_video/joinup_video.install b/web/modules/custom/joinup_video/joinup_video.install
index 98c0d9b162..a175af52e7 100644
--- a/web/modules/custom/joinup_video/joinup_video.install
+++ b/web/modules/custom/joinup_video/joinup_video.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Post-update functions for Interoperable Europe Portal Video module.
+ * Post-update functions for Joinup Video module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/joinup_workflow/README.md b/web/modules/custom/joinup_workflow/README.md
index 75b7b7ed3b..f516e61600 100644
--- a/web/modules/custom/joinup_workflow/README.md
+++ b/web/modules/custom/joinup_workflow/README.md
@@ -85,7 +85,7 @@ the module, it needs to be defined in its schema. The structure of the file is:
 #    this action.
 <module_name>.settings:
   type: config_object
-  label: 'Interoperable Europe Portal workflow permission settings'
+  label: 'Joinup workflow permission settings'
   mapping:
     transitions:
       type: sequence
diff --git a/web/modules/custom/joinup_workflow/joinup_workflow.info.yml b/web/modules/custom/joinup_workflow/joinup_workflow.info.yml
index 9e5a943114..b431abb707 100644
--- a/web/modules/custom/joinup_workflow/joinup_workflow.info.yml
+++ b/web/modules/custom/joinup_workflow/joinup_workflow.info.yml
@@ -1,5 +1,5 @@
-name: Interoperable Europe Portal Workflow
-description: Shared code for handling workflows in Interoperable Europe Portal.
+name: Joinup Workflow
+description: Shared code for handling workflows in Joinup.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_workflow/joinup_workflow.module b/web/modules/custom/joinup_workflow/joinup_workflow.module
index 5237ffe9bc..f0e8a02426 100644
--- a/web/modules/custom/joinup_workflow/joinup_workflow.module
+++ b/web/modules/custom/joinup_workflow/joinup_workflow.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Hook implementations for the Interoperable Europe Portal workflow module.
+ * Hook implementations for the Joinup workflow module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/legal/joinup_legal.info.yml b/web/modules/custom/legal/joinup_legal.info.yml
index 4a5a8ddbc3..6e0b6deb42 100644
--- a/web/modules/custom/legal/joinup_legal.info.yml
+++ b/web/modules/custom/legal/joinup_legal.info.yml
@@ -1,7 +1,7 @@
 name: Legal
-description: 'Deals with the legal aspects of using Interoperable Europe Portal as an end-user.'
+description: 'Deals with the legal aspects of using Joinup as an end-user.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/legal/joinup_legal.install b/web/modules/custom/legal/joinup_legal.install
index be758cd71b..072ed12cac 100644
--- a/web/modules/custom/legal/joinup_legal.install
+++ b/web/modules/custom/legal/joinup_legal.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update and uninstall functionality for Interoperable Europe Portal Legal module.
+ * Install, update and uninstall functionality for Joinup Legal module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/legal/joinup_legal.module b/web/modules/custom/legal/joinup_legal.module
index 498e717e46..c52851a6e3 100644
--- a/web/modules/custom/legal/joinup_legal.module
+++ b/web/modules/custom/legal/joinup_legal.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains the Interoperable Europe Portal Legal module main file.
+ * Contains the Joinup Legal module main file.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/moderation/moderation.info.yml b/web/modules/custom/moderation/moderation.info.yml
index 8347660b22..98fb8c8100 100644
--- a/web/modules/custom/moderation/moderation.info.yml
+++ b/web/modules/custom/moderation/moderation.info.yml
@@ -1,7 +1,7 @@
 name: Moderation
 description: Provides a moderation overview.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/oe_gisco_geocoding/README.md b/web/modules/custom/oe_gisco_geocoding/README.md
index e6b86b3b87..97e562c459 100644
--- a/web/modules/custom/oe_gisco_geocoding/README.md
+++ b/web/modules/custom/oe_gisco_geocoding/README.md
@@ -1,2 +1,2 @@
-This module is temporarily hosted in Interoperable Europe Portal but will be moved in OpenEuropa
+This module is temporarily hosted in Joinup but will be moved in OpenEuropa
 space. See https://github.com/openeuropa/oe_gisco_geocoding/pull/1.
diff --git a/web/modules/custom/owner/owner.info.yml b/web/modules/custom/owner/owner.info.yml
index c4787fbe3d..8e3022618a 100644
--- a/web/modules/custom/owner/owner.info.yml
+++ b/web/modules/custom/owner/owner.info.yml
@@ -1,7 +1,7 @@
 name: Owner
-description: 'Provides Owners for the Interoperable Europe Portal project.'
+description: 'Provides Owners for the Joinup project.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/owner/src/Entity/OwnerInterface.php b/web/modules/custom/owner/src/Entity/OwnerInterface.php
index b1c2e58bab..5813adae0a 100644
--- a/web/modules/custom/owner/src/Entity/OwnerInterface.php
+++ b/web/modules/custom/owner/src/Entity/OwnerInterface.php
@@ -9,7 +9,7 @@
 use Drupal\node\NodeInterface;
 
 /**
- * Interface for owner entities in Interoperable Europe Portal.
+ * Interface for owner entities in Joinup.
  */
 interface OwnerInterface extends NodeInterface, EntityWorkflowStateInterface, RdfSyncEntityInterface {
 
diff --git a/web/modules/custom/solution/solution.info.yml b/web/modules/custom/solution/solution.info.yml
index 09b611e4ba..fe062e45ec 100644
--- a/web/modules/custom/solution/solution.info.yml
+++ b/web/modules/custom/solution/solution.info.yml
@@ -1,7 +1,7 @@
 name: Solution
 description: 'The interoperability solution RDF entity.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/solution/src/Entity/SolutionInterface.php b/web/modules/custom/solution/src/Entity/SolutionInterface.php
index a115336e72..b8c355a039 100644
--- a/web/modules/custom/solution/src/Entity/SolutionInterface.php
+++ b/web/modules/custom/solution/src/Entity/SolutionInterface.php
@@ -18,7 +18,7 @@
 use Drupal\rdf_entity\RdfInterface;
 
 /**
- * Interface for solution entities in Interoperable Europe Portal.
+ * Interface for solution entities in Joinup.
  */
 interface SolutionInterface extends RdfInterface, CollectionContentInterface, EntityPublicationTimeInterface, EntityWorkflowStateInterface, FeaturedContentInterface, PinnableGroupContentInterface, GroupInterface, DistributionsParentInterface, ArchivableEntityInterface, DescriptionInterface, AbstractInterface {
 
diff --git a/web/modules/custom/solution/src/EventSubscriber/SolutionGroupSubscriber.php b/web/modules/custom/solution/src/EventSubscriber/SolutionGroupSubscriber.php
index 64cdcd4f68..4956a2aa58 100644
--- a/web/modules/custom/solution/src/EventSubscriber/SolutionGroupSubscriber.php
+++ b/web/modules/custom/solution/src/EventSubscriber/SolutionGroupSubscriber.php
@@ -9,7 +9,7 @@
 use Drupal\joinup_group\EventSubscriber\AddGroupContentEventSubscriberBase;
 
 /**
- * Subscribes to Interoperable Europe Portal Group events.
+ * Subscribes to Joinup Group events.
  */
 class SolutionGroupSubscriber extends AddGroupContentEventSubscriberBase {
 
diff --git a/web/modules/custom/solution/src/Form/ChangeCollectionForm.php b/web/modules/custom/solution/src/Form/ChangeCollectionForm.php
index e7fe97f3df..448947364e 100644
--- a/web/modules/custom/solution/src/Form/ChangeCollectionForm.php
+++ b/web/modules/custom/solution/src/Form/ChangeCollectionForm.php
@@ -41,7 +41,7 @@ class ChangeCollectionForm extends FormBase {
   protected $selectionPluginManager;
 
   /**
-   * The Interoperable Europe Portal logger channel.
+   * The Joinup logger channel.
    *
    * @var \Drupal\Core\Logger\LoggerChannelInterface
    */
diff --git a/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php b/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php
index ba5c4582d4..c075e4b982 100644
--- a/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php
+++ b/web/modules/custom/solution/src/Form/ChangeSolutionStateForm.php
@@ -153,12 +153,12 @@ public function submitForm(array &$form, FormStateInterface $form_state): void {
         )
       );
 
-      // In Interoperable Europe Portal, Search API indexes are updated
-      // "immediately". Actually, this means that when an indexed entity is
-      // changed (or an entity is added) in a PHP thread, re-indexing is
-      // triggered by \Drupal\search_api\Utility\PostRequestIndexing after
-      // the response is sent to the client. This means that there will be
-      // two concurrent PHP threads:
+      // In Joinup, Search API indexes are updated "immediately". Actually, this
+      // means that when an indexed entity is changed (or an entity is added) in
+      // a PHP thread, re-indexing is triggered by
+      // \Drupal\search_api\Utility\PostRequestIndexing after the response is
+      // sent to the client. This means that there will be two concurrent PHP
+      // threads:
       // - The initial thread, which is performing the re-indexing of the
       //   changed entities.
       // - The second thread, which starts to render the (VBO) form what the
diff --git a/web/modules/custom/template_suggestion/template_suggestion.info.yml b/web/modules/custom/template_suggestion/template_suggestion.info.yml
index a36a59698f..8a84a0d94b 100644
--- a/web/modules/custom/template_suggestion/template_suggestion.info.yml
+++ b/web/modules/custom/template_suggestion/template_suggestion.info.yml
@@ -1,5 +1,5 @@
 name: 'Template suggestion'
 description: 'Allows fields to declare custom template suggestions in third party settings.'
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/topic/src/Entity/TopicInterface.php b/web/modules/custom/topic/src/Entity/TopicInterface.php
index 5bbb8f2f3b..fd3383744f 100644
--- a/web/modules/custom/topic/src/Entity/TopicInterface.php
+++ b/web/modules/custom/topic/src/Entity/TopicInterface.php
@@ -8,6 +8,6 @@
 use Drupal\taxonomy\TermInterface;
 
 /**
- * Interface for topic entities in Interoperable Europe Portal.
+ * Interface for topic entities in Joinup.
  */
 interface TopicInterface extends TermInterface, RdfSyncEntityInterface {}
diff --git a/web/modules/custom/topic/src/Entity/TopicMetaEntityInterface.php b/web/modules/custom/topic/src/Entity/TopicMetaEntityInterface.php
index d1c262be4a..794bf4b98a 100644
--- a/web/modules/custom/topic/src/Entity/TopicMetaEntityInterface.php
+++ b/web/modules/custom/topic/src/Entity/TopicMetaEntityInterface.php
@@ -7,7 +7,7 @@
 use Drupal\meta_entity\Entity\MetaEntityInterface;
 
 /**
- * Interface for meta entity topic in Interoperable Europe Portal.
+ * Interface for meta entity topic in Joinup.
  */
 interface TopicMetaEntityInterface extends MetaEntityInterface {
 }
diff --git a/web/modules/custom/topic/src/EventSubscriber/QueryPresetSubscriber.php b/web/modules/custom/topic/src/EventSubscriber/QueryPresetSubscriber.php
index c1953b6dff..3cef2534f0 100644
--- a/web/modules/custom/topic/src/EventSubscriber/QueryPresetSubscriber.php
+++ b/web/modules/custom/topic/src/EventSubscriber/QueryPresetSubscriber.php
@@ -10,7 +10,7 @@
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 
 /**
- * Interoperable Europe Portal Topic event subscriber.
+ * Joinup Topic event subscriber.
  */
 class QueryPresetSubscriber implements EventSubscriberInterface {
 
diff --git a/web/modules/custom/topic/topic.info.yml b/web/modules/custom/topic/topic.info.yml
index 34b9f8dae4..25fb7bdd24 100644
--- a/web/modules/custom/topic/topic.info.yml
+++ b/web/modules/custom/topic/topic.info.yml
@@ -1,7 +1,7 @@
-name: Interoperable Europe Portal Topic
+name: Joinup Topic
 type: module
 description: Contains custom code related to the Topic vocabulary.
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 dependencies:
   - joinup:joinup_taxonomy
diff --git a/web/modules/custom/topic/topic.views.inc b/web/modules/custom/topic/topic.views.inc
index b351e378a1..4c1f1817c6 100644
--- a/web/modules/custom/topic/topic.views.inc
+++ b/web/modules/custom/topic/topic.views.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Views support for Interoperable Europe Portal Topic module.
+ * Views support for Joinup Topic module.
  */
 
 declare(strict_types=1);
diff --git a/web/modules/custom/whats_new/whats_new.info.yml b/web/modules/custom/whats_new/whats_new.info.yml
index 1d7a05a9c0..f65d88a4d2 100644
--- a/web/modules/custom/whats_new/whats_new.info.yml
+++ b/web/modules/custom/whats_new/whats_new.info.yml
@@ -1,7 +1,7 @@
 name: Whats new
 description: Provides a way to feature a menu item and remember users that visited the entity linked.
 type: module
-package: Interoperable Europe Portal
+package: Joinup
 core_version_requirement: ">= 9.4"
 
 dependencies:
diff --git a/web/modules/custom/whats_new/whats_new.module b/web/modules/custom/whats_new/whats_new.module
index 1d0e65a552..3e06baf4cc 100644
--- a/web/modules/custom/whats_new/whats_new.module
+++ b/web/modules/custom/whats_new/whats_new.module
@@ -24,7 +24,7 @@ function whats_new_entity_prepare_view(string $entity_type_id, array $entities,
     return;
   }
 
-  // The only case in Interoperable Europe Portal that the entity is presented in full view is the
+  // The only case in Joinup that the entity is presented in full view is the
   // entity's canonical page.
   /** @var \Drupal\Core\Entity\EntityInterface $entity */
   $entity = reset($entities);
diff --git a/web/profiles/joinup/joinup.info.yml b/web/profiles/joinup/joinup.info.yml
index 17400e3b5d..bd9296bb66 100644
--- a/web/profiles/joinup/joinup.info.yml
+++ b/web/profiles/joinup/joinup.info.yml
@@ -1,10 +1,10 @@
-name: Interoperable Europe Portal
+name: Joinup
 type: profile
-description: 'Interoperable Europe Portal is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other.'
+description: 'Joinup is a collaborative platform created by the European Commission and funded by the European Union via the Interoperability Solutions for European Public Administrations (ISA) Programme. It offers several services that aim to help e-Government professionals share their experience with each other.'
 core_version_requirement: ">= 9.4"
 
 distribution:
-  name: Interoperable Europe Portal
+  name: Joinup
 themes:
   - ventuno
   - iop
diff --git a/web/profiles/joinup/joinup.profile b/web/profiles/joinup/joinup.profile
index b1c09fa1a7..723dd76a22 100644
--- a/web/profiles/joinup/joinup.profile
+++ b/web/profiles/joinup/joinup.profile
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Enables modules and site configuration for the Interoperable Europe Portal profile.
+ * Enables modules and site configuration for the Joinup profile.
  */
 
 declare(strict_types=1);
diff --git a/web/profiles/joinup/joinup.routing.yml b/web/profiles/joinup/joinup.routing.yml
index 747feefe26..d8d055d510 100644
--- a/web/profiles/joinup/joinup.routing.yml
+++ b/web/profiles/joinup/joinup.routing.yml
@@ -1,6 +1,6 @@
-# The route definition of the Collection propose form is located in the Interoperable Europe Portal
+# The route definition of the Collection propose form is located in the Joinup
 # profile rather than in the Collection module to avoid a circular dependency.
-# This route depends on the JoinupController, but Interoperable Europe Portal already depends on the
+# This route depends on the JoinupController, but Joinup already depends on the
 # Collection module.
 rdf_entity.propose_form:
   path: '/propose/{rdf_type}'
diff --git a/web/profiles/joinup/src/Controller/JoinupController.php b/web/profiles/joinup/src/Controller/JoinupController.php
index bc45d030df..4e8e8320a7 100644
--- a/web/profiles/joinup/src/Controller/JoinupController.php
+++ b/web/profiles/joinup/src/Controller/JoinupController.php
@@ -10,7 +10,7 @@
 use Drupal\rdf_entity\RdfEntityTypeInterface;
 
 /**
- * Provides route responses for Interoperable Europe Portal.
+ * Provides route responses for Joinup.
  */
 class JoinupController extends ControllerBase {
 
diff --git a/web/profiles/joinup/src/JoinupPermissions.php b/web/profiles/joinup/src/JoinupPermissions.php
index 62fc2b91e5..f2afb318fa 100644
--- a/web/profiles/joinup/src/JoinupPermissions.php
+++ b/web/profiles/joinup/src/JoinupPermissions.php
@@ -8,7 +8,7 @@
 use Drupal\rdf_entity\Entity\RdfEntityType;
 
 /**
- * Provides dynamic permissions for the Interoperable Europe Portal installation profile.
+ * Provides dynamic permissions for the Joinup installation profile.
  */
 class JoinupPermissions {
 
@@ -17,9 +17,8 @@ class JoinupPermissions {
   /**
    * Returns an array of permissions related to Rdf types.
    *
-   * The Interoperable Europe Portal profile alters a new form display mode
-   * into the Rdf entity type, and this provides permissions to use those
-   * forms for each type.
+   * The Joinup profile alters a new form display mode into the Rdf entity type,
+   * and this provides permissions to use those forms for each type.
    *
    * @return array
    *   The permissions.
diff --git a/web/profiles/joinup/src/Routing/RouteSubscriber.php b/web/profiles/joinup/src/Routing/RouteSubscriber.php
index 1b6d7a318a..2e163ece28 100644
--- a/web/profiles/joinup/src/Routing/RouteSubscriber.php
+++ b/web/profiles/joinup/src/Routing/RouteSubscriber.php
@@ -8,7 +8,7 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Alters existing routes for Interoperable Europe Portal specific use cases.
+ * Alters existing routes for Joinup specific use cases.
  */
 class RouteSubscriber extends RouteSubscriberBase {
 
@@ -16,7 +16,7 @@ class RouteSubscriber extends RouteSubscriberBase {
    * {@inheritdoc}
    */
   protected function alterRoutes(RouteCollection $collection) {
-    // Since all content in Interoperable Europe Portal is related to a collection we use custom
+    // Since all content in Joinup is related to a collection we use custom
     // forms that allow people to add content inside a collection. The standard
     // node / RDF entity forms should not be used for creating new content - the
     // group audience fields are hidden and dangling content would be created
diff --git a/web/profiles/joinup/templates/joinup-modal-close-button.html.twig b/web/profiles/joinup/templates/joinup-modal-close-button.html.twig
index 2eb734c188..dd9ac654d6 100644
--- a/web/profiles/joinup/templates/joinup-modal-close-button.html.twig
+++ b/web/profiles/joinup/templates/joinup-modal-close-button.html.twig
@@ -1,7 +1,7 @@
 {#
 /**
  * @file
- * The Interoperable Europe Portal Modal Close Buttonâ„¢.
+ * The Joinup Modal Close Buttonâ„¢.
  */
 #}
 {%
diff --git a/web/themes/ventuno/README.md b/web/themes/ventuno/README.md
index 4bb0ff1a21..745fe4a83f 100755
--- a/web/themes/ventuno/README.md
+++ b/web/themes/ventuno/README.md
@@ -1,6 +1,6 @@
-# Ventuno for Interoperable Europe Portal theme
+# Ventuno for Joinup theme
 
-Custom theme for Interoperable Europe Portal. Built on the [OpenEuropa Bootstrap
+Custom theme for Joinup. Built on the [OpenEuropa Bootstrap
 theme](https://github.com/openeuropa/oe_bootstrap_theme).
 
 The recommended development workflow is to use Docker. See the main README file
@@ -28,7 +28,7 @@ you will need to install the following dependencies:
 
 The code is publicly available at
 [https://git.fpfis.tech.ec.europa.eu/ec-europa/digit-joinup-reference](https://git.fpfis.tech.ec.europa.eu/ec-europa/digit-joinup-reference)
-as part of the Interoperable Europe Portal project. The development is coordinated in a private Jira
+as part of the Joinup project. The development is coordinated in a private Jira
 instance: [https://citnet.tech.ec.europa.eu/CITnet/jira/projects/ISAICP](https://citnet.tech.ec.europa.eu/CITnet/jira/projects/ISAICP).
 
 When frontend development is requested, in most cases this will be preceded by a
@@ -36,7 +36,7 @@ backend ticket that will be developed first. After the backend work is reviewed
 and approved in user acceptance testing a separate frontend sister ticket is
 created. Since the backend and frontend will need to be delivered to production
 simultaneously, the frontend ticket will be forked off the branch that contains
-the backend functionality. In Interoperable Europe Portal parlance the combination of both tickets is
+the backend functionality. In Joinup parlance the combination of both tickets is
 called a "mini-epic". Once the FE ticket is reviewed and accepted, both will be
 merged into the `develop` branch to be included in the next release.
 
@@ -102,7 +102,7 @@ directory.
 
 ## Notes
 
-This guide should be expanded with more practices used by the Interoperable Europe Portal project.
+This guide should be expanded with more practices used by the Joinup project.
 Things possibly missing:
 * Better way to be able to view BCL components and understand how to interact
 with them.
diff --git a/web/themes/ventuno/includes/layout.inc b/web/themes/ventuno/includes/layout.inc
index 60443ed302..a9315f3ab5 100644
--- a/web/themes/ventuno/includes/layout.inc
+++ b/web/themes/ventuno/includes/layout.inc
@@ -16,8 +16,7 @@
  * Implements hook_preprocess_page().
  */
 function ventuno_preprocess_page(array &$variables): void {
-  // Retrieve the Interoperable Europe Portal version and link to display
-  // in the footer.
+  // Retrieve the Joinup version and link to display in the footer.
   // @todo Move this into a block.
   /** @var \Drupal\joinup_core\JoinupVersionInterface $joinup_version */
   $joinup_version = \Drupal::service('joinup_core.joinup_version');
@@ -47,8 +46,7 @@ function ventuno_preprocess_page(array &$variables): void {
   // Populate the links shown to anonymous users.
   $variables['anonymous_links'] = $menu_helper->getBclAnonymousMenu();
 
-  // The "About us" link is only shown if the Interoperable Europe Portal
-  // collection exists.
+  // The "About us" link is only shown if the Joinup collection exists.
   $variables['#cache']['tags'][] = 'joinup_collection:exists';
   // Moderator can change navbar links.
   $variables['#cache']['tags'][] = 'config:system.menu.navbar';
diff --git a/web/themes/ventuno/includes/licence_assistant.inc b/web/themes/ventuno/includes/licence_assistant.inc
index 1dec98dc5a..81ea6fa94f 100644
--- a/web/themes/ventuno/includes/licence_assistant.inc
+++ b/web/themes/ventuno/includes/licence_assistant.inc
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Interoperable Europe Portal Licencing Assistant specific procedural functions.
+ * Joinup Licencing Assistant specific procedural functions.
  */
 
 declare(strict_types=1);
@@ -19,8 +19,8 @@ function ventuno_preprocess_licence_filter_list(array &$variables): void {
  * Implements hook_preprocess_HOOK().
  *
  * Provides variables needed for the compatibility_check view mode of licences.
- * This is used on the Interoperable Europe Portal Licence Assistant
- * Compatibility Check overview page.
+ * This is used on the Joinup Licence Assistant Compatibility Check overview
+ * page.
  */
 function ventuno_preprocess_node__licence__compatibility_check(array &$variables): void {
   ventuno_preprocess_node__licence__jla($variables);
@@ -49,8 +49,7 @@ function ventuno_preprocess_node__licence__jla(array &$variables): void {
  * Implements hook_preprocess_HOOK().
  *
  * Provides variables needed for the search_list_item view mode of licences.
- * This is used on the Interoperable Europe Portal Licence Assistant
- * overview page.
+ * This is used on the Joinup Licence Assistant overview page.
  */
 function ventuno_preprocess_node__licence__view_mode_search_list_item(array &$variables): void {
   ventuno_preprocess_node__licence__jla($variables);
diff --git a/web/themes/ventuno/includes/rdf_entity.inc b/web/themes/ventuno/includes/rdf_entity.inc
index 5e3ea93a45..bea03386c8 100644
--- a/web/themes/ventuno/includes/rdf_entity.inc
+++ b/web/themes/ventuno/includes/rdf_entity.inc
@@ -77,8 +77,7 @@ function ventuno_preprocess_rdf_entity__solution__view_mode_search_list_item(arr
   }
 
   // Provides variables needed for the search_list_item view mode of licences.
-  // This is used on the Interoperable Europe Portal Licence Assistant
-  // overview page.
+  // This is used on the Joinup Licence Assistant overview page.
   $data_property_categories = [];
 
   $parent_id = 'solution-category';
diff --git a/web/themes/ventuno/src/scss/partials/overrides/_colors.scss b/web/themes/ventuno/src/scss/partials/overrides/_colors.scss
index 050164f354..24dfc6bf1a 100644
--- a/web/themes/ventuno/src/scss/partials/overrides/_colors.scss
+++ b/web/themes/ventuno/src/scss/partials/overrides/_colors.scss
@@ -37,7 +37,7 @@ $gray-700: #555859;
 $gray-800: #3d3f40;
 $gray-900: #242626;
 
-// Interoperable Europe Portal colors
+// Joinup colors
 $joinup-green: #067f77;
 $joinup-brown: #7f7366;
 $joinup-red: #cd4747;
diff --git a/web/themes/ventuno/templates/layout/page--home.html.twig b/web/themes/ventuno/templates/layout/page--home.html.twig
index b64f941ee1..2228935321 100644
--- a/web/themes/ventuno/templates/layout/page--home.html.twig
+++ b/web/themes/ventuno/templates/layout/page--home.html.twig
@@ -14,7 +14,7 @@
  * Once we have a way to leverage layouts in dedicated regions (such as support
  * in core or when the Layout Builder Everywhere module is stabilized) we can
  * replace this overridden template with the Layout Builder + the
- * `twocolfooter-onecol-67-33` layout from the Interoperable Europe Portal Layout module.
+ * `twocolfooter-onecol-67-33` layout from the Joinup Layout module.
  *
  * @see https://www.drupal.org/project/drupal/issues/2924058
  * @see https://www.drupal.org/project/lb_everywhere
diff --git a/web/themes/ventuno/templates/layout/page--search.html.twig b/web/themes/ventuno/templates/layout/page--search.html.twig
index 075328caf8..80e4f4b4d0 100644
--- a/web/themes/ventuno/templates/layout/page--search.html.twig
+++ b/web/themes/ventuno/templates/layout/page--search.html.twig
@@ -14,7 +14,7 @@
  * Once we have a way to leverage layouts in dedicated regions (such as support
  * in core or when the Layout Builder Everywhere module is stabilized) we can
  * replace this overridden template with the Layout Builder + the
- * `twocolfooter-onecol-67-33` layout from the Interoperable Europe Portal Layout module.
+ * `twocolfooter-onecol-67-33` layout from the Joinup Layout module.
  *
  * @see https://www.drupal.org/project/drupal/issues/2924058
  * @see https://www.drupal.org/project/lb_everywhere
diff --git a/web/themes/ventuno/ventuno.info.yml b/web/themes/ventuno/ventuno.info.yml
index 2bfbdefb5f..6933ee1a2b 100644
--- a/web/themes/ventuno/ventuno.info.yml
+++ b/web/themes/ventuno/ventuno.info.yml
@@ -1,5 +1,5 @@
 name: Ventuno
-description: Custom theme for Interoperable Europe Portal, sub-theme of OpenEuropa Bootstrap Theme.
+description: Custom theme for Joinup, sub-theme of OpenEuropa Bootstrap Theme.
 package: Custom
 type: theme
 core_version_requirement: '>=9.3'
-- 
GitLab


From 5780775f55e52e734de6f94e493fd56441dd3aca Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Tue, 29 Oct 2024 12:03:03 +0000
Subject: [PATCH 16/33] ISAICP-8856: Use contact Portal Support.

---
 config/sync/email_confirmer.settings.yml      |  2 +-
 ...message.template.cc_transition_propose.yml |  2 +-
 ...emplate.cc_transition_propose_reported.yml |  2 +-
 .../message.template.cc_transition_report.yml |  2 +-
 ...template.cc_transition_request_changes.yml |  2 +-
 ...emplate.cc_transition_request_deletion.yml |  2 +-
 .../message.template.col_propose_edit_own.yml |  2 +-
 .../sync/message.template.col_propose_new.yml |  2 +-
 .../message.template.col_req_arch_del.yml     |  2 +-
 .../sync/message.template.comment_create.yml  |  2 +-
 .../sync/message.template.comment_update.yml  |  2 +-
 ...message.template.og_membership_request.yml |  2 +-
 ...plate.og_membership_subscribed_approve.yml |  2 +-
 ...ssage.template.release_request_changes.yml |  2 +-
 .../message.template.sol_propose_changes.yml  |  2 +-
 .../sync/message.template.sol_propose_new.yml |  2 +-
 ...template.sol_propose_requested_changes.yml |  2 +-
 .../message.template.sol_request_changes.yml  |  2 +-
 ...sage.template.solution_content_archive.yml |  2 +-
 .../collection.member_administration.feature  |  6 ++---
 .../notification.collection.feature           |  6 ++---
 tests/features/comments/add_comment.feature   | 20 ++++++++--------
 tests/features/comments/edit_comment.feature  |  2 +-
 .../notification.post_moderated.news.feature  |  4 ++--
 .../notification.pre_moderated.news.feature   | 14 +++++------
 .../contact_form/submit_contact_form.feature  |  4 ++--
 tests/features/footer.feature                 | 10 ++++----
 .../joinup_release/release.moderation.feature |  2 +-
 tests/features/machine_translation.feature    |  2 +-
 tests/features/menus/support_menu.feature     | 24 +++++++++----------
 .../moderator/message_overview.feature        |  4 ++--
 tests/features/solution/add_solution.feature  |  2 +-
 .../solution/manage_solutions.archive.feature |  4 ++--
 .../solution/solution.notifications.feature   |  6 ++---
 .../joinup_core/joinup_core.links.menu.yml    |  2 +-
 35 files changed, 75 insertions(+), 75 deletions(-)

diff --git a/config/sync/email_confirmer.settings.yml b/config/sync/email_confirmer.settings.yml
index aed7543de6..975a42d633 100644
--- a/config/sync/email_confirmer.settings.yml
+++ b/config/sync/email_confirmer.settings.yml
@@ -7,7 +7,7 @@ resendrequest_delay: 3600
 confirmation_lifetime: 0
 confirmation_request:
   subject: '[site:name] - Please validate your contact details'
-  body: '<p>Dear Interoperable Europe Portal user,</p><p>As owner/facilitator, we’re improving your privacy by replacing the publicly visible contact email information with a contact form that users/members can use to reach you.</p><p>Please confirm your email address <strong>[email-confirmer:confirmation-mail]</strong>, which is set in your contact information for the following:</p>[email-confirmer:confirmation-entities]<p><strong><a href="[email-confirmer:confirmation-url]">Confirm your e-mail address</a></strong><p><p>If the link doesn''t work, just copy this URL to your browser:</p><p>[email-confirmer:confirmation-url]</p><p>If you do not validate your email within the next 5 days, you will not be able to receive any messages from users/members.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="https://interoperable-europe.ec.europa.eu/contact" taget="_blank">https://interoperable-europe.ec.europa.eu/contact</a>.</p><p>Best regards,<br />The Interoperable Europe Portal Team</p>'
+  body: '<p>Dear Interoperable Europe Portal user,</p><p>As owner/facilitator, we’re improving your privacy by replacing the publicly visible contact email information with a contact form that users/members can use to reach you.</p><p>Please confirm your email address <strong>[email-confirmer:confirmation-mail]</strong>, which is set in your contact information for the following:</p>[email-confirmer:confirmation-entities]<p><strong><a href="[email-confirmer:confirmation-url]">Confirm your e-mail address</a></strong><p><p>If the link doesn''t work, just copy this URL to your browser:</p><p>[email-confirmer:confirmation-url]</p><p>If you do not validate your email within the next 5 days, you will not be able to receive any messages from users/members.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="https://interoperable-europe.ec.europa.eu/contact" taget="_blank">https://interoperable-europe.ec.europa.eu/contact</a>.</p><p>Best regards,<br />The Interoperable Europe Portal Team</p>'
 confirmation_response:
   skip_confirmation_form: false
   questions:
diff --git a/config/sync/message.template.cc_transition_propose.yml b/config/sync/message.template.cc_transition_propose.yml
index 4fe467af68..3a0425ae95 100644
--- a/config/sync/message.template.cc_transition_propose.yml
+++ b/config/sync/message.template.cc_transition_propose.yml
@@ -14,7 +14,7 @@ text:
     value: '<p>Interoperable Europe Portal: Content has been proposed</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name has submitted @entity:hasPublished:status @entity:bundle - "@entity:title" for publication in the @group:bundle: "@group:title".</p><p>You can access the proposed new content at the following link: <a href="@entity:url">@entity:url</a>.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has submitted @entity:hasPublished:status @entity:bundle - "@entity:title" for publication in the @group:bundle: "@group:title".</p><p>You can access the proposed new content at the following link: <a href="@entity:url">@entity:url</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.cc_transition_propose_reported.yml b/config/sync/message.template.cc_transition_propose_reported.yml
index a6bfa6720b..071d35eeb7 100644
--- a/config/sync/message.template.cc_transition_propose_reported.yml
+++ b/config/sync/message.template.cc_transition_propose_reported.yml
@@ -14,7 +14,7 @@ text:
     value: '<p>Interoperable Europe Portal: Content has been updated</p>'
     format: full_html
   -
-    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has updated the content of the @entity:bundle - "@entity:title" as advised and requests again its publication in the @group:bundle: "@group:title".</p><p>You can access the proposed new content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has updated the content of the @entity:bundle - "@entity:title" as advised and requests again its publication in the @group:bundle: "@group:title".</p><p>You can access the proposed new content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.cc_transition_report.yml b/config/sync/message.template.cc_transition_report.yml
index acf884a671..b08e18a57d 100644
--- a/config/sync/message.template.cc_transition_report.yml
+++ b/config/sync/message.template.cc_transition_report.yml
@@ -14,7 +14,7 @@ text:
     value: '<p>Interoperable Europe Portal: Content has been updated</p>'
     format: full_html
   -
-    value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has requested you to modify the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", following the following advises: "@transition:motivation".</p><p>Your content has been moved back to "Needs update" state; you may modify it and request it to be published again.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has requested you to modify the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", following the following advises: "@transition:motivation".</p><p>Your content has been moved back to "Needs update" state; you may modify it and request it to be published again.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.cc_transition_request_changes.yml b/config/sync/message.template.cc_transition_request_changes.yml
index 8ae777c5b3..59cb51b558 100644
--- a/config/sync/message.template.cc_transition_request_changes.yml
+++ b/config/sync/message.template.cc_transition_request_changes.yml
@@ -14,7 +14,7 @@ text:
     value: '<p>Interoperable Europe Portal: Content has been updated</p>'
     format: full_html
   -
-    value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has requested you to modify the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".</p><p>Your content has been moved back to "Proposed" state; you may modify it and request it to be published again.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>the @actor:role, @actor:field_user_first_name @actor:field_user_family_name has requested you to modify the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".</p><p>Your content has been moved back to "Proposed" state; you may modify it and request it to be published again.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.cc_transition_request_deletion.yml b/config/sync/message.template.cc_transition_request_deletion.yml
index b4407c89c0..becbcaf2ef 100644
--- a/config/sync/message.template.cc_transition_request_deletion.yml
+++ b/config/sync/message.template.cc_transition_request_deletion.yml
@@ -14,7 +14,7 @@ text:
     value: '<p>Interoperable Europe Portal: Content has been updated</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name has requested to delete the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has requested to delete the @entity:bundle - "@entity:title" in the @group:bundle: "@group:title", with the following motivation: "@transition:motivation".</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.col_propose_edit_own.yml b/config/sync/message.template.col_propose_edit_own.yml
index 70df9e926b..8fcafbe232 100644
--- a/config/sync/message.template.col_propose_edit_own.yml
+++ b/config/sync/message.template.col_propose_edit_own.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>User @actor:field_user_first_name proposed to edit @entity:bundle @entity:title</p>'
     format: full_html
   -
-    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has proposed to edit @entity:bundle "@entity:title".</p><p>To modify your @entity:bundle, please go to <a href="@entity:url">@entity:url</a>.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has proposed to edit @entity:bundle "@entity:title".</p><p>To modify your @entity:bundle, please go to <a href="@entity:url">@entity:url</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.col_propose_new.yml b/config/sync/message.template.col_propose_new.yml
index 88b34a82e4..f2dc0b0244 100644
--- a/config/sync/message.template.col_propose_new.yml
+++ b/config/sync/message.template.col_propose_new.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>User @actor:field_user_first_name proposed @entity:bundle @entity:title</p>'
     format: full_html
   -
-    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has proposed @entity:bundle "@entity:title".</p><p>To approve or reject this proposal, please go to <a href="@entity:url">@entity:url</a>. You''ll be able to provide feedback.</p><p>The requestor will be notified of your decision and feedback.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has proposed @entity:bundle "@entity:title".</p><p>To approve or reject this proposal, please go to <a href="@entity:url">@entity:url</a>. You''ll be able to provide feedback.</p><p>The requestor will be notified of your decision and feedback.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.col_req_arch_del.yml b/config/sync/message.template.col_req_arch_del.yml
index fd35b09f6b..7c78cb0a1a 100644
--- a/config/sync/message.template.col_req_arch_del.yml
+++ b/config/sync/message.template.col_req_arch_del.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>User @actor:field_user_first_name requested to @transition:request_action @entity:bundle @entity:title</p>'
     format: full_html
   -
-    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has requested to @transition:request_action the @entity:bundle "@entity:title".</p><p>To approve or reject this request, please go to <a href="@entity:url">@entity:url</a>. You will be prompted to provide feedback in case of rejection.</p><p>The requestor will be notified of your decision and feedback.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:field_user_first_name @actor:field_user_family_name has requested to @transition:request_action the @entity:bundle "@entity:title".</p><p>To approve or reject this request, please go to <a href="@entity:url">@entity:url</a>. You will be prompted to provide feedback in case of rejection.</p><p>The requestor will be notified of your decision and feedback.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.comment_create.yml b/config/sync/message.template.comment_create.yml
index c11099eeef..d162aecf5a 100644
--- a/config/sync/message.template.comment_create.yml
+++ b/config/sync/message.template.comment_create.yml
@@ -14,7 +14,7 @@ text:
     value: '<p>Interoperable Europe Portal: A new comment has been created.</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name posted a comment in @group:bundle "@group:title".</p><p>To view the comment click <a href="@entity:url">here</a>.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name posted a comment in @group:bundle "@group:title".</p><p>To view the comment click <a href="@entity:url">here</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.comment_update.yml b/config/sync/message.template.comment_update.yml
index 7349b97619..1a283245fe 100644
--- a/config/sync/message.template.comment_update.yml
+++ b/config/sync/message.template.comment_update.yml
@@ -14,7 +14,7 @@ text:
     value: '<p>Interoperable Europe Portal: A comment has been updated.</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name updated the comment in "<a href="@entity:url">@parent:title</a>".</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name updated the comment in "<a href="@entity:url">@parent:title</a>".</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.og_membership_request.yml b/config/sync/message.template.og_membership_request.yml
index ecefdaea66..32c0fbb526 100644
--- a/config/sync/message.template.og_membership_request.yml
+++ b/config/sync/message.template.og_membership_request.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>Interoperable Europe Portal: A user has requested to join your collection</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name has requested to join your @entity:bundle "@entity:title" as a member.</p><p>To approve or reject this request, click on <a href="@group:members_page:url">@group:members_page:url</a>.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has requested to join your @entity:bundle "@entity:title" as a member.</p><p>To approve or reject this request, click on <a href="@group:members_page:url">@group:members_page:url</a>.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.og_membership_subscribed_approve.yml b/config/sync/message.template.og_membership_subscribed_approve.yml
index 5d37670ad4..15df504cc6 100644
--- a/config/sync/message.template.og_membership_subscribed_approve.yml
+++ b/config/sync/message.template.og_membership_subscribed_approve.yml
@@ -12,7 +12,7 @@ text:
     value: '<p>Interoperable Europe Portal: Your request to join the @entity:bundle @entity:title was approved</p>'
     format: full_html
   -
-    value: '<p>@actor:full_name has approved your request to join and subscribe to the "@entity:title" @entity:bundle.</p><p>You will receive weekly notifications for newly created content on this collection.<br /> To manage your notifications go to "<a href="@user:my_subscriptions">My subscriptions</a>" in the user menu.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has approved your request to join and subscribe to the "@entity:title" @entity:bundle.</p><p>You will receive weekly notifications for newly created content on this collection.<br /> To manage your notifications go to "<a href="@user:my_subscriptions">My subscriptions</a>" in the user menu.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.release_request_changes.yml b/config/sync/message.template.release_request_changes.yml
index fdfd72178f..2d6a1841d0 100644
--- a/config/sync/message.template.release_request_changes.yml
+++ b/config/sync/message.template.release_request_changes.yml
@@ -14,7 +14,7 @@ text:
     value: 'Interoperable Europe Portal: Modification of a release of your solution has been requested'
     format: full_html
   -
-    value: '<p>the Interoperable Europe Portal moderation team requires editing the release @entity:title, @entity:release_number of the solution @group:title due to @transition:motivation.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>the Interoperable Europe Portal moderation team requires editing the release @entity:title, @entity:release_number of the solution @group:title due to @transition:motivation.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_propose_changes.yml b/config/sync/message.template.sol_propose_changes.yml
index fccf24b5cd..ed7e768d93 100644
--- a/config/sync/message.template.sol_propose_changes.yml
+++ b/config/sync/message.template.sol_propose_changes.yml
@@ -14,7 +14,7 @@ text:
     value: 'Interoperable Europe Portal: Changes have been proposed for your solution'
     format: full_html
   -
-    value: '<p>@actor:full_name has requested you to modify the interoperability solution "@entity:title", with the following motivation: @transition:motivation.</p><p>Your content has been moved back in proposed state and you can update it and request a new publication.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has requested you to modify the interoperability solution "@entity:title", with the following motivation: @transition:motivation.</p><p>Your content has been moved back in proposed state and you can update it and request a new publication.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_propose_new.yml b/config/sync/message.template.sol_propose_new.yml
index d9fa43379d..de9e605dea 100644
--- a/config/sync/message.template.sol_propose_new.yml
+++ b/config/sync/message.template.sol_propose_new.yml
@@ -14,7 +14,7 @@ text:
     value: 'Interoperable Europe Portal: A new solution has been proposed'
     format: full_html
   -
-    value: '<p>@actor:full_name has proposed a new Interoperability solution: "@entity:title" on Interoperable Europe Portal.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has proposed a new Interoperability solution: "@entity:title" on Interoperable Europe Portal.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_propose_requested_changes.yml b/config/sync/message.template.sol_propose_requested_changes.yml
index 2bfd57740f..e509fd4254 100644
--- a/config/sync/message.template.sol_propose_requested_changes.yml
+++ b/config/sync/message.template.sol_propose_requested_changes.yml
@@ -14,7 +14,7 @@ text:
     value: 'Interoperable Europe Portal: An update of a solution has been proposed'
     format: full_html
   -
-    value: '<p>@actor:full_name has proposed an update of the Interoperability solution: "@entity:title" on Interoperable Europe Portal.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>@actor:full_name has proposed an update of the Interoperability solution: "@entity:title" on Interoperable Europe Portal.</p><p>The publication of this content requires your validation.</p><p>You can access the new content at the following link: <a href="@entity:url">@entity:url</a> where you can validate or reject the new content.</p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.sol_request_changes.yml b/config/sync/message.template.sol_request_changes.yml
index 62c76cbbc1..e860e84bd4 100644
--- a/config/sync/message.template.sol_request_changes.yml
+++ b/config/sync/message.template.sol_request_changes.yml
@@ -14,7 +14,7 @@ text:
     value: 'Interoperable Europe Portal: You are requested to update your solution'
     format: full_html
   -
-    value: '<p>the moderator has requested you to modify the interoperability solution - @entity:title following the following advises: @transition:motivation.</p><p>Your content has been moved back in needs updates state and you can update it and request a new publication.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
+    value: '<p>the moderator has requested you to modify the interoperability solution - @entity:title following the following advises: @transition:motivation.</p><p>Your content has been moved back in needs updates state and you can update it and request a new publication.</p><p>You can access your content at the following link: <a href="@entity:url">@entity:url</a></p><p>If you think this action is not clear or not due, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a>.</p>'
     format: full_html
 settings:
   'token options':
diff --git a/config/sync/message.template.solution_content_archive.yml b/config/sync/message.template.solution_content_archive.yml
index 04765f75fa..947151b420 100644
--- a/config/sync/message.template.solution_content_archive.yml
+++ b/config/sync/message.template.solution_content_archive.yml
@@ -15,7 +15,7 @@ text:
     value: |-
       <p>The <em>@entity:title</em>, along with its associated content items, has been archived. Even though the Solution has been archived, you can still access its pages through the Advanced Search page by selecting 'Show only Archived items' or through the Collection it belonged to.</p>
 
-      <p>If you think this action is not clear, please contact Interoperable Europe Portal Support at <a href="@site:contact_url">@site:contact_url</a></p>
+      <p>If you think this action is not clear, please contact Portal Support at <a href="@site:contact_url">@site:contact_url</a></p>
     format: full_html
 settings:
   'token options':
diff --git a/tests/features/collection/collection.member_administration.feature b/tests/features/collection/collection.member_administration.feature
index 43686b5851..4f5514c835 100644
--- a/tests/features/collection/collection.member_administration.feature
+++ b/tests/features/collection/collection.member_administration.feature
@@ -46,7 +46,7 @@ Feature: Collection membership administration
     And the email sent to "Lisa Cuddy" with subject "Interoperable Europe Portal: A user has requested to join your collection" contains the following lines of text:
       | Donald Duck has requested to join your collection "Medical diagnosis" as a member. |
       | To approve or reject this request, click on                                        |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at |
+      | If you think this action is not clear or not due, please contact Portal Support at |
       | /collection/medical-diagnosis/members                                              |
     And the following email should have been sent:
       | recipient | Turkey Ham                                                                         |
@@ -93,7 +93,7 @@ Feature: Collection membership administration
     But the email sent to "Kathie Cumbershot" with subject "Interoperable Europe Portal: Your request to join the collection Medical diagnosis was approved" should not contain the following lines of text:
       | You will receive weekly notifications for newly created content on this collection. |
       | To manage your notifications go to "My subscriptions" in the user menu.             |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at  |
+      | If you think this action is not clear or not due, please contact Portal Support at  |
 
     # Check new privileges.
     When I am logged in as "Kathie Cumbershot"
@@ -128,7 +128,7 @@ Feature: Collection membership administration
       | Lisa Cuddy has approved your request to join and subscribe to the "Medical diagnosis" collection |
       | You will receive weekly notifications for newly created content on this collection.              |
       | To manage your notifications go to "My subscriptions" in the user menu.                          |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at               |
+      | If you think this action is not clear or not due, please contact Portal Support at               |
 
     When I am logged in as "Cam Bridge"
     When I click the "My subscriptions" link from the email sent to "Cam Bridge"
diff --git a/tests/features/collection/notification.collection.feature b/tests/features/collection/notification.collection.feature
index 54e625fe28..dfc36793f9 100644
--- a/tests/features/collection/notification.collection.feature
+++ b/tests/features/collection/notification.collection.feature
@@ -80,7 +80,7 @@ Feature: Notification test for the collection transitions.
     Then the email sent to "NC moderator" with subject "User NC proposed collection NC proposed new" contains the following lines of text:
       | NC User has proposed collection "NC proposed new".                                 |
       | To approve or reject this proposal, please go to                                   |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at |
+      | If you think this action is not clear or not due, please contact Portal Support at |
 
     # Clean up the manually created entities.
     Then I delete the "NC proposed new" collection
@@ -94,7 +94,7 @@ Feature: Notification test for the collection transitions.
     Then the email sent to "NC moderator" with subject "User NC proposed collection NC to propose" contains the following lines of text:
       | NC Owner has proposed collection "NC to propose".                                  |
       | To approve or reject this proposal, please go to                                   |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at |
+      | If you think this action is not clear or not due, please contact Portal Support at |
 
     # Test 'request archival' operation.
     And I go to the homepage of the "NC to request archival" collection
@@ -103,7 +103,7 @@ Feature: Notification test for the collection transitions.
     Then the email sent to "NC moderator" with subject "User NC requested to archive collection NC to request archival" contains the following lines of text:
       | NC Owner has requested to archive the collection "NC to request archival".         |
       | To approve or reject this request, please go to                                    |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at |
+      | If you think this action is not clear or not due, please contact Portal Support at |
 
     # Test deletion of a collection by the owner.
     When I mark all emails as read
diff --git a/tests/features/comments/add_comment.feature b/tests/features/comments/add_comment.feature
index e6799bbd33..160a854115 100644
--- a/tests/features/comments/add_comment.feature
+++ b/tests/features/comments/add_comment.feature
@@ -53,20 +53,20 @@ Feature: Add comments
     And the email sent to "Comment moderator" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     And the email sent to "Layonel Sarok" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     And the email sent to "Korma Salya" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     # Owner receives an email.
     And the email sent to "Salma Coster" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
 
     # Verify the anchored link works properly.
     When I am logged in as "Comment moderator"
@@ -84,7 +84,7 @@ Feature: Add comments
     And the email sent to "Miss tell tales" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Salma Coster posted a comment in <parent> "<parent title>".                             |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     # The owner of the content does not receive a notification due to being the actor.
     And the following email should not have been sent:
       | recipient | Salma Coster                            |
@@ -141,20 +141,20 @@ Feature: Add comments
     And the email sent to "Comment moderator" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     And the email sent to "Layonel Sarok" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     And the email sent to "Korma Salya" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     # Owner receives an email.
     And the email sent to "Salma Coster" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Miss Tales posted a comment in <parent> "<parent title>".                               |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
 
     # Verify the anchored link works properly.
     When I am logged in as "Comment moderator"
@@ -172,7 +172,7 @@ Feature: Add comments
     And the email sent to "Miss tell tales" with subject "Interoperable Europe Portal: A new comment has been created." contains the following lines of text:
       | Salma Coster posted a comment in <parent> "<parent title>".                             |
       | To view the comment click                                                               |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at http |
+      | If you think this action is not clear or not due, please contact Portal Support at http |
     # The owner of the content does not receive a notification due to being the actor.
     And the following email should not have been sent:
       | recipient | Salma Coster                            |
diff --git a/tests/features/comments/edit_comment.feature b/tests/features/comments/edit_comment.feature
index 6fa3c1e8e9..090b29cc9d 100644
--- a/tests/features/comments/edit_comment.feature
+++ b/tests/features/comments/edit_comment.feature
@@ -26,4 +26,4 @@ Feature: Edit a comment
     And I press "Post comment"
     Then the email sent to "Comment edit moderator" with subject "Interoperable Europe Portal: A comment has been updated." contains the following lines of text:
       | Sons Anarchy updated the comment in "Paying with cash".                            |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at |
+      | If you think this action is not clear or not due, please contact Portal Support at |
diff --git a/tests/features/community_content/notification.post_moderated.news.feature b/tests/features/community_content/notification.post_moderated.news.feature
index 69883158a3..b5757e0dea 100644
--- a/tests/features/community_content/notification.post_moderated.news.feature
+++ b/tests/features/community_content/notification.post_moderated.news.feature
@@ -64,7 +64,7 @@ Feature: Notification test for the news transitions on a post moderated parent.
     And I press "Request changes"
     Then the email sent to "CC member" with subject "Interoperable Europe Portal: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN post request changes" in the collection: "CC post collection", with the following motivation: "Can you do some changes?". |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                                                    |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                                    |
 
     When I am logged in as "CC facilitator"
     And I go to the "CCN post report" news
@@ -75,7 +75,7 @@ Feature: Notification test for the news transitions on a post moderated parent.
     And I press "Request changes"
     Then the email sent to "CC member" with subject "Interoperable Europe Portal: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN post report" in the collection: "CC post collection", with the following motivation: "Your content is reported". |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                                           |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                           |
 
     When I am logged in as "CC facilitator"
     And I go to the "CCN post approve proposed" news
diff --git a/tests/features/community_content/notification.pre_moderated.news.feature b/tests/features/community_content/notification.pre_moderated.news.feature
index 1788b17f1d..88ee2a93f7 100644
--- a/tests/features/community_content/notification.pre_moderated.news.feature
+++ b/tests/features/community_content/notification.pre_moderated.news.feature
@@ -49,7 +49,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Propose"
     Then the email sent to "CC owner" with subject "Interoperable Europe Portal: Content has been proposed" contains the following lines of text:
       | CC Member has submitted a new news - "CCN create propose" for publication in the collection: "CC pre collection". |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                |
+      | If you think this action is not clear or not due, please contact Portal Support at                                |
 
     # Regression test for proposing an item with a published version.
     When I am logged in as "CC facilitator"
@@ -68,7 +68,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
       | body      | CC Member has submitted an update of the news - "CCN create propose" for publication in the collection: "CC pre collection". |
     And the email sent to "CC owner" with subject "Interoperable Europe Portal: Content has been proposed" contains the following lines of text:
       | CC Member has submitted an update of the news - "CCN create propose" for publication in the collection: "CC pre collection". |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                           |
+      | If you think this action is not clear or not due, please contact Portal Support at                                           |
 
     When I am logged in as "CC facilitator"
     And I go to the "CC pre collection" collection
@@ -93,14 +93,14 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Propose"
     Then the email sent to "CC owner" with subject "Interoperable Europe Portal: Content has been proposed" contains the following lines of text:
       | CC Member has submitted a new news - "CCN pre propose" for publication in the collection: "CC pre collection". |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                             |
+      | If you think this action is not clear or not due, please contact Portal Support at                             |
 
     When I go to the "CCN pre propose from reported" news
     And I click "Edit" in the "Entity actions" region
     And I press "Propose"
     Then the email sent to "CC owner" with subject "Interoperable Europe Portal: Content has been updated" contains the following lines of text:
       | CC Member has updated the content of the news - "CCN pre propose from reported" as advised and requests again its publication in the collection: "CC pre collection". |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                    |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                    |
 
     When I go to the "CCN pre request deletion" news
     And I click "Edit" in the "Entity actions" region
@@ -110,7 +110,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Request deletion"
     Then the email sent to "CC owner" with subject "Interoperable Europe Portal: Content has been updated" contains the following lines of text:
       | CC Member has requested to delete the news - "CCN pre request deletion" in the collection: "CC pre collection", with the following motivation: "I just want to delete it.". |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                          |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                          |
 
     When I go to the "CCN published to revise" news
     And I click "Edit" in the "Entity actions" region
@@ -138,7 +138,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Request changes"
     Then the email sent to "CC member" with subject "Interoperable Europe Portal: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN pre request changes" in the collection: "CC pre collection", with the following motivation: "Can you do some changes?". |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                                                  |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                                  |
     But the following email should not have been sent:
       | recipient | CC owner                                                                                                                               |
       | subject   | Interoperable Europe Portal: Content has been proposed                                                                                                      |
@@ -153,7 +153,7 @@ Feature: Notification test for the news transitions on a pre moderated parent.
     And I press "Request changes"
     Then the email sent to "CC member" with subject "Interoperable Europe Portal: Content has been updated" contains the following lines of text:
       | the Facilitator, CC Facilitator has requested you to modify the news - "CCN pre report" in the collection: "CC pre collection", with the following motivation: "Your content is reported". |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                                         |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                         |
 
     When I am logged in as "CC facilitator"
     And I go to the "CCN pre approve proposed" news
diff --git a/tests/features/contact_form/submit_contact_form.feature b/tests/features/contact_form/submit_contact_form.feature
index 2d5992cdfc..7869da8442 100644
--- a/tests/features/contact_form/submit_contact_form.feature
+++ b/tests/features/contact_form/submit_contact_form.feature
@@ -14,7 +14,7 @@ Feature: Submit the contact form
     # There should be a link to the contact form in the footer.
     Given I am not logged in
     When I visit "/?destination=collections"
-    And I click "Contact Interoperable Europe Portal Support" in the "Footer" region
+    And I click "Contact Portal Support" in the "Footer" region
     And I should see the heading "Contact"
     And the "Category" select should contain the following options:
       | - Select a value -             |
@@ -40,7 +40,7 @@ Feature: Submit the contact form
     Then I should be on "collections"
 
     And I am on the homepage
-    When I click "Contact Interoperable Europe Portal Support" in the "Footer" region
+    When I click "Contact Portal Support" in the "Footer" region
     And I fill in the following:
       | First name     | Oswine                      |
       | Last name      | Wulfric                     |
diff --git a/tests/features/footer.feature b/tests/features/footer.feature
index a73823fc2e..4e71790a27 100644
--- a/tests/features/footer.feature
+++ b/tests/features/footer.feature
@@ -29,19 +29,19 @@ Feature: Footer
     And I press "Save"
     Then I should see the success message "Menu Help and support has been updated."
 
-    Then I uncheck the "Enable Contact Interoperable Europe Portal Support" row
+    Then I uncheck the "Enable Contact Portal Support" row
     And I press "Save"
 
     Given I am an anonymous user
     And I am on the homepage
     Then I should not see the link "Frequently Asked Questions (FAQ)"
-    Then I should not see the link "Contact Interoperable Europe Portal Support"
+    Then I should not see the link "Contact Portal Support"
     And I should see the link "Take a tour"
 
     Then I click "advanced search"
     And I should be on the advanced search page
     Then I should not see the link "Frequently Asked Questions (FAQ)"
-    Then I should not see the link "Contact Interoperable Europe Portal Support"
+    Then I should not see the link "Contact Portal Support"
     And I should not see the text "Take a tour"
 
     # Re-enable the Frequently Asked Questions (FAQ) menu link.
@@ -49,9 +49,9 @@ Feature: Footer
     When I click "Menus"
     And I click "List links" in the "Help and support" row
     Then I check the "Enable Frequently Asked Questions (FAQ)" row
-    Then I check the "Enable Contact Interoperable Europe Portal Support" row
+    Then I check the "Enable Contact Portal Support" row
     And I press "Save"
 
     And I am on the homepage
     Then I should see the link "Frequently Asked Questions (FAQ)"
-    Then I should see the link "Contact Interoperable Europe Portal Support"
+    Then I should see the link "Contact Portal Support"
diff --git a/tests/features/joinup_release/release.moderation.feature b/tests/features/joinup_release/release.moderation.feature
index 17e576f8a9..87e4efac55 100644
--- a/tests/features/joinup_release/release.moderation.feature
+++ b/tests/features/joinup_release/release.moderation.feature
@@ -110,7 +110,7 @@ Feature: Asset release moderation
     Then I should see the text "Release of the dark ship v1" in the "Page title" region
     And the email sent to "Bonnie Holloway" with subject "Interoperable Europe Portal: Modification of a release of your solution has been requested" contains the following lines of text:
       | the Interoperable Europe Portal moderation team requires editing the release Release, v1 of the solution Dark Ship due to I don't like it. |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                    |
+      | If you think this action is not clear or not due, please contact Portal Support at                                    |
     And the following email should have been sent:
       | recipient | Felix Russell                                                                                                         |
       | subject   | Interoperable Europe Portal: Modification of a release of your solution has been requested                                                 |
diff --git a/tests/features/machine_translation.feature b/tests/features/machine_translation.feature
index 8505dc1b73..9de9a2375e 100644
--- a/tests/features/machine_translation.feature
+++ b/tests/features/machine_translation.feature
@@ -102,5 +102,5 @@ Feature: Machine translation
     Then I should not see any Webtools eTrans elements
 
     # Pages that are not content focused should not be translatable.
-    When I click "Contact Interoperable Europe Portal Support" in the "Footer" region
+    When I click "Contact Portal Support" in the "Footer" region
     Then I should not see any Webtools eTrans elements
diff --git a/tests/features/menus/support_menu.feature b/tests/features/menus/support_menu.feature
index 03d237385c..1852c01531 100644
--- a/tests/features/menus/support_menu.feature
+++ b/tests/features/menus/support_menu.feature
@@ -45,8 +45,8 @@ Feature:
 
     When I am on the homepage
     Then I should <homepage expectation> the link "Take a tour" in the "Footer"
-    And I should see the link "Contact Interoperable Europe Portal Support"
-    Then I click "Contact Interoperable Europe Portal Support"
+    And I should see the link "Contact Portal Support"
+    Then I click "Contact Portal Support"
     And I fill in the following:
       | First name     | Rufus                       |
       | Last name      | Modric                      |
@@ -60,8 +60,8 @@ Feature:
 
     When I visit the collection overview page
     Then I should not see the link "Take a tour"
-    But I should see the link "Contact Interoperable Europe Portal Support"
-    When I click "Contact Interoperable Europe Portal Support"
+    But I should see the link "Contact Portal Support"
+    When I click "Contact Portal Support"
     And I fill in the following:
       | First name     | Oswine                      |
       | Last name      | Wulfric                     |
@@ -75,8 +75,8 @@ Feature:
 
     When I visit the content overview page
     Then I should see the link "Take a tour"
-    And I should see the link "Contact Interoperable Europe Portal Support"
-    When I click "Contact Interoperable Europe Portal Support"
+    And I should see the link "Contact Portal Support"
+    When I click "Contact Portal Support"
     And I fill in the following:
       | First name     | Roscof                      |
       | Last name      | Vulvric                     |
@@ -90,11 +90,11 @@ Feature:
 
     When I go to the homepage of the "Hotel California" collection
     Then I should see the link "Take a tour"
-    And I should see the link "Contact Interoperable Europe Portal Support"
+    And I should see the link "Contact Portal Support"
 
     When I go to "/user"
     Then I should <user page expectation> the link "Take a tour"
-    And I should see the link "Contact Interoperable Europe Portal Support"
+    And I should see the link "Contact Portal Support"
 
     Examples:
       | role                                 | user page expectation | homepage expectation |
@@ -126,12 +126,12 @@ Feature:
     When I click "Edit" in the "Take a tour" row
     Then I should see the heading "Edit menu link Take a tour"
     When I move backward one page
-    And I click "Edit" in the "Contact Interoperable Europe Portal Support" row
-    Then I should see the heading "Edit menu link Contact Interoperable Europe Portal Support"
+    And I click "Edit" in the "Contact Portal Support" row
+    Then I should see the heading "Edit menu link Contact Portal Support"
 
     Given I am an anonymous user
     And I am on the homepage
-    Then I should see the link "Contact Interoperable Europe Portal Support"
+    Then I should see the link "Contact Portal Support"
     And I should see "Arbitrary support menu link"
     # Tour has been disabled.
     But I should not see the link "Take a tour"
@@ -158,7 +158,7 @@ Feature:
 
     Given I am an anonymous user
     When I am on the homepage
-    Then I should see the link "Contact Interoperable Europe Portal Support"
+    Then I should see the link "Contact Portal Support"
     # The custom link has been deleted.
     But I should not see "Arbitrary support menu link"
     # Tour has been re-enabled.
diff --git a/tests/features/moderator/message_overview.feature b/tests/features/moderator/message_overview.feature
index 44dd62ce91..e2b8e100b4 100644
--- a/tests/features/moderator/message_overview.feature
+++ b/tests/features/moderator/message_overview.feature
@@ -7,7 +7,7 @@ Feature: Solutions message overview
   Scenario: Contact form messages are available in the message overview.
     And I am not logged in
     When I am on the homepage
-    And I click "Contact Interoperable Europe Portal Support" in the "Footer" region
+    And I click "Contact Portal Support" in the "Footer" region
     Then I should see the heading "Contact"
 
     When I fill in the following:
@@ -67,7 +67,7 @@ Feature: Solutions message overview
       | To approve or reject this proposal, please go to                                   |
       | You'll be able to provide feedback.                                                |
       | The requestor will be notified of your decision and feedback.                      |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at |
+      | If you think this action is not clear or not due, please contact Portal Support at |
 
     # Clean up the collection that was created.
     And I delete the "Message overview proposal" collection
diff --git a/tests/features/solution/add_solution.feature b/tests/features/solution/add_solution.feature
index 00dd1a102b..3aecdaa693 100644
--- a/tests/features/solution/add_solution.feature
+++ b/tests/features/solution/add_solution.feature
@@ -108,7 +108,7 @@ Feature: "Add solution" visibility options.
     And I press "Propose"
     Then the email sent to "Ruth Lee" with subject "Interoperable Europe Portal: A new solution has been proposed" contains the following lines of text:
       | Wendell Silva has proposed a new Interoperability solution: "Espresso is the solution" on Interoperable Europe Portal. |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                |
+      | If you think this action is not clear or not due, please contact Portal Support at                |
     And I should see "Thank you for proposing a solution. Your request is currently pending approval by the site administrator."
     And Log entry with the message "A new solution entity titled Espresso is the solution has been created by Wendell Silva in Belgian barista's." should exist.
 
diff --git a/tests/features/solution/manage_solutions.archive.feature b/tests/features/solution/manage_solutions.archive.feature
index 439fa783a1..fd7d4a0556 100644
--- a/tests/features/solution/manage_solutions.archive.feature
+++ b/tests/features/solution/manage_solutions.archive.feature
@@ -117,7 +117,7 @@ Feature: When a solution is archived then its sub-content also should be archive
       | archived. Even though the Solution has been archived, you can still  |
       | access its pages through the Advanced Search page by selecting 'Show |
       | only Archived items' or through the Collection it belonged to.       |
-      | If you think this action is not clear, please contact Interoperable Europe Portal Support |
+      | If you think this action is not clear, please contact Portal Support |
       | at                                                                   |
     # The email sent to Liam (the contact person of the solution) won't contain
     # the "Dear Liam," greeting since Liam does not have a user account on
@@ -127,7 +127,7 @@ Feature: When a solution is archived then its sub-content also should be archive
       | archived. Even though the Solution has been archived, you can still  |
       | access its pages through the Advanced Search page by selecting 'Show |
       | only Archived items' or through the Collection it belonged to.       |
-      | If you think this action is not clear, please contact Interoperable Europe Portal Support |
+      | If you think this action is not clear, please contact Portal Support |
       | at                                                                   |
 
     When I go to the homepage of the "Solution" solution
diff --git a/tests/features/solution/solution.notifications.feature b/tests/features/solution/solution.notifications.feature
index f2d3d2252b..4dd0b1f8d4 100644
--- a/tests/features/solution/solution.notifications.feature
+++ b/tests/features/solution/solution.notifications.feature
@@ -45,7 +45,7 @@ Feature: Solution notifications
     And I press "Propose"
     Then the email sent to "Ramiro Myers" with subject "Interoperable Europe Portal: Changes have been proposed for your solution" contains the following lines of text:
       | The Portal Support Team has requested you to modify the interoperability solution "Solution notification to propose changes", with the following motivation: Please, check my updates. |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                                     |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                                     |
 
     # Template 13. The moderation team blacklists a solution.
     When I go to the homepage of the "Solution notification to blacklist" solution
@@ -80,7 +80,7 @@ Feature: Solution notifications
       | bcc       | pat.harper@example.com,jack.harper@example.com                                                                                                                            |
     And the email sent to "Ramiro Myers" with subject "Interoperable Europe Portal: You are requested to update your solution" contains the following lines of text:
       | the moderator has requested you to modify the interoperability solution - Solution notification to request changes following the following advises: Can you change this?. |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                                                        |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                                                        |
 
     # Template 18. The moderation team deletes a solution without prior request.
     When I go to the homepage of the "Solution notification to delete by moderator team" solution
@@ -100,7 +100,7 @@ Feature: Solution notifications
     And I press "Propose"
     Then the email sent to "Pat Harper" with subject "Interoperable Europe Portal: An update of a solution has been proposed" contains the following lines of text:
       | Ramiro Myers has proposed an update of the Interoperability solution: "Solution notification to propose from request changes" on Interoperable Europe Portal. |
-      | If you think this action is not clear or not due, please contact Interoperable Europe Portal Support at                                                       |
+      | If you think this action is not clear or not due, please contact Portal Support at                                                       |
 
     # The owner deletes their own solution. No email should be sent to the owner
     # since we do not send notifications to the actor.
diff --git a/web/modules/custom/joinup_core/joinup_core.links.menu.yml b/web/modules/custom/joinup_core/joinup_core.links.menu.yml
index 3da8630e62..eeb59b6707 100644
--- a/web/modules/custom/joinup_core/joinup_core.links.menu.yml
+++ b/web/modules/custom/joinup_core/joinup_core.links.menu.yml
@@ -28,7 +28,7 @@ joinup_core.support.contact:
   destination: true
 
 joinup_core.support.homepage_contact:
-  title: 'Contact Joinup Support'
+  title: 'Contact Portal Support'
   menu_name: footer-help-and-support
   url: 'internal:/contact'
   weight: -100
-- 
GitLab


From fcae3dcd4ebb10b43728db7a7052e9d0545eb90d Mon Sep 17 00:00:00 2001
From: Ilias Dimopoulos <idimopoulos@hotmail.com>
Date: Wed, 30 Oct 2024 00:22:17 +0200
Subject: [PATCH 17/33] ISAICP-9173: Add the missing links. Remove unnecessary
 inline styling.

---
 config/sync/block.block.iop_content.yml        |  2 +-
 config/sync/block.block.iop_pagetitle.yml      |  2 +-
 .../block.block.iop_primaryadminactions.yml    | 18 ++++++++++++++++++
 .../block.block.openeuropawebtoolsetrans.yml   |  2 +-
 web/themes/iop/iop.theme                       | 16 ++++------------
 5 files changed, 25 insertions(+), 15 deletions(-)
 create mode 100644 config/sync/block.block.iop_primaryadminactions.yml

diff --git a/config/sync/block.block.iop_content.yml b/config/sync/block.block.iop_content.yml
index bf038f2460..bff32196aa 100644
--- a/config/sync/block.block.iop_content.yml
+++ b/config/sync/block.block.iop_content.yml
@@ -9,7 +9,7 @@ dependencies:
 id: iop_content
 theme: iop
 region: content
-weight: -14
+weight: -4
 provider: null
 plugin: system_main_block
 settings:
diff --git a/config/sync/block.block.iop_pagetitle.yml b/config/sync/block.block.iop_pagetitle.yml
index 04912c1af9..9c16cf3cca 100644
--- a/config/sync/block.block.iop_pagetitle.yml
+++ b/config/sync/block.block.iop_pagetitle.yml
@@ -10,7 +10,7 @@ dependencies:
 id: iop_pagetitle
 theme: iop
 region: content
-weight: -19
+weight: -6
 provider: null
 plugin: page_title_block
 settings:
diff --git a/config/sync/block.block.iop_primaryadminactions.yml b/config/sync/block.block.iop_primaryadminactions.yml
new file mode 100644
index 0000000000..6424a44dcc
--- /dev/null
+++ b/config/sync/block.block.iop_primaryadminactions.yml
@@ -0,0 +1,18 @@
+uuid: eb59d37d-98e9-4aac-919a-b110e48f9618
+langcode: en
+status: true
+dependencies:
+  theme:
+    - iop
+id: iop_primaryadminactions
+theme: iop
+region: content
+weight: -5
+provider: null
+plugin: local_actions_block
+settings:
+  id: local_actions_block
+  label: 'Primary admin actions'
+  label_display: '0'
+  provider: core
+visibility: {  }
diff --git a/config/sync/block.block.openeuropawebtoolsetrans.yml b/config/sync/block.block.openeuropawebtoolsetrans.yml
index 3905b1ad84..03e2a70bb2 100644
--- a/config/sync/block.block.openeuropawebtoolsetrans.yml
+++ b/config/sync/block.block.openeuropawebtoolsetrans.yml
@@ -11,7 +11,7 @@ dependencies:
 id: openeuropawebtoolsetrans
 theme: iop
 region: content
-weight: -20
+weight: -7
 provider: null
 plugin: oe_webtools_etrans
 settings:
diff --git a/web/themes/iop/iop.theme b/web/themes/iop/iop.theme
index 5be1837164..0407ce7fff 100644
--- a/web/themes/iop/iop.theme
+++ b/web/themes/iop/iop.theme
@@ -153,19 +153,11 @@ function iop_preprocess_node__custom_page__full(array &$variables): void {
  */
 function iop_preprocess_block(array &$variables): void {
   $block_id = $variables['elements']['#id'] ?? NULL;
-  switch ($block_id) {
-    case 'openeuropawebtoolsetrans':
-      $variables['#attached']['library'][] = 'ventuno/etrans';
-      break;
-
-    case 'iop_primaryadminactions':
-      $variables['attributes']['class'][] = 'd-inline-block';
-      break;
-
-    case 'iop_pagetitle':
-      $variables['attributes']['class'][] = 'd-inline-block';
-      break;
+  if ($block_id !== 'openeuropawebtoolsetrans') {
+    return;
   }
+
+  $variables['#attached']['library'][] = 'ventuno/etrans';
 }
 
 /**
-- 
GitLab


From f66f20f0220d6149bc87f7e08e61698b1da7d268 Mon Sep 17 00:00:00 2001
From: Ilias Dimopoulos <idimopoulos@hotmail.com>
Date: Wed, 30 Oct 2024 00:48:38 +0200
Subject: [PATCH 18/33] ISAICP-9173: Add a test for future reference.

---
 .../interoperable_europe.feature                     | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/tests/features/communities/interoperable_europe/interoperable_europe.feature b/tests/features/communities/interoperable_europe/interoperable_europe.feature
index fd4104e6e0..74a2d5daaf 100644
--- a/tests/features/communities/interoperable_europe/interoperable_europe.feature
+++ b/tests/features/communities/interoperable_europe/interoperable_europe.feature
@@ -116,3 +116,15 @@ Feature:
     # The search bar icon has a hidden accessibility label "Toggle search box".
     And I press "Toggle search box"
     And I enter "About" in the search bar and press enter
+
+  Scenario: Member management links appear in the members page.
+    When I am logged in as a facilitator of the "Interoperable Europe" collection
+    And I go to "/interoperable-europe/members"
+    When I check the box "I agree to the Legal notice document"
+    And I press "Submit"
+
+    Then I should see the following links:
+      | Invite members   |
+      | Add announcement |
+    # Add members is not available for facilitators, only moderators.
+    But I should not see the link "Add members"
-- 
GitLab


From fe3b5272973305811fda33d9c0a1c39a173102e2 Mon Sep 17 00:00:00 2001
From: Claudiu Cristea <clau.cristea@gmail.com>
Date: Wed, 30 Oct 2024 14:46:04 +0200
Subject: [PATCH 19/33] ISAICP-9191: Re-enable Status Report check.

---
 .opts.yml | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/.opts.yml b/.opts.yml
index abdb005ce9..5cfa6783c9 100644
--- a/.opts.yml
+++ b/.opts.yml
@@ -11,8 +11,7 @@ upgrade_commands:
     - vendor/bin/drush joinup:search-api-tasks
     - vendor/bin/drush twigc --yes
     - vendor/bin/drush joinup:unpublish-alert --category
-    # TODO: Re-enable in ISAICP-9191.
-    # - scripts/check_status_report.php
+    - scripts/check_status_report.php
   append:
     acceptance:
       - vendor/bin/drush joinup:acc
-- 
GitLab


From 081d5c2bcfe8b13e0438eb69b82e974e928f5c7d Mon Sep 17 00:00:00 2001
From: Herve Donner <hervedonner@gmail.com>
Date: Mon, 4 Nov 2024 12:01:32 +0100
Subject: [PATCH 20/33] ISAICP-9157: Update reverse_proxy_trusted_headers
 settings (see FPFISSUPP-27833).

Excludes FORWARDED, which conflicts with X_FORWARDED_* headers.
---
 resources/runner/drupal.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/resources/runner/drupal.yml b/resources/runner/drupal.yml
index 74bb7f3835..05b8ecfe6f 100644
--- a/resources/runner/drupal.yml
+++ b/resources/runner/drupal.yml
@@ -387,6 +387,7 @@ drupal:
       Reverse proxy: |
         $settings['reverse_proxy'] = (bool) getenv('DRUPAL_REVERSE_PROXY_ENABLE');
         $settings['reverse_proxy_addresses'] = array_filter(explode(',', (string) getenv('DRUPAL_REVERSE_PROXY_ADDRESSES')));
+        $settings['reverse_proxy_trusted_headers'] = \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO;
       EU OSS Catalogue: |
         $settings['eu_oss_catalogue']['platform_github']['access_token'] = getenv('JOINUP_GITHUB_TOKEN');
       Stage file proxy: |
-- 
GitLab


From 45a7af6057d17a1ba1977a21f9462ea533a2f3af Mon Sep 17 00:00:00 2001
From: Claudiu Cristea <clau.cristea@gmail.com>
Date: Mon, 4 Nov 2024 15:34:46 +0200
Subject: [PATCH 21/33] ISAICP-9138: Remove applied updates.

---
 tests/features/update/ISAICP-8572.feature     | 174 ----
 tests/features/update/ISAICP-9054.feature     |  21 -
 .../update/update-ISAICP-9083.feature         | 433 ----------
 .../custom/joinup_core/joinup_core.deploy.php |  29 -
 .../joinup_media/joinup_media.post_update.php |  52 --
 .../custom/joinup_rdf/joinup_rdf.deploy.php   | 777 ------------------
 .../custom/joinup_rdf/joinup_rdf.install      | 221 -----
 7 files changed, 1707 deletions(-)
 delete mode 100644 tests/features/update/ISAICP-8572.feature
 delete mode 100644 tests/features/update/ISAICP-9054.feature
 delete mode 100644 tests/features/update/update-ISAICP-9083.feature

diff --git a/tests/features/update/ISAICP-8572.feature b/tests/features/update/ISAICP-8572.feature
deleted file mode 100644
index 7a0e37d573..0000000000
--- a/tests/features/update/ISAICP-8572.feature
+++ /dev/null
@@ -1,174 +0,0 @@
-@api @group-clone
-Feature: Test migration of collections/solutions to node.
-
-  @update:joinup_rdf_deploy_200008
-  Scenario: References embedded into rich text blob fields.
-
-    # Links inside comments.
-    Given I visit "/collection/semantic-interoperability-community-semic/solution/statdcat-application-profile-data-portals-europe/discussion/link-visualisation"
-    When I click "Draft 4"
-    Then I should see "StatDCAT-AP - Draft 4 0.4"
-
-    # Links inside discussions.
-    Given I visit "/collection/semic-support-centre/solution/core-public-service-vocabulary/discussion/wrong-version-vocabulary-online"
-    When I click "this page"
-    Then I should see "Core Public Service Vocabulary 1.01"
-    When I visit "/collection/semic-support-centre/solution/dcat-application-profile-data-portals-europe/discussion/provide-your-use-case-and-user-scenario"
-    And I click "1st virtual meeting"
-    Then I should see "DCAT Application Profile for Data Portals in Europe - Draft 1 0.01"
-    When I move backward one page
-    And I click "1st virtual meeting"
-    Then I should see "DCAT Application Profile for Data Portals in Europe - Draft 1 0.01"
-
-    # Links inside node description fields.
-    Given I visit "/collection/european-interoperability-reference-architecture-eira/solution/eira/release/v210"
-    When I click "EIRA v2.1.0 Overview.pdf"
-    Then I should see "EIRA_v2_1_0_Overview.pdf"
-
-    # Links in events agenda.
-    Given I visit "/collection/joinup/event/2nd-cesar-workshop-reaping-benefits-europes-collections-reusable-interoperability-assets"
-    When I click "Greek Interoperability Catalogue"
-    Then I should see the heading "Greek Interoperability Catalogue"
-
-    # Links in paragraph field_body.
-    Given I visit "/collection/open-source-observatory-osor/document/joinup-open-source-news-service-december-2015"
-    When the page should contain the html text '<a href="/community/osor/">Open Source Observatory</a>'
-    Then I visit "/community/osor"
-    Then I should see the heading "Open Source Observatory (OSOR)"
-    When I visit "/collection/e-government-innovation-center-egiz/news/moa-id-release-310-veroffen"
-    And I click "https://joinup.ec.europa.eu/release/moa-id-310"
-    Then I should see "MOA-ID 3.1.0"
-    When I visit "/collection/semic-support-centre/news/presentation-adms-1"
-    And I click "ADMS"
-    Then I should see "Asset Description Metadata Schema (ADMS)"
-    When I visit "/collection/nifo-national-interoperability-framework-observatory/solution/eif-toolbox/solution-asset-description-metadata-schema-adms"
-    And I click "working group of experts"
-    Then I should see "Asset Description Metadata Schema (ADMS)"
-    Then I should see the heading "Members"
-
-  @update:joinup_rdf_deploy_200006
-  Scenario: Menu links should be available as before.
-    Given I go to "/collection/statistics/solution/eurotrace"
-    Then I should see the following links:
-      | Overview        |
-      | Release history |
-
-    Given I go to "/collection/govtechconnect"
-    Then I should see the heading "GovTech Connect"
-    And I should see the following links:
-      | Overview         |
-      | Welcome on Board |
-      | GovTech4All      |
-      | Events           |
-
-  @update:joinup_rdf_deploy_200001 @update:joinup_rdf_deploy_200002
-  Scenario: Validate references and contents of the groups.
-    # Ensure the Website link is migrated for collections.
-    Given I go to "/collection/are3na"
-    Then I should see the link "Website link"
-
-    # Note, that since the email confirmations are not available for GDPR
-    # reasons, the contact information are only text in the tests.
-    Given I go to "/collection/egovernment"
-    Then I should see the following lines of text:
-      | Owner                    |
-      | European Commission      |
-      | Supra-national authority |
-      | Contact information      |
-      | Joinup Support Team      |
-
-    # 12 solutions also include the 3 archived. This ensures a bug needing to
-    # clear the cache before indexing the entities.
-    And I should see the link "12 Solutions"
-
-    # Assert texts in the page.
-    And I should see the following lines of text:
-      # Abstract.
-      | The eGovernment community aims to improve the efficiency of service delivery in the public sector.           |
-      # Body.
-      | The eGovernment community covers all aspects of Internet use to deliver government information and services. |
-      # Field headings and values.
-      | Published on                                                                                                 |
-      | 01/12/2014                                                                                                   |
-      | Last updated                                                                                                 |
-      | Moderation                                                                                                   |
-      | Open collection                                                                                              |
-      | Moderated                                                                                                    |
-
-    # Sample check some tiles as it might be that the tiles will change until
-    # the migration is done so try to avoid too many checks.
-    And I should see the "Next generation internet initiative on EU digital landscape" tile
-    And I should see the "EU report calls for stronger action on Digital Decade goals" tile
-
-    Given I go to "/collection/statistics/solution/eurotrace"
-    Then I should see the following lines of text:
-      | Owner                    |
-      | Eurostat                 |
-      | Supra-national authority |
-      | Contact information      |
-      | ESTAT EUROTRACE SUPPORT  |
-
-    # Assert texts in the page.
-    And I should see the following lines of text:
-      # Abstract.
-      | The EUROTRACE software package is composed                 |
-      # Body.
-      | Because of its modular design, the new EUROTRACE suite can |
-      # Field headings and values.
-      | Published on                                               |
-      | 14/03/2014                                                 |
-      | Last update                                                |
-      | Solution type                                              |
-      | Digital Solution                                           |
-      | Release version                                            |
-      | Moderation                                                 |
-      | Only facilitators and authors can create content.          |
-      | Non moderated                                              |
-    And I should see the link "Share"
-
-    # Sample check some tiles as it might be that the tiles will change until
-    # the migration is done so try to avoid too many checks.
-    And I should see the "Mustangproject" tile
-
-    # Test the website link.
-    Given I go to "/collection/are3na/solution/re3gistry"
-    Then I should see the link "Website link"
-
-    # Regression test that there are no duplicate memberships.
-    # @see web/modules/custom/joinup_rdf/src/MigrationHelper.php:442
-    And there are no duplicate memberships
-
-    # Regression test that announcements are migrated with their group
-    # and the page does not break.
-    When I am logged in as a moderator
-    And I visit "/announcements"
-    Then I should see the link "Interoperable Europe Academy"
-
-  @update:joinup_rdf_update_200009 @update:joinup_rdf_deploy_200013
-  Scenario: Assert migrated related solutions.
-    Given I go to "/collection/eparticipation-and-evoting/solution/eci-online-collection-software-ocs"
-    Then in the "Related solutions" list, I should see the following tiles in the correct order:
-      | European Citizens' Initiative - Regulation (EU) 2019/788                                    |
-      | Crypto Tool for the European Parliament Elections and for the European Citizens' Initiative |
-    Given I go to "/collection/semic-support-centre/solution/vocbench"
-    Then in the "Related solutions" list, I should see the following tiles in the correct order:
-      # First 3 are shared solutions. Even if in production they do not show in
-      # this way, according to the migrated data, they all share the "Data
-      # management" solution type.
-      # /collection/gnu-health/solution/mygnuhealth.
-      | MyGNUHealth                                                                                                |
-      # /collection/open-data/solution/piveau.
-      | piveau                                                                                                     |
-      # /collection/free-and-open-source-software/solution/geonetwork.
-      | GeoNetwork opensource - A catalog solution to publish geospatial and non-geospatial metadata and resources |
-      # Then the rest are directly linked solutions. These follow the order of
-      # the data in the database.
-      | EuroVoc                                                                                                    |
-      | The AGROVOC Thesaurus                                                                                      |
-      | GEMET                                                                                                      |
-      | Integrated Public Sector Vocabulary                                                                        |
-      | DCAT-AP Validator                                                                                          |
-      | Asset Description Metadata Schema (ADMS)                                                                   |
-      | StatDCAT Application Profile for data portals in Europe                                                    |
-      | Asset Description Metadata Schema (ADMS) revision                                                          |
-      | ShowVoc                                                                                                    |
diff --git a/tests/features/update/ISAICP-9054.feature b/tests/features/update/ISAICP-9054.feature
deleted file mode 100644
index dbb35c7585..0000000000
--- a/tests/features/update/ISAICP-9054.feature
+++ /dev/null
@@ -1,21 +0,0 @@
-@api @group-clone
-Feature: Test removed hard bounced emails.
-
-  @update:joinup_core_deploy_200000
-  Scenario: Check users.
-    Given the following users should be canceled:
-      | name     |
-      | garlore  |
-      | n007vd09 |
-      | n002xwem |
-      | n003856b |
-      | scaunga  |
-      | idelaeve |
-      | dikmese  |
-      | n005ow0r |
-      | n008yt6k |
-      | n008zgcp |
-      | n007yxdm |
-      | n008y0gg |
-      | n008xsof |
-      | ibuffifa |
diff --git a/tests/features/update/update-ISAICP-9083.feature b/tests/features/update/update-ISAICP-9083.feature
deleted file mode 100644
index df2839c783..0000000000
--- a/tests/features/update/update-ISAICP-9083.feature
+++ /dev/null
@@ -1,433 +0,0 @@
-@api @group-clone
-@update:joinup_media_post_update_111400
-@update:joinup_media_post_update_111401
-@update:joinup_media_post_update_111402
-Feature: Validate the migration from video_embed_field to media core (oembed).
-
-  Scenario Outline: Validate video paragraphs render remote_video media.
-    # Data extracted from https://gist.github.com/vever001/3ad6adf29503f1be135b027c4d050985
-    Given I visit "<path>"
-    And I should see the "iframe" element with the "src" attribute set to "<iframe_src>" in the "Content" region
-    And I should see a ".ratio.ratio-16x9 > iframe" element
-
-    Examples:
-      | path                                                                                                                                                 | iframe_src                                                                                                                  |
-      | /interoperable-europe/iop-landing-page                                                                                                               | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DN7cNbrwP7qo                                                         |
-      | /collection/interoperability-test-bed-repository/solution/interoperability-test-bed/welcome                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D_e-XFqYZBR0                                                         |
-      | /collection/interoperability-test-bed-repository/solution/interoperability-test-bed/welcome                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D_e-XFqYZBR0                                                         |
-      # Unpublished node.
-      #| /collection/common-assessment-method-standards-and-specifications-camss/solution/elis/welcome                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DmH2fhP-NwOU                                                         |
-      | /collection/common-assessment-method-standards-and-specifications-camss/learning-resources                                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DEHVJZRxwlz4                                                         |
-      | /collection/common-assessment-method-standards-and-specifications-camss/learning-resources                                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DmH2fhP-NwOU                                                         |
-      | /collection/semic-support-centre/linked-data-event-streams-ldes-draft                                                                                | /media/oembed?url=https%3A//youtu.be/2_IIDDDp3lU                                                                            |
-      | /collection/common-assessment-method-standards-and-specifications-camss/learning-resources                                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dvt_UeDJEOD8                                                         |
-      | /collection/common-assessment-method-standards-and-specifications-camss/welcome                                                                      | /media/oembed?url=https%3A//youtu.be/qb_uUE0MUeA                                                                            |
-      | /collection/semic-support-centre/welcome                                                                                                             | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dgs9pMsvRmIo                                                         |
-      | /collection/sipg/solution/across-toolbox/solution-and-components                                                                                     | /media/oembed?url=https%3A//youtu.be/7K9yOacZyFI%3Ffeature%3Dshared                                                         |
-      | /collection/semic-support-centre/ai-interoperability                                                                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Da0D73k4bo2s                                                         |
-      | /collection/semic-support-centre/ai-interoperability                                                                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DfVsof3JSdsg                                                         |
-      | /collection/semic-support-centre/services                                                                                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DRPUGHMtAPis%26t%3D49s                                               |
-      | /collection/are3na/solution/re3gistry/event/mark-your-calendar-re3gistry-software-training-session-may-29th-2024                                     | /media/oembed?url=https%3A//www.youtube.com/watch%3Fsi%3Dve_cFimOL3A0fhCv%26v%3D6Y_KAhibGas%26feature%3Dyoutu.be            |
-      | /collection/interoperability-test-bed-repository/solution/interoperability-test-bed/welcome                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D_e-XFqYZBR0                                                         |
-      | /collection/govtechconnect/document/post-event-report-govtech-connect-webinar-investing-europes-govtech-future                                       | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DWP2wffCtQnk                                                         |
-      | /collection/public-sector-tech-watch/news/semic-2024-innovating-public-sector-emerging-tech                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DwxpYy956wVU%26list%3DPLTqrUzsdFBKaXlJc4IctJch3LagPhBF8l%26index%3D9 |
-      | /collection/semic-support-centre/welcome                                                                                                             | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DEVsMeKBrAxg                                                         |
-      | /collection/semic-support-centre/document/us-national-information-exchange-model-niem-explained                                                      | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DBA1jY8LJ8tM                                                         |
-      | /collection/justice-law-and-security/document/e-codex-e-justice-communication-online-data-exchange                                                   | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DwVvR6Jd3RWU                                                         |
-      | /collection/egovernment/document/eu-declan-deasy-about-digital-single-market                                                                         | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D0A4Iq2p6BfQ                                                         |
-      | /collection/egovernment/document/eu-story-explaining-digital-single-market-and-large-scale-pilots                                                    | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DEMH5yZJbAck                                                         |
-      | /collection/open-source-observatory-osor/document/presenting-osepa-project-share-knowledge-and-experience-about-foss-public-administrations          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DVo8rTO9IH24                                                         |
-      | /collection/ehealth/document/ehealth-week-2012-7-9-may-copenhagen-dk                                                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D5Vq8xHI0aJU                                                         |
-      | /collection/joinup/document/why-work-alone-develop-common-solutions-joinup                                                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dh9n_mzFFvTo                                                         |
-      | /collection/semic-support-centre/document/isa-effortless-e-collaboration                                                                             | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DZZAoOTd1py4                                                         |
-      # Unpublished YT video.
-      #| /collection/semic-support-centre/document/towards-open-metadata-management-promo-video-adms-enabled-federation-repositories                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DtJRWluM_Slk                                                         |
-      | /collection/semic-support-centre/document/epsos-pilots-setting-sail                                                                                  | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DepJwLK8U3zI                                                         |
-      | /collection/semic-support-centre/document/internet-things-europe-movie-imagine-everything-was-linked                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DnDBup8KLEtk                                                         |
-      | /collection/semic-support-centre/document/nl-databases-adresses-and-buildings-and-value-real-estate-are-being-linked                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D0PoeulJG_2A                                                         |
-      | /collection/semic-support-centre/document/interoperable-europe-interested                                                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DH8R8wcMmIOM                                                         |
-      | /collection/semic-support-centre/document/linked-open-data-what-it                                                                                   | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Duju4wT9uBIA                                                         |
-      # Unpublished YT video.
-      #| /collection/simple-procedures-online-cross-border-services-spocs/document/spocs-building-next-generation-points-single-contact                       | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DqsDTgXDdQsA                                                         |
-      | /collection/open-source-observatory-osor/document/3-ways-eu-supporting-open-source                                                                   | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DcuCS7QU_Rgk                                                         |
-      | /collection/european-union-location-framework-eulf/document/value-interoperable-geographical-information                                             | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DXr_sx0iHb1w                                                         |
-      | /collection/egovernment/document/maros-sefcovic-business-friendly-public-administration                                                              | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DTcOZwhiskXI                                                         |
-      | /collection/egovernment/document/eeurope-awards-2003                                                                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DBzRgnUKN9Xw                                                         |
-      | /collection/egovernment/document/eeurope-awards-2005                                                                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D7dRiMJhJhrI                                                         |
-      | /collection/egovernment/document/interview-emilio-castrillejo                                                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DEK7-xAlWJW4                                                         |
-      | /collection/egovernment/document/interview-daniel-van-lerberghe                                                                                      | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DFKu11UvSugk                                                         |
-      | /collection/egovernment/document/interview-silvano-de-lesu                                                                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DO70SWjAqrrs                                                         |
-      | /collection/egovernment/document/interview-christine-mathiew                                                                                         | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DPMZ4b6MQxZk                                                         |
-      | /collection/egovernment/document/interview-elena-ruiz-gonzalez                                                                                       | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DogB-CGqyy8g                                                         |
-      | /collection/egovernment/document/interview-diane-whitehouse                                                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DhiUJIJcvVAA                                                         |
-      | /collection/egovernment/document/interview-peter-blair                                                                                               | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DP8yfSsB6QUQ                                                         |
-      | /collection/egovernment/document/interview-zhang-bin                                                                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D_JXxxeR_jgE                                                         |
-      | /collection/egovernment/document/interview-jaro-berce                                                                                                | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DodVgvHvTKGs                                                         |
-      | /collection/egovernment/document/interview-trond-arne-undheim                                                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DYMvuVMC-EJs                                                         |
-      | /collection/egovernment/document/interview-peter-reichstaedter                                                                                       | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DpOe1R9AAr4o                                                         |
-      | /collection/egovernment/document/interview-frederic-lievens                                                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DQiIEPNZsURk                                                         |
-      | /collection/egovernment/document/interview-celia-boyer                                                                                               | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DMKkqLLYCQQM                                                         |
-      | /collection/egovernment/document/interview-jacqueline-bowman                                                                                         | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DRmQFEVpOGnA                                                         |
-      | /collection/egovernment/document/interview-dr-paul-timmers                                                                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DOFLqezqXuz0                                                         |
-      | /collection/egovernment/document/european-egovernment-awards-2007                                                                                    | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D78neWBuYr1k                                                         |
-      | /collection/egovernment/document/interview-giancarlo-senatore                                                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DqCrE_uX7YIo                                                         |
-      | /collection/egovernment/document/interview-nikos-ioannou                                                                                             | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DrPOLlRG5gtQ                                                         |
-      | /collection/egovernment/document/interview-sarah-eriksacn                                                                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DCTgMv4GylU0                                                         |
-      | /collection/egovernment/document/interview-morten-meyerhoff                                                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dk32VbbjbO2E                                                         |
-      | /collection/egovernment/document/what-do-you-think-about-epracticeeu-portal                                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DPmG5iIsBvmk                                                         |
-      | /collection/egovernment/document/interview-yorck-rabenstein                                                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DYY3pPyDBxig                                                         |
-      | /collection/education-culture-and-sport/document/p2p-al-motorshow-2007-it                                                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D1M-mWaXGbo4                                                         |
-      | /collection/egovernment/document/kick-workshop-may07                                                                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DJ16AkTttsj0                                                         |
-      | /collection/semic-support-centre/document/egovernment-semic-eu-interoperability-centre-europe                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D-9xSeMGiUJk                                                         |
-      | /collection/egovernment/document/internal-market-information-system-imi                                                                              | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DHpqhBQH66Os                                                         |
-      # Unpublished YT video.
-      #| /collection/ehealth/document/ehealth-better-healthcare-all-europe                                                                                    | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DzOAn4PPb89w                                                         |
-      | /collection/egovernment/document/video-european-egovernment-awards-2009-information-day                                                              | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DFvGumD4ZnfM                                                         |
-      | /collection/eidentity-and-esignature/document/eidentity-easier-acces-public-services-across-eu                                                       | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D2q_NFoDFbPQ                                                         |
-      # Unpublished YT videos.
-      #| /collection/ehealth/document/what-ehealth-bringing-healthcare                                                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DKfpYCyqP-PQ                                                         |
-      #| /collection/ehealth/document/virtual-physiological-human-what-it-exactly                                                                             | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DU7T7T60vu0g                                                         |
-      #| /collection/ehealth/document/what-link-between-football-game-local-hospital-and-gradma                                                               | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D1ST5Y27FhyQ                                                         |
-      | /collection/eidentity-and-esignature/document/protecting-privacy-digital-age-viviane-reding                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dv5dKvBOWY6Y                                                         |
-      | /collection/egovernment/document/interviews-european-egovernment-awards-2007-winners-part-2                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DuRHYCQwa8Zo                                                         |
-      | /collection/egovernment/document/interviews-european-egovernment-awards-2007-winners-part-1                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DJQU9BxHFWdI                                                         |
-      | /collection/eprocurement/document/european-commission-e-invoicing-project-demo-phase-2a                                                              | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DJ-h8zogtdeU                                                         |
-      | /collection/ehealth/document/new-frontiers-imaging-human-body                                                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DTmol05ijobs                                                         |
-      | /collection/ehealth/document/digital-fight-against-breast-cancer                                                                                     | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DHS7eXUWvKLw                                                         |
-      | /collection/ehealth/document/health-e-child-demonstration-healthgrid-2009                                                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D5MQDV_C7PAU                                                         |
-      | /collection/ehealth/document/phealth-2009-microsystems-and-phealth                                                                                   | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dc6xZ3NoVcg8                                                         |
-      | /collection/ehealth/document/phealth-2009-empowering-citizens-through-phealth                                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DrVV3OlMjc5U                                                         |
-      | /collection/ehealth/document/phealth-2009-microactive-project                                                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DgjNVHfmx8cY                                                         |
-      | /collection/ehealth/document/phealth-2009-smarthealth-project-cancer-diagnostics-technology                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DC1VZHv_IAeI                                                         |
-      | /collection/simple-procedures-online-cross-border-services-spocs/document/interview-mechthild-rohen-large-scale-pilot-project-spocs                  | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DwLiTtvqE5WE                                                         |
-      | /collection/egovernment/document/epractice                                                                                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DGvrJ0vPlWSE                                                         |
-      | /collection/eprocurement/document/e-prior-demo                                                                                                       | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DazLeZIorrDs                                                         |
-      | /collection/ehealth/document/workshop-telemedicine-interview-stefaan-callens-callens-law                                                             | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DEek1FI8vuMo                                                         |
-      # Unpublished YT videos.
-      #| /collection/ehealth/document/workshop-telemedicine-gerard-comyn-panel-discussion                                                                     | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DC0VLOzIIojI                                                         |
-      | /collection/ehealth/document/workshop-telemedicine-interview-petra-wilson-cisco                                                                      | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DipYD-xmgfIc                                                         |
-      | /collection/ehealth/document/workshop-telemedicine-interview-dr-pattynama-and-dr-jane-clemensen                                                      | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DXacOcqFzzkA                                                         |
-      | /collection/ehealth/document/workshop-telemedicine-presentation-catalina-dima-ec-series-1                                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DnBHe0FURURw                                                         |
-      | /collection/ehealth/document/workshop-telemedicine-presentation-catalina-dima-ec-series-2                                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DcPgjOhbdZyk                                                         |
-      | /collection/ehealth/document/workshop-telemedicine-presentation-catalina-dimaec-series-3                                                             | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DxPSojK0mwJY                                                         |
-      | /collection/ehealth/document/workshop-telemedicine-introduction-ilias-iakovidis-head-unit-ict-health-ec                                              | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DXyZIh-KB5y8                                                         |
-      | /collection/ehealth/document/workshop-telemedicine-introduction-ilias-iakovidis-head-unit-ict-health-ec-0                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DXyZIh-KB5y8                                                         |
-      | /collection/ehealth/document/workshop-telemedicine-conclusions-and-recommendations-series-1                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DRWArWQZwyGA                                                         |
-      | /collection/ehealth/document/workshop-telemedicine-conclusions-and-recommendations-series-2                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DOISvH6xHu0U                                                         |
-      | /collection/ehealth/document/workshop-telemedicine-conclusions-and-recommendations-series-3                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DoM4IJq47z14                                                         |
-      | /collection/egovernment/document/soa-workshop-interview-koert-declerq                                                                                | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DMv9ErM3MotE                                                         |
-      | /collection/egovernment/document/soa-workshop-interview-serge-novaretti-ec-french-version                                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DwLpPtmJQnkg                                                         |
-      | /collection/egovernment/document/soa-workshop-interview-serge-novaretti-ec-english-version                                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DKL8nv8HhweQ                                                         |
-      | /collection/egovernment/document/efficient-effective-egov-interview-juan-arregui-mc-gullion                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DqckxUmny3kk                                                         |
-      | /collection/egovernment/document/efficient-effective-egov-interview-baudoin-de-sonis-e-forum                                                         | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DNKwA9r6p0KY                                                         |
-      | /collection/egovernment/document/efficient-effective-egov-interview-christine-mahieu-fedict                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DKw-5i6PzB7Q                                                         |
-      | /collection/egovernment/document/efficient-effective-egov-concluding-remarks-juan-arregui-mc-gullion                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DBw_PO1XLQBQ                                                         |
-      | /collection/eprocurement/document/e-procurement-europe-open-e-prior-demo-sending-e-catalogue                                                         | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DTKXC7Gil2YA                                                         |
-      | /collection/ehealth/document/ehealth-week-event-epractice-tv-interview-agneta-granstrom-norbotten-council                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DFaqPfwVW5wg                                                         |
-      | /collection/ehealth/document/ehealth-week-epractice-tv-interview-claus-duedal-pedersen-region-south-denmark                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DbjmfqY8zsQs                                                         |
-      | /collection/ehealth/document/ehealth-week-epractice-tv-interview-nicole-denjoy-secretary-general-cocir                                               | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Do9ugrqyVtfI                                                         |
-      | /collection/ehealth/document/ehealth-week-event-epractice-tv-interview-mario-romao-intel                                                             | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DlZobT9b6D-4                                                         |
-      | /collection/ehealth/document/ehealth-week-event-epractice-tv-interview-peter-raeymaekers-flanderscare                                                | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D1VBLfYUO9jo                                                         |
-      | /collection/ehealth/document/ehealth-week-event-epractice-tv-interview-wytse-miedema-city-almere                                                     | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dr7gkoiHpIzM                                                         |
-      | /collection/open-source-observatory-osor/document/osor-event-epractice-tv-interview-ivo-radulovski-open-source-experts-chamber-commerce-austria      | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Daq5jY4gX6C0                                                         |
-      | /collection/open-source-observatory-osor/document/osor-event-epractice-tv-interview-mikael-torp-vaasa-university-applied-science-olle-eriksson-umeay | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DEKHTgMQlvOY                                                         |
-      | /collection/open-source-observatory-osor/document/osor-event-epractice-tv-interview-thomas-biskup-opensaga-initiative                                | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DwM_YnNHUgy0                                                         |
-      | /collection/egovernment/document/poznan-event-epractice-tv-video-paul-timmers-european-commission                                                    | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DLbkBq7Sxrfs                                                         |
-      | /collection/egovernment/document/poznan-event-epractice-tv-interview-wojciech-cellary-poznan-university-economics                                    | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DVFvkKvSg4Ek                                                         |
-      | /collection/egovernment/document/poznan-event-epractice-tv-interview-wendy-carrara-capgemini                                                         | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DYtxi6Ud4-Sw                                                         |
-      | /collection/egovernment/document/poznan-event-epractice-tv-interview-martine-delannoy-digital                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DzxpGBo2nN5g                                                         |
-      | /collection/egovernment/document/poznan-eventepractice-tv-video-neelie-kroes-vp-european-commission                                                  | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DY7etu9MCuLQ                                                         |
-      | /collection/egovernment/document/poznan-eventepractice-tv-video-neelie-kroes-vp-european-commission-0                                                | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DY7etu9MCuLQ                                                         |
-      | /collection/ehealth/document/ehealth-equity-global-health-communities-event-epractice-tv-interview-robert-johnstone-epf-iapot                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DY1-vDLyl0OI                                                         |
-      | /collection/ehealth/document/ehealth-equity-global-health-communities-epractice-tv-interview-mark-coeckelbergh-university-twente                     | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dnch0b-OzfsQ                                                         |
-      | /collection/egovernment/document/seamless-egovernment-epractice-tv-interview-morten-meyerhoff-nielsen-danish-agency-digitisation                     | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DN4YIFqezXiI                                                         |
-      | /collection/egovernment/document/seamless-egovernment-event-epractice-tv-interview-tunde-kallai-tr-associates                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DKkKGeCzXKj4                                                         |
-      | /collection/egovernment/document/effective-efficient-egovernment-services-event-epractice-tv-interview-emilio-garcia-garcia-spanish                  | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DThx8USmkYOM                                                         |
-      | /collection/egovernment/document/effective-efficient-egovernment-services-event-epractice-tv-interview-leslie-budd-anthony-meehan                    | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DjrcyC-EXie8                                                         |
-      | /collection/egovernment/document/effective-efficient-egovernment-services-event-epractice-tv-interview-mary-keeling-ibm                              | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DdJ68u9yCVK8                                                         |
-      | /collection/egovernment/document/collaborative-production-epractice-tv-interview-pablo-burgos-casado-spanish-ministry-industry-trade                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DixzMy8KGrXg                                                         |
-      | /collection/egovernment/document/collaborative-production-epractice-tv-interview-david-osimo-tech4i2                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dwi_ol9kfBUQ                                                         |
-      | /collection/egovernment/document/collaborative-production-epractice-tv-interview-pedro-prieto-martin-asociacion-ciudades-kyosei                      | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DzbXzjvJ4q74                                                         |
-      | /collection/egovernment/document/transparency-openness-epractice-tv-interview-kenneth-brown-communigram-sa                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DB50nf07IIog                                                         |
-      | /collection/egovernment/document/transparency-openness-epractice-tv-interview-meghan-cook-university-albany                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DC5yu_wiyFSc                                                         |
-      | /collection/egovernment/document/transparency-openness-epractice-tv-interview-prof-dr-jorn-von-lucke-zeppelin-university-ggmbh                       | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DtCJIN2xmioA                                                         |
-      | /collection/egovernment/document/cross-border-epractice-tv-interview-jon-olnes-difi                                                                  | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DzSOXAshG0iI                                                         |
-      | /collection/egovernment/document/cross-border-event-wendy-carrara-capgemini-capgemini-representing-spocs                                             | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DQhiV7axYSgY                                                         |
-      | /collection/egovernment/document/cross-border-event-marco-velludo-ett-srl                                                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dw6bwvM95U3o                                                         |
-      | /collection/eidentity-and-esignature/document/eid-event-edgar-krassowski-bearingpoint-werner-braun-atos-it-solutions                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DodsPiwL29ZQ                                                         |
-      | /collection/eidentity-and-esignature/document/eid-event-dr-aniyan-varghese-european-commission                                                       | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DWzM6l6O77Mw                                                         |
-      | /collection/eidentity-and-esignature/document/eid-event-david-kearns-kuppingercole                                                                   | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DR6sb3WhVDO4                                                         |
-      | /collection/ehealth/document/cip-workshop-epractice-tv-interview-ec-director-paul-timmers                                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dc_ZvEL1uCuQ                                                         |
-      | /collection/egovernment/document/user-centric-eservices-epractice-tv-interviewee-stephen-jewell-milton-keynes-council                                | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DOB4oIgxDZYY                                                         |
-      | /collection/nifo-national-interoperability-framework-observatory/document/eif-workshop-epractice-tvsoeren-bittins-massimiliano-massi                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DktRdUMfuDz0                                                         |
-      | /collection/nifo-national-interoperability-framework-observatory/document/eif-workshop-epractice-tv-interview-charles-parisot                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dx47GA9S8JBI                                                         |
-      | /collection/nifo-national-interoperability-framework-observatory/document/eif-workshop-epractice-tv-interview-jon-devlies                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D367A3fnWwP8                                                         |
-      | /collection/ehealth/document/eu-us-cooperation-ehealth-epractice-tv-interviewlaura-raimondo                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DS6WHbEJ1P3M                                                         |
-      | /collection/ehealth/document/eu-us-cooperation-ehealth-epractice-tv-interview-peteris-zilgalvis-ec                                                   | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DwMSRTYT6EVw                                                         |
-      | /collection/ehealth/document/eu-us-cooperation-ehealth-epractice-tv-interview-farzad-mostashari-us-dpt-health-human-services                         | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D9cjE84knWKI                                                         |
-      | /collection/ehealth/document/eu-us-cooperation-ehealth-epractice-tv-interview-doug-fridsma-us-dpt-health-human-services                              | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DrdoCp4HyrF8                                                         |
-      | /collection/ehealth/document/ehealth-business-modelling-epractice-tv-interview-karl-stroetmann-empirica                                              | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DYohhOOktcko                                                         |
-      | /collection/ehealth/document/ehealth-business-modelling-epractice-tv-interview-jeremy-thorp-nhs-department-health                                    | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DUqh2Bcb7yeM                                                         |
-      | /collection/ehealth/document/ehealth-business-modelling-epractice-tv-interview-dipak-kalra-ucleurorec-semantichealthnet                              | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DiZ1Ci9Z6j6c                                                         |
-      | /collection/ehealth/document/ehealth-business-modelling-video                                                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dci_8gmnGP8Y                                                         |
-      | /collection/egovernment/document/transparency-tv-interview-niels-van-der-linden-capgemini                                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DDSKQXlfiIes                                                         |
-      | /collection/egovernment/document/transparency-interview-ronny-patz-transparency-international                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DKr_4z6roNSM                                                         |
-      | /collection/egovernment/document/transparency-tv-interview-andrew-stott-uk-transparency-board                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D8-WJ_UPiER8                                                         |
-      | /collection/egovernment/document/interview-paul-timmers-large-scale-pilot-projects-cross-border-digital-public-services                              | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D2PsnEA966H8                                                         |
-      | /collection/egovernment/document/collabarative-tv-interview-joao-ricardo-vasconcelos-ama-agency-public-services-reform                               | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DKCYAh-9lMeU                                                         |
-      | /collection/egovernment/document/collabarative-tv-interview-derrick-pisani-malta-information-technology-agency-mita                                  | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DNRgvpxdKMk4                                                         |
-      | /collection/egovernment/document/collabarative-tv-interview-morten-meyerhoff-nielsen-danish-agency-digitisation                                      | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3De4UoJPSgc8g                                                         |
-      | /collection/egovernment/document/speech-mechthild-rohen-head-unit-dg-connect-ec-transparency                                                         | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DLlxqdhti5x8                                                         |
-      | /collection/egovernment/document/presentations-lsps-andor-their-industrial-partners                                                                  | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DJxyVftWjRts                                                         |
-      | /collection/egovernment/document/presentations-european-commission-and-key-note-speaker                                                              | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DQ90SdxdPeZk                                                         |
-      | /collection/ehealth/document/eu-us-ehealthhealth-it-cooperation-assembly-video                                                                       | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dva9bwuz2RSQ                                                         |
-      | /collection/ehealth/document/eskills-industry-perspective-challenges-and-opportunities-nicole-denjoy-cocir                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3De29GHnhk5_g                                                         |
-      | /collection/ehealth/document/developing-health-ict-skills-mary-cleary-irish-computer-society                                                         | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DDdYnkTipkOc                                                         |
-      | /collection/ehealth/document/camei-fostering-it-skills-healthcare-workforce-eu-and-us-stathis-konstantinidis                                         | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DrRpceLy_auM                                                         |
-      | /collection/ehealth/document/building-it-workforce-creating-capacity-e-health-cost-effectiveness-robyn-tamblyn                                       | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D2DVzgSJxnow                                                         |
-      | /collection/ehealth/document/presentation-chandra-brown-deputy-assistant-secretary-us-department-commerce                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D5pqDmEYvZHg                                                         |
-      | /collection/ehealth/document/trillium-bridge-project-catherin-chronaki                                                                               | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DqCOB4y7lGn4                                                         |
-      | /collection/ehealth/document/welcome-and-opening-remarks-alex-white-head-state-department-health-ireland                                             | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DEDz8jhF-O-o                                                         |
-      | /collection/ehealth/document/eu-us-shared-challenges-related-healthcare-workforce-it-skills-debate-session                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DFIjxyzA7AkY                                                         |
-      | /collection/ehealth/document/follow-speech-benoit-philippe-abeloos                                                                                   | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DjoquE3bvSXI                                                         |
-      | /collection/ehealth/document/welcome-speech-peteris-zilgalvis                                                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DjbGQiSXjSm0                                                         |
-      | /collection/ehealth/document/international-interoperability-ehrs-debate-session                                                                      | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D_OHya0HuaMk                                                         |
-      | /collection/ehealth/document/eu-us-ehealth-mou-roadmap-implementationwhere-do-we-go-here-doug-fridsma-peteris-zilgalvis                              | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dt9Pufvfiepo                                                         |
-      | /collection/ehealth/document/delivering-roadmap-regions-perspective-edwin-poots                                                                      | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D4jaY1l8st44                                                         |
-      | /collection/ehealth/document/therese-murray-president-massachusetts-senate                                                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DZWWhpWoV7F4                                                         |
-      | /collection/ehealth/document/enda-kenny-taoiseach                                                                                                    | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Ddjvvxivhfyw                                                         |
-      | /collection/ehealth/document/statewide-health-information-network-new-york-dave-whitlinger                                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DiljBwzuCHY4                                                         |
-      | /collection/ehealth/document/benoit-abeloos-dg-cnect-european-commission-dipak-karla                                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DbB38JWBNnEo                                                         |
-      | /collection/ehealth/document/benoit-abeloos-dg-cnect-european-commission-dipak-karla-0                                                               | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DbB38JWBNnEo                                                         |
-      | /collection/ehealth/document/us-department-veterans-affairs-progress-health-it-theresa-cullen                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DJ4b2MnZoUaE                                                         |
-      | /collection/ehealth/document/joint-presentations-eu-us-ehealthhealth-it-mou-roadmap-farzad-mostashari                                                | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DD6l2IyaHOlY                                                         |
-      | /collection/ehealth/document/joint-presentations-eu-us-ehealthhealth-it-mou-roadmap-peteris-zilgalvis                                                | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dq3PBX5hlyR0                                                         |
-      | /collection/egovernment/document/rethinking-how-we-work-together-dg-connect                                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DVHLyWCrLYyo                                                         |
-      | /collection/egovernment/document/collaboration-cost-efficient-development-sharing-know-how-experience-and-eservices-solutions                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DNTz1fhqpBsk                                                         |
-      | /collection/justice-law-and-security/document/improving-legislative-process-through-electronic-workflow-management-case-austria                      | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D8bw2earvlP4                                                         |
-      | /collection/egovernment/document/green-egovernment-making-public-administration-greener-egovernment                                                  | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D0mpbgvF7kUw                                                         |
-      | /collection/eparticipation-and-evoting/document/eparticipation-qa-session-epractice-tv-reinder-rustema                                               | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dff3m0iCYXZs                                                         |
-      | /collection/eparticipation-and-evoting/document/eparticipation-qa-session-epractice-tv-daniel-van-lerberghe                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DpdAObOM61d0                                                         |
-      | /collection/eparticipation-and-evoting/document/eparticipation-qa-session-epractice-tv-deirdre-lee                                                   | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D7L23g8k_GQ8                                                         |
-      | /collection/eparticipation-and-evoting/document/eparticipation-qa-session-epractice-tv-francesco-molinari                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DFSAQgizRI7E                                                         |
-      | /collection/eparticipation-and-evoting/document/eparticipation-qa-session-epractice-tv-hannes-leo                                                    | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D0oZcLdqpdQI                                                         |
-      | /collection/ehealth/document/introduction-welcome-european-commission-terje-peetso-dg-connect                                                        | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D8pBQ6Bu9-hc                                                         |
-      | /collection/ehealth/document/brain-mental-health-research-within-eu-framework-programme-caroline-attard-dg-rtd                                       | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DBfEJxtH5-eQ                                                         |
-      | /collection/ehealth/document/dg-sancos-initiatives-jurgen-scheftlein-eibhilin-manning                                                                | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DbpJxdWfwprE                                                         |
-      | /collection/ehealth/document/rempark-juan-manuel-moreno-tecnical-university-catalunya-upc                                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DqNrJYRTi-F8                                                         |
-      | /collection/ehealth/document/sensepark-project-holm-graessner-university-tubingen                                                                    | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DITecTRL92lI                                                         |
-      | /collection/ehealth/document/cupid-laura-rocchi-university-bologna                                                                                   | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D87qNrlEa4sQ                                                         |
-      | /collection/ehealth/document/verve-isabelle-viaud-delmon-cnrs-ircam                                                                                  | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D9_dpSNVrqjg                                                         |
-      | /collection/ehealth/document/perssilaa-jose-m-tormos-munoz-institut-guttmann-neurorehabilitation-hospital                                            | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DCmsuCFGUA6U                                                         |
-      | /collection/ehealth/document/help4mood-maria-klara-wolters-colin-matheson-school-informatics-university-edinburgh                                    | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DZjPqQy4KG_c                                                         |
-      | /collection/ehealth/document/psyche-gaetano-valenza-university-pisa                                                                                  | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DBmjBfoGhp0o                                                         |
-      | /collection/ehealth/document/roamer-carla-obradors-tarrago-parc-sanitari-sant-joan-de-deu-cibersam                                                   | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D0Sdrq93RBxQ                                                         |
-      | /collection/ehealth/document/interstress-andrea-gaggioli-istituto-auxologico-italiano                                                                | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DDLc1gsWZ3xU                                                         |
-      | /collection/ehealth/document/increasing-awareness-about-mental-health-ehealth-tool-prevent-suicide-vladimir-carli                                    | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D-jMwL7WutYE                                                         |
-      | /collection/ehealth/document/michelangelo-koushik-maharatna-university-southampton                                                                   | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DcEtwgtak4Ko                                                         |
-      | /collection/ehealth/document/proyouth-stephanie-bauer-center-psychotherapy-research-university-hospital-heidelberg                                   | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DR7YHOWx1XEs                                                         |
-      | /collection/ehealth/document/thrombusict-and-silico-medicine-guy-courbebaise-cnrs-insa-lyon                                                          | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DnXTzw17KoKo                                                         |
-      | /collection/ehealth/document/armor-project-epilepsy-vasileios-megalooikonomou-university-patras                                                      | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D2wEXFEmIDjk                                                         |
-      | /collection/ehealth/document/contrast-donatalla-mattia-irccs                                                                                         | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DBdhQOxTYlTE                                                         |
-      | /collection/ehealth/document/interaction-peter-veltink-university-twente                                                                             | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DnK0LvTtIWMk                                                         |
-      | /collection/ehealth/document/cogwatch-alan-wing-university-birmigham                                                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DxT8pHbnkVcM                                                         |
-      | /collection/ehealth/document/strokeback-steffen-ortmann-system-designsensornets-middleware-platform                                                  | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DuDUqcqpazmU                                                         |
-      | /collection/ehealth/document/vub-pressub-project-alexis-valenzuela-espinoza-vub                                                                      | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D9H6pGFEtD_A                                                         |
-      | /collection/ehealth/document/brain-reading-lab-and-home-brian-murphy-queens-university-belfast                                                       | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dsu6IoOEvjbU                                                         |
-      | /collection/ehealth/document/telemedicine-and-ehealth-neurology-reynold-greenlaw-oxford-computer-consultants-ltd                                     | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D4_jGkykzDaI                                                         |
-      | /collection/ehealth/document/sharing-approach-promoting-science-ilenia-gheno-age-platform-europe                                                     | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dery69O-mqGc                                                         |
-      | /collection/ehealth/document/concluding-remarks-terje-peetso-dg-connect                                                                              | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DthBa03X71VQ                                                         |
-      | /collection/egovernment/document/egov-reduction-admininstrative-burden-epractice-tv-interview-kris-blancke                                           | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DDML2B-Z1WjM                                                         |
-      | /collection/egovernment/document/egovernment-reduction-administrative-burden-epractice-tv-interview-mr-adam-mollerup                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DUy6FuWetkr8                                                         |
-      | /collection/egovernment/document/egovernment-reduction-administrative-burden-epractice-tv-interview-mr-siim-sikkut                                   | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D0JVD44Fjg_s                                                         |
-      | /collection/semic-support-centre/ai-interoperability                                                                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Da0D73k4bo2s                                                         |
-      | /collection/semic-support-centre/ai-interoperability                                                                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DfVsof3JSdsg%26t                                                     |
-      | /collection/semic-support-centre/ai-interoperability                                                                                                 | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3DMoEVJ4w548Q                                                         |
-      # Unpublished nodes.
-      #| /collection/interoperable-europe-academy/welcome                                                                                                     | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D4N-_UkN5RY0                                                         |
-      #| /collection/interoperable-europe-academy/welcome-copy                                                                                                | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D4N-_UkN5RY0                                                         |
-      #| /collection/interoperable-europe-academy/welcome                                                                                                     | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3D4N-_UkN5RY0                                                         |
-      | /collection/semic-support-centre/news/semic-finland                                                                                                  | /media/oembed?url=https%3A//www.youtube.com/watch%3Fv%3Dv_zfpXgm9wE                                                         |
-
-  Scenario Outline: Validate the iframe filter on existing content.
-    # Ensures the following iframes are present.
-    # Data extracted from https://gist.github.com/vever001/40b389178bdd51b4cf7ced39dd941e57
-    Given I visit "<path>"
-    And I should see the "iframe" element with the "src" attribute set to "<iframe_src>" in the "Content" region
-    And I should see a ".ratio.ratio-16x9 > iframe" element
-
-    Examples:
-      | path                                                                                                                                      | iframe_src                                                                                                                                                                                                                        |
-      | /collection/joinup/training                                                                                                               | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/GWEzmhzAZz4HM3&lang=en                                                                                                                |
-      | /collection/joinup/training                                                                                                               | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/mdb36u60yDEvfk&lang=en                                                                                                                |
-      | /collection/joinup/training                                                                                                               | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/KYkwwS80C0ZXfw&lang=en                                                                                                                |
-      | /collection/joinup/training                                                                                                               | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/hHZXXoDhFtAGZ2&lang=en                                                                                                                |
-      | /collection/joinup/training                                                                                                               | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/iuauNlcgVNMFQW&lang=en                                                                                                                |
-      | /collection/joinup/training                                                                                                               | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/6Sohs7Oot1mGPB&lang=en                                                                                                                |
-      | /collection/open-source-observatory-osor/osor-implementation                                                                              | /modules/custom/joinup_communities/osor/static_pages/implementation.html                                                                                                                                                          |
-      | /collection/open-source-observatory-osor/eu-solutions                                                                                     | /modules/custom/joinup_communities/osor/static_pages/eu-solutions.html                                                                                                                                                            |
-      | /collection/open-source-observatory-osor/share-reuse                                                                                      | /modules/custom/joinup_communities/osor/static_pages/share-reuse.html                                                                                                                                                             |
-      | /collection/open-source-observatory-osor/worldwide                                                                                        | /modules/custom/joinup_communities/osor/static_pages/worldwide.html                                                                                                                                                               |
-      | /collection/open-source-observatory-osor/description                                                                                      | /modules/custom/joinup_communities/osor/static_pages/description.html                                                                                                                                                             |
-      | /collection/open-source-observatory-osor/innovation-champions                                                                             | /modules/custom/joinup_communities/osor/static_pages/innovation-champions.html                                                                                                                                                    |
-      | /collection/semic-support-centre/core-vocabularies                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/F8aVByUSQvHcqJ&lang=en                                                                                                                |
-      | /collection/semic-support-centre/adms                                                                                                     | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/watch%3Fv%3DtJRWluM_Slk&lang=en                                                                                                                           |
-      | /collection/semantic-interoperability-community-semic/cop-data-standards                                                                  | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/4Vgha02zcIlaUN&lang=en                                                                                                                |
-      | /collection/european-union-location-framework-eulf/eulf-transportation-pilot                                                              | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/jnny5ATwTYE&lang=en                                                                                                                                 |
-      | /collection/european-union-location-framework-eulf/eulf-marine-pilot                                                                      | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/ROJqljr8aDU&lang=en                                                                                                                                 |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/-gm5CyIiZOg&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/ONsIdinKgKI&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/NCmfcYl8uTY&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/bS5GQvvBQhM&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/7fmWhd6fhGM&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/sA8lQslKsNE&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/j1LMolFsWdg&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/D1EKrrHhbJU&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/Yc1v0I_JmAs&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/HxSoVgREbz8&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/4eGa-PBSIO0&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/_KwvMJme8ls&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/bKpuod4cpIk&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/ZnVaI5cV13Q&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/XdBwmPDX3Sc&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/8T4_ExrYvBY&lang=en                                                                                                                                         |
-      | /collection/semantic-interoperability-community-semic/resources                                                                           | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/m-71dQRuEZs&lang=en                                                                                                                                         |
-      | /collection/eprocurement/open-standards-ict-procurement                                                                                   | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/SEpqsDvJXP4&lang=en                                                                                                                                 |
-      | /collection/eprocurement/open-standards-ict-procurement                                                                                   | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/yjqC84Y7oLA&lang=en                                                                                                                                 |
-      | /collection/eprocurement/open-standards-ict-procurement                                                                                   | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/Lm4gh_VZEdg&lang=en                                                                                                                                 |
-      | /collection/eprocurement/open-standards-ict-procurement                                                                                   | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/Vry9ASRHBUI&lang=en                                                                                                                                 |
-      # Unpublished node.
-      #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//app.powerbi.com/embed%3FdashboardId%3Db5f50796-6e97-4dc5-a755-00cf4405e029%26tileId%3De9c81853-3263-4f30-af4b-63fad7d79627%26groupId%3Dbe8908da-da25-452e-b220-163f52476cdd%26config%3DeyJjbHVzdGVyVXJsIjoiaHR0cHM6Ly9XQUJJLVVTLU5PUlRILUNFTlRSQUwtcmVkaXJlY3QuYW5hbHlzaXMud2luZG93cy5uZXQiLCJlbWJlZEZlYXR1cmVzIjp7Im1vZGVybkVtYmVkIjpmYWxzZX19%3AEmbed%3Dtrue&lang=en |
-      #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | demo_iframe.htm                                                                                                                                                                                                                                                                                                                                                                                                                |
-      #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/Rk8dCnKIfP4&lang=en                                                                                                                                                                                                                                                                                                                              |
-      #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//web.jrc.ec.europa.eu/dashboard/AI_WATCH_LANDSCAPE/index.html&lang=en                                                                                                                                                                                                                                                                                                   |
-      #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//joinup.ec.europa.eu/&lang=en                                                                                                                                                                                                                                                                                                                                           |
-      #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//app.powerbi.com/view%3Fr%3DeyJrIjoiM2FlOWZjYTMtMzkzMC00NzE3LTlmNTMtZGQ3YTdhYzU1MGI0IiwidCI6ImIyNGM4YjA2LTUyMmMtNDZmZS05MDgwLTcwOTI2ZjhkZGRiMSIsImMiOjh9&lang=en                                                                                                                                                                                                        |
-      #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//app.powerbi.com/reportEmbed%3FreportId%3Dd92ff3a1-73db-4f6c-9048-f319cfc28ddb%26autoAuth%3Dtrue%26ctid%3Db24c8b06-522c-46fe-9080-70926f8dddb1%26config%3DeyJjbHVzdGVyVXJsIjoiaHR0cHM6Ly93YWJpLWV1cm9wZS1ub3J0aC1iLXJlZGlyZWN0LmFuYWx5c2lzLndpbmRvd3MubmV0LyJ9&lang=en                                                                                                  |
-      #| /collection/elise-european-location-interoperability-solutions-e-government/test-iframe-and-embedding-options                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//flo.uri.sh/visualisation/5015342/embed&lang=en                                                                                                                                                                                                                                                                                                                         |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//joinup.ec.europa.eu/sites/default/files/custom-page/attachment/2020-08/SEMIC%2520Conference%25202019.pdf%20&lang=en                                                       |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//joinup.ec.europa.eu/sites/default/files/inline-files/SEMIC%202018%20Conference%20Highlights%20Report.pdf&lang=en                                                          |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//joinup.ec.europa.eu/sites/default/files/custom-page/attachment/2018-01/semic_highlights_report_final.pdf&lang=en                                                          |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/xVWnBWWXIROImv&lang=en                                                                                                                |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/FiS2P6zGZbqBbk&lang=en                                                                                                                |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/4QZYbqSYvKa4FA&lang=en                                                                                                                |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/2mhzTCr2wDy8Vw&lang=en                                                                                                                |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/CrQ44ua8vGQ4aa&lang=en                                                                                                                |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/nzHQ73OgZQ4Xtz&lang=en                                                                                                                |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/xVWnBWWXIROImv&lang=en                                                                                                                |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/FiS2P6zGZbqBbk&lang=en                                                                                                                |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/4QZYbqSYvKa4FA&lang=en                                                                                                                |
-      | /collection/semic-support-centre/semic-conference                                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/2mhzTCr2wDy8Vw&lang=en                                                                                                                |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252FmfcCzaL6Jqc%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252FTgoqai86UJw%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252Fyr56PuO7aQo%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252F4B2DPBcG778%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252F9I8IOhsg2hg%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252FNok1z6yQCiY%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252FCWMFbO5Ciz8%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252FclNaCWa1h4c%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252FcIIWRa8iZjg%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252F_DxvmZ2EWE0%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252FIsheCmzs4Gk%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252FhsDowSWRsrI%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252F73zfTFeuP3E%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252FmOWYQbW87VI%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252FBg70I5q6uPI%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252Fx22TEeU89i0%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252F47mhNBkveC0%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252Fh4-DqkZ81MQ%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252F_e-XFqYZBR0%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252F9I8IOhsg2hg%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252FvsEwPEcleJ8%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/old-outreach-page                                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//europa.eu/webtools/crs/iframe/%3Foriurl%3Dhttps%253A%252F%252Fwww.youtube-nocookie.com%252Fembed%252FDMMR-icTRZs%253Fautoplay%253D0%2526start%253D0%2526rel%253D0&lang=en |
-      | /collection/semic-support-centre/document/semiceu-conference-2011-rethinking-semantic-interoperability-through-collaboration              | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/2mhzTCr2wDy8Vw&lang=en                                                                                                                |
-      | /collection/semic-support-centre/document/core-location-pilot-interconnecting-belgian-address-data                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/23453101&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm11-psi-directive-and-open-government-data-en                                                       | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/23560585&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm12-introduction-linked-data-en                                                                     | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/23402165&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm11-donnees-publiques-ouvertes-la-directive-psi-fr                                                  | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/25897948&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm12-introduction-aux-donnees-liees-fr                                                               | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/25891501&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm13-introduction-rdf-sparql-en                                                                      | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/22546583&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm13-introduction-aux-rdf-sparql-fr                                                                  | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/25891574&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm14-introduction-metadata-management-en                                                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/23504382&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm14-introduction-la-gestion-des-metadonnees-fr                                                      | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/25891645&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm15-promoting-reuse-open-government-data-through-open-data-interoperability-platform-odip-en        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/23404520&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm15-promouvoir-la-reutilisationting-des-donnees-publiques-ouvertes-travers-lopen-data               | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/25891767&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm21-linked-open-government-data-metadata-lifecycle-en                                               | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/23574611&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm21-le-cycle-de-vie-des-donnees-et-metadonnees-publiques-liees-ouvertes-fr                          | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/25891828&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm22-open-data-metadata-quality-en                                                                   | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/rFsDzox3GHdFHm&lang=en                                                                                                                |
-      | /collection/open-government/document/tm22-la-qualite-des-donnees-et-metadonnees-ouvertes-fr                                               | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/25891857&lang=en                                                                                                                  |
-      | /collection/ehealth/document/tm23-design-manage-persistent-uris-en                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/22546836&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm24-designing-and-developing-rdf-vocabularies-en                                                    | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/22545146&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm25-data-metadata-licensing-en                                                                      | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/22547057&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm23-concevoir-et-gerer-des-uris-persistants-fr                                                      | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/25891912&lang=en                                                                                                                          |
-      | /collection/open-government/document/tm24-concevoir-et-developper-des-vocabulaires-rdf-fr                                                 | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/25891960&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm25-licences-pour-les-donnees-et-les-metadonnees-fr                                                 | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/25911138&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm12-einfuhrung-linked-data-de                                                                       | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/26575021&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm13-einfuhrung-rdf-sparql-de                                                                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/26575054&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm14-einfuhrung-metadatenverwaltung-de                                                               | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/26575071&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm11-die-psi-richtline-und-offene-regierungsdaten-de                                                 | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/26570999&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm15-forderung-der-wiederverwendung-von-offenen-regierungsdaten-durch-die-open-data-interoperability | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/26575099&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm21-der-lebenszyklus-von-linked-offenen-regierungsdaten-de                                          | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/26575304&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm22-einfuhrung-offene-daten-qualitat-de                                                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/26575163&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm23-das-entwerfen-und-die-verwaltung-von-persistenten-uris-de                                       | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/26575175&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm25-lizenzen-fur-daten-und-metadaten-de                                                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/26575207&lang=en                                                                                                                  |
-      | /collection/open-government/document/tm24-das-entwerfen-und-die-entwicklung-von-vokabularen-rdf-de                                        | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/txrDysYoqCo8KF&lang=en                                                                                                                |
-      | /collection/open-government/document/ods-onsite-training-onsite-training-european-commission-0                                            | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/dpaEp0GDwhJkDU&lang=en                                                                                                                |
-      | /collection/ehealth/document/monarca-monitoring-treatment-and-prediction-bipolar-disorder-episodes-monarca                                | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/OCmfF7UGjrA%3Ffeature%3Dplayer_detailpage%22&lang=en                                                                                                        |
-      | /collection/ehealth/document/monarca-monitoring-treatment-and-prediction-bipolar-disorder-episodes-monarca                                | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/UVS0cAxlQxM%3Ffeature%3Dplayer_detailpage&lang=en                                                                                                           |
-      | /collection/eidentity-and-esignature/document/forsee-regional-ict-foresight-exercise-southeast-european-countries-forsee                  | https://webtools.europa.eu/crs/iframe/?oriurl=http%3A//www.slideshare.net/slideshow/embed_code/14600402%3Frel%3D0&lang=en                                                                                                         |
-      | /collection/ehealth/document/ess-emergency-support-system-ess                                                                             | https://webtools.europa.eu/crs/iframe/?oriurl=http%3A//www.youtube.com/embed/PbnKLjgxOQY&lang=en                                                                                                                                  |
-      | /collection/ehealth/document/rempark-personal-health-device-remote-and-autonomous-management-parkinsons-disease-rempark                   | https://webtools.europa.eu/crs/iframe/?oriurl=http%3A//www.youtube.com/embed/HI-_tD4ZNBI&lang=en                                                                                                                                  |
-      | /collection/ehealth/document/interstress-interreality-management-and-treatment-stress-related-disorders-interstress                       | https://webtools.europa.eu/crs/iframe/?oriurl=http%3A//www.youtube.com/embed/ISOkSm7mKWY&lang=en                                                                                                                                  |
-      | /collection/ehealth/document/interstress-interreality-management-and-treatment-stress-related-disorders-interstress                       | https://webtools.europa.eu/crs/iframe/?oriurl=http%3A//www.youtube.com/embed/8c4Vx6KT2fs%23t%3D109&lang=en                                                                                                                        |
-      | /collection/ehealth/document/interstress-interreality-management-and-treatment-stress-related-disorders-interstress                       | https://webtools.europa.eu/crs/iframe/?oriurl=http%3A//www.youtube.com/embed/Ui60vkzqnA0&lang=en                                                                                                                                  |
-      | /collection/ehealth/document/help4mood-help4mood                                                                                          | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/T4eE7vAzS5A%3Ffeature%3Dplayer_detailpage&lang=en                                                                                                           |
-      | /collection/einclusion/document/verve-vanquishing-fear-and-apathy-through-e-inclusion-verve                                               | https://webtools.europa.eu/crs/iframe/?oriurl=//player.vimeo.com/video/41301242&lang=en                                                                                                                                           |
-      | /collection/open-government/document/open-dai-opening-data-architectures-and-infrastructures-open-dai                                     | https://webtools.europa.eu/crs/iframe/?oriurl=//www.youtube.com/embed/L44nS3gLcOA&lang=en                                                                                                                                         |
-      | /collection/egovernment/document/company-dossier-company-dossier                                                                          | https://webtools.europa.eu/crs/iframe/?oriurl=http%3A//www.youtube.com/embed/NIVjuS8fqM4&lang=en                                                                                                                                  |
-      | /collection/environment/document/uks-cap-itc-solution-successes-and-issues                                                                | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/fczqFhmong0&lang=en                                                                                                                                 |
-      | /collection/open-government/document/tm11-avalikud-avaandmed-psi-direktiiv-et                                                             | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/g3jWMyZdSydCEw&lang=en                                                                                                                |
-      | /collection/open-government/document/tm22-avaandmete-metaandmete-kvaliteet-et                                                             | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/6iw7S7ZPWS8lAZ&lang=en                                                                                                                |
-      | /collection/open-government/document/tm24-rdf-sonastike-kujundamine-ja-arendamine-et                                                      | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/yHNOqYxfKo6qDj&lang=en                                                                                                                |
-      | /collection/open-government/document/tm25-andmete-metaandmete-litsentseerimine-et                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/6Y84yK7XyjfyE7&lang=en                                                                                                                |
-      | /collection/open-government/document/general-presentation-european-data-portal                                                            | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/K4mcaREwNaqygM&lang=en                                                                                                                |
-      | /collection/open-government/document/general-presentation-european-data-portal-0                                                          | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/K4mcaREwNaqygM&lang=en                                                                                                                |
-      | /collection/egovernment/document/pgetic-reducing-it-costs-portugals-public-administration-pgetic                                          | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/ajLuJTPG9O8&lang=en                                                                                                                                 |
-      | /collection/semantic-interoperability-community-semic/solution/eu-budget-vocabulary/document/eu-budget-dashboard                          | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/uUMpdhhqTMM%3Fstart%3D1636&lang=en                                                                                                                  |
-      | /collection/open-source-observatory-osor/document/case-ospos-government-and-academia                                                      | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/1GE4DrBprfw&lang=en                                                                                                                                 |
-      | /collection/semic-support-centre/event/semic-2013-semantic-interoperability-conference-2013                                               | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/FiS2P6zGZbqBbk&lang=en                                                                                                                |
-      | /collection/semic-support-centre/event/semic-2014-semantic-interoperability-conference                                                    | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/xVWnBWWXIROImv&lang=en                                                                                                                |
-      | /collection/semic-support-centre/event/semic-2015-semantic-interoperability-conference                                                    | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.slideshare.net/slideshow/embed_code/key/nzHQ73OgZQ4Xtz&lang=en                                                                                                        |
-      | /collection/semic-support-centre/event/semic-2016-semantic-interoperability-conference                                                    | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/LyWU4767INcDDL&lang=en                                                                                                                |
-      | /collection/egovernment/event/3rd-once-only-stakeholder-workshop-september-19th-athens-greece                                             | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//player.vimeo.com/video/203987550&lang=en                                                                                                                                  |
-      | /collection/semantic-interoperability-community-semic/solution/eu-budget-vocabulary/event/linked-eu-budget-webinar                        | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/uUMpdhhqTMM&lang=en                                                                                                                                 |
-      | /collection/european-union-location-framework-eulf/news/eulf-contribution-semi                                                            | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/jnny5ATwTYE&lang=en                                                                                                                                 |
-      | /collection/open-source-observatory-osor/news/ods-onsite-training-onsite                                                                  | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/dpaEp0GDwhJkDU&lang=en                                                                                                                |
-      | /collection/open-source-observatory-osor/news/ods-onsite-training-eu                                                                      | https://webtools.europa.eu/crs/iframe/?oriurl=//www.slideshare.net/slideshow/embed_code/key/mPsHRU3WRczRuJ&lang=en                                                                                                                |
-      | /collection/egovernment/news/why-it-professionalism-imp                                                                                   | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/fNvDri9coYE&lang=en                                                                                                                                 |
-      | /collection/european-committee-standardization-cen/news/why-use-european-e-compet                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/2QBvofzlVkE&lang=en                                                                                                                                 |
-      | /collection/education-culture-and-sport/news/why-use-european-e-compet                                                                    | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/2QBvofzlVkE&lang=en                                                                                                                                 |
-      | /collection/ehealth/news/spanish-ehealth-experts                                                                                          | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/oBFILzlRbkg&lang=en                                                                                                                                 |
-      | /collection/european-interoperability-reference-architecture-eira                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/H8R8wcMmIOM&lang=en                                                                                                                                 |
-      | /collection/european-interoperability-reference-architecture-eira                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/RWhoy3ilYEA&lang=en                                                                                                                                 |
-      | /collection/european-interoperability-reference-architecture-eira                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/1tp4DgozdjQ%3Frel%3D0&lang=en                                                                                                                       |
-      | /collection/european-interoperability-reference-architecture-eira                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/H8R8wcMmIOM&lang=en                                                                                                                                 |
-      | /collection/european-interoperability-reference-architecture-eira                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/RWhoy3ilYEA&lang=en                                                                                                                                 |
-      | /collection/european-interoperability-reference-architecture-eira                                                                         | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//www.youtube.com/embed/1tp4DgozdjQ%3Frel%3D0&lang=en                                                                                                                       |
-
-  Scenario Outline: Validate the iframe filter on existing content.
-    # Ensures the following iframes are not present (filtered out).
-    # Data extracted from https://gist.github.com/vever001/40b389178bdd51b4cf7ced39dd941e57
-    Given I visit "<path>"
-    And I should not see the "iframe" element with the "src" attribute set to "<iframe_src>" in the "Content" region
-    And I should not see a ".ratio.ratio-16x9 > iframe" element
-
-    Examples:
-      | path                                                                                                 | iframe_src                                                                                                                                                                                                                                |
-      | /collection/egovernment/plenary-sessions-video                                                       | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//secure.metacdn.com/r/l/bdhvwiywf/tipik01/embed&lang=en                                                                                                                            |
-      | /collection/egovernment/tracks-21-and-22-video                                                       | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//secure.metacdn.com/r/l/bdhvwiywf/tipik02/embed&lang=en                                                                                                                            |
-      | /collection/egovernment/tracks-11-and-12-video                                                       | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//secure.metacdn.com/r/l/bdhvwiywf/tipik03/embed&lang=en                                                                                                                            |
-      | /collection/semic-support-centre/semic-2017-web-streaming                                            | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//livestream.com/accounts/7777696/events/7485458/player%3Fwidth%3D640%26height%3D360%26enableInfoAndActivity%3Dtrue%26defaultDrawer%3Dfeed%26autoPlay%3Dtrue%26mute%3Dfalse&lang=en |
-      | /collection/semantic-interoperability-community-semic/semic-2018-web-streaming                       | https://webtools.europa.eu/crs/iframe/?oriurl=https%3A//livestream.com/accounts/7777696/events/8168008/player%3Fwidth%3D960%26height%3D540%26enableInfoAndActivity%3Dtrue%26defaultDrawer%3Dfeed%26autoPlay%3Dtrue%26mute%3Dfalse&lang=en |
-      | /collection/eparticipation-and-evoting/document/epolicy-engineering-policy-making-life-cycle-epolicy | https://webtools.europa.eu/crs/iframe/?oriurl=http%3A//www.epolicy-project.eu/sites/default/files/public/e-policy_wo.mp4&lang=en                                                                                                          |
-      | /collection/semic-support-centre/news/semantic-interoperability-0                                    | https://webtools.europa.eu/crs/iframe/?oriurl=http%3A//opengov.testproject.eu/embed&lang=en                                                                                                                                               |
diff --git a/web/modules/custom/joinup_core/joinup_core.deploy.php b/web/modules/custom/joinup_core/joinup_core.deploy.php
index 688c6f52c0..33814e44ab 100644
--- a/web/modules/custom/joinup_core/joinup_core.deploy.php
+++ b/web/modules/custom/joinup_core/joinup_core.deploy.php
@@ -13,32 +13,3 @@
  */
 
 declare(strict_types=1);
-
-/**
- * Remove hard bounced emails (aka “permanent” bounces).
- */
-function joinup_core_deploy_200000(array &$sandbox): string {
-  if (empty($sandbox['usernames'])) {
-    $sandbox['usernames'] = str_getcsv(file_get_contents(__DIR__ . "/fixtures/bounce_username.csv"));
-    $sandbox['progress'] = 0;
-    $sandbox['total'] = count($sandbox['usernames']);
-  }
-
-  $usernames = array_splice($sandbox['usernames'], 0, 50);
-
-  foreach ($usernames as $username) {
-    $user = user_load_by_name($username);
-    if ($user) {
-      $edit = ['user_cancel_notify' => FALSE];
-      // Call the user_cancel to cancel and log.
-      user_cancel($edit, $user->id(), 'joinup_user_cancel');
-    }
-    else {
-      \Drupal::logger('joinup_core')->warning('No user found for username: @username', ['@username' => $username]);
-    }
-    $sandbox['progress']++;
-  }
-
-  $sandbox['#finished'] = $sandbox['progress'] / $sandbox['total'];
-  return "Progress: {$sandbox['progress']}/{$sandbox['total']} of users.";
-}
diff --git a/web/modules/custom/joinup_media/joinup_media.post_update.php b/web/modules/custom/joinup_media/joinup_media.post_update.php
index 76614f942d..14158d8807 100644
--- a/web/modules/custom/joinup_media/joinup_media.post_update.php
+++ b/web/modules/custom/joinup_media/joinup_media.post_update.php
@@ -6,55 +6,3 @@
  */
 
 declare(strict_types=1);
-
-use Drupal\field\Entity\FieldConfig;
-use Drupal\joinup_media\Update\MediaOembedMigrate;
-use Drupal\user\Entity\Role;
-
-/**
- * Migrates media video to remote_video.
- */
-function joinup_media_post_update_111400(array &$sandbox): string {
-  /** @var \Drupal\joinup_media\Update\MediaOembedMigrate $update */
-  $update = \Drupal::classResolver(MediaOembedMigrate::class);
-  return $update->migrateMedia($sandbox);
-}
-
-/**
- * Migrates video paragraphs field (paragraph_video_url > remote_video).
- */
-function joinup_media_post_update_111401(array &$sandbox): string {
-  /** @var \Drupal\joinup_media\Update\MediaOembedMigrate $update */
-  $update = \Drupal::classResolver(MediaOembedMigrate::class);
-  return $update->migrateParagraphs($sandbox);
-}
-
-/**
- * Uninstall video_embed_field module.
- */
-function joinup_media_post_update_111402(): void {
-  // Delete old fields (preventing uninstall).
-  FieldConfig::loadByName('media', 'video', 'video')->delete();
-  FieldConfig::loadByName('paragraph', 'video', 'paragraph_video_url')->delete();
-
-  // Delete permissions (preventing uninstall).
-  $all_permissions = array_keys(\Drupal::service('user.permissions')->getPermissions());
-  foreach (Role::loadMultiple() as $role) {
-    // Revoke old video_embed_field permission.
-    $role->revokePermission('never autoplay videos');
-
-    // Remove invalid permissions preventing save.
-    $role_permissions = $role->getPermissions();
-    $invalid_permissions = array_diff($role_permissions, $all_permissions);
-    foreach ($invalid_permissions as $permission) {
-      $role->revokePermission($permission);
-    }
-
-    $role->save();
-  }
-
-  // Uninstall video_embed_field.
-  /** @var \Drupal\Core\Extension\ModuleInstallerInterface $module_installer */
-  $module_installer = \Drupal::service('module_installer');
-  $module_installer->uninstall(['video_embed_field']);
-}
diff --git a/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php b/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php
index b0a2f1523c..fac8699635 100644
--- a/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php
+++ b/web/modules/custom/joinup_rdf/joinup_rdf.deploy.php
@@ -6,780 +6,3 @@
  */
 
 declare(strict_types=1);
-
-use Drupal\Core\Entity\Sql\SqlEntityStorageInterface;
-use Drupal\Core\Language\LanguageInterface;
-use Drupal\joinup_rdf\MigrationHelper;
-
-/**
- * Disable RDF Sync for the deployment.
- */
-function joinup_rdf_deploy_200000(): void {
-  \Drupal::getContainer()->get('rdf_sync.synchronizer')->disableSynchronization();
-}
-
-/**
- * Migrate collections.
- */
-function joinup_rdf_deploy_200001(array &$sandbox): string {
-  $endpoint = \Drupal::getContainer()->get('rdf_sync.connection');
-  if (empty($sandbox['collections'])) {
-    $query = <<<SPARQL
-      SELECT DISTINCT ?id
-      FROM <http://joinup.eu/collection/published>
-      FROM <http://joinup.eu/collection/draft>
-      WHERE {
-        ?id a ?type .
-      }
-      SPARQL;
-    $results = $endpoint->query($query)->getArrayCopy();
-    $sandbox['collections'] = array_map(fn(\stdClass $result) => $result->id->getUri(), $results);
-    $sandbox['progress'] = 0;
-    $sandbox['total'] = count($sandbox['collections']);
-  }
-
-  $uris = array_splice($sandbox['collections'], 0, 50);
-  $migration_helper = \Drupal::getContainer()->get('joinup_rdf.migration_helper');
-  $start = microtime(TRUE);
-  foreach ($uris as $uri) {
-    $migration_helper->migrateGroup('collection', $uri);
-    $sandbox['progress']++;
-  }
-
-  $finish = microtime(TRUE);
-  $sandbox['#finished'] = $sandbox['progress'] / $sandbox['total'];
-  return "Progress: {$sandbox['progress']}/{$sandbox['total']} in " . round($finish - $start, 2) . 's';
-}
-
-/**
- * Migrate solutions.
- */
-function joinup_rdf_deploy_200002(array &$sandbox): string {
-  $endpoint = \Drupal::getContainer()->get('rdf_sync.connection');
-  if (empty($sandbox['solutions'])) {
-    $collections = \Drupal::database()->select('rdf_sync_uri')
-      ->fields('rdf_sync_uri', ['uri', 'entity_id'])
-      ->condition('entity_type', 'node')
-      ->condition('bundle', 'collection')
-      ->execute()
-      ->fetchAllKeyed();
-
-    $query = <<<SPARQL
-      SELECT ?collection ?solution
-      FROM <http://joinup.eu/collection/published>
-      FROM <http://joinup.eu/collection/draft>
-      WHERE {
-        ?collection <http://www.w3.org/ns/dcat#dataset> ?solution .
-      }
-      SPARQL;
-    $results = $endpoint->query($query)->getArrayCopy();
-
-    // Store the relation between solution URI and collection NID.
-    $sandbox['solution_to_collection'] = [];
-    foreach ($results as $row) {
-      $sandbox['solution_to_collection'][$row->solution->getUri()] = (int) $collections[$row->collection->geturi()];
-    }
-
-    $query = <<<SPARQL
-      SELECT DISTINCT ?id
-      FROM <http://joinup.eu/solution/published>
-      FROM <http://joinup.eu/solution/draft>
-      WHERE {
-        ?id a ?type .
-      }
-      SPARQL;
-    $results = $endpoint->query($query)->getArrayCopy();
-    $sandbox['solutions'] = array_map(fn(\stdClass $result) => $result->id->getUri(), $results);
-    $sandbox['progress'] = 0;
-    $sandbox['total'] = count($sandbox['solutions']);
-  }
-
-  $uris = array_splice($sandbox['solutions'], 0, 50);
-  $migration_helper = \Drupal::getContainer()->get('joinup_rdf.migration_helper');
-  $start = microtime(TRUE);
-  foreach ($uris as $uri) {
-    if (empty($sandbox['solution_to_collection'][$uri])) {
-      throw new \Exception("Collection not found for solution: $uri");
-    }
-    $migration_helper->migrateGroup('solution', $uri, $sandbox['solution_to_collection'][$uri]);
-    $sandbox['progress']++;
-  }
-
-  $finish = microtime(TRUE);
-  $sandbox['#finished'] = $sandbox['progress'] / $sandbox['total'];
-  return "Progress: {$sandbox['progress']}/{$sandbox['total']} in " . round($finish - $start, 2) . 's';
-}
-
-/**
- * Clean the collection and solution graphs.
- */
-function joinup_rdf_deploy_200003(): void {
-  $endpoint = \Drupal::getContainer()->get('rdf_sync.connection');
-  $endpoint->update('CLEAR GRAPH <http://joinup.eu/collection/published>');
-  $endpoint->update('CLEAR GRAPH <http://joinup.eu/collection/draft>');
-  $endpoint->update('CLEAR GRAPH <http://joinup.eu/solution/published>');
-  $endpoint->update('CLEAR GRAPH <http://joinup.eu/solution/draft>');
-}
-
-/**
- * Restore group reference tables.
- */
-function joinup_rdf_deploy_200004(): void {
-  $db = \Drupal::database();
-  $schema = $db->schema();
-  foreach (MigrationHelper::GROUP_REF_TABLES as [$entityTypeId, $fieldName, $hasRevisions]) {
-    $tables = ["{$entityTypeId}__$fieldName"];
-    if ($hasRevisions) {
-      $tables[] = "{$entityTypeId}_revision__$fieldName";
-    }
-    foreach ($tables as $table) {
-      $query = $db->select("b_$table", 'b');
-      $query->innerJoin('rdf_sync_uri', 'u', "b.{$fieldName}_target_id = u.uri");
-      $query
-        ->fields('b', MigrationHelper::DEDICATED_TABLE_COLUMNS)
-        ->fields('u', ['entity_id']);
-      $db->insert($table)
-        ->fields([...MigrationHelper::DEDICATED_TABLE_COLUMNS, "{$fieldName}_target_id"])
-        ->from($query)
-        ->execute();
-      $schema->dropTable("b_$table");
-    }
-  }
-
-  // Fix the message__field_group_content.
-  $query = $db->select('b_message__field_group_content', 'b');
-  $results = $query
-    ->fields('b', [])
-    ->execute()
-    ->fetchAll();
-
-  // The field_group_content has been deleted in the config sync and a new field
-  // was created called group_content.
-  foreach ($results as $result) {
-    if ($result->field_group_content_target_type === 'rdf_entity') {
-      $result->field_group_content_target_id = $db->select('rdf_sync_uri', 'u')
-        ->fields('u', ['entity_id'])
-        ->condition('u.uri', $result->field_group_content_target_id)
-        ->execute()
-        ->fetchField();
-    }
-    $result->group_content_target_id = $result->field_group_content_target_id;
-    unset($result->field_group_content_target_type);
-    unset($result->field_group_content_target_id);
-    unset($result->field_group_content_target_id_int);
-  }
-
-  // Convert all objects to array.
-  $results = array_map('get_object_vars', $results);
-
-  // Insert the updated entries in the new message__group_content table.
-  foreach ($results as &$result) {
-    $db->insert('message__group_content')
-      ->fields(array_keys($result))
-      ->values($result)
-      ->execute();
-  }
-  $schema->dropTable('b_message__field_group_content');
-
-  // Joinup log table.
-  $query = $db->select('b_joinup_log', 'b');
-  $query->innerJoin('rdf_sync_uri', 'u', 'b.group = u.uri');
-  $columns = [
-    'id',
-    'uid',
-    'actor',
-    'type',
-    'message',
-    'severity',
-    'location',
-    'referer',
-    'hostname',
-    'timestamp',
-  ];
-  $query
-    ->fields('b', $columns)
-    ->fields('u', ['entity_id']);
-  $db->insert('joinup_log')
-    ->fields([...$columns, 'group'])
-    ->from($query)->execute();
-  $schema->dropTable('b_joinup_log');
-
-  // Change references from URI to integer for tables that didn't need field
-  // storage definition update.
-  $tables = [
-    'file_usage' => 'id',
-    'flag_counts' => 'entity_id',
-    'flagging' => 'entity_id',
-    'invitation' => 'entity_id',
-    'meta_entity' => 'target__target_id',
-    'og_membership' => 'entity_id',
-  ];
-  foreach ($tables as $table => $field) {
-    $db->query("UPDATE {{$table}} t INNER JOIN {rdf_sync_uri} u ON t.$field = u.uri SET t.$field = u.entity_id");
-  }
-
-  // Update subscription table.
-  $db->query("UPDATE {og_membership__subscription_bundles} SET subscription_bundles_entity_type = 'node' WHERE subscription_bundles_entity_type = 'rdf_entity'");
-  // Leftover from release conversion.
-  $db->query("UPDATE {og_membership__subscription_bundles} SET subscription_bundles_bundle = 'release' WHERE subscription_bundles_bundle = 'asset_release'");
-}
-
-/**
- * Remove serialized entities from menu link content.
- */
-function joinup_rdf_deploy_200005(?array &$sandbox = NULL): void {
-  $tables = ['menu_link_content_data', 'menu_link_content_field_revision'];
-  $db = \Drupal::database();
-  $keys = ['entity_type' => FALSE, 'entity' => FALSE, 'language' => FALSE];
-
-  if (!isset($sandbox['rows'])) {
-    $sandbox['rows'] = [];
-    foreach ($tables as $table) {
-      // Cleanup stale links.
-      $db->query("DELETE FROM {{$table}} WHERE id IN(9617, 9618, 10017, 10018, 10046, 10047, 14169, 14279, 14286, 19582, 19692, 19699)");
-
-      // Get rows that potentially contain serialized entities.
-      $sandbox['rows'] = [
-        ...$sandbox['rows'],
-        ...$db->query("SELECT '$table', id, link__options FROM {{$table}} WHERE link__options <> :empty", [':empty' => 'a:0:{}'])->fetchAll(\PDO::FETCH_NUM),
-      ];
-    }
-    // Stale records in menu_tree table.
-    $db->query("DELETE FROM {menu_tree} WHERE mlid IN(9725, 9726, 10133, 10134, 10162, 10163, 14335, 14445, 14452, 19790, 19900, 19907)");
-  }
-
-  $rows = array_splice($sandbox['rows'], 0, 250);
-  foreach ($rows as [$table, $id, $options]) {
-    $options = unserialize($options, ['allowed_classes' => FALSE]);
-    if (array_intersect_key($options, $keys)) {
-      $options = serialize(array_diff_key($options, $keys));
-      $db->query("UPDATE {{$table}} SET link__options = :options WHERE id = :id", [':options' => $options, ':id' => $id]);
-    }
-  }
-
-  $sandbox['#finished'] = (int) empty($sandbox['rows']);
-}
-
-/**
- * Fix the group menu links.
- */
-function joinup_rdf_deploy_200006(?array &$sandbox = NULL): void {
-  $db = \Drupal::database();
-  $tables = ['menu_link_content_data', 'menu_link_content_field_revision'];
-
-  if (!isset($sandbox['patterns'])) {
-    $sandbox['patterns'] = [
-      ['entity:node/', 'entity:rdf_entity/%', 19],
-      [
-        'route:view.discussions.overview;node=',
-        'route:view.discussions.overview;rdf_entity=%',
-        44,
-      ],
-      [
-        'route:entity.node.glossary;node=',
-        'route:entity.rdf_entity.glossary;letter=&rdf_entity=%',
-        53,
-      ],
-      [
-        'route:entity.node.glossary;node=',
-        'route:entity.rdf_entity.glossary;rdf_entity=%',
-        45,
-      ],
-      [
-        'route:entity.node.member_overview;node=',
-        'route:entity.rdf_entity.member_overview;rdf_entity=%',
-        52,
-      ],
-      [
-        'route:joinup_menu.website_link;node=',
-        'route:joinup_menu.website_link;rdf_entity=%',
-        43,
-      ],
-      [
-        'route:joinup_release.solution_release.overview;node=',
-        'route:asset_release.solution_asset_release.overview;rdf_entity=%',
-        64,
-      ],
-      [
-        'route:joinup_release.solution_release.overview;node=',
-        'route:joinup_release.solution_release.overview;rdf_entity=%',
-        59,
-      ],
-      [
-        'route:entity.node.eif_perspective;node=',
-        'route:entity.rdf_entity.eif_perspective;rdf_entity=%',
-        52,
-      ],
-      [
-        'route:joinup_menu.documentation_file;node=',
-        'route:joinup_menu.documentation_file;rdf_entity=%',
-        49,
-      ],
-    ];
-
-    // Fix an inconsistency in some link URIs.
-    foreach ($tables as $table) {
-      $expression = MigrationHelper::sqlExpressionUriEncode("SUBSTRING(REPLACE(link__uri, '%3A', ':'), 52)");
-      $sql = "UPDATE {{$table}} SET link__uri = CONCAT(:prefix, $expression) WHERE link__uri LIKE :like";
-      $db->query($sql, [
-        ':prefix' => 'route:entity.rdf_entity.eif_perspective;rdf_entity=',
-        ':like' => 'route:entity.rdf_entity.eif_perspective;rdf_entity=%',
-      ], ['allow_delimiter_in_query' => TRUE]);
-    }
-  }
-
-  [$prefix, $like, $cutoff] = array_shift($sandbox['patterns']);
-  foreach ($tables as $table) {
-    $expression = MigrationHelper::sqlExpressionUriDecode("SUBSTRING(m.link__uri, $cutoff)");
-    $setRediscover = $table === 'menu_link_content_data' ? ', m.rediscover = 1' : '';
-    $sql = <<<SQL
-      UPDATE {{$table}} m
-      INNER JOIN {rdf_sync_uri} u ON $expression = u.uri
-      SET m.link__uri = CONCAT('$prefix', u.entity_id)$setRediscover
-      WHERE m.link__uri LIKE '$like'
-      SQL;
-    $db->query($sql, [], ['allow_delimiter_in_query' => TRUE]);
-  }
-
-  $sandbox['#finished'] = (int) empty($sandbox['patterns']);
-
-  if ($sandbox['#finished']) {
-    // Make sure we're picking up fresh values while rebuilding menu tree.
-    \Drupal::entityTypeManager()->getStorage('menu_link_content')->resetCache();
-    // Rebuild menu_tree table.
-    \Drupal::getContainer()->get('plugin.manager.menu.link')->rebuild();
-    // Restore 'rediscover' flag.
-    $db->query("UPDATE {menu_link_content_data} SET rediscover = 0 WHERE menu_name LIKE 'ogmenu-%'");
-    $db->query("UPDATE {menu_tree} SET discovered = 0 WHERE menu_name LIKE 'ogmenu-%'");
-  }
-}
-
-/**
- * Fix redirects and paths.
- */
-function joinup_rdf_deploy_200007(): void {
-  $db = \Drupal::database();
-
-  $patterns = [
-    ['SUBSTRING(r.redirect_redirect__uri, 22)', 'internal:/rdf_entity/%', ''],
-    ["TRIM(TRAILING '/releases' FROM SUBSTRING(r.redirect_redirect__uri, 22))", 'internal:/rdf_entity/%', '/releases'],
-  ];
-  foreach ($patterns as [$base, $like, $suffix]) {
-    $expression = MigrationHelper::sqlExpressionUriDecode($base);
-    $sql = <<<SQL
-      UPDATE {redirect} r
-      INNER JOIN {rdf_sync_uri} u ON $expression = u.uri
-      SET r.redirect_redirect__uri = CONCAT(:prefix, u.entity_id, :suffix)
-      WHERE r.redirect_redirect__uri LIKE :like
-      SQL;
-    $db->query($sql, [
-      ':prefix' => 'internal:/node/',
-      ':like' => $like,
-      ':suffix' => $suffix,
-    ], ['allow_delimiter_in_query' => TRUE]);
-  }
-
-  // Delete stale redirects.
-  $toDelete = [
-    'internal:/rdf_entity/http_e_f_fndl_cgo_cjp_fdcndl_fterms_gtype_vdistribution',
-    'internal:/rdf_entity/http_e_f_fwww_cw3_corg_fTR_f2007_fWD_bxhtml_brdfa_bscenarios_b20070330_f_gtype_vdistribution',
-    'internal:/rdf_entity/http_e_f_fid_cesd_corg_cuk_fFunctionList_f1_c00_crdf',
-    'internal:/rdf_entity/http_e_f_ftools_cietf_corg_fhtml_frfc4518',
-    'internal:/rdf_entity/http_e_f_feur_blex_ceuropa_ceu_fLexUriServ_fLexUriServ_cdo_guri_vOJ_eC_e2010_e083_e0329_e0334_een_ePDF',
-    'internal:/rdf_entity/http_e_f_fwww_cw3_corg_fTR_f2013_fNOTE_brdf_bjson_b20131107_f_gtype_vdistribution',
-    'internal:/rdf_entity/http_e_f_fwww_cyap_cgov_cgr_fe_bgif_fschemas_fcurrent_fBusinessInformationEntities_feGIF_aTravellerPerson_aABIE_bv1_b1_cxsd',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f28879981_b50a6_b4f9b_bbdb6_ba31d85e19393',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_fc03f8496_bc80c_b4308_ba23d_bc77f6b7f55c2',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f73995620_b6076_b4c3c_b8291_bab079293b2e3',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f8605058e_be9d7_b4dee_bb5bd_bed0464bacb4b',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_fba59083a_b3283_b4285_bbced_ba243d80839b1',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_fb8a02cb3_bc36d_b4f28_b991d_b75a53432d082',
-    'internal:/rdf_entity/http_e_f_fec_ceuropa_ceu_fleos_fprototype_fv3_c1_c1_fzip',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fStatistischesBundesamt',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fNieders_xC3_xA4chsischesMinisteriumf_xC3_xBCrWirtschaftArbeitundVerkehr',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fKoopAADV',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fArbeitskreisIderInnenministerkonferenz',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fDieInnenministervonBundundL_xC3_xA4ndern',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fAGVEMAGS_x2816Bundesl_xC3_xA4nder_x2BBunddurchVerwaltungsvereinbarungVEMAGS_x29',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fBundesministeriumdesInnernReferatKM5',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fFederalStatisticalOfficeofGermany_x28Destatis_x29Wiesbaden',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fBundesministeriumdesInneren',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fBundesministeriumdesInnerenimAuftragderBundL_xC3_xA4nderArbeitsgruppeNWRVorhabenDeutschlandOnlineNationalesWaffenregister',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fBundesvereinigungderKommunalenSpitzenverb_xC3_xA4nde_x2FFederalMinistryoftheInterior',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fFederalOfficeofJustice',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fFederalInstituteofHydrology',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fX_xC3_x96V_bKoordination',
-    'internal:/rdf_entity/http_e_f_fwww_cxrepository_cde_fns_fadms_fPublisher_fBund_bL_xC3_xA4nderkommissionf_xC3_xBCrDatenverarbeitungundRationalisierunginderJustiz_x28BLK_x29',
-    'internal:/rdf_entity/http_e_f_fdigst_cdk',
-    'internal:/rdf_entity/http_e_f_fadministracionelectronica_cgob_ces_fctt_fpublisher_fE04921301',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_fa92d78c7_b2fad_b4c81_ba402_be6338b565c37',
-    'internal:/rdf_entity/http_e_f_fwww_cengisis_ccom_f',
-    'internal:/rdf_entity/http_e_f_fwww_ccen_ceu_fwork_fareas_fict_febusiness_fpages_fws_bgitb_caspx',
-    'internal:/rdf_entity/http_e_f_fadministracionelectronica_cgob_ces_fctt_fpublisher_fE04921801',
-    'internal:/rdf_entity/http_e_f_fadministracionelectronica_cgob_ces_fctt_fpublisher_fE04921701',
-    'internal:/rdf_entity/http_e_f_fadministracionelectronica_cgob_ces_fctt_fpublisher_fU00000031',
-    'internal:/rdf_entity/http_e_f_fadministracionelectronica_cgob_ces_fctt_fpublisher_fA15002917',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_ff734ba46_b39ad_b4ee3_b92d9_b0417939a3c57',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_fc98bcbb9_b48b3_b4f3d_bbab5_b2d74c0a7d290',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f5849022d_baf10_b4840_b97b1_b44644f261790/releases',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f5849022d_baf10_b4840_b97b1_b44644f261790',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f897bf318_b7b14_b4076_ba6e3_b0c5bdcde8a6b/releases',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f897bf318_b7b14_b4076_ba6e3_b0c5bdcde8a6b',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f40efb363_b12b5_b4220_b83b3_b51214cbec99c/releases',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f40efb363_b12b5_b4220_b83b3_b51214cbec99c',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f90880605_b4f93_b4e02_b8aa7_b250c11432d7a/releases',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f90880605_b4f93_b4e02_b8aa7_b250c11432d7a',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f465b11f8_b1dc6_b49e9_b90b1_b2c4912f6296f',
-    'internal:/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_fa0f8175e_b7f9f_b4c8e_b9bfe_b212da0371273',
-    'internal:/rdf_entity/https_e_f_fwww_cxrepository_cdeutschland_bonline_cde_fDatei_furn_euuid_e9601829d_b6aa2_b4aa4_ba2e3_b975fa07ab459_cxsd',
-    'internal:/rdf_entity/https_e_f_fdigitaliser_cdk_f',
-  ];
-  $db->delete('redirect')
-    ->condition('redirect_redirect__uri', $toDelete, 'IN')
-    ->execute();
-
-  // Delete stale pathauto key_value entries.
-  $db->delete('key_value')
-    ->condition('collection', 'pathauto_state.rdf_entity')
-    ->execute();
-
-  // Stale path alias entries.
-  $ids = [
-    19326,
-    19828,
-    19829,
-    19836,
-    20819,
-    20854,
-    20920,
-    20921,
-    20923,
-    21164,
-    21165,
-    21202,
-    21210,
-    21466,
-    21495,
-    21681,
-    21685,
-    21701,
-    21749,
-    22536,
-    24841,
-    24842,
-    24843,
-    24844,
-    24845,
-    24846,
-    24847,
-    24848,
-    28783,
-    47350,
-    47908,
-    47909,
-    47910,
-    47911,
-    47912,
-  ];
-  $db->delete('path_alias')->condition('id', $ids, 'IN')->execute();
-  $db->delete('path_alias_revision')->condition('id', $ids, 'IN')->execute();
-}
-
-/**
- * Embedded entity references.
- */
-function joinup_rdf_deploy_200008(?array &$sandbox = NULL): string {
-  $db = \Drupal::database();
-  if (!isset($sandbox['tables'])) {
-    // First cleanup orphan revisions to lower the work with rich text blob
-    // fields embed entity references.
-    $tables = [
-      'body',
-      'field_attachment',
-      'field_custom_page_logo',
-      'field_document_publication_date',
-      'field_document_spatial_coverage',
-      'field_event_agenda',
-      'field_event_contact_email',
-      'field_event_logo',
-      'field_event_online_location',
-      'field_event_web_url',
-      'field_file',
-      'field_glossary_synonyms',
-      'field_keywords',
-      'field_licence',
-      'field_location',
-      'field_news_logo',
-      'field_news_referenced_solution',
-      'field_news_source_url',
-      'field_news_spatial_coverage',
-      'field_organisation_type',
-      'field_paragraphs_body',
-      'field_scope',
-      'field_shared_in',
-      'field_short_title',
-      'field_topic',
-      'owner_type',
-    ];
-    foreach ($tables as $table) {
-      $db->query("DELETE r FROM {node_revision__{$table}} r LEFT JOIN {node__{$table}} n ON r.entity_id = n.entity_id WHERE n.entity_id IS NULL");
-    }
-
-    $sandbox['tables'] = [
-       ['comment__field_body', 'entity_id', 'field_body_value'],
-       ['meta_entity__eif_description', 'entity_id', 'eif_description_value'],
-       ['node__body', 'entity_id', 'body_value'],
-       ['node_revision__body', 'entity_id', 'body_value'],
-       ['node__description', 'entity_id', 'description_value'],
-       ['node_revision__description', 'entity_id', 'description_value'],
-       ['node__field_event_agenda', 'entity_id', 'field_event_agenda_value'],
-       ['node_revision__field_event_agenda', 'entity_id', 'field_event_agenda_value'],
-       ['paragraph__field_body', 'entity_id', 'field_body_value'],
-       ['paragraph_revision__field_body', 'entity_id', 'field_body_value'],
-       ['taxonomy_term_field_data', 'tid', 'description__value'],
-       ['taxonomy_term_field_revision', 'tid', 'description__value'],
-    ];
-    $migrationHelper = \Drupal::getContainer()->get('joinup_rdf.migration_helper');
-    $sandbox['uri_to_uuid'] = $migrationHelper->getUriToUuid();
-    $sandbox['uri_to_nid'] = $migrationHelper->getUriToNid();
-  }
-
-  [$table, $idField, $updatedField] = array_shift($sandbox['tables']);
-  $rows = $db->select($table)
-    ->fields($table, [$idField, $updatedField])
-    ->condition($updatedField, '%rdf_entity%', 'LIKE')
-    ->execute()
-    ->fetchAllKeyed();
-  foreach ($rows as $id => $value) {
-    $original = $value;
-
-    $dataEntityCallback = static function (array $matches) use ($sandbox): string {
-      if (!$uuid = $sandbox['uri_to_uuid'][$matches['uri']] ?? NULL) {
-        // Remove the attributes if they don't refer a valid entity.
-        return '';
-      }
-      return 'data-entity-type="node" data-entity-uuid="' . $uuid . '"';
-    };
-
-    $callbacks = [
-      '@data-entity-type="rdf_entity"\s+data-entity-uuid="(?<uri>[^\"]*)"@' => $dataEntityCallback,
-      '@data-entity-uuid="(?<uri>[^\"]*)"\s+data-entity-type="rdf_entity"@' => $dataEntityCallback,
-      '@href="(?:https://joinup.ec.europa.eu)?/?rdf_entity/(?<uri>[^"/]*)(?<subpath>/.*)?"@' => static function (array $matches) use ($sandbox): string {
-        $uri = strtr($matches['uri'], array_reverse(array_flip(MigrationHelper::URL_ENCODE_MAP), TRUE));
-        if (!$nid = $sandbox['uri_to_nid'][$uri] ?? NULL) {
-          // Remove the URL if it doesn't point to valid content.
-          return 'href=""';
-        }
-        $subPath = $matches['subpath'] ?? '';
-        return 'href="' . base_path() . 'node/' . $nid . $subPath . '"';
-      },
-    ];
-
-    $value = preg_replace_callback_array($callbacks, $value);
-    if ($value !== $original) {
-      $db->update($table)->fields([$updatedField => $value])->condition($idField, $id)->execute();
-    }
-  }
-
-  $sandbox['#finished'] = (int) empty($sandbox['tables']);
-  return "Processed table $table (field $updatedField)";
-}
-
-/**
- * Restore related solutions.
- */
-function joinup_rdf_deploy_200009(): void {
-  $data = \Drupal::state()->get('joinup_rdf.related_solutions', []);
-  $database = \Drupal::database();
-  $rdf_sync_mapper = \Drupal::getContainer()->get('rdf_sync.mapper');
-  $meta_entity_storage = \Drupal::entityTypeManager()->getStorage('meta_entity');
-
-  foreach ($data as $mid => $related_solutions) {
-    $meta_entity = $meta_entity_storage->load($mid);
-    $solution = $meta_entity->getTargetEntity();
-    ksort($related_solutions);
-    $target_ids = array_map(function ($uri) use ($rdf_sync_mapper) {
-      $entity = $rdf_sync_mapper->getEntityByUri($uri);
-      // Skip invalid references e.g.
-      // http://data.europa.eu/w21/5e74061e-dc4e-4734-a31f-e328b7ab4326.
-      if (!$entity) {
-        return NULL;
-      }
-      return $entity->id();
-    }, $related_solutions);
-
-    // Filter out invalid entries and reset deltas.
-    $target_ids = array_values(array_filter($target_ids));
-    foreach ($target_ids as $delta => $target_id) {
-      $values = [
-        'bundle' => 'node',
-        'deleted' => 0,
-        'entity_id' => $solution->id(),
-        'revision_id' => $solution->getRevisionId(),
-        'langcode' => $solution->language()->getId(),
-        'delta' => $delta,
-        'related_solutions_target_id' => $target_id,
-      ];
-
-      foreach (['node__related_solutions', 'node_revision__related_solutions'] as $table) {
-        $database->insert($table)
-          ->fields(array_keys($values))
-          ->values($values)
-          ->execute();
-      }
-    }
-  }
-
-  \Drupal::state()->delete('joinup_rdf.related_solutions');
-}
-
-/**
- * Meta entity fix.
- */
-function joinup_rdf_deploy_200010(): void {
-  $db = \Drupal::database();
-
-  // Fix labels referring RDF entities.
-  $sql = <<<SQL
-    UPDATE {meta_entity} m
-    INNER JOIN {rdf_sync_uri} u ON SUBSTRING(m.label, 13) = u.uri AND u.entity_type = 'node'
-    SET m.label = CONCAT('node: ', u.entity_id)
-    WHERE m.label LIKE 'rdf_entity: %'
-    SQL;
-  $db->query($sql, [], ['allow_delimiter_in_query' => TRUE]);
-
-  // Fill the integer version of ID.
-  $db->query("UPDATE {meta_entity} SET target__target_id_int = target__target_id WHERE target__target_id REGEXP '^[0-9]+$'");
-  // Due to a bug in production, some download_count meta entities were not
-  // properly deleted when their distribution was deleted. Delete the invalid
-  // entries.
-  $db->query("DELETE FROM {meta_entity} WHERE target__target_id_int IS NULL AND type = 'download_count'");
-
-  // Fix 'rdf entity' ocuurrences in label.
-  $db->query("UPDATE meta_entity SET label = REPLACE(label, 'rdf entity (', 'content item (')");
-}
-
-/**
- * Fix EU OSS Catalogue menu link.
- */
-function joinup_rdf_deploy_200011(): void {
-  \Drupal::getContainer()->get('entity.repository')
-    ->loadEntityByUuid('menu_link_content', '686904d4-8e5f-4dfd-baea-e4e6c6496984')
-    ->save();
-}
-
-/**
- * Filters in content listings.
- */
-function joinup_rdf_deploy_200012(?array &$sandbox = NULL): void {
-  if (!isset($sandbox['tables'])) {
-    $sandbox['tables'] = [];
-
-    $fieldManager = \Drupal::getContainer()->get('entity_field.manager');
-    $entityTypeManager = \Drupal::entityTypeManager();
-
-    // Iterate over all search_api_field fields. Collect tables using them.
-    foreach ($fieldManager->getFieldMapByFieldType('search_api_field') as $entityTypeId => $fields) {
-      $storage = $entityTypeManager->getStorage($entityTypeId);
-      assert($storage instanceof SqlEntityStorageInterface);
-
-      $fieldStorageDefinitions = $fieldManager->getFieldStorageDefinitions($entityTypeId);
-      $tableMapping = $storage->getTableMapping();
-
-      foreach ($fields as $fieldName => $info) {
-        foreach ($tableMapping->getAllFieldTableNames($fieldName) as $table) {
-          $column = $tableMapping->getFieldColumnName($fieldStorageDefinitions[$fieldName], 'value');
-          $sandbox['tables'][] = [$table, $column];
-        }
-      }
-    }
-    $sandbox['uri_to_nid'] = \Drupal::getContainer()->get('joinup_rdf.migration_helper')->getUriToNid();
-  }
-
-  // Converts the legacy RDF filter to a node filter. NULL to mark this filter
-  // for removal because the target entity doesn't exist anymore.
-  $fixFilter = static function (array $filter) use ($sandbox): ?array {
-    if (str_starts_with($filter['plugin'], 'bundle_autocomplete:rdf_entity:')) {
-      $filter['plugin'] = str_replace(':rdf_entity:', ':node:', $filter['plugin']);
-      if (empty($sandbox['uri_to_nid'][$filter['target_id']])) {
-        // Remove this filter as it points to an invalid entity.
-        return NULL;
-      }
-      $filter['target_id'] = $sandbox['uri_to_nid'][$filter['target_id']];
-      $filter['field'] = 'nid';
-    }
-    return $filter;
-  };
-
-  $db = \Drupal::database();
-  $like = '%' . $db->escapeLike('bundle_autocomplete:rdf_entity:') . '%';
-
-  [$table, $column] = array_shift($sandbox['tables']);
-
-  $rows = $db->query("SELECT revision_id, $column FROM {{$table}} WHERE $column LIKE :like", [
-    ':like' => $like,
-  ], ['allow_delimiter_in_query' => TRUE])->fetchAllKeyed();
-
-  foreach ($rows as $revisionId => $value) {
-    $value = unserialize($value, ['allowed_classes' => FALSE]);
-    $value['query_builder']['filters'] = array_values(
-      array_filter(
-        array_map($fixFilter, $value['query_builder']['filters'] ?? [])
-      )
-    );
-    $db->query("UPDATE {{$table}} SET $column = :value WHERE revision_id = :revision_id", [
-      ':value' => serialize($value),
-      ':revision_id' => $revisionId,
-    ]);
-  }
-
-  $sandbox['#finished'] = (int) empty($sandbox['tables']);
-}
-
-/**
- * Cleanup the simple sitemap calculated data.
- */
-function joinup_rdf_deploy_200013(): void {
-  // Sitemap keeps stashed and queued data that might contain data from the
-  // removed "rdf_entity" entities.
-  \Drupal::keyValue('simple_sitemap')->delete('queue_stashed_results');
-  \Drupal::service('queue')->get('simple_sitemap_elements')->deleteQueue();
-}
-
-/**
- * Clear the purge_queue table of anything related to rdf_entity.
- */
-function joinup_rdf_deploy_200014(): void {
-  $data = \Drupal::database()->select('purge_queue', 'pq')
-    ->fields('pq', ['item_id'])
-    ->condition('pq.data', '%rdf_entity%', 'LIKE')
-    ->execute()
-    ->fetchCol();
-
-  if ($data) {
-    \Drupal::database()->delete('purge_queue')
-      ->condition('item_id', $data, 'IN')
-      ->execute();
-  }
-}
-
-/**
- * Add URL alias for a taxonomy term.
- */
-function joinup_rdf_deploy_200015(): void {
-  $system_path = '/taxonomy/term/11197';
-  $alias_path = '/taxonomy/term/http_e_f_fjoinup_ceu_fontology_ftopic_hstatistics_band_binformatino';
-
-  $path_alias_repository = \Drupal::service('path_alias.repository');
-
-  $existing_alias = $path_alias_repository->lookupByAlias($alias_path, LanguageInterface::LANGCODE_NOT_SPECIFIED);
-  if (!$existing_alias) {
-    $path_alias = \Drupal::entityTypeManager()->getStorage('path_alias')->create([
-      'path' => $system_path,
-      'alias' => $alias_path,
-      'langcode' => LanguageInterface::LANGCODE_NOT_SPECIFIED,
-    ]);
-
-    $path_alias->save();
-  }
-}
diff --git a/web/modules/custom/joinup_rdf/joinup_rdf.install b/web/modules/custom/joinup_rdf/joinup_rdf.install
index 14228e78d5..88a8c66f78 100644
--- a/web/modules/custom/joinup_rdf/joinup_rdf.install
+++ b/web/modules/custom/joinup_rdf/joinup_rdf.install
@@ -7,12 +7,6 @@
 
 declare(strict_types=1);
 
-use Drupal\Component\Serialization\Yaml;
-use Drupal\Core\Field\BaseFieldDefinition;
-use Drupal\field\Entity\FieldStorageConfig;
-use Drupal\joinup_rdf\MigrationHelper;
-use Drupal\search_api\Entity\Server;
-
 /**
  * Performs checks for the RDF entities and its storage.
  *
@@ -42,218 +36,3 @@ function joinup_rdf_requirements(string $phase): array {
 
   return $requirements;
 }
-
-/**
- * Delete the collection and solution entity types.
- */
-function joinup_rdf_update_200001(): void {
-  $storage = \Drupal::entityTypeManager()->getStorage('rdf_type');
-  $storage->delete($storage->loadMultiple(['collection', 'solution']));
-}
-
-/**
- * Prepare various data in tables for the migration.
- */
-function joinup_rdf_update_200002(): void {
-  $db = \Drupal::database();
-
-  // Update file_usage table.
-  $db->query("DELETE FROM {file_usage} WHERE type = 'rdf_entity'");
-
-  foreach (['like', 'bookmark'] as $flag_id) {
-    foreach (['flag_counts', 'flagging'] as $table) {
-      // Update both the flag_id from `*_rdf_entity` to `*_node` and the
-      // entity_type from `rdf_entity` to `node`.
-      $query = <<<SQL
-        UPDATE {{$table}}
-        SET flag_id = :id, entity_type = 'node'
-        WHERE flag_id IN (:ids[]) AND entity_type IN ('rdf_entity', 'node')
-        SQL;
-      $db->query($query, [
-        ':id' => $flag_id,
-        ':ids[]' => ["{$flag_id}_node", "{$flag_id}_rdf_entity"],
-      ]);
-    }
-  }
-
-  // Update the invitation table.
-  $db->query("UPDATE {invitation} SET entity_type = 'node'  WHERE entity_type = 'rdf_entity'");
-
-  // Update the invitation__field_invitation_og_role table.
-  $query = <<<SQL
-    UPDATE invitation__field_invitation_og_role
-    SET field_invitation_og_role_target_id = REPLACE(field_invitation_og_role_target_id, 'rdf_entity', 'node')
-    WHERE field_invitation_og_role_target_id LIKE 'rdf_entity%'
-    SQL;
-  $db->query($query);
-
-  // Update the meta_entity table.
-  $db->query("UPDATE {meta_entity} SET target__target_type = 'node' WHERE target__target_type = 'rdf_entity'");
-
-  // Drop the joinup_group_node_access table.
-  $db->schema()->dropTable('joinup_group_node_access');
-  $db->query("DELETE FROM {node_access} WHERE realm = 'joinup_group_view_unpublished'");
-
-  // Update the og_membership table.
-  $db->query("UPDATE {og_membership} SET entity_type = 'node' WHERE entity_type = 'rdf_entity'");
-
-  // Update the og_membership__roles table.
-  $db->query("UPDATE {og_membership__roles} SET roles_target_id = REPLACE(roles_target_id, 'rdf_entity', 'node') WHERE roles_target_id LIKE 'rdf_entity%'");
-}
-
-/**
- * Clean up the search index from old collections/solutions.
- */
-function joinup_rdf_update_200003(): void {
-  /** @var \Drupal\search_api_solr\SolrConnectorInterface $connector */
-  $connector = Server::load('joinup')->getBackend()->getSolrConnector();
-  $updateQuery = $connector
-    ->getUpdateQuery()
-    ->addDeleteQuery('ss_search_api_datasource:"entity:rdf_entity"')
-    ->addCommit();
-  // Update directly the Solr backend.
-  $connector->update($updateQuery);
-  // Update SAPI items.
-  \Drupal::database()->delete('search_api_item')
-    ->condition('datasource', 'entity:rdf_entity')
-    ->execute();
-}
-
-/**
- * Backup group reference tables.
- */
-function joinup_rdf_update_200004(): void {
-  $db = \Drupal::database();
-  foreach (MigrationHelper::GROUP_REF_TABLES as [$entityTypeId, $fieldName, $hasRevisions]) {
-    $tables = ["{$entityTypeId}__$fieldName"];
-    if ($hasRevisions) {
-      $tables[] = "{$entityTypeId}_revision__$fieldName";
-    }
-    $columns = [...MigrationHelper::DEDICATED_TABLE_COLUMNS, "{$fieldName}_target_id"];
-    foreach ($tables as $table) {
-      $db->query("CREATE TABLE b_$table LIKE $table");
-      $db->insert("b_$table")
-        ->from($db->select($table)->fields($table, $columns))
-        ->execute();
-      $db->truncate($table)->execute();
-    }
-  }
-
-  $db->query("CREATE TABLE b_message__field_group_content LIKE message__field_group_content");
-  $db->insert('b_message__field_group_content')->from($db->select('message__field_group_content')->fields('message__field_group_content'))->execute();
-
-  $db->query("CREATE TABLE b_joinup_log LIKE joinup_log");
-  $db->insert('b_joinup_log')->from($db->select('joinup_log')->fields('joinup_log'))->execute();
-  $db->truncate('joinup_log')->execute();
-}
-
-/**
- * Manually change fields and configs to prevent errors on config import.
- */
-function joinup_rdf_update_200005(): void {
-  $fieldStorages = [
-    'node.field_shared_in',
-    'node.field_news_referenced_solution',
-    'node.og_audience',
-    'media.og_audience',
-    'ogmenu_instance.og_audience',
-    'meta_entity.field_pinned_in',
-    'message.group',
-  ];
-
-  foreach ($fieldStorages as $fieldStorage) {
-    FieldStorageConfig::load($fieldStorage)->setSetting('target_type', 'node')->save();
-  }
-
-  $configs = [
-    'field.field.media.image.og_audience',
-    'field.field.media.remote_video.og_audience',
-    'field.field.media.file.og_audience',
-    'field.field.node.news.field_news_referenced_solution',
-    'field.field.node.news.og_audience',
-    'field.field.node.news.field_shared_in',
-    'field.field.node.glossary.og_audience',
-    'field.field.node.event.og_audience',
-    'field.field.node.event.field_shared_in',
-    'field.field.node.document.og_audience',
-    'field.field.node.document.field_shared_in',
-    'field.field.node.distribution.og_audience',
-    'field.field.node.discussion.og_audience',
-    'field.field.node.discussion.field_shared_in',
-    'field.field.node.custom_page.og_audience',
-    'field.field.node.release.og_audience',
-    'field.field.meta_entity.pinned_in.field_pinned_in',
-    'field.field.message.announcement.group',
-    'search_api.index.bookmark',
-    'search_api.index.oss_catalogue',
-    'search_api.index.published',
-    'search_api.index.unpublished',
-  ];
-
-  $configFactory = \Drupal::configFactory();
-  foreach ($configs as $fieldInstance) {
-    $contents = Yaml::decode(file_get_contents("../config/sync/$fieldInstance.yml"));
-    $configFactory->getEditable($fieldInstance)->setData($contents)->save();
-  }
-}
-
-/**
- * Update joinup_log 'group' base field storage definition.
- */
-function joinup_rdf_update_200006(): void {
-  $manager = \Drupal::entityDefinitionUpdateManager();
-  $definition = BaseFieldDefinition::create('entity_reference')
-    ->setName('group')
-    ->setLabel(t('Group'))
-    ->setDescription(t('Group where this log entry relates to, if any.'))
-    ->setTargetEntityTypeId('joinup_log')
-    ->setRequired(FALSE)
-    ->setSetting('target_type', 'node')
-    ->setDefaultValue(NULL)
-    ->setInitialValue(NULL);
-  $manager->updateFieldStorageDefinition($definition);
-}
-
-/**
- * Recreate pathauto patterns and tour data.
- */
-function joinup_rdf_update_200007(): void {
-  $db = \Drupal::database();
-  $db->delete('key_value')
-    ->condition('collection', [
-      'config.entity.key_store.pathauto_pattern',
-      'config.entity.key_store.tour',
-      'config.entity.key_store.rdf_entity_graph',
-    ], 'IN')->execute();
-  $db->query("DELETE FROM {config} WHERE name LIKE 'pathauto.pattern.%' OR name LIKE 'tour.tour.%'");
-
-  // Other leftovers.
-  $db->query("DELETE FROM {key_value} WHERE collection = 'entity.definitions.bundle_field_map' AND name IN('eif_wrapper', 'rdf_entity', 'rdf_meta_entity')");
-}
-
-/**
- * Rerun user_update_10000.
- */
-function joinup_rdf_update_200008(): void {
-  require_once DRUPAL_ROOT . '/core/modules/user/user.install';
-  user_update_10000();
-}
-
-/**
- * Backup the field_ss_related_solutions in a state variable.
- */
-function joinup_rdf_update_200009(): void {
-  $database = \Drupal::database();
-  $table = 'meta_entity__field_ss_related_solutions';
-  $results = $database->select($table)
-    ->fields($table, ['entity_id', 'delta', 'field_ss_related_solutions_target_id'])
-    ->execute()
-    ->fetchAll(\PDO::FETCH_ASSOC);
-
-  $state_data = [];
-  foreach ($results as $data) {
-    $state_data[$data['entity_id']][$data['delta']] = $data['field_ss_related_solutions_target_id'];
-  }
-
-  \Drupal::state()->set('joinup_rdf.related_solutions', $state_data);
-}
-- 
GitLab


From 3baa3d80054e6e40fc3d3128afc39e98a063e0df Mon Sep 17 00:00:00 2001
From: Claudiu Cristea <clau.cristea@gmail.com>
Date: Mon, 4 Nov 2024 15:50:26 +0200
Subject: [PATCH 22/33] ISAICP-9138: Update PHP dependencies.

---
 composer.json                                 |  19 +-
 composer.lock                                 | 965 ++++++++----------
 resources/patch/php/cfpinto/graphql/25.diff   |  52 -
 ...f6af001fca732e89a4be0e29643953f49a88f.diff | 141 ---
 .../sparql_entity_storage/3379328.patch       |  71 --
 .../drupal/sparql_entity_storage/3421694.diff |  15 -
 resources/patch/php/gitonomy/gitlib/217.diff  |  15 -
 .../joinup_sparql/joinup_sparql.info.yml      |   5 -
 .../Database/joinup_sparql/Connection.php     |  73 --
 9 files changed, 418 insertions(+), 938 deletions(-)
 delete mode 100644 resources/patch/php/cfpinto/graphql/25.diff
 delete mode 100644 resources/patch/php/drupal/rdf_entity/ea8f6af001fca732e89a4be0e29643953f49a88f.diff
 delete mode 100644 resources/patch/php/drupal/sparql_entity_storage/3379328.patch
 delete mode 100644 resources/patch/php/drupal/sparql_entity_storage/3421694.diff
 delete mode 100644 resources/patch/php/gitonomy/gitlib/217.diff
 delete mode 100644 web/modules/custom/joinup_sparql/joinup_sparql.info.yml
 delete mode 100644 web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php

diff --git a/composer.json b/composer.json
index 36982f2692..e4332d79af 100644
--- a/composer.json
+++ b/composer.json
@@ -86,7 +86,6 @@
         "drupal/poll": "^1.6",
         "drupal/publication_date": "^2.0",
         "drupal/queue_ui": "^3.1",
-        "drupal/rdf_entity": "^2.0",
         "drupal/rdf_sync": "^1.0",
         "drupal/redirect": "^1.6",
         "drupal/replicate_actions": "^1.5",
@@ -116,7 +115,7 @@
         "drupal/view_unpublished": "^1.0",
         "drupal/views_autosubmit": "^1.5",
         "drupal/views_block_area": "^1.0@beta",
-        "drupal/views_bulk_operations": "^4",
+        "drupal/views_bulk_operations": "4.2.7",
         "drupal/views_data_export": "^1.0",
         "drupal/views_multiple_permissions": "^2.0",
         "drupal/webform": "^6.2",
@@ -147,6 +146,7 @@
         "drupal/config_inspector": "^2.1",
         "drupal/config_update": "^2.0",
         "drupal/devel": "^5.1",
+        "drupal/drupal-driver": "v2.2.2",
         "drupal/drupal-extension": "^5.0",
         "drupal/filecache": "^1.1",
         "drupal/http_request_mock": "^1.1",
@@ -207,8 +207,6 @@
     "autoload": {
         "classmap": [
             "web/modules/contrib/error_page/src/ErrorPageErrorHandler.php",
-            "web/modules/contrib/sparql_entity_storage/src/Driver/Database/sparql/ConnectionInterface.php",
-            "web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php",
             "web/modules/custom/joinup_distribution/src/Entity/DistributionsParentInterface.php",
             "web/modules/custom/joinup_solution/src/Entity/SolutionContentTrait.php",
             "web/modules/custom/joinup_solution/src/Entity/SolutionContentInterface.php"
@@ -301,9 +299,6 @@
             "drupal/core": "-p2"
         },
         "patches": {
-            "cfpinto/graphql": {
-                "Enum argument https://github.com/cfpinto/graphql/issues/24": "resources/patch/php/cfpinto/graphql/25.diff"
-            },
             "drupal/addtocal": {
                 "Uncaught TypeError: $(...).once is not a function @see https://www.drupal.org/project/addtocal/issues/3372354": "resources/patch/php/drupal/addtocal/3372354.patch"
             },
@@ -437,9 +432,6 @@
             "drupal/publication_date": {
                 "Expand Publication Date to all Entity Types @see https://www.drupal.org/project/publication_date/issues/3219401": "resources/patch/php/drupal/publication_date/3219401-18.patch"
             },
-            "drupal/rdf_entity": {
-                "Allow bundle label plural variants @see https://github.com/ec-europa/rdf_entity/pull/12": "resources/patch/php/drupal/rdf_entity/ea8f6af001fca732e89a4be0e29643953f49a88f.diff"
-            },
             "drupal/search_api": {
                 "Some bulk form field options are missing schema @see https://www.drupal.org/project/search_api/issues/3195199": "resources/patch/php/drupal/search_api/3195199.patch",
                 "The search_api_list:{index} cache tag is not added to the view display @see https://www.drupal.org/project/search_api/issues/3298295": "resources/patch/php/drupal/search_api/3298295.patch",
@@ -454,10 +446,6 @@
             "drupal/social_media_links": {
                 "Missing config schema for field, widget and formatter @see https://www.drupal.org/node/2898680": "resources/patch/php/drupal/social_media_links/2898680.patch"
             },
-            "drupal/sparql_entity_storage": {
-                "Interface contract violation @see https://drupal.org/i/3379328": "resources/patch/php/drupal/sparql_entity_storage/3379328.patch",
-                "Error when deleting a vocabulary @see https://www.drupal.org/i/3421694": "resources/patch/php/drupal/sparql_entity_storage/3421694.diff"
-            },
             "drupal/state_machine": {
                 "Do not force default state in options. @see https://www.drupal.org/project/state_machine/issues/2746091": "resources/patch/php/drupal/state_machine/2746091.diff"
             },
@@ -482,9 +470,6 @@
                 "Radios or Checkboxes inside Composite not saved @see https://www.drupal.org/project/webform/issues/3216923": "resources/patch/php/drupal/webform/368.diff",
                 "Webform might create invalid link renderable arrays on submission list. @see https://www.drupal.org/project/webform/issues/3441600": "resources/patch/php/drupal/webform/3441600.patch"
             },
-            "gitonomy/gitlib": {
-                "Edge case: Empty message in the first commit @see https://github.com/gitonomy/gitlib/pull/217": "resources/patch/php/gitonomy/gitlib/217.diff"
-            },
             "m4tthumphrey/php-gitlab-api": {
                 "GraphQL API @see https://github.com/GitLabPHP/Client/issues/766": "resources/patch/php/m4tthumphrey/php-gitlab-api/772.diff",
                 "Add support for prefixed URIs on base path @see https://github.com/GitLabPHP/Client/issues/726": "resources/patch/php/m4tthumphrey/php-gitlab-api/726.diff"
diff --git a/composer.lock b/composer.lock
index 8b41363170..71bff82bf6 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "af7232c55db99ceff5b937afc56d875d",
+    "content-hash": "01435f63752b7bea6b93bf35b84d2ec2",
     "packages": [
         {
             "name": "asm89/stack-cors",
@@ -208,16 +208,16 @@
         },
         {
             "name": "cfpinto/graphql",
-            "version": "v2.0.0",
+            "version": "v2.0.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/cfpinto/graphql.git",
-                "reference": "94691ee8238c80c243dcf3636efb4546df5b86f4"
+                "reference": "0cefd3fa4d54835d53b9dedf45b194071d6a4966"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/cfpinto/graphql/zipball/94691ee8238c80c243dcf3636efb4546df5b86f4",
-                "reference": "94691ee8238c80c243dcf3636efb4546df5b86f4",
+                "url": "https://api.github.com/repos/cfpinto/graphql/zipball/0cefd3fa4d54835d53b9dedf45b194071d6a4966",
+                "reference": "0cefd3fa4d54835d53b9dedf45b194071d6a4966",
                 "shasum": ""
             },
             "require": {
@@ -255,9 +255,9 @@
             ],
             "support": {
                 "issues": "https://github.com/cfpinto/graphql/issues",
-                "source": "https://github.com/cfpinto/graphql/tree/v2.0.0"
+                "source": "https://github.com/cfpinto/graphql/tree/v2.0.1"
             },
-            "time": "2023-01-20T17:13:41+00:00"
+            "time": "2024-10-11T10:06:52+00:00"
         },
         {
             "name": "chi-teck/drupal-code-generator",
@@ -901,16 +901,16 @@
         },
         {
             "name": "consolidation/output-formatters",
-            "version": "4.5.0",
+            "version": "4.6.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/consolidation/output-formatters.git",
-                "reference": "7a611b01eb48eb19cd54672339fc08c0985bf540"
+                "reference": "5fd5656718d7068a02d046f418a7ba873d5abbfe"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/7a611b01eb48eb19cd54672339fc08c0985bf540",
-                "reference": "7a611b01eb48eb19cd54672339fc08c0985bf540",
+                "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/5fd5656718d7068a02d046f418a7ba873d5abbfe",
+                "reference": "5fd5656718d7068a02d046f418a7ba873d5abbfe",
                 "shasum": ""
             },
             "require": {
@@ -949,9 +949,9 @@
             "description": "Format text by applying transformations provided by plug-in formatters.",
             "support": {
                 "issues": "https://github.com/consolidation/output-formatters/issues",
-                "source": "https://github.com/consolidation/output-formatters/tree/4.5.0"
+                "source": "https://github.com/consolidation/output-formatters/tree/4.6.0"
             },
-            "time": "2024-04-02T15:18:52+00:00"
+            "time": "2024-10-18T14:02:48+00:00"
         },
         {
             "name": "consolidation/robo",
@@ -3768,27 +3768,27 @@
         },
         {
             "name": "drupal/facets_block",
-            "version": "2.0.1",
+            "version": "2.0.2",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/facets_block.git",
-                "reference": "2.0.1"
+                "reference": "2.0.2"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/facets_block-2.0.1.zip",
-                "reference": "2.0.1",
-                "shasum": "05c2a8ba1e7bfd3cdf2b1a0ab8158d70bc04d979"
+                "url": "https://ftp.drupal.org/files/projects/facets_block-2.0.2.zip",
+                "reference": "2.0.2",
+                "shasum": "6227e92238693dc96d4c7cf77c84959b9ce15271"
             },
             "require": {
-                "drupal/core": "^9 || ^10",
+                "drupal/core": "^10 || ^11",
                 "drupal/facets": "^2.0 || ^3.0"
             },
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "2.0.1",
-                    "datestamp": "1718265986",
+                    "version": "2.0.2",
+                    "datestamp": "1728631312",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
@@ -4275,6 +4275,10 @@
                     "name": "fubhy",
                     "homepage": "https://www.drupal.org/user/761344"
                 },
+                {
+                    "name": "ivnish",
+                    "homepage": "https://www.drupal.org/user/3547706"
+                },
                 {
                     "name": "joachim",
                     "homepage": "https://www.drupal.org/user/107701"
@@ -4283,14 +4287,6 @@
                     "name": "mandclu",
                     "homepage": "https://www.drupal.org/user/52136"
                 },
-                {
-                    "name": "merlinofchaos",
-                    "homepage": "https://www.drupal.org/user/26979"
-                },
-                {
-                    "name": "mooffie",
-                    "homepage": "https://www.drupal.org/user/78454"
-                },
                 {
                     "name": "quicksketch",
                     "homepage": "https://www.drupal.org/user/35821"
@@ -4987,23 +4983,25 @@
         },
         {
             "name": "drupal/json_field",
-            "version": "1.3.0",
+            "version": "1.4.0",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/json_field.git",
-                "reference": "8.x-1.3"
+                "reference": "8.x-1.4"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/json_field-8.x-1.3.zip",
-                "reference": "8.x-1.3",
-                "shasum": "81336a7d37a5b7ffa8cf0c8a4efa0e54d7cb5028"
+                "url": "https://ftp.drupal.org/files/projects/json_field-8.x-1.4.zip",
+                "reference": "8.x-1.4",
+                "shasum": "422ec5a48bb0a36d6c506bc51a38e0b85ceba69d"
             },
             "require": {
-                "drupal/core": "^9.2 || ^10",
+                "drupal/core": "^10 || ^11",
                 "ext-json": "*"
             },
             "require-dev": {
+                "drupal/diff": "^1",
+                "drupal/feeds": "dev-3.x@dev",
                 "swaggest/json-schema": "^0"
             },
             "suggest": {
@@ -5013,8 +5011,8 @@
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "8.x-1.3",
-                    "datestamp": "1691597985",
+                    "version": "8.x-1.4",
+                    "datestamp": "1729185545",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
@@ -5206,17 +5204,17 @@
         },
         {
             "name": "drupal/linkit",
-            "version": "6.1.4",
+            "version": "6.1.6",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/linkit.git",
-                "reference": "6.1.4"
+                "reference": "6.1.6"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/linkit-6.1.4.zip",
-                "reference": "6.1.4",
-                "shasum": "f5544a39d691af5efd1532bd5403862a7153f60b"
+                "url": "https://ftp.drupal.org/files/projects/linkit-6.1.6.zip",
+                "reference": "6.1.6",
+                "shasum": "113d8e569cfb92f8d7feb0a2f7713953c0715e92"
             },
             "require": {
                 "drupal/core": "^10.1"
@@ -5228,8 +5226,8 @@
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "6.1.4",
-                    "datestamp": "1715203830",
+                    "version": "6.1.6",
+                    "datestamp": "1729189029",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
@@ -6218,7 +6216,7 @@
                     "homepage": "https://www.drupal.org/u/pfrenssen"
                 },
                 {
-                    "name": "Dries",
+                    "name": "dries",
                     "homepage": "https://www.drupal.org/user/1"
                 },
                 {
@@ -7013,17 +7011,17 @@
         },
         {
             "name": "drupal/queue_ui",
-            "version": "3.2.0",
+            "version": "3.2.1",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/queue_ui.git",
-                "reference": "3.2.0"
+                "reference": "3.2.1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/queue_ui-3.2.0.zip",
-                "reference": "3.2.0",
-                "shasum": "f0a68103b7499b42ba2a6a6f38ecfdace3ac50ba"
+                "url": "https://ftp.drupal.org/files/projects/queue_ui-3.2.1.zip",
+                "reference": "3.2.1",
+                "shasum": "1578dc075f83c0f318a3a61f89e0d62f00fa0786"
             },
             "require": {
                 "drupal/core": "^10.3 || ^11.0"
@@ -7035,8 +7033,8 @@
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "3.2.0",
-                    "datestamp": "1728285689",
+                    "version": "3.2.1",
+                    "datestamp": "1729672832",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
@@ -7137,78 +7135,6 @@
             },
             "time": "2023-07-19T22:22:22+00:00"
         },
-        {
-            "name": "drupal/rdf_entity",
-            "version": "2.0.0-alpha9",
-            "source": {
-                "type": "git",
-                "url": "https://git.drupalcode.org/project/rdf_entity.git",
-                "reference": "2.0.0-alpha9"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/rdf_entity-2.0.0-alpha9.zip",
-                "reference": "2.0.0-alpha9",
-                "shasum": "460d334128e91072546f9a1ea077f08ed4c7a08f"
-            },
-            "require": {
-                "drupal/core": "^9.2 || ^10",
-                "drupal/sparql_entity_storage": "^2.0.0-alpha12"
-            },
-            "conflict": {
-                "drupal/core": "<9.5.6"
-            },
-            "require-dev": {
-                "drupal/pathauto": "^1.10"
-            },
-            "type": "drupal-module",
-            "extra": {
-                "drupal": {
-                    "version": "2.0.0-alpha9",
-                    "datestamp": "1711377427",
-                    "security-coverage": {
-                        "status": "not-covered",
-                        "message": "Alpha releases are not covered by Drupal security advisories."
-                    }
-                }
-            },
-            "notification-url": "https://packages.drupal.org/8/downloads",
-            "license": [
-                "GPL-2.0+"
-            ],
-            "authors": [
-                {
-                    "name": "claudiu.cristea",
-                    "homepage": "https://www.drupal.org/user/56348"
-                },
-                {
-                    "name": "dublutz",
-                    "homepage": "https://www.drupal.org/user/980246"
-                },
-                {
-                    "name": "idimopoulos",
-                    "homepage": "https://www.drupal.org/user/2578708"
-                },
-                {
-                    "name": "pfrenssen",
-                    "homepage": "https://www.drupal.org/user/382067"
-                },
-                {
-                    "name": "sandervd",
-                    "homepage": "https://www.drupal.org/user/346775"
-                },
-                {
-                    "name": "sardara",
-                    "homepage": "https://www.drupal.org/user/2353864"
-                }
-            ],
-            "description": "This module allows you to leverage the semantic web by storing and retrieving content directly from an RDF data store using the SPARQL RDF query language.",
-            "homepage": "https://drupal.org/project/rdf_entity",
-            "support": {
-                "source": "https://cgit.drupalcode.org/rdf_entity",
-                "issues": "https://drupal.org/project/issues/rdf_entity"
-            }
-        },
         {
             "name": "drupal/rdf_sync",
             "version": "1.0.0-alpha14",
@@ -8416,66 +8342,6 @@
                 "issues": "https://www.drupal.org/project/issues/social_media_links"
             }
         },
-        {
-            "name": "drupal/sparql_entity_storage",
-            "version": "2.0.0-alpha17",
-            "source": {
-                "type": "git",
-                "url": "https://git.drupalcode.org/project/sparql_entity_storage.git",
-                "reference": "2.0.0-alpha17"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/sparql_entity_storage-2.0.0-alpha17.zip",
-                "reference": "2.0.0-alpha17",
-                "shasum": "f6313080759487d6eee3cd4ef4dca9e55f61294d"
-            },
-            "require": {
-                "drupal/core": "^9.3 || ^10",
-                "ml/json-ld": "^1.0",
-                "sweetrdf/easyrdf": "^1.9"
-            },
-            "type": "drupal-module",
-            "extra": {
-                "drupal": {
-                    "version": "2.0.0-alpha17",
-                    "datestamp": "1728339169",
-                    "security-coverage": {
-                        "status": "not-covered",
-                        "message": "Project has not opted into security advisory coverage!"
-                    }
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/Driver/Database/sparql/Connection.php"
-                ]
-            },
-            "notification-url": "https://packages.drupal.org/8/downloads",
-            "license": [
-                "GPL-2.0+"
-            ],
-            "authors": [
-                {
-                    "name": "claudiu.cristea",
-                    "homepage": "https://www.drupal.org/user/56348"
-                },
-                {
-                    "name": "idimopoulos",
-                    "homepage": "https://www.drupal.org/user/2578708"
-                },
-                {
-                    "name": "pfrenssen",
-                    "homepage": "https://www.drupal.org/user/382067"
-                }
-            ],
-            "description": "Provides SPARQL entity storage and query for Drupal entities.",
-            "homepage": "https://drupal.org/project/sparql_entity_storage",
-            "support": {
-                "source": "https://cgit.drupalcode.org/sparql_entity_storage",
-                "issues": "https://drupal.org/project/issues/sparql_entity_storage"
-            }
-        },
         {
             "name": "drupal/state_machine",
             "version": "1.12.0",
@@ -8578,20 +8444,20 @@
         },
         {
             "name": "drupal/subpathauto",
-            "version": "1.3.0",
+            "version": "1.4.0",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/subpathauto.git",
-                "reference": "8.x-1.3"
+                "reference": "8.x-1.4"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/subpathauto-8.x-1.3.zip",
-                "reference": "8.x-1.3",
-                "shasum": "b94e4ec3c8dcd42aa04b6796ae48a9aa1848862d"
+                "url": "https://ftp.drupal.org/files/projects/subpathauto-8.x-1.4.zip",
+                "reference": "8.x-1.4",
+                "shasum": "fa9a737da79d396ee8019c944e0239865762ce48"
             },
             "require": {
-                "drupal/core": "^8.8 || ^9 || ^10"
+                "drupal/core": "^8.8 || ^9 || ^10 || ^11"
             },
             "require-dev": {
                 "drupal/redirect": "*"
@@ -8599,8 +8465,8 @@
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "8.x-1.3",
-                    "datestamp": "1676316639",
+                    "version": "8.x-1.4",
+                    "datestamp": "1729470928",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
@@ -8613,7 +8479,7 @@
             ],
             "authors": [
                 {
-                    "name": "Dave Reid",
+                    "name": "dave reid",
                     "homepage": "https://www.drupal.org/user/53892"
                 },
                 {
@@ -8621,7 +8487,7 @@
                     "homepage": "https://www.drupal.org/user/1078742"
                 },
                 {
-                    "name": "NickDickinsonWilde",
+                    "name": "nickdickinsonwilde",
                     "homepage": "https://www.drupal.org/user/3094661"
                 }
             ],
@@ -9004,17 +8870,17 @@
         },
         {
             "name": "drupal/ui_patterns",
-            "version": "1.9.0",
+            "version": "1.10.0",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/ui_patterns.git",
-                "reference": "8.x-1.9"
+                "reference": "8.x-1.10"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/ui_patterns-8.x-1.9.zip",
-                "reference": "8.x-1.9",
-                "shasum": "35eabe1f655df98f6f3cb68a62a98f8d41b52f0c"
+                "url": "https://ftp.drupal.org/files/projects/ui_patterns-8.x-1.10.zip",
+                "reference": "8.x-1.10",
+                "shasum": "bdb6f84ae8b82679380641cdc3d78b0fafe98614"
             },
             "require": {
                 "drupal/core": "^9 || ^10 || ^11"
@@ -9026,8 +8892,8 @@
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "8.x-1.9",
-                    "datestamp": "1724936358",
+                    "version": "8.x-1.10",
+                    "datestamp": "1729182058",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
@@ -9174,12 +9040,16 @@
                     "name": "jec006",
                     "homepage": "https://www.drupal.org/user/855980"
                 },
+                {
+                    "name": "mably",
+                    "homepage": "https://www.drupal.org/user/3375160"
+                },
                 {
                     "name": "plopesc",
                     "homepage": "https://www.drupal.org/user/282415"
                 },
                 {
-                    "name": "Sam152",
+                    "name": "sam152",
                     "homepage": "https://www.drupal.org/user/1485048"
                 }
             ],
@@ -9920,20 +9790,20 @@
         },
         {
             "name": "ezyang/htmlpurifier",
-            "version": "v4.17.0",
+            "version": "v4.18.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/ezyang/htmlpurifier.git",
-                "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c"
+                "reference": "cb56001e54359df7ae76dc522d08845dc741621b"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/bbc513d79acf6691fa9cf10f192c90dd2957f18c",
-                "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c",
+                "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/cb56001e54359df7ae76dc522d08845dc741621b",
+                "reference": "cb56001e54359df7ae76dc522d08845dc741621b",
                 "shasum": ""
             },
             "require": {
-                "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0"
+                "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0"
             },
             "require-dev": {
                 "cerdic/css-tidy": "^1.7 || ^2.0",
@@ -9975,9 +9845,9 @@
             ],
             "support": {
                 "issues": "https://github.com/ezyang/htmlpurifier/issues",
-                "source": "https://github.com/ezyang/htmlpurifier/tree/v4.17.0"
+                "source": "https://github.com/ezyang/htmlpurifier/tree/v4.18.0"
             },
-            "time": "2023-11-17T15:01:25+00:00"
+            "time": "2024-11-01T03:51:45+00:00"
         },
         {
             "name": "geocoder-php/common-http",
@@ -10043,16 +9913,16 @@
         },
         {
             "name": "gitonomy/gitlib",
-            "version": "v1.4.0",
+            "version": "v1.5.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/gitonomy/gitlib.git",
-                "reference": "2c7fbbd9814178474d0bb1b6292701cb4ab508f9"
+                "reference": "ac17834888bf399a4ecae5e108be52c8c5f93958"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/gitonomy/gitlib/zipball/2c7fbbd9814178474d0bb1b6292701cb4ab508f9",
-                "reference": "2c7fbbd9814178474d0bb1b6292701cb4ab508f9",
+                "url": "https://api.github.com/repos/gitonomy/gitlib/zipball/ac17834888bf399a4ecae5e108be52c8c5f93958",
+                "reference": "ac17834888bf399a4ecae5e108be52c8c5f93958",
                 "shasum": ""
             },
             "require": {
@@ -10102,7 +9972,7 @@
             "description": "Library for accessing git",
             "support": {
                 "issues": "https://github.com/gitonomy/gitlib/issues",
-                "source": "https://github.com/gitonomy/gitlib/tree/v1.4.0"
+                "source": "https://github.com/gitonomy/gitlib/tree/v1.5.0"
             },
             "funding": [
                 {
@@ -10110,7 +9980,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-12-20T13:02:08+00:00"
+            "time": "2024-11-03T15:59:21+00:00"
         },
         {
             "name": "grasmash/expander",
@@ -10348,16 +10218,16 @@
         },
         {
             "name": "guzzlehttp/promises",
-            "version": "2.0.3",
+            "version": "2.0.4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/guzzle/promises.git",
-                "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8"
+                "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
-                "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
+                "url": "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455",
+                "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455",
                 "shasum": ""
             },
             "require": {
@@ -10411,7 +10281,7 @@
             ],
             "support": {
                 "issues": "https://github.com/guzzle/promises/issues",
-                "source": "https://github.com/guzzle/promises/tree/2.0.3"
+                "source": "https://github.com/guzzle/promises/tree/2.0.4"
             },
             "funding": [
                 {
@@ -10427,7 +10297,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-07-18T10:29:17+00:00"
+            "time": "2024-10-17T10:06:22+00:00"
         },
         {
             "name": "guzzlehttp/psr7",
@@ -10815,30 +10685,30 @@
         },
         {
             "name": "laminas/laminas-stdlib",
-            "version": "3.19.0",
+            "version": "3.20.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/laminas/laminas-stdlib.git",
-                "reference": "6a192dd0882b514e45506f533b833b623b78fff3"
+                "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/6a192dd0882b514e45506f533b833b623b78fff3",
-                "reference": "6a192dd0882b514e45506f533b833b623b78fff3",
+                "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/8974a1213be42c3e2f70b2c27b17f910291ab2f4",
+                "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4",
                 "shasum": ""
             },
             "require": {
-                "php": "~8.1.0 || ~8.2.0 || ~8.3.0"
+                "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0"
             },
             "conflict": {
                 "zendframework/zend-stdlib": "*"
             },
             "require-dev": {
-                "laminas/laminas-coding-standard": "^2.5",
-                "phpbench/phpbench": "^1.2.15",
-                "phpunit/phpunit": "^10.5.8",
-                "psalm/plugin-phpunit": "^0.18.4",
-                "vimeo/psalm": "^5.20.0"
+                "laminas/laminas-coding-standard": "^3.0",
+                "phpbench/phpbench": "^1.3.1",
+                "phpunit/phpunit": "^10.5.38",
+                "psalm/plugin-phpunit": "^0.19.0",
+                "vimeo/psalm": "^5.26.1"
             },
             "type": "library",
             "autoload": {
@@ -10870,7 +10740,7 @@
                     "type": "community_bridge"
                 }
             ],
-            "time": "2024-01-19T12:39:49+00:00"
+            "time": "2024-10-29T13:46:07+00:00"
         },
         {
             "name": "league/commonmark",
@@ -11062,16 +10932,16 @@
         },
         {
             "name": "league/container",
-            "version": "4.2.2",
+            "version": "4.2.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/thephpleague/container.git",
-                "reference": "ff346319ca1ff0e78277dc2311a42107cc1aab88"
+                "reference": "72f9bebe7bd623007782a40f5ec305661ab706d8"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/thephpleague/container/zipball/ff346319ca1ff0e78277dc2311a42107cc1aab88",
-                "reference": "ff346319ca1ff0e78277dc2311a42107cc1aab88",
+                "url": "https://api.github.com/repos/thephpleague/container/zipball/72f9bebe7bd623007782a40f5ec305661ab706d8",
+                "reference": "72f9bebe7bd623007782a40f5ec305661ab706d8",
                 "shasum": ""
             },
             "require": {
@@ -11132,7 +11002,7 @@
             ],
             "support": {
                 "issues": "https://github.com/thephpleague/container/issues",
-                "source": "https://github.com/thephpleague/container/tree/4.2.2"
+                "source": "https://github.com/thephpleague/container/tree/4.2.3"
             },
             "funding": [
                 {
@@ -11140,20 +11010,20 @@
                     "type": "github"
                 }
             ],
-            "time": "2024-03-13T13:12:53+00:00"
+            "time": "2024-10-23T12:06:58+00:00"
         },
         {
             "name": "league/csv",
-            "version": "9.16.0",
+            "version": "9.18.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/thephpleague/csv.git",
-                "reference": "998280c6c34bd67d8125fdc8b45bae28d761b440"
+                "reference": "b02d010e4055ae992247f6ffd1e7b103ef2a0790"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/thephpleague/csv/zipball/998280c6c34bd67d8125fdc8b45bae28d761b440",
-                "reference": "998280c6c34bd67d8125fdc8b45bae28d761b440",
+                "url": "https://api.github.com/repos/thephpleague/csv/zipball/b02d010e4055ae992247f6ffd1e7b103ef2a0790",
+                "reference": "b02d010e4055ae992247f6ffd1e7b103ef2a0790",
                 "shasum": ""
             },
             "require": {
@@ -11161,17 +11031,16 @@
                 "php": "^8.1.2"
             },
             "require-dev": {
-                "doctrine/collections": "^2.2.2",
                 "ext-dom": "*",
                 "ext-xdebug": "*",
-                "friendsofphp/php-cs-fixer": "^3.57.1",
-                "phpbench/phpbench": "^1.2.15",
-                "phpstan/phpstan": "^1.11.1",
-                "phpstan/phpstan-deprecation-rules": "^1.2.0",
+                "friendsofphp/php-cs-fixer": "^3.64.0",
+                "phpbench/phpbench": "^1.3.1",
+                "phpstan/phpstan": "^1.12.6",
+                "phpstan/phpstan-deprecation-rules": "^1.2.1",
                 "phpstan/phpstan-phpunit": "^1.4.0",
-                "phpstan/phpstan-strict-rules": "^1.6.0",
-                "phpunit/phpunit": "^10.5.16 || ^11.1.3",
-                "symfony/var-dumper": "^6.4.6 || ^7.0.7"
+                "phpstan/phpstan-strict-rules": "^1.6.1",
+                "phpunit/phpunit": "^10.5.16 || ^11.4.1",
+                "symfony/var-dumper": "^6.4.8 || ^7.1.5"
             },
             "suggest": {
                 "ext-dom": "Required to use the XMLConverter and the HTMLConverter classes",
@@ -11189,7 +11058,7 @@
                     "src/functions_include.php"
                 ],
                 "psr-4": {
-                    "League\\Csv\\": "src"
+                    "League\\Csv\\": "src/"
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -11228,7 +11097,7 @@
                     "type": "github"
                 }
             ],
-            "time": "2024-05-24T11:04:54+00:00"
+            "time": "2024-10-18T08:14:48+00:00"
         },
         {
             "name": "m4tthumphrey/php-gitlab-api",
@@ -11322,16 +11191,16 @@
         },
         {
             "name": "maennchen/zipstream-php",
-            "version": "3.1.0",
+            "version": "3.1.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/maennchen/ZipStream-PHP.git",
-                "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1"
+                "reference": "6187e9cc4493da94b9b63eb2315821552015fca9"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/b8174494eda667f7d13876b4a7bfef0f62a7c0d1",
-                "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1",
+                "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/6187e9cc4493da94b9b63eb2315821552015fca9",
+                "reference": "6187e9cc4493da94b9b63eb2315821552015fca9",
                 "shasum": ""
             },
             "require": {
@@ -11387,19 +11256,15 @@
             ],
             "support": {
                 "issues": "https://github.com/maennchen/ZipStream-PHP/issues",
-                "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.1.0"
+                "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.1.1"
             },
             "funding": [
                 {
                     "url": "https://github.com/maennchen",
                     "type": "github"
-                },
-                {
-                    "url": "https://opencollective.com/zipstream",
-                    "type": "open_collective"
                 }
             ],
-            "time": "2023-06-21T14:59:35+00:00"
+            "time": "2024-10-10T12:33:01+00:00"
         },
         {
             "name": "masterminds/html5",
@@ -12348,16 +12213,16 @@
         },
         {
             "name": "openeuropa/oe_webtools",
-            "version": "1.32.0",
+            "version": "1.33.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/openeuropa/oe_webtools.git",
-                "reference": "d1ca0c7167dcb906ff0258661862aad811e6f28a"
+                "reference": "ca78577cd85d1f8d6c48bf132f0817f18ea18dfd"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/openeuropa/oe_webtools/zipball/d1ca0c7167dcb906ff0258661862aad811e6f28a",
-                "reference": "d1ca0c7167dcb906ff0258661862aad811e6f28a",
+                "url": "https://api.github.com/repos/openeuropa/oe_webtools/zipball/ca78577cd85d1f8d6c48bf132f0817f18ea18dfd",
+                "reference": "ca78577cd85d1f8d6c48bf132f0817f18ea18dfd",
                 "shasum": ""
             },
             "require": {
@@ -12430,9 +12295,9 @@
             "description": "OpenEuropa Webtools integration.",
             "support": {
                 "issues": "https://github.com/openeuropa/oe_webtools/issues",
-                "source": "https://github.com/openeuropa/oe_webtools/tree/1.32.0"
+                "source": "https://github.com/openeuropa/oe_webtools/tree/1.33.0"
             },
-            "time": "2024-10-09T07:29:41+00:00"
+            "time": "2024-10-28T15:31:34+00:00"
         },
         {
             "name": "pear/archive_tar",
@@ -14008,16 +13873,16 @@
         },
         {
             "name": "sweetrdf/easyrdf",
-            "version": "1.14.1",
+            "version": "1.15.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sweetrdf/easyrdf.git",
-                "reference": "b5eeeb31795fedd773acd867a461aeba75f8a347"
+                "reference": "dfa88cd56ac9f4e4beb774771f52651572e8ec69"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sweetrdf/easyrdf/zipball/b5eeeb31795fedd773acd867a461aeba75f8a347",
-                "reference": "b5eeeb31795fedd773acd867a461aeba75f8a347",
+                "url": "https://api.github.com/repos/sweetrdf/easyrdf/zipball/dfa88cd56ac9f4e4beb774771f52651572e8ec69",
+                "reference": "dfa88cd56ac9f4e4beb774771f52651572e8ec69",
                 "shasum": ""
             },
             "require": {
@@ -14083,9 +13948,9 @@
             ],
             "support": {
                 "issues": "https://github.com/sweetrdf/easyrdf/issues",
-                "source": "https://github.com/sweetrdf/easyrdf/tree/1.14.1"
+                "source": "https://github.com/sweetrdf/easyrdf/tree/1.15.0"
             },
-            "time": "2024-05-27T10:24:12+00:00"
+            "time": "2024-10-24T12:43:11+00:00"
         },
         {
             "name": "sweetrdf/rdf-helpers",
@@ -14184,16 +14049,16 @@
         },
         {
             "name": "symfony/cache",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/cache.git",
-                "reference": "a463451b7f6ac4a47b98dbfc78ec2d3560c759d8"
+                "reference": "8079a3006f53805e7771d086b62428b7cac481dd"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/cache/zipball/a463451b7f6ac4a47b98dbfc78ec2d3560c759d8",
-                "reference": "a463451b7f6ac4a47b98dbfc78ec2d3560c759d8",
+                "url": "https://api.github.com/repos/symfony/cache/zipball/8079a3006f53805e7771d086b62428b7cac481dd",
+                "reference": "8079a3006f53805e7771d086b62428b7cac481dd",
                 "shasum": ""
             },
             "require": {
@@ -14260,7 +14125,7 @@
                 "psr6"
             ],
             "support": {
-                "source": "https://github.com/symfony/cache/tree/v6.4.12"
+                "source": "https://github.com/symfony/cache/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -14276,7 +14141,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-16T16:01:33+00:00"
+            "time": "2024-10-25T15:39:47+00:00"
         },
         {
             "name": "symfony/cache-contracts",
@@ -14356,16 +14221,16 @@
         },
         {
             "name": "symfony/console",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/console.git",
-                "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765"
+                "reference": "f793dd5a7d9ae9923e35d0503d08ba734cec1d79"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/console/zipball/72d080eb9edf80e36c19be61f72c98ed8273b765",
-                "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765",
+                "url": "https://api.github.com/repos/symfony/console/zipball/f793dd5a7d9ae9923e35d0503d08ba734cec1d79",
+                "reference": "f793dd5a7d9ae9923e35d0503d08ba734cec1d79",
                 "shasum": ""
             },
             "require": {
@@ -14430,7 +14295,7 @@
                 "terminal"
             ],
             "support": {
-                "source": "https://github.com/symfony/console/tree/v6.4.12"
+                "source": "https://github.com/symfony/console/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -14446,20 +14311,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:15:52+00:00"
+            "time": "2024-10-09T08:40:40+00:00"
         },
         {
             "name": "symfony/css-selector",
-            "version": "v7.1.1",
+            "version": "v7.1.6",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/css-selector.git",
-                "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4"
+                "reference": "4aa4f6b3d6749c14d3aa815eef8226632e7bbc66"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c7cee86c6f812896af54434f8ce29c8d94f9ff4",
-                "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4",
+                "url": "https://api.github.com/repos/symfony/css-selector/zipball/4aa4f6b3d6749c14d3aa815eef8226632e7bbc66",
+                "reference": "4aa4f6b3d6749c14d3aa815eef8226632e7bbc66",
                 "shasum": ""
             },
             "require": {
@@ -14495,7 +14360,7 @@
             "description": "Converts CSS selectors to XPath expressions",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/css-selector/tree/v7.1.1"
+                "source": "https://github.com/symfony/css-selector/tree/v7.1.6"
             },
             "funding": [
                 {
@@ -14511,20 +14376,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-05-31T14:57:53+00:00"
+            "time": "2024-09-25T14:20:29+00:00"
         },
         {
             "name": "symfony/dependency-injection",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/dependency-injection.git",
-                "reference": "cfb9d34a1cdd4911bc737a5358fd1cf8ebfb536e"
+                "reference": "728ae8f4e190133ce99d6d5f0bc1e8c8bd7c7a96"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/cfb9d34a1cdd4911bc737a5358fd1cf8ebfb536e",
-                "reference": "cfb9d34a1cdd4911bc737a5358fd1cf8ebfb536e",
+                "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/728ae8f4e190133ce99d6d5f0bc1e8c8bd7c7a96",
+                "reference": "728ae8f4e190133ce99d6d5f0bc1e8c8bd7c7a96",
                 "shasum": ""
             },
             "require": {
@@ -14576,7 +14441,7 @@
             "description": "Allows you to standardize and centralize the way objects are constructed in your application",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/dependency-injection/tree/v6.4.12"
+                "source": "https://github.com/symfony/dependency-injection/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -14592,7 +14457,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:18:25+00:00"
+            "time": "2024-10-25T15:07:50+00:00"
         },
         {
             "name": "symfony/deprecation-contracts",
@@ -14663,16 +14528,16 @@
         },
         {
             "name": "symfony/error-handler",
-            "version": "v7.1.3",
+            "version": "v7.1.6",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/error-handler.git",
-                "reference": "432bb369952795c61ca1def65e078c4a80dad13c"
+                "reference": "d60117093c2a9fe667baa8fedf84e8a09b9c592f"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/error-handler/zipball/432bb369952795c61ca1def65e078c4a80dad13c",
-                "reference": "432bb369952795c61ca1def65e078c4a80dad13c",
+                "url": "https://api.github.com/repos/symfony/error-handler/zipball/d60117093c2a9fe667baa8fedf84e8a09b9c592f",
+                "reference": "d60117093c2a9fe667baa8fedf84e8a09b9c592f",
                 "shasum": ""
             },
             "require": {
@@ -14718,7 +14583,7 @@
             "description": "Provides tools to manage errors and ease debugging PHP code",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/error-handler/tree/v7.1.3"
+                "source": "https://github.com/symfony/error-handler/tree/v7.1.6"
             },
             "funding": [
                 {
@@ -14734,20 +14599,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-07-26T13:02:51+00:00"
+            "time": "2024-09-25T14:20:29+00:00"
         },
         {
             "name": "symfony/event-dispatcher",
-            "version": "v6.4.8",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/event-dispatcher.git",
-                "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b"
+                "reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8d7507f02b06e06815e56bb39aa0128e3806208b",
-                "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b",
+                "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e",
+                "reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e",
                 "shasum": ""
             },
             "require": {
@@ -14798,7 +14663,7 @@
             "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.8"
+                "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -14814,7 +14679,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-05-31T14:49:08+00:00"
+            "time": "2024-09-25T14:18:03+00:00"
         },
         {
             "name": "symfony/event-dispatcher-contracts",
@@ -14894,16 +14759,16 @@
         },
         {
             "name": "symfony/filesystem",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/filesystem.git",
-                "reference": "f810e3cbdf7fdc35983968523d09f349fa9ada12"
+                "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/filesystem/zipball/f810e3cbdf7fdc35983968523d09f349fa9ada12",
-                "reference": "f810e3cbdf7fdc35983968523d09f349fa9ada12",
+                "url": "https://api.github.com/repos/symfony/filesystem/zipball/4856c9cf585d5a0313d8d35afd681a526f038dd3",
+                "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3",
                 "shasum": ""
             },
             "require": {
@@ -14940,7 +14805,7 @@
             "description": "Provides basic utilities for the filesystem",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/filesystem/tree/v6.4.12"
+                "source": "https://github.com/symfony/filesystem/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -14956,20 +14821,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-16T16:01:33+00:00"
+            "time": "2024-10-25T15:07:50+00:00"
         },
         {
             "name": "symfony/finder",
-            "version": "v6.4.11",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/finder.git",
-                "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453"
+                "reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/finder/zipball/d7eb6daf8cd7e9ac4976e9576b32042ef7253453",
-                "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453",
+                "url": "https://api.github.com/repos/symfony/finder/zipball/daea9eca0b08d0ed1dc9ab702a46128fd1be4958",
+                "reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958",
                 "shasum": ""
             },
             "require": {
@@ -15004,7 +14869,7 @@
             "description": "Finds files and directories via an intuitive fluent interface",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/finder/tree/v6.4.11"
+                "source": "https://github.com/symfony/finder/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -15020,20 +14885,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-08-13T14:27:37+00:00"
+            "time": "2024-10-01T08:30:56+00:00"
         },
         {
             "name": "symfony/http-client",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/http-client.git",
-                "reference": "fbebfcce21084d3e91ea987ae5bdd8c71ff0fd56"
+                "reference": "509d0e8a798bf5e41e0b6317e9bce1140af47376"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/http-client/zipball/fbebfcce21084d3e91ea987ae5bdd8c71ff0fd56",
-                "reference": "fbebfcce21084d3e91ea987ae5bdd8c71ff0fd56",
+                "url": "https://api.github.com/repos/symfony/http-client/zipball/509d0e8a798bf5e41e0b6317e9bce1140af47376",
+                "reference": "509d0e8a798bf5e41e0b6317e9bce1140af47376",
                 "shasum": ""
             },
             "require": {
@@ -15097,7 +14962,7 @@
                 "http"
             ],
             "support": {
-                "source": "https://github.com/symfony/http-client/tree/v6.4.12"
+                "source": "https://github.com/symfony/http-client/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -15113,7 +14978,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:21:33+00:00"
+            "time": "2024-10-14T18:15:01+00:00"
         },
         {
             "name": "symfony/http-client-contracts",
@@ -15195,16 +15060,16 @@
         },
         {
             "name": "symfony/http-foundation",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/http-foundation.git",
-                "reference": "133ac043875f59c26c55e79cf074562127cce4d2"
+                "reference": "4c0341b3e0a7291e752c69d2a1ed9a84b68d604c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/http-foundation/zipball/133ac043875f59c26c55e79cf074562127cce4d2",
-                "reference": "133ac043875f59c26c55e79cf074562127cce4d2",
+                "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4c0341b3e0a7291e752c69d2a1ed9a84b68d604c",
+                "reference": "4c0341b3e0a7291e752c69d2a1ed9a84b68d604c",
                 "shasum": ""
             },
             "require": {
@@ -15252,7 +15117,7 @@
             "description": "Defines an object-oriented layer for the HTTP specification",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/http-foundation/tree/v6.4.12"
+                "source": "https://github.com/symfony/http-foundation/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -15268,20 +15133,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:18:25+00:00"
+            "time": "2024-10-11T19:20:58+00:00"
         },
         {
             "name": "symfony/http-kernel",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/http-kernel.git",
-                "reference": "96df83d51b5f78804f70c093b97310794fd6257b"
+                "reference": "4474015c363ec0cd3bf47d55657e68630dbae66e"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/http-kernel/zipball/96df83d51b5f78804f70c093b97310794fd6257b",
-                "reference": "96df83d51b5f78804f70c093b97310794fd6257b",
+                "url": "https://api.github.com/repos/symfony/http-kernel/zipball/4474015c363ec0cd3bf47d55657e68630dbae66e",
+                "reference": "4474015c363ec0cd3bf47d55657e68630dbae66e",
                 "shasum": ""
             },
             "require": {
@@ -15366,7 +15231,7 @@
             "description": "Provides a structured process for converting a Request into a Response",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/http-kernel/tree/v6.4.12"
+                "source": "https://github.com/symfony/http-kernel/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -15382,20 +15247,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-21T06:02:57+00:00"
+            "time": "2024-10-27T13:00:29+00:00"
         },
         {
             "name": "symfony/mailer",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/mailer.git",
-                "reference": "b6a25408c569ae2366b3f663a4edad19420a9c26"
+                "reference": "c2f7e0d8d7ac8fe25faccf5d8cac462805db2663"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/mailer/zipball/b6a25408c569ae2366b3f663a4edad19420a9c26",
-                "reference": "b6a25408c569ae2366b3f663a4edad19420a9c26",
+                "url": "https://api.github.com/repos/symfony/mailer/zipball/c2f7e0d8d7ac8fe25faccf5d8cac462805db2663",
+                "reference": "c2f7e0d8d7ac8fe25faccf5d8cac462805db2663",
                 "shasum": ""
             },
             "require": {
@@ -15446,7 +15311,7 @@
             "description": "Helps sending emails",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/mailer/tree/v6.4.12"
+                "source": "https://github.com/symfony/mailer/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -15462,20 +15327,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-08T12:30:05+00:00"
+            "time": "2024-09-25T14:18:03+00:00"
         },
         {
             "name": "symfony/mime",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/mime.git",
-                "reference": "abe16ee7790b16aa525877419deb0f113953f0e1"
+                "reference": "1de1cf14d99b12c7ebbb850491ec6ae3ed468855"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/mime/zipball/abe16ee7790b16aa525877419deb0f113953f0e1",
-                "reference": "abe16ee7790b16aa525877419deb0f113953f0e1",
+                "url": "https://api.github.com/repos/symfony/mime/zipball/1de1cf14d99b12c7ebbb850491ec6ae3ed468855",
+                "reference": "1de1cf14d99b12c7ebbb850491ec6ae3ed468855",
                 "shasum": ""
             },
             "require": {
@@ -15531,7 +15396,7 @@
                 "mime-type"
             ],
             "support": {
-                "source": "https://github.com/symfony/mime/tree/v6.4.12"
+                "source": "https://github.com/symfony/mime/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -15547,20 +15412,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:18:25+00:00"
+            "time": "2024-10-25T15:07:50+00:00"
         },
         {
             "name": "symfony/options-resolver",
-            "version": "v7.1.1",
+            "version": "v7.1.6",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/options-resolver.git",
-                "reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55"
+                "reference": "85e95eeede2d41cd146146e98c9c81d9214cae85"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/options-resolver/zipball/47aa818121ed3950acd2b58d1d37d08a94f9bf55",
-                "reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55",
+                "url": "https://api.github.com/repos/symfony/options-resolver/zipball/85e95eeede2d41cd146146e98c9c81d9214cae85",
+                "reference": "85e95eeede2d41cd146146e98c9c81d9214cae85",
                 "shasum": ""
             },
             "require": {
@@ -15598,7 +15463,7 @@
                 "options"
             ],
             "support": {
-                "source": "https://github.com/symfony/options-resolver/tree/v7.1.1"
+                "source": "https://github.com/symfony/options-resolver/tree/v7.1.6"
             },
             "funding": [
                 {
@@ -15614,7 +15479,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-05-31T14:57:53+00:00"
+            "time": "2024-09-25T14:20:29+00:00"
         },
         {
             "name": "symfony/polyfill-ctype",
@@ -16331,16 +16196,16 @@
         },
         {
             "name": "symfony/process",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/process.git",
-                "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3"
+                "reference": "1f9f59b46880201629df3bd950fc5ae8c55b960f"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/process/zipball/3f94e5f13ff58df371a7ead461b6e8068900fbb3",
-                "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3",
+                "url": "https://api.github.com/repos/symfony/process/zipball/1f9f59b46880201629df3bd950fc5ae8c55b960f",
+                "reference": "1f9f59b46880201629df3bd950fc5ae8c55b960f",
                 "shasum": ""
             },
             "require": {
@@ -16372,7 +16237,7 @@
             "description": "Executes commands in sub-processes",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/process/tree/v6.4.12"
+                "source": "https://github.com/symfony/process/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -16388,20 +16253,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-17T12:47:12+00:00"
+            "time": "2024-09-25T14:18:03+00:00"
         },
         {
             "name": "symfony/psr-http-message-bridge",
-            "version": "v6.4.11",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/psr-http-message-bridge.git",
-                "reference": "74835ba54eca99a38f374f7a6d932fa510124773"
+                "reference": "c9cf83326a1074f83a738fc5320945abf7fb7fec"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/74835ba54eca99a38f374f7a6d932fa510124773",
-                "reference": "74835ba54eca99a38f374f7a6d932fa510124773",
+                "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/c9cf83326a1074f83a738fc5320945abf7fb7fec",
+                "reference": "c9cf83326a1074f83a738fc5320945abf7fb7fec",
                 "shasum": ""
             },
             "require": {
@@ -16455,7 +16320,7 @@
                 "psr-7"
             ],
             "support": {
-                "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.11"
+                "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -16471,20 +16336,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-08-14T13:55:58+00:00"
+            "time": "2024-09-25T14:18:03+00:00"
         },
         {
             "name": "symfony/routing",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/routing.git",
-                "reference": "a7c8036bd159486228dc9be3e846a00a0dda9f9f"
+                "reference": "640a74250d13f9c30d5ca045b6aaaabcc8215278"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/routing/zipball/a7c8036bd159486228dc9be3e846a00a0dda9f9f",
-                "reference": "a7c8036bd159486228dc9be3e846a00a0dda9f9f",
+                "url": "https://api.github.com/repos/symfony/routing/zipball/640a74250d13f9c30d5ca045b6aaaabcc8215278",
+                "reference": "640a74250d13f9c30d5ca045b6aaaabcc8215278",
                 "shasum": ""
             },
             "require": {
@@ -16538,7 +16403,7 @@
                 "url"
             ],
             "support": {
-                "source": "https://github.com/symfony/routing/tree/v6.4.12"
+                "source": "https://github.com/symfony/routing/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -16554,20 +16419,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:32:26+00:00"
+            "time": "2024-10-01T08:30:56+00:00"
         },
         {
             "name": "symfony/serializer",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/serializer.git",
-                "reference": "10ae9c1b90f4809ccb7277cc8fe8d80b3af4412c"
+                "reference": "8be421505938b11a0ca4f656e4322232236386f0"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/serializer/zipball/10ae9c1b90f4809ccb7277cc8fe8d80b3af4412c",
-                "reference": "10ae9c1b90f4809ccb7277cc8fe8d80b3af4412c",
+                "url": "https://api.github.com/repos/symfony/serializer/zipball/8be421505938b11a0ca4f656e4322232236386f0",
+                "reference": "8be421505938b11a0ca4f656e4322232236386f0",
                 "shasum": ""
             },
             "require": {
@@ -16636,7 +16501,7 @@
             "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/serializer/tree/v6.4.12"
+                "source": "https://github.com/symfony/serializer/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -16652,7 +16517,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:15:52+00:00"
+            "time": "2024-10-03T09:58:04+00:00"
         },
         {
             "name": "symfony/service-contracts",
@@ -16739,16 +16604,16 @@
         },
         {
             "name": "symfony/string",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/string.git",
-                "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b"
+                "reference": "38371c60c71c72b3d64d8d76f6b1bb81a2cc3627"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/string/zipball/f8a1ccebd0997e16112dfecfd74220b78e5b284b",
-                "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b",
+                "url": "https://api.github.com/repos/symfony/string/zipball/38371c60c71c72b3d64d8d76f6b1bb81a2cc3627",
+                "reference": "38371c60c71c72b3d64d8d76f6b1bb81a2cc3627",
                 "shasum": ""
             },
             "require": {
@@ -16805,7 +16670,7 @@
                 "utf8"
             ],
             "support": {
-                "source": "https://github.com/symfony/string/tree/v6.4.12"
+                "source": "https://github.com/symfony/string/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -16821,7 +16686,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:15:52+00:00"
+            "time": "2024-09-25T14:18:03+00:00"
         },
         {
             "name": "symfony/translation-contracts",
@@ -16903,16 +16768,16 @@
         },
         {
             "name": "symfony/validator",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/validator.git",
-                "reference": "6da1f0a1ee73d060a411d832cbe0539cfe9bbaa0"
+                "reference": "68e0bf4522756269d9bff801a16701b2ed5eb730"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/validator/zipball/6da1f0a1ee73d060a411d832cbe0539cfe9bbaa0",
-                "reference": "6da1f0a1ee73d060a411d832cbe0539cfe9bbaa0",
+                "url": "https://api.github.com/repos/symfony/validator/zipball/68e0bf4522756269d9bff801a16701b2ed5eb730",
+                "reference": "68e0bf4522756269d9bff801a16701b2ed5eb730",
                 "shasum": ""
             },
             "require": {
@@ -16980,7 +16845,7 @@
             "description": "Provides tools to validate values",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/validator/tree/v6.4.12"
+                "source": "https://github.com/symfony/validator/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -16996,20 +16861,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:18:25+00:00"
+            "time": "2024-10-25T15:07:50+00:00"
         },
         {
             "name": "symfony/var-dumper",
-            "version": "v6.4.11",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/var-dumper.git",
-                "reference": "ee14c8254a480913268b1e3b1cba8045ed122694"
+                "reference": "2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ee14c8254a480913268b1e3b1cba8045ed122694",
-                "reference": "ee14c8254a480913268b1e3b1cba8045ed122694",
+                "url": "https://api.github.com/repos/symfony/var-dumper/zipball/2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41",
+                "reference": "2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41",
                 "shasum": ""
             },
             "require": {
@@ -17065,7 +16930,7 @@
                 "dump"
             ],
             "support": {
-                "source": "https://github.com/symfony/var-dumper/tree/v6.4.11"
+                "source": "https://github.com/symfony/var-dumper/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -17081,20 +16946,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-08-30T16:03:21+00:00"
+            "time": "2024-09-25T14:18:03+00:00"
         },
         {
             "name": "symfony/var-exporter",
-            "version": "v7.1.2",
+            "version": "v7.1.6",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/var-exporter.git",
-                "reference": "b80a669a2264609f07f1667f891dbfca25eba44c"
+                "reference": "90173ef89c40e7c8c616653241048705f84130ef"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/var-exporter/zipball/b80a669a2264609f07f1667f891dbfca25eba44c",
-                "reference": "b80a669a2264609f07f1667f891dbfca25eba44c",
+                "url": "https://api.github.com/repos/symfony/var-exporter/zipball/90173ef89c40e7c8c616653241048705f84130ef",
+                "reference": "90173ef89c40e7c8c616653241048705f84130ef",
                 "shasum": ""
             },
             "require": {
@@ -17141,7 +17006,7 @@
                 "serialize"
             ],
             "support": {
-                "source": "https://github.com/symfony/var-exporter/tree/v7.1.2"
+                "source": "https://github.com/symfony/var-exporter/tree/v7.1.6"
             },
             "funding": [
                 {
@@ -17157,20 +17022,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-06-28T08:00:31+00:00"
+            "time": "2024-09-25T14:20:29+00:00"
         },
         {
             "name": "symfony/yaml",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/yaml.git",
-                "reference": "762ee56b2649659380e0ef4d592d807bc17b7971"
+                "reference": "e99b4e94d124b29ee4cf3140e1b537d2dad8cec9"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/yaml/zipball/762ee56b2649659380e0ef4d592d807bc17b7971",
-                "reference": "762ee56b2649659380e0ef4d592d807bc17b7971",
+                "url": "https://api.github.com/repos/symfony/yaml/zipball/e99b4e94d124b29ee4cf3140e1b537d2dad8cec9",
+                "reference": "e99b4e94d124b29ee4cf3140e1b537d2dad8cec9",
                 "shasum": ""
             },
             "require": {
@@ -17213,7 +17078,7 @@
             "description": "Loads and dumps YAML files",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/yaml/tree/v6.4.12"
+                "source": "https://github.com/symfony/yaml/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -17229,7 +17094,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-17T12:47:12+00:00"
+            "time": "2024-09-25T14:18:03+00:00"
         },
         {
             "name": "tijsverkoyen/css-to-inline-styles",
@@ -17513,20 +17378,20 @@
     "packages-dev": [
         {
             "name": "behat/behat",
-            "version": "v3.14.0",
+            "version": "v3.15.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/Behat/Behat.git",
-                "reference": "2a3832d9cb853a794af3a576f9e524ae460f3340"
+                "reference": "132e32fdad69340f503b103a5ccaf5dd72ce7d83"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/Behat/Behat/zipball/2a3832d9cb853a794af3a576f9e524ae460f3340",
-                "reference": "2a3832d9cb853a794af3a576f9e524ae460f3340",
+                "url": "https://api.github.com/repos/Behat/Behat/zipball/132e32fdad69340f503b103a5ccaf5dd72ce7d83",
+                "reference": "132e32fdad69340f503b103a5ccaf5dd72ce7d83",
                 "shasum": ""
             },
             "require": {
-                "behat/gherkin": "^4.9.0",
+                "behat/gherkin": "^4.10.0",
                 "behat/transliterator": "^1.2",
                 "ext-mbstring": "*",
                 "php": "^7.2 || ^8.0",
@@ -17540,7 +17405,6 @@
             },
             "require-dev": {
                 "herrera-io/box": "~1.6.1",
-                "phpspec/prophecy": "^1.15",
                 "phpunit/phpunit": "^8.5 || ^9.0",
                 "symfony/process": "^4.4 || ^5.0 || ^6.0 || ^7.0",
                 "vimeo/psalm": "^4.8"
@@ -17577,7 +17441,7 @@
                 }
             ],
             "description": "Scenario-oriented BDD framework for PHP",
-            "homepage": "http://behat.org/",
+            "homepage": "https://behat.org/",
             "keywords": [
                 "Agile",
                 "BDD",
@@ -17594,31 +17458,31 @@
             ],
             "support": {
                 "issues": "https://github.com/Behat/Behat/issues",
-                "source": "https://github.com/Behat/Behat/tree/v3.14.0"
+                "source": "https://github.com/Behat/Behat/tree/v3.15.0"
             },
-            "time": "2023-12-09T13:55:02+00:00"
+            "time": "2024-10-30T07:54:51+00:00"
         },
         {
             "name": "behat/gherkin",
-            "version": "v4.9.0",
+            "version": "v4.10.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/Behat/Gherkin.git",
-                "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4"
+                "reference": "cbb83c4c435dd8d05a161f2a5ae322e61b2f4db6"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/Behat/Gherkin/zipball/0bc8d1e30e96183e4f36db9dc79caead300beff4",
-                "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4",
+                "url": "https://api.github.com/repos/Behat/Gherkin/zipball/cbb83c4c435dd8d05a161f2a5ae322e61b2f4db6",
+                "reference": "cbb83c4c435dd8d05a161f2a5ae322e61b2f4db6",
                 "shasum": ""
             },
             "require": {
                 "php": "~7.2|~8.0"
             },
             "require-dev": {
-                "cucumber/cucumber": "dev-gherkin-22.0.0",
+                "cucumber/cucumber": "dev-gherkin-24.1.0",
                 "phpunit/phpunit": "~8|~9",
-                "symfony/yaml": "~3|~4|~5"
+                "symfony/yaml": "~3|~4|~5|~6|~7"
             },
             "suggest": {
                 "symfony/yaml": "If you want to parse features, represented in YAML files"
@@ -17657,22 +17521,22 @@
             ],
             "support": {
                 "issues": "https://github.com/Behat/Gherkin/issues",
-                "source": "https://github.com/Behat/Gherkin/tree/v4.9.0"
+                "source": "https://github.com/Behat/Gherkin/tree/v4.10.0"
             },
-            "time": "2021-10-12T13:05:09+00:00"
+            "time": "2024-10-19T14:46:06+00:00"
         },
         {
             "name": "behat/mink",
-            "version": "v1.11.0",
+            "version": "v1.12.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/minkphp/Mink.git",
-                "reference": "d8527fdf8785aad38455fb426af457ab9937aece"
+                "reference": "7e4edec6c335937029cb3569ce7ef81182804d0a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/minkphp/Mink/zipball/d8527fdf8785aad38455fb426af457ab9937aece",
-                "reference": "d8527fdf8785aad38455fb426af457ab9937aece",
+                "url": "https://api.github.com/repos/minkphp/Mink/zipball/7e4edec6c335937029cb3569ce7ef81182804d0a",
+                "reference": "7e4edec6c335937029cb3569ce7ef81182804d0a",
                 "shasum": ""
             },
             "require": {
@@ -17723,9 +17587,9 @@
             ],
             "support": {
                 "issues": "https://github.com/minkphp/Mink/issues",
-                "source": "https://github.com/minkphp/Mink/tree/v1.11.0"
+                "source": "https://github.com/minkphp/Mink/tree/v1.12.0"
             },
-            "time": "2023-12-09T11:23:23+00:00"
+            "time": "2024-10-30T18:48:14+00:00"
         },
         {
             "name": "behat/mink-browserkit-driver",
@@ -17846,16 +17710,16 @@
         },
         {
             "name": "composer/ca-bundle",
-            "version": "1.5.2",
+            "version": "1.5.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/composer/ca-bundle.git",
-                "reference": "48a792895a2b7a6ee65dd5442c299d7b835b6137"
+                "reference": "3b1fc3f0be055baa7c6258b1467849c3e8204eb2"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/composer/ca-bundle/zipball/48a792895a2b7a6ee65dd5442c299d7b835b6137",
-                "reference": "48a792895a2b7a6ee65dd5442c299d7b835b6137",
+                "url": "https://api.github.com/repos/composer/ca-bundle/zipball/3b1fc3f0be055baa7c6258b1467849c3e8204eb2",
+                "reference": "3b1fc3f0be055baa7c6258b1467849c3e8204eb2",
                 "shasum": ""
             },
             "require": {
@@ -17902,7 +17766,7 @@
             "support": {
                 "irc": "irc://irc.freenode.org/composer",
                 "issues": "https://github.com/composer/ca-bundle/issues",
-                "source": "https://github.com/composer/ca-bundle/tree/1.5.2"
+                "source": "https://github.com/composer/ca-bundle/tree/1.5.3"
             },
             "funding": [
                 {
@@ -17918,7 +17782,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-25T07:49:53+00:00"
+            "time": "2024-11-04T10:15:26+00:00"
         },
         {
             "name": "composer/class-map-generator",
@@ -17995,16 +17859,16 @@
         },
         {
             "name": "composer/composer",
-            "version": "2.8.1",
+            "version": "2.8.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/composer/composer.git",
-                "reference": "e52b8672276cf436670cdd6bd5de4353740e83b2"
+                "reference": "6e543d03187c882ea1c6ba43add2467754427803"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/composer/composer/zipball/e52b8672276cf436670cdd6bd5de4353740e83b2",
-                "reference": "e52b8672276cf436670cdd6bd5de4353740e83b2",
+                "url": "https://api.github.com/repos/composer/composer/zipball/6e543d03187c882ea1c6ba43add2467754427803",
+                "reference": "6e543d03187c882ea1c6ba43add2467754427803",
                 "shasum": ""
             },
             "require": {
@@ -18089,7 +17953,7 @@
                 "irc": "ircs://irc.libera.chat:6697/composer",
                 "issues": "https://github.com/composer/composer/issues",
                 "security": "https://github.com/composer/composer/security/policy",
-                "source": "https://github.com/composer/composer/tree/2.8.1"
+                "source": "https://github.com/composer/composer/tree/2.8.2"
             },
             "funding": [
                 {
@@ -18105,7 +17969,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-10-04T09:31:01+00:00"
+            "time": "2024-10-29T15:12:11+00:00"
         },
         {
             "name": "composer/metadata-minifier",
@@ -18979,16 +18843,16 @@
         },
         {
             "name": "doctrine/persistence",
-            "version": "3.3.3",
+            "version": "3.4.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/persistence.git",
-                "reference": "b337726451f5d530df338fc7f68dee8781b49779"
+                "reference": "0ea965320cec355dba75031c1b23d4c78362e3ff"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/persistence/zipball/b337726451f5d530df338fc7f68dee8781b49779",
-                "reference": "b337726451f5d530df338fc7f68dee8781b49779",
+                "url": "https://api.github.com/repos/doctrine/persistence/zipball/0ea965320cec355dba75031c1b23d4c78362e3ff",
+                "reference": "0ea965320cec355dba75031c1b23d4c78362e3ff",
                 "shasum": ""
             },
             "require": {
@@ -19002,12 +18866,11 @@
             "require-dev": {
                 "doctrine/coding-standard": "^12",
                 "doctrine/common": "^3.0",
-                "phpstan/phpstan": "1.11.1",
+                "phpstan/phpstan": "1.12.7",
                 "phpstan/phpstan-phpunit": "^1",
                 "phpstan/phpstan-strict-rules": "^1.1",
-                "phpunit/phpunit": "^8.5 || ^9.5",
-                "symfony/cache": "^4.4 || ^5.4 || ^6.0",
-                "vimeo/psalm": "4.30.0 || 5.24.0"
+                "phpunit/phpunit": "^8.5.38 || ^9.5",
+                "symfony/cache": "^4.4 || ^5.4 || ^6.0 || ^7.0"
             },
             "type": "library",
             "autoload": {
@@ -19056,7 +18919,7 @@
             ],
             "support": {
                 "issues": "https://github.com/doctrine/persistence/issues",
-                "source": "https://github.com/doctrine/persistence/tree/3.3.3"
+                "source": "https://github.com/doctrine/persistence/tree/3.4.0"
             },
             "funding": [
                 {
@@ -19072,21 +18935,21 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-06-20T10:14:30+00:00"
+            "time": "2024-10-30T19:48:12+00:00"
         },
         {
             "name": "drupal/admin_toolbar",
-            "version": "3.5.0",
+            "version": "3.5.1",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/admin_toolbar.git",
-                "reference": "3.5.0"
+                "reference": "3.5.1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/admin_toolbar-3.5.0.zip",
-                "reference": "3.5.0",
-                "shasum": "099e8d4dc98e1d551b4f9cffdc39599eb8ad04e8"
+                "url": "https://ftp.drupal.org/files/projects/admin_toolbar-3.5.1.zip",
+                "reference": "3.5.1",
+                "shasum": "b5215109836f7fade374fef531231e36c1c9b945"
             },
             "require": {
                 "drupal/core": "^9.5 || ^10 || ^11"
@@ -19097,8 +18960,8 @@
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "3.5.0",
-                    "datestamp": "1722639094",
+                    "version": "3.5.1",
+                    "datestamp": "1730409973",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
@@ -19272,27 +19135,28 @@
         },
         {
             "name": "drupal/composer_deploy",
-            "version": "1.7.0",
+            "version": "1.10.0",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/composer_deploy.git",
-                "reference": "8.x-1.7"
+                "reference": "8.x-1.10"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/composer_deploy-8.x-1.7.zip",
-                "reference": "8.x-1.7",
-                "shasum": "545cb7d83c701fb68f4d95522f24d7270332ce8a"
+                "url": "https://ftp.drupal.org/files/projects/composer_deploy-8.x-1.10.zip",
+                "reference": "8.x-1.10",
+                "shasum": "71a80d50a6f2a0f1f00fcae3dd61865ef3caf6bd"
             },
             "require": {
-                "drupal/core": "^8.8 || ^9 || ^10",
-                "webflo/drupal-finder": "^1.2"
+                "drupal/core": "^9 || ^10 || ^11",
+                "php": ">=8.1",
+                "webflo/drupal-finder": "^1.3"
             },
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "8.x-1.7",
-                    "datestamp": "1660818349",
+                    "version": "8.x-1.10",
+                    "datestamp": "1728893427",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
@@ -19604,23 +19468,23 @@
         },
         {
             "name": "drupal/drupal-extension",
-            "version": "v5.0.0",
+            "version": "v5.1.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/jhedstrom/drupalextension.git",
-                "reference": "d77136a6068ec286b9bd57c5cba400b82452859f"
+                "reference": "454a3ce03f59b26dc3f0b739d778afebe0e35cb9"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/jhedstrom/drupalextension/zipball/d77136a6068ec286b9bd57c5cba400b82452859f",
-                "reference": "d77136a6068ec286b9bd57c5cba400b82452859f",
+                "url": "https://api.github.com/repos/jhedstrom/drupalextension/zipball/454a3ce03f59b26dc3f0b739d778afebe0e35cb9",
+                "reference": "454a3ce03f59b26dc3f0b739d778afebe0e35cb9",
                 "shasum": ""
             },
             "require": {
                 "behat/behat": "~3.2",
                 "behat/mink-browserkit-driver": "^2.1.0",
                 "behat/mink-selenium2-driver": "~1.1",
-                "drupal/drupal-driver": "^2.2.1",
+                "drupal/drupal-driver": "^2.2.1 || dev-master",
                 "friends-of-behat/mink-extension": "^2.7.1",
                 "symfony/http-client": "~4.4 || ^5 || ^6",
                 "webflo/drupal-finder": "^1.2"
@@ -19630,7 +19494,7 @@
                 "drupal/coder": "^8.3",
                 "drupal/core": "^10",
                 "drupal/core-composer-scaffold": "^10",
-                "drush/drush": "^11.6.0 || ^12.4",
+                "drush/drush": "^11.6.0 || ^12.4 || ^13",
                 "php-parallel-lint/php-parallel-lint": "^1.3",
                 "phpspec/phpspec": "^4.0 || ^6.0 || ^7.0"
             },
@@ -19682,7 +19546,7 @@
             ],
             "support": {
                 "issues": "https://github.com/jhedstrom/drupalextension/issues",
-                "source": "https://github.com/jhedstrom/drupalextension/tree/v5.0.0"
+                "source": "https://github.com/jhedstrom/drupalextension/tree/v5.1.0"
             },
             "funding": [
                 {
@@ -19690,7 +19554,7 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-12-13T17:17:05+00:00"
+            "time": "2024-10-21T21:00:55+00:00"
         },
         {
             "name": "drupal/filecache",
@@ -19968,17 +19832,17 @@
         },
         {
             "name": "drupal/upgrade_status",
-            "version": "4.3.5",
+            "version": "4.3.6",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/upgrade_status.git",
-                "reference": "4.3.5"
+                "reference": "4.3.6"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/upgrade_status-4.3.5.zip",
-                "reference": "4.3.5",
-                "shasum": "353c17f14c855f5ba0fe48c6a4f6486360c066a7"
+                "url": "https://ftp.drupal.org/files/projects/upgrade_status-4.3.6.zip",
+                "reference": "4.3.6",
+                "shasum": "8169732d814034f541238d67ba31300825a61aca"
             },
             "require": {
                 "dekor/php-array-table": "^2.0",
@@ -19995,8 +19859,8 @@
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "4.3.5",
-                    "datestamp": "1723044184",
+                    "version": "4.3.6",
+                    "datestamp": "1729173427",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
@@ -20014,7 +19878,7 @@
             ],
             "authors": [
                 {
-                    "name": "Gábor Hojtsy",
+                    "name": "gábor hojtsy",
                     "homepage": "https://www.drupal.org/user/4166"
                 }
             ],
@@ -21771,23 +21635,23 @@
         },
         {
             "name": "phpdocumentor/type-resolver",
-            "version": "1.8.2",
+            "version": "1.9.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/phpDocumentor/TypeResolver.git",
-                "reference": "153ae662783729388a584b4361f2545e4d841e3c"
+                "reference": "1fb5ba8d045f5dd984ebded5b1cc66f29459422d"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c",
-                "reference": "153ae662783729388a584b4361f2545e4d841e3c",
+                "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/1fb5ba8d045f5dd984ebded5b1cc66f29459422d",
+                "reference": "1fb5ba8d045f5dd984ebded5b1cc66f29459422d",
                 "shasum": ""
             },
             "require": {
                 "doctrine/deprecations": "^1.0",
                 "php": "^7.3 || ^8.0",
                 "phpdocumentor/reflection-common": "^2.0",
-                "phpstan/phpdoc-parser": "^1.13"
+                "phpstan/phpdoc-parser": "^1.18"
             },
             "require-dev": {
                 "ext-tokenizer": "*",
@@ -21823,9 +21687,9 @@
             "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
             "support": {
                 "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
-                "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2"
+                "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.9.0"
             },
-            "time": "2024-02-23T11:10:43+00:00"
+            "time": "2024-11-03T20:11:34+00:00"
         },
         {
             "name": "phpmd/phpmd",
@@ -21987,22 +21851,22 @@
         },
         {
             "name": "phpro/grumphp-shim",
-            "version": "v2.8.0",
+            "version": "v2.9.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/phpro/grumphp-shim.git",
-                "reference": "b2932a5bf311d3aad5c8bf0a732b48e2d727ada9"
+                "reference": "25a10df0001f4887e1028448c501b9de2cc29239"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpro/grumphp-shim/zipball/b2932a5bf311d3aad5c8bf0a732b48e2d727ada9",
-                "reference": "b2932a5bf311d3aad5c8bf0a732b48e2d727ada9",
+                "url": "https://api.github.com/repos/phpro/grumphp-shim/zipball/25a10df0001f4887e1028448c501b9de2cc29239",
+                "reference": "25a10df0001f4887e1028448c501b9de2cc29239",
                 "shasum": ""
             },
             "require": {
                 "composer-plugin-api": "~2.0",
                 "ext-json": "*",
-                "php": "~8.1.0 || ~8.2.0 || ~8.3.0"
+                "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0"
             },
             "replace": {
                 "phpro/grumphp": "self.version"
@@ -22040,9 +21904,9 @@
             "description": "GrumPHP Phar distribution",
             "support": {
                 "issues": "https://github.com/phpro/grumphp-shim/issues",
-                "source": "https://github.com/phpro/grumphp-shim/tree/v2.8.0"
+                "source": "https://github.com/phpro/grumphp-shim/tree/v2.9.0"
             },
-            "time": "2024-09-16T08:28:47+00:00"
+            "time": "2024-10-25T10:14:23+00:00"
         },
         {
             "name": "phpspec/prophecy",
@@ -22215,16 +22079,16 @@
         },
         {
             "name": "phpstan/phpdoc-parser",
-            "version": "1.32.0",
+            "version": "1.33.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/phpstan/phpdoc-parser.git",
-                "reference": "6ca22b154efdd9e3c68c56f5d94670920a1c19a4"
+                "reference": "82a311fd3690fb2bf7b64d5c98f912b3dd746140"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6ca22b154efdd9e3c68c56f5d94670920a1c19a4",
-                "reference": "6ca22b154efdd9e3c68c56f5d94670920a1c19a4",
+                "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/82a311fd3690fb2bf7b64d5c98f912b3dd746140",
+                "reference": "82a311fd3690fb2bf7b64d5c98f912b3dd746140",
                 "shasum": ""
             },
             "require": {
@@ -22256,22 +22120,22 @@
             "description": "PHPDoc parser with support for nullable, intersection and generic types",
             "support": {
                 "issues": "https://github.com/phpstan/phpdoc-parser/issues",
-                "source": "https://github.com/phpstan/phpdoc-parser/tree/1.32.0"
+                "source": "https://github.com/phpstan/phpdoc-parser/tree/1.33.0"
             },
-            "time": "2024-09-26T07:23:32+00:00"
+            "time": "2024-10-13T11:25:22+00:00"
         },
         {
             "name": "phpstan/phpstan",
-            "version": "1.12.6",
+            "version": "1.12.7",
             "source": {
                 "type": "git",
                 "url": "https://github.com/phpstan/phpstan.git",
-                "reference": "dc4d2f145a88ea7141ae698effd64d9df46527ae"
+                "reference": "dc2b9976bd8b0f84ec9b0e50cc35378551de7af0"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc4d2f145a88ea7141ae698effd64d9df46527ae",
-                "reference": "dc4d2f145a88ea7141ae698effd64d9df46527ae",
+                "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc2b9976bd8b0f84ec9b0e50cc35378551de7af0",
+                "reference": "dc2b9976bd8b0f84ec9b0e50cc35378551de7af0",
                 "shasum": ""
             },
             "require": {
@@ -22316,7 +22180,7 @@
                     "type": "github"
                 }
             ],
-            "time": "2024-10-06T15:03:59+00:00"
+            "time": "2024-10-18T11:12:07+00:00"
         },
         {
             "name": "phpstan/phpstan-deprecation-rules",
@@ -22862,16 +22726,16 @@
         },
         {
             "name": "rector/rector",
-            "version": "1.2.6",
+            "version": "1.2.8",
             "source": {
                 "type": "git",
                 "url": "https://github.com/rectorphp/rector.git",
-                "reference": "6ca85da28159dbd3bb36211c5104b7bc91278e99"
+                "reference": "05755bf43617449c08ee8e50fb840c85ad3b1240"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/rectorphp/rector/zipball/6ca85da28159dbd3bb36211c5104b7bc91278e99",
-                "reference": "6ca85da28159dbd3bb36211c5104b7bc91278e99",
+                "url": "https://api.github.com/repos/rectorphp/rector/zipball/05755bf43617449c08ee8e50fb840c85ad3b1240",
+                "reference": "05755bf43617449c08ee8e50fb840c85ad3b1240",
                 "shasum": ""
             },
             "require": {
@@ -22909,7 +22773,7 @@
             ],
             "support": {
                 "issues": "https://github.com/rectorphp/rector/issues",
-                "source": "https://github.com/rectorphp/rector/tree/1.2.6"
+                "source": "https://github.com/rectorphp/rector/tree/1.2.8"
             },
             "funding": [
                 {
@@ -22917,7 +22781,7 @@
                     "type": "github"
                 }
             ],
-            "time": "2024-10-03T08:56:44+00:00"
+            "time": "2024-10-18T11:54:27+00:00"
         },
         {
             "name": "sebastian/cli-parser",
@@ -24194,16 +24058,16 @@
         },
         {
             "name": "symfony/browser-kit",
-            "version": "v7.1.1",
+            "version": "v7.1.6",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/browser-kit.git",
-                "reference": "9c13742e3175b5815e272b981876ae329bec2040"
+                "reference": "714becc9ba9b20115ffededc58f6b7172dc394cf"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/browser-kit/zipball/9c13742e3175b5815e272b981876ae329bec2040",
-                "reference": "9c13742e3175b5815e272b981876ae329bec2040",
+                "url": "https://api.github.com/repos/symfony/browser-kit/zipball/714becc9ba9b20115ffededc58f6b7172dc394cf",
+                "reference": "714becc9ba9b20115ffededc58f6b7172dc394cf",
                 "shasum": ""
             },
             "require": {
@@ -24242,7 +24106,7 @@
             "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/browser-kit/tree/v7.1.1"
+                "source": "https://github.com/symfony/browser-kit/tree/v7.1.6"
             },
             "funding": [
                 {
@@ -24258,7 +24122,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-05-31T14:57:53+00:00"
+            "time": "2024-10-25T15:11:02+00:00"
         },
         {
             "name": "symfony/config",
@@ -24337,16 +24201,16 @@
         },
         {
             "name": "symfony/dom-crawler",
-            "version": "v7.1.5",
+            "version": "v7.1.6",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/dom-crawler.git",
-                "reference": "b92af238457a7cdd2738f941cd525d76313e8283"
+                "reference": "794ddd5481ba15d8a04132c95e211cd5656e09fb"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/b92af238457a7cdd2738f941cd525d76313e8283",
-                "reference": "b92af238457a7cdd2738f941cd525d76313e8283",
+                "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/794ddd5481ba15d8a04132c95e211cd5656e09fb",
+                "reference": "794ddd5481ba15d8a04132c95e211cd5656e09fb",
                 "shasum": ""
             },
             "require": {
@@ -24384,7 +24248,7 @@
             "description": "Eases DOM navigation for HTML and XML documents",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/dom-crawler/tree/v7.1.5"
+                "source": "https://github.com/symfony/dom-crawler/tree/v7.1.6"
             },
             "funding": [
                 {
@@ -24400,20 +24264,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-15T06:48:17+00:00"
+            "time": "2024-10-25T15:11:02+00:00"
         },
         {
             "name": "symfony/phpunit-bridge",
-            "version": "v6.4.11",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/phpunit-bridge.git",
-                "reference": "168f412dcd6caf3813a9cc0f286cd68f6a76f070"
+                "reference": "e6377bea5b114f70de6332fe935e160da5014ce8"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/168f412dcd6caf3813a9cc0f286cd68f6a76f070",
-                "reference": "168f412dcd6caf3813a9cc0f286cd68f6a76f070",
+                "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/e6377bea5b114f70de6332fe935e160da5014ce8",
+                "reference": "e6377bea5b114f70de6332fe935e160da5014ce8",
                 "shasum": ""
             },
             "require": {
@@ -24466,7 +24330,7 @@
             "description": "Provides utilities for PHPUnit, especially user deprecation notices management",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/phpunit-bridge/tree/v6.4.11"
+                "source": "https://github.com/symfony/phpunit-bridge/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -24482,7 +24346,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-08-13T14:27:37+00:00"
+            "time": "2024-09-25T14:18:03+00:00"
         },
         {
             "name": "symfony/polyfill-php73",
@@ -24562,16 +24426,16 @@
         },
         {
             "name": "symfony/translation",
-            "version": "v7.1.5",
+            "version": "v7.1.6",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/translation.git",
-                "reference": "235535e3f84f3dfbdbde0208ede6ca75c3a489ea"
+                "reference": "b9f72ab14efdb6b772f85041fa12f820dee8d55f"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/translation/zipball/235535e3f84f3dfbdbde0208ede6ca75c3a489ea",
-                "reference": "235535e3f84f3dfbdbde0208ede6ca75c3a489ea",
+                "url": "https://api.github.com/repos/symfony/translation/zipball/b9f72ab14efdb6b772f85041fa12f820dee8d55f",
+                "reference": "b9f72ab14efdb6b772f85041fa12f820dee8d55f",
                 "shasum": ""
             },
             "require": {
@@ -24636,7 +24500,7 @@
             "description": "Provides tools to internationalize your application",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/translation/tree/v7.1.5"
+                "source": "https://github.com/symfony/translation/tree/v7.1.6"
             },
             "funding": [
                 {
@@ -24652,7 +24516,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-16T06:30:38+00:00"
+            "time": "2024-09-28T12:35:13+00:00"
         },
         {
             "name": "theseer/tokenizer",
@@ -24932,17 +24796,20 @@
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/dtt.git",
-                "reference": "d985fae238c6e3f6efa3f4142be6a4380b2a7a9e"
+                "reference": "664201b00140f9b935fcb9f3eef012c6638ec0c5"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://git.drupalcode.org/api/v4/projects/project%2Fdtt/repository/archive.zip?sha=d985fae238c6e3f6efa3f4142be6a4380b2a7a9e",
-                "reference": "d985fae238c6e3f6efa3f4142be6a4380b2a7a9e",
+                "url": "https://git.drupalcode.org/api/v4/projects/project%2Fdtt/repository/archive.zip?sha=664201b00140f9b935fcb9f3eef012c6638ec0c5",
+                "reference": "664201b00140f9b935fcb9f3eef012c6638ec0c5",
                 "shasum": ""
             },
             "require": {
                 "php": ">=8.1"
             },
+            "conflict": {
+                "drupal/core": "<=10.2"
+            },
             "require-dev": {
                 "drupal/mailsystem": "^4",
                 "drush/drush": "^12.5 || ^13",
@@ -24985,9 +24852,9 @@
             ],
             "description": "Traits for testing Drupal sites that have user content (versus unpopulated sites).",
             "support": {
-                "source": "https://git.drupalcode.org/project/dtt/-/tree/2.4.0"
+                "source": "https://git.drupalcode.org/project/dtt/-/tree/2.5.0"
             },
-            "time": "2024-09-28T20:04:24+00:00"
+            "time": "2024-10-30T23:28:39+00:00"
         },
         {
             "name": "weitzman/logintrait",
diff --git a/resources/patch/php/cfpinto/graphql/25.diff b/resources/patch/php/cfpinto/graphql/25.diff
deleted file mode 100644
index 1768097ce1..0000000000
--- a/resources/patch/php/cfpinto/graphql/25.diff
+++ /dev/null
@@ -1,52 +0,0 @@
-diff --git a/src/Collections/ArgumentsCollection.php b/src/Collections/ArgumentsCollection.php
-index 2f6fd4c..f56ca1c 100644
---- a/src/Collections/ArgumentsCollection.php
-+++ b/src/Collections/ArgumentsCollection.php
-@@ -21,7 +21,7 @@ class ArgumentsCollection extends CollectionAbstract
-     public function __construct(array $array)
-     {
-         foreach ($array as $key => $value) {
--            if (!is_object($value)) {
-+            if (!is_object($value) || enum_exists(get_class($value))) {
-                 $array[$key] = new Argument($value, $key);
-             }
-         }
-diff --git a/src/Entities/Argument.php b/src/Entities/Argument.php
-index 038a4ee..99f6e8f 100644
---- a/src/Entities/Argument.php
-+++ b/src/Entities/Argument.php
-@@ -43,6 +43,9 @@ public function toString(): string
- 
-             return json_encode($this->value);
-         }
-+        elseif (is_object($this->value) && enum_exists(get_class($this->value))) {
-+            return $this->key . ': ' . $this->value->name;
-+        }
- 
-         return $this->key . ': ' . json_encode($this->value);
-     }
-diff --git a/tests/Unit/Collections/ArgumentsCollectionTest.php b/tests/Unit/Collections/ArgumentsCollectionTest.php
-index 89719fb..56b848a 100644
---- a/tests/Unit/Collections/ArgumentsCollectionTest.php
-+++ b/tests/Unit/Collections/ArgumentsCollectionTest.php
-@@ -65,6 +65,10 @@ public function testArguments()
-         $this->assertCount(2, $this->collection->getArguments());
-         $this->collection->clear();
-         $this->assertCount(0, $this->collection->getArguments());
-+        $this->collection->addArgument(new Argument(TestingEnum::OPTION1, 'baz1'));
-+        $this->collection->addArgument(new Argument(TestingEnum::OPTION2, 'baz2'));
-+        $this->assertCount(2, $this->collection->getArguments());
-+        $this->assertSame('baz1: OPTION1 baz2: OPTION2', $this->collection->toString());
-     }
- 
-     public function testInvalidArguments()
-@@ -87,3 +91,9 @@ public function testScalarTypes() {
-         $this->assertEquals('test: 1', $collection->toString());
-     }
- }
-+
-+enum TestingEnum
-+{
-+    case OPTION1;
-+    case OPTION2;
-+}
diff --git a/resources/patch/php/drupal/rdf_entity/ea8f6af001fca732e89a4be0e29643953f49a88f.diff b/resources/patch/php/drupal/rdf_entity/ea8f6af001fca732e89a4be0e29643953f49a88f.diff
deleted file mode 100644
index 65b513d98e..0000000000
--- a/resources/patch/php/drupal/rdf_entity/ea8f6af001fca732e89a4be0e29643953f49a88f.diff
+++ /dev/null
@@ -1,141 +0,0 @@
-diff --git a/config/schema/rdf_entity.schema.yml b/config/schema/rdf_entity.schema.yml
-index b4c06c5c..5d4cdbbf 100644
---- a/config/schema/rdf_entity.schema.yml
-+++ b/config/schema/rdf_entity.schema.yml
-@@ -1,7 +1,7 @@
- # Schema for the configuration files of the rdf_entity module.
- 
- rdf_entity.rdfentity.*:
--  type: config_entity
-+  type: bundle_entity_with_plural_labels
-   label: 'Rdf type'
-   mapping:
-     name:
-diff --git a/src/Entity/RdfEntityType.php b/src/Entity/RdfEntityType.php
-index 98788e7c..dcfd2781 100644
---- a/src/Entity/RdfEntityType.php
-+++ b/src/Entity/RdfEntityType.php
-@@ -3,6 +3,7 @@
- namespace Drupal\rdf_entity\Entity;
- 
- use Drupal\Core\Config\Entity\ConfigEntityBundleBase;
-+use Drupal\Core\Config\Entity\EntityBundleWithPluralLabelsTrait;
- use Drupal\rdf_entity\RdfEntityTypeInterface;
- 
- /**
-@@ -36,11 +37,17 @@
-  *   config_export = {
-  *     "name",
-  *     "rid",
-- *     "description"
-+ *     "description",
-+ *     "label_singular",
-+ *     "label_plural",
-+ *     "label_count",
-  *   }
-  * )
-  */
- class RdfEntityType extends ConfigEntityBundleBase implements RdfEntityTypeInterface {
-+
-+  use EntityBundleWithPluralLabelsTrait;
-+
-   /**
-    * The bundle type of RDF entity.
-    *
-diff --git a/src/RdfEntityTypeInterface.php b/src/RdfEntityTypeInterface.php
-index 11ca4a5c..1a9b40c0 100644
---- a/src/RdfEntityTypeInterface.php
-+++ b/src/RdfEntityTypeInterface.php
-@@ -3,6 +3,7 @@
- namespace Drupal\rdf_entity;
- 
- use Drupal\Core\Config\Entity\ConfigEntityInterface;
-+use Drupal\Core\Config\Entity\EntityBundleWithPluralLabelsInterface;
- 
- /**
-  * Provides an interface defining a Rdf entity.
-@@ -11,6 +12,6 @@
-  *
-  * @ingroup rdf_entity
-  */
--interface RdfEntityTypeInterface extends ConfigEntityInterface {
-+interface RdfEntityTypeInterface extends ConfigEntityInterface, EntityBundleWithPluralLabelsInterface {
- 
- }
-diff --git a/tests/modules/rdf_entity_graph_test/config/install/rdf_entity.rdfentity.fruit.yml b/tests/modules/rdf_entity_graph_test/config/install/rdf_entity.rdfentity.fruit.yml
-new file mode 100644
-index 00000000..36486883
---- /dev/null
-+++ b/tests/modules/rdf_entity_graph_test/config/install/rdf_entity.rdfentity.fruit.yml
-@@ -0,0 +1,11 @@
-+langcode: en
-+status: true
-+dependencies: {  }
-+third_party_settings: {  }
-+name: Fruit
-+rid: fruit
-+description: Fruits
-+label_singular: fruit
-+label_plural: fruits
-+label_count:
-+  - "1 fruit\x03@count fruits"
-diff --git a/tests/modules/rdf_entity_test/config/install/rdf_entity.rdfentity.dummy.yml b/tests/modules/rdf_entity_test/config/install/rdf_entity.rdfentity.dummy.yml
-index d778812a..77e6b887 100644
---- a/tests/modules/rdf_entity_test/config/install/rdf_entity.rdfentity.dummy.yml
-+++ b/tests/modules/rdf_entity_test/config/install/rdf_entity.rdfentity.dummy.yml
-@@ -5,3 +5,7 @@ third_party_settings: {  }
- name: Dummy
- rid: dummy
- description: ''
-+label_singular: 'dummy item'
-+label_plural: 'dummy items'
-+label_count:
-+  - "1 dummy item\x03@count dummy items"
-diff --git a/tests/modules/rdf_entity_test/config/install/rdf_entity.rdfentity.multifield.yml b/tests/modules/rdf_entity_test/config/install/rdf_entity.rdfentity.multifield.yml
-index b8769963..313b0021 100644
---- a/tests/modules/rdf_entity_test/config/install/rdf_entity.rdfentity.multifield.yml
-+++ b/tests/modules/rdf_entity_test/config/install/rdf_entity.rdfentity.multifield.yml
-@@ -5,3 +5,7 @@ third_party_settings: {  }
- name: Multifield
- rid: multifield
- description: ''
-+label_singular: 'multifield item'
-+label_plural: 'multifield items'
-+label_count:
-+  - "1 multifield item\x03@count multifield items"
-diff --git a/tests/modules/rdf_entity_test/config/install/rdf_entity.rdfentity.with_owner.yml b/tests/modules/rdf_entity_test/config/install/rdf_entity.rdfentity.with_owner.yml
-index 76839382..6fd7badb 100644
---- a/tests/modules/rdf_entity_test/config/install/rdf_entity.rdfentity.with_owner.yml
-+++ b/tests/modules/rdf_entity_test/config/install/rdf_entity.rdfentity.with_owner.yml
-@@ -5,3 +5,7 @@ third_party_settings: {  }
- name: 'With Owner'
- rid: with_owner
- description: ''
-+label_singular: "'with owner' item"
-+label_plural: "'with owner' items"
-+label_count:
-+  - "1 'with owner' item\x03@count 'with owner' items"
-diff --git a/tests/travis-ci/fixtures/composer.json.dist b/tests/travis-ci/fixtures/composer.json.dist
-index 357ca12f..c2741c15 100644
---- a/tests/travis-ci/fixtures/composer.json.dist
-+++ b/tests/travis-ci/fixtures/composer.json.dist
-@@ -1,6 +1,7 @@
- {
-   "require": {
-     "composer/installers": "^1.5.0",
-+    "cweagans/composer-patches": "^1.6.5",
-     "drupal/core": "${DRUPAL}",
-     "drupal/core-composer-scaffold": "*",
-     "drupal/pathauto": "*",
-@@ -52,6 +53,11 @@
-       "locations": {
-         "web-root": "web/"
-       }
-+    },
-+    "patches": {
-+      "drupal/core": {
-+        "Bundle label plural variants @see https://www.drupal.org/node/2765065": "https://www.drupal.org/files/issues/2018-06-11/2765065-93.patch"
-+      }
-     }
-   }
- }
diff --git a/resources/patch/php/drupal/sparql_entity_storage/3379328.patch b/resources/patch/php/drupal/sparql_entity_storage/3379328.patch
deleted file mode 100644
index 959716af3a..0000000000
--- a/resources/patch/php/drupal/sparql_entity_storage/3379328.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-diff --git a/composer.json b/composer.json
-index 6fe9837..96c9af1 100644
---- a/composer.json
-+++ b/composer.json
-@@ -14,6 +14,9 @@
-     "sweetrdf/easyrdf": "^1.9",
-     "ml/json-ld": "^1.0"
-   },
-+  "require-dev": {
-+    "drupal/rdf_entity": "^2@alpha"
-+  },
-   "repositories": [
-     {
-       "type": "composer",
-diff --git a/src/SparqlEntityStorageGraphHandler.php b/src/SparqlEntityStorageGraphHandler.php
-index 6311ccc..f159ff6 100644
---- a/src/SparqlEntityStorageGraphHandler.php
-+++ b/src/SparqlEntityStorageGraphHandler.php
-@@ -146,6 +146,7 @@ class SparqlEntityStorageGraphHandler implements SparqlEntityStorageGraphHandler
-    */
-   public function getEntityTypeGraphUris(string $entity_type_id, ?array $limit_to_graph_ids = NULL): array {
-     if (!isset($this->cache['structure'][$entity_type_id])) {
-+      $this->cache['structure'][$entity_type_id] = [];
-       $bundle_ids = array_keys($this->entityTypeBundleInfo->getBundleInfo($entity_type_id));
-       foreach ($bundle_ids as $bundle_id) {
-         $graphs = ($mapping = SparqlMapping::loadByName($entity_type_id, $bundle_id)) ? $mapping->getGraphs() : [];
-diff --git a/tests/src/Kernel/StorageLoadWithRdfEntityTest.php b/tests/src/Kernel/StorageLoadWithRdfEntityTest.php
-new file mode 100644
-index 0000000..09f6faf
---- /dev/null
-+++ b/tests/src/Kernel/StorageLoadWithRdfEntityTest.php
-@@ -0,0 +1,39 @@
-+<?php
-+
-+declare(strict_types = 1);
-+
-+namespace Drupal\Tests\sparql_entity_storage\Kernel;
-+
-+use Drupal\rdf_entity\Entity\Rdf;
-+
-+/**
-+ * Tests loading a missing RDF Entity.
-+ *
-+ * @group sparql_entity_storage
-+ */
-+class StorageLoadWithRdfEntityTest extends SparqlKernelTestBase {
-+
-+  /**
-+   * {@inheritdoc}
-+   */
-+  protected static $modules = [
-+    'rdf_entity',
-+  ];
-+
-+  /**
-+   * {@inheritdoc}
-+   */
-+  public function setUp(): void {
-+    parent::setUp();
-+
-+    $this->installEntitySchema('rdf_entity');
-+  }
-+
-+  /**
-+   * Tests whether loading a missing RDF entity returns NULL.
-+   */
-+  public function testLoadMissingRdfEntity(): void {
-+    $this->assertNull(Rdf::load('missing-id'));
-+  }
-+
-+}
diff --git a/resources/patch/php/drupal/sparql_entity_storage/3421694.diff b/resources/patch/php/drupal/sparql_entity_storage/3421694.diff
deleted file mode 100644
index e2be3bf679..0000000000
--- a/resources/patch/php/drupal/sparql_entity_storage/3421694.diff
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/src/SparqlEntityStorageFieldHandler.php b/src/SparqlEntityStorageFieldHandler.php
-index 3e2d3d85c94df2283680f87b7e275c902e5417cd..37a78648103e725ccbe95f59e8c5029ab640347d 100644
---- a/src/SparqlEntityStorageFieldHandler.php
-+++ b/src/SparqlEntityStorageFieldHandler.php
-@@ -159,7 +159,9 @@ class SparqlEntityStorageFieldHandler implements SparqlEntityStorageFieldHandler
- 
-       foreach ($this->entityTypeBundleInfo->getBundleInfo($entity_type_id) as $bundle_id => $bundle_info) {
-         $field_definitions = $this->entityFieldManager->getFieldDefinitions($entity_type_id, $bundle_id);
--        $mapping = SparqlMapping::loadByName($entity_type_id, $bundle_id);
-+        if (!$mapping = SparqlMapping::loadByName($entity_type_id, $bundle_id)) {
-+          continue;
-+        }
-         if (!$bundle_mapping = $mapping->getRdfType()) {
-           throw new \Exception("The {$bundle_info['label']} SPARQL entity does not have an rdf_type set.");
-         }
diff --git a/resources/patch/php/gitonomy/gitlib/217.diff b/resources/patch/php/gitonomy/gitlib/217.diff
deleted file mode 100644
index ab172e5418..0000000000
--- a/resources/patch/php/gitonomy/gitlib/217.diff
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/src/Gitonomy/Git/Parser/LogParser.php b/src/Gitonomy/Git/Parser/LogParser.php
-index 2672186..4397a46 100644
---- a/src/Gitonomy/Git/Parser/LogParser.php
-+++ b/src/Gitonomy/Git/Parser/LogParser.php
-@@ -49,7 +49,9 @@ protected function doParse()
-             $this->consumeGPGSignature();
- 
-             $this->consumeNewLine();
--            $this->consumeNewLine();
-+            if ($this->cursor < strlen($this->content)) {
-+                $this->consumeNewLine();
-+            }
- 
-             $message = '';
-             if ($this->expects('    ')) {
diff --git a/web/modules/custom/joinup_sparql/joinup_sparql.info.yml b/web/modules/custom/joinup_sparql/joinup_sparql.info.yml
deleted file mode 100644
index d6e94cf3e8..0000000000
--- a/web/modules/custom/joinup_sparql/joinup_sparql.info.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-name: Joinup SPARQL
-description: Contains Joinup specific overrides related to the RDF entity and the SPARQL endpoint.
-type: module
-package: Joinup
-core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php b/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php
deleted file mode 100644
index 8b22532545..0000000000
--- a/web/modules/custom/joinup_sparql/src/Driver/Database/joinup_sparql/Connection.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace Drupal\joinup_sparql\Driver\Database\joinup_sparql;
-
-use Drupal\sparql_entity_storage\Driver\Database\sparql\Connection as BaseConnection;
-use Drupal\sparql_entity_storage\Driver\Database\sparql\ConnectionInterface;
-use Drupal\sparql_entity_storage\Exception\SparqlQueryException;
-use EasyRdf\Http;
-use EasyRdf\Http\Client as HttpClient;
-use EasyRdf\Sparql\Client;
-use EasyRdf\Sparql\Result;
-
-/**
- * @addtogroup database
- * @{
- */
-
-/**
- * SPARQL connection service set up for virtuoso and Joinup.
- */
-class Connection extends BaseConnection implements ConnectionInterface {
-
-  /**
-   * {@inheritdoc}
-   */
-  public function query(string $query, array $args = [], array $options = []): Result {
-    try {
-      return parent::query($query);
-    }
-    catch (SparqlQueryException $e) {
-      // During a Virtuoso checkpoint, the server locks down, causing HTTP
-      // requests on the SPARQL endpoint to fail with a 404 response. We wait a
-      // reasonable amount of time and then we retry one more time.
-      // @see http://docs.openlinksw.com/virtuoso/checkpoint/
-      sleep(5);
-      return parent::query($query);
-    }
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function update(string $query, array $args = [], array $options = []): Result {
-    try {
-      return parent::update($query);
-    }
-    catch (SparqlQueryException $e) {
-      // During a Virtuoso checkpoint, the server locks down, causing HTTP
-      // requests on the SPARQL endpoint to fail with a 404 response. We wait a
-      // reasonable amount of time and then we retry one more time.
-      // @see http://docs.openlinksw.com/virtuoso/checkpoint/
-      sleep(5);
-      return parent::update($query);
-    }
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function open(array &$connection_options = []): Client {
-    $client = new HttpClient();
-    $client->setConfig(['timeout' => '30']);
-    Http::setDefaultHttpClient($client);
-    return parent::open($connection_options);
-  }
-
-}
-
-/**
- * @} End of "addtogroup database".
- */
-- 
GitLab


From a7c10e751af05e73627f369922b2a5a12faba1d9 Mon Sep 17 00:00:00 2001
From: Claudiu Cristea <clau.cristea@gmail.com>
Date: Mon, 4 Nov 2024 15:55:03 +0200
Subject: [PATCH 23/33] ISAICP-9138: Update Node dependencies.

---
 package-lock.json | 1931 ++++++++++++++++-----------------------------
 1 file changed, 692 insertions(+), 1239 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 1aba1ea4ab..6a78c25fd6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -63,12 +63,13 @@
       }
     },
     "node_modules/@babel/code-frame": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz",
-      "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==",
+      "version": "7.26.2",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
+      "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
       "dev": true,
       "dependencies": {
-        "@babel/highlight": "^7.25.7",
+        "@babel/helper-validator-identifier": "^7.25.9",
+        "js-tokens": "^4.0.0",
         "picocolors": "^1.0.0"
       },
       "engines": {
@@ -76,9 +77,9 @@
       }
     },
     "node_modules/@babel/compat-data": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.7.tgz",
-      "integrity": "sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==",
+      "version": "7.26.2",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz",
+      "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
@@ -115,12 +116,13 @@
       }
     },
     "node_modules/@babel/generator": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz",
-      "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==",
+      "version": "7.26.2",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz",
+      "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.25.7",
+        "@babel/parser": "^7.26.2",
+        "@babel/types": "^7.26.0",
         "@jridgewell/gen-mapping": "^0.3.5",
         "@jridgewell/trace-mapping": "^0.3.25",
         "jsesc": "^3.0.2"
@@ -130,38 +132,38 @@
       }
     },
     "node_modules/@babel/helper-annotate-as-pure": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz",
-      "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz",
+      "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.25.7"
+        "@babel/types": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.7.tgz",
-      "integrity": "sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz",
+      "integrity": "sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==",
       "dev": true,
       "dependencies": {
-        "@babel/traverse": "^7.25.7",
-        "@babel/types": "^7.25.7"
+        "@babel/traverse": "^7.25.9",
+        "@babel/types": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-compilation-targets": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz",
-      "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz",
+      "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==",
       "dev": true,
       "dependencies": {
-        "@babel/compat-data": "^7.25.7",
-        "@babel/helper-validator-option": "^7.25.7",
+        "@babel/compat-data": "^7.25.9",
+        "@babel/helper-validator-option": "^7.25.9",
         "browserslist": "^4.24.0",
         "lru-cache": "^5.1.1",
         "semver": "^6.3.1"
@@ -171,17 +173,17 @@
       }
     },
     "node_modules/@babel/helper-create-class-features-plugin": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.7.tgz",
-      "integrity": "sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz",
+      "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.25.7",
-        "@babel/helper-member-expression-to-functions": "^7.25.7",
-        "@babel/helper-optimise-call-expression": "^7.25.7",
-        "@babel/helper-replace-supers": "^7.25.7",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7",
-        "@babel/traverse": "^7.25.7",
+        "@babel/helper-annotate-as-pure": "^7.25.9",
+        "@babel/helper-member-expression-to-functions": "^7.25.9",
+        "@babel/helper-optimise-call-expression": "^7.25.9",
+        "@babel/helper-replace-supers": "^7.25.9",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9",
+        "@babel/traverse": "^7.25.9",
         "semver": "^6.3.1"
       },
       "engines": {
@@ -192,12 +194,12 @@
       }
     },
     "node_modules/@babel/helper-create-regexp-features-plugin": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.7.tgz",
-      "integrity": "sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz",
+      "integrity": "sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.25.7",
+        "@babel/helper-annotate-as-pure": "^7.25.9",
         "regexpu-core": "^6.1.1",
         "semver": "^6.3.1"
       },
@@ -225,41 +227,40 @@
       }
     },
     "node_modules/@babel/helper-member-expression-to-functions": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz",
-      "integrity": "sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz",
+      "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==",
       "dev": true,
       "dependencies": {
-        "@babel/traverse": "^7.25.7",
-        "@babel/types": "^7.25.7"
+        "@babel/traverse": "^7.25.9",
+        "@babel/types": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-module-imports": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz",
-      "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
+      "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
       "dev": true,
       "dependencies": {
-        "@babel/traverse": "^7.25.7",
-        "@babel/types": "^7.25.7"
+        "@babel/traverse": "^7.25.9",
+        "@babel/types": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-module-transforms": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz",
-      "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==",
+      "version": "7.26.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
+      "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-module-imports": "^7.25.7",
-        "@babel/helper-simple-access": "^7.25.7",
-        "@babel/helper-validator-identifier": "^7.25.7",
-        "@babel/traverse": "^7.25.7"
+        "@babel/helper-module-imports": "^7.25.9",
+        "@babel/helper-validator-identifier": "^7.25.9",
+        "@babel/traverse": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -269,35 +270,35 @@
       }
     },
     "node_modules/@babel/helper-optimise-call-expression": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.7.tgz",
-      "integrity": "sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz",
+      "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.25.7"
+        "@babel/types": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-plugin-utils": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz",
-      "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz",
+      "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-remap-async-to-generator": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.7.tgz",
-      "integrity": "sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz",
+      "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.25.7",
-        "@babel/helper-wrap-function": "^7.25.7",
-        "@babel/traverse": "^7.25.7"
+        "@babel/helper-annotate-as-pure": "^7.25.9",
+        "@babel/helper-wrap-function": "^7.25.9",
+        "@babel/traverse": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -307,14 +308,14 @@
       }
     },
     "node_modules/@babel/helper-replace-supers": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.7.tgz",
-      "integrity": "sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz",
+      "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-member-expression-to-functions": "^7.25.7",
-        "@babel/helper-optimise-call-expression": "^7.25.7",
-        "@babel/traverse": "^7.25.7"
+        "@babel/helper-member-expression-to-functions": "^7.25.9",
+        "@babel/helper-optimise-call-expression": "^7.25.9",
+        "@babel/traverse": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -324,107 +325,92 @@
       }
     },
     "node_modules/@babel/helper-simple-access": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz",
-      "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz",
+      "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==",
       "dev": true,
       "dependencies": {
-        "@babel/traverse": "^7.25.7",
-        "@babel/types": "^7.25.7"
+        "@babel/traverse": "^7.25.9",
+        "@babel/types": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.7.tgz",
-      "integrity": "sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz",
+      "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==",
       "dev": true,
       "dependencies": {
-        "@babel/traverse": "^7.25.7",
-        "@babel/types": "^7.25.7"
+        "@babel/traverse": "^7.25.9",
+        "@babel/types": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-string-parser": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz",
-      "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
+      "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-validator-identifier": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz",
-      "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
+      "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-validator-option": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz",
-      "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
+      "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-wrap-function": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.7.tgz",
-      "integrity": "sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz",
+      "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==",
       "dev": true,
       "dependencies": {
-        "@babel/template": "^7.25.7",
-        "@babel/traverse": "^7.25.7",
-        "@babel/types": "^7.25.7"
+        "@babel/template": "^7.25.9",
+        "@babel/traverse": "^7.25.9",
+        "@babel/types": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helpers": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz",
-      "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/template": "^7.25.7",
-        "@babel/types": "^7.25.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/highlight": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz",
-      "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==",
+      "version": "7.26.0",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz",
+      "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-validator-identifier": "^7.25.7",
-        "chalk": "^2.4.2",
-        "js-tokens": "^4.0.0",
-        "picocolors": "^1.0.0"
+        "@babel/template": "^7.25.9",
+        "@babel/types": "^7.26.0"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/parser": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.7.tgz",
-      "integrity": "sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==",
+      "version": "7.26.2",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz",
+      "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.25.7"
+        "@babel/types": "^7.26.0"
       },
       "bin": {
         "parser": "bin/babel-parser.js"
@@ -434,12 +420,12 @@
       }
     },
     "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.7.tgz",
-      "integrity": "sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz",
+      "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -449,14 +435,14 @@
       }
     },
     "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.7.tgz",
-      "integrity": "sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz",
+      "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7",
-        "@babel/plugin-transform-optional-chaining": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9",
+        "@babel/plugin-transform-optional-chaining": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -558,12 +544,12 @@
       }
     },
     "node_modules/@babel/plugin-syntax-import-assertions": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz",
-      "integrity": "sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==",
+      "version": "7.26.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz",
+      "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -573,12 +559,12 @@
       }
     },
     "node_modules/@babel/plugin-syntax-import-attributes": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz",
-      "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==",
+      "version": "7.26.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz",
+      "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -730,12 +716,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-arrow-functions": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.7.tgz",
-      "integrity": "sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz",
+      "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -745,15 +731,14 @@
       }
     },
     "node_modules/@babel/plugin-transform-async-generator-functions": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.7.tgz",
-      "integrity": "sha512-4B6OhTrwYKHYYgcwErvZjbmH9X5TxQBsaBHdzEIB4l71gR5jh/tuHGlb9in47udL2+wVUcOz5XXhhfhVJwEpEg==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz",
+      "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/helper-remap-async-to-generator": "^7.25.7",
-        "@babel/plugin-syntax-async-generators": "^7.8.4",
-        "@babel/traverse": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9",
+        "@babel/helper-remap-async-to-generator": "^7.25.9",
+        "@babel/traverse": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -763,14 +748,14 @@
       }
     },
     "node_modules/@babel/plugin-transform-async-to-generator": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.7.tgz",
-      "integrity": "sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz",
+      "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-module-imports": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/helper-remap-async-to-generator": "^7.25.7"
+        "@babel/helper-module-imports": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9",
+        "@babel/helper-remap-async-to-generator": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -780,12 +765,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.7.tgz",
-      "integrity": "sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz",
+      "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -795,12 +780,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-block-scoping": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.7.tgz",
-      "integrity": "sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz",
+      "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -810,13 +795,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-class-properties": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.7.tgz",
-      "integrity": "sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz",
+      "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-create-class-features-plugin": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -826,14 +811,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-class-static-block": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.7.tgz",
-      "integrity": "sha512-rvUUtoVlkDWtDWxGAiiQj0aNktTPn3eFynBcMC2IhsXweehwgdI9ODe+XjWw515kEmv22sSOTp/rxIRuTiB7zg==",
+      "version": "7.26.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz",
+      "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5"
+        "@babel/helper-create-class-features-plugin": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -843,16 +827,16 @@
       }
     },
     "node_modules/@babel/plugin-transform-classes": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.7.tgz",
-      "integrity": "sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz",
+      "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.25.7",
-        "@babel/helper-compilation-targets": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/helper-replace-supers": "^7.25.7",
-        "@babel/traverse": "^7.25.7",
+        "@babel/helper-annotate-as-pure": "^7.25.9",
+        "@babel/helper-compilation-targets": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9",
+        "@babel/helper-replace-supers": "^7.25.9",
+        "@babel/traverse": "^7.25.9",
         "globals": "^11.1.0"
       },
       "engines": {
@@ -863,13 +847,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-computed-properties": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.7.tgz",
-      "integrity": "sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz",
+      "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/template": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9",
+        "@babel/template": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -879,12 +863,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-destructuring": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.7.tgz",
-      "integrity": "sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz",
+      "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -894,13 +878,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-dotall-regex": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.7.tgz",
-      "integrity": "sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz",
+      "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -910,12 +894,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-duplicate-keys": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.7.tgz",
-      "integrity": "sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz",
+      "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -925,13 +909,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-dynamic-import": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.7.tgz",
-      "integrity": "sha512-UvcLuual4h7/GfylKm2IAA3aph9rwvAM2XBA0uPKU3lca+Maai4jBjjEVUS568ld6kJcgbouuumCBhMd/Yz17w==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz",
+      "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -941,13 +924,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.7.tgz",
-      "integrity": "sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz",
+      "integrity": "sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -957,13 +940,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-export-namespace-from": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.7.tgz",
-      "integrity": "sha512-h3MDAP5l34NQkkNulsTNyjdaR+OiB0Im67VU//sFupouP8Q6m9Spy7l66DcaAQxtmCqGdanPByLsnwFttxKISQ==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz",
+      "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -973,13 +955,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-for-of": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.7.tgz",
-      "integrity": "sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz",
+      "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -989,14 +971,14 @@
       }
     },
     "node_modules/@babel/plugin-transform-function-name": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.7.tgz",
-      "integrity": "sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz",
+      "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-compilation-targets": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/traverse": "^7.25.7"
+        "@babel/helper-compilation-targets": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9",
+        "@babel/traverse": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1006,13 +988,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-json-strings": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.7.tgz",
-      "integrity": "sha512-Ot43PrL9TEAiCe8C/2erAjXMeVSnE/BLEx6eyrKLNFCCw5jvhTHKyHxdI1pA0kz5njZRYAnMO2KObGqOCRDYSA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz",
+      "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/plugin-syntax-json-strings": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1022,12 +1003,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-literals": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.7.tgz",
-      "integrity": "sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz",
+      "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1037,13 +1018,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-logical-assignment-operators": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.7.tgz",
-      "integrity": "sha512-iImzbA55BjiovLyG2bggWS+V+OLkaBorNvc/yJoeeDQGztknRnDdYfp2d/UPmunZYEnZi6Lg8QcTmNMHOB0lGA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz",
+      "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1053,12 +1033,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-member-expression-literals": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.7.tgz",
-      "integrity": "sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz",
+      "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1068,13 +1048,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-modules-amd": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.7.tgz",
-      "integrity": "sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz",
+      "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-module-transforms": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-module-transforms": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1084,14 +1064,14 @@
       }
     },
     "node_modules/@babel/plugin-transform-modules-commonjs": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.7.tgz",
-      "integrity": "sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz",
+      "integrity": "sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-module-transforms": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/helper-simple-access": "^7.25.7"
+        "@babel/helper-module-transforms": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9",
+        "@babel/helper-simple-access": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1101,15 +1081,15 @@
       }
     },
     "node_modules/@babel/plugin-transform-modules-systemjs": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.7.tgz",
-      "integrity": "sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz",
+      "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-module-transforms": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/helper-validator-identifier": "^7.25.7",
-        "@babel/traverse": "^7.25.7"
+        "@babel/helper-module-transforms": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9",
+        "@babel/helper-validator-identifier": "^7.25.9",
+        "@babel/traverse": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1119,13 +1099,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-modules-umd": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.7.tgz",
-      "integrity": "sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz",
+      "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-module-transforms": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-module-transforms": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1135,13 +1115,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.7.tgz",
-      "integrity": "sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz",
+      "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1151,12 +1131,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-new-target": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.7.tgz",
-      "integrity": "sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz",
+      "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1166,13 +1146,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.7.tgz",
-      "integrity": "sha512-FbuJ63/4LEL32mIxrxwYaqjJxpbzxPVQj5a+Ebrc8JICV6YX8nE53jY+K0RZT3um56GoNWgkS2BQ/uLGTjtwfw==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz",
+      "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1182,13 +1161,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-numeric-separator": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.7.tgz",
-      "integrity": "sha512-8CbutzSSh4hmD+jJHIA8vdTNk15kAzOnFLVVgBSMGr28rt85ouT01/rezMecks9pkU939wDInImwCKv4ahU4IA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz",
+      "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1198,15 +1176,14 @@
       }
     },
     "node_modules/@babel/plugin-transform-object-rest-spread": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.7.tgz",
-      "integrity": "sha512-1JdVKPhD7Y5PvgfFy0Mv2brdrolzpzSoUq2pr6xsR+m+3viGGeHEokFKsCgOkbeFOQxfB1Vt2F0cPJLRpFI4Zg==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz",
+      "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-compilation-targets": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-transform-parameters": "^7.25.7"
+        "@babel/helper-compilation-targets": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9",
+        "@babel/plugin-transform-parameters": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1216,13 +1193,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-object-super": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.7.tgz",
-      "integrity": "sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz",
+      "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/helper-replace-supers": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9",
+        "@babel/helper-replace-supers": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1232,13 +1209,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-optional-catch-binding": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.7.tgz",
-      "integrity": "sha512-m9obYBA39mDPN7lJzD5WkGGb0GO54PPLXsbcnj1Hyeu8mSRz7Gb4b1A6zxNX32ZuUySDK4G6it8SDFWD1nCnqg==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz",
+      "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1248,14 +1224,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-optional-chaining": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.7.tgz",
-      "integrity": "sha512-h39agClImgPWg4H8mYVAbD1qP9vClFbEjqoJmt87Zen8pjqK8FTPUwrOXAvqu5soytwxrLMd2fx2KSCp2CHcNg==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz",
+      "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.25.9",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1265,12 +1240,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-parameters": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.7.tgz",
-      "integrity": "sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz",
+      "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1280,13 +1255,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-private-methods": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.7.tgz",
-      "integrity": "sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz",
+      "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-create-class-features-plugin": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1296,15 +1271,14 @@
       }
     },
     "node_modules/@babel/plugin-transform-private-property-in-object": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.7.tgz",
-      "integrity": "sha512-LzA5ESzBy7tqj00Yjey9yWfs3FKy4EmJyKOSWld144OxkTji81WWnUT8nkLUn+imN/zHL8ZQlOu/MTUAhHaX3g==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz",
+      "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.25.7",
-        "@babel/helper-create-class-features-plugin": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+        "@babel/helper-annotate-as-pure": "^7.25.9",
+        "@babel/helper-create-class-features-plugin": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1314,12 +1288,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-property-literals": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.7.tgz",
-      "integrity": "sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz",
+      "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1329,12 +1303,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-regenerator": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.7.tgz",
-      "integrity": "sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz",
+      "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
+        "@babel/helper-plugin-utils": "^7.25.9",
         "regenerator-transform": "^0.15.2"
       },
       "engines": {
@@ -1345,12 +1319,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-reserved-words": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.7.tgz",
-      "integrity": "sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz",
+      "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1360,12 +1334,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-shorthand-properties": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.7.tgz",
-      "integrity": "sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz",
+      "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1375,13 +1349,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-spread": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.7.tgz",
-      "integrity": "sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz",
+      "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1391,12 +1365,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-sticky-regex": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.7.tgz",
-      "integrity": "sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz",
+      "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1406,12 +1380,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-template-literals": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.7.tgz",
-      "integrity": "sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz",
+      "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1421,12 +1395,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-typeof-symbol": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.7.tgz",
-      "integrity": "sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz",
+      "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1436,12 +1410,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-unicode-escapes": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.7.tgz",
-      "integrity": "sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz",
+      "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1451,13 +1425,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-unicode-property-regex": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.7.tgz",
-      "integrity": "sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz",
+      "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1467,13 +1441,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-unicode-regex": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.7.tgz",
-      "integrity": "sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz",
+      "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1483,13 +1457,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-unicode-sets-regex": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.7.tgz",
-      "integrity": "sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz",
+      "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.25.7",
-        "@babel/helper-plugin-utils": "^7.25.7"
+        "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+        "@babel/helper-plugin-utils": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1621,30 +1595,30 @@
       }
     },
     "node_modules/@babel/template": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz",
-      "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz",
+      "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==",
       "dev": true,
       "dependencies": {
-        "@babel/code-frame": "^7.25.7",
-        "@babel/parser": "^7.25.7",
-        "@babel/types": "^7.25.7"
+        "@babel/code-frame": "^7.25.9",
+        "@babel/parser": "^7.25.9",
+        "@babel/types": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/traverse": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz",
-      "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==",
+      "version": "7.25.9",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz",
+      "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==",
       "dev": true,
       "dependencies": {
-        "@babel/code-frame": "^7.25.7",
-        "@babel/generator": "^7.25.7",
-        "@babel/parser": "^7.25.7",
-        "@babel/template": "^7.25.7",
-        "@babel/types": "^7.25.7",
+        "@babel/code-frame": "^7.25.9",
+        "@babel/generator": "^7.25.9",
+        "@babel/parser": "^7.25.9",
+        "@babel/template": "^7.25.9",
+        "@babel/types": "^7.25.9",
         "debug": "^4.3.1",
         "globals": "^11.1.0"
       },
@@ -1653,14 +1627,13 @@
       }
     },
     "node_modules/@babel/types": {
-      "version": "7.25.7",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.7.tgz",
-      "integrity": "sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==",
+      "version": "7.26.0",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz",
+      "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-string-parser": "^7.25.7",
-        "@babel/helper-validator-identifier": "^7.25.7",
-        "to-fast-properties": "^2.0.0"
+        "@babel/helper-string-parser": "^7.25.9",
+        "@babel/helper-validator-identifier": "^7.25.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1787,16 +1760,19 @@
       }
     },
     "node_modules/@eslint-community/eslint-utils": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
-      "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+      "version": "4.4.1",
+      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
+      "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
       "dev": true,
       "dependencies": {
-        "eslint-visitor-keys": "^3.3.0"
+        "eslint-visitor-keys": "^3.4.3"
       },
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
       },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      },
       "peerDependencies": {
         "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
       }
@@ -1814,9 +1790,9 @@
       }
     },
     "node_modules/@eslint-community/regexpp": {
-      "version": "4.11.1",
-      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz",
-      "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==",
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
+      "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
       "dev": true,
       "engines": {
         "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
@@ -2555,14 +2531,14 @@
       }
     },
     "node_modules/@rollup/pluginutils": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.2.tgz",
-      "integrity": "sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==",
+      "version": "5.1.3",
+      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.3.tgz",
+      "integrity": "sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==",
       "dev": true,
       "dependencies": {
         "@types/estree": "^1.0.0",
         "estree-walker": "^2.0.2",
-        "picomatch": "^2.3.1"
+        "picomatch": "^4.0.2"
       },
       "engines": {
         "node": ">=14.0.0"
@@ -2631,12 +2607,12 @@
       "dev": true
     },
     "node_modules/@types/node": {
-      "version": "22.7.5",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz",
-      "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==",
+      "version": "22.8.7",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.7.tgz",
+      "integrity": "sha512-LidcG+2UeYIWcMuMUpBKOnryBWG/rnmOHQR5apjn8myTQcx3rinFRn7DcIFhMnS0PPFSC6OafdIKEad0lj6U0Q==",
       "dev": true,
       "dependencies": {
-        "undici-types": "~6.19.2"
+        "undici-types": "~6.19.8"
       }
     },
     "node_modules/@types/normalize-package-data": {
@@ -2704,9 +2680,9 @@
       }
     },
     "node_modules/acorn": {
-      "version": "8.12.1",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
-      "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
+      "version": "8.14.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
+      "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
       "dev": true,
       "bin": {
         "acorn": "bin/acorn"
@@ -2763,15 +2739,18 @@
       }
     },
     "node_modules/ansi-styles": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
       "dev": true,
       "dependencies": {
-        "color-convert": "^1.9.0"
+        "color-convert": "^2.0.1"
       },
       "engines": {
-        "node": ">=4"
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
     "node_modules/anymatch": {
@@ -2787,6 +2766,18 @@
         "node": ">= 8"
       }
     },
+    "node_modules/anymatch/node_modules/picomatch": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
     "node_modules/are-docs-informative": {
       "version": "0.0.2",
       "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz",
@@ -2803,12 +2794,12 @@
       "dev": true
     },
     "node_modules/aria-query": {
-      "version": "5.1.3",
-      "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz",
-      "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==",
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
+      "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
       "dev": true,
-      "dependencies": {
-        "deep-equal": "^2.0.5"
+      "engines": {
+        "node": ">= 0.4"
       }
     },
     "node_modules/array-buffer-byte-length": {
@@ -3070,9 +3061,9 @@
       }
     },
     "node_modules/axe-core": {
-      "version": "4.10.0",
-      "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz",
-      "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==",
+      "version": "4.10.2",
+      "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz",
+      "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==",
       "dev": true,
       "engines": {
         "node": ">=4"
@@ -3341,150 +3332,10 @@
         "stream-throttle": "^0.1.3"
       }
     },
-    "node_modules/browser-sync-ui/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/browser-sync-ui/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/browser-sync-ui/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/browser-sync-ui/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/browser-sync-ui/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/browser-sync-ui/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/browser-sync/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/browser-sync/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/browser-sync/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/browser-sync/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/browser-sync/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/browser-sync/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/browserslist": {
-      "version": "4.24.0",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz",
-      "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==",
+      "version": "4.24.2",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz",
+      "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==",
       "dev": true,
       "funding": [
         {
@@ -3501,10 +3352,10 @@
         }
       ],
       "dependencies": {
-        "caniuse-lite": "^1.0.30001663",
-        "electron-to-chromium": "^1.5.28",
+        "caniuse-lite": "^1.0.30001669",
+        "electron-to-chromium": "^1.5.41",
         "node-releases": "^2.0.18",
-        "update-browserslist-db": "^1.1.0"
+        "update-browserslist-db": "^1.1.1"
       },
       "bin": {
         "browserslist": "cli.js"
@@ -3641,9 +3492,9 @@
       }
     },
     "node_modules/caniuse-lite": {
-      "version": "1.0.30001667",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001667.tgz",
-      "integrity": "sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==",
+      "version": "1.0.30001677",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz",
+      "integrity": "sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==",
       "dev": true,
       "funding": [
         {
@@ -3661,17 +3512,19 @@
       ]
     },
     "node_modules/chalk": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
       "dev": true,
       "dependencies": {
-        "ansi-styles": "^3.2.1",
-        "escape-string-regexp": "^1.0.5",
-        "supports-color": "^5.3.0"
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
       },
       "engines": {
-        "node": ">=4"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
     "node_modules/chokidar": {
@@ -3727,39 +3580,6 @@
         "node": ">=12"
       }
     },
-    "node_modules/cliui/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/cliui/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/cliui/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
     "node_modules/cliui/node_modules/emoji-regex": {
       "version": "8.0.0",
       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -3879,18 +3699,21 @@
       }
     },
     "node_modules/color-convert": {
-      "version": "1.9.3",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
       "dev": true,
       "dependencies": {
-        "color-name": "1.1.3"
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
       }
     },
     "node_modules/color-name": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
       "dev": true
     },
     "node_modules/color-string": {
@@ -3903,6 +3726,21 @@
         "simple-swizzle": "^0.2.2"
       }
     },
+    "node_modules/color/node_modules/color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "1.1.3"
+      }
+    },
+    "node_modules/color/node_modules/color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+      "dev": true
+    },
     "node_modules/colord": {
       "version": "2.9.3",
       "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
@@ -4001,9 +3839,9 @@
       "dev": true
     },
     "node_modules/cookie": {
-      "version": "0.4.2",
-      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
-      "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+      "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
       "dev": true,
       "engines": {
         "node": ">= 0.6"
@@ -4028,21 +3866,6 @@
         "copyup": "copyfiles"
       }
     },
-    "node_modules/copyfiles/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
     "node_modules/copyfiles/node_modules/cliui": {
       "version": "7.0.4",
       "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@@ -4054,24 +3877,6 @@
         "wrap-ansi": "^7.0.0"
       }
     },
-    "node_modules/copyfiles/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/copyfiles/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
     "node_modules/copyfiles/node_modules/emoji-regex": {
       "version": "8.0.0",
       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -4149,12 +3954,12 @@
       }
     },
     "node_modules/core-js-compat": {
-      "version": "3.38.1",
-      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz",
-      "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==",
+      "version": "3.39.0",
+      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz",
+      "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==",
       "dev": true,
       "dependencies": {
-        "browserslist": "^4.23.3"
+        "browserslist": "^4.24.2"
       },
       "funding": {
         "type": "opencollective",
@@ -4269,9 +4074,9 @@
       }
     },
     "node_modules/css-functions-list": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz",
-      "integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==",
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz",
+      "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==",
       "dev": true,
       "engines": {
         "node": ">=12 || >=16"
@@ -4569,38 +4374,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/deep-equal": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz",
-      "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==",
-      "dev": true,
-      "dependencies": {
-        "array-buffer-byte-length": "^1.0.0",
-        "call-bind": "^1.0.5",
-        "es-get-iterator": "^1.1.3",
-        "get-intrinsic": "^1.2.2",
-        "is-arguments": "^1.1.1",
-        "is-array-buffer": "^3.0.2",
-        "is-date-object": "^1.0.5",
-        "is-regex": "^1.1.4",
-        "is-shared-array-buffer": "^1.0.2",
-        "isarray": "^2.0.5",
-        "object-is": "^1.1.5",
-        "object-keys": "^1.1.1",
-        "object.assign": "^4.1.4",
-        "regexp.prototype.flags": "^1.5.1",
-        "side-channel": "^1.0.4",
-        "which-boxed-primitive": "^1.0.2",
-        "which-collection": "^1.0.1",
-        "which-typed-array": "^1.1.13"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
     "node_modules/deep-is": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
@@ -4833,76 +4606,6 @@
         "node": ">= 0.8.0"
       }
     },
-    "node_modules/eazy-logger/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/eazy-logger/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/eazy-logger/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/eazy-logger/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/eazy-logger/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/eazy-logger/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/ee-first": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -4910,9 +4613,9 @@
       "dev": true
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.5.33",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.33.tgz",
-      "integrity": "sha512-+cYTcFB1QqD4j4LegwLfpCNxifb6dDFUAwk6RsLusCwIaZI6or2f+q8rs5tTB2YC53HhOlIbEaqHMAAC8IOIwA==",
+      "version": "1.5.50",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.50.tgz",
+      "integrity": "sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw==",
       "dev": true
     },
     "node_modules/emoji-regex": {
@@ -4937,9 +4640,9 @@
       }
     },
     "node_modules/engine.io": {
-      "version": "6.6.1",
-      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.1.tgz",
-      "integrity": "sha512-NEpDCw9hrvBW+hVEOK4T7v0jFJ++KgtPl4jKFwsZVfG1XhS0dCrSb3VMb9gPAd7VAdW52VT1EnaNiU2vM8C0og==",
+      "version": "6.6.2",
+      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.2.tgz",
+      "integrity": "sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==",
       "dev": true,
       "dependencies": {
         "@types/cookie": "^0.4.1",
@@ -4947,7 +4650,7 @@
         "@types/node": ">=10.0.0",
         "accepts": "~1.3.4",
         "base64id": "2.0.0",
-        "cookie": "~0.4.1",
+        "cookie": "~0.7.2",
         "cors": "~2.8.5",
         "debug": "~4.3.1",
         "engine.io-parser": "~5.2.1",
@@ -4958,9 +4661,9 @@
       }
     },
     "node_modules/engine.io-client": {
-      "version": "6.6.1",
-      "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.1.tgz",
-      "integrity": "sha512-aYuoak7I+R83M/BBPIOs2to51BmFIpC1wZe6zZzMrT2llVsHy5cvcmdsJgP2Qz6smHu+sD9oexiSUAVd8OfBPw==",
+      "version": "6.6.2",
+      "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.2.tgz",
+      "integrity": "sha512-TAr+NKeoVTjEVW8P3iHguO1LO6RlUz9O5Y8o7EY0fU+gY1NYqas7NN3slpFtbXEsLMHk0h90fJMfKjRkQ0qUIw==",
       "dev": true,
       "dependencies": {
         "@socket.io/component-emitter": "~3.1.0",
@@ -5081,30 +4784,10 @@
         "node": ">= 0.4"
       }
     },
-    "node_modules/es-get-iterator": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz",
-      "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "get-intrinsic": "^1.1.3",
-        "has-symbols": "^1.0.3",
-        "is-arguments": "^1.1.1",
-        "is-map": "^2.0.2",
-        "is-set": "^2.0.2",
-        "is-string": "^1.0.7",
-        "isarray": "^2.0.5",
-        "stop-iteration-iterator": "^1.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
     "node_modules/es-iterator-helpers": {
-      "version": "1.0.19",
-      "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz",
-      "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz",
+      "integrity": "sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==",
       "dev": true,
       "dependencies": {
         "call-bind": "^1.0.7",
@@ -5114,12 +4797,12 @@
         "es-set-tostringtag": "^2.0.3",
         "function-bind": "^1.1.2",
         "get-intrinsic": "^1.2.4",
-        "globalthis": "^1.0.3",
+        "globalthis": "^1.0.4",
         "has-property-descriptors": "^1.0.2",
         "has-proto": "^1.0.3",
         "has-symbols": "^1.0.3",
         "internal-slot": "^1.0.7",
-        "iterator.prototype": "^1.1.2",
+        "iterator.prototype": "^1.1.3",
         "safe-array-concat": "^1.1.2"
       },
       "engines": {
@@ -5194,12 +4877,15 @@
       "dev": true
     },
     "node_modules/escape-string-regexp": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
       "dev": true,
       "engines": {
-        "node": ">=0.8.0"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/eslint": {
@@ -5439,18 +5125,6 @@
         "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0"
       }
     },
-    "node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
     "node_modules/eslint-plugin-jsdoc/node_modules/semver": {
       "version": "7.6.3",
       "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
@@ -5464,12 +5138,12 @@
       }
     },
     "node_modules/eslint-plugin-jsx-a11y": {
-      "version": "6.10.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz",
-      "integrity": "sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==",
+      "version": "6.10.2",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz",
+      "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==",
       "dev": true,
       "dependencies": {
-        "aria-query": "~5.1.3",
+        "aria-query": "^5.3.2",
         "array-includes": "^3.1.8",
         "array.prototype.flatmap": "^1.3.2",
         "ast-types-flow": "^0.0.8",
@@ -5477,14 +5151,13 @@
         "axobject-query": "^4.1.0",
         "damerau-levenshtein": "^1.0.8",
         "emoji-regex": "^9.2.2",
-        "es-iterator-helpers": "^1.0.19",
         "hasown": "^2.0.2",
         "jsx-ast-utils": "^3.3.5",
         "language-tags": "^1.0.9",
         "minimatch": "^3.1.2",
         "object.fromentries": "^2.0.8",
         "safe-regex-test": "^1.0.3",
-        "string.prototype.includes": "^2.0.0"
+        "string.prototype.includes": "^2.0.1"
       },
       "engines": {
         "node": ">=4.0"
@@ -5524,9 +5197,9 @@
       }
     },
     "node_modules/eslint-plugin-react": {
-      "version": "7.37.1",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.1.tgz",
-      "integrity": "sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==",
+      "version": "7.37.2",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz",
+      "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==",
       "dev": true,
       "dependencies": {
         "array-includes": "^3.1.8",
@@ -5534,7 +5207,7 @@
         "array.prototype.flatmap": "^1.3.2",
         "array.prototype.tosorted": "^1.1.4",
         "doctrine": "^2.1.0",
-        "es-iterator-helpers": "^1.0.19",
+        "es-iterator-helpers": "^1.1.0",
         "estraverse": "^5.3.0",
         "hasown": "^2.0.2",
         "jsx-ast-utils": "^2.4.1 || ^3.0.0",
@@ -5585,9 +5258,9 @@
       }
     },
     "node_modules/eslint-plugin-yml": {
-      "version": "1.14.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.14.0.tgz",
-      "integrity": "sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==",
+      "version": "1.15.0",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.15.0.tgz",
+      "integrity": "sha512-leC8APYVOsKyWUlvRwVhewytK5wS70BfMqIaUplFstRfzCoVp0YoEroV4cUEvQrBj93tQ3M9LcjO/ewr6D4kjA==",
       "dev": true,
       "dependencies": {
         "debug": "^4.3.2",
@@ -5631,67 +5304,6 @@
         "node": ">=4"
       }
     },
-    "node_modules/eslint/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/eslint/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/eslint/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/eslint/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/eslint/node_modules/escape-string-regexp": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
     "node_modules/eslint/node_modules/eslint-visitor-keys": {
       "version": "3.4.3",
       "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
@@ -5731,27 +5343,6 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/eslint/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/eslint/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/eslint/node_modules/type-fest": {
       "version": "0.20.2",
       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
@@ -5928,9 +5519,9 @@
       "dev": true
     },
     "node_modules/fast-uri": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz",
-      "integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz",
+      "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==",
       "dev": true
     },
     "node_modules/fastest-levenshtein": {
@@ -6443,12 +6034,12 @@
       }
     },
     "node_modules/has-flag": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
       "dev": true,
       "engines": {
-        "node": ">=4"
+        "node": ">=8"
       }
     },
     "node_modules/has-property-descriptors": {
@@ -6731,22 +6322,6 @@
         "node": ">= 0.4"
       }
     },
-    "node_modules/is-arguments": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
-      "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "has-tostringtag": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
     "node_modules/is-array-buffer": {
       "version": "3.0.4",
       "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
@@ -7238,9 +6813,9 @@
       }
     },
     "node_modules/isarray": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
-      "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+      "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
       "dev": true
     },
     "node_modules/isexe": {
@@ -7322,27 +6897,6 @@
         "node": ">= 10.13.0"
       }
     },
-    "node_modules/jest-worker/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-worker/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/jquery": {
       "version": "3.7.1",
       "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
@@ -7590,21 +7144,6 @@
         "node": ">=8.3.0"
       }
     },
-    "node_modules/localtunnel/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
     "node_modules/localtunnel/node_modules/cliui": {
       "version": "7.0.4",
       "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@@ -7616,24 +7155,6 @@
         "wrap-ansi": "^7.0.0"
       }
     },
-    "node_modules/localtunnel/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/localtunnel/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
     "node_modules/localtunnel/node_modules/debug": {
       "version": "4.3.2",
       "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
@@ -7928,6 +7449,18 @@
         "node": ">=8.6"
       }
     },
+    "node_modules/micromatch/node_modules/picomatch": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
     "node_modules/mime": {
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
@@ -8131,6 +7664,15 @@
         "ms": "^2.1.1"
       }
     },
+    "node_modules/nodemon/node_modules/has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
     "node_modules/nodemon/node_modules/semver": {
       "version": "5.7.2",
       "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
@@ -8140,6 +7682,18 @@
         "semver": "bin/semver"
       }
     },
+    "node_modules/nodemon/node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
     "node_modules/noms": {
       "version": "0.0.0",
       "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz",
@@ -8220,6 +7774,47 @@
         "node": ">= 4"
       }
     },
+    "node_modules/npm-run-all/node_modules/ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/npm-run-all/node_modules/chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/npm-run-all/node_modules/color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "1.1.3"
+      }
+    },
+    "node_modules/npm-run-all/node_modules/color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+      "dev": true
+    },
     "node_modules/npm-run-all/node_modules/cross-spawn": {
       "version": "6.0.5",
       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
@@ -8236,6 +7831,24 @@
         "node": ">=4.8"
       }
     },
+    "node_modules/npm-run-all/node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/npm-run-all/node_modules/has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
     "node_modules/npm-run-all/node_modules/path-key": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
@@ -8275,6 +7888,18 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/npm-run-all/node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
     "node_modules/npm-run-all/node_modules/which": {
       "version": "1.3.1",
       "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -8365,22 +7990,6 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/object-is": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
-      "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.7",
-        "define-properties": "^1.2.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
     "node_modules/object-keys": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
@@ -8681,55 +8290,6 @@
         "npm": ">5"
       }
     },
-    "node_modules/patch-package/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/patch-package/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/patch-package/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/patch-package/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
     "node_modules/patch-package/node_modules/cross-spawn": {
       "version": "6.0.5",
       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
@@ -8782,15 +8342,6 @@
         "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/patch-package/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/patch-package/node_modules/jsonfile": {
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
@@ -8864,18 +8415,6 @@
         "node": ">=6"
       }
     },
-    "node_modules/patch-package/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/patch-package/node_modules/universalify": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
@@ -8962,18 +8501,18 @@
       }
     },
     "node_modules/picocolors": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
-      "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+      "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
       "dev": true
     },
     "node_modules/picomatch": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
-      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+      "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
       "dev": true,
       "engines": {
-        "node": ">=8.6"
+        "node": ">=12"
       },
       "funding": {
         "url": "https://github.com/sponsors/jonschlinkert"
@@ -9906,12 +9445,6 @@
         "string_decoder": "~0.10.x"
       }
     },
-    "node_modules/readable-stream/node_modules/isarray": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
-      "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
-      "dev": true
-    },
     "node_modules/readdirp": {
       "version": "3.6.0",
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -9924,6 +9457,18 @@
         "node": ">=8.10.0"
       }
     },
+    "node_modules/readdirp/node_modules/picomatch": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
     "node_modules/redent": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz",
@@ -10048,9 +9593,9 @@
       "dev": true
     },
     "node_modules/regjsparser": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.1.tgz",
-      "integrity": "sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==",
+      "version": "0.11.2",
+      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.2.tgz",
+      "integrity": "sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==",
       "dev": true,
       "dependencies": {
         "jsesc": "~3.0.2"
@@ -10296,6 +9841,12 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/safe-array-concat/node_modules/isarray": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+      "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+      "dev": true
+    },
     "node_modules/safe-buffer": {
       "version": "5.2.1",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -10732,39 +10283,6 @@
         "url": "https://github.com/chalk/slice-ansi?sponsor=1"
       }
     },
-    "node_modules/slice-ansi/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/slice-ansi/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/slice-ansi/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
     "node_modules/slick-carousel": {
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/slick-carousel/-/slick-carousel-1.8.0.tgz",
@@ -10783,9 +10301,9 @@
       }
     },
     "node_modules/socket.io": {
-      "version": "4.8.0",
-      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.0.tgz",
-      "integrity": "sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==",
+      "version": "4.8.1",
+      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz",
+      "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==",
       "dev": true,
       "dependencies": {
         "accepts": "~1.3.4",
@@ -10811,9 +10329,9 @@
       }
     },
     "node_modules/socket.io-client": {
-      "version": "4.8.0",
-      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.0.tgz",
-      "integrity": "sha512-C0jdhD5yQahMws9alf/yvtsMGTaIDBnZ8Rb5HU56svyq0l5LIrGzIDZZD5pHQlmzxLuU91Gz+VpQMKgCTNYtkw==",
+      "version": "4.8.1",
+      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz",
+      "integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==",
       "dev": true,
       "dependencies": {
         "@socket.io/component-emitter": "~3.1.0",
@@ -10939,18 +10457,6 @@
         "node": ">= 0.6"
       }
     },
-    "node_modules/stop-iteration-iterator": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
-      "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==",
-      "dev": true,
-      "dependencies": {
-        "internal-slot": "^1.0.4"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
     "node_modules/stream-throttle": {
       "version": "0.1.3",
       "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz",
@@ -11045,13 +10551,17 @@
       }
     },
     "node_modules/string.prototype.includes": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz",
-      "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz",
+      "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==",
       "dev": true,
       "dependencies": {
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.17.5"
+        "call-bind": "^1.0.7",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.23.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
       }
     },
     "node_modules/string.prototype.matchall": {
@@ -11525,15 +11035,15 @@
       }
     },
     "node_modules/supports-color": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
       "dev": true,
       "dependencies": {
-        "has-flag": "^3.0.0"
+        "has-flag": "^4.0.0"
       },
       "engines": {
-        "node": ">=4"
+        "node": ">=8"
       }
     },
     "node_modules/supports-hyperlinks": {
@@ -11552,27 +11062,6 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/supports-hyperlinks/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/supports-hyperlinks/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/supports-preserve-symlinks-flag": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
@@ -11909,9 +11398,9 @@
       }
     },
     "node_modules/terser": {
-      "version": "5.34.1",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-5.34.1.tgz",
-      "integrity": "sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==",
+      "version": "5.36.0",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz",
+      "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==",
       "dev": true,
       "dependencies": {
         "@jridgewell/source-map": "^0.3.3",
@@ -12002,15 +11491,6 @@
         "node": ">=0.6.0"
       }
     },
-    "node_modules/to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
     "node_modules/to-regex-range": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -12087,9 +11567,9 @@
       }
     },
     "node_modules/tslib": {
-      "version": "2.7.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
-      "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==",
+      "version": "2.8.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+      "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
       "dev": true
     },
     "node_modules/type-check": {
@@ -12466,6 +11946,12 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/which-builtin-type/node_modules/isarray": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+      "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+      "dev": true
+    },
     "node_modules/which-collection": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
@@ -12504,9 +11990,9 @@
       }
     },
     "node_modules/winston": {
-      "version": "3.15.0",
-      "resolved": "https://registry.npmjs.org/winston/-/winston-3.15.0.tgz",
-      "integrity": "sha512-RhruH2Cj0bV0WgNL+lOfoUBI4DVfdUNjVnJGVovWZmrcKtrFTTRzgXYK2O9cymSGjrERCtaAeHwMNnUWXlwZow==",
+      "version": "3.16.0",
+      "resolved": "https://registry.npmjs.org/winston/-/winston-3.16.0.tgz",
+      "integrity": "sha512-xz7+cyGN5M+4CmmD4Npq1/4T+UZaz7HaeTlAruFUTjk79CNMq+P6H30vlE4z0qfqJ01VHYQwd7OZo03nYm/+lg==",
       "dev": true,
       "dependencies": {
         "@colors/colors": "^1.6.0",
@@ -12637,39 +12123,6 @@
         "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
-    "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/wrap-ansi-cjs/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/wrap-ansi-cjs/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
     "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
       "version": "8.0.0",
       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -12770,9 +12223,9 @@
       }
     },
     "node_modules/xmlhttprequest-ssl": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.1.tgz",
-      "integrity": "sha512-ptjR8YSJIXoA3Mbv5po7RtSYHO6mZr8s7i5VGmEk7QY2pQWyT1o0N+W1gKbOyJPUCGXGnuw0wqe8f0L6Y0ny7g==",
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz",
+      "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==",
       "dev": true,
       "engines": {
         "node": ">=0.4.0"
@@ -12850,9 +12303,9 @@
       }
     },
     "node_modules/yaml-eslint-parser/node_modules/yaml": {
-      "version": "2.5.1",
-      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz",
-      "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==",
+      "version": "2.6.0",
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz",
+      "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==",
       "dev": true,
       "bin": {
         "yaml": "bin.mjs"
-- 
GitLab


From 7a08ffbd0f6fbf15b5db8ee6bf8c8d27c1151bf8 Mon Sep 17 00:00:00 2001
From: Claudiu Cristea <clau.cristea@gmail.com>
Date: Mon, 4 Nov 2024 15:58:29 +0200
Subject: [PATCH 24/33] ISAICP-9138: Revert .opts.yml changes.

---
 .opts.yml | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/.opts.yml b/.opts.yml
index 0225200015..2285d3f929 100644
--- a/.opts.yml
+++ b/.opts.yml
@@ -6,13 +6,7 @@
 upgrade_commands:
   default:
     - vendor/bin/drush deploy --yes
-
-    # BEGIN: Remove in ISAICP-8376
-    - vendor/bin/drush rdf_sync:synchronize node --bundle=solution,collection
     - vendor/bin/drush search-api:reset-tracker --yes
-    - vendor/bin/drush cr
-    - vendor/bin/drush search-api:index
-    # END: Remove in ISAICP-8376
     - vendor/bin/drush joinup:node-access-rebuild
     - vendor/bin/drush joinup:search-api-tasks
     - vendor/bin/drush joinup:unpublish-alert --category
-- 
GitLab


From c877b8b24c915bb7c64ce4b838d69e2795455232 Mon Sep 17 00:00:00 2001
From: Claudiu Cristea <clau.cristea@gmail.com>
Date: Mon, 4 Nov 2024 16:01:17 +0200
Subject: [PATCH 25/33] ISAICP-9138: Fix step definition.

---
 tests/src/Context/RdfContext.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/src/Context/RdfContext.php b/tests/src/Context/RdfContext.php
index 83f3c373bd..cec51c4916 100644
--- a/tests/src/Context/RdfContext.php
+++ b/tests/src/Context/RdfContext.php
@@ -219,7 +219,7 @@ protected function parseDataWithBnodes(array $rows): array {
   /**
    * Asserts that entities in the published graph are ADMS-AP compliant.
    *
-   * @Then the ADMS-AP data of the published entities in Joinup is valid
+   * @Then the ADMS-AP data of the published entities in Interoperable Europe Portal is valid
    */
   public function assertValidPublishedGraph(): void {
     $config = \Drupal::config('rdf_sync.settings');
-- 
GitLab


From 85290156036089cfe4bcb77a9cbb7be23a14aa9a Mon Sep 17 00:00:00 2001
From: Claudiu Cristea <clau.cristea@gmail.com>
Date: Mon, 4 Nov 2024 17:07:30 +0200
Subject: [PATCH 26/33] ISAICP-9138: Merge conflicts.

---
 .../collection.membership_management.feature     | 16 ++++++++--------
 tests/features/homepage.feature                  |  2 +-
 tests/features/joinup_seo/news.feature           |  4 ++--
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/tests/features/collection/collection.membership_management.feature b/tests/features/collection/collection.membership_management.feature
index 4a18222764..e5019f2fd1 100644
--- a/tests/features/collection/collection.membership_management.feature
+++ b/tests/features/collection/collection.membership_management.feature
@@ -6,23 +6,23 @@ Feature: Tests membership to Interoperable Europe Portal collection.
       | title                   | state     |
       | An arbitrary collection | published |
 
-  Scenario: As a newly registered user, I'm automatically member of the 'Interoperable Europe Portal'
+  Scenario: As a newly registered user, I'm automatically member of the 'Joinup'
     collection and I cannot leave.
 
     Given I am logged in as a user with the member role of the "An arbitrary collection" collection
-    Then I am member of "Interoperable Europe Portal" collection
+    Then I am member of "Joinup" collection
 
     And I go to the homepage of the "An arbitrary collection" collection
     Then I should see the link "Leave this collection"
 
-    When I go to the homepage of the "Interoperable Europe Portal" collection
+    When I go to the homepage of the "Joinup" collection
     Then I should not see the link "Leave this collection"
 
-    When I am about to leave the "Interoperable Europe Portal" collection
+    When I am about to leave the "Joinup" collection
     Then I should get an access denied error
 
   Scenario: As a moderator I am able to revoke the membership of a user to any
-    arbitrary collection except 'Interoperable Europe Portal'.
+    arbitrary collection except 'Joinup'.
 
     Given users:
       | Username | E-mail           |
@@ -31,8 +31,8 @@ Feature: Tests membership to Interoperable Europe Portal collection.
     And the following collection user membership:
       | collection              | user |
       | An arbitrary collection | joe  |
-    Then user "joe" is member of "Interoperable Europe Portal" collection
-    And user "jane" is member of "Interoperable Europe Portal" collection
+    Then user "joe" is member of "Joinup" collection
+    And user "jane" is member of "Joinup" collection
 
     Given I am logged in as a user with the moderator role
     And I am on the members page of "An arbitrary collection"
@@ -47,5 +47,5 @@ Feature: Tests membership to Interoperable Europe Portal collection.
     When I press "Confirm"
     Then I should see the success message "The member joe has been deleted from the 'An arbitrary collection' collection."
 
-    Given I am on the members page of "Interoperable Europe Portal"
+    Given I am on the members page of "Joinup"
     Then the available options in the "Action" select should not include the "Delete the selected membership(s)" options
diff --git a/tests/features/homepage.feature b/tests/features/homepage.feature
index f9aefbc2eb..000e1f3053 100644
--- a/tests/features/homepage.feature
+++ b/tests/features/homepage.feature
@@ -185,7 +185,7 @@ Feature: Homepage
     And the response should not contain "http://raresteaktown.com"
 
     When I click "Read more" in the "Highlighted event"
-    Then the url should match "/collection/interoperable-europe-portal/event/florentine-steak-festival"
+    Then the url should match "/collection/joinup/event/florentine-steak-festival"
 
     # The "More events" link should temporarily link to the search page with the
     # events pre-filtered. This will be replaced with the events page later.
diff --git a/tests/features/joinup_seo/news.feature b/tests/features/joinup_seo/news.feature
index e23eae932e..911f250030 100644
--- a/tests/features/joinup_seo/news.feature
+++ b/tests/features/joinup_seo/news.feature
@@ -11,8 +11,8 @@ Feature: SEO for news articles.
     And users:
       | Username                               | E-mail                 | First name | Family name |
       | Interoperable Europe Portal SEO author | joinup.seo@example.com | Kurk       | Smith       |
-    And "news" content:
-      | title                                | headline                                         | logo     | field_paragraphs_body | created                   | publication at            | changed                   | state     | author                                 | collection                                      |
+    And news content:
+      | title                                | headline                                         | logo     | field_paragraphs_body | created                   | published at              | changed                   | state     | author                                 | collection                                      |
       | Interoperable Europe Portal SEO news | Headline of Interoperable Europe Portal SEO news | logo.png | Body of news.         | Sun, 01 Dec 2019 13:00:00 | Wed, 25 Dec 2019 13:00:00 | Wed, 01 Jan 2020 13:00:00 | published | Interoperable Europe Portal SEO author | Interoperable Europe Portal SEO news collection |
 
     When I visit the "Interoperable Europe Portal SEO news" news
-- 
GitLab


From 0deca4fc2f7a165f1bf4e1caf69e5655f2778d9b Mon Sep 17 00:00:00 2001
From: Claudiu Cristea <clau.cristea@gmail.com>
Date: Mon, 4 Nov 2024 17:17:41 +0200
Subject: [PATCH 27/33] ISAICP-9138: Unused step definitions.

---
 tests/src/Context/JoinupUserContext.php | 20 --------------------
 tests/src/Context/RdfContext.php        | 24 ------------------------
 2 files changed, 44 deletions(-)

diff --git a/tests/src/Context/JoinupUserContext.php b/tests/src/Context/JoinupUserContext.php
index 23de71d457..096372af31 100644
--- a/tests/src/Context/JoinupUserContext.php
+++ b/tests/src/Context/JoinupUserContext.php
@@ -253,24 +253,4 @@ protected function getOneTimeLoginUrl(UserInterface $account): string {
     ])->toString();
   }
 
-  /**
-   * Asserts list of users with the given name doesn't exist.
-   *
-   * Table format:
-   * | name  |
-   * | user1 |
-   * | user2 |
-   * | user3 |
-   *
-   * @param \Behat\Gherkin\Node\TableNode $usersTable
-   *   A table containing the usernames to check.
-   *
-   * @Then the following users should be canceled:
-   */
-  public function assertUsersAreCanceled(TableNode $usersTable): void {
-    foreach ($usersTable->getHash() as $userData) {
-      $this->assertUserStatus($userData['name'], 'cancelled');
-    }
-  }
-
 }
diff --git a/tests/src/Context/RdfContext.php b/tests/src/Context/RdfContext.php
index cec51c4916..c2402a2c45 100644
--- a/tests/src/Context/RdfContext.php
+++ b/tests/src/Context/RdfContext.php
@@ -333,28 +333,4 @@ public function assertNoTriplesOfUri(string $property, string $uri, string $grap
     Assert::assertCount(0, $results, "There are triples with $property $uri in the $graph graph. Results found: " . implode(', ', $messages));
   }
 
-  /**
-   * Asserts that there are no duplicate memberships in the database.
-   *
-   * @todo Remove this in ISAICP-8376.
-   *
-   * @Given /^there are no duplicate memberships$/
-   */
-  public function thereAreNoDuplicateMemberships(): void {
-    $query = <<<SQL
-SELECT uid, entity_id from og_membership
-GROUP BY uid, entity_id
-HAVING COUNT(*) > 1
-SQL;
-
-    $connection = \Drupal::getContainer()->get('database');
-    $results = $connection->query($query);
-    $messages = [];
-    foreach ($results as $result) {
-      $messages[] = sprintf('%s %s', $result->uid, $result->entity_id);
-    }
-
-    Assert::assertCount(0, $results, "There are duplicate memberships in the database. Results found: " . implode(', ', $messages));
-  }
-
 }
-- 
GitLab


From 00e4816f31de017d8bedec8ca89bf6f33db96c20 Mon Sep 17 00:00:00 2001
From: Herve Donner <hervedonner@gmail.com>
Date: Thu, 31 Oct 2024 13:33:08 +0100
Subject: [PATCH 28/33] ISAICP-9185: Update drupal/core patch #3472624.

---
 composer.json                                 |   2 +-
 composer.lock                                 |   2 +-
 .../php/drupal/core/3472624-4d97ff80.diff     | 144 ++++++++++++++++++
 resources/patch/php/drupal/core/3472624.diff  |  41 -----
 4 files changed, 146 insertions(+), 43 deletions(-)
 create mode 100644 resources/patch/php/drupal/core/3472624-4d97ff80.diff
 delete mode 100644 resources/patch/php/drupal/core/3472624.diff

diff --git a/composer.json b/composer.json
index e4332d79af..8fc847504c 100644
--- a/composer.json
+++ b/composer.json
@@ -336,7 +336,7 @@
                 "Added deprecation suppression": "resources/patch/php/drupal/core/3467293.diff",
                 "Fix handling of unknown file extensions in FileMediaFormatterBase @see https://www.drupal.org/i/3466462": "resources/patch/php/drupal/core/3466462.diff",
                 "Allow ChangedItem to skip updating the entity's \"changed\" timestamp when synchronizing @see https://drupal.org/i/2329253": "resources/patch/php/drupal/core/2329253-10.x.patch",
-                "JS errors from Drupal.dialog.resetSize when rapidly closing dialogs @see https://www.drupal.org/i/3472624": "resources/patch/php/drupal/core/3472624.diff"
+                "JS errors from Drupal.dialog.resetSize when rapidly closing dialogs @see https://www.drupal.org/i/3472624": "resources/patch/php/drupal/core/3472624-4d97ff80.diff"
             },
             "drupal/default_content": {
                 "Allow manual imports @see https://www.drupal.org/i/2640734": "resources/patch/php/drupal/default_content/2640734.diff"
diff --git a/composer.lock b/composer.lock
index 71bff82bf6..5674bd33c7 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "01435f63752b7bea6b93bf35b84d2ec2",
+    "content-hash": "81cab9627db497fdada1135060506240",
     "packages": [
         {
             "name": "asm89/stack-cors",
diff --git a/resources/patch/php/drupal/core/3472624-4d97ff80.diff b/resources/patch/php/drupal/core/3472624-4d97ff80.diff
new file mode 100644
index 0000000000..da4e88efe4
--- /dev/null
+++ b/resources/patch/php/drupal/core/3472624-4d97ff80.diff
@@ -0,0 +1,144 @@
+diff --git a/core/misc/dialog/dialog.position.js b/core/misc/dialog/dialog.position.js
+index 98662211595ede9a4d1a238f90c0cae8cfe006e3..390eb6ac1f4e2b760b0f2277d4b06d85fe243c00 100644
+--- a/core/misc/dialog/dialog.position.js
++++ b/core/misc/dialog/dialog.position.js
+@@ -63,6 +63,15 @@
+    * @fires event:dialogContentResize
+    */
+   function resetSize(event) {
++    // Ensure the UI dialog instance exists/is valid.
++    if (
++      !event.data ||
++      !event.data.$element ||
++      !event.data.$element.data('ui-dialog')
++    ) {
++      return;
++    }
++
+     const positionOptions = [
+       'width',
+       'height',
+@@ -119,7 +128,7 @@
+   }
+ 
+   window.addEventListener('dialog:aftercreate', (e) => {
+-    const autoResize = debounce(resetSize, 20);
++    const autoResize = debounce(resetSize, 20, true);
+     const $element = $(e.target);
+     const { settings } = e;
+     const eventData = { settings, $element };
+diff --git a/core/modules/system/tests/modules/ajax_test/ajax_test.info.yml b/core/modules/system/tests/modules/ajax_test/ajax_test.info.yml
+index 2fa40fce19205686da82b415e74f715f206bce1d..a8376f2924bdf9864ddbb169fb8bb7b7a7c44f77 100644
+--- a/core/modules/system/tests/modules/ajax_test/ajax_test.info.yml
++++ b/core/modules/system/tests/modules/ajax_test/ajax_test.info.yml
+@@ -5,3 +5,4 @@ package: Testing
+ version: VERSION
+ dependencies:
+   - drupal:contact
++  - drupal:filter
+diff --git a/core/modules/system/tests/modules/ajax_test/src/Form/AjaxTestForm.php b/core/modules/system/tests/modules/ajax_test/src/Form/AjaxTestForm.php
+index e33e2ad2a91816a4fa673315383e0530b2e82457..2678fa42e4a9eea55e5223bf0de32f62266ee0c1 100644
+--- a/core/modules/system/tests/modules/ajax_test/src/Form/AjaxTestForm.php
++++ b/core/modules/system/tests/modules/ajax_test/src/Form/AjaxTestForm.php
+@@ -35,6 +35,11 @@ public function buildForm(array $form, FormStateInterface $form_state) {
+       '#markup' => '<p>' . $this->t("Ajax Form contents description.") . '</p>',
+     ];
+ 
++    $form['ck_element'] = [
++      '#type' => 'text_format',
++      '#format' => 'test_dialog',
++    ];
++
+     $form['actions'] = [
+       '#type' => 'actions',
+     ];
+diff --git a/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php b/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php
+index bdd324020866d453050e89517767df29de6e6bb2..fb4b9b4ee79dfa4454308202a663a17c5fc4d696 100644
+--- a/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php
++++ b/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php
+@@ -6,6 +6,8 @@
+ 
+ use Drupal\ajax_test\Controller\AjaxTestController;
+ use Drupal\Core\Ajax\OpenModalDialogWithUrl;
++use Drupal\editor\Entity\Editor;
++use Drupal\filter\Entity\FilterFormat;
+ use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
+ 
+ // cspell:ignore testdialog
+@@ -20,18 +22,40 @@ class DialogTest extends WebDriverTestBase {
+   /**
+    * {@inheritdoc}
+    */
+-  protected static $modules = ['ajax_test', 'ajax_forms_test', 'contact'];
++  protected static $modules = ['ajax_test', 'ajax_forms_test', 'contact', 'ckeditor5', 'editor', 'filter'];
+ 
+   /**
+    * {@inheritdoc}
+    */
+   protected $defaultTheme = 'stark';
+ 
++  /**
++   * {@inheritdoc}
++   */
++  protected function setUp(): void {
++    parent::setUp();
++
++    $format = FilterFormat::create([
++      'format' => 'test_dialog',
++      'name' => 'Test Dialog',
++    ]);
++    $format->save();
++
++    $editor = Editor::create([
++      'format' => $format->id(),
++      'editor' => 'ckeditor5',
++      'image_upload' => [
++        'status' => FALSE,
++      ],
++    ]);
++    $editor->save();
++  }
++
+   /**
+    * Tests sending non-JS and AJAX requests to open and manipulate modals.
+    */
+   public function testDialog(): void {
+-    $this->drupalLogin($this->drupalCreateUser(['administer contact forms']));
++    $this->drupalLogin($this->drupalCreateUser(['administer contact forms', 'use text format test_dialog']));
+     // Ensure the elements render without notices or exceptions.
+     $this->drupalGet('ajax-test/dialog');
+ 
+@@ -69,6 +93,17 @@ public function testDialog(): void {
+     $this->assertNotNull($close_button);
+     $close_button->press();
+ 
++    // Test opening and immediately closing modal a few times.
++    // Ensure no JS errors are thrown.
++    for ($i = 0; $i < 10; $i++) {
++      $this->getSession()->getPage()->clickLink('Link 1 (modal)');
++      $this->assertSession()->waitForElementVisible('css', 'div.ui-dialog');
++      // Use JS directly which is much faster than Element::find.
++      // We want to close it as fast as possible, within 20ms, corresponding to
++      // the debounce on Drupal.dialog.resetSize.
++      $this->getSession()->executeScript('document.querySelector(".ui-dialog button[title=\"Close\"]").click();');
++    }
++
+     // Tests a modal with a dialog-option.
+     // Link 2 is similar to Link 1, except it submits additional width
+     // information which must be echoed in the resulting  DOM update.
+@@ -188,12 +223,11 @@ public function testDialog(): void {
+     // Press buttons in the dialog to ensure there are no AJAX errors.
+     $this->assertSession()->elementExists('css', '.ui-dialog-buttonpane')->pressButton('Hello world');
+     $this->assertSession()->assertWaitOnAjaxRequest();
+-    $has_focus_text = $this->getSession()->evaluateScript('document.activeElement.textContent');
+-    $this->assertEquals('Do it', $has_focus_text);
+     $this->assertSession()->elementExists('css', '.ui-dialog-buttonpane')->pressButton('Preview');
+     $this->assertSession()->assertWaitOnAjaxRequest();
+-    $has_focus_text = $this->getSession()->evaluateScript('document.activeElement.textContent');
+-    $this->assertEquals('Do it', $has_focus_text);
++
++    // Test resizing window, ensure no JS errors are thrown.
++    $this->getSession()->resizeWindow(1200, 1200);
+ 
+     // Reset: close the form.
+     $form_dialog->findButton('Close')->press();
diff --git a/resources/patch/php/drupal/core/3472624.diff b/resources/patch/php/drupal/core/3472624.diff
deleted file mode 100644
index 2af9300c49..0000000000
--- a/resources/patch/php/drupal/core/3472624.diff
+++ /dev/null
@@ -1,41 +0,0 @@
-diff --git a/core/misc/dialog/dialog.position.js b/core/misc/dialog/dialog.position.js
-index 98662211595ede9a4d1a238f90c0cae8cfe006e3..a15f726d1c5afca5586580dd27e82f981fc6472b 100644
---- a/core/misc/dialog/dialog.position.js
-+++ b/core/misc/dialog/dialog.position.js
-@@ -63,6 +63,14 @@
-    * @fires event:dialogContentResize
-    */
-   function resetSize(event) {
-+    // Ensure the UI dialog instance exists/is valid.
-+    // If the dialog is closed very rapidly, the jQuery UI instance may have
-+    // been destroyed, but debounce might still call this function within the
-+    // setTimeout interval.
-+    if (!event.data.$element.data('ui-dialog')) {
-+      return;
-+    }
-+
-     const positionOptions = [
-       'width',
-       'height',
-diff --git a/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php b/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php
-index bdd324020866d453050e89517767df29de6e6bb2..bbbc60000b23570cead191360943aa481077fafd 100644
---- a/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php
-+++ b/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php
-@@ -69,6 +69,17 @@ public function testDialog(): void {
-     $this->assertNotNull($close_button);
-     $close_button->press();
- 
-+    // Test opening and immediately closing modal a few times.
-+    // Ensure no JS errors are thrown.
-+    for ($i = 0; $i < 10; $i++) {
-+      $this->getSession()->getPage()->clickLink('Link 1 (modal)');
-+      $this->assertSession()->waitForElementVisible('css', 'div.ui-dialog');
-+      // Use JS directly which is much faster than Element::find.
-+      // We want to close it as fast as possible, within 20ms, corresponding to
-+      // the debounce on Drupal.dialog.resetSize.
-+      $this->getSession()->executeScript('document.querySelector(".ui-dialog button[title=\"Close\"]").click();');
-+    }
-+
-     // Tests a modal with a dialog-option.
-     // Link 2 is similar to Link 1, except it submits additional width
-     // information which must be echoed in the resulting  DOM update.
-- 
GitLab


From 556d2fd96aea37b716766599d7b3b2b7d723b5fb Mon Sep 17 00:00:00 2001
From: Claudiu Cristea <clau.cristea@gmail.com>
Date: Mon, 4 Nov 2024 21:06:44 +0200
Subject: [PATCH 29/33] ISAICP-9138: Just check for a valid semver.

---
 tests/src/Context/FooterContext.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/src/Context/FooterContext.php b/tests/src/Context/FooterContext.php
index b61939f558..a7956b07b5 100644
--- a/tests/src/Context/FooterContext.php
+++ b/tests/src/Context/FooterContext.php
@@ -35,7 +35,7 @@ public function assertVersion(): void {
     $element = $this->getSession()->getPage()->find('css', 'footer .joinup-version a');
     Assert::assertInstanceOf(NodeElement::class, $element, 'The version is shown in the footer.');
     Assert::assertStringStartsWith('https://git.fpfis.tech.ec.europa.eu/ec-europa/digit-joinup-reference/', $element->getAttribute('href'), 'The version links to the Gitlab instance.');
-    Assert::assertStringStartsWith('v1.', $element->getText(), 'The version number starts with the expected string "v1.".');
+    Assert::assertMatchesRegularExpression('/^v?(\d+\.){2}\d+(-\d+-g[0-9a-f]+)$/', $element->getText());
   }
 
 }
-- 
GitLab


From 5f9eb0c49e3a8994b07a6b3aceef22038b2e5f6b Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Mon, 4 Nov 2024 18:43:53 +0000
Subject: [PATCH 30/33] ISAICP-9199: Remove video from welcome page (anonymous
 view).

---
 ...page_variant.homepage-layout_builder-0.yml | 32 +--------------
 .../joinup_layout/joinup_layout.layouts.yml   | 18 ++++++++
 .../joinup_layout/joinup_layout.libraries.yml |  6 +++
 ...ayout--twocolfooter-onecol-50-50.html.twig | 41 +++++++++++++++++++
 .../twocolfooter_onecol_50_50.css             | 36 ++++++++++++++++
 5 files changed, 102 insertions(+), 31 deletions(-)
 create mode 100644 web/modules/custom/joinup_layout/layouts/twocolfooter-onecol-50-50/joinup-layout--twocolfooter-onecol-50-50.html.twig
 create mode 100644 web/modules/custom/joinup_layout/layouts/twocolfooter-onecol-50-50/twocolfooter_onecol_50_50.css

diff --git a/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml b/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml
index 77d6bd0b32..05726dcbd8 100644
--- a/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml
+++ b/config/sync/page_manager.page_variant.homepage-layout_builder-0.yml
@@ -127,7 +127,7 @@ variant_settings:
           additional: {  }
       third_party_settings: {  }
     -
-      layout_id: joinup_layout_twocolfooter_onecol_67_33
+      layout_id: joinup_layout_twocolfooter_onecol_50_50
       layout_settings:
         label: About
       components:
@@ -220,36 +220,6 @@ variant_settings:
                 class: ''
                 style: ''
                 data: ''
-        6ab0ceea-4541-4153-8b64-227e02369d30:
-          uuid: 6ab0ceea-4541-4153-8b64-227e02369d30
-          region: third
-          configuration:
-            id: custom_markup
-            label: 'New Interoperable Europe Portal video'
-            label_display: '0'
-            provider: custom_markup_block
-            context_mapping: {  }
-            markup:
-              value: '<drupal-media data-entity-type="media" data-entity-uuid="b03799ea-2116-4d21-965f-3556002d8a00">&nbsp;</drupal-media>'
-              format: content_editor
-          weight: 0
-          additional:
-            component_attributes:
-              block_attributes:
-                id: ''
-                class: about-video
-                style: ''
-                data: ''
-              block_title_attributes:
-                id: ''
-                class: ''
-                style: ''
-                data: ''
-              block_content_attributes:
-                id: ''
-                class: ''
-                style: ''
-                data: ''
       third_party_settings: {  }
 page: homepage
 selection_criteria:
diff --git a/web/modules/custom/joinup_layout/joinup_layout.layouts.yml b/web/modules/custom/joinup_layout/joinup_layout.layouts.yml
index 7bb17bdf9a..b1160a3d12 100644
--- a/web/modules/custom/joinup_layout/joinup_layout.layouts.yml
+++ b/web/modules/custom/joinup_layout/joinup_layout.layouts.yml
@@ -57,6 +57,24 @@ joinup_layout_twocolfooter_onecol_67_33:
     two_col_footer:
       label: Two column footer
 
+joinup_layout_twocolfooter_onecol_50_50:
+  label: 'Joinup two columns, two with common footer'
+  path: layouts/twocolfooter-onecol-50-50
+  template: joinup-layout--twocolfooter-onecol-50-50
+  library: joinup_layout/twocolfooter_onecol_50_50
+  category: 'Columns: 2'
+  default_region: first
+  icon_map:
+    - [first, second]
+    - [two_col_footer]
+  regions:
+    first:
+      label: First
+    second:
+      label: Second
+    two_col_footer:
+      label: Two column footer
+
 joinup_layout_oss_heading:
   label: 'Joinup OSS heading'
   path: layouts/oss-heading
diff --git a/web/modules/custom/joinup_layout/joinup_layout.libraries.yml b/web/modules/custom/joinup_layout/joinup_layout.libraries.yml
index 174348db8a..2907f316e5 100644
--- a/web/modules/custom/joinup_layout/joinup_layout.libraries.yml
+++ b/web/modules/custom/joinup_layout/joinup_layout.libraries.yml
@@ -10,6 +10,12 @@ twocolfooter_onecol_67_33:
     theme:
       layouts/twocolfooter-onecol-67-33/twocolfooter_onecol_67_33.css: {}
 
+twocolfooter_onecol_50_50:
+  version: VERSION
+  css:
+    theme:
+      layouts/twocolfooter-onecol-50-50/twocolfooter_onecol_50_50.css: {}
+
 oss_heading:
   css:
     layout:
diff --git a/web/modules/custom/joinup_layout/layouts/twocolfooter-onecol-50-50/joinup-layout--twocolfooter-onecol-50-50.html.twig b/web/modules/custom/joinup_layout/layouts/twocolfooter-onecol-50-50/joinup-layout--twocolfooter-onecol-50-50.html.twig
new file mode 100644
index 0000000000..36f5a34805
--- /dev/null
+++ b/web/modules/custom/joinup_layout/layouts/twocolfooter-onecol-50-50/joinup-layout--twocolfooter-onecol-50-50.html.twig
@@ -0,0 +1,41 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a two column layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout <div>.
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+  set classes = [
+    'joinup-layout',
+    'joinup-layout--twocolfooter-onecol-50-50',
+  ]
+%}
+{% if content %}
+  <div{{ attributes.addClass(classes) }}>
+    <div class="inline-column-top">
+      {% if content.first %}
+        <div {{ region_attributes.first.addClass('layout__region', 'layout__region--first') }}>
+          {{ content.first }}
+        </div>
+      {% endif %}
+      {% if content.second %}
+        <div {{ region_attributes.second.addClass('layout__region', 'layout__region--second') }}>
+          {{ content.second }}
+        </div>
+      {% endif %}
+    </div>
+    <div class="inline-column-bottom">
+      {% if content.two_col_footer %}
+        <div {{ region_attributes.two_col_footer.addClass('layout__region', 'layout__region--two_col_footer') }}>
+          {{ content.two_col_footer }}
+        </div>
+      {% endif %}
+    </div>
+  </div>
+{% endif %}
diff --git a/web/modules/custom/joinup_layout/layouts/twocolfooter-onecol-50-50/twocolfooter_onecol_50_50.css b/web/modules/custom/joinup_layout/layouts/twocolfooter-onecol-50-50/twocolfooter_onecol_50_50.css
new file mode 100644
index 0000000000..14f820b82e
--- /dev/null
+++ b/web/modules/custom/joinup_layout/layouts/twocolfooter-onecol-50-50/twocolfooter_onecol_50_50.css
@@ -0,0 +1,36 @@
+/*
+ * @file
+ * Provides the layout styles for layout twocolfooter_onecol_67_33.
+ */
+
+.joinup-layout--twocolfooter-onecol-50-50 > .inline-column-top {
+  display: flex;
+  flex: 0 1 100%;
+  flex-wrap: wrap;
+}
+
+.joinup-layout--twocolfooter-onecol-50-50 > .inline-column-bottom {
+  display: flex;
+  flex: 0 1 100%;
+  flex-wrap: wrap;
+}
+
+.joinup-layout--twocolfooter-onecol-50-50
+  > .inline-column-top
+  > .layout__region,
+.joinup-layout--twocolfooter-onecol-50-50
+  > .inline-column-right
+  > .layout__region {
+  flex: 0 1 100%;
+}
+
+@media screen and (min-width: 40em) {
+  .joinup-layout--twocolfooter-onecol-50-50
+    > .inline-column-top
+    > .layout__region--first,
+  .joinup-layout--twocolfooter-onecol-50-50
+    > .inline-column-top
+    > .layout__region--second {
+    flex: 0 1 50%;
+  }
+}
-- 
GitLab


From ac22b52dd285b874ca2fd825784388ab5a4ce432 Mon Sep 17 00:00:00 2001
From: Alexandre Dias <alex.jm.dias@gmail.com>
Date: Tue, 5 Nov 2024 08:59:15 +0000
Subject: [PATCH 31/33] ISAICP-9199: Remove video layout variant setting.

---
 resources/runner/drupal.yml | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/resources/runner/drupal.yml b/resources/runner/drupal.yml
index cc231960fa..1f0b042cc3 100644
--- a/resources/runner/drupal.yml
+++ b/resources/runner/drupal.yml
@@ -256,9 +256,6 @@ drupal:
         // Enable test_mode.
         $config['joinup_test.settings']['test_mode'] = TRUE;
 
-        // The video from the home page interacts with Selenium tests.
-        $config['page_manager.page_variant.homepage-layout_builder-0']['variant_settings']['sections'][4]['components']['6ab0ceea-4541-4153-8b64-227e02369d30']['configuration']['text'] = 'Some joinup video';
-
         // In order to ensure that tests assert dates correctly even in edge cases, we
         // set the website default timezone to UTC and the same in tests too so that
         // even edge cases produce expected results.
-- 
GitLab


From f39e1369eca597e90c5b703c6f86b239708614f4 Mon Sep 17 00:00:00 2001
From: Claudiu Cristea <clau.cristea@gmail.com>
Date: Tue, 5 Nov 2024 12:40:26 +0200
Subject: [PATCH 32/33] ISAICP-9138: Renove joinup_video from codebase.

---
 .../custom/joinup_video/joinup_video.info.yml |  5 ----
 .../custom/joinup_video/joinup_video.install  | 27 -------------------
 2 files changed, 32 deletions(-)
 delete mode 100644 web/modules/custom/joinup_video/joinup_video.info.yml
 delete mode 100644 web/modules/custom/joinup_video/joinup_video.install

diff --git a/web/modules/custom/joinup_video/joinup_video.info.yml b/web/modules/custom/joinup_video/joinup_video.info.yml
deleted file mode 100644
index 032f036189..0000000000
--- a/web/modules/custom/joinup_video/joinup_video.info.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-name: Joinup video
-description: Provides video functionality
-type: module
-package: Joinup
-core_version_requirement: ">= 9.4"
diff --git a/web/modules/custom/joinup_video/joinup_video.install b/web/modules/custom/joinup_video/joinup_video.install
deleted file mode 100644
index a175af52e7..0000000000
--- a/web/modules/custom/joinup_video/joinup_video.install
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/**
- * @file
- * Post-update functions for Joinup Video module.
- */
-
-declare(strict_types=1);
-
-/**
- * Remove obsolete joinup_video filter from formats.
- */
-function joinup_video_update_111400(): void {
-  /** @var \Drupal\Core\Config\StorageInterface $config_storage */
-  $config_storage = \Drupal::service('config.storage');
-  foreach ($config_storage->listAll('filter.format') as $config_name) {
-    $config = \Drupal::configFactory()->getEditable($config_name);
-    $config->clear('filters.joinup_video');
-    $dependencies = $config->get('dependencies.module');
-    if ($dependencies) {
-      $dependencies = array_diff($dependencies, ['joinup_video']);
-      $config->set('dependencies.module', $dependencies);
-    }
-
-    $config->save(TRUE);
-  }
-}
-- 
GitLab


From 69cfa807fdc99a15459951511f6e57517b6c748a Mon Sep 17 00:00:00 2001
From: Herve Donner <hervedonner@gmail.com>
Date: Tue, 5 Nov 2024 12:38:35 +0100
Subject: [PATCH 33/33] ISAICP-9194: Update solutions workflow (new
 draft_after_published state and transitions).

---
 .../og.og_role.node-solution-facilitator.yml  |  1 +
 config/sync/user.role.moderator.yml           |  1 +
 .../solution/solution_moderation.feature      | 23 ++++++++++++-------
 .../joinup_solution.workflows.yml             | 12 ++++++++--
 4 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/config/sync/og.og_role.node-solution-facilitator.yml b/config/sync/og.og_role.node-solution-facilitator.yml
index 1a6f30399e..efe76a0de8 100644
--- a/config/sync/og.og_role.node-solution-facilitator.yml
+++ b/config/sync/og.og_role.node-solution-facilitator.yml
@@ -101,6 +101,7 @@ permissions:
   - 'perform node:pre_moderated workflow save_new_draft transition on any entity'
   - 'perform solution_workflow workflow archive transition on any entity'
   - 'perform solution_workflow workflow draft transition on any entity'
+  - 'perform solution_workflow workflow draft_after_published transition on any entity'
   - 'perform solution_workflow workflow propose transition on any entity'
   - 'perform solution_workflow workflow update_validated transition on any entity'
   - 'pin group content'
diff --git a/config/sync/user.role.moderator.yml b/config/sync/user.role.moderator.yml
index 618e8812d3..883f4b67c1 100644
--- a/config/sync/user.role.moderator.yml
+++ b/config/sync/user.role.moderator.yml
@@ -275,6 +275,7 @@ permissions:
   - 'perform solution_workflow workflow archive transition on any entity'
   - 'perform solution_workflow workflow blacklist transition on any entity'
   - 'perform solution_workflow workflow draft transition on any entity'
+  - 'perform solution_workflow workflow draft_after_published transition on any entity'
   - 'perform solution_workflow workflow needs_update transition on any entity'
   - 'perform solution_workflow workflow propose transition on any entity'
   - 'perform solution_workflow workflow unarchive transition on any entity'
diff --git a/tests/features/solution/solution_moderation.feature b/tests/features/solution/solution_moderation.feature
index af55166b72..1ddf5066d3 100644
--- a/tests/features/solution/solution_moderation.feature
+++ b/tests/features/solution/solution_moderation.feature
@@ -49,24 +49,27 @@ Feature: Solution moderation
       # Facilitator of all the solutions.
       | William Curtis   |           |
     Given solution content:
-      | title                      | description                | logo     | owner          | contact information | state        |
-      | Azure Ship                 | Azure ship                 | logo.png | Angelos Agathe | Placide             | draft        |
-      | The Last Illusion          | The Last Illusion          | logo.png | Angelos Agathe | Placide             | proposed     |
-      | Rose of Doors              | Rose of Doors              | logo.png | Angelos Agathe | Placide             | published    |
-      | Fire Swords                | Fire Swords                | logo.png | Angelos Agathe | Placide             | archived     |
-      | The Guardian of the Stream | The Guardian of the Stream | logo.png | Angelos Agathe | Placide             | needs update |
-      | Flames in the Swords       | Flames in the Swords       | logo.png | Angelos Agathe | Placide             | blacklisted  |
+      | title                      | description                | logo     | owner          | contact information | state                 |
+      | Azure Ship                 | Azure ship                 | logo.png | Angelos Agathe | Placide             | draft                 |
+      | The Last Illusion          | The Last Illusion          | logo.png | Angelos Agathe | Placide             | proposed              |
+      | Rose of Doors              | Rose of Doors              | logo.png | Angelos Agathe | Placide             | published             |
+      | Time Bandit                | Time Bandit                | logo.png | Angelos Agathe | Placide             | draft_after_published |
+      | Fire Swords                | Fire Swords                | logo.png | Angelos Agathe | Placide             | archived              |
+      | The Guardian of the Stream | The Guardian of the Stream | logo.png | Angelos Agathe | Placide             | needs update          |
+      | Flames in the Swords       | Flames in the Swords       | logo.png | Angelos Agathe | Placide             | blacklisted           |
     And the following solution user memberships:
       | solution                   | user            | roles       |
       | Azure Ship                 | Franklin Walker | owner       |
       | The Last Illusion          | Franklin Walker | owner       |
       | Rose of Doors              | Franklin Walker | owner       |
+      | Time Bandit                | Franklin Walker | owner       |
       | Fire Swords                | Franklin Walker | owner       |
       | The Guardian of the Stream | Franklin Walker | owner       |
       | Flames in the Swords       | Franklin Walker | owner       |
       | Azure Ship                 | William Curtis  | facilitator |
       | The Last Illusion          | William Curtis  | facilitator |
       | Rose of Doors              | William Curtis  | facilitator |
+      | Time Bandit                | William Curtis  | facilitator |
       | Fire Swords                | William Curtis  | facilitator |
       | The Guardian of the Stream | William Curtis  | facilitator |
       | Flames in the Swords       | William Curtis  | facilitator |
@@ -92,27 +95,31 @@ Feature: Solution moderation
       | Azure Ship                 | Franklin Walker  | Save as draft, Propose                                               |
       | The Last Illusion          | Franklin Walker  | Propose, Save as draft                                               |
       | Rose of Doors              | Franklin Walker  | Publish, Save as draft, Propose, Archive                             |
+      | Time Bandit                | Franklin Walker  | Save as draft, Publish                                               |
       | Fire Swords                | Franklin Walker  |                                                                      |
       | The Guardian of the Stream | Franklin Walker  | Save as draft, Propose                                               |
       | Flames in the Swords       | Franklin Walker  | Save as draft, Propose                                               |
 
       # The following solutions do not follow the rule above and should be
-      # testes as shown.
+      # tested as shown.
       | Azure Ship                 | William Curtis   | Save as draft, Propose                                               |
       | The Last Illusion          | William Curtis   | Propose, Save as draft                                               |
       | Rose of Doors              | William Curtis   | Publish, Save as draft, Propose, Archive                             |
+      | Time Bandit                | William Curtis   | Save as draft, Publish                                               |
       | Fire Swords                | William Curtis   |                                                                      |
       | The Guardian of the Stream | William Curtis   | Save as draft, Propose                                               |
       | Flames in the Swords       | William Curtis   | Save as draft, Propose                                               |
       | Azure Ship                 | Isabel Banks     |                                                                      |
       | The Last Illusion          | Isabel Banks     |                                                                      |
       | Rose of Doors              | Isabel Banks     |                                                                      |
+      | Time Bandit                | Isabel Banks     |                                                                      |
       | Fire Swords                | Isabel Banks     |                                                                      |
       | The Guardian of the Stream | Isabel Banks     |                                                                      |
       | Flames in the Swords       | Isabel Banks     |                                                                      |
       | Azure Ship                 | Tyrone Underwood | Save as draft, Propose, Publish                                      |
       | The Last Illusion          | Tyrone Underwood | Propose, Save as draft, Publish, Request changes                     |
       | Rose of Doors              | Tyrone Underwood | Publish, Save as draft, Propose, Request changes, Blacklist, Archive |
+      | Time Bandit                | Tyrone Underwood | Save as draft, Publish                                               |
       | Fire Swords                | Tyrone Underwood | Unarchive                                                            |
       | The Guardian of the Stream | Tyrone Underwood | Save as draft, Propose, Publish                                      |
       | Flames in the Swords       | Tyrone Underwood | Save as draft, Propose, Publish                                      |
diff --git a/web/modules/custom/joinup_solution/joinup_solution.workflows.yml b/web/modules/custom/joinup_solution/joinup_solution.workflows.yml
index fc55f4011b..01943ca48b 100644
--- a/web/modules/custom/joinup_solution/joinup_solution.workflows.yml
+++ b/web/modules/custom/joinup_solution/joinup_solution.workflows.yml
@@ -23,6 +23,8 @@ solution_workflow:
     published:
       label: Published
       published: true
+    draft_after_published:
+      label: Draft
     needs_update:
       label: Needs update
     blacklisted:
@@ -33,8 +35,14 @@ solution_workflow:
   transitions:
     draft:
       label: Save as draft
-      from: [ __new__, draft, proposed, published, needs_update, blacklisted ]
+      from: [ __new__, draft, proposed, needs_update, blacklisted ]
       to: draft
+    # This state is meant to allow facilitators to publish changes directly
+    # to a solution that has already been approved before (by a moderator).
+    draft_after_published:
+      label: Save as draft
+      from: [ draft_after_published, published ]
+      to: draft_after_published
     propose:
       label: Propose
       from: [ __new__, draft, proposed, published, needs_update, blacklisted ]
@@ -47,7 +55,7 @@ solution_workflow:
     # But cannot approve proposed changes.
     update_validated:
       label: Publish
-      from: [ published ]
+      from: [ draft_after_published, published ]
       to: published
     needs_update:
       label: Request changes
-- 
GitLab