-- Table structure for table `system_revisions`
--

CREATE TABLE `system_revisions` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `revisionable_type` varchar(255) NOT NULL,
  `revisionable_id` int(11) NOT NULL,
  `user_id` int(10) unsigned DEFAULT NULL,
  `field` varchar(255) DEFAULT NULL,
  `cast` varchar(255) DEFAULT NULL,
  `old_value` text DEFAULT NULL,
  `new_value` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `system_revisions_revisionable_id_revisionable_type_index` (`revisionable_id`,`revisionable_type`),
  KEY `system_revisions_user_id_index` (`user_id`),
  KEY `system_revisions_field_index` (`field`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `system_revisions`
--


--
-- Table structure for table `system_settings`
--

CREATE TABLE `system_settings` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `item` varchar(255) DEFAULT NULL,
  `value` mediumtext DEFAULT NULL,
  `site_id` int(10) unsigned DEFAULT NULL,
  `site_root_id` int(10) unsigned DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `system_settings_item_index` (`item`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `system_settings`
--

INSERT INTO `system_settings` VALUES (1,'rainlab_builder_settings','{\"author_name\":\"Hélio Félix\",\"author_namespace\":\"heliofelix\"}',NULL,NULL),(2,'user_settings','{\"require_activation\":\"1\",\"activate_mode\":\"auto\",\"use_throttle\":\"1\",\"block_persistence\":\"0\",\"allow_registration\":\"1\",\"login_attribute\":\"email\",\"remember_login\":\"always\",\"use_register_throttle\":\"1\",\"min_password_length\":null,\"require_mixed_case\":\"0\",\"require_uncompromised\":\"0\",\"require_number\":\"0\",\"require_symbol\":\"0\"}',NULL,NULL),(3,'ebussola_userfacebook_settings','{\"app_id\":\"316804594681095\",\"app_secret\":\"9e9fe1e1a9added868e6bac40fc7b950\"}',NULL,NULL),(5,'flynsarmy_sociallogin_settings','{\"providers\":{\"Google\":{\"enabled\":\"0\",\"enabledForBackend\":\"0\",\"app_name\":\"Social Login\",\"client_id\":\"\",\"client_secret\":\"\"},\"Twitter\":{\"enabled\":\"0\",\"identifier\":\"\",\"secret\":\"\"},\"Facebook\":{\"enabled\":\"1\",\"enabledForBackend\":\"0\",\"client_id\":\"316804594681095\",\"client_secret\":\"9e9fe1e1a9added868e6bac40fc7b950\"}}}',NULL,NULL),(6,'ceyleon_socialauth_settings','{\"general_multi_login\":\"1\",\"general_login_redirection_url\":\"https:\\/\\/quizmanager.test\\/login\",\"general__multi_login_error_url\":\"https:\\/\\/quizmanager.test\\/login\",\"facebook_enable\":\"1\",\"facebook_client_id\":\"598985103482622\",\"facebook_client_secret\":\"d1cfb1ff69354fc4576f312be9ab2daa\",\"google_enable\":\"0\",\"google_client_id\":\"\",\"google_client_secret\":\"\",\"linkedin_enable\":\"0\",\"linkedin_client_id\":\"\",\"linkedin_client_secret\":\"\",\"github_enable\":\"0\",\"github_client_id\":\"\",\"github_client_secret\":\"\"}',NULL,NULL),(7,'social_settings','{\"use_styles\":\"1\",\"show_icon\":\"1\",\"show_text\":\"1\",\"use_facebook\":\"1\",\"facebook_id\":\"598985103482622\",\"facebook_secret\":\"d1cfb1ff69354fc4576f312be9ab2daa\",\"use_google\":\"0\",\"google_id\":\"\",\"google_secret\":\"\",\"use_github\":\"0\",\"github_id\":\"\",\"github_secret\":\"\",\"use_linkedin\":\"0\",\"linkedin_id\":\"\",\"linkedin_secret\":\"\",\"use_microsoft\":\"0\",\"microsoft_id\":\"\",\"microsoft_secret\":\"\"}',NULL,NULL),(8,'backend_editor_settings','{\"html_allow_empty_tags\":\"textarea, a, i, iframe, object, video, style, script, .icon, .bi, .fa, .fr-emoticon, .fr-inner, path, line\",\"html_allow_tags\":\"a, abbr, address, area, article, aside, audio, b, base, bdi, bdo, blockquote, br, button, canvas, caption, cite, code, col, colgroup, datalist, dd, del, details, dfn, dialog, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, hr, i, iframe, img, input, ins, kbd, keygen, label, legend, li, link, main, map, mark, menu, menuitem, meter, nav, noscript, object, ol, optgroup, option, output, p, param, pre, progress, queue, rp, rt, ruby, s, samp, script, style, section, select, small, source, span, strike, strong, sub, summary, sup, table, tbody, td, textarea, tfoot, th, thead, time, title, tr, track, u, ul, var, video, wbr\",\"html_no_wrap_tags\":\"figure, script, style\",\"html_remove_tags\":\"script, style\",\"html_line_breaker_tags\":\"figure, table, hr, iframe, form, dl\",\"html_custom_styles\":\"\\/*\\n * Text\\n *\\/\\n.oc-text-gray {\\n    color: #AAA !important;\\n}\\n.oc-text-bordered {\\n    border-top: solid 1px #222;\\n    border-bottom: solid 1px #222;\\n    padding: 10px 0;\\n}\\n.oc-text-spaced {\\n    letter-spacing: 1px;\\n}\\n.oc-text-uppercase {\\n    text-transform: uppercase;\\n}\\n\\n\\/*\\n * Links\\n *\\/\\na.oc-link-strong {\\n    font-weight: 700;\\n}\\na.oc-link-green {\\n    color: green;\\n}\\n\\n.decoration-dotted{\\n    text-decoration-style: dotted;\\n}\\n\\n\\/*\\n * Table\\n *\\/\\ntable.oc-dashed-borders td,\\ntable.oc-dashed-borders th {\\n    border-style: dashed;\\n}\\ntable.oc-alternate-rows tbody tr:nth-child(2n) {\\n    background: #f5f5f5;\\n}\\n\\n\\/*\\n * Table cell\\n *\\/\\ntable td.oc-cell-highlighted,\\ntable th.oc-cell-highlighted {\\n    border: 1px double red;\\n}\\ntable td.oc-cell-thick-border,\\ntable th.oc-cell-thick-border {\\n    border-width: 2px;\\n}\\n\\n\\/*\\n * Images\\n *\\/\\nimg.oc-img-rounded {\\n    border-radius: 100%;\\n    background-clip: padding-box;\\n}\\nimg.oc-img-bordered {\\n    border: solid 10px #CCC;\\n    box-sizing: content-box;\\n}\",\"html_style_image\":[{\"class_label\":\"Rounded\",\"class_name\":\"oc-img-rounded\"},{\"class_label\":\"Bordered\",\"class_name\":\"oc-img-bordered\"}],\"html_style_link\":[{\"class_label\":\"Green\",\"class_name\":\"oc-link-green\"},{\"class_label\":\"Strong\",\"class_name\":\"oc-link-strong\"}],\"html_style_paragraph\":[{\"class_label\":\"Bordered\",\"class_name\":\"oc-text-bordered\"},{\"class_label\":\"Gray\",\"class_name\":\"oc-text-gray\"},{\"class_label\":\"Spaced\",\"class_name\":\"oc-text-spaced\"},{\"class_label\":\"Uppercase\",\"class_name\":\"oc-text-uppercase\"}],\"html_style_table\":[{\"class_label\":\"Dashed Borders\",\"class_name\":\"oc-dashed-borders\"},{\"class_label\":\"Alternate Rows\",\"class_name\":\"oc-alternate-rows\"}],\"html_style_table_cell\":[{\"class_label\":\"Highlighted\",\"class_name\":\"oc-cell-highlighted\"},{\"class_label\":\"Thick Border\",\"class_name\":\"oc-cell-thick-border\"}],\"html_paragraph_formats\":[{\"format_label\":\"Normal\",\"format_tag\":\"N\"},{\"format_label\":\"Heading 1\",\"format_tag\":\"H1\"},{\"format_label\":\"Heading 2\",\"format_tag\":\"H2\"},{\"format_label\":\"Heading 3\",\"format_tag\":\"H3\"},{\"format_label\":\"Heading 4\",\"format_tag\":\"H4\"},{\"format_label\":\"Code\",\"format_tag\":\"PRE\"}],\"html_toolbar_buttons\":\"\",\"html_allow_attrs\":\"\"}',NULL,NULL),(9,'user_profile_settings','{\"profile_field\":[{\"name\":\"bi_cc\",\"type\":\"text\",\"label\":\"BI ou CC\",\"comment\":\"\",\"tab\":\"Details\",\"span\":\"auto\",\"required\":\"1\"},{\"name\":\"distrito\",\"type\":\"text\",\"label\":\"Distrito\",\"comment\":\"\",\"tab\":\"Details\",\"span\":\"auto\",\"required\":\"1\"},{\"name\":\"telefone\",\"type\":\"text\",\"label\":\"Contacto telefone\",\"comment\":\"\",\"tab\":\"Details\",\"span\":\"auto\",\"required\":\"1\"}]}',NULL,NULL),(10,'backend_brand_settings','{\"app_name\":\"Quiz Manager\",\"app_tagline\":\"Quiz Tailandia\",\"login_prompt\":\"Bem vindo de volta! Por favor, faça login na sua conta para continuar.\",\"color_mode\":\"light\",\"menu_mode\":\"inline\",\"login_background_type\":\"october_ai_images\",\"login_background_color\":\"#fef6eb\",\"login_background_wallpaper_size\":\"auto\",\"login_image_type\":\"autumn_images\",\"color_palette\":{\"preset\":\"default\",\"light\":{\"primary\":\"#6a6cf7\",\"secondary\":\"#72809d\",\"selection\":\"#6bc48d\",\"link_color\":\"#3498db\",\"mainnav_color\":\"#ffffff\",\"mainnav_bg\":\"#2d3134\",\"sidebar_color\":\"#536061\",\"sidebar_bg\":\"#e9edf3\",\"sidebar_active_color\":\"#333333\",\"sidebar_active_bg\":\"#ffffff\",\"sidebar_hover_bg\":\"#ffffff\",\"settings_color\":\"#536061\",\"settings_bg\":\"#f0f4f8\",\"settings_item\":\"#ffffff\",\"settings_active_color\":\"#ffffff\",\"settings_active_bg\":\"#6bc48d\",\"settings_hover_bg\":\"#dfe7ee\"},\"dark\":{\"link_color\":\"#a6a7fa\",\"sidebar_color\":\"#d7e1eA\",\"sidebar_bg\":\"#292a2d\",\"sidebar_active_color\":\"#ffffff\",\"sidebar_active_bg\":\"#424242\",\"sidebar_hover_bg\":\"#424242\",\"settings_color\":\"#adb5bd\",\"settings_bg\":\"#1b1f22\",\"settings_item\":\"#212529\",\"settings_active_color\":\"#ffffff\",\"settings_active_bg\":\"#2b3442\",\"settings_hover_bg\":\"#2b3442\",\"primary\":\"#6a6cf7\",\"secondary\":\"#72809d\",\"selection\":\"#6bc48d\",\"mainnav_color\":\"#ffffff\",\"mainnav_bg\":\"#2d3134\"}},\"show_light_switch\":\"0\",\"custom_css\":\"\"}',NULL,NULL),(11,'system_log_settings','{\"log_events\":\"1\",\"log_requests\":\"1\",\"log_theme\":\"1\"}',NULL,NULL),(12,'blakejones_magicforms_settings','{\"global_hide_button\":\"0\",\"recaptcha_site_key\":\"6LeHMywqAAAAAEkvnxZ93B2lTx5GJ8I4T_iFJm2H\",\"recaptcha_secret_key\":\"6LeHMywqAAAAAA54tPcagsy15W6UPQo5UMGLiaVz\",\"gdpr_enable\":\"0\",\"gdpr_days\":\"120\"}',NULL,NULL),(13,'system_mail_settings','{\"send_mode\":\"smtp\",\"sender_name\":\"Thai Experts - Turismo Tailandes\",\"sender_email\":\"info@turismotailandes.org.pt\",\"sendmail_path\":\"\\/usr\\/sbin\\/sendmail -t -i\",\"smtp_address\":\"mail.hmedia.com\",\"smtp_port\":\"465\",\"smtp_user\":\"smtp@hmedia.com\",\"smtp_password\":\"smtp0474##SMTP0474#1101SMTo\",\"smtp_authorization\":\"1\",\"smtp_encryption\":\"tls\",\"mailgun_domain\":\"\",\"mailgun_secret\":\"\",\"ses_key\":\"\",\"ses_secret\":\"\",\"ses_region\":\"us-east-1\",\"postmark_token\":\"\"}',2,13);

--
-- Table structure for table `system_site_definitions`
--

CREATE TABLE `system_site_definitions` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `code` varchar(255) DEFAULT NULL,
  `sort_order` int(11) DEFAULT NULL,
  `is_custom_url` tinyint(1) NOT NULL DEFAULT 0,
  `app_url` varchar(255) DEFAULT NULL,
  `theme` varchar(255) DEFAULT NULL,
  `locale` varchar(255) DEFAULT NULL,
  `timezone` varchar(255) DEFAULT NULL,
  `is_host_restricted` tinyint(1) NOT NULL DEFAULT 0,
  `allow_hosts` mediumtext DEFAULT NULL,
  `is_prefixed` tinyint(1) NOT NULL DEFAULT 0,
  `route_prefix` varchar(255) DEFAULT NULL,
  `is_styled` tinyint(1) NOT NULL DEFAULT 0,
  `color_foreground` varchar(255) DEFAULT NULL,
  `color_background` varchar(255) DEFAULT NULL,
  `is_primary` tinyint(1) NOT NULL DEFAULT 0,
  `is_enabled` tinyint(1) NOT NULL DEFAULT 0,
  `is_enabled_edit` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `is_role_restricted` tinyint(1) NOT NULL DEFAULT 0,
  `allow_roles` mediumtext DEFAULT NULL,
  `group_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `system_site_definitions_code_index` (`code`),
  KEY `system_site_definitions_group_id_index` (`group_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `system_site_definitions`
--

INSERT INTO `system_site_definitions` VALUES (1,'Português','pt-pt',1,0,'','','pt-pt','Europe/Lisbon',0,'[[]]',0,'',0,NULL,NULL,1,1,1,'2023-01-03 15:57:43','2024-01-04 14:42:29',0,'',NULL),(2,'English','en-gb',2,0,'','webtank-tailwind-css-starter-child','en-gb','Europe/London',0,'[[]]',1,'/en',0,NULL,NULL,0,0,1,'2023-01-03 16:22:31','2023-12-29 18:22:06',0,'',NULL);

--
-- Table structure for table `system_site_groups`
--

CREATE TABLE `system_site_groups` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `code` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `system_site_groups_code_index` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `system_site_groups`
--


--
-- Table structure for table `tailor_content_joins`
--

CREATE TABLE `tailor_content_joins` (
  `parent_id` int(11) DEFAULT NULL,
  `parent_type` varchar(255) DEFAULT NULL,
  `relation_id` int(11) DEFAULT NULL,
  `relation_type` varchar(255) DEFAULT NULL,
  `field_name` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  KEY `tailor_content_joins_pidx` (`parent_id`,`parent_type`),
  KEY `tailor_content_joins_ridx` (`relation_id`,`relation_type`),
  KEY `tailor_content_joins_field_name_index` (`field_name`),
  KEY `tailor_content_joins_site_id_index` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `tailor_content_joins`
--


--
-- Table structure for table `tailor_content_schema`
--

CREATE TABLE `tailor_content_schema` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `table_name` varchar(255) DEFAULT NULL,
  `meta` mediumtext DEFAULT NULL,
  `fields` mediumtext DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `tailor_content_schema_table_name_index` (`table_name`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `tailor_content_schema`
--

INSERT INTO `tailor_content_schema` VALUES (1,'xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1c','{\"blueprint_uuid\":\"a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1\",\"blueprint_type\":\"single\",\"multisite_sync\":false}','{\"active\":[],\"dropped\":[]}',NULL,'2023-01-03 15:57:45','2023-10-04 15:53:34'),(2,'xc_339b11b769ad43c49be16953e7738827c','{\"blueprint_uuid\":\"339b11b7-69ad-43c4-9be1-6953e7738827\",\"blueprint_type\":\"structure\",\"multisite_sync\":false}','{\"active\":{\"content\":{\"type\":\"mediumText\",\"name\":\"content\",\"nullable\":true},\"show_in_toc\":{\"type\":\"boolean\",\"name\":\"show_in_toc\",\"nullable\":true},\"summary_text\":{\"type\":\"mediumText\",\"name\":\"summary_text\",\"nullable\":true}},\"dropped\":[]}',NULL,'2023-01-03 15:57:45','2023-10-04 15:53:34'),(3,'xc_b022a74b15e64c6b9eb917efc5103543c','{\"blueprint_uuid\":\"b022a74b-15e6-4c6b-9eb9-17efc5103543\",\"blueprint_type\":\"structure\",\"multisite_sync\":false}','{\"active\":{\"description\":{\"type\":\"text\",\"name\":\"description\",\"nullable\":true}},\"dropped\":[]}',NULL,'2023-01-03 15:57:45','2023-10-04 15:53:34'),(4,'xc_6947ff28b66047d7924024ca6d58aeaec','{\"blueprint_uuid\":\"6947ff28-b660-47d7-9240-24ca6d58aeae\",\"blueprint_type\":\"entry\",\"multisite_sync\":false}','{\"active\":{\"avatar\":{\"type\":\"mediumText\",\"name\":\"avatar\",\"nullable\":true},\"role\":{\"type\":\"text\",\"name\":\"role\",\"nullable\":true},\"about\":{\"type\":\"mediumText\",\"name\":\"about\",\"nullable\":true}},\"dropped\":[]}',NULL,'2023-01-03 15:57:46','2023-10-04 15:53:34'),(5,'xc_edcd102e05254e4db07e633ae6c18db6c','{\"blueprint_uuid\":\"edcd102e-0525-4e4d-b07e-633ae6c18db6\",\"blueprint_type\":\"stream\",\"multisite_sync\":false}','{\"active\":{\"content\":{\"type\":\"mediumText\",\"name\":\"content\",\"nullable\":true}},\"dropped\":{\"x_author_id_4ec60a4c\":{\"original\":\"author_id\",\"details\":{\"type\":\"integer\",\"name\":\"author_id\",\"autoIncrement\":false,\"unsigned\":true,\"nullable\":true}},\"x_featured_text_708157a9\":{\"original\":\"featured_text\",\"details\":{\"type\":\"mediumText\",\"name\":\"featured_text\",\"nullable\":true}},\"x_gallery_media_dfb74bb3\":{\"original\":\"gallery_media\",\"details\":{\"type\":\"mediumText\",\"name\":\"gallery_media\",\"nullable\":true}}}}',NULL,'2023-01-03 15:57:46','2024-08-16 19:10:34'),(6,'xc_4f978b9f13d5480e9a86587a4d60e38cc','{\"blueprint_uuid\":\"4f978b9f-13d5-480e-9a86-587a4d60e38c\",\"blueprint_type\":\"structure\",\"multisite_sync\":false}','{\"active\":[],\"dropped\":{\"x_content_d571c293\":{\"original\":\"content\",\"details\":{\"type\":\"mediumText\",\"name\":\"content\",\"nullable\":true}},\"x_summary_text_205e056b\":{\"original\":\"summary_text\",\"details\":{\"type\":\"mediumText\",\"name\":\"summary_text\",\"nullable\":true}}}}',NULL,'2023-10-19 11:09:21','2023-10-19 13:54:45'),(7,'xc_819b5af26b234d3db298069c415a0df0c','{\"blueprint_uuid\":\"819b5af2-6b23-4d3d-b298-069c415a0df0\",\"blueprint_type\":\"structure\",\"multisite_sync\":false}','{\"active\":[],\"dropped\":{\"x_content_1c913ecd\":{\"original\":\"content\",\"details\":{\"type\":\"mediumText\",\"name\":\"content\",\"nullable\":true}},\"x_summary_text_403af40c\":{\"original\":\"summary_text\",\"details\":{\"type\":\"mediumText\",\"name\":\"summary_text\",\"nullable\":true}},\"x_author_id_51c6599e\":{\"original\":\"author_id\",\"details\":{\"type\":\"integer\",\"name\":\"author_id\",\"autoIncrement\":false,\"unsigned\":true,\"nullable\":true}},\"x_featured_text_f79d804e\":{\"original\":\"featured_text\",\"details\":{\"type\":\"mediumText\",\"name\":\"featured_text\",\"nullable\":true}},\"x_gallery_media_6871fc61\":{\"original\":\"gallery_media\",\"details\":{\"type\":\"mediumText\",\"name\":\"gallery_media\",\"nullable\":true}}}}',NULL,'2023-10-19 15:57:26','2023-10-21 19:43:09'),(8,'xc_85e471d209b94f3da63b1ae9d92d2879c','{\"blueprint_uuid\":\"85e471d2-09b9-4f3d-a63b-1ae9d92d2879\",\"blueprint_type\":\"entry\",\"multisite_sync\":false}','{\"active\":{\"slug\":{\"type\":\"text\",\"name\":\"slug\",\"nullable\":true}},\"dropped\":[]}',NULL,'2024-08-16 19:08:39','2024-08-16 19:08:39');

--
-- Table structure for table `tailor_global_joins`
--

CREATE TABLE `tailor_global_joins` (
  `parent_id` int(11) DEFAULT NULL,
  `relation_id` int(11) DEFAULT NULL,
  `relation_type` varchar(255) DEFAULT NULL,
  `field_name` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  KEY `tailor_global_joins_idx` (`relation_id`,`relation_type`),
  KEY `tailor_global_joins_field_name_index` (`field_name`),
  KEY `tailor_global_joins_site_id_index` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `tailor_global_joins`
--


--
-- Table structure for table `tailor_global_repeaters`
--

CREATE TABLE `tailor_global_repeaters` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `host_id` int(11) DEFAULT NULL,
  `host_field` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `content_value` mediumtext DEFAULT NULL,
  `content_spawn_path` text DEFAULT NULL,
  `sort_order` int(11) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `parent_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `tailor_global_repeaters_idx` (`host_id`,`host_field`),
  KEY `tailor_global_repeaters_site_id_index` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `tailor_global_repeaters`
--


--
-- Table structure for table `tailor_globals`
--

CREATE TABLE `tailor_globals` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `site_id` int(11) DEFAULT NULL,
  `site_root_id` int(10) unsigned DEFAULT NULL,
  `blueprint_uuid` varchar(255) DEFAULT NULL,
  `content` longtext DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `tailor_globals_site_id_index` (`site_id`),
  KEY `tailor_globals_blueprint_uuid_index` (`blueprint_uuid`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `tailor_globals`
--

INSERT INTO `tailor_globals` VALUES (1,2,1,'3328c303-7989-462e-b866-27e7037ba275','[]',NULL,'2023-10-16 18:12:31','2023-10-16 18:12:31'),(2,1,2,'e254923c-9fbd-459f-bbd6-b9bd18c944e7','{\"colesq\":\"<h2>Seja um expert em Turismo Tailandês<\\/h2>\",\"video\":\"https:\\/\\/www.youtube.com\\/embed\\/rQm1zmrPH50?si=k3NjN6EF-iNwpcOm?rel=0\",\"coldir\":\"<h1>Curso Thailand Experts<\\/h1><p>Este programa de formação irá dar-lhe o conhecimento necessário para se tornar um <em>expert<\\/em> na Tailândia. Aqui encontrará toda a informação para melhor aconselhar este destino.<\\/p><p><br><\\/p><p><br><\\/p>\",\"button_text\":\"IR PARA O CURSO\",\"button_url\":\"\\/login\"}',NULL,'2024-01-27 18:05:57','2024-10-22 08:27:33');

--
-- Table structure for table `tailor_preview_tokens`
--

CREATE TABLE `tailor_preview_tokens` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `site_id` int(11) DEFAULT NULL,
  `route` mediumtext DEFAULT NULL,
  `token` varchar(255) DEFAULT NULL,
  `count_use` int(11) NOT NULL DEFAULT 0,
  `count_limit` int(11) NOT NULL DEFAULT 0,
  `created_user_id` int(10) unsigned DEFAULT NULL,
  `expired_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `tailor_preview_tokens_site_id_index` (`site_id`),
  KEY `tailor_preview_tokens_token_index` (`token`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `tailor_preview_tokens`
--

INSERT INTO `tailor_preview_tokens` VALUES (1,NULL,'{\"uri\":\"\\/en\\/pagina\\/como-ganhar\",\"id\":2}','60ZEDD86Eza15h38qM2pwMiW7Eoq7Uug',1,0,1,'2023-10-21 14:38:23',NULL,'2023-10-19 14:38:23','2023-10-19 14:38:23'),(2,NULL,'{\"uri\":\"\\/pagina\\/sobre-a-tailandia\",\"id\":9}','gnHOuOJNIfwahSOhHpxOE2JNc5hiwcvM',0,0,2,'2023-10-25 15:57:49',NULL,'2023-10-23 15:57:49','2023-10-23 15:57:49'),(3,NULL,'{\"uri\":\"\\/pagina\\/sobre-a-tailandia\",\"id\":9}','OwftoXStmnoq1S7Fo8qSAW0zbGYyZPJA',0,0,2,'2023-10-25 15:57:52',NULL,'2023-10-23 15:57:52','2023-10-23 15:57:52'),(4,NULL,'{\"uri\":\"\\/pagina\\/sobre-a-tailandia\",\"id\":9}','wHITBcpzJE3uGJJNHgJSgI57wFIkRDaI',0,0,2,'2023-10-25 15:57:59',NULL,'2023-10-23 15:57:59','2023-10-23 15:57:59'),(5,NULL,'{\"uri\":\"https:\\/\\/quizmanager.test\\/en\\/pagina\\/home\",\"id\":12}','Mr8MOQ7rP5fLjjEwB0q4qR6VxGNVQ3uu',0,0,1,'2024-01-27 10:50:18',NULL,'2024-01-25 10:50:18','2024-01-25 10:50:18'),(6,NULL,'{\"uri\":\"https:\\/\\/quizmanager.test\\/en\\/pagina\\/o-que-pode-ganhar\",\"id\":5}','OjC2JfpGnAcOU8znKSPUoNyraQowTJrI',0,0,1,'2024-01-27 10:50:31',NULL,'2024-01-25 10:50:31','2024-01-25 10:50:31'),(7,NULL,'{\"uri\":\"https:\\/\\/quizmanager.test\\/en\\/pagina\\/home\",\"id\":12}','q52PjN7NjG5ZcoWpSAltNfWFwu5MX9qN',0,0,1,'2024-01-27 12:09:14',NULL,'2024-01-25 12:09:14','2024-01-25 12:09:14'),(8,NULL,'{\"uri\":\"https:\\/\\/quizmanager.test\\/en\",\"id\":2}','lsgSLHPoTfcTbUBZ1wwdbe6xtGqL5hL4',0,0,1,'2024-01-27 12:12:52',NULL,'2024-01-25 12:12:52','2024-01-25 12:12:52'),(9,NULL,'{\"uri\":\"https:\\/\\/thaiexperts.turismotailandes.org.pt\\/en\",\"id\":13}','Kkh9Pd2kbjVQZbJM9ticQq2CXud7oYIP',0,0,1,'2024-08-14 17:20:19',NULL,'2024-08-12 17:20:19','2024-08-12 17:20:19');

--
-- Table structure for table `user_groups`
--

CREATE TABLE `user_groups` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `code` varchar(255) DEFAULT NULL,
  `description` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `user_groups_code_index` (`code`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `user_groups`
--

INSERT INTO `user_groups` VALUES (1,'Guest','guest','Default group for guest users.','2023-01-11 16:11:37','2023-01-11 16:11:37'),(2,'Registered','registered','Default group for registered users.','2023-01-11 16:11:37','2023-01-11 16:11:37');

--
-- Table structure for table `user_throttle`
--

CREATE TABLE `user_throttle` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(10) unsigned DEFAULT NULL,
  `ip_address` varchar(255) DEFAULT NULL,
  `attempts` int(11) NOT NULL DEFAULT 0,
  `last_attempt_at` timestamp NULL DEFAULT NULL,
  `is_suspended` tinyint(1) NOT NULL DEFAULT 0,
  `suspended_at` timestamp NULL DEFAULT NULL,
  `is_banned` tinyint(1) NOT NULL DEFAULT 0,
  `banned_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `user_throttle_user_id_index` (`user_id`),
  KEY `user_throttle_ip_address_index` (`ip_address`)
) ENGINE=InnoDB AUTO_INCREMENT=220 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `user_throttle`
--

INSERT INTO `user_throttle` VALUES (1,2,'127.0.0.1',0,NULL,0,NULL,0,NULL),(2,3,NULL,0,NULL,0,NULL,0,NULL),(3,4,'127.0.0.1',0,NULL,0,NULL,0,NULL),(4,5,'127.0.0.1',0,NULL,0,NULL,0,NULL),(5,6,'127.0.0.1',0,NULL,0,NULL,0,NULL),(6,7,'127.0.0.1',0,NULL,0,NULL,0,NULL),(7,8,'127.0.0.1',0,NULL,0,NULL,0,NULL),(8,9,'127.0.0.1',0,NULL,0,NULL,0,NULL),(9,5,'94.62.35.173',0,NULL,0,NULL,0,NULL),(10,5,'93.108.148.125',0,'2024-08-19 07:49:55',0,NULL,0,NULL),(11,10,'94.62.35.173',0,NULL,0,NULL,0,NULL),(12,11,'167.1.173.21',0,NULL,0,NULL,0,NULL),(13,7,'93.108.148.125',0,NULL,0,NULL,0,NULL),(14,12,'93.108.148.125',0,NULL,0,NULL,0,NULL),(15,12,'94.62.35.173',0,NULL,0,NULL,0,NULL),(16,13,'79.251.149.105',0,NULL,0,NULL,0,NULL),(17,13,'79.227.182.26',0,NULL,0,NULL,0,NULL),(18,13,'79.227.184.133',0,NULL,0,NULL,0,NULL),(19,14,'144.64.175.194',0,NULL,0,NULL,0,NULL),(20,13,'79.227.190.175',0,NULL,0,NULL,0,NULL),(21,15,'144.64.175.194',0,NULL,0,NULL,0,NULL),(22,14,'89.115.171.178',0,NULL,0,NULL,0,NULL),(23,15,'85.242.179.207',0,NULL,0,NULL,0,NULL),(24,13,'109.52.144.72',0,NULL,0,NULL,0,NULL),(25,13,'109.52.149.171',0,NULL,0,NULL,0,NULL),(26,13,'109.55.229.72',0,NULL,0,NULL,0,NULL),(27,13,'185.113.140.26',0,NULL,0,NULL,0,NULL),(28,14,'176.78.108.224',0,NULL,0,NULL,0,NULL),(29,16,'176.78.108.224',0,NULL,0,NULL,0,NULL),(30,16,'79.168.254.109',0,NULL,0,NULL,0,NULL),(31,15,'176.78.108.224',0,NULL,0,NULL,0,NULL),(32,17,'176.78.108.224',0,NULL,0,NULL,0,NULL),(33,13,'79.227.188.89',0,NULL,0,NULL,0,NULL),(34,18,'176.78.108.224',0,NULL,0,NULL,0,NULL),(35,14,'85.240.183.243',0,NULL,0,NULL,0,NULL),(36,19,'77.54.8.88',0,NULL,0,NULL,0,NULL),(37,20,'188.250.26.208',0,NULL,0,NULL,0,NULL),(38,21,'94.60.43.146',0,NULL,0,NULL,0,NULL),(39,22,'194.65.45.62',0,NULL,0,NULL,0,NULL),(40,23,'94.132.240.32',0,NULL,0,NULL,0,NULL),(41,24,'176.79.71.232',0,NULL,0,NULL,0,NULL),(42,25,'195.57.251.100',0,NULL,0,NULL,0,NULL),(43,26,'83.240.183.128',0,NULL,0,NULL,0,NULL),(44,27,'83.240.150.254',0,NULL,0,NULL,0,NULL),(45,28,'46.50.7.54',0,NULL,0,NULL,0,NULL),(46,29,'2.80.125.31',0,NULL,0,NULL,0,NULL),(47,30,'87.196.107.43',0,NULL,0,NULL,0,NULL),(48,31,'62.48.216.250',0,NULL,0,NULL,0,NULL),(49,32,'144.64.117.103',0,NULL,0,NULL,0,NULL),(50,33,'15.160.191.149',0,NULL,0,NULL,0,NULL),(51,34,'89.114.172.81',0,NULL,0,NULL,0,NULL),(52,35,'148.63.138.96',0,NULL,0,NULL,0,NULL),(53,36,'148.63.23.82',0,NULL,0,NULL,0,NULL),(54,37,'89.181.168.199',0,NULL,0,NULL,0,NULL),(55,38,'94.61.225.44',0,NULL,0,NULL,0,NULL),(56,39,'188.37.250.139',0,NULL,0,NULL,0,NULL),(57,40,'109.50.220.200',0,NULL,0,NULL,0,NULL),(58,41,'163.116.243.46',0,NULL,0,NULL,0,NULL),(59,42,'78.137.204.121',0,NULL,0,NULL,0,NULL),(60,43,'62.28.128.253',0,NULL,0,NULL,0,NULL),(61,44,'89.153.102.121',0,NULL,0,NULL,0,NULL),(62,45,'223.118.51.88',0,NULL,0,NULL,0,NULL),(63,46,'89.114.69.183',0,NULL,0,NULL,0,NULL),(64,47,'89.154.230.75',0,NULL,0,NULL,0,NULL),(65,48,'93.108.144.155',0,NULL,0,NULL,0,NULL),(66,49,'94.61.203.237',0,NULL,0,NULL,0,NULL),(67,50,'2.83.169.193',0,NULL,0,NULL,0,NULL),(68,51,'79.168.140.179',0,NULL,0,NULL,0,NULL),(69,52,'148.71.237.131',0,NULL,0,NULL,0,NULL),(70,53,'148.71.237.131',0,NULL,0,NULL,0,NULL),(71,54,'208.94.110.98',0,NULL,0,NULL,0,NULL),(72,55,'188.82.120.46',0,NULL,0,NULL,0,NULL),(73,56,'87.103.31.92',0,NULL,0,NULL,0,NULL),(74,46,'89.114.69.6',0,NULL,0,NULL,0,NULL),(75,57,'194.65.161.25',0,NULL,0,NULL,0,NULL),(76,58,'148.71.237.131',0,NULL,0,NULL,0,NULL),(77,59,'188.37.250.139',0,NULL,0,NULL,0,NULL),(78,60,'78.130.109.67',0,NULL,0,NULL,0,NULL),(79,61,'148.69.59.245',0,NULL,0,NULL,0,NULL),(80,62,'85.247.84.215',0,NULL,0,NULL,0,NULL),(81,63,'176.78.10.61',0,NULL,0,NULL,0,NULL),(82,64,'176.78.190.64',0,NULL,0,NULL,0,NULL),(83,43,'37.189.95.172',0,NULL,0,NULL,0,NULL),(84,65,'95.93.40.111',0,NULL,0,NULL,0,NULL),(85,66,'209.206.19.65',0,NULL,0,NULL,0,NULL),(86,66,'209.206.19.64',0,NULL,0,NULL,0,NULL),(87,67,'62.28.243.210',0,NULL,0,NULL,0,NULL),(88,68,'193.126.236.3',0,NULL,0,NULL,0,NULL),(89,69,'148.71.161.142',0,NULL,0,NULL,0,NULL),(90,70,'217.129.182.103',0,NULL,0,NULL,0,NULL),(91,71,'79.169.151.10',0,NULL,0,NULL,0,NULL),(92,72,'2.82.106.86',0,NULL,0,NULL,0,NULL),(93,73,'89.180.9.192',0,NULL,0,NULL,0,NULL),(94,74,'163.116.245.50',0,NULL,0,NULL,0,NULL),(95,75,'83.240.194.251',0,NULL,0,NULL,0,NULL),(96,76,'193.126.236.4',0,NULL,0,NULL,0,NULL),(97,77,'194.65.168.214',0,NULL,0,NULL,0,NULL),(98,66,'209.206.19.2',0,NULL,0,NULL,0,NULL),(99,66,'209.206.19.1',0,NULL,0,NULL,0,NULL),(100,78,'85.241.217.229',0,NULL,0,NULL,0,NULL),(101,79,'62.48.216.250',0,NULL,0,NULL,0,NULL),(102,80,'5.249.88.141',0,NULL,0,NULL,0,NULL),(103,81,'178.166.4.29',0,NULL,0,NULL,0,NULL),(104,82,'148.69.65.70',0,NULL,0,NULL,0,NULL),(105,83,'92.250.96.1',0,NULL,0,NULL,0,NULL),(106,84,'188.37.192.188',0,NULL,0,NULL,0,NULL),(107,85,'148.69.65.70',0,NULL,0,NULL,0,NULL),(108,86,'148.69.65.70',0,NULL,0,NULL,0,NULL),(109,87,'89.153.30.67',0,NULL,0,NULL,0,NULL),(110,88,'89.114.25.166',0,NULL,0,NULL,0,NULL),(111,89,'94.63.37.35',0,NULL,0,NULL,0,NULL),(112,90,'5.249.4.16',0,NULL,0,NULL,0,NULL),(113,91,'85.139.125.112',0,NULL,0,NULL,0,NULL),(114,92,'95.94.44.129',0,NULL,0,NULL,0,NULL),(115,93,'193.126.236.3',0,NULL,0,NULL,0,NULL),(116,94,'5.249.88.141',0,NULL,0,NULL,0,NULL),(117,95,'89.155.54.8',0,NULL,0,NULL,0,NULL),(118,96,'89.155.54.8',0,NULL,0,NULL,0,NULL),(119,97,'88.157.202.143',0,NULL,0,NULL,0,NULL),(120,98,'92.250.100.6',0,NULL,0,NULL,0,NULL),(121,99,'88.157.202.143',0,NULL,0,NULL,0,NULL),(122,100,'85.244.166.221',0,NULL,0,NULL,0,NULL),(123,101,'88.157.202.143',0,NULL,0,NULL,0,NULL),(124,83,'62.28.23.194',0,NULL,0,NULL,0,NULL),(125,102,'109.49.231.2',0,NULL,0,NULL,0,NULL),(126,103,'95.94.44.129',0,NULL,0,NULL,0,NULL),(127,104,'149.90.158.66',0,NULL,0,NULL,0,NULL),(128,105,'193.126.236.3',0,NULL,0,NULL,0,NULL),(129,106,'194.65.71.137',0,NULL,0,NULL,0,NULL),(130,107,'188.37.24.18',0,NULL,0,NULL,0,NULL),(131,108,'195.57.251.100',0,NULL,0,NULL,0,NULL),(132,109,'94.60.177.131',0,NULL,0,NULL,0,NULL),(133,110,'88.157.202.143',0,NULL,0,NULL,0,NULL),(134,111,'88.157.202.143',0,NULL,0,NULL,0,NULL),(135,112,'79.169.79.51',0,NULL,0,NULL,0,NULL),(136,113,'88.157.202.143',0,NULL,0,NULL,0,NULL),(137,114,'148.63.152.228',0,NULL,0,NULL,0,NULL),(138,115,'148.69.189.146',0,NULL,0,NULL,0,NULL),(139,116,'176.79.196.75',0,NULL,0,NULL,0,NULL),(140,117,'89.114.222.215',0,NULL,0,NULL,0,NULL),(141,118,'148.69.65.70',0,NULL,0,NULL,0,NULL),(142,119,'161.230.69.103',0,NULL,0,NULL,0,NULL),(143,120,'194.65.161.86',0,NULL,0,NULL,0,NULL),(144,121,'2.80.235.172',0,NULL,0,NULL,0,NULL),(145,122,'104.28.88.106',0,NULL,0,NULL,0,NULL),(146,57,'148.69.59.30',0,NULL,0,NULL,0,NULL),(147,123,'95.95.108.159',0,NULL,0,NULL,0,NULL),(148,124,'85.241.65.239',0,NULL,0,NULL,0,NULL),(149,125,'81.193.4.240',0,NULL,0,NULL,0,NULL),(150,126,'81.193.4.240',0,NULL,0,NULL,0,NULL),(151,127,'85.243.198.152',0,NULL,0,NULL,0,NULL),(152,128,'95.95.97.133',0,NULL,0,NULL,0,NULL),(153,129,'193.126.236.4',0,NULL,0,NULL,0,NULL),(154,130,'83.240.183.128',0,NULL,0,NULL,0,NULL),(155,131,'147.161.190.114',0,NULL,0,NULL,0,NULL),(156,131,'165.225.92.83',0,NULL,0,NULL,0,NULL),(157,131,'147.161.190.103',0,NULL,0,NULL,0,NULL),(158,132,'109.50.235.97',0,NULL,0,NULL,0,NULL),(159,133,'94.63.83.247',0,NULL,0,NULL,0,NULL),(160,134,'188.250.172.47',0,NULL,0,NULL,0,NULL),(161,135,'89.114.157.142',0,NULL,0,NULL,0,NULL),(162,136,'88.157.110.215',0,NULL,0,NULL,0,NULL),(163,137,'92.250.103.146',0,NULL,0,NULL,0,NULL),(164,138,'93.108.1.1',0,NULL,0,NULL,0,NULL),(165,136,'188.37.43.213',0,NULL,0,NULL,0,NULL),(166,139,'104.28.88.106',0,NULL,0,NULL,0,NULL),(167,140,'88.157.177.158',0,NULL,0,NULL,0,NULL),(168,141,'188.54.62.83',0,NULL,0,NULL,0,NULL),(169,142,'86.48.10.134',0,NULL,0,NULL,0,NULL),(170,143,'88.157.202.143',0,NULL,0,NULL,0,NULL),(171,144,'193.126.236.4',0,NULL,0,NULL,0,NULL),(172,145,'193.126.236.2',0,NULL,0,NULL,0,NULL),(173,138,'149.90.158.243',0,NULL,0,NULL,0,NULL),(174,146,'94.60.177.131',0,NULL,0,NULL,0,NULL),(175,147,'176.78.210.130',0,NULL,0,NULL,0,NULL),(176,148,'193.126.236.2',0,NULL,0,NULL,0,NULL),(177,149,'163.116.243.44',0,NULL,0,NULL,0,NULL),(178,149,'195.57.251.100',0,NULL,0,NULL,0,NULL),(179,149,'163.116.169.100',0,NULL,0,NULL,0,NULL),(180,14,'89.115.73.183',0,NULL,0,NULL,0,NULL),(181,150,'95.92.170.5',0,NULL,0,NULL,0,NULL),(182,151,'87.103.5.36',0,NULL,0,NULL,0,NULL),(183,152,'2.83.52.192',0,NULL,0,NULL,0,NULL),(184,153,'193.126.236.4',0,NULL,0,NULL,0,NULL),(185,154,'195.57.251.100',0,NULL,0,NULL,0,NULL),(186,155,'88.157.202.143',0,NULL,0,NULL,0,NULL),(187,156,'95.94.214.3',0,NULL,0,NULL,0,NULL),(188,157,'88.157.202.143',0,NULL,0,NULL,0,NULL),(189,158,'77.54.255.209',0,NULL,0,NULL,0,NULL),(190,159,'94.61.195.232',0,NULL,0,NULL,0,NULL),(191,160,'94.60.105.118',0,NULL,0,NULL,0,NULL),(192,161,'176.205.22.200',0,NULL,0,NULL,0,NULL),(193,162,'193.126.236.4',0,NULL,0,NULL,0,NULL),(194,161,'185.177.125.58',0,NULL,0,NULL,0,NULL),(195,163,'94.62.249.146',0,NULL,0,NULL,0,NULL),(196,46,'148.69.147.129',0,NULL,0,NULL,0,NULL),(197,164,'88.157.202.143',0,NULL,0,NULL,0,NULL),(198,140,'85.244.120.107',0,NULL,0,NULL,0,NULL),(199,165,'81.193.4.240',0,NULL,0,NULL,0,NULL),(200,166,'188.80.71.207',0,NULL,0,NULL,0,NULL),(201,83,'62.28.138.90',0,NULL,0,NULL,0,NULL),(202,167,'2.82.209.216',0,NULL,0,NULL,0,NULL),(203,168,'85.246.61.62',0,NULL,0,NULL,0,NULL),(204,118,'149.90.102.193',0,NULL,0,NULL,0,NULL),(205,169,'188.251.230.72',0,NULL,0,NULL,0,NULL),(206,170,'88.157.202.143',0,NULL,0,NULL,0,NULL),(207,166,'213.13.251.39',0,NULL,0,NULL,0,NULL),(208,171,'88.157.202.143',0,NULL,0,NULL,0,NULL),(209,24,'89.154.143.62',0,NULL,0,NULL,0,NULL),(210,172,'89.180.169.115',0,NULL,0,NULL,0,NULL),(211,80,'89.154.164.191',0,NULL,0,NULL,0,NULL),(212,173,'77.54.198.170',0,NULL,0,NULL,0,NULL),(213,174,'2.83.243.29',0,NULL,0,NULL,0,NULL),(214,175,'88.157.202.143',0,NULL,0,NULL,0,NULL),(215,176,'81.193.4.240',0,NULL,0,NULL,0,NULL),(216,111,'95.95.96.190',0,NULL,0,NULL,0,NULL),(217,172,'168.182.219.146',0,NULL,0,NULL,0,NULL),(218,16,'85.240.183.243',0,NULL,0,NULL,0,NULL),(219,12,'89.114.76.197',0,NULL,0,NULL,0,NULL);

--
-- Table structure for table `users`
--

CREATE TABLE `users` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `email` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `activation_code` varchar(255) DEFAULT NULL,
  `persist_code` varchar(255) DEFAULT NULL,
  `reset_password_code` varchar(255) DEFAULT NULL,
  `permissions` text DEFAULT NULL,
  `is_activated` tinyint(1) NOT NULL DEFAULT 0,
  `activated_at` timestamp NULL DEFAULT NULL,
  `last_login` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `username` varchar(255) DEFAULT NULL,
  `surname` varchar(255) DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  `last_seen` timestamp NULL DEFAULT NULL,
  `is_guest` tinyint(1) NOT NULL DEFAULT 0,
  `is_superuser` tinyint(1) NOT NULL DEFAULT 0,
  `created_ip_address` varchar(255) DEFAULT NULL,
  `last_ip_address` varchar(255) DEFAULT NULL,
  `bi_cc` varchar(255) DEFAULT NULL,
  `distrito` varchar(255) DEFAULT NULL,
  `telefone` varchar(255) DEFAULT NULL,
  `last_sent_quiz_complete_email` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `users_email_unique` (`email`),
  UNIQUE KEY `users_login_unique` (`username`),
  KEY `users_activation_code_index` (`activation_code`),
  KEY `users_reset_password_code_index` (`reset_password_code`),
  KEY `users_login_index` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=177 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `users`
--


--
-- Table structure for table `users_groups`
--

CREATE TABLE `users_groups` (
  `user_id` int(10) unsigned NOT NULL,
  `user_group_id` int(10) unsigned NOT NULL,
  PRIMARY KEY (`user_id`,`user_group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `users_groups`
--


--
-- Table structure for table `xc_339b11b769ad43c49be16953e7738827c`
--

CREATE TABLE `xc_339b11b769ad43c49be16953e7738827c` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `site_id` int(11) DEFAULT NULL,
  `site_root_id` int(11) DEFAULT NULL,
  `blueprint_uuid` varchar(255) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `title` varchar(255) DEFAULT NULL,
  `slug` varchar(255) DEFAULT NULL,
  `is_enabled` tinyint(1) DEFAULT NULL,
  `published_at` timestamp NULL DEFAULT NULL,
  `published_at_date` timestamp NULL DEFAULT NULL,
  `expired_at` timestamp NULL DEFAULT NULL,
  `draft_mode` int(11) NOT NULL DEFAULT 1,
  `primary_id` int(10) unsigned DEFAULT NULL,
  `primary_attrs` mediumtext DEFAULT NULL,
  `is_version` tinyint(1) NOT NULL DEFAULT 0,
  `fullslug` varchar(255) DEFAULT NULL,
  `parent_id` int(11) DEFAULT NULL,
  `nest_left` int(11) DEFAULT NULL,
  `nest_right` int(11) DEFAULT NULL,
  `nest_depth` int(11) DEFAULT NULL,
  `content` mediumtext DEFAULT NULL,
  `show_in_toc` tinyint(1) DEFAULT NULL,
  `summary_text` mediumtext DEFAULT NULL,
  `created_user_id` int(10) unsigned DEFAULT NULL,
  `updated_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_339b11b769ad43c49be16953e7738827c_site_id_index` (`site_id`),
  KEY `xc_339b11b769ad43c49be16953e7738827c_site_root_id_index` (`site_root_id`),
  KEY `xc_339b11b769ad43c49be16953e7738827c_blueprint_uuid_index` (`blueprint_uuid`),
  KEY `xc_339b11b769ad43c49be16953e7738827c_content_group_index` (`content_group`),
  KEY `xc_339b11b769ad43c49be16953e7738827c_slug_index` (`slug`),
  KEY `xc_339b11b769ad43c49be16953e7738827c_primary_id_index` (`primary_id`),
  KEY `xc_339b11b769ad43c49be16953e7738827c_fullslug_index` (`fullslug`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `xc_339b11b769ad43c49be16953e7738827c`
--

INSERT INTO `xc_339b11b769ad43c49be16953e7738827c` VALUES (1,1,1,'339b11b7-69ad-43c4-9be1-6953e7738827',NULL,'Our Locations','our-locations',1,NULL,'2023-01-03 15:57:46',NULL,1,NULL,NULL,0,NULL,NULL,1,8,0,'<p>The term location generally implies a higher degree of certainty than place, the latter often indicating an entity with an ambiguous boundary, relying more on human or social attributes of place identity and sense of place than on geometry. An absolute location can be designated using a specific pairing of latitude and longitude in a Cartesian coordinate grid (for example, a spherical coordinate system or an ellipsoid-based system such as the World Geodetic System) or similar methods. For instance, the position of Lake Maracaibo in Venezuela can be expressed using the coordinate system as the location 9.80°N (latitude), 71.56°W (longitude).</p>',1,'In geography, location or place are used to denote a region (point, line, or area) on Earth\'s surface or elsewhere.',NULL,NULL,NULL,NULL,'2023-01-03 15:57:46','2023-01-03 15:57:46'),(2,2,2,'339b11b7-69ad-43c4-9be1-6953e7738827',NULL,'Canberra','canberra',1,NULL,'2023-01-03 15:57:46',NULL,1,NULL,NULL,0,'our-locations/canberra',1,2,3,1,'<p>Unusual among Australian cities, it is an entirely planned city. The city is located at the northern end of the Australian Capital Territory[11] at the northern tip of the Australian Alps, the country\'s highest mountain range. As of June 2020, Canberra\'s estimated population was 431,380.[12]</p><p><img src=\"https://quizmanager.test/storage/app/media/Freyshopping.png\" style=\"width: 300px;\" class=\"fr-fic fr-dib\"></p><p>The area chosen for the capital had been inhabited by Indigenous Australians for up to 21,000 years,[13] with the principal group being the Ngunnawal people. European settlement commenced in the first half of the 19th century, as evidenced by surviving landmarks such as St John\'s Anglican Church and Blundells Cottage. On 1 January 1901, federation of the colonies of Australia was achieved. Following a long dispute over whether Sydney or Melbourne should be the national capital,[14] a compromise was reached: the new capital would be built in New South Wales, so long as it was at least 100 miles (160 km) from Sydney. The capital city was founded and formally named as Canberra in 1913. A blueprint by American architects Walter Burley Griffin and Marion Mahony Griffin was selected after an international design contest, and construction commenced in 1913.[15] The Griffins\' plan featured geometric motifs and was centred on axes aligned with significant topographical landmarks such as Black Mountain, Mount Ainslie, Capital Hill and City Hill. Canberra\'s mountainous location makes it the only mainland Australian city where snow-capped mountains can be seen in winter; although snow in the city itself is rare.</p><p>As the seat of the Government of Australia, Canberra is home to many important institutions of the federal government, national monuments and museums. This includes Parliament House, Government House, the High Court and the headquarters of numerous government agencies. It is the location of many social and cultural institutions of national significance such as the Australian War Memorial, the Australian National University, the Royal Australian Mint, the Australian Institute of Sport, the National Gallery, the National Museum and the National Library. The city is home to many important institutions of the Australian Defence Force including the Royal Military College Duntroon and the Australian Defence Force Academy. It hosts all foreign embassies in Australia as well as regional headquarters of many international organisations, not-for-profit groups, lobbying groups and professional associations.</p>',1,'Canberra (/ˈkænbərə/ KAN-bə-rə) is the capital city of Australia. Founded following the federation of the colonies of Australia as the seat of government for the new nation, it is Australia\'s largest inland city and the eighth-largest city overall.',NULL,NULL,NULL,NULL,'2023-01-03 15:57:46','2023-10-19 13:50:29'),(3,1,3,'339b11b7-69ad-43c4-9be1-6953e7738827',NULL,'Sydney','sydney',1,NULL,'2023-01-03 15:57:46',NULL,1,NULL,NULL,0,NULL,1,4,5,1,'<p>Located on Australia\'s east coast, the metropolis surrounds Port Jackson and extends about 70 km (43.5 mi) on its periphery towards the Blue Mountains to the west, Hawkesbury to the north, the Royal National Park to the south and Macarthur to the south-west. Sydney is made up of 658 suburbs, spread across 33 local government areas. Residents of the city are known as \"Sydneysiders\". As of June 2020, Sydney\'s estimated metropolitan population was 5,361,466, meaning the city is home to approximately 66% of the state\'s population. Nicknames of the city include the \'Emerald City\' and the \'Harbour City\'.</p><p>Indigenous Australians have inhabited the Sydney area for at least 30,000 years, and thousands of Aboriginal engravings remain throughout the region. During his first Pacific voyage in 1770, Lieutenant James Cook and his crew became the first Europeans to chart the eastern coast of Australia, making landfall at Botany Bay. In 1788, the First Fleet of convicts, led by Arthur Phillip, founded Sydney as a British penal colony, the first European settlement in Australia. After World War II, it experienced mass migration and became one of the most multicultural cities in the world. Furthermore, 45.4% of the population reported having been born overseas, and the city has the third-largest foreign-born population of any city in the world after London and New York City.</p><p>Despite being one of the most expensive cities in the world, Sydney frequently ranks in the top ten most liveable cities in the world. It is classified as an Alpha global city by the Globalization and World Cities Research Network, indicating its influence in the region and throughout the world. Ranked eleventh in the world for economic opportunity, Sydney has an advanced market economy with strengths in finance, manufacturing and tourism. Established in 1850, the University of Sydney was Australia\'s first university and is regarded as one of the world\'s leading universities.</p>',1,'Sydney is the capital city of the state of New South Wales, and the most populous city in Australia and Oceania.',NULL,NULL,NULL,NULL,'2023-01-03 15:57:46','2023-01-03 15:57:46'),(4,1,4,'339b11b7-69ad-43c4-9be1-6953e7738827',NULL,'Vancouver','vancouver',1,NULL,'2023-01-03 15:57:46',NULL,1,NULL,NULL,0,NULL,1,6,7,1,'<p>As the most populous city in the province, the 2021 census recorded 662,248 people in the city, up from 631,486 in 2016. The Greater Vancouver area had a population of 2,642,825 in 2021, making it the third-largest metropolitan area in Canada. Vancouver has the highest population density in Canada, with over 5,400 people per square kilometre. Vancouver is one of the most ethnically and linguistically diverse cities in Canada: 52 percent of its residents are not native English speakers, 48.9 percent are native speakers of neither English nor French, and 50.6 percent of residents belong to visible minority groups.</p><p>Vancouver is one of the most livable cities in Canada and in the world. In terms of housing affordability, Vancouver is also one of the most expensive cities in Canada and in the world. Vancouver plans to become the greenest city in the world. Vancouverism is the city\'s urban planning design philosophy.</p><p>Indigenous settlement of Vancouver began more than 10,000 years ago, and the city is on the traditional and unceded territories of the Squamish, Musqueam, and Tsleil-Waututh (Burrard) peoples. The beginnings of the modern city, which was originally named Gastown, grew around the site of a makeshift tavern on the western edges of Hastings Mill that was built on July 1, 1867, and owned by proprietor Gassy Jack. The original site is marked by the Gastown steam clock. Gastown then formally registered as a townsite dubbed Granville, Burrard Inlet. The city was renamed \"Vancouver\" in 1886, through a deal with the Canadian Pacific Railway (CPR). The Canadian Pacific transcontinental railway was extended to the city by 1887. The city\'s large natural seaport on the Pacific Ocean became a vital link in the trade between Asia-Pacific, East Asia, Europe, and Eastern Canada.</p>',1,'Vancouver is a major city in western Canada, located in the Lower Mainland region of British Columbia.',NULL,NULL,NULL,NULL,'2023-01-03 15:57:46','2023-01-03 15:57:46'),(5,1,5,'339b11b7-69ad-43c4-9be1-6953e7738827',NULL,'Knowledge Base','knowledge-base',1,NULL,'2023-01-03 15:57:46',NULL,1,NULL,NULL,0,NULL,NULL,9,10,0,'<p>Knowledge Base</p>',1,'',NULL,NULL,NULL,NULL,'2023-01-03 15:57:46','2023-01-03 15:57:46');

--
-- Table structure for table `xc_339b11b769ad43c49be16953e7738827j`
--

CREATE TABLE `xc_339b11b769ad43c49be16953e7738827j` (
  `parent_id` int(11) DEFAULT NULL,
  `relation_id` int(11) DEFAULT NULL,
  `relation_type` varchar(255) DEFAULT NULL,
  `field_name` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  KEY `xc_339b11b769ad43c49be16953e7738827j_idx` (`relation_id`,`relation_type`),
  KEY `xc_339b11b769ad43c49be16953e7738827j_field_name_index` (`field_name`),
  KEY `xc_339b11b769ad43c49be16953e7738827j_site_id_index` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `xc_339b11b769ad43c49be16953e7738827j`
--


--
-- Table structure for table `xc_339b11b769ad43c49be16953e7738827r`
--

CREATE TABLE `xc_339b11b769ad43c49be16953e7738827r` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `host_id` int(11) DEFAULT NULL,
  `host_field` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `content_value` mediumtext DEFAULT NULL,
  `content_spawn_path` text DEFAULT NULL,
  `sort_order` int(11) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `parent_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_339b11b769ad43c49be16953e7738827r_idx` (`host_id`,`host_field`),
  KEY `xc_339b11b769ad43c49be16953e7738827r_site_id_index` (`site_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Content for Article [Wiki\\Article].';

--
-- Dumping data for table `xc_339b11b769ad43c49be16953e7738827r`
--

INSERT INTO `xc_339b11b769ad43c49be16953e7738827r` VALUES (1,2,'external_links',NULL,NULL,'{\"link_text\":\"Canberra travel guide from Wikivoyage\",\"link_url\":\"https:\\/\\/en.wikivoyage.org\\/wiki\\/Canberra\"}','Tailor\\Models\\EntryRecord@339b11b7-69ad-43c4-9be1-6953e7738827.external_links',1,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(2,2,'external_links',NULL,NULL,'{\"link_text\":\"Official Tourism Website\",\"link_url\":\"https:\\/\\/visitcanberra.com.au\\/\"}','Tailor\\Models\\EntryRecord@339b11b7-69ad-43c4-9be1-6953e7738827.external_links',2,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(3,2,'external_links',NULL,NULL,'{\"link_text\":\"Canberra 100 – Celebrating Canberra\'s 100th anniversary\",\"link_url\":\"https:\\/\\/www.canberra100.com.au\\/\"}','Tailor\\Models\\EntryRecord@339b11b7-69ad-43c4-9be1-6953e7738827.external_links',3,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL);

--
-- Table structure for table `xc_4f978b9f13d5480e9a86587a4d60e38cc`
--

CREATE TABLE `xc_4f978b9f13d5480e9a86587a4d60e38cc` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `site_id` int(11) DEFAULT NULL,
  `site_root_id` int(11) DEFAULT NULL,
  `blueprint_uuid` varchar(255) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `title` varchar(255) DEFAULT NULL,
  `slug` varchar(255) DEFAULT NULL,
  `is_enabled` tinyint(1) DEFAULT NULL,
  `published_at` timestamp NULL DEFAULT NULL,
  `published_at_date` timestamp NULL DEFAULT NULL,
  `expired_at` timestamp NULL DEFAULT NULL,
  `draft_mode` int(11) NOT NULL DEFAULT 1,
  `primary_id` int(10) unsigned DEFAULT NULL,
  `primary_attrs` mediumtext DEFAULT NULL,
  `is_version` tinyint(1) NOT NULL DEFAULT 0,
  `fullslug` varchar(255) DEFAULT NULL,
  `parent_id` int(11) DEFAULT NULL,
  `nest_left` int(11) DEFAULT NULL,
  `nest_right` int(11) DEFAULT NULL,
  `nest_depth` int(11) DEFAULT NULL,
  `x_content_d571c293` mediumtext DEFAULT NULL,
  `x_summary_text_205e056b` mediumtext DEFAULT NULL,
  `created_user_id` int(10) unsigned DEFAULT NULL,
  `updated_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_4f978b9f13d5480e9a86587a4d60e38cc_site_id_index` (`site_id`),
  KEY `xc_4f978b9f13d5480e9a86587a4d60e38cc_site_root_id_index` (`site_root_id`),
  KEY `xc_4f978b9f13d5480e9a86587a4d60e38cc_blueprint_uuid_index` (`blueprint_uuid`),
  KEY `xc_4f978b9f13d5480e9a86587a4d60e38cc_content_group_index` (`content_group`),
  KEY `xc_4f978b9f13d5480e9a86587a4d60e38cc_slug_index` (`slug`),
  KEY `xc_4f978b9f13d5480e9a86587a4d60e38cc_primary_id_index` (`primary_id`),
  KEY `xc_4f978b9f13d5480e9a86587a4d60e38cc_fullslug_index` (`fullslug`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Content for Page [Pages\\Page].';

--
-- Dumping data for table `xc_4f978b9f13d5480e9a86587a4d60e38cc`
--

INSERT INTO `xc_4f978b9f13d5480e9a86587a4d60e38cc` VALUES (1,2,1,'4f978b9f-13d5-480e-9a86-587a4d60e38c',NULL,'Hello Content W','hello-content-w',1,NULL,'2023-10-19 11:30:11',NULL,1,NULL,'[]',0,'hello-content-w',NULL,1,2,0,'<p>Hello c world a</p>','Summary',NULL,NULL,NULL,NULL,'2023-10-19 11:30:11','2023-10-19 11:31:31'),(2,2,2,'4f978b9f-13d5-480e-9a86-587a4d60e38c',NULL,'Como ganhar','como-ganhar',1,NULL,'2023-10-19 11:35:27',NULL,1,NULL,'[]',0,'como-ganhar',NULL,3,4,0,'<p>como ganhar desc</p>','como ganhar sum',NULL,NULL,NULL,NULL,'2023-10-19 11:35:27','2023-10-19 11:35:47');

--
-- Table structure for table `xc_4f978b9f13d5480e9a86587a4d60e38cj`
--

CREATE TABLE `xc_4f978b9f13d5480e9a86587a4d60e38cj` (
  `parent_id` int(11) DEFAULT NULL,
  `relation_id` int(11) DEFAULT NULL,
  `relation_type` varchar(255) DEFAULT NULL,
  `field_name` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  KEY `xc_4f978b9f13d5480e9a86587a4d60e38cj_idx` (`relation_id`,`relation_type`),
  KEY `xc_4f978b9f13d5480e9a86587a4d60e38cj_field_name_index` (`field_name`),
  KEY `xc_4f978b9f13d5480e9a86587a4d60e38cj_site_id_index` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Joins for Page [Pages\\Page].';

--
-- Dumping data for table `xc_4f978b9f13d5480e9a86587a4d60e38cj`
--


--
-- Table structure for table `xc_4f978b9f13d5480e9a86587a4d60e38cr`
--

CREATE TABLE `xc_4f978b9f13d5480e9a86587a4d60e38cr` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `host_id` int(11) DEFAULT NULL,
  `host_field` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `content_value` mediumtext DEFAULT NULL,
  `content_spawn_path` text DEFAULT NULL,
  `sort_order` int(11) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_4f978b9f13d5480e9a86587a4d60e38cr_idx` (`host_id`,`host_field`),
  KEY `xc_4f978b9f13d5480e9a86587a4d60e38cr_site_id_index` (`site_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Repeaters for Page [Pages\\Page].';

--
-- Dumping data for table `xc_4f978b9f13d5480e9a86587a4d60e38cr`
--

INSERT INTO `xc_4f978b9f13d5480e9a86587a4d60e38cr` VALUES (1,1,'blocks',NULL,'paragraph_block','{\"title\":\"Titulo H quê?\",\"content\":\"<p>Descrição do H1<\\/p>\",\"image\":\"\\/Freyshopping.png\"}','Tailor\\Models\\EntryRecord@4f978b9f-13d5-480e-9a86-587a4d60e38c.blocks:paragraph_block',1,'2023-10-19 13:55:18','2023-10-19 13:55:47'),(2,2,'blocks',NULL,'detailed_block','{\"title\":\"Titulo Detailed Block\",\"content\":\"<p>descrição detailed<\\/p>\",\"list_items\":\"[{\\\"text\\\":\\\"Texto of listed items\\\"},{\\\"text\\\":\\\"Item 1\\\"},{\\\"text\\\":\\\"Item 2\\\"}]\",\"button_text\":\"Call to act btn\",\"button_url\":\"www.h\",\"image\":\"\\/cropped-images\\/IMG_20231012_113738-349-130-263-282-1697723899.jpg\"}','Tailor\\Models\\EntryRecord@4f978b9f-13d5-480e-9a86-587a4d60e38c.blocks:detailed_block',2,'2023-10-19 13:56:01','2023-10-19 14:31:27'),(3,2,'blocks',NULL,'paragraph_block','{\"title\":\"Ttitulo como ganhar h1\",\"content\":\"<p>desc como ganhar paragraph block<\\/p>\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@4f978b9f-13d5-480e-9a86-587a4d60e38c.blocks:paragraph_block',1,'2023-10-19 14:31:04','2023-10-19 14:31:27');

--
-- Table structure for table `xc_6947ff28b66047d7924024ca6d58aeaec`
--

CREATE TABLE `xc_6947ff28b66047d7924024ca6d58aeaec` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `site_id` int(11) DEFAULT NULL,
  `site_root_id` int(11) DEFAULT NULL,
  `blueprint_uuid` varchar(255) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `title` varchar(255) DEFAULT NULL,
  `slug` varchar(255) DEFAULT NULL,
  `is_enabled` tinyint(1) DEFAULT NULL,
  `published_at` timestamp NULL DEFAULT NULL,
  `published_at_date` timestamp NULL DEFAULT NULL,
  `expired_at` timestamp NULL DEFAULT NULL,
  `draft_mode` int(11) NOT NULL DEFAULT 1,
  `primary_id` int(10) unsigned DEFAULT NULL,
  `primary_attrs` mediumtext DEFAULT NULL,
  `is_version` tinyint(1) NOT NULL DEFAULT 0,
  `avatar` mediumtext DEFAULT NULL,
  `role` text DEFAULT NULL,
  `about` mediumtext DEFAULT NULL,
  `created_user_id` int(10) unsigned DEFAULT NULL,
  `updated_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_6947ff28b66047d7924024ca6d58aeaec_site_id_index` (`site_id`),
  KEY `xc_6947ff28b66047d7924024ca6d58aeaec_site_root_id_index` (`site_root_id`),
  KEY `xc_6947ff28b66047d7924024ca6d58aeaec_blueprint_uuid_index` (`blueprint_uuid`),
  KEY `xc_6947ff28b66047d7924024ca6d58aeaec_content_group_index` (`content_group`),
  KEY `xc_6947ff28b66047d7924024ca6d58aeaec_slug_index` (`slug`),
  KEY `xc_6947ff28b66047d7924024ca6d58aeaec_primary_id_index` (`primary_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `xc_6947ff28b66047d7924024ca6d58aeaec`
--

INSERT INTO `xc_6947ff28b66047d7924024ca6d58aeaec` VALUES (1,1,1,'6947ff28-b660-47d7-9240-24ca6d58aeae',NULL,'John Smith','john-smith',1,NULL,'2023-01-03 15:57:46',NULL,1,NULL,NULL,0,NULL,'Manager','Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',NULL,NULL,NULL,NULL,'2023-01-03 15:57:46','2023-01-03 15:57:46');

--
-- Table structure for table `xc_6947ff28b66047d7924024ca6d58aeaej`
--

CREATE TABLE `xc_6947ff28b66047d7924024ca6d58aeaej` (
  `parent_id` int(11) DEFAULT NULL,
  `relation_id` int(11) DEFAULT NULL,
  `relation_type` varchar(255) DEFAULT NULL,
  `field_name` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  KEY `xc_6947ff28b66047d7924024ca6d58aeaej_idx` (`relation_id`,`relation_type`),
  KEY `xc_6947ff28b66047d7924024ca6d58aeaej_field_name_index` (`field_name`),
  KEY `xc_6947ff28b66047d7924024ca6d58aeaej_site_id_index` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `xc_6947ff28b66047d7924024ca6d58aeaej`
--


--
-- Table structure for table `xc_6947ff28b66047d7924024ca6d58aeaer`
--

CREATE TABLE `xc_6947ff28b66047d7924024ca6d58aeaer` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `host_id` int(11) DEFAULT NULL,
  `host_field` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `content_value` mediumtext DEFAULT NULL,
  `content_spawn_path` text DEFAULT NULL,
  `sort_order` int(11) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `parent_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_6947ff28b66047d7924024ca6d58aeaer_idx` (`host_id`,`host_field`),
  KEY `xc_6947ff28b66047d7924024ca6d58aeaer_site_id_index` (`site_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Content for Author [Blog\\Author].';

--
-- Dumping data for table `xc_6947ff28b66047d7924024ca6d58aeaer`
--

INSERT INTO `xc_6947ff28b66047d7924024ca6d58aeaer` VALUES (1,1,'social_links',NULL,NULL,'{\"platform\":\"twitter\",\"url\":\"https:\\/\\/twitter.com\\/octobercms\"}','Tailor\\Models\\EntryRecord@6947ff28-b660-47d7-9240-24ca6d58aeae.social_links',1,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(2,1,'social_links',NULL,NULL,'{\"platform\":\"youtube\",\"url\":\"https:\\/\\/www.youtube.com\\/c\\/OctoberCMSOfficial\"}','Tailor\\Models\\EntryRecord@6947ff28-b660-47d7-9240-24ca6d58aeae.social_links',2,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(3,1,'social_links',NULL,NULL,'{\"platform\":\"facebook\",\"url\":\"https:\\/\\/facebook.com\\/octobercms\"}','Tailor\\Models\\EntryRecord@6947ff28-b660-47d7-9240-24ca6d58aeae.social_links',3,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(4,1,'social_links',NULL,NULL,'{\"platform\":\"linkedin\",\"url\":\"https:\\/\\/www.linkedin.com\\/company\\/october-cms\\/\"}','Tailor\\Models\\EntryRecord@6947ff28-b660-47d7-9240-24ca6d58aeae.social_links',4,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL);

--
-- Table structure for table `xc_819b5af26b234d3db298069c415a0df0c`
--

CREATE TABLE `xc_819b5af26b234d3db298069c415a0df0c` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `site_id` int(11) DEFAULT NULL,
  `site_root_id` int(11) DEFAULT NULL,
  `blueprint_uuid` varchar(255) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `title` varchar(255) DEFAULT NULL,
  `slug` varchar(255) DEFAULT NULL,
  `is_enabled` tinyint(1) DEFAULT NULL,
  `published_at` timestamp NULL DEFAULT NULL,
  `published_at_date` timestamp NULL DEFAULT NULL,
  `expired_at` timestamp NULL DEFAULT NULL,
  `draft_mode` int(11) NOT NULL DEFAULT 1,
  `primary_id` int(10) unsigned DEFAULT NULL,
  `primary_attrs` mediumtext DEFAULT NULL,
  `is_version` tinyint(1) NOT NULL DEFAULT 0,
  `fullslug` varchar(255) DEFAULT NULL,
  `parent_id` int(11) DEFAULT NULL,
  `nest_left` int(11) DEFAULT NULL,
  `nest_right` int(11) DEFAULT NULL,
  `nest_depth` int(11) DEFAULT NULL,
  `x_content_1c913ecd` mediumtext DEFAULT NULL,
  `x_summary_text_403af40c` mediumtext DEFAULT NULL,
  `created_user_id` int(10) unsigned DEFAULT NULL,
  `updated_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `x_author_id_51c6599e` int(10) unsigned DEFAULT NULL,
  `x_featured_text_f79d804e` mediumtext DEFAULT NULL,
  `x_gallery_media_6871fc61` mediumtext DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_819b5af26b234d3db298069c415a0df0c_site_id_index` (`site_id`),
  KEY `xc_819b5af26b234d3db298069c415a0df0c_site_root_id_index` (`site_root_id`),
  KEY `xc_819b5af26b234d3db298069c415a0df0c_blueprint_uuid_index` (`blueprint_uuid`),
  KEY `xc_819b5af26b234d3db298069c415a0df0c_content_group_index` (`content_group`),
  KEY `xc_819b5af26b234d3db298069c415a0df0c_slug_index` (`slug`),
  KEY `xc_819b5af26b234d3db298069c415a0df0c_primary_id_index` (`primary_id`),
  KEY `xc_819b5af26b234d3db298069c415a0df0c_fullslug_index` (`fullslug`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Content for Page [Pages\\Page].';

--
-- Dumping data for table `xc_819b5af26b234d3db298069c415a0df0c`
--

INSERT INTO `xc_819b5af26b234d3db298069c415a0df0c` VALUES (1,1,1,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,NULL,NULL,NULL,NULL,'2023-10-19 16:12:44',NULL,4,NULL,'{\"name\":\"First Draft\"}',0,NULL,NULL,1,2,0,NULL,NULL,NULL,NULL,NULL,NULL,'2023-10-19 16:12:44','2023-10-19 16:12:44',NULL,NULL,NULL),(2,1,2,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,NULL,NULL,NULL,NULL,'2023-10-19 16:13:28',NULL,4,NULL,'{\"name\":\"First Draft\"}',0,NULL,NULL,1,2,0,NULL,NULL,NULL,NULL,NULL,NULL,'2023-10-19 16:13:28','2023-10-19 16:13:28',NULL,NULL,NULL),(3,1,3,'819b5af2-6b23-4d3d-b298-069c415a0df0','regular_page',NULL,NULL,NULL,NULL,'2023-10-19 16:16:57',NULL,4,NULL,'{\"name\":\"First Draft\"}',0,NULL,NULL,1,2,0,NULL,NULL,NULL,NULL,NULL,NULL,'2023-10-19 16:16:57','2023-10-19 16:16:57',NULL,NULL,NULL),(4,1,4,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,'Como pode ganhar','pagina-1',1,NULL,'2023-10-19 16:22:26',NULL,1,NULL,'[]',0,'pagina-1',NULL,1,2,0,NULL,NULL,NULL,NULL,NULL,'2023-10-23 14:45:57','2023-10-19 16:22:26','2023-10-23 14:45:57',NULL,NULL,NULL),(5,2,5,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,'O que pode ganhar','o-que-pode-ganhar',1,NULL,'2023-10-19 16:24:27',NULL,1,NULL,'[]',0,'o-que-pode-ganhar',NULL,1,2,0,NULL,NULL,NULL,NULL,NULL,NULL,'2023-10-19 16:24:27','2023-12-28 17:20:52',NULL,NULL,NULL),(6,1,6,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,NULL,NULL,NULL,NULL,'2023-10-19 21:15:54',NULL,4,NULL,'{\"name\":\"First Draft\"}',0,NULL,NULL,5,6,0,NULL,NULL,NULL,NULL,NULL,NULL,'2023-10-19 21:15:54','2023-10-19 21:15:54',NULL,NULL,NULL),(7,1,7,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,'Como pode ganhar','como-pode-ganhar',1,NULL,'2023-10-23 14:46:06',NULL,1,NULL,'[]',0,'como-pode-ganhar',NULL,3,4,0,NULL,NULL,NULL,NULL,NULL,NULL,'2023-10-23 14:46:06','2023-10-23 14:47:52',NULL,NULL,NULL),(8,1,8,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,'O que ganha sempre','o-que-ganha-sempre',1,NULL,'2023-10-23 15:13:48',NULL,1,NULL,'[]',0,'o-que-ganha-sempre',NULL,5,6,0,NULL,NULL,NULL,NULL,NULL,'2024-09-12 07:13:44','2023-10-23 15:13:48','2024-09-12 07:13:44',NULL,NULL,NULL),(9,1,9,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,'SOBRE A TAILÂNDIA','sobre-a-tailandia',1,NULL,'2023-10-23 15:56:00',NULL,1,NULL,'[]',0,'sobre-a-tailandia',NULL,7,8,0,NULL,NULL,NULL,NULL,NULL,NULL,'2023-10-23 15:56:00','2024-09-12 07:22:07',NULL,NULL,NULL),(10,1,10,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,'AJUDA','ajuda',1,NULL,'2023-10-23 16:01:08',NULL,1,NULL,'[]',0,'ajuda',NULL,9,10,0,NULL,NULL,NULL,NULL,NULL,NULL,'2023-10-23 16:01:08','2024-09-12 07:22:07',NULL,NULL,NULL),(11,1,11,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,'Contactos & Regulamento','contactos-regulamento',1,NULL,'2023-10-23 16:37:56',NULL,1,NULL,'[]',0,'contactos-regulamento',NULL,11,12,0,NULL,NULL,NULL,NULL,NULL,NULL,'2023-10-23 16:37:56','2024-09-12 07:22:07',NULL,NULL,NULL),(12,2,12,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,'INC-Home','home',1,NULL,'2024-01-25 10:49:28',NULL,1,NULL,'[]',0,'home',NULL,13,14,0,NULL,NULL,NULL,NULL,NULL,NULL,'2024-01-25 10:49:28','2024-09-12 07:22:07',NULL,NULL,NULL),(13,1,13,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,'Política de Privacidade','politica-de-privacidade',1,NULL,'2024-08-12 17:19:49',NULL,1,NULL,'[]',0,'politica-de-privacidade',NULL,15,16,0,NULL,NULL,1,2,NULL,NULL,'2024-08-12 17:19:49','2024-10-24 08:46:09',NULL,NULL,NULL),(14,1,14,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,'Termos e Condições','termos-e-condicoes',1,NULL,'2024-08-12 17:22:30',NULL,1,NULL,'[]',0,'termos-e-condicoes',NULL,17,18,0,NULL,NULL,1,2,NULL,NULL,'2024-08-12 17:22:30','2024-10-24 08:59:57',NULL,NULL,NULL),(15,1,15,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,NULL,NULL,NULL,NULL,'2024-09-12 07:14:19',NULL,4,NULL,'{\"name\":\"First Draft\"}',0,NULL,NULL,17,18,0,NULL,NULL,2,2,NULL,NULL,'2024-09-12 07:14:19','2024-09-12 07:14:19',NULL,NULL,NULL),(16,1,16,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,'O que ganha sempre','o-que-ganha-sempre',1,NULL,'2024-09-12 07:15:24',NULL,3,NULL,'[]',0,'o-que-ganha-sempre',NULL,5,6,0,NULL,NULL,2,2,NULL,NULL,'2024-09-12 07:15:24','2024-09-12 07:22:07',NULL,NULL,NULL),(17,1,17,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,'Das können Sie gewinnen','das-konnen-sie-gewinnen',1,NULL,'2024-09-12 07:22:20',NULL,3,NULL,'[]',0,'das-konnen-sie-gewinnen',NULL,19,20,0,NULL,NULL,2,2,NULL,NULL,'2024-09-12 07:22:20','2024-09-12 07:32:01',NULL,NULL,NULL),(18,1,18,'819b5af2-6b23-4d3d-b298-069c415a0df0',NULL,NULL,NULL,NULL,NULL,'2024-09-12 07:27:50',NULL,4,NULL,'{\"name\":\"First Draft\"}',0,NULL,NULL,21,22,0,NULL,NULL,2,2,NULL,NULL,'2024-09-12 07:27:50','2024-09-12 07:27:50',NULL,NULL,NULL);

--
-- Table structure for table `xc_819b5af26b234d3db298069c415a0df0j`
--

CREATE TABLE `xc_819b5af26b234d3db298069c415a0df0j` (
  `parent_id` int(11) DEFAULT NULL,
  `relation_id` int(11) DEFAULT NULL,
  `relation_type` varchar(255) DEFAULT NULL,
  `field_name` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  KEY `xc_819b5af26b234d3db298069c415a0df0j_idx` (`relation_id`,`relation_type`),
  KEY `xc_819b5af26b234d3db298069c415a0df0j_field_name_index` (`field_name`),
  KEY `xc_819b5af26b234d3db298069c415a0df0j_site_id_index` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Joins for Page [Page].';

--
-- Dumping data for table `xc_819b5af26b234d3db298069c415a0df0j`
--


--
-- Table structure for table `xc_819b5af26b234d3db298069c415a0df0r`
--

CREATE TABLE `xc_819b5af26b234d3db298069c415a0df0r` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `host_id` int(11) DEFAULT NULL,
  `host_field` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `content_value` mediumtext DEFAULT NULL,
  `content_spawn_path` text DEFAULT NULL,
  `sort_order` int(11) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `parent_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_819b5af26b234d3db298069c415a0df0r_idx` (`host_id`,`host_field`),
  KEY `xc_819b5af26b234d3db298069c415a0df0r_site_id_index` (`site_id`)
) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Content for Page [Pages\\Page].';

--
-- Dumping data for table `xc_819b5af26b234d3db298069c415a0df0r`
--

INSERT INTO `xc_819b5af26b234d3db298069c415a0df0r` VALUES (1,4,'blocks',NULL,'paragraph_block','{\"title\":\"Como pode ganhar\",\"content\":\"<p>Habilite-se a ganhar uma viagem de sonho ao País dos Sorrisos participando no quiz ”<strong>Amazing New Chapters In Amazing Thailand<\\/strong>”!<\\/p><p>De&nbsp;<strong>15 de maio a 18 de junho de 2023<\\/strong> responda ao quiz de escolha múltipla no site&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"http:\\/\\/amazingthailand.turismotailandes.org.pt\\/\\\">http:\\/\\/amazingthailand.turismotailandes.org.pt<\\/a>.<\\/p><p>Para participar e ter acesso a todos os conteúdos, sugerimos que se torne fã da página de Facebook da Autoridade de Turismo da Tailândia (TAT) em Portugal em&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"http:\\/\\/www.facebook.com\\/TurismoTailandes\\\">www.facebook.com\\/TurismoTailandes<\\/a>.<\\/p><p>Durante&nbsp;<strong>5 semanas responda a 8 perguntas semanais<\\/strong> e descubra tudo o que a Tailândia tem para oferecer. Poderá corrigir ou completar as suas respostas a qualquer momento, desde que o faça entre as datas de início e fim deste passatempo (<strong>15 de maio a 18 de junho<\\/strong>). Todas as respostas podem ser pesquisadas online.<\\/p><p>Se, no final do passatempo, obtiver um score de&nbsp;<strong>pelo menos 80% de respostas certas<\\/strong> fica automaticamente habilitado ao sorteio de prémios, que decorrerá online. Em alternativa, também poderá acompanhar o sorteio na página de Facebook da Autoridade de Turismo da Tailândia -&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.facebook.com\\/TurismoTailandes\\\">https:\\/\\/www.facebook.com\\/TurismoTailandes<\\/a>.<\\/p><p><strong>Não perca esta oportunidade de conhecer este paraíso que é a Tailândia!&nbsp;<\\/strong><\\/p>\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',2,'2023-10-19 16:22:36','2023-10-23 14:45:42',NULL),(2,4,'blocks',NULL,'paragraph_block','{\"title\":\"Política de Privacidade\",\"content\":\"<p>Em conformidade com o Regulamento Geral de Proteção de Dados (RGPD), em vigor desde o dia 25 de maio de 2018, prestamos aqui algumas informações sobre o âmbito e finalidade do tratamento dos seus dados pessoais quando utiliza este microsite \\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\\"<\\/p><p>Consideram-se dados pessoais todas as informações relacionadas com uma pessoa singular identificada ou identificável.<\\/p><p>&nbsp;<\\/p><h3>1. Entidade Responsável<\\/h3><p>O responsável pelo processamento e tratamento de dados, em termos do Regulamento Europeu Geral de Proteção de Dados (RGPD), é a pessoa singular ou coletiva que, por si só ou em conjunto com terceiros, determina as finalidades e os meios de tratamento dos dados pessoais.<\\/p><p>No âmbito do RGPD a entidade responsável pelo processamento e tratamento de dados pessoais recolhidos neste Website é:<\\/p><h4>Entidade Proprietária (adiante referido como “nós” “nosso(a)”)<\\/h4><p>Autoridade de Turismo da Tailândia, representada em Portugal pela Jervis Pereira – Representações e Consultadoria, Lda.,<br>Rua José Galhardo 1, Loja 1- Cave<br>1750-131 Lumiar, Lisboa | Portugal<br><a href=\\\"tel:(+351)213916600\\\">Tel.(+351) 213 916 600&nbsp;<\\/a>|&nbsp;<a href=\\\"tel:(+351)213916601\\\">(+351) 213 916 601&nbsp;<\\/a>|&nbsp;<a href=\\\"mailto:geral@jervispereira.pt\\\">geral@jervispereira.pt<\\/a><\\/p><p>&nbsp;<\\/p><h3>2. Dados Recolhidos durante a Navegação e Participação no Passatempo<\\/h3><p>Quando está a aceder e navegar neste microsite, o servidor recolhe as seguintes informações do seu dispositivo: Tipo de navegador e versão, sistema operacional, página web visitada anteriormente (“Referrer“), o seu endereço IP e data\\/hora da exibição da página.<\\/p><p>O levantamento e processamento destes dados destina-se a garantir o bom funcionamento do nosso site de forma a afastar e acompanhar uma utilização abusiva dos nossos serviços. Utilizamos os dados recolhidos igualmente para fins estatísticos sobre dispositivos e navegadores utilizados, permitindo uma adaptação e melhoria contínua da nossa oferta direcionada às necessidades dos utilizadores.<\\/p><p>Este processamento de dados é baseado no Artigo 6º, nº 1, alínea F do RGPD. Todos os dados pessoais acima serão excluídos o mais tardar doze meses após a recolha.<\\/p><p>Ao participar no passatempo, registamos os seguintes dados do participante:<\\/p><ul><li>Endereço de correio eletrónico<\\/li><li>Sexo<\\/li><li>Nº BI ou CC<\\/li><li>Nome<\\/li><li>Distrito<\\/li><li>País (valor pré-definido)<\\/li><li>Telefone<\\/li><\\/ul><p>Estes dados serão guardados e podem ser usados pela entidade promotora ou seu representante para os seguintes fins:<\\/p><ul><li>Comunicações durante o passatempo<\\/li><li>Convite para outros passatempos<\\/li><\\/ul><p>&nbsp;<\\/p><h3>3. Criar e Eliminar uma Conta de Participante<\\/h3><p>Para participar no passatempo, o participante pode abrir uma conta de participantes através da sua conta Facebook ou do registo manual. A conta de cliente será criada exclusivamente pela sua ação ao submeter os seus dados. A base legal é, portanto, o seu consentimento nos termos do Artigo 6º, nº 1, alínea F do RGPD. Remeteremos os dados pessoais associados à conta de cliente até que solicite a eliminação da mesma. Os dados pessoais respetivamente à sua participação serão conservados pelo período e cumprimento das obrigações legais aplicáveis.<\\/p><h4>Solicitar Eliminação de Conta de Cliente<\\/h4><p>Deverá contactar a entidade promotora do Passatempo:<\\/p><p>Autoridade de Turismo da Tailândia, representada em Portugal pela Jervis Pereira – Representações e Consultadoria, Lda.,<br>Rua José Galhardo 1, Loja 1- Cave<br>1750-131 Lumiar, Lisboa | Portugal<br><a href=\\\"tel:(+351)213916600\\\">Tel.(+351) 213 916 600&nbsp;<\\/a>|&nbsp;<a href=\\\"tel:(+351)213916601\\\">(+351) 213 916 601&nbsp;<\\/a>|&nbsp;<a href=\\\"mailto:geral@jervispereira.pt\\\">geral@jervispereira.pt<\\/a><\\/p><p>&nbsp;<\\/p><h3>4. Empresas e Sistemas Subcontratos de Suporte<\\/h3><p>Os dados das encomendas e contratos são processados através destas entidades de acordo com o Artigo 28.º do RGPD.<\\/p><p>O fornecimento de serviços técnicos para o funcionamento deste Web Site é assegurado de acordo com o Artigo 28º do RGPD pelo fornecedor, e os seus respetivos subcontratados, Viamodul, 2610-141 Amadora – Portugal. O software usado para este Web Site é epages, desenvolvido por epages GmbH, 20355 Hamburg, Alemanha. A aplicação do Passatempo foi desenvolvida pela Viamodul.<\\/p><p>&nbsp;<\\/p><h3>5. Notificações por Correio Eletrónico<\\/h3><p>Ao longo do Passatempo receberá mensagens com informações sobre o Passatempo. Apenas poderá revogar o seu consentimento para o uso do seu endereço de e-mail ao solicitar o cancelamento da sua participação.<br>Este tratamento de dados é baseado no seu consentimento, de acordo com o Artigo 6º, nº 1, alínea f do RGPD.<\\/p><p>&nbsp;<\\/p><h3>6. Uso de Cookies<\\/h3><p>Ao visitar o&nbsp;<em>microsite<\\/em> do Passatempo, é colocado um \\\"cookie\\\" no seu dispositivo. Trata-se de um pequeno ficheiro de texto que podemos utilizar para reconhecer o seu dispositivo quando regressar ao Web Site para uma visita posterior. Um cookie armazenado tem um prazo de validade de doze meses após a sua última visita.<\\/p><p>Este tratamento de dados é baseado no Artigo 6º, nº 1, alínea f do RGPD com o objetivo de otimizar as funções deste Passatempo.<\\/p><p>Porém, pode impedir a criação de cookies nas configurações de cookies do seu navegador da Internet e impedir a criação de cookies deste microsite ou para todos os sites. Pode também eliminar os cookies já armazenados.<\\/p><p>&nbsp;<\\/p><h3>7. Google Analytics<\\/h3><p>Este microsite usa Google Analytics, um serviço de análise da web da Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, EUA (doravante designado \\\"Google\\\"). A Google coloca um cookie no seu dispositivo. Com esse cookie, a Google pode recolher informações sobre como usa a nossa Loja online. Essas informações são transmitidas para um servidor nos EUA, onde são avaliadas pela Google e disponibilizadas para nós. A base legal é o artigo 6º, nº 1, alínea f do RGPD, ou seja, o nosso interesse legítimo na avaliação e otimização da nossa Loja online na Internet.<\\/p><p>Como parte do Acordo sobre Proteção de Privacidade entre a UE e os EUA, a Google compromete-se a cumprir as leis de proteção de dados da União Europeia.<\\/p><p>Usamos o Google Analytics com anonimização de IP ativado. Isso significa que o seu endereço IP geralmente será encurtado dentro do âmbito do RGPD, de modo que o IP não possa ser relacionado com a sua pessoa. Somente em casos excecionais, o endereço IP completo é enviado para um servidor da Google nos EUA e lá encurtado. O endereço IP fornecido pelo seu navegador não será combinado com outros dados na posse da Google. Pode impedir o armazenamento de cookies nas definições de acordo com o seu navegador.<\\/p><p>&nbsp;<\\/p><h3>8. Os seus Direitos<\\/h3><p>A respeito dos dados pessoais que processamos sobre a sua pessoa, poderá exercer os seguintes direitos:<\\/p><p>Tem o direito de pedir a confirmação se processamos os seus dados pessoais. Se este for o caso, iremos informá-lo sobre os seus dados pessoais guardados e as informações adicionais, de acordo com o artigo 15º, parágrafo 1 e 2 do RGPD.<\\/p><p>Tem o direito de pedir a correção sem demora de dados incorretos respeitantes à sua pessoa. Tendo em conta a finalidade de tratamento de dados, tem o direito de exigir que os seus dados sejam completados, também através de declarações adicionais prestadas.<\\/p><p>Tem o direito de nos solicitar a eliminação imediata dos seus dados pessoais sob as condições do Artigo 17º (1) do RGPD, a menos que o processamento seja exigido pelo Artigo 17º (3) do RGPD.<\\/p><p>Tem o direito de exigir a restrição de tratamento dos seus dados pessoais, se uma das condições do Artigo 18º (1) do RGPD for aplicável. Poderá solicitar a restrição de tratamento dos seus dados em vez de exigir uma eliminação.<\\/p><p>Divulgaremos qualquer pedido de correção ou eliminação dos seus dados pessoais e restrições de processamento dos mesmos a todas as entidades às quais fornecemos os seus dados pessoais, a menos que isso seja impossível ou envolva um esforço desproporcional. Também informaremos sobre a identidade destas entidades, se o solicitar.<\\/p><p>Tem o direito de receber as informações pessoais, que nos forneceu, em formato estruturado, comum e legível por sistemas informáticos e exigir que transmitamos, sem impor obstáculos, essas informações para outra pessoa responsável na medida do possível.<\\/p><p>Enquanto houver o seu consentimento para o tratamento dos seus dados, tem o direito de revogar o seu consentimento a qualquer momento.<\\/p><p>A sua revogação do consentimento de tratamento dos seus dados pessoais não afeta a legalidade de tratamento dos seus dados pessoais até ao momento de revogação.<\\/p><p>Direito de Objeção: Por razões resultantes da sua situação específica, poderá, a qualquer momento, exercer o seu direito de objeção ao processamento dos seus dados pessoais;<\\/p><p>Este direito de objeção de processamento dos seus dados pessoais refere-se ao processamento de dados baseado no Artigo 6º, nº 1, alínea f do RGPD, para proteger os nossos interesses legítimos ou de terceiros, a menos que os seus interesses ou direitos constitucionais e liberdades fundamentais, que requerem a proteção dos seus dados pessoais, predominem.<\\/p><p>Ao exercer o seu direito de objeção, deixamos de processar os seus dados pessoais em questão, a menos que possamos provar razões imperativas e legítimas para o processamento que superam os seus interesses, direitos e liberdades, ou que o processamento serve para efeitos de alegação, defesa ou reivindicação de direitos legais.<\\/p><p>No caso em que processamos os seus dados pessoais para o envio de publicidade direta (por exemplo newsletter), pode sempre exercer o seu direito de objeção ao tratamento dos seus dados pessoais relevantes para este efeito com o efeito e deixamos de processar os seus dados pessoais para tais fins.<\\/p><p>Se acredita que o processamento dos seus dados pessoais viola o Regulamento Geral de Proteção de Dados (RGPD), pode apresentar recurso através de um órgão regulador, em particular no Estado-Membro da sua residência, no seu local de trabalho ou local de alegada violação. Isso não exclui outros recursos administrativos ou judiciais.<\\/p><h3>Solicitar Alteração de Dados ou Consentimento ou Eliminação de Conta de Participante<\\/h3><p>Contacte a entidade promotora para solicitar a alteração de dados ou consentimento ou eliminação de conta de participante<\\/p><p><a href=\\\"tel:(+351)213916600\\\">Tel.(+351) 213 916 600&nbsp;<\\/a>|&nbsp;<a href=\\\"tel:(+351)213916601\\\">(+351) 213 916 601&nbsp;<\\/a>|&nbsp;<a href=\\\"mailto:geral@jervispereira.pt\\\">geral@jervispereira.pt<\\/a><\\/p><p>&nbsp;<\\/p><h3>9. Sobre esta Política de Privacidade<\\/h3><p>Reservamo-nos o direito de rever e atualizar a presente Política de Privacidade, o que ser divulgado através deste microsite.<br>Data da última atualização: 22 de Março de 2023<\\/p><h3>&nbsp;<\\/h3><p>&nbsp;<\\/p><h2>Iniciar Sessão com a sua conta facebook<\\/h2><p>Este Passatempo é promovido pela Autoridade de Turismo da Tailândia. Para aceder ao quiz, só precisa de se tornar fã da nossa página no facebook e iniciar a sessão com a sua conta de facebook.<\\/p><p>&nbsp;<\\/p><p>Ao iniciar uma sessão, surge a seguinte mensagem.<br>“A aplicação “Amazing New Chapters in Amazing Thailand” vai receber a seguinte informação: perfil público, lista de amigos, endereço de e-mail, data de nascimento e gostos.”<\\/p><p>&nbsp;<\\/p><p><img data-fr-image-pasted=\\\"true\\\" alt=\\\"01-IniciarSess-01-Popup-Login-01.jpg\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/ComoGanhar\\/01-IniciarSess-01-Popup-Login-01-470.jpg\\\" class=\\\"fr-fic fr-dii\\\"><\\/p><p>&nbsp;<\\/p><p>&nbsp;<\\/p><h2>Tratamento de Dados<\\/h2><p>A Autoridade do Turismo de Tailândia responsabiliza-se pela proteção da informação pessoal dos dados obtidos pelo participante. A Autoridade do Turismo de Tailândia compromete-se a não ceder a entidades externas informação pessoal dos participantes. Todo e qualquer tratamento de dados pessoais será feito em conformidade com a legislação aplicável. De acordo com o n.º 4 do artigo 10º da Lei nº. 67\\/98, de 26 de outubro, que se refere às condições de segurança relativas à recolha de informação em redes abertas, todos os colaboradores envolvidos no tratamento de dados estão abrangidos pelo dever de sigilo e confidencialidade relativamente aos mesmos.<\\/p><p>&nbsp;<\\/p><h2>Política de privacidade com dados obtidos através do Facebook Login<\\/h2><p><strong>Que dados do Facebook guardamos?<\\/strong><br>O login através de Facebook obtém o email e o identificador do utilizador para efetivar o registo na aplicação deste concurso ficando o email guardado na aplicação.<\\/p><p><strong>Qual o propósito de guardar estes dados?<\\/strong><br>Desta forma o utilizador pode iniciar sessão com Fabook Login da próxima vez que pretender aceder à aplicação.<\\/p><p>&nbsp;<\\/p><h2>Remover permissões do facebook<\\/h2><p>Poderá, em qualquer altura, remover as permissões do facebook para o quiz \\\"Hidden Spot in Amazing Thailand\\\" e aceder aos dados do seu perfil do facebook. Se remover a permissão antes do fim do quiz, deixará de poder finalizar a sua participação e ficará excluído do sorteio.<\\/p><p>&nbsp;<\\/p><p><img data-fr-image-pasted=\\\"true\\\" alt=\\\"02-Remover-Permissao-470.jpg\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/ComoGanhar\\/02-Remover-Permissao-470.jpg\\\" class=\\\"fr-fic fr-dii\\\"><br>&nbsp;<\\/p><p>&nbsp;<\\/p><h3>Janela de Popup bloqueada<\\/h3><p>Caso o seu browser (Firefox, Chrome, Safari, Internet Explorer, etc.) mostre uma mensagem que impeça este site de abrir janelas popup, deve aceder diretamente ao site&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"http:\\/\\/amazingthailand.turismotailandes.org.pt\\/\\\" target=\\\"_blank\\\">http:\\/\\/amazingthailand.turismotailandes.org.pt<\\/a>. A janela popup é do facebook que inicia a sua sessão no quiz.<\\/p><p><br><img data-fr-image-pasted=\\\"true\\\" alt=\\\"Janela de Popup Bloqueada\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/ComoGanhar\\/01-IniciarSess-01-Popup-02-470.png\\\" title=\\\"Janela de Popup Bloqueada\\\" class=\\\"fr-fic fr-dii\\\"><\\/p><p>&nbsp;<\\/p><p><strong>Não perca esta oportunidade de ganhar duas viagens duplas à Tailândia, entre muitos outros prémios.<\\/strong><\\/p>\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',3,'2023-10-19 16:23:21','2023-10-23 14:45:42',NULL),(3,5,'blocks',NULL,'paragraph_block','{\"title\":\"O que pode ganhar\",\"content\":\"<p>O passatempo \\\"<strong>Amazing New Chapters in Amazing Thailand<\\/strong>\\\" permite-lhe ganhar 30 prémios:<\\/p><p>&nbsp;<\\/p><h3>Lista de Prémios a sortear pelos concorrentes que registarem mais de 80% de respostas certas<\\/h3>\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',2,'2023-10-19 16:24:27','2023-10-23 15:17:13',NULL),(4,5,'blocks',NULL,'paragraph_block','{\"title\":\"\",\"content\":\"<p>&nbsp;<\\/p><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.icarion.pt\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.icarion.pt\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Icarion.png\\\" title=\\\"https:\\/\\/www.icarion.pt\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>1º Prémio<\\/strong><\\/h3><p>Oferta de uma viagem à Tailândia pelo&nbsp;<strong>operador turístico Icarion<\\/strong><br>Voo +3 noites de alojamento em Banguecoque + 3 noites de alojamento em Phuket.<br>Prémio válido para 2 pessoas em quarto duplo em regime de alojamento e pequeno-almoço, hotéis de 4*, estadias até 31 de Outubro de 2023 e entre 1 de Maio e 31 de Outubro de 2024.<\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.katathani.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.katathani.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/katathani.png\\\" title=\\\"https:\\/\\/www.katathani.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>2º Prémio<\\/strong><\\/h3><p>5 noites de alojamento em quarto duplo no&nbsp;<strong>Hotel KathaThani Collection (5 estrelas) em Phuket<\\/strong>. Pequeno-almoço incluído<\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.elephanthills.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.elephanthills.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Elephant-Hills.png\\\" title=\\\"https:\\/\\/www.elephanthills.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>3º Prémio<\\/strong><\\/h3><p>3 noites de alojamento em quarto duplo no&nbsp;<strong>Elephant Hills Luxury Tented Camps<\\/strong> em&nbsp;<strong>Khao Sok<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.500rai.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.500rai.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Hote-500Rai.png\\\" title=\\\"https:\\/\\/www.500rai.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>4º Prémio<\\/strong><\\/h3><p>2 noites de alojamento em quarto duplo no&nbsp;<strong>Hotel 500 Rai em Kao Sok<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.merlinkhaolak.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.merlinkhaolak.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Merlin.png\\\" title=\\\"https:\\/\\/www.merlinkhaolak.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>5º Prémio<\\/strong><\\/h3><p>3 noites de alojamento em quarto duplo no&nbsp;<strong>Khaolak Merlin Resort<\\/strong> em&nbsp;<strong>Kao Lak<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.beyondresortkrabi.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.beyondresortkrabi.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Beyond-Resort-Krabi.png\\\" title=\\\"https:\\/\\/www.beyondresortkrabi.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>6º Prémio<\\/strong><\\/h3><p>2 noites de alojamento em quarto duplo no<strong>&nbsp;Beyond Resort em Krabi<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.modesathorn.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.modesathorn.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Mode-Sathorn-Hotel.png\\\" title=\\\"https:\\/\\/www.modesathorn.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>7º Prémio<\\/strong><\\/h3><p>1 noite de alojamento em quarto duplo no&nbsp;<strong>Mode Sathorn Hotel em Banguecoque<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/suvarnabhumithaimassage-lisboa.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/suvarnabhumithaimassage-lisboa.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Suvarnabhumi-Spa.png\\\" title=\\\"https:\\/\\/suvarnabhumithaimassage-lisboa.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>8º Prémio<\\/strong><\\/h3><p>Massagem tailandesa de 60 minutos no&nbsp;<strong>Suvarnabhumi Spa em Lisboa<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/thailannamassagema.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/thailannamassagema.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Thai-Lanna.png\\\" title=\\\"https:\\/\\/thailannamassagema.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>9º Prémio<\\/strong><\\/h3><p>Massagem tailandesa de 60 minutos no centro&nbsp;<strong>Thai Lanna no Porto<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.sukkeethaispa.pt\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.sukkeethaispa.pt\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Sukee-Thai.png\\\" title=\\\"https:\\/\\/www.sukkeethaispa.pt\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>10º Prémio<\\/strong><\\/h3><p>Massagem tailandesa de 60 minutos no&nbsp;<strong>Spa Sukee Thai em Lisboa<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.thaisiamsmile.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.thaisiamsmile.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Siam-Smile-Thai-Massage.png\\\" title=\\\"https:\\/\\/www.thaisiamsmile.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>11º Prémio<\\/strong><\\/h3><p>Massagem tailandesa de 60 minutos no&nbsp;<strong>Siam Smile Thai Massage em Lisboa<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/nava-thaimassage.business.site\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/nava-thaimassage.business.site\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/The-Lux-Thai-Massage.png\\\" title=\\\"https:\\/\\/nava-thaimassage.business.site\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>12º Prémio<\\/strong><\\/h3><p>Massagem tailandesa de 60 minutos no&nbsp;<strong>The Lux Thai Massage no Algarve<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/bangkokspa.pt\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/bangkokspa.pt\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Bangkok-Spa-Thai-Massage.png\\\" title=\\\"https:\\/\\/bangkokspa.pt\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>13º Prémio<\\/strong><\\/h3><p>Massagem tailandesa de 60 minutos no&nbsp;<strong>Bangkok Spa Thai Massage em Setúbal<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/royalthaimassage.pt\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/royalthaimassage.pt\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Royal-Thai-Massage.png\\\" title=\\\"https:\\/\\/royalthaimassage.pt\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>14º Prémio<\\/strong><\\/h3><p>Massagem tailandesa de 60 minutos no&nbsp;<strong>Royal Thai Massage no Algarve<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/siamblissthaimassage.wixsite.com\\/siambliss\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/siamblissthaimassage.wixsite.com\\/siambliss\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Siam-Bliss-Thai-Massage.png\\\" title=\\\"https:\\/\\/siamblissthaimassage.wixsite.com\\/siambliss\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>15º Prémio<\\/strong><\\/h3><p>Massagem tailandesa de 60 minutos no&nbsp;<strong>Siam Bliss Thai Massage em Lisboa<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/thaiwayspa.pt\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/thaiwayspa.pt\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Thai-Way-Spa.png\\\" title=\\\"https:\\/\\/thaiwayspa.pt\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>16º Prémio<\\/strong><\\/h3><p>Massagem tailandesa de 30 minutos no&nbsp;<strong>Thai Way Spa<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.restaurantesiamsquare.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.restaurantesiamsquare.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Siam-Square.png\\\" title=\\\"https:\\/\\/www.restaurantesiamsquare.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>17º Prémio<\\/strong><\\/h3><p>Voucher de 45€ no restaurante&nbsp;<strong>Siam Square em Lisboa<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.restaurantesiamsquare.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.restaurantesiamsquare.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Siam-Square.png\\\" title=\\\"https:\\/\\/www.restaurantesiamsquare.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>18º Prémio<\\/strong><\\/h3><p>Voucher de 45€ no restaurante<strong>&nbsp;Siam Square em Lisboa<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.restaurantesiamsquare.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.restaurantesiamsquare.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Siam-Square.png\\\" title=\\\"https:\\/\\/www.restaurantesiamsquare.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>19º Prémio<\\/strong><\\/h3><p>Voucher de 45€ no restaurante&nbsp;<strong>Siam Square em Lisboa<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/lxfactory.com\\/etnik-spring-2\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/lxfactory.com\\/etnik-spring-2\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Etnik-Spring.png\\\" title=\\\"https:\\/\\/lxfactory.com\\/etnik-spring-2\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>20º Prémio<\\/strong><\\/h3><p>Peça de artesanato da loja&nbsp;<strong>Etnik Spring do LX Factory em Lisboa<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><p>&nbsp;<\\/p><h3>&nbsp;<\\/h3><h3>&nbsp;<\\/h3><h3>Lista de Prémios a sortear pelos concorrentes que registarem mais de 80% de respostas certas e que participem presencialmente na cerimónia de entrega dos Prémios.<\\/h3><p>&nbsp;<\\/p><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.icarion.pt\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.icarion.pt\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Icarion.png\\\" title=\\\"https:\\/\\/www.icarion.pt\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>1º Prémio<\\/strong><\\/h3><p>Oferta de 6 noites de alojamento na Tailândia pelo&nbsp;<strong>operador turístico Icarion<\\/strong><br>3 noites de alojamento em Banguecoque + 3 noites de alojamento em Krabi.<br>Prémio válido para 2 pessoas em quarto duplo em regime de alojamento e pequeno-almoço, hotéis de 4*, estadias até 31 de Outubro de 2023 e entre 1 de Maio e 31 de Outubro de 2024.<\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.diamondcliff.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.diamondcliff.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Diamond-Cliff.png\\\" title=\\\"https:\\/\\/www.diamondcliff.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>2º Prémio<\\/strong><\\/h3><p>3 noites de alojamento em quarto duplo no&nbsp;<strong>Hotel Diamond Cliff em Phuket<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.pamookkoo.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.pamookkoo.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Pamokkoo-Resort.png\\\" title=\\\"https:\\/\\/www.pamookkoo.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>3º Prémio<\\/strong><\\/h3><p>2 noites de alojamento em quarto duplo no&nbsp;<strong>Pamokkoo Resort em Phuket<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.modesathorn.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.modesathorn.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Mode-Sathorn-Hotel.png\\\" title=\\\"https:\\/\\/www.modesathorn.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>4º Prémio<\\/strong><\\/h3><p>Uma noite de alojamento em quarto duplo no&nbsp;<strong>Mode Sathorn Hotel em Banguecoque<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/suvarnabhumithaimassage-lisboa.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/suvarnabhumithaimassage-lisboa.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Suvarnabhumi-Spa.png\\\" title=\\\"https:\\/\\/suvarnabhumithaimassage-lisboa.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>5º Prémio<\\/strong><\\/h3><p>Massagem tailandesa de 60 minutos no<strong>&nbsp;Spa Suvarnabhumi em Lisboa<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.sukkeethaispa.pt\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.sukkeethaispa.pt\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Sukee-Thai.png\\\" title=\\\"https:\\/\\/www.sukkeethaispa.pt\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>6º Prémio<\\/strong><\\/h3><p>Massagem tailandesa de 60 minutos no&nbsp;<strong>Sukee Thai Spa em Lisboa<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/siamblissthaimassage.wixsite.com\\/siambliss\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/siamblissthaimassage.wixsite.com\\/siambliss\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Siam-Bliss-Thai-Massage.png\\\" title=\\\"https:\\/\\/siamblissthaimassage.wixsite.com\\/siambliss\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>7º Prémio<\\/strong><\\/h3><p>Massagem tailandesa de 60 minutos no&nbsp;<strong>Siam Bliss Thai Massage em Lisboa<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/royalthaimassage.pt\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/royalthaimassage.pt\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Royal-Thai-Massage.png\\\" title=\\\"https:\\/\\/royalthaimassage.pt\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>8º Prémio<\\/strong><\\/h3><p>Massagem tailandesa de 60 minutos no&nbsp;<strong>Royal Thai Massage no Algarve<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/nava-thaimassage.business.site\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/nava-thaimassage.business.site\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/The-Lux-Thai-Massage.png\\\" title=\\\"https:\\/\\/nava-thaimassage.business.site\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>9º Prémio<\\/strong><\\/h3><p>Massagem tailandesa de 60 minutos no&nbsp;<strong>The Lux Thai Massage no Algarve<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table><hr><table cellpadding=\\\"5\\\"><tbody><tr><td><a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.restaurantesiamsquare.com\\/\\\" target=\\\"_blank\\\"><img data-fr-image-pasted=\\\"true\\\" alt=\\\"https:\\/\\/www.restaurantesiamsquare.com\\/\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/OQuePodeGanhar\\/LogosParceiros\\/Siam-Square.png\\\" title=\\\"https:\\/\\/www.restaurantesiamsquare.com\\/\\\" class=\\\"fr-fic fr-dii\\\"><\\/a><\\/td><td>&nbsp;<\\/td><td><h3><strong>10º Prémio<\\/strong><\\/h3><p>Voucher de 45€ no restaurante tailandês&nbsp;<strong>Siam Square em Lisboa<\\/strong><\\/p><\\/td><\\/tr><\\/tbody><\\/table>\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',3,'2023-10-19 16:24:27','2023-10-23 15:17:13',NULL),(5,4,'blocks',NULL,'paragraph_block','{\"title\":\"Title 3\",\"content\":\"<p>Desc 3<\\/p>\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',4,'2023-10-19 20:49:25','2023-10-20 11:07:56',NULL),(6,4,'blocks',NULL,'detailed_block','{\"title\":\"Detailed title\",\"content\":\"<p>detailed desc<\\/p>\",\"list_items\":\"[{\\\"text\\\":\\\"Details of items\\\"},{\\\"text\\\":\\\"item A\\\"},{\\\"text\\\":\\\"Item B\\\"}]\",\"button_text\":\"Call to action btn\",\"button_url\":\"https:\\/\\/www.google.pt\",\"image\":\"\\/cropped-images\\/IMG_20231012_113738-451-109-475-242-1697758255.jpg\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:detailed_block',5,'2023-10-19 23:29:45','2023-10-20 11:07:56',NULL),(7,4,'blocks',NULL,'image_slice','{\"image\":\"\\/Img-como-pode-ganhar.png\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:image_slice',1,'2023-10-20 11:04:01','2023-10-23 14:45:42',NULL),(8,7,'blocks',NULL,'paragraph_block','{\"title\":\"Como pode ganhar\",\"content\":\"<p>Habilite-se a ganhar uma viagem de sonho ao País dos Sorrisos participando no quiz ”<strong>Amazing New Chapters In Amazing Thailand<\\/strong>”!<\\/p><p>De&nbsp;<strong>15 de maio a 18 de junho de 2023<\\/strong> responda ao quiz de escolha múltipla no site&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"http:\\/\\/amazingthailand.turismotailandes.org.pt\\/\\\">http:\\/\\/amazingthailand.turismotailandes.org.pt<\\/a>.<\\/p><p>Para participar e ter acesso a todos os conteúdos, sugerimos que se torne fã da página de Facebook da Autoridade de Turismo da Tailândia (TAT) em Portugal em&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"http:\\/\\/www.facebook.com\\/TurismoTailandes\\\">www.facebook.com\\/TurismoTailandes<\\/a>.<\\/p><p>Durante&nbsp;<strong>5 semanas responda a 8 perguntas semanais<\\/strong> e descubra tudo o que a Tailândia tem para oferecer. Poderá corrigir ou completar as suas respostas a qualquer momento, desde que o faça entre as datas de início e fim deste passatempo (<strong>15 de maio a 18 de junho<\\/strong>). Todas as respostas podem ser pesquisadas online.<\\/p><p>Se, no final do passatempo, obtiver um score de&nbsp;<strong>pelo menos 80% de respostas certas<\\/strong> fica automaticamente habilitado ao sorteio de prémios, que decorrerá online. Em alternativa, também poderá acompanhar o sorteio na página de Facebook da Autoridade de Turismo da Tailândia -&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.facebook.com\\/TurismoTailandes\\\">https:\\/\\/www.facebook.com\\/TurismoTailandes<\\/a>.<\\/p><p><strong>Não perca esta oportunidade de conhecer este paraíso que é a Tailândia!&nbsp;<\\/strong><\\/p>\",\"image\":\"\\/Img-como-pode-ganhar.png\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',1,'2023-10-23 14:46:17','2023-10-23 14:50:04',NULL),(9,7,'blocks',NULL,'image_slice','{\"image\":\"\\/Img-como-pode-ganhar.png\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:image_slice',2,'2023-10-23 14:46:37','2023-10-23 14:49:38',NULL),(10,7,'blocks',NULL,'paragraph_block','{\"title\":\"Política de Privacidade\",\"content\":\"<p>Em conformidade com o Regulamento Geral de Proteção de Dados (RGPD), em vigor desde o dia 25 de maio de 2018, prestamos aqui algumas informações sobre o âmbito e finalidade do tratamento dos seus dados pessoais quando utiliza este microsite \\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\\"<\\/p><p>Consideram-se dados pessoais todas as informações relacionadas com uma pessoa singular identificada ou identificável.<\\/p><p>&nbsp;<\\/p><h3>1. Entidade Responsável<\\/h3><p>O responsável pelo processamento e tratamento de dados, em termos do Regulamento Europeu Geral de Proteção de Dados (RGPD), é a pessoa singular ou coletiva que, por si só ou em conjunto com terceiros, determina as finalidades e os meios de tratamento dos dados pessoais.<\\/p><p>No âmbito do RGPD a entidade responsável pelo processamento e tratamento de dados pessoais recolhidos neste Website é:<\\/p><h4>Entidade Proprietária (adiante referido como “nós” “nosso(a)”)<\\/h4><p>Autoridade de Turismo da Tailândia, representada em Portugal pela Jervis Pereira – Representações e Consultadoria, Lda.,<br>Rua José Galhardo 1, Loja 1- Cave<br>1750-131 Lumiar, Lisboa | Portugal<br><a href=\\\"tel:(+351)213916600\\\">Tel.(+351) 213 916 600&nbsp;<\\/a>|&nbsp;<a href=\\\"tel:(+351)213916601\\\">(+351) 213 916 601&nbsp;<\\/a>|&nbsp;<a href=\\\"mailto:geral@jervispereira.pt\\\">geral@jervispereira.pt<\\/a><\\/p><p>&nbsp;<\\/p><h3>2. Dados Recolhidos durante a Navegação e Participação no Passatempo<\\/h3><p>Quando está a aceder e navegar neste microsite, o servidor recolhe as seguintes informações do seu dispositivo: Tipo de navegador e versão, sistema operacional, página web visitada anteriormente (“Referrer“), o seu endereço IP e data\\/hora da exibição da página.<\\/p><p>O levantamento e processamento destes dados destina-se a garantir o bom funcionamento do nosso site de forma a afastar e acompanhar uma utilização abusiva dos nossos serviços. Utilizamos os dados recolhidos igualmente para fins estatísticos sobre dispositivos e navegadores utilizados, permitindo uma adaptação e melhoria contínua da nossa oferta direcionada às necessidades dos utilizadores.<\\/p><p>Este processamento de dados é baseado no Artigo 6º, nº 1, alínea F do RGPD. Todos os dados pessoais acima serão excluídos o mais tardar doze meses após a recolha.<\\/p><p>Ao participar no passatempo, registamos os seguintes dados do participante:<\\/p><ul><li>Endereço de correio eletrónico<\\/li><li>Sexo<\\/li><li>Nº BI ou CC<\\/li><li>Nome<\\/li><li>Distrito<\\/li><li>País (valor pré-definido)<\\/li><li>Telefone<\\/li><\\/ul><p>Estes dados serão guardados e podem ser usados pela entidade promotora ou seu representante para os seguintes fins:<\\/p><ul><li>Comunicações durante o passatempo<\\/li><li>Convite para outros passatempos<\\/li><\\/ul><p>&nbsp;<\\/p><h3>3. Criar e Eliminar uma Conta de Participante<\\/h3><p>Para participar no passatempo, o participante pode abrir uma conta de participantes através da sua conta Facebook ou do registo manual. A conta de cliente será criada exclusivamente pela sua ação ao submeter os seus dados. A base legal é, portanto, o seu consentimento nos termos do Artigo 6º, nº 1, alínea F do RGPD. Remeteremos os dados pessoais associados à conta de cliente até que solicite a eliminação da mesma. Os dados pessoais respetivamente à sua participação serão conservados pelo período e cumprimento das obrigações legais aplicáveis.<\\/p><h4>Solicitar Eliminação de Conta de Cliente<\\/h4><p>Deverá contactar a entidade promotora do Passatempo:<\\/p><p>Autoridade de Turismo da Tailândia, representada em Portugal pela Jervis Pereira – Representações e Consultadoria, Lda.,<br>Rua José Galhardo 1, Loja 1- Cave<br>1750-131 Lumiar, Lisboa | Portugal<br><a href=\\\"tel:(+351)213916600\\\">Tel.(+351) 213 916 600&nbsp;<\\/a>|&nbsp;<a href=\\\"tel:(+351)213916601\\\">(+351) 213 916 601&nbsp;<\\/a>|&nbsp;<a href=\\\"mailto:geral@jervispereira.pt\\\">geral@jervispereira.pt<\\/a><\\/p><p>&nbsp;<\\/p><h3>4. Empresas e Sistemas Subcontratos de Suporte<\\/h3><p>Os dados das encomendas e contratos são processados através destas entidades de acordo com o Artigo 28.º do RGPD.<\\/p><p>O fornecimento de serviços técnicos para o funcionamento deste Web Site é assegurado de acordo com o Artigo 28º do RGPD pelo fornecedor, e os seus respetivos subcontratados, Viamodul, 2610-141 Amadora – Portugal. O software usado para este Web Site é epages, desenvolvido por epages GmbH, 20355 Hamburg, Alemanha. A aplicação do Passatempo foi desenvolvida pela Viamodul.<\\/p><p>&nbsp;<\\/p><h3>5. Notificações por Correio Eletrónico<\\/h3><p>Ao longo do Passatempo receberá mensagens com informações sobre o Passatempo. Apenas poderá revogar o seu consentimento para o uso do seu endereço de e-mail ao solicitar o cancelamento da sua participação.<br>Este tratamento de dados é baseado no seu consentimento, de acordo com o Artigo 6º, nº 1, alínea f do RGPD.<\\/p><p>&nbsp;<\\/p><h3>6. Uso de Cookies<\\/h3><p>Ao visitar o&nbsp;<em>microsite<\\/em> do Passatempo, é colocado um \\\"cookie\\\" no seu dispositivo. Trata-se de um pequeno ficheiro de texto que podemos utilizar para reconhecer o seu dispositivo quando regressar ao Web Site para uma visita posterior. Um cookie armazenado tem um prazo de validade de doze meses após a sua última visita.<\\/p><p>Este tratamento de dados é baseado no Artigo 6º, nº 1, alínea f do RGPD com o objetivo de otimizar as funções deste Passatempo.<\\/p><p>Porém, pode impedir a criação de cookies nas configurações de cookies do seu navegador da Internet e impedir a criação de cookies deste microsite ou para todos os sites. Pode também eliminar os cookies já armazenados.<\\/p><p>&nbsp;<\\/p><h3>7. Google Analytics<\\/h3><p>Este microsite usa Google Analytics, um serviço de análise da web da Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, EUA (doravante designado \\\"Google\\\"). A Google coloca um cookie no seu dispositivo. Com esse cookie, a Google pode recolher informações sobre como usa a nossa Loja online. Essas informações são transmitidas para um servidor nos EUA, onde são avaliadas pela Google e disponibilizadas para nós. A base legal é o artigo 6º, nº 1, alínea f do RGPD, ou seja, o nosso interesse legítimo na avaliação e otimização da nossa Loja online na Internet.<\\/p><p>Como parte do Acordo sobre Proteção de Privacidade entre a UE e os EUA, a Google compromete-se a cumprir as leis de proteção de dados da União Europeia.<\\/p><p>Usamos o Google Analytics com anonimização de IP ativado. Isso significa que o seu endereço IP geralmente será encurtado dentro do âmbito do RGPD, de modo que o IP não possa ser relacionado com a sua pessoa. Somente em casos excecionais, o endereço IP completo é enviado para um servidor da Google nos EUA e lá encurtado. O endereço IP fornecido pelo seu navegador não será combinado com outros dados na posse da Google. Pode impedir o armazenamento de cookies nas definições de acordo com o seu navegador.<\\/p><p>&nbsp;<\\/p><h3>8. Os seus Direitos<\\/h3><p>A respeito dos dados pessoais que processamos sobre a sua pessoa, poderá exercer os seguintes direitos:<\\/p><p>Tem o direito de pedir a confirmação se processamos os seus dados pessoais. Se este for o caso, iremos informá-lo sobre os seus dados pessoais guardados e as informações adicionais, de acordo com o artigo 15º, parágrafo 1 e 2 do RGPD.<\\/p><p>Tem o direito de pedir a correção sem demora de dados incorretos respeitantes à sua pessoa. Tendo em conta a finalidade de tratamento de dados, tem o direito de exigir que os seus dados sejam completados, também através de declarações adicionais prestadas.<\\/p><p>Tem o direito de nos solicitar a eliminação imediata dos seus dados pessoais sob as condições do Artigo 17º (1) do RGPD, a menos que o processamento seja exigido pelo Artigo 17º (3) do RGPD.<\\/p><p>Tem o direito de exigir a restrição de tratamento dos seus dados pessoais, se uma das condições do Artigo 18º (1) do RGPD for aplicável. Poderá solicitar a restrição de tratamento dos seus dados em vez de exigir uma eliminação.<\\/p><p>Divulgaremos qualquer pedido de correção ou eliminação dos seus dados pessoais e restrições de processamento dos mesmos a todas as entidades às quais fornecemos os seus dados pessoais, a menos que isso seja impossível ou envolva um esforço desproporcional. Também informaremos sobre a identidade destas entidades, se o solicitar.<\\/p><p>Tem o direito de receber as informações pessoais, que nos forneceu, em formato estruturado, comum e legível por sistemas informáticos e exigir que transmitamos, sem impor obstáculos, essas informações para outra pessoa responsável na medida do possível.<\\/p><p>Enquanto houver o seu consentimento para o tratamento dos seus dados, tem o direito de revogar o seu consentimento a qualquer momento.<\\/p><p>A sua revogação do consentimento de tratamento dos seus dados pessoais não afeta a legalidade de tratamento dos seus dados pessoais até ao momento de revogação.<\\/p><p>Direito de Objeção: Por razões resultantes da sua situação específica, poderá, a qualquer momento, exercer o seu direito de objeção ao processamento dos seus dados pessoais;<\\/p><p>Este direito de objeção de processamento dos seus dados pessoais refere-se ao processamento de dados baseado no Artigo 6º, nº 1, alínea f do RGPD, para proteger os nossos interesses legítimos ou de terceiros, a menos que os seus interesses ou direitos constitucionais e liberdades fundamentais, que requerem a proteção dos seus dados pessoais, predominem.<\\/p><p>Ao exercer o seu direito de objeção, deixamos de processar os seus dados pessoais em questão, a menos que possamos provar razões imperativas e legítimas para o processamento que superam os seus interesses, direitos e liberdades, ou que o processamento serve para efeitos de alegação, defesa ou reivindicação de direitos legais.<\\/p><p>No caso em que processamos os seus dados pessoais para o envio de publicidade direta (por exemplo newsletter), pode sempre exercer o seu direito de objeção ao tratamento dos seus dados pessoais relevantes para este efeito com o efeito e deixamos de processar os seus dados pessoais para tais fins.<\\/p><p>Se acredita que o processamento dos seus dados pessoais viola o Regulamento Geral de Proteção de Dados (RGPD), pode apresentar recurso através de um órgão regulador, em particular no Estado-Membro da sua residência, no seu local de trabalho ou local de alegada violação. Isso não exclui outros recursos administrativos ou judiciais.<\\/p><h3>Solicitar Alteração de Dados ou Consentimento ou Eliminação de Conta de Participante<\\/h3><p>Contacte a entidade promotora para solicitar a alteração de dados ou consentimento ou eliminação de conta de participante<\\/p><p><a href=\\\"tel:(+351)213916600\\\">Tel.(+351) 213 916 600&nbsp;<\\/a>|&nbsp;<a href=\\\"tel:(+351)213916601\\\">(+351) 213 916 601&nbsp;<\\/a>|&nbsp;<a href=\\\"mailto:geral@jervispereira.pt\\\">geral@jervispereira.pt<\\/a><\\/p><p>&nbsp;<\\/p><h3>9. Sobre esta Política de Privacidade<\\/h3><p>Reservamo-nos o direito de rever e atualizar a presente Política de Privacidade, o que ser divulgado através deste microsite.<br>Data da última atualização: 22 de Março de 2023<\\/p><h3>&nbsp;<\\/h3><p>&nbsp;<\\/p><h2>Iniciar Sessão com a sua conta facebook<\\/h2><p>Este Passatempo é promovido pela Autoridade de Turismo da Tailândia. Para aceder ao quiz, só precisa de se tornar fã da nossa página no facebook e iniciar a sessão com a sua conta de facebook.<\\/p><p>&nbsp;<\\/p><p>Ao iniciar uma sessão, surge a seguinte mensagem.<br>“A aplicação “Amazing New Chapters in Amazing Thailand” vai receber a seguinte informação: perfil público, lista de amigos, endereço de e-mail, data de nascimento e gostos.”<\\/p><p>&nbsp;<\\/p><p><img data-fr-image-pasted=\\\"true\\\" alt=\\\"01-IniciarSess-01-Popup-Login-01.jpg\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/ComoGanhar\\/01-IniciarSess-01-Popup-Login-01-470.jpg\\\" class=\\\"fr-fic fr-dii\\\"><\\/p><p>&nbsp;<\\/p><p>&nbsp;<\\/p><h2>Tratamento de Dados<\\/h2><p>A Autoridade do Turismo de Tailândia responsabiliza-se pela proteção da informação pessoal dos dados obtidos pelo participante. A Autoridade do Turismo de Tailândia compromete-se a não ceder a entidades externas informação pessoal dos participantes. Todo e qualquer tratamento de dados pessoais será feito em conformidade com a legislação aplicável. De acordo com o n.º 4 do artigo 10º da Lei nº. 67\\/98, de 26 de outubro, que se refere às condições de segurança relativas à recolha de informação em redes abertas, todos os colaboradores envolvidos no tratamento de dados estão abrangidos pelo dever de sigilo e confidencialidade relativamente aos mesmos.<\\/p><p>&nbsp;<\\/p><h2>Política de privacidade com dados obtidos através do Facebook Login<\\/h2><p><strong>Que dados do Facebook guardamos?<\\/strong><br>O login através de Facebook obtém o email e o identificador do utilizador para efetivar o registo na aplicação deste concurso ficando o email guardado na aplicação.<\\/p><p><strong>Qual o propósito de guardar estes dados?<\\/strong><br>Desta forma o utilizador pode iniciar sessão com Fabook Login da próxima vez que pretender aceder à aplicação.<\\/p><p>&nbsp;<\\/p><h2>Remover permissões do facebook<\\/h2><p>Poderá, em qualquer altura, remover as permissões do facebook para o quiz \\\"Hidden Spot in Amazing Thailand\\\" e aceder aos dados do seu perfil do facebook. Se remover a permissão antes do fim do quiz, deixará de poder finalizar a sua participação e ficará excluído do sorteio.<\\/p><p>&nbsp;<\\/p><p><img data-fr-image-pasted=\\\"true\\\" alt=\\\"02-Remover-Permissao-470.jpg\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/ComoGanhar\\/02-Remover-Permissao-470.jpg\\\" class=\\\"fr-fic fr-dii\\\"><br>&nbsp;<\\/p><p>&nbsp;<\\/p><h3>Janela de Popup bloqueada<\\/h3><p>Caso o seu browser (Firefox, Chrome, Safari, Internet Explorer, etc.) mostre uma mensagem que impeça este site de abrir janelas popup, deve aceder diretamente ao site&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"http:\\/\\/amazingthailand.turismotailandes.org.pt\\/\\\" target=\\\"_blank\\\">http:\\/\\/amazingthailand.turismotailandes.org.pt<\\/a>. A janela popup é do facebook que inicia a sua sessão no quiz.<\\/p><p><br><img data-fr-image-pasted=\\\"true\\\" alt=\\\"Janela de Popup Bloqueada\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/ComoGanhar\\/01-IniciarSess-01-Popup-02-470.png\\\" title=\\\"Janela de Popup Bloqueada\\\" class=\\\"fr-fic fr-dii\\\"><\\/p>\",\"image\":\"\\/Img-como-pode-ganhar.png\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',3,'2023-10-23 14:47:00','2023-10-23 14:50:04',NULL),(11,7,'blocks',NULL,'detailed_block','{\"title\":\"\",\"content\":\"<p><strong>Não perca esta oportunidade de ganhar duas viagens duplas à Tailândia, entre muitos outros prémios.<\\/strong><\\/p>\",\"list_items\":\"[{\\\"text\\\":\\\"GANHE UMA VIAGEM PARA 2 PESSOAS!\\\"},{\\\"text\\\":\\\"NÓS PAGAMOS, VOCÊ VIAJA\\\"}]\",\"button_text\":\"ACEDER AO QUIZ\",\"button_url\":\"\",\"image\":\"\\/Img-como-pode-ganhar.png\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:detailed_block',4,'2023-10-23 14:47:18','2023-10-23 14:50:58',NULL),(13,8,'blocks',NULL,'image_slice','{\"image\":\"\\/Img-o-que-ganha-sempre.png\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:image_slice',1,'2023-10-23 15:14:22','2023-10-23 15:16:22',NULL),(14,5,'blocks',NULL,'image_slice','{\"image\":\"\\/Img-o-que-pode-ganhar.png\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:image_slice',1,'2023-10-23 15:16:51','2023-10-23 15:17:13',NULL),(15,8,'blocks',NULL,'detailed_block','{\"title\":\"O que ganha sempre\",\"content\":\"<p><font style=\\\"vertical-align: inherit;\\\"><font style=\\\"vertical-align: inherit;\\\">Durch die Teilnahme am Wettbewerb „ <\\/font><\\/font><strong><font style=\\\"vertical-align: inherit;\\\"><font style=\\\"vertical-align: inherit;\\\">Amazing New Chapters in Amazing Thailand<\\/font><\\/font><\\/strong><font style=\\\"vertical-align: inherit;\\\"><font style=\\\"vertical-align: inherit;\\\"> “ gewinnen Sie immer. Zusätzlich zu den genannten <\\/font><\\/font><strong><font style=\\\"vertical-align: inherit;\\\"><font style=\\\"vertical-align: inherit;\\\">30 Auszeichnungen<\\/font><\\/font><\\/strong><font style=\\\"vertical-align: inherit;\\\"><font style=\\\"vertical-align: inherit;\\\"> vertiefen Sie Ihre Kenntnisse über Thailand und verstehen, dass dieses Land ein Reiseziel mit enormem kulturellen und natürlichen Reichtum ist, das viel mehr zu bieten hat als Strände und die Hauptstadt Bangkok.<\\/font><\\/font><\\/p>\",\"list_items\":\"[[]]\",\"button_text\":\"ACEDER AO QUIZ\",\"button_url\":\"\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:detailed_block',2,'2023-10-23 15:39:08','2024-09-12 07:13:33',NULL),(16,9,'blocks',NULL,'paragraph_block','{\"title\":\"Sobre a Tailândia\",\"content\":\"<p><iframe width=\\\"470\\\" height=\\\"264\\\" src=\\\"\\/\\/www.youtube.com\\/embed\\/D2toGghDEOk\\\" frameborder=\\\"0\\\"><\\/iframe><\\/p><p>&nbsp;<\\/p><p>A Tailândia é um país do sudeste asiático, que faz fronteira com Myanmar, Laos, Camboja e Malásia. Habitada por cerca de 70 milhões de pessoas, é considerada um dos destinos exóticos mais surpreendentes do mundo.<br>Reconhecida internacionalmente pela cultura milenar e hospitalidade do seu povo, oferece uma gama alargada de produtos e serviços com uma relação preço qualidade ímpar.<br>A capital Banguecoque é uma das cidades mais visitadas do mundo, mas as praias paradisíacas e o clima ameno todo o ano são os principais fatores de sucesso deste destino de sonho.<\\/p><p>&nbsp;<\\/p><h2>O que pode fazer<\\/h2><p>&nbsp;<\\/p><p><strong>No Norte:<\\/strong> visitar as tribos, relaxar num spa, passear nas montanhas, meditar num templo budista, comprar artesanato, navegar no Rio Mekong e conhecer alguns dos mais emblemáticos santuários de elefantes do mundo.<\\/p><p><strong>No Sul e ilhas:<\\/strong> desfrutar das praias paradisíacas, conhecer as ilhas, jogar golfe, praticar desportos aquáticos, celebrar as noites de lua cheia, passear nos mercados locais, relaxar em hotéis e resorts de sonho.<\\/p><p><strong>Em Banguecoque:<\\/strong> viver uma experiência singular nas visitas ao Palácio Real, ao Templo do Amanhecer, ao Templo do Buda Reclinado, em passeios de barco no Rio Chao Phraya, no mercado de fim-de-semana Chatuchak, no mercado flutuante Damnoen Saduak, no mercado noturno Asiatique River Front, nas lojas de joalharia e de sedas, nos centros comerciais de Sukhumvit, na Casa Jim Thompson, nos bares Sirocco e Vertigo, e num infindável número de diversões que não há palavras para descrever.<\\/p><p>&nbsp;<\\/p><h2>O que deve levar<\\/h2><p>&nbsp;<\\/p><p>Roupa solta e ligeira (recomenda-se o algodão), óculos de sol e protetor solar, bem como alguns agasalhos para as noites mais frescas nas montanhas no Norte.<\\/p><p>Os cidadãos portugueses não necessitam de visto para viajar para a Tailândia durante 30 dias. Também não são necessárias vacinas. É indispensável que os viajantes se façam sempre acompanhar por um passaporte com validade mínima de 6 meses.<\\/p><p>Para mais informações consulte o site oficial da Autoridade de Turismo da Tailândia,&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"http:\\/\\/www.turismotailandes.org.pt\\/\\\" target=\\\"_blank\\\">www.turismotailandes.org.pt<\\/a>.<\\/p><p>No site encontrará informações relevantes sobre a cultura tailandesa, património histórico, templos, festivais, praias, ilhas, gastronomia, compras, artesanato, hotéis, resorts de luxo, assim como mapas e guias de viagem sobre as cidades mais importantes - Banguecoque, Phuket, Koh Samui, Krabi, Khao Lak, Chiang Mai, Chiang Rai, Sukhothai e Ayuttaya.<\\/p>\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',1,'2023-10-23 15:56:20','2023-10-23 15:57:43',NULL),(17,10,'blocks',NULL,'paragraph_block','{\"title\":\"Ajuda\",\"content\":\"<h3>1. Janela de Popup Bloqueada<\\/h3><p>Caso o seu browser (Firefox, Chrome, Safari, Internet Explorer, etc.) mostre uma mensagem que impeça este site de abrir janelas popup, deve aceder diretamente ao site http:\\/\\/amazingthailand.turismotailandes.org.pt. A janela popup é do facebook que inicia a sua sessão no quiz.<\\/p><p><br><img data-fr-image-pasted=\\\"true\\\" alt=\\\"Janela de Popup Bloqueada\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/ComoGanhar\\/01-IniciarSess-01-Popup-02-470.png\\\" title=\\\"Janela de Popup Bloqueada\\\" class=\\\"fr-fic fr-dii\\\"><\\/p><p>&nbsp;<\\/p><h3>2. Iniciar Sessão com a sua conta facebook<\\/h3><p>Este Passatempo é promovido pela Autoridade de Turismo da Tailândia. Para aceder ao quiz, só precisa de se tornar fã da nossa página no facebook e iniciar a sessão com a sua conta de facebook.<\\/p><p>&nbsp;<\\/p><p>Ao iniciar uma sessão, surge a seguinte mensagem:<br>“A aplicação “Amazing New Chapters in Amazing Thailand” vai receber a seguinte informação: perfil público, lista de amigos, endereço de e-mail, data de nascimento e gostos.”<\\/p><p>&nbsp;<\\/p><p><img data-fr-image-pasted=\\\"true\\\" alt=\\\"01-IniciarSess-01-Popup-Login-01.jpg\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/ComoGanhar\\/01-IniciarSess-01-Popup-Login-01-470.jpg\\\" class=\\\"fr-fic fr-dii\\\"><\\/p><p>&nbsp;<\\/p><p>&nbsp;<\\/p><h2>3. Tratamento de Dados<\\/h2><p>A Autoridade do Turismo de Tailândia responsabiliza-se pela proteção da informação pessoal dos dados obtidos pelo participante. A Autoridade do Turismo de Tailândia compromete-se a não ceder a entidades externas informação pessoal dos participantes. Todo e qualquer tratamento de dados pessoais será feito em conformidade com a legislação aplicável. De acordo com o n.º 4 do artigo 10º da Lei nº. 67\\/98, de 26 de outubro, que se refere às condições de segurança relativas à recolha de informação em redes abertas, todos os colaboradores envolvidos no tratamento de dados estão abrangidos pelo dever de sigilo e confidencialidade relativamente aos mesmos.<\\/p><p>&nbsp;<\\/p><h2>4. Política de privacidade com dados obtidos através do Facebook Login<\\/h2><p><strong>Que dados do Facebook guardamos?<\\/strong><br>O login através de Facebook obtém o email e o identificador do utilizador para efetivar o registo na aplicação deste concurso ficando o email guardado na aplicação.<\\/p><p><strong>Qual o propósito de guardar estes dados?<\\/strong><br>Desta forma o utilizador pode iniciar sessão com Fabook Login da próxima vez que pretender aceder à aplicação.<\\/p><p><strong>Como criar e Eliminar uma Conta de Participante?<\\/strong><br>Para participar no passatempo, o participante pode abrir uma conta de participantes através da sua conta Facebook ou do registo manual. A conta de cliente será criada exclusivamente pela sua ação ao submeter os seus dados. A base legal é, portanto, o seu consentimento nos termos do Artigo 6º, nº 1, alínea F do RGPD. Remeteremos os dados pessoais associados à conta de cliente até que solicite a eliminação da mesma. Os dados pessoais respetivamente à sua participação serão conservados pelo período e cumprimento das obrigações legais aplicáveis.<\\/p><p><strong>Solicitar Eliminação de Conta de Cliente<\\/strong><br>Deverá contactar a entidade promotora do Passatempo:<br>Autoridade de Turismo da Tailândia, representada em Portugal pela Jervis Pereira – Representações e Consultadoria, Lda.,<br>Rua José Galhardo 1, Loja 1- Cave<br>1750-131 Lumiar, Lisboa | Portugal<br>Tel.(+351) 213 916 600 | (+351) 213 916 601 |&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"mailto:geral@jervispereira.pt\\\">geral@jervispereira.pt<\\/a>&nbsp;<\\/p><p>&nbsp;<\\/p><h2>5. Remover permissões do facebook<\\/h2><p>Poderá, em qualquer altura, remover as permissões do facebook para o quiz \\\"Amazing New Chapters in Amazing Thailand\\\" e aceder aos dados do seu perfil do facebook. Se remover a permissão antes do fim do quiz, deixará de poder finalizar a sua participação e ficará excluído do sorteio.<\\/p><p>&nbsp;<\\/p><p><img data-fr-image-pasted=\\\"true\\\" alt=\\\"02-Remover-Permissao-470.jpg\\\" src=\\\"https:\\/\\/amazingthailand.turismotailandes.org.pt\\/WebRoot\\/Store\\/Shops\\/1032-141216\\/MediaGallery\\/categorias\\/ComoGanhar\\/02-Remover-Permissao-470.jpg\\\" class=\\\"fr-fic fr-dii\\\"><\\/p>\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',1,'2023-10-23 16:01:15','2023-10-23 16:01:57',NULL),(18,10,'blocks',NULL,'detailed_block','{\"title\":\"\",\"content\":\"<p>Não perca esta oportunidade para ganhar&nbsp;<strong>uma viagem dupla à Tailândia<\\/strong>!<\\/p>\",\"list_items\":\"[[]]\",\"button_text\":\"ACEDER AO QUIZ\",\"button_url\":\"\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:detailed_block',2,'2023-10-23 16:01:41','2023-10-23 16:01:58',NULL),(19,11,'blocks',NULL,'paragraph_block','{\"title\":\"Contactos & Regulamento\",\"content\":\"<p><strong>ENTIDADE PROMOTORA<\\/strong><br>A Autoridade de Turismo da Tailândia, representada em Portugal pela Jervis Pereira – Representações e Consultadoria, Lda., é a entidade promotora do Passatempo “Amazing New Chapters in Amazing Thailand”, de ora adiante designado por Passatempo.<\\/p><p>&nbsp;<\\/p><p>AUTORIDADE DO TURISMO DA TAILÂNDIA EM PORTUGAL<br>Rua José Galhardo 1, Loja 1 - Cave<br>1750-131 Lumiar, Lisboa | Portugal<br>Telefone: (+351) 213 916 600 | (+351) 213 916 601<br>E-mail:&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"http:\\/\\/mailto:info@turismotailandes.org.pt\\/\\\">info@turismotailandes.org.pt<\\/a><\\/p><p>&nbsp;<\\/p><p><strong>DESTINATÁRIOS<\\/strong><br>O Passatempo destina-se a todos cidadãos com idade superior a 18 anos, residentes em Portugal, exceto se forem funcionários da Jervis Pereira ou seus familiares diretos. Neste caso não podem concorrer.<br>&nbsp;<\\/p><p><strong>REGRAS DE PARTICIPAÇÃO<\\/strong><br>As inscrições no Passatempo são efetuadas no microsite&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"http:\\/\\/amazingthailand.turismotailandes.org.pt\\/\\\">http:\\/\\/amazingthailand.turismotailandes.org.pt\\/<\\/a><br>O Passatempo decorre entre as 00:01 do dia 15 de maio de 2023 e as 23h59 do dia 18 de junho de 2023.<br>Cada participante só poderá concorrer uma vez.<br>Apenas serão consideradas válidas participações submetidas entre 15 de maio de 2023 e 18 de junho de 2023.<br>Semanalmente, e durante 5 semanas, os concorrentes registados no microsite serão convidados a responder a um quiz de escolha múltipla com oito perguntas.<br>Os participantes terão de identificar a resposta certa para cada uma das perguntas, podendo alterá-las ou iniciá-las ao longo das 5 semanas do Passatempo.<br>&nbsp;<\\/p><p><strong>SELEÇÃO DO VENCEDOR<\\/strong><br>No final das 5 semanas, os concorrentes que registarem pelo menos 80% de respostas certas ficam habilitados a um sorteio onde podem ganhar vários prémios.<br>Os participantes serão informados sobre o resultado do passatempo no dia 19 de Junho de 2023.<br>Os concorrentes que registarem menos de 80% de respostas certas ficam fora do sorteio mas podem participar no evento de sorteio dos Prémios que decorre no Pavilhão Tailandês, no Jardim Vasco da Gama, em Lisboa (Belém), no dia 1 de julho às 12 horas, durante o Thai Festival.<br>&nbsp;<\\/p><p><strong>DATA E LOCAL DO SORTEIO<\\/strong><br>O sorteio decorrerá no Pavilhão Tailandês, no Jardim Vasco da Gama em Lisboa (Belém), no dia 1 de julho às 12 horas, durante o Festival Tailandês. O convite para o evento será divulgado para todos os participantes e também através da página de Facebook da Autoridade de Turismo da Tailândia -&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"https:\\/\\/www.facebook.com\\/TurismoTailandes\\\" target=\\\"_blank\\\">https:\\/\\/www.facebook.com\\/TurismoTailandes<\\/a>, bem como no microsite do passatempo.<br>&nbsp;<\\/p><p><strong>PRÉMIOS<\\/strong><br>Serão sorteados 30 prémios, 20 dos quais por todos os concorrentes que tiverem mais de 80% de respostas certas e 10 prémios pelos concorrentes que tiverem mais de 80% de respostas certas mas que marquem presença na cerimónia de entrega dos prémios.<br>O sorteio geral dos 20 prémios dos concorrentes que tiverem mais de 80% de respostas certas será realizado aleatoriamente por via informática, através de um sistema validado por uma entidade externa credenciada para o efeito.<br>O sorteio dos 10 prémios dos concorrentes que tiverem mais de 80% de respostas certas e participarem presencialmente na cerimónia de entrega de Prémios será realizado aleatoriamente numa tombola onde serão colocados os nomes e contactos dos concorrentes que cumpram as condições acima indicadas. Os prémios serão sorteados por ordem decrescente, isto é, do último para o primeiro.<br>Poderá acontecer que um ou mais do que um participante ganhe 2 prémios, um de cada sorteio.<\\/p><p>&nbsp;<\\/p><h3><strong>Lista de Prémios a sortear pelos concorrentes que registarem mais de 80% de respostas certas<\\/strong><\\/h3><p><strong>1º Prémio: Oferta de uma viagem à Tailândia pelo operador turístico Icarion<\\/strong><br>Voo +3 noites de alojamento em Banguecoque + 3 noites de alojamento em Phuket. Prémio válido para 2 pessoas em quarto duplo em regime de alojamento e pequeno-almoço, hotéis de 4*, estadias até 31 de Outubro de 2023 e entre 1 de Maio e 31 de Outubro de 2024.<br><br><strong>2º Prémio: 5 noites de alojamento em quarto duplo no Hotel KathaThani Collection (5 estrelas) em Phuket. Pequeno-almoço incluído<\\/strong><br>Voucher válido para 6 dias e 5 noites num quarto de luxo com vista para a piscina, com pequeno-almoço para duas pessoas incluído. Este voucher é válido de 01 de Maio de 2023 a 31 de Outubro de 2023.<br><br><strong>3º Prémio: 3 noites de alojamento e quarto duplo no hotel Elephant Hills Luxury Tented Camps em Khao Sok<\\/strong><br>Voucher para um pacote de 4 dias e 3 noites para duas pessoas no Elephant Hills. O voucher oferece alojamento com tudo incluído, comida, atividades, um guia turístico de língua inglesa, e transfer para e de vários locais como Phuket, Khao Lak, Krabi, Phang-Nga, e Samui. Voucher válido até abril de 2024, excluindo as datas de 22 de dezembro a 10 de janeiro, assim como fevereiro 2024.<br><br><strong>4º Prémio: 2 noites de Alojamento em quarto duplo no Hotel 500 Rai em Kao Sok<\\/strong><br>Voucher válido para 2 noites em quarto duplo num “Villa Room” com refeições incluídas. Válido até 31 de Março de 2024 , de Domingo a Quinta-feira. O hóspede terá de apresentar este voucher à chegada ao Resort. A reserva deve ser confirmada pelo menos 7 dias antes da chegada.<br><br><strong>5º Prémio: 3 noites de alojamento em quarto duplo no Kao Lak Merlin Resort em Kao Lak<\\/strong><br>Voucher válido para 3 noites de alojamento em quarto duplo, com pequeno-almoço incluído. Estão incluídas as taxas de serviço e impostos governamentais. Todas as restantes despesas (tais como restaurantes, minibar, telefone, serviço de quarto e lavandaria) serão cobradas à parte no momento do check-out. Este vale não pode ser utilizado em conjunto com quaisquer outras ofertas de desconto. Os quartos estão sujeitos a disponibilidade e são necessárias reservas. Durante os períodos de ocupação elevada, os quarto poderão não estar disponíveis. Ao fazer a reserva, por favor indicar o número do voucher.<br><br><strong>6º Prémio: 2 noites de alojamento em quarto duplo no Beyond Resort em Krabi<\\/strong><br>Voucher válido para 2 noites de alojamento em quarto duplo, com pequeno-almoço incluído. Terá que ser apresentado, juntamente com o cartão de identificação, no balcão de receção à chegada ao Resort. As reservas devem ser feitas com pelo menos 7 dias de antecedência, juntando cópia do cartão de cidadão e do voucher. Este voucher não é válido para fins-de-semana prolongados e feriados públicos. Voucher válido entre os dias 1 de julho de 2023 e 30 de junho de 2024, excluindo o período entre 23 de dezembro de 2023 a 10 de janeiro de 2024.<br><br><strong>7º Prémio: 1 noite de alojamento em quarto duplo no Mode Sathorn Hotel em Banguecoque<\\/strong><br>Voucher válido para 1 noite de alojamento em quarto duplo, com pequeno-almoço incluído Recomenda-se a reserva antecipada. Este voucher não pode ser combinado com quaisquer outras promoções. O voucher não pode ser transferido ou resgatado por dinheiro. Este voucher não pode ser utilizado durante feriados e dias festivos. O voucher é válido de 1 de julho de 2023 e 30 de junho de 2024, excluindo os períodos entre 24 de dezembro a 31 de dezembro de 2023, 1 de janeiro de 2024, de 8 a 11 de fevereiro de 2024, 14 de fevereiro de 2024, e de 13 a 15 de abril de 2024.<br><br><strong>8º Prémio: Massagem tailandesa de 60 minutos no Suvarnabhumi Spa em Lisboa<br><br>9º Prémio: Massagem tailandesa de 60 minutos no centro Thai Lanna no Porto<br><br>10º Prémio: Massagem tailandesa de 60 minutos no Spa Sukee Thai em Lisboa<br><br>11º Prémio: Massagem tailandesa de 60 minutos no Siam Smile Thai Massage em Lisboa<br><br>12º Prémio: Massagem tailandesa de 60 minutos no The Lux Thai Massage no Algarve<br><br>13º Prémio: Massagem tailandesa de 60 minutos no Bangkok Spa Thai Massage em Setúbal<br><br>14º Prémio: Massagem tailandesa de 60 minutos no Royal Thai Massage no Algarve<br><br>15º Prémio: Massagem tailandesa de 60 minutos no Siam Bliss Thai Massage em Lisboa<br><br>16º Prémio: Massagem tailandesa de 30 minutos no Thai Way Spa<br><br>17º Prémio: Voucher de 45€ no restaurante Siam Square em Lisboa<br><br>18º Prémio: Voucher de 45€ no restaurante Siam Square em Lisboa<br><br>19º Prémio: Voucher de 45€ no restaurante Siam Square em Lisboa<br><br>20º Prémio: Peça de artesanato da loja Etnik Spring do LX Factory em Lisboa<\\/strong><\\/p><p>&nbsp;<\\/p><p><strong>Nota final:<\\/strong><br>Os prémios não poderão ser substituídos ou trocados por dinheiro ou qualquer outro produto.<br>Depois de sorteados os 20 prémios do passatempo serão sorteados os 10 prémios dos participantes que registaram mais de 80% de respostas certas e que participam presencialmente na cerimónia de entrega dos Prémios.<\\/p><p>&nbsp;<\\/p><h3>Lista de Prémios a sortear pelos concorrentes que registarem mais de 80% de respostas certas e que participem presencialmente na cerimónia de entrega dos Prémios.<\\/h3><p><strong>1º Prémio: Oferta de 6 noites de alojamento na Tailândia pelo operador turístico Icarion<\\/strong><br>3 noites de alojamento em Banguecoque + 3 noites de alojamento em Krabi. Prémio válido para 2 pessoas em quarto duplo em regime de alojamento e pequeno-almoço, hotéis de 4*, estadias até 31 de Outubro de 2023 e entre 1 de Maio e 31 de Outubro de 2024.<br><br><strong>2º Prémio: 3 noites de alojamento em quarto duplo no Hotel Diamond Cliff em Phuket<\\/strong><br>Voucher válido para 3 noites de alojamento em quarto duplo, com pequeno-almoço incluído Este voucher é válido 1 de Abril de 2023 a 31 de Março de 2023 (excluindo o período de 20 de Dezembro de 2023 a 20 de Janeiro de 2024). A reserva está sujeita apenas à disponibilidade de quartos, devendo as reservas ser feitas diretamente com o hotel. O voucher terá que ser apresentado no check in.<br><br><strong>3º Prémio: 2 noites de alojamento em quarto duplo no Pamokkoo Resort em Phuket<\\/strong><br>Voucher válido para 3 noites de alojamento em quarto duplo, com pequeno-almoço incluído. O voucher terá que ser apresentado juntamente com o cartão de identificação no balcão de receção, à chegada ao Resort. As reservas devem ser feitas com pelo menos 7 dias de antecedência. Este voucher não é válido para fins-de-semana prolongados e feriados públicos. Voucher válido de 1 de julho de 2023 e 30 de junho de 2024, excluindo o período entre 23 de dezembro de 2023 a 10 de janeiro de 2024.<br><br><strong>4º Prémio: Uma noite de alojamento em quarto duplo no Mode Sathorn Hotel em Banguecoque<\\/strong><br>Voucher válido para 1 noite de alojamento em quarto duplo, com pequeno-almoço incluído Recomenda-se a reserva antecipada. Este voucher não pode ser utilizado durante feriados e dias festivos. O voucher é válido entre 1 de julho de 2023 e 30 de junho de 2024, excluindo os períodos entre 24 de dezembro a 31 de dezembro de 2023, 1 de janeiro de 2024, de 8 a 11 de fevereiro de 2024, 14 de fevereiro de 2024, e de 13 a 15 de abril de 2024.<br><br><strong>5º Prémio: Massagem tailandesa de 60 minutos no Spa Suvarnabhumi em Lisboa<br><br>6º Prémio: Massagem tailandesa de 60 minutos no Sukee Thai Spa em Lisboa<br><br>7º Prémio: Massagem tailandesa de 60 minutos no Siam Bliss Thai Massage em Lisboa<br><br>8º Prémio: Massagem tailandesa de 60 minutos no Royal Thai Massage no Algarve<br><br>9º Prémio: Massagem tailandesa de 60 minutos no The Lux Thai Massage no Algarve<br><br>10º Prémio: Voucher de 45€ no restaurante tailandês Siam Square em Lisboa<\\/strong><\\/p><p>&nbsp;<\\/p><p><strong>NOTIFICAÇÃO<\\/strong><br>O nome dos vencedores dos 30 prémios será divulgado, em primeira mão, no momento do sorteio, no dia 1 de julho, às 12 horas . No mesmo dia será divulgado na página de facebook da Autoridade de Turismo da Tailândia e no microsite do Passatempo.<br>&nbsp;<\\/p><p><strong>EXCLUSÃO DE PARTICIPAÇÃO<\\/strong><br>As participações que não satisfaçam integralmente as condições e os requisitos estabelecidos neste Regulamento serão consideradas nulas. São ainda consideradas fraudulentas e excluídas todas as participações que sejam suspeitas de falsas informações, participações repetidas, manipulação, modificação ou supressão de dados.<br>&nbsp;<\\/p><p><strong>DIVULGAÇÃO<\\/strong><br>A participação no Passatempo implica a aceitação integral e incondicional deste Regulamento, assim como o fornecimento dos dados do participante (nome, localidade, endereço de e-mail, número de Bilhete de Identidade ou Cartão do Cidadão e contacto telefónico).<br>&nbsp;<\\/p><p><strong>PRIVACIDADE<\\/strong><br>Os participantes autorizam a Autoridade de Turismo da Tailândia a recolher e a tratar os seus dados para efeitos deste Passatempo e de Passatempos subsequentes. Os dados recolhidos destinam-se também à identificação dos participantes no caso de serem vencedores.<br>&nbsp;<\\/p><p><strong>CONDIÇÕES GERAIS<\\/strong><br>Os premiados têm que fazer prova do seu nome, identificando-se com o Bilhete de Identidade\\/Cartão do Cidadão.<br>A Autoridade de Turismo da Tailândia não é responsável por participações perdidas, atrasadas, incompletas, inválidas, extraviadas ou corrompidas, as quais não serão consideradas para efeitos de participação no Passatempo.<br>A Autoridade de Turismo da Tailândia não é igualmente responsável por transmissões eletrónicas incompletas ou que tenham sofrido falhas, bem como por falhas técnicas de qualquer tipo, incluindo, mas não limitadas a, mau funcionamento de qualquer rede, hardware ou software e \\/ou indisponibilidade do serviço de acesso à Internet. Os dados pessoais indicados na inscrição no passatempo são de fornecimento obrigatório, sendo indispensáveis à participação no sorteio.<br>A omissão e\\/ou inexatidão dos dados fornecidos pelos participantes são da sua única e inteira responsabilidade e excluem-nos imediatamente do Passatempo.<br>Os participantes reconhecem que os dados que circulam na Internet não estão protegidos contra desvios eventuais e que a comunicação de senhas de acesso, passwords, códigos confidenciais e qualquer informação sensível, será efetuada sob a sua inteira responsabilidade.<br>A entidade promotora pode ser contactada através do e-mail&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"http:\\/\\/mailto:geral@jervispereira.pt\\/\\\">geral@jervispereira.pt<\\/a> ou&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"http:\\/\\/mailto:andreia.pereira@jervispereira.pt\\/\\\">andreia.pereira@jervispereira.pt<\\/a><\\/p>\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',2,'2023-10-23 16:38:06','2023-10-23 16:38:54',NULL),(20,11,'blocks',NULL,'image_slice','{\"image\":\"\\/Ing-regulamento.png\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:image_slice',1,'2023-10-23 16:38:34','2023-10-23 16:38:54',NULL),(22,12,'blocks',NULL,'paragraph_block','{\"title\":\"O seu sonho sempre foi ir à Tailândia?\",\"content\":\"<p>Responda a este Quiz de 40 perguntas durante 5 semanas e habilite-se, entre outros prémios, a ganhar uma viagem dupla a Banguecoque + Phuket!<\\/p><p>Comece já!<\\/p>\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',1,'2024-01-25 10:49:53','2024-01-26 10:51:42',NULL),(23,12,'blocks',NULL,'paragraph_block','{\"title\":\"\",\"content\":\"<div class=\\\"relative\\\" style=\\\"padding-top: 56.25%;\\\"><iframe src=\\\"https:\\/\\/www.youtube.com\\/embed\\/ZkjSCGCDolE?rel=0\\\" style=\\\"box-shadow: 5px 5px 50px 10px #FFFFFF;margin-top:40px;\\\" class=\\\"absolute inset-0 w-full h-full\\\" frameborder=\\\"0\\\"><\\/iframe><\\/div><!-- p><iframe style=\\\"box-shadow: 5px 5px 50px 10px #FFFFFF;margin-top:40px;\\\" width=\\\"385\\\" height=\\\"217\\\" src=\\\"https:\\/\\/www.youtube.com\\/embed\\/ZkjSCGCDolE?rel=0\\\" frameborder=\\\"0\\\"><\\/iframe><\\/p -->\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',2,'2024-01-26 10:51:48','2024-01-26 11:56:28',NULL),(24,12,'blocks',NULL,'detailed_block','{\"title\":\"Quiz \\\"Hidden Spots in Amazing Thailand\\\"\",\"content\":\"<p>Bem-vindo! O Quiz do Turismo da Tailândia regressou para a sua 9ª edição. Uma edição dedicada aos lugares mais recônditos da Tailândia e também a outros mais conhecidos, mas que os visitantes não devem perder. A rede de agências de viagem Bestravel, nosso parceiro em várias iniciativas de promoção do destino, vai oferecer o primeiro prémio, uma viagem dupla a Banguecoque e a Phuket, e organizou pacotes especiais para todos os interessados, que pode consultar neste link.&nbsp;<\\/p><p>Consulte também aqui o regulamento e a lista completa de prémios. Para saber mais sobre a Tailândia visite o site e as páginas de Instagram e Facebook da Autoridade de Turismo da Tailândia em Portugal e o site internacional em inglês.<\\/p>\",\"list_items\":\"[[]]\",\"button_text\":\"IR PARA O QUIZ\",\"button_url\":\"\\/login\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:detailed_block',3,'2024-01-26 10:52:29','2024-01-26 10:53:29',NULL),(25,NULL,'blocks',NULL,'video_responsive','[]','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:video_responsive',25,'2024-01-26 12:02:58','2024-01-26 12:02:58',NULL),(26,NULL,'blocks',NULL,'video_responsive','[]','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:video_responsive',26,'2024-01-26 12:03:36','2024-01-26 12:03:36',NULL),(27,NULL,'blocks',NULL,'video_responsive','[]','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:video_responsive',27,'2024-01-26 12:04:35','2024-01-26 12:04:35',NULL),(28,NULL,'blocks',NULL,'video_responsive','[]','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:video_responsive',28,'2024-01-26 12:05:37','2024-01-26 12:05:37',NULL),(29,NULL,'blocks',NULL,'video_responsive','[]','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:video_responsive',29,'2024-01-26 12:06:32','2024-01-26 12:06:32',NULL),(30,NULL,'blocks',NULL,'video_responsive','[]','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:video_responsive',30,'2024-01-26 12:08:29','2024-01-26 12:08:29',NULL),(31,NULL,'blocks',NULL,'video_responsive','[]','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:video_responsive',31,'2024-01-26 12:10:02','2024-01-26 12:10:02',NULL),(32,13,'blocks',NULL,'paragraph_block','{\"title\":\"Política de Privacidade\",\"content\":\"<p>Em conformidade com o Regulamento Geral de Proteção de Dados (RGPD), em vigor a partir do dia 25 de maio de 2018, informamos sobre a forma, âmbito e finalidade do tratamento dos seus dados pessoais ao usar este microsite \\\"<a href=\\\"https:\\/\\/thaiexperts.turismotailandes.org.pt\\/\\\">https:\\/\\/thaiexperts.turismotailandes.org.pt\\/<\\/a>\\\"<\\/p><p>Consideram-se dados pessoais todas as informações relacionadas com uma pessoa singular identificada ou identificável.<\\/p>\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',1,'2024-08-12 17:20:01','2024-10-24 08:46:09',NULL),(34,13,'blocks',NULL,'paragraph_block','{\"title\":\"\",\"content\":\"<p><strong>1. Entidade Responsável<\\/strong><\\/p><p>Responsável para o processamento e tratamento de dados, nos termos do Regulamento Europeu Geral de Proteção de Dados (RGPD), é a pessoa singular ou coletiva que, por si só ou em conjunto com terceiros, determina as finalidades e os meios de tratamento dos dados pessoais.<\\/p><p>No âmbito do RGPD a entidade responsável para o processamento e tratamento de dados pessoais recolhidos neste online course é:<\\/p><p>Entidade Proprietária (dianto referido como “nós” “nosso(a)” )<\\/p><p>Autoridade de Turismo da Tailândia, representada em Portugal pela Jervis Pereira – Representações e Consultadoria, Lda.,<br>Rua José Galhardo 1, Loja 1-Cave<br>1750-131 Lumiar, Lisboa<br>Tel:(+351) 213 916 600 | (+351) 213 916 601 |&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"mailto:geral@jervispereira.pt\\\">geral@jervispereira.pt<\\/a><\\/p><p>&nbsp;<\\/p><p><strong>2. Dados Recolhidos durante a Navegação e Participação no Online Course<\\/strong><\\/p><p>Quando está a aceder e navegar neste microsite, o servidor recolhe as seguintes informações do seu dispositivo: Tipo de navegador e versão, sistema operacional, página web visitada anteriormente (“Referrer“), o seu endereço IP e data\\/hora da exibição da página.<\\/p><p>O levantamento e processamento destes dados destina-se a garantir o bom funcionamento do nosso site de forma a afastar e acompanhar uma utilização abusiva dos nossos serviços. Utilizamos os dados recolhidos igualmente para fins estatísticos sobre dispositivos e navegadores utilizados, permitindo uma adaptação e melhoria continua da nossa oferta direcionada às necessidades dos utilizadores.<\\/p><p>Este processamento de dados é baseado no Artigo 6º, nº 1, alínea F do RGPD. Todos os dados pessoais acima serão excluídos no máximo doze meses após a recolha.<\\/p><p>Ao participar no online course, registamos os seguintes dados do participante:<\\/p><ul><li>Endereço de correio eletrónico<\\/li><li>Sexo<\\/li><li>Nº BI ou CC<\\/li><li>Nome<\\/li><li>Distrito<\\/li><li>País (valor pré-definido)<\\/li><li>Telefone<\\/li><li>Empresa<\\/li><\\/ul><p>Estes dados serão guardados e podem ser usados pela entidade promotora ou seu representante para os seguintes fins:<\\/p><ul><li>Comunicações durante o online course<\\/li><li>Convite para outros online courses<\\/li><li>Recolha de informação e envio de diploma<\\/li><\\/ul><p>&nbsp;<\\/p><p><strong>3. Criar e Eliminar uma Conta de Participante<\\/strong><\\/p><p>Para participar no online course, o participante pode abrir uma conta de participantes através do seu perfil de Facebook ou do registo manual. A conta de cliente será criada exclusivamente pela sua ação ao submeter os seus dados. A base legal é, portanto, o seu consentimento nos termos do Artigo 6º, nº 1, alínea F do RGPD. Nós retemos os dados pessoais associados à conta de cliente até que solicite a eliminação da mesma. Os dados pessoais respetivamente à sua participação serão conservados pelo período e cumprimento das obrigações legais aplicáveis.<\\/p><p>Solicitar Eliminação de Conta de Cliente<\\/p><p>Deverá contactar a entidade promotora do online course:<\\/p><p>Autoridade de Turismo da Tailândia, representada em Portugal pela Jervis Pereira – Representações e Consultadoria, Lda.,<br>Rua José Galhardo 1, Loja 1 - Cave<br>1750-131 Lumiar, Lisboa<br>Tel:(+351) 213 916 600 | (+351) 213 916 601 |&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"mailto:geral@jervispereira.pt\\\">geral@jervispereira.pt<\\/a><\\/p><p>&nbsp;<\\/p><p><strong>4. Empresas e Sistemas Subcontratos de Suporte<\\/strong><\\/p><p>Os dados das encomendas e contratos são processados através destas entidades de acordo com o Artigo 28.º do RGPD.<\\/p><p>O fornecimento de serviços técnicos para o funcionamento deste Web Site é assegurado de acordo com o Artigo 28º do RGPD pelo fornecedor, e os seus respetivos subcontratados, Viamodul, 2610-141 Amadora – Portugal. O software usado para este Web Site é epages, desenvolvido por epages GmbH, 20355 Hamburg, Alemanha. A aplicação do online course foi desenvolvida pela Viamodul.<\\/p><p>&nbsp;<\\/p><p><strong>5. Notificações por Correio Eletrónico<\\/strong><\\/p><p>Ao longo do online course receberá mensagens com informações sobre o mesmo. Apenas poderá revogar o seu consentimento para o uso do seu endereço de e-mail ao solicitar o cancelamento da sua participação.<\\/p><p>Este tratamento de dados é baseado no seu consentimento, de acordo com o Artigo 6º, nº 1, alínea f do RGPD.<\\/p><p>&nbsp;<\\/p><p><strong>6. Uso de Cookies<\\/strong><\\/p><p>Ao visitar o microsite do online course, é colocado um \\\"cookie\\\" no seu dispositivo. Trata-se de um pequeno ficheiro de texto que podemos utilizar para reconhecer o seu dispositivo quando regressar ao Web Site para uma visita posterior. Um cookie armazenado tem um prazo de validade de doze meses após a sua última visita.<\\/p><p>Este tratamento de dados é baseado no Artigo 6º, nº 1, alínea f do RGPD com o objetivo de otimizar as funções deste online course.<\\/p><p>Porém, pode impedir a criação de cookies nas configurações de cookies do seu navegador da Internet e impedir a criação de cookies deste microsite ou para todos os sites. Pode também eliminar os cookies já armazenados.<\\/p><p>&nbsp;<\\/p><p><strong>7. Google Analytics<\\/strong><\\/p><p>Este microsite usa Google Analytics, um serviço de análise da web da Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, EUA (doravante designado \\\"Google\\\"). A Google coloca um cookie no seu dispositivo. Com esse cookie, a Google pode recolher informações sobre como usa o nosso microsite. Essas informações são transmitidas para um servidor nos EUA, onde são avaliadas pela Google e disponibilizadas para nós. A base legal é o artigo 6º, nº 1, alínea f do RGPD, ou seja, o nosso interesse legítimo na avaliação e otimização do nosso microsite online na Internet.<\\/p><p>Como parte do Acordo sobre Proteção de Privacidade entre a UE e os EUA, a Google compromete-se a cumprir as leis de proteção de dados da União Europeia.<\\/p><p>Usamos o Google Analytics com anonimização de IP ativado. Isso significa que o seu endereço IP será encurtado dentro do âmbito do RGPD, para que o IP não possa ser relacionado com a sua pessoa. Somente em casos excecionais, o endereço IP completo é enviado para um servidor da Google nos EUA e lá encurtado. O endereço IP fornecido pelo seu navegador não será combinado com outros dados na posse da Google. Pode impedir o armazenamento de cookies nas definições de acordo com o seu navegador.<\\/p><p>&nbsp;<\\/p><p><strong>8. Os seus Direitos<\\/strong><\\/p><p>A respeito dos seus dados pessoais que processamos sobre a sua pessoa, poderá exercer os seguintes direitos:<\\/p><p>Tem o direito de pedir a confirmação se processamos os seus dados pessoais. Se este for o caso, iremos informá-lo sobre os seus dados pessoais guardados e as informações adicionais, de acordo com o artigo 15º, parágrafo 1 e 2 do RGPD.<\\/p><p>Tem o direito de pedir a correção sem demora de dados incorretos respeitantes à sua pessoa. Tendo em conta a finalidade de tratamento de dados, tem o direito de exigir que os seus dados sejam completados, também através de declarações adicionais prestadas.<\\/p><p>Tem o direito de nos solicitar a eliminação imediata dos seus dados pessoais sob as condições do Artigo 17º (1) do RGPD, a menos que o processamento seja exigido pelo Artigo 17º (3) do RGPD.<\\/p><p>Tem o direito de exigir a restrição de tratamento dos seus dados pessoais, se uma das condições do Artigo 18º (1) do RGPD for aplicável. Poderá solicitar a restrição de tratamento dos seus dados em vez de exigir uma eliminação.<\\/p><p>Divulgaremos qualquer pedido de correção ou eliminação dos seus dados pessoais e restrições de processamento dos seus dados pessoais a todas as entidades às quais fornecemos os seus dados pessoais, a menos que isso seja impossível ou envolva um esforço desproporcional. Também o informaremos sobre a identidade destas entidades, se o solicitar.<\\/p><p>Tem o direito de receber as informações pessoais, que nos forneceu, em formato estruturado, comum e legível por sistemas informáticos e exigir que transmitamos, sem impor obstáculos, essas informações para outra pessoa responsável na medida do possível.<\\/p><p>Enquanto houver o seu consentimento para o tratamento dos seus dados, tem o direito de revogar o seu consentimento a qualquer momento.<\\/p><p>A sua revogação do consentimento de tratamento dos seus dados pessoais não afeta a legalidade de tratamento dos seus dados pessoais até ao momento de revogação.<\\/p><p>Direito de Objeção: Por razões resultantes da sua situação específica, poderá, a qualquer momento, exercer o seu direito de objeção ao processamento dos seus dados pessoais;<\\/p><p>Este direito de objeção de processamento dos seus dados pessoais refere-se ao processamento de dados baseado no Artigo 6º, nº 1, alínea f do RGPD, para proteger os nossos interesses legítimos ou de terceiros, a menos que os seus interesses ou direitos constitucionais e liberdades fundamentais, que requerem a proteção dos seus dados pessoais, predominem.<\\/p><p>Ao exercer o seu direito de objeção, deixamos de processar os seus dados pessoais em questão, a menos que possamos provar razões imperativas e legítimas para o processamento que superam os seus interesses, direitos e liberdades, ou que o processamento serve para efeitos de alegação, defesa ou reivindicação de direitos legais.<\\/p><p>No caso em que processamos os seus dados pessoais para o envio de publicidade direta (por exemplo newsletter), pode sempre exercer o seu direito de objeção ao tratamento dos seus dados pessoais relevantes para este efeito com o efeito e deixamos de processar os seus dados pessoais para tais fins.<\\/p><p>Se acredita que o processamento dos seus dados pessoais viola o Regulamento Geral de Proteção de Dados (RGPD), pode apresentar recurso através de um órgão regulador, em particular no Estado-Membro da sua residência, no seu local de trabalho ou local de alegada violação. Isso não exclui outros recursos administrativos ou judiciais.<\\/p><p>Solicitar Alteração de Dados ou Consentimento ou Eliminação de Conta de Participante Contacte a entidade promotora para solicitar a alteração de dados ou consentimento ou eliminação da&nbsp;conta de participante:<\\/p><p>Tel:(+351) 213 916 600 | (+351) 213 916 601 |&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"mailto:geral@jervispereira.pt\\\">geral@jervispereira.pt<\\/a> ou&nbsp;<a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"mailto:info@turismotailandes.org.pt\\\">info@turismotailandes.org.pt<\\/a><\\/p><p>&nbsp;<\\/p><p><strong>9. Sobre esta Política de Privacidade<\\/strong><\\/p><p>Reservamo-nos o direito de rever e atualizar a presente Política de Privacidade, o que ser divulgado através deste mircosite.<\\/p><p>Data da última atualização: 11 de julho de 2019<\\/p>\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',2,'2024-08-12 17:21:40','2024-10-24 10:01:12',NULL),(35,14,'blocks',NULL,'paragraph_block','{\"title\":\"Termos e Condições\",\"content\":\"<p><strong>1. Introdução<\\/strong><\\/p><p>Os presentes Termos e Condições regulam o acesso e utilização do microsite&nbsp;<a href=\\\"https:\\/\\/thaiexperts.turismotailandes.org.pt\\/\\\">https:\\/\\/thaiexperts.turismotailandes.org.pt\\/<\\/a>, da responsabilidade da Autoridade de Turismo da Tailândia (TAT) em Portugal, representada pela Jervis Pereira – Representações e Consultadoria, Lda., com sede na Rua José Galhardo 1, Loja 1 – Cave, em Lisboa. Quaisquer questões legais referentes ao microsite poderão ser consultadas nas secções \\\"Política de Privacidade\\\" e \\\"Política de Cookies\\\", as quais constituem parte integrante dos presentes Termos e Condições.<\\/p><p>A utilização deste microsite por qualquer utilizador será regulada pelos seguintes Termos e Condições, implicando a sua utilização uma aceitação dos mesmos pelo utilizador. Caso o utilizador rejeite os presentes Termos e Condições, deve cessar a utilização do mesmo.<\\/p><p>A Autoridade de Turismo da Tailândia (TAT) em Portugal poderá alterar ou atualizar, no todo ou em parte, os presentes Termos e Condições, bem como a Política de Privacidade e a Política de Cookies. Quaisquer alterações ou atualizações dos presentes Termos e Condições, bem como os da Política de Privacidade e Política de Cookies, entrarão em vigor logo que publicados na respetiva secção do microsite. Os utilizadores são aconselhados a consultar regularmente as secções dos Termos e Condições, da Política de Privacidade e da Política de Cookies para verificarem as versões mais atualizadas.<\\/p><p>O acesso e a utilização do microsite são disponibilizados exclusivamente para utilização pessoal e para a promoção da atividade da Autoridade de Turismo da Tailândia (TAT) em Portugal.<\\/p><p>A Autoridade de Turismo da Tailândia (TAT) em Portugal reserva-se o direito de avaliar discricionariamente o cumprimento dos presentes Termos e Condições por parte de qualquer utilizador. A violação dos Termos e Condições poderá implicar a retirada da licença de utilização concedida pela Autoridade de Turismo da Tailândia (TAT) em Portugal nos termos da presente Cláusula 1 e, bem como, exercer os seus direitos na máxima extensão possível permitida por lei.<\\/p><p>Os utilizadores comprometem-se a indemnizar e a exonerar a Autoridade de Turismo da Tailândia (TAT) em Portugal, bem como dos seus legais representantes, parceiros e trabalhadores, de quaisquer danos, responsabilidades, reclamações ou pedidos de compensação, incluindo despesas e custos de representação, peticionadas por terceiros em consequência da utilização do microsite em termos desconformes com os presentes Termos e Condições, e\\/ou em virtude da violação das condições previstas nos mesmos, e\\/ou resultantes de incumprimento das representações e garantias constantes dos presentes Termos e Condições.<\\/p><p>&nbsp;<\\/p><p><strong>2. Licença<\\/strong><\\/p><p>Sem prejuízo do constante nas demais cláusulas dos presentes Termos e Condições, a Autoridade de Turismo da Tailândia (TAT) em Portugal autoriza qualquer utilizador a utilizar este microsite apenas para fins pessoais ou informativos, conforme previsto nos presentes Termos e Condições. A licença de utilização poderá ser revogada pela Autoridade de Turismo da Tailândia (TAT) em Portugal discricionariamente e em qualquer momento. Nos termos da lei e dos presentes Termos e Condições, o utilizador não poderá copiar, utilizar, transferir, alugar, sublicenciar, alterar, adaptar, tentar modificar ou alterar o código fonte, efetuar operações de engenharia reversa, descompilar ou desmontar, no todo ou em parte, o conteúdo do microsite. Ao aceder ao microsite, o utilizador reconhece e aceita que o conteúdo do mesmo poderá estar incompleto, impreciso, não atualizado, ou que poderá não satisfazer as suas necessidades e requisitos.<\\/p><p>&nbsp;<\\/p><p><strong>3. Conteúdo e Limitação de Responsabilidade da Autoridade de Turismo da Tailândia (TAT) em Portugal<\\/strong><\\/p><p>O acesso e utilização do microsite, incluindo a exibição de páginas web, constituem atividades executadas pelos utilizadores.<\\/p><p>Os utilizadores são os únicos e exclusivos responsáveis pela utilização do microsite e dos seus conteúdos. A Autoridade de Turismo da Tailândia (TAT) em Portugal não é responsável, nem assume responsabilidades pela utilização (se existente) do microsite desconforme às disposições legais em vigor pelos utilizadores.<\\/p><p>Em concreto, os utilizadores são os únicos responsáveis pela comunicação de informação ou dados incorretos, falsos, ou de terceiros, sem o seu consentimento, bem como pela utilização incorreta dos mesmos. Os conteúdos do microsite podem conter incorreções ou gralhas. A Autoridade de Turismo da Tailândia (TAT) em Portugal não é responsável, nem poderá ser responsabilizada, por qualquer meio ou modo, pelas incorreções e erros, danos (se existentes) causados ou resultantes da utilização de informação derivada do microsite ou através do microsite por parte dos utilizadores. O utilizador é o único e exclusivo responsável pela avaliação da informação e conteúdos obtidos através do microsite.<\\/p><p>O microsite e toda a informação e conteúdos publicados no mesmo podem ser alterados pela Autoridade de Turismo da Tailândia (TAT) em Portugal a qualquer momento, periodicamente e\\/ou sem aviso prévio. Considerando que quaisquer conteúdos que venham a ser descarregados ou por outro meio obtidos, resultam de decisão livre do utilizador e são efetuados por sua conta e risco, qualquer dano (caso exista) a&nbsp;computadores ou perda de dados resultantes de operações de descarregamento efetuadas pelo utilizador, será da exclusiva responsabilidade do utilizador e não poderá ser imputada à Autoridade de Turismo da Tailândia (TAT) em Portugal. A Autoridade de Turismo da Tailândia (TAT) em Portugal não assume qualquer responsabilidade por danos (caso existam) resultantes da impossibilidade de acesso aos serviços disponibilizados através do microsite ou por dados (caso existam) causados por vírus, ficheiros danificados, erros, omissões, interrupções do serviço, cancelamento de conteúdos, questões relacionadas com a Internet, prestadores de serviços ou com a ligação telefónica e\\/ou telemática, acessos não autorizados, alterações de dados, ou relacionados com a inexistência e\\/ou deficiente funcionamento de dispositivos eletrónicos do utilizador.<\\/p><p>O utilizador é responsável pela guarda e correta utilização da sua informação pessoal, bem como responsável por qualquer dano ou prejuízo causado à Autoridade de Turismo da Tailândia (TAT) em Portugal ou a terceiras partes, resultante da utilização incorreta, perda ou furto da informação pessoal.<\\/p><p>Nos casos de registo, o utilizador é responsável pela guarda e correta utilização das suas credenciais, as quais permitem o acesso à área reservada dos serviços. Nessas circunstâncias, o utilizador será responsável por criar o seu nome de utilizador e password. O utilizador será ainda responsável pela prestação de informação específica, a qual deverá ser correta e atualizada. O utilizador não poderá escolher um nome de utilizador pertencente a terceiro com o intuito de utilizar a sua identidade. O utilizador não poderá, do mesmo modo, utilizar o nome de utilizador de um terceiro sem o seu consentimento expresso.<\\/p><p>O utilizador deverá garantir a confidencialidade da sua password e não deverá partilhar a mesma com terceiros.<\\/p><p>O utilizador é inteira e exclusivamente responsável por quaisquer ações efetuadas através da sua conta de utilizador, diretamente ou mediante terceiros autorizados pelo utilizador. A Autoridade de Turismo da Tailândia (TAT) em Portugal poderá revogar a licença, discricionariamente e a qualquer momento, caso seja identificada a prática de qualquer ato abusivo, fraudulento ou ilegal.<\\/p><p>A Autoridade de Turismo da Tailândia (TAT) em Portugal adotou as medidas técnicas e organizacionais adequadas a salvaguardar a segurança dos serviços por si prestados através do microsite, assegurar a integridade dos dados de tráfego eletrónico relacionados com as formas de utilização ou conhecimento não autorizadas, bem como para evitar riscos de disseminação, destruição ou perda de dados e informação confidencial ou não confidencial dos seus utilizadores, constantes do microsite, ou relacionados com o acesso – não autorizado ou em incumprimento das disposições legais aplicáveis – aos referidos dados pessoais e informação.<\\/p><p>A Autoridade de Turismo da Tailândia (TAT) em Portugal não garante, nem poderá garantir que o microsite esteja livre de vírus ou de qualquer outro elemento que possa afetar negativamente a tecnologia.<\\/p><p>&nbsp;<\\/p><p><strong>4. Acesso ao Microsite. Interrupção e Suspensão<\\/strong><\\/p><p>A Autoridade de Turismo da Tailândia (TAT) em Portugal envida os seus melhores esforços para disponibilizar o acesso contínuo ao microsite. Contudo, o acesso ao microsite poderá ser suspenso, limitado ou interrompido a qualquer momento independentemente do motivo. O acesso ao microsite poderá ser limitado ocasionalmente para permitir a recuperação, manutenção ou introdução de novas funcionalidades ou serviços. A Autoridade de Turismo da Tailândia (TAT) em Portugal envidará os melhores esforços para recuperar o acesso com a maior brevidade possível. A Autoridade de Turismo da Tailândia (TAT) em Portugal reserva o direito de bloquear o acesso a qualquer material e\\/ou remover o material que possa, no seu entendimento discricionário, provocar a violação dos presentes Termos e Condições.<\\/p><p>A Autoridade de Turismo da Tailândia (TAT) em Portugal reserva-se o direito de encerrar as contas de utilizadores que violem os presentes Termos e Condições, incluindo nas situações em que seja verificado que o utilizador se encontra a utilizar proxy IP addresses no intuito de esconder a utilização de contas múltiplas, ou pretenda ser identificado como estando num país distinto do qual efetivamente se encontra, ou cause perturbações ao funcionamento do microsite por qualquer meio.<\\/p><p>&nbsp;<\\/p><p><strong>5. Proteção de Dados Pessoais<\\/strong><\\/p><p>Os utilizadores são aconselhados a ler e a analisar a Política de Privacidade, a qual constitui parte integrante dos presentes Termos e Condições, para compreender como o microsite recolhe e utiliza os dados pessoais dos utilizadores e quais as respetivas finalidades.<\\/p><p>&nbsp;<\\/p><p><strong>6. Direitos de Propriedade Intelectual<\\/strong><\\/p><p>Todos os direitos são reservados. O microsite e todos os seus conteúdos, incluindo sem limitar, artigos, opiniões, outros textos, listas, manuais de utilização, fotografias, desenhos, imagens, clips vídeos ou áudio ou textos de marketing, bem como marcas, logótipos, nomes de domínio, e quaisquer outros elementos que possam ser abrangidos por direitos de propriedade (incluindo os códigos fonte) e\\/ou outras modalidades de direitos de propriedade intelectual (doravante “Material”), são propriedade da Autoridade de Turismo da Tailândia (TAT) em Portugal ou de terceiros, e estão protegidos contra a utilização, a cópia ou a divulgação não autorizada pelas leis nacionais e tratados internacionais relativos aos Direitos de Propriedade Intelectual. Nenhuma das disposições dos Termos e Condições e\\/ou dos conteúdos constantes do microsite poderão ser interpretados como implicitamente conferindo, aceitando ou por qualquer meio licenciado o direito de utilização de qualquer Material por qualquer meio, sem o prévio consentimento escrito da Autoridade de Turismo da Tailândia (TAT) em Portugal ou do terceiro proprietário do Material ou dos direitos de propriedade intelectual publicados no microsite. A utilização, cópia, reprodução, alteração, republicação, atualização, descarregamento, envio por e-mail, transmissão, distribuição ou duplicação, ou qualquer outro ato abusivo do Material não especificamente identificado, mas de idêntica natureza, são proibidos. Na sua qualidade de utilizador do microsite, o utilizador compromete-se a não utilizar o Material para fins ilegais e a não violar os direitos da Autoridade de Turismo da Tailândia (TAT) em Portugal.<\\/p><p>O utilizador poderá, contudo, visualizar e exibir o conteúdo do microsite e\\/ou o Material no ecrã de um computador, armazenar tal conteúdo em formato electrónico no disco (mas não num servidor nem num dispositivo de memória conectado à Internet) ou imprimir uma cópia de tais conteúdos para sua utilização pessoal e não comercial, devendo, contudo, manter todas as informações relacionadas com os direitos de propriedade intelectual.<\\/p><p>O acesso ao microsite não confere ao utilizador qualquer direito sobre os conteúdos disponibilizados pela Autoridade de Turismo da Tailândia (TAT) em Portugal.<\\/p><p>&nbsp;<\\/p><p><strong>7. Links para outros Microsites<\\/strong><\\/p><p>Caso o microsite disponibilize ligações (“Links”) para websites de terceiros ou para conteúdos disponibilizados por terceiros (“Outros websites”), a Autoridade de Turismo da Tailândia (TAT) em Portugal pelo presente informa que a disponibilização de ligações a tais Outros websites são incluídas apenas para fins exclusivamente informativos e para conveniência do Utilizador. A Autoridade de Turismo da Tailândia (TAT) em Portugal não controla os Outros Websites e, por isso, não se responsabiliza por tais Outros Websites ou pelos conteúdos ou produtos que os Outros Websites (incluindo sem limitar, a referência a redes sociais) e não se responsabiliza por quaisquer danos ou prejuízos que possam resultar da utilização dos Outros Websites pelo Utilizador, bem como quanto ao tratamento de dados pessoais durante as operações de navegação na internet. O acesso a qualquer Outro Website, mediante uma ligação existente no microsite da Autoridade de Turismo da Tailândia (TAT) em Portugal, será efetuado por exclusiva responsabilidade e risco do Utilizador.<\\/p><p>O Utilizador deverá, assim, prestar particular atenção quando se conecte a Outros Websites através de ligações existentes no microsite da Autoridade de Turismo da Tailândia (TAT) em Portugal e ler com atenção os respetivos termos e condições e políticas de privacidade.<\\/p><p>&nbsp;<\\/p><p><strong>8. Representações e Garantias do Utilizador<\\/strong><\\/p><p>O utilizador reconhece e declara que:<\\/p><ol><li>leu e compreendeu os presentes Termos e Condições;<\\/li><li>se absterá de reproduzir, duplicar, copiar, vender, revender ou por qualquer meio explorar comercialmente o microsite ou os seus conteúdos, ou parte dos mesmos, bem como se absterá de utilizar ou reproduzir as marcas ou quaisquer direitos de propriedade intelectual ou industrial da Autoridade de Turismo da Tailândia (TAT) em Portugal;<\\/li><li>não publicará ou utilizará informação falsa, injuriosa ou difamatória;<\\/li><li>se absterá de utilizar, direta ou indiretamente, os serviços ou o microsite para fins contrários à lei ou desconforme aos princípios constantes dos presentes Termos e Condições;<\\/li><li>não propagará vírus, spyware, adware, rootkit, backdoor ou vírus Trojan ou outras ameaças informáticas similares;<\\/li><li>não utilizará software ou outros mecanismos automáticos ou manuais para copiar ou aceder ao controlo do microsite ou do seu conteúdo.<\\/li><\\/ol><p>&nbsp;<\\/p><p><strong>9. Disposições Diversas<\\/strong><\\/p><p>A nulidade de alguma das disposições constantes nos presentes Termos e Condições ter-se-á por suprimida destes, permanecendo as restantes disposições do mesmo integralmente em vigor e produzindo os seus efeitos.<\\/p><p>O presente contrato reger-se-á pelo direito português e será interpretado de acordo com a lei portuguesa, em conformidade com os contratos celebrados e executados neste país. Na falta de acordo amigável entre as partes, os respetivos conflitos e disputas de qualquer natureza relativos à formação, execução ou interpretação do presente Contrato, serão resolvidos definitivamente pelos Tribunais Judiciais de Lisboa, com expressa renúncia a quaisquer outros.<\\/p><p>O utilizador poderá contactar-nos para qualquer questão relacionada com os Termos e Condições ou para qualquer questão relacionada com a utilização do microsite, através de carta registada com aviso de receção para a morada da Autoridade de Turismo da Tailândia (TAT) em Portugal ou através de e-mail para Autoridade de Turismo da Tailândia (TAT) em Portugal, <a data-link-type=\\\"external\\\" data-type=\\\"linkpicker\\\" href=\\\"mailto:info@turismotailandes.org.pt\\\">info@turismotailandes.org.pt<\\/a><\\/p>\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',1,'2024-08-12 17:22:42','2024-10-24 08:59:57',NULL),(36,NULL,'blocks',NULL,'paragraph_block','[]','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',36,'2024-09-12 07:09:23','2024-09-12 07:09:23',NULL),(37,NULL,'blocks',NULL,'paragraph_block','[]','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:paragraph_block',37,'2024-09-12 07:13:33','2024-09-12 07:13:33',NULL),(38,NULL,'blocks',NULL,'image_slice','[]','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:image_slice',38,'2024-09-12 07:14:23','2024-09-12 07:14:23',NULL),(39,16,'blocks',NULL,'image_slice','{\"image\":\"\\/Img-o-que-ganha-sempre.png\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:image_slice',1,'2024-09-12 07:15:34','2024-09-12 07:16:01',NULL),(40,16,'blocks',NULL,'detailed_block','{\"title\":\"O que ganha sermpre\",\"content\":\"\",\"list_items\":\"[[]]\",\"button_text\":\"\",\"button_url\":\"\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:detailed_block',2,'2024-09-12 07:15:45','2024-09-12 07:16:01',NULL),(41,17,'blocks',NULL,'image_slice','{\"image\":\"\\/Img-o-que-pode-ganhar.png\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:image_slice',1,'2024-09-12 07:23:04','2024-09-12 07:27:45',NULL),(42,17,'blocks',NULL,'detailed_block','{\"title\":\"Dass können Sie gewinnen\",\"content\":\"<p>Diese tolle Preise warten auf Sie:<\\/p><ol><li>Preis: Eine 10 Tagesreise für 2 Personen nach Thailand<\\/li><li>Preis: Eine 5 Tagesreise für 2 Peronen nach Thailand<\\/li><li>Preis: Abendessen für 2 Personen in einem thailändischen Restaurant&nbsp;<\\/li><\\/ol><p><br><\\/p>\",\"list_items\":\"[[]]\",\"button_text\":\"Jetzt mitmachen\",\"button_url\":\"https:\\/\\/meinquiz.de\\/quiz\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@819b5af2-6b23-4d3d-b298-069c415a0df0.blocks:detailed_block',2,'2024-09-12 07:25:53','2024-09-12 07:32:00',NULL);

--
-- Table structure for table `xc_85e471d209b94f3da63b1ae9d92d2879c`
--

CREATE TABLE `xc_85e471d209b94f3da63b1ae9d92d2879c` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `site_id` int(11) DEFAULT NULL,
  `site_root_id` int(11) DEFAULT NULL,
  `blueprint_uuid` varchar(255) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `title` varchar(255) DEFAULT NULL,
  `slug` varchar(255) DEFAULT NULL,
  `is_enabled` tinyint(1) DEFAULT NULL,
  `published_at` timestamp NULL DEFAULT NULL,
  `published_at_date` timestamp NULL DEFAULT NULL,
  `expired_at` timestamp NULL DEFAULT NULL,
  `draft_mode` int(11) NOT NULL DEFAULT 1,
  `primary_id` int(10) unsigned DEFAULT NULL,
  `primary_attrs` mediumtext DEFAULT NULL,
  `is_version` tinyint(1) NOT NULL DEFAULT 0,
  `created_user_id` int(10) unsigned DEFAULT NULL,
  `updated_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_85e471d209b94f3da63b1ae9d92d2879c_site_id_index` (`site_id`),
  KEY `xc_85e471d209b94f3da63b1ae9d92d2879c_site_root_id_index` (`site_root_id`),
  KEY `xc_85e471d209b94f3da63b1ae9d92d2879c_blueprint_uuid_index` (`blueprint_uuid`),
  KEY `xc_85e471d209b94f3da63b1ae9d92d2879c_content_group_index` (`content_group`),
  KEY `xc_85e471d209b94f3da63b1ae9d92d2879c_slug_index` (`slug`),
  KEY `xc_85e471d209b94f3da63b1ae9d92d2879c_primary_id_index` (`primary_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Content for Menu [Site\\Menus].';

--
-- Dumping data for table `xc_85e471d209b94f3da63b1ae9d92d2879c`
--

INSERT INTO `xc_85e471d209b94f3da63b1ae9d92d2879c` VALUES (1,1,1,'85e471d2-09b9-4f3d-a63b-1ae9d92d2879',NULL,'Hauptmenü','hauptmenu',1,NULL,'2024-09-12 07:39:23',NULL,1,NULL,NULL,0,2,2,NULL,'2024-09-12 07:40:34','2024-09-12 07:39:23','2024-09-12 07:40:34');

--
-- Table structure for table `xc_85e471d209b94f3da63b1ae9d92d2879j`
--

CREATE TABLE `xc_85e471d209b94f3da63b1ae9d92d2879j` (
  `parent_id` int(11) DEFAULT NULL,
  `relation_id` int(11) DEFAULT NULL,
  `relation_type` varchar(255) DEFAULT NULL,
  `field_name` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  KEY `xc_85e471d209b94f3da63b1ae9d92d2879j_idx` (`parent_id`,`relation_type`,`field_name`),
  KEY `xc_85e471d209b94f3da63b1ae9d92d2879j_field_name_index` (`field_name`),
  KEY `xc_85e471d209b94f3da63b1ae9d92d2879j_site_id_index` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Joins for Menu [Site\\Menus].';

--
-- Dumping data for table `xc_85e471d209b94f3da63b1ae9d92d2879j`
--


--
-- Table structure for table `xc_85e471d209b94f3da63b1ae9d92d2879r`
--

CREATE TABLE `xc_85e471d209b94f3da63b1ae9d92d2879r` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `host_id` int(11) DEFAULT NULL,
  `host_field` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `content_value` mediumtext DEFAULT NULL,
  `content_spawn_path` text DEFAULT NULL,
  `parent_id` int(11) DEFAULT NULL,
  `sort_order` int(11) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_85e471d209b94f3da63b1ae9d92d2879r_idx` (`host_id`,`host_field`),
  KEY `xc_85e471d209b94f3da63b1ae9d92d2879r_site_id_index` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Repeaters for Menu [Site\\Menus].';

--
-- Dumping data for table `xc_85e471d209b94f3da63b1ae9d92d2879r`
--


--
-- Table structure for table `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1c`
--

CREATE TABLE `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1c` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `site_id` int(11) DEFAULT NULL,
  `site_root_id` int(11) DEFAULT NULL,
  `blueprint_uuid` varchar(255) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `title` varchar(255) DEFAULT NULL,
  `slug` varchar(255) DEFAULT NULL,
  `is_enabled` tinyint(1) DEFAULT NULL,
  `published_at` timestamp NULL DEFAULT NULL,
  `published_at_date` timestamp NULL DEFAULT NULL,
  `expired_at` timestamp NULL DEFAULT NULL,
  `draft_mode` int(11) NOT NULL DEFAULT 1,
  `primary_id` int(10) unsigned DEFAULT NULL,
  `primary_attrs` mediumtext DEFAULT NULL,
  `is_version` tinyint(1) NOT NULL DEFAULT 0,
  `created_user_id` int(10) unsigned DEFAULT NULL,
  `updated_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1c_site_id_index` (`site_id`),
  KEY `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1c_site_root_id_index` (`site_root_id`),
  KEY `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1c_blueprint_uuid_index` (`blueprint_uuid`),
  KEY `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1c_content_group_index` (`content_group`),
  KEY `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1c_slug_index` (`slug`),
  KEY `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1c_primary_id_index` (`primary_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1c`
--

INSERT INTO `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1c` VALUES (1,1,1,'a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1',NULL,'About Us','about-us',1,NULL,'2023-01-03 15:57:46',NULL,1,NULL,NULL,0,NULL,NULL,NULL,'2023-10-16 16:36:26','2023-01-03 15:57:46','2023-10-16 16:36:26'),(2,2,2,'a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1',NULL,'Landing for Test','landingpage',1,NULL,'2023-10-16 16:36:26',NULL,1,NULL,NULL,0,NULL,NULL,NULL,NULL,'2023-10-16 16:36:26','2023-10-16 16:41:07');

--
-- Table structure for table `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1j`
--

CREATE TABLE `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1j` (
  `parent_id` int(11) DEFAULT NULL,
  `relation_id` int(11) DEFAULT NULL,
  `relation_type` varchar(255) DEFAULT NULL,
  `field_name` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  KEY `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1j_idx` (`relation_id`,`relation_type`),
  KEY `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1j_field_name_index` (`field_name`),
  KEY `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1j_site_id_index` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1j`
--


--
-- Table structure for table `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1r`
--

CREATE TABLE `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1r` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `host_id` int(11) DEFAULT NULL,
  `host_field` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `content_value` mediumtext DEFAULT NULL,
  `content_spawn_path` text DEFAULT NULL,
  `sort_order` int(11) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `parent_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1r_idx` (`host_id`,`host_field`),
  KEY `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1r_site_id_index` (`site_id`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Content for Landing Page [LandingPage].';

--
-- Dumping data for table `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1r`
--

INSERT INTO `xc_a63fabaf7c0b4c74b36f7abf1a3ad1c1r` VALUES (1,1,'blocks',NULL,'image_slice','{\"image\":\"\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:image_slice',1,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(2,1,'blocks',NULL,'paragraph_block','{\"title\":\"Outstanding performance\",\"content\":\"<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.<\\/p>\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:paragraph_block',2,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(3,1,'blocks',NULL,'detailed_block','{\"title\":\"Why work with us\",\"content\":\"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.<\\/p>\",\"list_items\":\"[{\\\"text\\\":\\\"Doloremque\\\"},{\\\"text\\\":\\\"Beatae vitae\\\"},{\\\"text\\\":\\\"Totam rem aperiam\\\"}]\",\"button_text\":\"Learn more about our process\",\"button_url\":\"https:\\/\\/octobercms.com\\/features\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:detailed_block',3,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(4,1,'blocks',NULL,'scoreboard_metrics',NULL,'Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:scoreboard_metrics',4,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(5,4,'metrics',NULL,NULL,'{\"number\":3912,\"description\":\"Sed ut perspiciatis\",\"icon\":\"notepad\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:scoreboard_metrics.metrics',1,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(6,4,'metrics',NULL,NULL,'{\"number\":223,\"description\":\"Nemo enim ipsam\",\"icon\":\"shield\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:scoreboard_metrics.metrics',2,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(7,4,'metrics',NULL,NULL,'{\"number\":863,\"description\":\"Nam libero tempore\",\"icon\":\"basket\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:scoreboard_metrics.metrics',3,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(8,4,'metrics',NULL,NULL,'{\"number\":865,\"description\":\"Et harum quidem rerum\",\"icon\":\"briefcase\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:scoreboard_metrics.metrics',4,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(9,1,'blocks',NULL,'team_leaders',NULL,'Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders',5,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(10,9,'members',NULL,NULL,'{\"title\":\"Andy Anderson\",\"role\":\"Sales Manager\",\"description\":\"Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam.\",\"avatar\":\"\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members',1,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(11,10,'social_links',NULL,NULL,'{\"platform\":\"twitter\",\"url\":\"https:\\/\\/twitter.com\\/octobercms\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',1,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(12,10,'social_links',NULL,NULL,'{\"platform\":\"linkedin\",\"url\":\"https:\\/\\/www.linkedin.com\\/company\\/october-cms\\/\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',2,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(13,10,'social_links',NULL,NULL,'{\"platform\":\"facebook\",\"url\":\"https:\\/\\/facebook.com\\/octobercms\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',3,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(14,9,'members',NULL,NULL,'{\"title\":\"Bob Harris\",\"role\":\"Product Designer\",\"description\":\"Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque.\",\"avatar\":\"\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members',2,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(15,14,'social_links',NULL,NULL,'{\"platform\":\"twitter\",\"url\":\"https:\\/\\/twitter.com\\/octobercms\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',1,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(16,14,'social_links',NULL,NULL,'{\"platform\":\"youtube\",\"url\":\"https:\\/\\/www.youtube.com\\/c\\/OctoberCMSOfficial\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',2,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(17,14,'social_links',NULL,NULL,'{\"platform\":\"dribbble\",\"url\":\"https:\\/\\/www.dribbble.com\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',3,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(18,14,'social_links',NULL,NULL,'{\"platform\":\"facebook\",\"url\":\"https:\\/\\/facebook.com\\/octobercms\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',4,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(19,9,'members',NULL,NULL,'{\"title\":\"Ann Lewis\",\"role\":\"Marketing Manager\",\"description\":\"Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla.\",\"avatar\":\"\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members',3,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(20,19,'social_links',NULL,NULL,'{\"platform\":\"twitter\",\"url\":\"https:\\/\\/twitter.com\\/octobercms\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',1,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(21,19,'social_links',NULL,NULL,'{\"platform\":\"linkedin\",\"url\":\"https:\\/\\/www.linkedin.com\\/company\\/october-cms\\/\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',2,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(22,19,'social_links',NULL,NULL,'{\"platform\":\"facebook\",\"url\":\"https:\\/\\/facebook.com\\/octobercms\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',3,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(23,9,'members',NULL,NULL,'{\"title\":\"Christina Thompson\",\"role\":\"System Analyst\",\"description\":\"Et harum quidem rerum facilis est et expedita distinctio.\",\"avatar\":\"\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members',4,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(24,23,'social_links',NULL,NULL,'{\"platform\":\"twitter\",\"url\":\"https:\\/\\/twitter.com\\/octobercms\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',1,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(25,23,'social_links',NULL,NULL,'{\"platform\":\"youtube\",\"url\":\"https:\\/\\/www.youtube.com\\/c\\/OctoberCMSOfficial\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',2,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(26,23,'social_links',NULL,NULL,'{\"platform\":\"dribbble\",\"url\":\"https:\\/\\/www.dribbble.com\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',3,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(27,23,'social_links',NULL,NULL,'{\"platform\":\"facebook\",\"url\":\"https:\\/\\/facebook.com\\/octobercms\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',4,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(28,9,'members',NULL,NULL,'{\"title\":\"John Smith\",\"role\":\"President\",\"description\":\"Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.\",\"avatar\":\"\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members',5,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(29,28,'social_links',NULL,NULL,'{\"platform\":\"dribbble\",\"url\":\"https:\\/\\/www.dribbble.com\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',1,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(30,28,'social_links',NULL,NULL,'{\"platform\":\"linkedin\",\"url\":\"https:\\/\\/www.linkedin.com\\/company\\/october-cms\\/\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',2,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(31,28,'social_links',NULL,NULL,'{\"platform\":\"youtube\",\"url\":\"https:\\/\\/www.youtube.com\\/c\\/OctoberCMSOfficial\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:team_leaders.members.social_links',3,'2023-01-03 15:57:46','2023-01-03 15:57:46',NULL),(32,2,'blocks',NULL,'paragraph_block','{\"title\":\"Bem vindo!\",\"content\":\"<p>Isto é o blah blah.<\\/p>\",\"image\":\"\\/Freyshopping.png\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:paragraph_block',1,'2023-10-16 16:36:51','2023-10-16 16:41:07',NULL),(33,2,'blocks',NULL,'detailed_block','{\"title\":\"Bem vindo!\",\"content\":\"<p>The <strong>Landing<\\/strong> page for testing<\\/p>\",\"list_items\":\"[[],{\\\"text\\\":\\\"1. A aa\\\"},{\\\"text\\\":\\\"2. B bb\\\"},{\\\"text\\\":\\\"3. C cc\\\"}]\",\"button_text\":\"test it\",\"button_url\":\"\",\"image\":\"\"}','Tailor\\Models\\EntryRecord@a63fabaf-7c0b-4c74-b36f-7abf1a3ad1c1.blocks:detailed_block',2,'2023-10-16 16:39:45','2023-10-16 16:41:08',NULL);

--
-- Table structure for table `xc_b022a74b15e64c6b9eb917efc5103543c`
--

CREATE TABLE `xc_b022a74b15e64c6b9eb917efc5103543c` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `site_id` int(11) DEFAULT NULL,
  `site_root_id` int(11) DEFAULT NULL,
  `blueprint_uuid` varchar(255) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `title` varchar(255) DEFAULT NULL,
  `slug` varchar(255) DEFAULT NULL,
  `is_enabled` tinyint(1) DEFAULT NULL,
  `published_at` timestamp NULL DEFAULT NULL,
  `published_at_date` timestamp NULL DEFAULT NULL,
  `expired_at` timestamp NULL DEFAULT NULL,
  `draft_mode` int(11) NOT NULL DEFAULT 1,
  `primary_id` int(10) unsigned DEFAULT NULL,
  `primary_attrs` mediumtext DEFAULT NULL,
  `is_version` tinyint(1) NOT NULL DEFAULT 0,
  `fullslug` varchar(255) DEFAULT NULL,
  `parent_id` int(11) DEFAULT NULL,
  `nest_left` int(11) DEFAULT NULL,
  `nest_right` int(11) DEFAULT NULL,
  `nest_depth` int(11) DEFAULT NULL,
  `description` text DEFAULT NULL,
  `created_user_id` int(10) unsigned DEFAULT NULL,
  `updated_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_b022a74b15e64c6b9eb917efc5103543c_site_id_index` (`site_id`),
  KEY `xc_b022a74b15e64c6b9eb917efc5103543c_site_root_id_index` (`site_root_id`),
  KEY `xc_b022a74b15e64c6b9eb917efc5103543c_blueprint_uuid_index` (`blueprint_uuid`),
  KEY `xc_b022a74b15e64c6b9eb917efc5103543c_content_group_index` (`content_group`),
  KEY `xc_b022a74b15e64c6b9eb917efc5103543c_slug_index` (`slug`),
  KEY `xc_b022a74b15e64c6b9eb917efc5103543c_primary_id_index` (`primary_id`),
  KEY `xc_b022a74b15e64c6b9eb917efc5103543c_fullslug_index` (`fullslug`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `xc_b022a74b15e64c6b9eb917efc5103543c`
--

INSERT INTO `xc_b022a74b15e64c6b9eb917efc5103543c` VALUES (1,1,1,'b022a74b-15e6-4c6b-9eb9-17efc5103543',NULL,'Announcements','announcements',1,NULL,'2023-01-03 15:57:46',NULL,1,NULL,NULL,0,NULL,NULL,1,2,0,'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt molliti',NULL,NULL,NULL,NULL,'2023-01-03 15:57:46','2023-01-03 15:57:46'),(2,1,2,'b022a74b-15e6-4c6b-9eb9-17efc5103543',NULL,'News','news',1,NULL,'2023-01-03 15:57:46',NULL,1,NULL,NULL,0,NULL,NULL,3,4,0,'Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.',NULL,NULL,NULL,NULL,'2023-01-03 15:57:46','2023-01-03 15:57:46'),(3,1,3,'b022a74b-15e6-4c6b-9eb9-17efc5103543',NULL,'Startup Ideas','startup-ideas',1,NULL,'2023-01-03 15:57:46',NULL,1,NULL,NULL,0,NULL,NULL,5,6,0,'Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proide',NULL,NULL,NULL,NULL,'2023-01-03 15:57:46','2023-01-03 15:57:46'),(4,1,4,'b022a74b-15e6-4c6b-9eb9-17efc5103543',NULL,'Updates','updates',1,NULL,'2023-01-03 15:57:46',NULL,1,NULL,NULL,0,NULL,NULL,7,8,0,'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt molliti',NULL,NULL,NULL,NULL,'2023-01-03 15:57:46','2023-01-03 15:57:46'),(5,1,5,'b022a74b-15e6-4c6b-9eb9-17efc5103543',NULL,'Automation','automation',1,NULL,'2023-01-03 15:57:46',NULL,1,NULL,NULL,0,NULL,NULL,9,10,0,'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.',NULL,NULL,NULL,NULL,'2023-01-03 15:57:46','2023-01-03 15:57:46');

--
-- Table structure for table `xc_b022a74b15e64c6b9eb917efc5103543j`
--

CREATE TABLE `xc_b022a74b15e64c6b9eb917efc5103543j` (
  `parent_id` int(11) DEFAULT NULL,
  `relation_id` int(11) DEFAULT NULL,
  `relation_type` varchar(255) DEFAULT NULL,
  `field_name` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  KEY `xc_b022a74b15e64c6b9eb917efc5103543j_idx` (`relation_id`,`relation_type`),
  KEY `xc_b022a74b15e64c6b9eb917efc5103543j_field_name_index` (`field_name`),
  KEY `xc_b022a74b15e64c6b9eb917efc5103543j_site_id_index` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `xc_b022a74b15e64c6b9eb917efc5103543j`
--


--
-- Table structure for table `xc_b022a74b15e64c6b9eb917efc5103543r`
--

CREATE TABLE `xc_b022a74b15e64c6b9eb917efc5103543r` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `host_id` int(11) DEFAULT NULL,
  `host_field` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `content_value` mediumtext DEFAULT NULL,
  `content_spawn_path` text DEFAULT NULL,
  `sort_order` int(11) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `parent_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_b022a74b15e64c6b9eb917efc5103543r_idx` (`host_id`,`host_field`),
  KEY `xc_b022a74b15e64c6b9eb917efc5103543r_site_id_index` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Content for Category [Blog\\Category].';

--
-- Dumping data for table `xc_b022a74b15e64c6b9eb917efc5103543r`
--


--
-- Table structure for table `xc_edcd102e05254e4db07e633ae6c18db6c`
--

CREATE TABLE `xc_edcd102e05254e4db07e633ae6c18db6c` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `site_id` int(11) DEFAULT NULL,
  `site_root_id` int(11) DEFAULT NULL,
  `blueprint_uuid` varchar(255) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `title` varchar(255) DEFAULT NULL,
  `slug` varchar(255) DEFAULT NULL,
  `is_enabled` tinyint(1) DEFAULT NULL,
  `published_at` timestamp NULL DEFAULT NULL,
  `published_at_date` timestamp NULL DEFAULT NULL,
  `expired_at` timestamp NULL DEFAULT NULL,
  `draft_mode` int(11) NOT NULL DEFAULT 1,
  `primary_id` int(10) unsigned DEFAULT NULL,
  `primary_attrs` mediumtext DEFAULT NULL,
  `is_version` tinyint(1) NOT NULL DEFAULT 0,
  `published_at_day` int(11) DEFAULT NULL,
  `published_at_month` int(11) DEFAULT NULL,
  `published_at_year` int(11) DEFAULT NULL,
  `content` mediumtext DEFAULT NULL,
  `x_author_id_4ec60a4c` int(10) unsigned DEFAULT NULL,
  `x_featured_text_708157a9` mediumtext DEFAULT NULL,
  `x_gallery_media_dfb74bb3` mediumtext DEFAULT NULL,
  `created_user_id` int(10) unsigned DEFAULT NULL,
  `updated_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_user_id` int(10) unsigned DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_edcd102e05254e4db07e633ae6c18db6c_site_id_index` (`site_id`),
  KEY `xc_edcd102e05254e4db07e633ae6c18db6c_site_root_id_index` (`site_root_id`),
  KEY `xc_edcd102e05254e4db07e633ae6c18db6c_blueprint_uuid_index` (`blueprint_uuid`),
  KEY `xc_edcd102e05254e4db07e633ae6c18db6c_content_group_index` (`content_group`),
  KEY `xc_edcd102e05254e4db07e633ae6c18db6c_slug_index` (`slug`),
  KEY `xc_edcd102e05254e4db07e633ae6c18db6c_primary_id_index` (`primary_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `xc_edcd102e05254e4db07e633ae6c18db6c`
--

INSERT INTO `xc_edcd102e05254e4db07e633ae6c18db6c` VALUES (1,1,1,'edcd102e-0525-4e4d-b07e-633ae6c18db6','regular_post','Consectetur adipiscing elit','consectetur-adipiscing-elit',1,NULL,'2023-01-03 15:57:46',NULL,1,NULL,NULL,0,3,1,2023,'<p>PT - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p><p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?</p>',1,'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.',NULL,NULL,NULL,NULL,NULL,'2023-01-03 15:57:46','2023-01-03 16:29:21'),(2,1,2,'edcd102e-0525-4e4d-b07e-633ae6c18db6','regular_post','Nemo enim ipsam','nemo-enim-ipsam',1,NULL,'2023-01-03 15:57:46',NULL,1,NULL,NULL,0,3,1,2023,'<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p><p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?</p>',1,'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.',NULL,NULL,NULL,NULL,NULL,'2023-01-03 15:57:46','2023-01-03 15:57:46'),(3,2,1,'edcd102e-0525-4e4d-b07e-633ae6c18db6','regular_post','Consectetur adipiscing elit','consectetur-adipiscing-elit',0,NULL,'2023-01-03 16:30:01',NULL,1,NULL,NULL,0,3,1,2023,'<p>EN - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p><p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?</p>',1,'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.',NULL,NULL,NULL,NULL,NULL,'2023-01-03 16:30:01','2023-01-03 16:34:55');

--
-- Table structure for table `xc_edcd102e05254e4db07e633ae6c18db6j`
--

CREATE TABLE `xc_edcd102e05254e4db07e633ae6c18db6j` (
  `parent_id` int(11) DEFAULT NULL,
  `relation_id` int(11) DEFAULT NULL,
  `relation_type` varchar(255) DEFAULT NULL,
  `field_name` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  KEY `xc_edcd102e05254e4db07e633ae6c18db6j_idx` (`relation_id`,`relation_type`),
  KEY `xc_edcd102e05254e4db07e633ae6c18db6j_field_name_index` (`field_name`),
  KEY `xc_edcd102e05254e4db07e633ae6c18db6j_site_id_index` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `xc_edcd102e05254e4db07e633ae6c18db6j`
--

INSERT INTO `xc_edcd102e05254e4db07e633ae6c18db6j` VALUES (1,1,'Tailor\\Models\\EntryRecord@xc_b022a74b15e64c6b9eb917efc5103543c','categories',NULL),(2,2,'Tailor\\Models\\EntryRecord@xc_b022a74b15e64c6b9eb917efc5103543c','categories',NULL),(3,1,'Tailor\\Models\\EntryRecord@xc_b022a74b15e64c6b9eb917efc5103543c','categories',NULL);

--
-- Table structure for table `xc_edcd102e05254e4db07e633ae6c18db6r`
--

CREATE TABLE `xc_edcd102e05254e4db07e633ae6c18db6r` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `host_id` int(11) DEFAULT NULL,
  `host_field` varchar(255) DEFAULT NULL,
  `site_id` int(11) DEFAULT NULL,
  `content_group` varchar(255) DEFAULT NULL,
  `content_value` mediumtext DEFAULT NULL,
  `content_spawn_path` text DEFAULT NULL,
  `sort_order` int(11) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `parent_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xc_edcd102e05254e4db07e633ae6c18db6r_idx` (`host_id`,`host_field`),
  KEY `xc_edcd102e05254e4db07e633ae6c18db6r_site_id_index` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Content for Post [Blog\\Post].';

--
-- Dumping data for table `xc_edcd102e05254e4db07e633ae6c18db6r`
--


--
-- Current Database: `mysql`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysql` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */;

USE `mysql`;

--
-- Table structure for table `general_log`
--

CREATE TABLE IF NOT EXISTS `general_log` (
  `event_time` timestamp(6) NOT NULL DEFAULT current_timestamp(6) ON UPDATE current_timestamp(6),
  `user_host` mediumtext NOT NULL,
  `thread_id` bigint(21) unsigned NOT NULL,
  `server_id` int(10) unsigned NOT NULL,
  `command_type` varchar(64) NOT NULL,
  `argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci COMMENT='General log';

--
-- Table structure for table `slow_log`
--

CREATE TABLE IF NOT EXISTS `slow_log` (
  `start_time` timestamp(6) NOT NULL DEFAULT current_timestamp(6) ON UPDATE current_timestamp(6),
  `user_host` mediumtext NOT NULL,
  `query_time` time(6) NOT NULL,
  `lock_time` time(6) NOT NULL,
  `rows_sent` bigint(20) unsigned NOT NULL,
  `rows_examined` bigint(20) unsigned NOT NULL,
  `db` varchar(512) NOT NULL,
  `last_insert_id` int(11) NOT NULL,
  `insert_id` int(11) NOT NULL,
  `server_id` int(10) unsigned NOT NULL,
  `sql_text` mediumtext NOT NULL,
  `thread_id` bigint(21) unsigned NOT NULL,
  `rows_affected` bigint(20) unsigned NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci COMMENT='Slow log';

--
-- Table structure for table `column_stats`
--

CREATE TABLE `column_stats` (
  `db_name` varchar(64) NOT NULL,
  `table_name` varchar(64) NOT NULL,
  `column_name` varchar(64) NOT NULL,
  `min_value` varbinary(255) DEFAULT NULL,
  `max_value` varbinary(255) DEFAULT NULL,
  `nulls_ratio` decimal(12,4) DEFAULT NULL,
  `avg_length` decimal(12,4) DEFAULT NULL,
  `avg_frequency` decimal(12,4) DEFAULT NULL,
  `hist_size` tinyint(3) unsigned DEFAULT NULL,
  `hist_type` enum('SINGLE_PREC_HB','DOUBLE_PREC_HB') DEFAULT NULL,
  `histogram` varbinary(255) DEFAULT NULL,
  PRIMARY KEY (`db_name`,`table_name`,`column_name`)
) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Columns';

--
-- Dumping data for table `column_stats`
--


--
-- Table structure for table `columns_priv`
--

CREATE TABLE `columns_priv` (
  `Host` char(255) NOT NULL DEFAULT '',
  `Db` char(64) NOT NULL DEFAULT '',
  `User` char(128) NOT NULL DEFAULT '',
  `Table_name` char(64) NOT NULL DEFAULT '',
  `Column_name` char(64) NOT NULL DEFAULT '',
  `Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '',
  PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`,`Column_name`)
) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Column privileges';

--
-- Dumping data for table `columns_priv`
--


--
-- Table structure for table `db`
--

CREATE TABLE `db` (
  `Host` char(255) NOT NULL DEFAULT '',
  `Db` char(64) NOT NULL DEFAULT '',
  `User` char(128) NOT NULL DEFAULT '',
  `Select_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Insert_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Update_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Delete_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Create_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Drop_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Grant_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `References_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Index_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Alter_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Create_view_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Show_view_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Create_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Execute_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Event_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Trigger_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  `Delete_history_priv` enum('N','Y') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N',
  PRIMARY KEY (`Host`,`Db`,`User`),
  KEY `User` (`User`)
) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Database privileges';

--
-- Dumping data for table `db`
--

INSERT INTO `db` VALUES ('localhost','thaiexperts','usr_thaiexperts','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'),('localhost','amazingthai','usr_amazingthai','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'),('localhost','mysql','backup_useroctobercms','Y','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N');

--
-- Table structure for table `event`
--

CREATE TABLE `event` (
  `db` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `name` char(64) NOT NULL DEFAULT '',
  `body` longblob NOT NULL,
  `definer` varchar(384) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `execute_at` datetime DEFAULT NULL,
  `interval_value` int(11) DEFAULT NULL,
  `interval_field` enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') DEFAULT NULL,
  `created` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `last_executed` datetime DEFAULT NULL,
  `starts` datetime DEFAULT NULL,
  `ends` datetime DEFAULT NULL,
  `status` enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL DEFAULT 'ENABLED',
  `on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP',
  `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','IGNORE_BAD_TABLE_OPTIONS','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') NOT NULL DEFAULT '',
  `comment` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
  `originator` int(10) unsigned NOT NULL,
  `time_zone` char(64) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT 'SYSTEM',
  `character_set_client` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
  `collation_connection` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
  `db_collation` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
  `body_utf8` longblob DEFAULT NULL,
  PRIMARY KEY (`db`,`name`)
) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Events';

--
-- Table structure for table `func`
--

CREATE TABLE `func` (
  `name` char(64) NOT NULL DEFAULT '',
  `ret` tinyint(1) NOT NULL DEFAULT 0,
  `dl` char(128) NOT NULL DEFAULT '',
  `type` enum('function','aggregate') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
  PRIMARY KEY (`name`)
) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='User defined functions';

--
-- Dumping data for table `func`
--


--
-- Table structure for table `global_priv`
--

CREATE TABLE `global_priv` (
  `Host` char(255) NOT NULL DEFAULT '',
  `User` char(128) NOT NULL DEFAULT '',
  `Priv` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '{}' CHECK (json_valid(`Priv`)),
  PRIMARY KEY (`Host`,`User`)
) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Users and global privileges';

--
-- Dumping data for table `global_priv`
--

INSERT INTO `global_priv` VALUES ('localhost','mariadb.sys','{\"access\":0,\"plugin\":\"mysql_native_password\",\"authentication_string\":\"\",\"account_locked\":true,\"password_last_changed\":0}'),('localhost','root','{\"access\":18446744073709551615,\"plugin\":\"mysql_native_password\",\"authentication_string\":\"invalid\",\"auth_or\":[{},{\"plugin\":\"unix_socket\"}]}'),('localhost','mysql','{\"access\":18446744073709551615,\"plugin\":\"mysql_native_password\",\"authentication_string\":\"invalid\",\"auth_or\":[{},{\"plugin\":\"unix_socket\"}]}'),('localhost','usr_thaiexperts','{\"access\":0,\"version_id\":100618,\"plugin\":\"mysql_native_password\",\"authentication_string\":\"*AD46C532CE4E63D6364FD30398ACF3E38647AB23\",\"password_last_changed\":1723823179}'),('localhost','usr_amazingthai','{\"access\":0,\"version_id\":100618,\"plugin\":\"mysql_native_password\",\"authentication_string\":\"*672C7F8DB90EFF6EF2FF1CB4282450478B1FBFCB\",\"password_last_changed\":1732045034}'),('localhost','backup_useroctobercms','{\"access\":205668353,\"version_id\":100618,\"plugin\":\"mysql_native_password\",\"authentication_string\":\"*573A09E89B74C526C78469F03386D97B7093D308\",\"password_last_changed\":1733241100}');

--
-- Table structure for table `gtid_slave_pos`
--

CREATE TABLE `gtid_slave_pos` (
  `domain_id` int(10) unsigned NOT NULL,
  `sub_id` bigint(20) unsigned NOT NULL,
  `server_id` int(10) unsigned NOT NULL,
  `seq_no` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`domain_id`,`sub_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci COMMENT='Replication slave GTID position';

--
-- Dumping data for table `gtid_slave_pos`
--


--
-- Table structure for table `help_category`
--

CREATE TABLE `help_category` (
  `help_category_id` smallint(5) unsigned NOT NULL,
  `name` char(64) NOT NULL,
  `parent_category_id` smallint(5) unsigned DEFAULT NULL,
  `url` text NOT NULL,
  PRIMARY KEY (`help_category_id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='help categories';

--
-- Dumping data for table `help_category`
--

INSERT INTO `help_category` VALUES (1,'Contents',0,''),(2,'Polygon Properties',34,''),(3,'WKT',34,''),(4,'Numeric Functions',37,''),(5,'Plugins',1,''),(6,'MBR',34,''),(7,'Control Flow Functions',37,''),(8,'Transactions',1,''),(9,'Help Metadata',1,''),(10,'Account Management',1,''),(11,'Point Properties',34,''),(12,'Encryption Functions',37,''),(13,'LineString Properties',34,''),(14,'Miscellaneous Functions',37,''),(15,'Logical Operators',47,''),(16,'Functions and Modifiers for Use with GROUP BY',1,''),(17,'Information Functions',37,''),(18,'Assignment Operators',47,''),(19,'Comparison Operators',47,''),(20,'Bit Functions',37,''),(21,'Table Maintenance',1,''),(22,'User-Defined Functions',1,''),(23,'Data Types',1,''),(24,'Compound Statements',1,''),(25,'Geometry Constructors',34,''),(26,'Administration',1,''),(27,'Data Manipulation',1,''),(28,'Utility',1,''),(29,'Language Structure',1,''),(30,'Geometry Relations',34,''),(31,'Date and Time Functions',37,''),(32,'WKB',34,''),(33,'Procedures',1,''),(34,'Geographic Features',1,''),(35,'Geometry Properties',34,''),(36,'String Functions',37,''),(37,'Functions',1,''),(38,'Data Definition',1,''),(39,'Sequences',1,''),(40,'JSON Functions',37,''),(41,'Window Functions',37,''),(42,'Spider Functions',37,''),(43,'Dynamic Column Functions',37,''),(44,'Galera Functions',37,''),(45,'Temporal Tables',1,''),(46,'GeoJSON',34,''),(47,'Operators',1,''),(48,'Arithmetic Operators',47,''),(49,'Replication',1,''),(50,'Prepared Statements',1,'');

--
-- Table structure for table `help_keyword`
--

CREATE TABLE `help_keyword` (
  `help_keyword_id` int(10) unsigned NOT NULL,
  `name` char(64) NOT NULL,
  PRIMARY KEY (`help_keyword_id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='help keywords';

--
-- Dumping data for table `help_keyword`
--

INSERT INTO `help_keyword` VALUES (1,'work'),(2,'locks'),(3,'locking'),(4,'drop'),(5,'super'),(6,'usage'),(7,'binlog admin'),(8,'binlog monitor'),(9,'binlog replay'),(10,'connection admin'),(11,'federated admin'),(12,'grant option'),(13,'read_only admin'),(14,'replica monitor'),(15,'replication replica'),(16,'roles'),(17,'values'),(18,'value'),(19,'not'),(20,'and'),(21,'or'),(22,':='),(23,'assignment operator'),(24,'='),(25,'!='),(26,'<>'),(27,'not equal'),(28,'less than'),(29,'less than or equal'),(30,'NULL-safe equal'),(31,'equal'),(32,'greater than'),(33,'greater than or equal'),(34,'bitwise and'),(35,'shift left'),(36,'shift right'),(37,'bitwise xor'),(38,'bitwise or'),(39,'bitwise not'),(40,'returns'),(41,'udfs'),(42,'udf calling sequences'),(43,'udf security'),(44,'int1'),(45,'int2'),(46,'int3'),(47,'integer'),(48,'int4'),(49,'int8'),(50,'dec'),(51,'numeric'),(52,'fixed'),(53,'number'),(54,'real'),(55,'double precision'),(56,'nchar'),(57,'long'),(58,'long varchar'),(59,'repeat'),(60,'declare'),(61,'cursor'),(62,'show'),(63,'columns'),(64,'kill connection'),(65,'kill query'),(66,'delete returning'),(67,'sql_big_result'),(68,'minus'),(69,'cte'),(70,'insert returning'),(71,'queries'),(72,'query'),(73,'explain format'),(74,'explain format json'),(75,'rlike'),(76,'character_length'),(77,'escape'),(78,'mode'),(79,'trim_oracle'),(80,'schedule'),(81,'row_format'),(82,'starts'),(83,'host'),(84,'generated columns'),(85,'virtual columns'),(86,'computed columns'),(87,'hidden columns'),(88,'nextval'),(89,'lastval'),(90,'+'),(91,'addition operator'),(92,'/'),(93,'division operator'),(94,'%'),(95,'modulo operator'),(96,'*'),(97,'multiplication operator'),(98,'-'),(99,'subtraction operator'),(100,'master_ssl_verify_cert'),(101,'start replica'),(102,'stop replica'),(103,'reset slave'),(104,'reset replica'),(105,'drop prepare'),(106,'deallocate prepare');

--
-- Table structure for table `help_relation`
--

CREATE TABLE `help_relation` (
  `help_topic_id` int(10) unsigned NOT NULL,
  `help_keyword_id` int(10) unsigned NOT NULL,
  PRIMARY KEY (`help_keyword_id`,`help_topic_id`),
  KEY `help_topic_id` (`help_topic_id`)
) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='keyword-topic relation';

--
-- Dumping data for table `help_relation`
--

INSERT INTO `help_relation` VALUES (94,1),(97,2),(99,2),(101,2),(116,2),(147,2),(152,2),(157,2),(161,2),(162,2),(340,2),(440,2),(97,3),(99,3),(101,3),(116,3),(147,3),(152,3),(157,3),(161,3),(162,3),(340,3),(440,3),(106,4),(112,4),(252,4),(691,4),(701,4),(717,4),(718,4),(719,4),(720,4),(721,4),(722,4),(723,4),(724,4),(726,4),(727,4),(735,4),(107,5),(107,6),(107,7),(107,8),(107,9),(107,10),(107,11),(107,12),(107,13),(107,14),(107,15),(115,16),(167,17),(167,18),(168,19),(169,20),(171,21),(212,22),(212,23),(213,23),(213,24),(214,25),(214,26),(214,27),(215,28),(216,29),(217,30),(218,31),(219,32),(220,33),(234,34),(235,35),(236,36),(238,37),(239,38),(240,39),(251,40),(253,41),(254,42),(255,43),(257,44),(259,45),(260,46),(261,47),(261,48),(262,49),(263,50),(263,51),(263,52),(263,53),(265,54),(265,55),(271,56),(277,57),(277,58),(306,59),(667,59),(313,60),(313,61),(333,62),(334,62),(335,62),(336,62),(337,62),(344,62),(345,62),(346,62),(347,62),(348,62),(349,62),(356,62),(358,62),(359,62),(360,62),(361,62),(362,62),(363,62),(364,62),(365,62),(366,62),(367,62),(368,62),(369,62),(370,62),(371,62),(372,62),(373,62),(374,62),(375,62),(376,62),(377,62),(378,62),(379,62),(380,62),(381,62),(382,62),(383,62),(384,62),(385,62),(386,62),(387,62),(388,62),(389,62),(390,62),(391,62),(392,62),(393,62),(394,62),(395,62),(396,62),(397,62),(398,62),(399,62),(400,62),(410,62),(411,62),(335,63),(405,64),(405,65),(412,66),(416,67),(427,68),(433,69),(434,69),(435,69),(455,70),(462,71),(462,72),(468,73),(468,74),(625,75),(635,76),(654,77),(660,78),(682,79),(693,80),(700,81),(705,82),(711,83),(715,84),(715,85),(715,86),(716,87),(736,88),(737,89),(809,90),(809,91),(810,92),(810,93),(811,94),(811,95),(812,96),(812,97),(813,98),(813,99),(814,100),(815,101),(816,102),(817,103),(817,104),(821,105),(821,106);

--
-- Table structure for table `help_topic`
--

CREATE TABLE `help_topic` (
  `help_topic_id` int(10) unsigned NOT NULL,
  `name` char(64) NOT NULL,
  `help_category_id` smallint(5) unsigned NOT NULL,
  `description` text NOT NULL,
  `example` text NOT NULL,
  `url` text NOT NULL,
  PRIMARY KEY (`help_topic_id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='help topics';

--
-- Dumping data for table `help_topic`
--

INSERT INTO `help_topic` VALUES (1,'HELP_DATE',9,'Help Contents generated from the MariaDB Knowledge Base on 23 January 2023.','',''),(2,'HELP_VERSION',9,'Help Contents generated for MariaDB 10.6 from the MariaDB Knowledge Base on 23 January 2023.','',''),(3,'AREA',2,'A synonym for ST_AREA.\n\nURL: https://mariadb.com/kb/en/polygon-properties-area/','','https://mariadb.com/kb/en/polygon-properties-area/'),(4,'CENTROID',2,'A synonym for ST_CENTROID.\n\nURL: https://mariadb.com/kb/en/centroid/','','https://mariadb.com/kb/en/centroid/'),(5,'ExteriorRing',2,'A synonym for ST_ExteriorRing.\n\nURL: https://mariadb.com/kb/en/polygon-properties-exteriorring/','','https://mariadb.com/kb/en/polygon-properties-exteriorring/'),(6,'InteriorRingN',2,'A synonym for ST_InteriorRingN.\n\nURL: https://mariadb.com/kb/en/polygon-properties-interiorringn/','','https://mariadb.com/kb/en/polygon-properties-interiorringn/'),(7,'NumInteriorRings',2,'A synonym for ST_NumInteriorRings.\n\nURL: https://mariadb.com/kb/en/polygon-properties-numinteriorrings/','','https://mariadb.com/kb/en/polygon-properties-numinteriorrings/'),(8,'ST_AREA',2,'Syntax\n------\n\nST_Area(poly)\nArea(poly)\n\nDescription\n-----------\n\nReturns as a double-precision number the area of the Polygon value poly, as\nmeasured in its spatial reference system.\n\nST_Area() and Area() are synonyms.\n\nExamples\n--------\n\nSET @poly = \'Polygon((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1))\';\n\nSELECT Area(GeomFromText(@poly));\n+---------------------------+\n| Area(GeomFromText(@poly)) |\n+---------------------------+\n|                         4 |\n+---------------------------+\n\nURL: https://mariadb.com/kb/en/st_area/','','https://mariadb.com/kb/en/st_area/'),(9,'ST_CENTROID',2,'Syntax\n------\n\nST_Centroid(mpoly)\nCentroid(mpoly)\n\nDescription\n-----------\n\nReturns a point reflecting the mathematical centroid (geometric center) for\nthe MultiPolygon mpoly. The resulting point will not necessarily be on the\nMultiPolygon.\n\nST_Centroid() and Centroid() are synonyms.\n\nExamples\n--------\n\nSET @poly = ST_GeomFromText(\'POLYGON((0 0,20 0,20 20,0 20,0 0))\');\nSELECT ST_AsText(ST_Centroid(@poly)) AS center;\n+--------------+\n| center       |\n+--------------+\n| POINT(10 10) |\n+--------------+\n\nURL: https://mariadb.com/kb/en/st_centroid/','','https://mariadb.com/kb/en/st_centroid/'),(10,'ST_ExteriorRing',2,'Syntax\n------\n\nST_ExteriorRing(poly)\nExteriorRing(poly)\n\nDescription\n-----------\n\nReturns the exterior ring of the Polygon value poly as a LineString.\n\nST_ExteriorRing() and ExteriorRing() are synonyms.\n\nExamples\n--------\n\nSET @poly = \'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))\';\n\nSELECT AsText(ExteriorRing(GeomFromText(@poly)));\n+-------------------------------------------+\n| AsText(ExteriorRing(GeomFromText(@poly))) |\n+-------------------------------------------+\n| LINESTRING(0 0,0 3,3 3,3 0,0 0)           |\n+-------------------------------------------+\n\nURL: https://mariadb.com/kb/en/st_exteriorring/','','https://mariadb.com/kb/en/st_exteriorring/'),(11,'ST_InteriorRingN',2,'Syntax\n------\n\nST_InteriorRingN(poly,N)\nInteriorRingN(poly,N)\n\nDescription\n-----------\n\nReturns the N-th interior ring for the Polygon value poly as a LineString.\nRings are numbered beginning with 1.\n\nST_InteriorRingN() and InteriorRingN() are synonyms.\n\nExamples\n--------\n\nSET @poly = \'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))\';\n\nSELECT AsText(InteriorRingN(GeomFromText(@poly),1));\n+----------------------------------------------+\n| AsText(InteriorRingN(GeomFromText(@poly),1)) |\n+----------------------------------------------+\n| LINESTRING(1 1,1 2,2 2,2 1,1 1)              |\n+----------------------------------------------+\n\nURL: https://mariadb.com/kb/en/st_interiorringn/','','https://mariadb.com/kb/en/st_interiorringn/'),(12,'ST_NumInteriorRings',2,'Syntax\n------\n\nST_NumInteriorRings(poly)\nNumInteriorRings(poly)\n\nDescription\n-----------\n\nReturns an integer containing the number of interior rings in the Polygon\nvalue poly.\n\nNote that according the the OpenGIS standard, a POLYGON should have exactly\none ExteriorRing and all other rings should lie within that ExteriorRing and\nthus be the InteriorRings. Practically, however, some systems, including\nMariaDB\'s, permit polygons to have several \'ExteriorRings\'. In the case of\nthere being multiple, non-overlapping exterior rings ST_NumInteriorRings()\nwill return 1.\n\nST_NumInteriorRings() and NumInteriorRings() are synonyms.\n\nExamples\n--------\n\nSET @poly = \'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))\';\n\nSELECT NumInteriorRings(GeomFromText(@poly));\n+---------------------------------------+\n| NumInteriorRings(GeomFromText(@poly)) |\n+---------------------------------------+\n|                                     1 |\n+---------------------------------------+\n\nNon-overlapping \'polygon\':\n\nSELECT ST_NumInteriorRings(ST_PolyFromText(\'POLYGON((0 0,10 0,10 10,0 10,0 0),\n (-1 -1,-5 -1,-5 -5,-1 -5,-1 -1))\')) AS NumInteriorRings;\n+------------------+\n| NumInteriorRings |\n+------------------+\n|                1 |\n+------------------+\n\nURL: https://mariadb.com/kb/en/st_numinteriorrings/','','https://mariadb.com/kb/en/st_numinteriorrings/'),(14,'AsText',3,'A synonym for ST_AsText().\n\nURL: https://mariadb.com/kb/en/wkt-astext/','','https://mariadb.com/kb/en/wkt-astext/'),(15,'AsWKT',3,'A synonym for ST_AsText().\n\nURL: https://mariadb.com/kb/en/wkt-aswkt/','','https://mariadb.com/kb/en/wkt-aswkt/'),(16,'GeomCollFromText',3,'A synonym for ST_GeomCollFromText.\n\nURL: https://mariadb.com/kb/en/wkt-geomcollfromtext/','','https://mariadb.com/kb/en/wkt-geomcollfromtext/'),(17,'GeometryCollectionFromText',3,'A synonym for ST_GeomCollFromText.\n\nURL: https://mariadb.com/kb/en/geometrycollectionfromtext/','','https://mariadb.com/kb/en/geometrycollectionfromtext/'),(18,'GeometryFromText',3,'A synonym for ST_GeomFromText.\n\nURL: https://mariadb.com/kb/en/geometryfromtext/','','https://mariadb.com/kb/en/geometryfromtext/'),(19,'GeomFromText',3,'A synonym for ST_GeomFromText.\n\nURL: https://mariadb.com/kb/en/wkt-geomfromtext/','','https://mariadb.com/kb/en/wkt-geomfromtext/'),(20,'LineFromText',3,'A synonym for ST_LineFromText.\n\nURL: https://mariadb.com/kb/en/wkt-linefromtext/','','https://mariadb.com/kb/en/wkt-linefromtext/'),(21,'LineStringFromText',3,'A synonym for ST_LineFromText.\n\nURL: https://mariadb.com/kb/en/linestringfromtext/','','https://mariadb.com/kb/en/linestringfromtext/'),(22,'MLineFromText',3,'Syntax\n------\n\nMLineFromText(wkt[,srid])\nMultiLineStringFromText(wkt[,srid])\n\nDescription\n-----------\n\nConstructs a MULTILINESTRING value using its WKT representation and SRID.\n\nMLineFromText() and MultiLineStringFromText() are synonyms.\n\nExamples\n--------\n\nCREATE TABLE gis_multi_line (g MULTILINESTRING);\nSHOW FIELDS FROM gis_multi_line;\nINSERT INTO gis_multi_line VALUES\n  (MultiLineStringFromText(\'MULTILINESTRING((10 48,10 21,10 0),(16 0,16\n23,16 48))\')),\n  (MLineFromText(\'MULTILINESTRING((10 48,10 21,10 0))\')),\n  (MLineFromWKB(AsWKB(MultiLineString(\n   LineString(Point(1, 2), Point(3, 5)),\n   LineString(Point(2, 5), Point(5, 8), Point(21, 7))))));\n\nURL: https://mariadb.com/kb/en/mlinefromtext/','','https://mariadb.com/kb/en/mlinefromtext/'),(23,'MPointFromText',3,'Syntax\n------\n\nMPointFromText(wkt[,srid])\nMultiPointFromText(wkt[,srid])\n\nDescription\n-----------\n\nConstructs a MULTIPOINT value using its WKT representation and SRID.\n\nMPointFromText() and MultiPointFromText() are synonyms.\n\nExamples\n--------\n\nCREATE TABLE gis_multi_point (g MULTIPOINT);\nSHOW FIELDS FROM gis_multi_point;\nINSERT INTO gis_multi_point VALUES\n  (MultiPointFromText(\'MULTIPOINT(0 0,10 10,10 20,20 20)\')),\n  (MPointFromText(\'MULTIPOINT(1 1,11 11,11 21,21 21)\')),\n  (MPointFromWKB(AsWKB(MultiPoint(Point(3, 6), Point(4, 10)))));\n\nURL: https://mariadb.com/kb/en/mpointfromtext/','','https://mariadb.com/kb/en/mpointfromtext/'),(13,'WKT Definition',3,'Description\n-----------\n\nThe Well-Known Text (WKT) representation of Geometry is designed to exchange\ngeometry data in ASCII form. Examples of the basic geometry types include:\n\n+-----------------------------------------------------------------------------+\n| Geometry Types                                                              |\n+-----------------------------------------------------------------------------+\n| POINT                                                                       |\n+-----------------------------------------------------------------------------+\n| LINESTRING                                                                  |\n+-----------------------------------------------------------------------------+\n| POLYGON                                                                     |\n+-----------------------------------------------------------------------------+\n| MULTIPOINT                                                                  |\n+-----------------------------------------------------------------------------+\n| MULTILINESTRING                                                             |\n+-----------------------------------------------------------------------------+\n| MULTIPOLYGON                                                                |\n+-----------------------------------------------------------------------------+\n| GEOMETRYCOLLECTION                                                          |\n+-----------------------------------------------------------------------------+\n| GEOMETRY                                                                    |\n+-----------------------------------------------------------------------------+\n\nURL: https://mariadb.com/kb/en/wkt-definition/','','https://mariadb.com/kb/en/wkt-definition/'),(24,'MPolyFromText',3,'Syntax\n------\n\nMPolyFromText(wkt[,srid])\nMultiPolygonFromText(wkt[,srid])\n\nDescription\n-----------\n\nConstructs a MULTIPOLYGON value using its WKT representation and SRID.\n\nMPolyFromText() and MultiPolygonFromText() are synonyms.\n\nExamples\n--------\n\nCREATE TABLE gis_multi_polygon  (g MULTIPOLYGON);\nSHOW FIELDS FROM gis_multi_polygon;\nINSERT INTO gis_multi_polygon VALUES\n  (MultiPolygonFromText(\'MULTIPOLYGON(\n   ((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),\n   ((59 18,67 18,67 13,59 13,59 18)))\')),\n  (MPolyFromText(\'MULTIPOLYGON(\n   ((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),\n   ((59 18,67 18,67 13,59 13,59 18)))\')),\n  (MPolyFromWKB(AsWKB(MultiPolygon(Polygon(\n   LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3)))))));\n\nURL: https://mariadb.com/kb/en/mpolyfromtext/','','https://mariadb.com/kb/en/mpolyfromtext/'),(25,'MultiLineStringFromText',3,'A synonym for MLineFromText.\n\nURL: https://mariadb.com/kb/en/multilinestringfromtext/','','https://mariadb.com/kb/en/multilinestringfromtext/'),(26,'MultiPointFromText',3,'A synonym for MPointFromText.\n\nURL: https://mariadb.com/kb/en/multipointfromtext/','','https://mariadb.com/kb/en/multipointfromtext/'),(27,'MultiPolygonFromText',3,'A synonym for MPolyFromText.\n\nURL: https://mariadb.com/kb/en/multipolygonfromtext/','','https://mariadb.com/kb/en/multipolygonfromtext/'),(28,'PointFromText',3,'A synonym for ST_PointFromText.\n\nURL: https://mariadb.com/kb/en/wkt-pointfromtext/','','https://mariadb.com/kb/en/wkt-pointfromtext/'),(29,'PolyFromText',3,'A synonym for ST_PolyFromText.\n\nURL: https://mariadb.com/kb/en/wkt-polyfromtext/','','https://mariadb.com/kb/en/wkt-polyfromtext/'),(30,'PolygonFromText',3,'A synonym for ST_PolyFromText.\n\nURL: https://mariadb.com/kb/en/polygonfromtext/','','https://mariadb.com/kb/en/polygonfromtext/'),(31,'ST_AsText',3,'Syntax\n------\n\nST_AsText(g)\nAsText(g)\nST_AsWKT(g)\nAsWKT(g)\n\nDescription\n-----------\n\nConverts a value in internal geometry format to its WKT representation and\nreturns the string result.\n\nST_AsText(), AsText(), ST_AsWKT() and AsWKT() are all synonyms.\n\nExamples\n--------\n\nSET @g = \'LineString(1 1,4 4,6 6)\';\n\nSELECT ST_AsText(ST_GeomFromText(@g));\n+--------------------------------+\n| ST_AsText(ST_GeomFromText(@g)) |\n+--------------------------------+\n| LINESTRING(1 1,4 4,6 6)        |\n+--------------------------------+\n\nURL: https://mariadb.com/kb/en/st_astext/','','https://mariadb.com/kb/en/st_astext/'),(32,'ST_ASWKT',3,'A synonym for ST_ASTEXT().\n\nURL: https://mariadb.com/kb/en/st_aswkt/','','https://mariadb.com/kb/en/st_aswkt/'),(33,'ST_GeomCollFromText',3,'Syntax\n------\n\nST_GeomCollFromText(wkt[,srid])\nST_GeometryCollectionFromText(wkt[,srid])\nGeomCollFromText(wkt[,srid])\nGeometryCollectionFromText(wkt[,srid])\n\nDescription\n-----------\n\nConstructs a GEOMETRYCOLLECTION value using its WKT representation and SRID.\n\nST_GeomCollFromText(), ST_GeometryCollectionFromText(), GeomCollFromText() and\nGeometryCollectionFromText() are all synonyms.\n\nExample\n-------\n\nCREATE TABLE gis_geometrycollection  (g GEOMETRYCOLLECTION);\nSHOW FIELDS FROM gis_geometrycollection;\nINSERT INTO gis_geometrycollection VALUES\n  (GeomCollFromText(\'GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10\n10))\')),\n  (GeometryFromWKB(AsWKB(GeometryCollection(Point(44, 6),\nLineString(Point(3, 6), Point(7, 9)))))),\n  (GeomFromText(\'GeometryCollection()\')),\n  (GeomFromText(\'GeometryCollection EMPTY\'));\n\nURL: https://mariadb.com/kb/en/st_geomcollfromtext/','','https://mariadb.com/kb/en/st_geomcollfromtext/'),(34,'ST_GeometryCollectionFromText',3,'A synonym for ST_GeomCollFromText.\n\nURL: https://mariadb.com/kb/en/st_geometrycollectionfromtext/','','https://mariadb.com/kb/en/st_geometrycollectionfromtext/'),(35,'ST_GeometryFromText',3,'A synonym for ST_GeomFromText.\n\nURL: https://mariadb.com/kb/en/st_geometryfromtext/','','https://mariadb.com/kb/en/st_geometryfromtext/'),(36,'ST_GeomFromText',3,'Syntax\n------\n\nST_GeomFromText(wkt[,srid])\nST_GeometryFromText(wkt[,srid])\nGeomFromText(wkt[,srid])\nGeometryFromText(wkt[,srid])\n\nDescription\n-----------\n\nConstructs a geometry value of any type using its WKT representation and SRID.\n\nGeomFromText(), GeometryFromText(), ST_GeomFromText() and\nST_GeometryFromText() are all synonyms.\n\nExample\n-------\n\nSET @g = ST_GEOMFROMTEXT(\'POLYGON((1 1,1 5,4 9,6 9,9 3,7 2,1 1))\');\n\nURL: https://mariadb.com/kb/en/st_geomfromtext/','','https://mariadb.com/kb/en/st_geomfromtext/'),(37,'ST_LineFromText',3,'Syntax\n------\n\nST_LineFromText(wkt[,srid])\nST_LineStringFromText(wkt[,srid])\nLineFromText(wkt[,srid])\nLineStringFromText(wkt[,srid])\n\nDescription\n-----------\n\nConstructs a LINESTRING value using its WKT representation and SRID.\n\nST_LineFromText(), ST_LineStringFromText(), ST_LineFromText() and\nST_LineStringFromText() are all synonyms.\n\nExamples\n--------\n\nCREATE TABLE gis_line  (g LINESTRING);\nSHOW FIELDS FROM gis_line;\nINSERT INTO gis_line VALUES\n  (LineFromText(\'LINESTRING(0 0,0 10,10 0)\')),\n  (LineStringFromText(\'LINESTRING(10 10,20 10,20 20,10 20,10 10)\')),\n  (LineStringFromWKB(AsWKB(LineString(Point(10, 10), Point(40, 10)))));\n\nURL: https://mariadb.com/kb/en/st_linefromtext/','','https://mariadb.com/kb/en/st_linefromtext/'),(38,'ST_LineStringFromText',3,'A synonym for ST_LineFromText.\n\nURL: https://mariadb.com/kb/en/st_linestringfromtext/','','https://mariadb.com/kb/en/st_linestringfromtext/'),(39,'ST_PointFromText',3,'Syntax\n------\n\nST_PointFromText(wkt[,srid])\nPointFromText(wkt[,srid])\n\nDescription\n-----------\n\nConstructs a POINT value using its WKT representation and SRID.\n\nST_PointFromText() and PointFromText() are synonyms.\n\nExamples\n--------\n\nCREATE TABLE gis_point  (g POINT);\nSHOW FIELDS FROM gis_point;\nINSERT INTO gis_point VALUES\n  (PointFromText(\'POINT(10 10)\')),\n  (PointFromText(\'POINT(20 10)\')),\n  (PointFromText(\'POINT(20 20)\')),\n  (PointFromWKB(AsWKB(PointFromText(\'POINT(10 20)\'))));\n\nURL: https://mariadb.com/kb/en/st_pointfromtext/','','https://mariadb.com/kb/en/st_pointfromtext/'),(40,'ST_PolyFromText',3,'Syntax\n------\n\nST_PolyFromText(wkt[,srid])\nST_PolygonFromText(wkt[,srid])\nPolyFromText(wkt[,srid])\nPolygonFromText(wkt[,srid])\n\nDescription\n-----------\n\nConstructs a POLYGON value using its WKT representation and SRID.\n\nST_PolyFromText(), ST_PolygonFromText(), PolyFromText() and\nST_PolygonFromText() are all synonyms.\n\nExamples\n--------\n\nCREATE TABLE gis_polygon   (g POLYGON);\nINSERT INTO gis_polygon VALUES\n  (PolygonFromText(\'POLYGON((10 10,20 10,20 20,10 20,10 10))\')),\n  (PolyFromText(\'POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10\n20,10 10))\'));\n\nURL: https://mariadb.com/kb/en/st_polyfromtext/','','https://mariadb.com/kb/en/st_polyfromtext/'),(41,'ST_PolygonFromText',3,'A synonym for ST_PolyFromText.\n\nURL: https://mariadb.com/kb/en/st_polygonfromtext/','','https://mariadb.com/kb/en/st_polygonfromtext/'),(42,'DIV',4,'Syntax\n------\n\nDIV\n\nDescription\n-----------\n\nInteger division. Similar to FLOOR(), but is safe with BIGINT values.\nIncorrect results may occur for non-integer operands that exceed BIGINT range.\n\nIf the ERROR_ON_DIVISION_BY_ZERO SQL_MODE is used, a division by zero produces\nan error. Otherwise, it returns NULL.\n\nThe remainder of a division can be obtained using the MOD operator.\n\nExamples\n--------\n\nSELECT 300 DIV 7;\n+-----------+\n| 300 DIV 7 |\n+-----------+\n|        42 |\n+-----------+\n\nSELECT 300 DIV 0;\n+-----------+\n| 300 DIV 0 |\n+-----------+\n|      NULL |\n+-----------+\n\nURL: https://mariadb.com/kb/en/div/','','https://mariadb.com/kb/en/div/'),(43,'ABS',4,'Syntax\n------\n\nABS(X)\n\nDescription\n-----------\n\nReturns the absolute (non-negative) value of X. If X is not a number, it is\nconverted to a numeric type.\n\nExamples\n--------\n\nSELECT ABS(42);\n+---------+\n| ABS(42) |\n+---------+\n|      42 |\n+---------+\n\nSELECT ABS(-42);\n+----------+\n| ABS(-42) |\n+----------+\n|       42 |\n+----------+\n\nSELECT ABS(DATE \'1994-01-01\');\n+------------------------+\n| ABS(DATE \'1994-01-01\') |\n+------------------------+\n|               19940101 |\n+------------------------+\n\nURL: https://mariadb.com/kb/en/abs/','','https://mariadb.com/kb/en/abs/'),(44,'ACOS',4,'Syntax\n------\n\nACOS(X)\n\nDescription\n-----------\n\nReturns the arc cosine of X, that is, the value whose cosine is X. Returns\nNULL if X is not in the range -1 to 1.\n\nExamples\n--------\n\nSELECT ACOS(1);\n+---------+\n| ACOS(1) |\n+---------+\n|       0 |\n+---------+\n\nSELECT ACOS(1.0001);\n+--------------+\n| ACOS(1.0001) |\n+--------------+\n|         NULL |\n+--------------+\n\nSELECT ACOS(0);\n+-----------------+\n| ACOS(0)         |\n+-----------------+\n| 1.5707963267949 |\n+-----------------+\n\nSELECT ACOS(0.234);\n+------------------+\n| ACOS(0.234)      |\n+------------------+\n| 1.33460644244679 |\n+------------------+\n\nURL: https://mariadb.com/kb/en/acos/','','https://mariadb.com/kb/en/acos/'),(45,'ASIN',4,'Syntax\n------\n\nASIN(X)\n\nDescription\n-----------\n\nReturns the arc sine of X, that is, the value whose sine is X. Returns NULL if\nX is not in the range -1 to 1.\n\nExamples\n--------\n\nSELECT ASIN(0.2);\n+--------------------+\n| ASIN(0.2)          |\n+--------------------+\n| 0.2013579207903308 |\n+--------------------+\n\nSELECT ASIN(\'foo\');\n+-------------+\n| ASIN(\'foo\') |\n+-------------+\n|           0 |\n+-------------+\n\nSHOW WARNINGS;\n+---------+------+-----------------------------------------+\n| Level   | Code | Message                                 |\n+---------+------+-----------------------------------------+\n| Warning | 1292 | Truncated incorrect DOUBLE value: \'foo\' |\n+---------+------+-----------------------------------------+\n\nURL: https://mariadb.com/kb/en/asin/','','https://mariadb.com/kb/en/asin/'),(46,'ATAN',4,'Syntax\n------\n\nATAN(X)\n\nDescription\n-----------\n\nReturns the arc tangent of X, that is, the value whose tangent is X.\n\nExamples\n--------\n\nSELECT ATAN(2);\n+--------------------+\n| ATAN(2)            |\n+--------------------+\n| 1.1071487177940904 |\n+--------------------+\n\nSELECT ATAN(-2);\n+---------------------+\n| ATAN(-2)            |\n+---------------------+\n| -1.1071487177940904 |\n+---------------------+\n\nURL: https://mariadb.com/kb/en/atan/','','https://mariadb.com/kb/en/atan/'),(47,'ATAN2',4,'Syntax\n------\n\nATAN(Y,X), ATAN2(Y,X)\n\nDescription\n-----------\n\nReturns the arc tangent of the two variables X and Y. It is similar to\ncalculating the arc tangent of Y / X, except that the signs of both arguments\nare used to determine the quadrant of the result.\n\nExamples\n--------\n\nSELECT ATAN(-2,2);\n+---------------------+\n| ATAN(-2,2)          |\n+---------------------+\n| -0.7853981633974483 |\n+---------------------+\n\nSELECT ATAN2(PI(),0);\n+--------------------+\n| ATAN2(PI(),0)      |\n+--------------------+\n| 1.5707963267948966 |\n+--------------------+\n\nURL: https://mariadb.com/kb/en/atan2/','','https://mariadb.com/kb/en/atan2/'),(48,'CEIL',4,'Syntax\n------\n\nCEIL(X)\n\nDescription\n-----------\n\nCEIL() is a synonym for CEILING().\n\nURL: https://mariadb.com/kb/en/ceil/','','https://mariadb.com/kb/en/ceil/'),(49,'CEILING',4,'Syntax\n------\n\nCEILING(X)\n\nDescription\n-----------\n\nReturns the smallest integer value not less than X.\n\nExamples\n--------\n\nSELECT CEILING(1.23);\n+---------------+\n| CEILING(1.23) |\n+---------------+\n|             2 |\n+---------------+\n\nSELECT CEILING(-1.23);\n+----------------+\n| CEILING(-1.23) |\n+----------------+\n|             -1 |\n+----------------+\n\nURL: https://mariadb.com/kb/en/ceiling/','','https://mariadb.com/kb/en/ceiling/'),(51,'COS',4,'Syntax\n------\n\nCOS(X)\n\nDescription\n-----------\n\nReturns the cosine of X, where X is given in radians.\n\nExamples\n--------\n\nSELECT COS(PI());\n+-----------+\n| COS(PI()) |\n+-----------+\n|        -1 |\n+-----------+\n\nURL: https://mariadb.com/kb/en/cos/','','https://mariadb.com/kb/en/cos/'),(52,'COT',4,'Syntax\n------\n\nCOT(X)\n\nDescription\n-----------\n\nReturns the cotangent of X.\n\nExamples\n--------\n\nSELECT COT(42);\n+--------------------+\n| COT(42)            |\n+--------------------+\n| 0.4364167060752729 |\n+--------------------+\n\nSELECT COT(12);\n+---------------------+\n| COT(12)             |\n+---------------------+\n| -1.5726734063976893 |\n+---------------------+\n\nSELECT COT(0);\nERROR 1690 (22003): DOUBLE value is out of range in \'cot(0)\'\n\nURL: https://mariadb.com/kb/en/cot/','','https://mariadb.com/kb/en/cot/'),(54,'DEGREES',4,'Syntax\n------\n\nDEGREES(X)\n\nDescription\n-----------\n\nReturns the argument X, converted from radians to degrees.\n\nThis is the converse of the RADIANS() function.\n\nExamples\n--------\n\nSELECT DEGREES(PI());\n+---------------+\n| DEGREES(PI()) |\n+---------------+\n|           180 |\n+---------------+\n\nSELECT DEGREES(PI() / 2);\n+-------------------+\n| DEGREES(PI() / 2) |\n+-------------------+\n|                90 |\n+-------------------+\n\nSELECT DEGREES(45);\n+-----------------+\n| DEGREES(45)     |\n+-----------------+\n| 2578.3100780887 |\n+-----------------+\n\nURL: https://mariadb.com/kb/en/degrees/','','https://mariadb.com/kb/en/degrees/'),(55,'EXP',4,'Syntax\n------\n\nEXP(X)\n\nDescription\n-----------\n\nReturns the value of e (the base of natural logarithms) raised to the power of\nX. The inverse of this function is LOG() (using a single argument only) or\nLN().\n\nIf X is NULL, this function returns NULL.\n\nExamples\n--------\n\nSELECT EXP(2);\n+------------------+\n| EXP(2)           |\n+------------------+\n| 7.38905609893065 |\n+------------------+\n\nSELECT EXP(-2);\n+--------------------+\n| EXP(-2)            |\n+--------------------+\n| 0.1353352832366127 |\n+--------------------+\n\nSELECT EXP(0);\n+--------+\n| EXP(0) |\n+--------+\n|      1 |\n+--------+\n\nSELECT EXP(NULL);\n+-----------+\n| EXP(NULL) |\n+-----------+\n|      NULL |\n+-----------+\n\nURL: https://mariadb.com/kb/en/exp/','','https://mariadb.com/kb/en/exp/'),(50,'CONV',4,'Syntax\n------\n\nCONV(N,from_base,to_base)\n\nDescription\n-----------\n\nConverts numbers between different number bases. Returns a string\nrepresentation of the number N, converted from base from_base to base to_base.\n\nReturns NULL if any argument is NULL, or if the second or third argument are\nnot in the allowed range.\n\nThe argument N is interpreted as an integer, but may be specified as an\ninteger or a string. The minimum base is 2 and the maximum base is 36. If\nto_base is a negative number, N is regarded as a signed number. Otherwise, N\nis treated as unsigned. CONV() works with 64-bit precision.\n\nSome shortcuts for this function are also available: BIN(), OCT(), HEX(),\nUNHEX(). Also, MariaDB allows binary literal values and hexadecimal literal\nvalues.\n\nExamples\n--------\n\nSELECT CONV(\'a\',16,2);\n+----------------+\n| CONV(\'a\',16,2) |\n+----------------+\n| 1010           |\n+----------------+\n\nSELECT CONV(\'6E\',18,8);\n+-----------------+\n| CONV(\'6E\',18,8) |\n+-----------------+\n| 172             |\n+-----------------+\n\nSELECT CONV(-17,10,-18);\n+------------------+\n| CONV(-17,10,-18) |\n+------------------+\n| -H               |\n+------------------+\n\nSELECT CONV(12+\'10\'+\'10\'+0xa,10,10);\n+------------------------------+\n| CONV(12+\'10\'+\'10\'+0xa,10,10) |\n+------------------------------+\n| 42                           |\n+------------------------------+\n\nURL: https://mariadb.com/kb/en/conv/','','https://mariadb.com/kb/en/conv/'),(53,'CRC32',4,'Syntax\n------\n\n<= MariaDB 10.7\n\nCRC32(expr)\n\nFrom MariaDB 10.8\n\nCRC32([par,]expr)\n\nDescription\n-----------\n\nComputes a cyclic redundancy check (CRC) value and returns a 32-bit unsigned\nvalue. The result is NULL if the argument is NULL. The argument is expected to\nbe a string and (if possible) is treated as one if it is not.\n\nUses the ISO 3309 polynomial that used by zlib and many others. MariaDB 10.8\nintroduced the CRC32C() function, which uses the alternate Castagnoli\npolynomia.\n\nMariaDB starting with 10.8\n--------------------------\nOften, CRC is computed in pieces. To facilitate this, MariaDB 10.8.0\nintroduced an optional parameter: CRC32(\'MariaDB\')=CRC32(CRC32(\'Maria\'),\'DB\').\n\nExamples\n--------\n\nSELECT CRC32(\'MariaDB\');\n+------------------+\n| CRC32(\'MariaDB\') |\n+------------------+\n|       4227209140 |\n+------------------+\n\nSELECT CRC32(\'mariadb\');\n+------------------+\n| CRC32(\'mariadb\') |\n+------------------+\n|       2594253378 |\n+------------------+\n\nFrom MariaDB 10.8.0\n\nSELECT CRC32(CRC32(\'Maria\'),\'DB\');\n+----------------------------+\n| CRC32(CRC32(\'Maria\'),\'DB\') |\n+----------------------------+\n|                 4227209140 |\n+----------------------------+\n\nURL: https://mariadb.com/kb/en/crc32/','','https://mariadb.com/kb/en/crc32/'),(56,'FLOOR',4,'Syntax\n------\n\nFLOOR(X)\n\nDescription\n-----------\n\nReturns the largest integer value not greater than X.\n\nExamples\n--------\n\nSELECT FLOOR(1.23);\n+-------------+\n| FLOOR(1.23) |\n+-------------+\n|           1 |\n+-------------+\n\nSELECT FLOOR(-1.23);\n+--------------+\n| FLOOR(-1.23) |\n+--------------+\n|           -2 |\n+--------------+\n\nURL: https://mariadb.com/kb/en/floor/','','https://mariadb.com/kb/en/floor/'),(57,'LN',4,'Syntax\n------\n\nLN(X)\n\nDescription\n-----------\n\nReturns the natural logarithm of X; that is, the base-e logarithm of X. If X\nis less than or equal to 0, or NULL, then NULL is returned.\n\nThe inverse of this function is EXP().\n\nExamples\n--------\n\nSELECT LN(2);\n+-------------------+\n| LN(2)             |\n+-------------------+\n| 0.693147180559945 |\n+-------------------+\n\nSELECT LN(-2);\n+--------+\n| LN(-2) |\n+--------+\n|   NULL |\n+--------+\n\nURL: https://mariadb.com/kb/en/ln/','','https://mariadb.com/kb/en/ln/'),(58,'LOG',4,'Syntax\n------\n\nLOG(X), LOG(B,X)\n\nDescription\n-----------\n\nIf called with one parameter, this function returns the natural logarithm of\nX. If X is less than or equal to 0, then NULL is returned.\n\nIf called with two parameters, it returns the logarithm of X to the base B. If\nB is <= 1 or X <= 0, the function returns NULL.\n\nIf any argument is NULL, the function returns NULL.\n\nThe inverse of this function (when called with a single argument) is the EXP()\nfunction.\n\nExamples\n--------\n\nLOG(X):\n\nSELECT LOG(2);\n+-------------------+\n| LOG(2)            |\n+-------------------+\n| 0.693147180559945 |\n+-------------------+\n\nSELECT LOG(-2);\n+---------+\n| LOG(-2) |\n+---------+\n|    NULL |\n+---------+\n\nLOG(B,X)\n\nSELECT LOG(2,16);\n+-----------+\n| LOG(2,16) |\n+-----------+\n|         4 |\n+-----------+\n\nSELECT LOG(3,27);\n+-----------+\n| LOG(3,27) |\n+-----------+\n|         3 |\n+-----------+\n\nSELECT LOG(3,1);\n+----------+\n| LOG(3,1) |\n+----------+\n|        0 |\n+----------+\n\nSELECT LOG(3,0);\n+----------+\n| LOG(3,0) |\n+----------+\n|     NULL |\n+----------+\n\nURL: https://mariadb.com/kb/en/log/','','https://mariadb.com/kb/en/log/'),(59,'LOG10',4,'Syntax\n------\n\nLOG10(X)\n\nDescription\n-----------\n\nReturns the base-10 logarithm of X.\n\nExamples\n--------\n\nSELECT LOG10(2);\n+-------------------+\n| LOG10(2)          |\n+-------------------+\n| 0.301029995663981 |\n+-------------------+\n\nSELECT LOG10(100);\n+------------+\n| LOG10(100) |\n+------------+\n|          2 |\n+------------+\n\nSELECT LOG10(-100);\n+-------------+\n| LOG10(-100) |\n+-------------+\n|        NULL |\n+-------------+\n\nURL: https://mariadb.com/kb/en/log10/','','https://mariadb.com/kb/en/log10/'),(60,'LOG2',4,'Syntax\n------\n\nLOG2(X)\n\nDescription\n-----------\n\nReturns the base-2 logarithm of X.\n\nExamples\n--------\n\nSELECT LOG2(4398046511104);\n+---------------------+\n| LOG2(4398046511104) |\n+---------------------+\n|                  42 |\n+---------------------+\n\nSELECT LOG2(65536);\n+-------------+\n| LOG2(65536) |\n+-------------+\n|          16 |\n+-------------+\n\nSELECT LOG2(-100);\n+------------+\n| LOG2(-100) |\n+------------+\n|       NULL |\n+------------+\n\nURL: https://mariadb.com/kb/en/log2/','','https://mariadb.com/kb/en/log2/'),(62,'OCT',4,'Syntax\n------\n\nOCT(N)\n\nDescription\n-----------\n\nReturns a string representation of the octal value of N, where N is a longlong\n(BIGINT) number. This is equivalent to CONV(N,10,8). Returns NULL if N is NULL.\n\nExamples\n--------\n\nSELECT OCT(34);\n+---------+\n| OCT(34) |\n+---------+\n| 42      |\n+---------+\n\nSELECT OCT(12);\n+---------+\n| OCT(12) |\n+---------+\n| 14      |\n+---------+\n\nURL: https://mariadb.com/kb/en/oct/','','https://mariadb.com/kb/en/oct/'),(63,'PI',4,'Syntax\n------\n\nPI()\n\nDescription\n-----------\n\nReturns the value of π (pi). The default number of decimal places displayed is\nsix, but MariaDB uses the full double-precision value internally.\n\nExamples\n--------\n\nSELECT PI();\n+----------+\n| PI()     |\n+----------+\n| 3.141593 |\n+----------+\n\nSELECT PI()+0.0000000000000000000000;\n+-------------------------------+\n| PI()+0.0000000000000000000000 |\n+-------------------------------+\n|      3.1415926535897931159980 |\n+-------------------------------+\n\nURL: https://mariadb.com/kb/en/pi/','','https://mariadb.com/kb/en/pi/'),(64,'POW',4,'Syntax\n------\n\nPOW(X,Y)\n\nDescription\n-----------\n\nReturns the value of X raised to the power of Y.\n\nPOWER() is a synonym.\n\nExamples\n--------\n\nSELECT POW(2,3);\n+----------+\n| POW(2,3) |\n+----------+\n|        8 |\n+----------+\n\nSELECT POW(2,-2);\n+-----------+\n| POW(2,-2) |\n+-----------+\n|      0.25 |\n+-----------+\n\nURL: https://mariadb.com/kb/en/pow/','','https://mariadb.com/kb/en/pow/'),(65,'POWER',4,'Syntax\n------\n\nPOWER(X,Y)\n\nDescription\n-----------\n\nThis is a synonym for POW(), which returns the value of X raised to the power\nof Y.\n\nURL: https://mariadb.com/kb/en/power/','','https://mariadb.com/kb/en/power/'),(61,'MOD',4,'Syntax\n------\n\nMOD(N,M), N % M, N MOD M\n\nDescription\n-----------\n\nModulo operation. Returns the remainder of N divided by M. See also Modulo\nOperator.\n\nIf the ERROR_ON_DIVISION_BY_ZERO SQL_MODE is used, any number modulus zero\nproduces an error. Otherwise, it returns NULL.\n\nThe integer part of a division can be obtained using DIV.\n\nExamples\n--------\n\nSELECT 1042 % 50;\n+-----------+\n| 1042 % 50 |\n+-----------+\n|        42 |\n+-----------+\n\nSELECT MOD(234, 10);\n+--------------+\n| MOD(234, 10) |\n+--------------+\n|            4 |\n+--------------+\n\nSELECT 253 % 7;\n+---------+\n| 253 % 7 |\n+---------+\n|       1 |\n+---------+\n\nSELECT MOD(29,9);\n+-----------+\n| MOD(29,9) |\n+-----------+\n|         2 |\n+-----------+\n\nSELECT 29 MOD 9;\n+----------+\n| 29 MOD 9 |\n+----------+\n|        2 |\n+----------+\n\nURL: https://mariadb.com/kb/en/mod/','','https://mariadb.com/kb/en/mod/'),(66,'RADIANS',4,'Syntax\n------\n\nRADIANS(X)\n\nDescription\n-----------\n\nReturns the argument X, converted from degrees to radians. Note that π radians\nequals 180 degrees.\n\nThis is the converse of the DEGREES() function.\n\nExamples\n--------\n\nSELECT RADIANS(45);\n+-------------------+\n| RADIANS(45)       |\n+-------------------+\n| 0.785398163397448 |\n+-------------------+\n\nSELECT RADIANS(90);\n+-----------------+\n| RADIANS(90)     |\n+-----------------+\n| 1.5707963267949 |\n+-----------------+\n\nSELECT RADIANS(PI());\n+--------------------+\n| RADIANS(PI())      |\n+--------------------+\n| 0.0548311355616075 |\n+--------------------+\n\nSELECT RADIANS(180);\n+------------------+\n| RADIANS(180)     |\n+------------------+\n| 3.14159265358979 |\n+------------------+\n\nURL: https://mariadb.com/kb/en/radians/','','https://mariadb.com/kb/en/radians/'),(67,'RAND',4,'Syntax\n------\n\nRAND(), RAND(N)\n\nDescription\n-----------\n\nReturns a random DOUBLE precision floating point value v in the range 0 <= v <\n1.0. If a constant integer argument N is specified, it is used as the seed\nvalue, which produces a repeatable sequence of column values. In the example\nbelow, note that the sequences of values produced by RAND(3) is the same both\nplaces where it occurs.\n\nIn a WHERE clause, RAND() is evaluated each time the WHERE is executed.\n\nStatements using the RAND() function are not safe for statement-based\nreplication.\n\nPractical uses\n--------------\n\nThe expression to get a random integer from a given range is the following:\n\nFLOOR(min_value + RAND() * (max_value - min_value +1))\n\nRAND() is often used to read random rows from a table, as follows:\n\nSELECT * FROM my_table ORDER BY RAND() LIMIT 10;\n\nNote, however, that this technique should never be used on a large table as it\nwill be extremely slow. MariaDB will read all rows in the table, generate a\nrandom value for each of them, order them, and finally will apply the LIMIT\nclause.\n\nExamples\n--------\n\nCREATE TABLE t (i INT);\n\nINSERT INTO t VALUES(1),(2),(3);\n\nSELECT i, RAND() FROM t;\n+------+-------------------+\n| i    | RAND()            |\n+------+-------------------+\n|    1 | 0.255651095188829 |\n|    2 | 0.833920199269355 |\n|    3 |  0.40264774151393 |\n+------+-------------------+\n\nSELECT i, RAND(3) FROM t;\n+------+-------------------+\n| i    | RAND(3)           |\n+------+-------------------+\n|    1 |  0.90576975597606 |\n|    2 | 0.373079058130345 |\n|    3 | 0.148086053457191 |\n+------+-------------------+\n\nSELECT i, RAND() FROM t;\n+------+-------------------+\n| i    | RAND()            |\n+------+-------------------+\n|    1 | 0.511478140495232 |\n|    2 | 0.349447508668012 |\n|    3 | 0.212803152588013 |\n+------+-------------------+\n\nUsing the same seed, the same sequence will be returned:\n\nSELECT i, RAND(3) FROM t;\n+------+-------------------+\n| i    | RAND(3)           |\n+------+-------------------+\n|    1 |  0.90576975597606 |\n|    2 | 0.373079058130345 |\n|    3 | 0.148086053457191 |\n+------+-------------------+\n\nGenerating a random number from 5 to 15:\n\nSELECT FLOOR(5 + (RAND() * 11));\n\nURL: https://mariadb.com/kb/en/rand/','','https://mariadb.com/kb/en/rand/'),(68,'ROUND',4,'Syntax\n------\n\nROUND(X), ROUND(X,D)\n\nDescription\n-----------\n\nRounds the argument X to D decimal places. D defaults to 0 if not specified. D\ncan be negative to cause D digits left of the decimal point of the value X to\nbecome zero.\n\nThe rounding algorithm depends on the data type of X:\n\n* for floating point types (FLOAT, DOUBLE) the C libraries rounding function\nis used, so the behavior *may* differ between operating systems\n* for fixed point types (DECIMAL, DEC/NUMBER/FIXED) the \"round half up\" rule\nis used, meaning that e.g. a value ending in exactly .5 is always rounded up.\n\nExamples\n--------\n\nSELECT ROUND(-1.23);\n+--------------+\n| ROUND(-1.23) |\n+--------------+\n|           -1 |\n+--------------+\n\nSELECT ROUND(-1.58);\n+--------------+\n| ROUND(-1.58) |\n+--------------+\n|           -2 |\n+--------------+\n\nSELECT ROUND(1.58); \n+-------------+\n| ROUND(1.58) |\n+-------------+\n|           2 |\n+-------------+\n\nSELECT ROUND(1.298, 1);\n+-----------------+\n| ROUND(1.298, 1) |\n+-----------------+\n|             1.3 |\n+-----------------+\n\nSELECT ROUND(1.298, 0);\n+-----------------+\n| ROUND(1.298, 0) |\n+-----------------+\n|               1 |\n+-----------------+\n\nSELECT ROUND(23.298, -1);\n+-------------------+\n| ROUND(23.298, -1) |\n+-------------------+\n|                20 |\n+-------------------+\n\nURL: https://mariadb.com/kb/en/round/','','https://mariadb.com/kb/en/round/'),(69,'SIGN',4,'Syntax\n------\n\nSIGN(X)\n\nDescription\n-----------\n\nReturns the sign of the argument as -1, 0, or 1, depending on whether X is\nnegative, zero, or positive.\n\nExamples\n--------\n\nSELECT SIGN(-32);\n+-----------+\n| SIGN(-32) |\n+-----------+\n|        -1 |\n+-----------+\n\nSELECT SIGN(0);\n+---------+\n| SIGN(0) |\n+---------+\n|       0 |\n+---------+\n\nSELECT SIGN(234);\n+-----------+\n| SIGN(234) |\n+-----------+\n|         1 |\n+-----------+\n\nURL: https://mariadb.com/kb/en/sign/','','https://mariadb.com/kb/en/sign/'),(70,'SIN',4,'Syntax\n------\n\nSIN(X)\n\nDescription\n-----------\n\nReturns the sine of X, where X is given in radians.\n\nExamples\n--------\n\nSELECT SIN(1.5707963267948966);\n+-------------------------+\n| SIN(1.5707963267948966) |\n+-------------------------+\n|                       1 |\n+-------------------------+\n\nSELECT SIN(PI());\n+----------------------+\n| SIN(PI())            |\n+----------------------+\n| 1.22460635382238e-16 |\n+----------------------+\n\nSELECT ROUND(SIN(PI()));\n+------------------+\n| ROUND(SIN(PI())) |\n+------------------+\n|                0 |\n+------------------+\n\nURL: https://mariadb.com/kb/en/sin/','','https://mariadb.com/kb/en/sin/'),(71,'SQRT',4,'Syntax\n------\n\nSQRT(X)\n\nDescription\n-----------\n\nReturns the square root of X. If X is negative, NULL is returned.\n\nExamples\n--------\n\nSELECT SQRT(4);\n+---------+\n| SQRT(4) |\n+---------+\n|       2 |\n+---------+\n\nSELECT SQRT(20);\n+------------------+\n| SQRT(20)         |\n+------------------+\n| 4.47213595499958 |\n+------------------+\n\nSELECT SQRT(-16);\n+-----------+\n| SQRT(-16) |\n+-----------+\n|      NULL |\n+-----------+\n\nSELECT SQRT(1764);\n+------------+\n| SQRT(1764) |\n+------------+\n|         42 |\n+------------+\n\nURL: https://mariadb.com/kb/en/sqrt/','','https://mariadb.com/kb/en/sqrt/'),(72,'TAN',4,'Syntax\n------\n\nTAN(X)\n\nDescription\n-----------\n\nReturns the tangent of X, where X is given in radians.\n\nExamples\n--------\n\nSELECT TAN(0.7853981633974483);\n+-------------------------+\n| TAN(0.7853981633974483) |\n+-------------------------+\n|      0.9999999999999999 |\n+-------------------------+\n\nSELECT TAN(PI());\n+-----------------------+\n| TAN(PI())             |\n+-----------------------+\n| -1.22460635382238e-16 |\n+-----------------------+\n\nSELECT TAN(PI()+1);\n+-----------------+\n| TAN(PI()+1)     |\n+-----------------+\n| 1.5574077246549 |\n+-----------------+\n\nSELECT TAN(RADIANS(PI()));\n+--------------------+\n| TAN(RADIANS(PI())) |\n+--------------------+\n| 0.0548861508080033 |\n+--------------------+\n\nURL: https://mariadb.com/kb/en/tan/','','https://mariadb.com/kb/en/tan/'),(73,'TRUNCATE',4,'This page documents the TRUNCATE function. See TRUNCATE TABLE for the DDL\nstatement.\n\nSyntax\n------\n\nTRUNCATE(X,D)\n\nDescription\n-----------\n\nReturns the number X, truncated to D decimal places. If D is 0, the result has\nno decimal point or fractional part. D can be negative to cause D digits left\nof the decimal point of the value X to become zero.\n\nExamples\n--------\n\nSELECT TRUNCATE(1.223,1);\n+-------------------+\n| TRUNCATE(1.223,1) |\n+-------------------+\n|               1.2 |\n+-------------------+\n\nSELECT TRUNCATE(1.999,1);\n+-------------------+\n| TRUNCATE(1.999,1) |\n+-------------------+\n|               1.9 |\n+-------------------+\n\nSELECT TRUNCATE(1.999,0); \n+-------------------+\n| TRUNCATE(1.999,0) |\n+-------------------+\n|                 1 |\n+-------------------+\n\nSELECT TRUNCATE(-1.999,1);\n+--------------------+\n| TRUNCATE(-1.999,1) |\n+--------------------+\n|               -1.9 |\n+--------------------+\n\nSELECT TRUNCATE(122,-2);\n+------------------+\n| TRUNCATE(122,-2) |\n+------------------+\n|              100 |\n+------------------+\n\nSELECT TRUNCATE(10.28*100,0);\n+-----------------------+\n| TRUNCATE(10.28*100,0) |\n+-----------------------+\n|                  1028 |\n+-----------------------+\n\nURL: https://mariadb.com/kb/en/truncate/','','https://mariadb.com/kb/en/truncate/'),(74,'INSTALL PLUGIN',5,'Syntax\n------\n\nINSTALL PLUGIN [IF NOT EXISTS] plugin_name SONAME \'plugin_library\'\n\nDescription\n-----------\n\nThis statement installs an individual plugin from the specified library. To\ninstall the whole library (which could be required), use INSTALL SONAME. See\nalso Installing a Plugin.\n\nplugin_name is the name of the plugin as defined in the plugin declaration\nstructure contained in the library file. Plugin names are not case sensitive.\nFor maximal compatibility, plugin names should be limited to ASCII letters,\ndigits, and underscore, because they are used in C source files, shell command\nlines, M4 and Bourne shell scripts, and SQL environments.\n\nplugin_library is the name of the shared library that contains the plugin\ncode. The file name extension can be omitted (which makes the statement look\nthe same on all architectures).\n\nThe shared library must be located in the plugin directory (that is, the\ndirectory named by the plugin_dir system variable). The library must be in the\nplugin directory itself, not in a subdirectory. By default, plugin_dir is\nplugin directory under the directory named by the pkglibdir configuration\nvariable, but it can be changed by setting the value of plugin_dir at server\nstartup. For example, set its value in a my.cnf file:\n\n[mysqld]\nplugin_dir=/path/to/plugin/directory\nIf the value of plugin_dir is a relative path name, it is taken to be relative\nto the MySQL base directory (the value of the basedir system variable).\n\nINSTALL PLUGIN adds a line to the mysql.plugin table that describes the\nplugin. This table contains the plugin name and library file name.\n\nINSTALL PLUGIN causes the server to read option (my.cnf) files just as during\nserver startup. This enables the plugin to pick up any relevant options from\nthose files. It is possible to add plugin options to an option file even\nbefore loading a plugin (if the loose prefix is used). It is also possible to\nuninstall a plugin, edit my.cnf, and install the plugin again. Restarting the\nplugin this way enables it to the new option values without a server restart.\n\nINSTALL PLUGIN also loads and initializes the plugin code to make the plugin\navailable for use. A plugin is initialized by executing its initialization\nfunction, which handles any setup that the plugin must perform before it can\nbe used.\n\nTo use INSTALL PLUGIN, you must have the INSERT privilege for the mysql.plugin\ntable.\n\nAt server startup, the server loads and initializes any plugin that is listed\nin the mysql.plugin table. This means that a plugin is installed with INSTALL\nPLUGIN only once, not every time the server starts. Plugin loading at startup\ndoes not occur if the server is started with the --skip-grant-tables option.\n\nWhen the server shuts down, it executes the de-initialization function for\neach plugin that is loaded so that the plugin has a chance to perform any\nfinal cleanup.\n\nIf you need to load plugins for a single server startup when the\n--skip-grant-tables option is given (which tells the server not to read system\ntables), use the --plugin-load mysqld option.\n\nMariaDB starting with 10.4.0\n----------------------------\n\nIF NOT EXISTS\n-------------\n\nWhen the IF NOT EXISTS clause is used, MariaDB will return a note instead of\nan error if the specified plugin already exists. See SHOW WARNINGS.\n\nExamples\n--------\n\nINSTALL PLUGIN sphinx SONAME \'ha_sphinx.so\';\n\nThe extension can also be omitted:\n\nINSTALL PLUGIN innodb SONAME \'ha_xtradb\';\n\nFrom MariaDB 10.4.0:\n\nINSTALL PLUGIN IF NOT EXISTS example SONAME \'ha_example\';\nQuery OK, 0 rows affected (0.104 sec)\n\nINSTALL PLUGIN IF NOT EXISTS example SONAME \'ha_example\';\nQuery OK, 0 rows affected, 1 warning (0.000 sec)\n\nSHOW WARNINGS;\n+-------+------+------------------------------------+\n| Level | Code | Message                            |\n+-------+------+------------------------------------+\n| Note  | 1968 | Plugin \'example\' already installed |\n+-------+------+------------------------------------+\n\nURL: https://mariadb.com/kb/en/install-plugin/','','https://mariadb.com/kb/en/install-plugin/'),(78,'Plugin Overview',5,'Plugins are server components that enhance MariaDB in some way. These can be\nanything from new storage engines, plugins for enhancing full-text parsing, or\neven small enhancements, such as a plugin to get a timestamp as an integer.\n\nQuerying Plugin Information\n---------------------------\n\nThere are a number of ways to see which plugins are currently active.\n\nA server almost always has a large number of active plugins, because the\nserver contains a large number of built-in plugins, which are active by\ndefault and cannot be uninstalled.\n\nQuerying Plugin Information with SHOW PLUGINS\n---------------------------------------------\n\nThe SHOW PLUGINS statement can be used to query information about all active\nplugins.\n\nFor example:\n\nSHOW PLUGINS\\G;\n********************** 1. row **********************\n Name: binlog\n Status: ACTIVE\n Type: STORAGE ENGINE\nLibrary: NULL\nLicense: GPL\n********************** 2. row **********************\n Name: mysql_native_password\n Status: ACTIVE\n Type: AUTHENTICATION\nLibrary: NULL\nLicense: GPL\n********************** 3. row **********************\n Name: mysql_old_password\n Status: ACTIVE\n Type: AUTHENTICATION\nLibrary: NULL\nLicense: GPL\n...\n\nIf a plugin\'s Library column has a NULL value, then the plugin is built-in,\nand it cannot be uninstalled.\n\nQuerying Plugin Information with information_schema.PLUGINS\n-----------------------------------------------------------\n\nThe information_schema.PLUGINS table can be queried to get more detailed\ninformation about plugins.\n\nFor example:\n\nSELECT * FROM information_schema.PLUGINS\\G\n...\n*************************** 6. row ***************************\n     PLUGIN_NAME: CSV\n    PLUGIN_VERSION: 1.0\n    PLUGIN_STATUS: ACTIVE\n     PLUGIN_TYPE: STORAGE ENGINE\n PLUGIN_TYPE_VERSION: 100003.0\n    PLUGIN_LIBRARY: NULL\nPLUGIN_LIBRARY_VERSION: NULL\n    PLUGIN_AUTHOR: Brian Aker, MySQL AB\n  PLUGIN_DESCRIPTION: CSV storage engine\n    PLUGIN_LICENSE: GPL\n     LOAD_OPTION: FORCE\n   PLUGIN_MATURITY: Stable\n PLUGIN_AUTH_VERSION: 1.0\n*************************** 7. row ***************************\n     PLUGIN_NAME: MEMORY\n    PLUGIN_VERSION: 1.0\n    PLUGIN_STATUS: ACTIVE\n     PLUGIN_TYPE: STORAGE ENGINE\n PLUGIN_TYPE_VERSION: 100003.0\n    PLUGIN_LIBRARY: NULL\nPLUGIN_LIBRARY_VERSION: NULL\n    PLUGIN_AUTHOR: MySQL AB\n  PLUGIN_DESCRIPTION: Hash based, stored in memory, useful for temporary\ntables\n    PLUGIN_LICENSE: GPL\n     LOAD_OPTION: FORCE\n   PLUGIN_MATURITY: Stable\n PLUGIN_AUTH_VERSION: 1.0\n...\n\nIf a plugin\'s PLUGIN_LIBRARY column has the NULL value, then the plugin is\nbuilt-in, and it cannot be uninstalled.\n\nQuerying Plugin Information with mysql.plugin\n---------------------------------------------\n\nThe mysql.plugin table can be queried to get information about installed\nplugins.\n\nThis table only contains information about plugins that have been installed\nvia the following methods:\n\n* The INSTALL SONAME statement.\n* The INSTALL PLUGIN statement.\n* The mysql_plugin utility.\n\nThis table does not contain information about:\n\n* Built-in plugins.\n* Plugins loaded with the --plugin-load-add option.\n* Plugins loaded with the --plugin-load option.\n\nThis table only contains enough information to reload the plugin when the\nserver is restarted, which means it only contains the plugin name and the\nplugin library.\n\nFor example:\n\nSELECT * FROM mysql.plugin;\n\n+------+------------+\n| name | dl         |\n+------+------------+\n| PBXT | libpbxt.so |\n+------+------------+\n\nInstalling a Plugin\n-------------------\n\nThere are three primary ways to install a plugin:\n\n* A plugin can be installed dynamically with an SQL statement.\n* A plugin can be installed with a mysqld option, but it requires a server\nrestart.\n* A plugin can be installed with the mysql_plugin utility, while the server is\ncompletely offline.\n\nWhen you are installing a plugin, you also have to ensure that:\n\n* The server\'s plugin directory is properly configured, and the plugin\'s\nlibrary is in the plugin directory.\n* The server\'s minimum plugin maturity is properly configured, and the plugin\nis mature enough to be installed.\n\nInstalling a Plugin Dynamically\n-------------------------------\n\nA plugin can be installed dynamically by executing either the INSTALL SONAME\nor the INSTALL PLUGIN statement.\n\nIf a plugin is installed with one of these statements, then a record will be\nadded to the mysql.plugins table for the plugin. This means that the plugin\nwill automatically be loaded every time the server restarts, unless\nspecifically uninstalled or deactivated.\n\nInstalling a Plugin with INSTALL SONAME\n---------------------------------------\n\nYou can install a plugin dynamically by executing the INSTALL SONAME\nstatement. INSTALL SONAME installs all plugins from the given plugin library.\nThis could be required for some plugin libraries.\n\nFor example, to install all plugins in the server_audit plugin library (which\nis currently only the server_audit audit plugin), you could execute the\nfollowing:\n\nINSTALL SONAME \'server_audit\';\n\nInstalling a Plugin with INSTALL PLUGIN\n---------------------------------------\n\nYou can install a plugin dynamically by executing the INSTALL PLUGIN\nstatement. INSTALL PLUGIN installs a single plugin from the given plugin\nlibrary.\n\nFor example, to install the server_audit audit plugin from the server_audit\nplugin library, you could execute the following:\n\nINSTALL PLUGIN server_audit SONAME \'server_audit\';\n\nInstalling a Plugin with Plugin Load Options\n--------------------------------------------\n\nA plugin can be installed with a mysqld option by providing either the\n--plugin-load-add or the --plugin-load option.\n\nIf a plugin is installed with one of these options, then a record will not be\nadded to the mysql.plugins table for the plugin. This means that if the server\nis restarted without the same option set, then the plugin will not\nautomatically be loaded.\n\nInstalling a Plugin with --plugin-load-add\n------------------------------------------\n\nYou can install a plugin with the --plugin-load-add option by specifying the\noption as a command-line argument to mysqld or by specifying the option in a\nrelevant server option group in an option file.\n\nThe --plugin-load-add option uses the following format:\n\n* Plugins can be specified in the format name=library, where name is the\nplugin name and library is the plugin library. This format installs a single\nplugin from the given plugin library.\n* Plugins can also be specified in the format library, where library is the\nplugin library. This format installs all plugins from the given plugin library.\n* Multiple plugins can be specified by separating them with semicolons.\n\nFor example, to install all plugins in the server_audit plugin library (which\nis currently only the server_audit audit plugin) and also the ed25519\nauthentication plugin from the auth_ed25519 plugin library, you could set the\noption to the following values on the command-line:\n\n$ mysqld --user=mysql --plugin-load-add=\'server_audit\'\n--plugin-load-add=\'ed25519=auth_ed25519\'\n\nYou could also set the option to the same values in an option file:\n\n[mariadb]\n...\nplugin_load_add = server_audit\nplugin_load_add = ed25519=auth_ed25519\n\nSpecial care must be taken when specifying both the --plugin-load option and\nthe --plugin-load-add option together. The --plugin-load option resets the\nplugin load list, and this can cause unexpected problems if you are not aware.\nThe --plugin-load-add option does not reset the plugin load list, so it is\nmuch safer to use. See Specifying Multiple Plugin Load Options for more\ninformation.\n\nInstalling a Plugin with --plugin-load\n--------------------------------------\n\nYou can install a plugin with the --plugin-load option by specifying the\noption as a command-line argument to mysqld or by specifying the option in a\nrelevant server option group in an option file.\n\nThe --plugin-load option uses the following format:\n\n* Plugins can be specified in the format name=library, where name is the\nplugin name and library is the plugin library. This format installs a single\nplugin from the given plugin library.\n* Plugins can also be specified in the format library, where library is the\nplugin library. This format installs all plugins from the given plugin library.\n* Multiple plugins can be specified by separating them with semicolons.\n\nFor example, to install all plugins in the server_audit plugin library (which\nis currently only the server_audit audit plugin) and also the ed25519\nauthentication plugin from the auth_ed25519 plugin library, you could set the\noption to the following values on the command-line:\n\n$ mysqld --user=mysql --plugin-load=\'server_audit;ed25519=auth_ed25519\'\n\nYou could also set the option to the same values in an option file:\n\n[mariadb]\n...\nplugin_load = server_audit;ed25519=auth_ed25519\n\nSpecial care must be taken when specifying the --plugin-load option multiple\ntimes, or when specifying both the --plugin-load option and the\n--plugin-load-add option together. The --plugin-load option resets the plugin\nload list, and this can cause unexpected problems if you are not aware. The\n--plugin-load-add option does not reset the plugin load list, so it is much\nsafer to use. See Specifying Multiple Plugin Load Options for more information.\n\nSpecifying Multiple Plugin Load Options\n---------------------------------------\n\nSpecial care must be taken when specifying the --plugin-load option multiple\ntimes, or when specifying both the --plugin-load option and the\n--plugin-load-add option. The --plugin-load option resets the plugin load\nlist, and this can cause unexpected problems if you are not aware. The\n--plugin-load-add option does not reset the plugin load list, so it is much\nsafer to use.\n\nThis can have the following consequences:\n\n* If the --plugin-load option is specified multiple times, then only the last\ninstance will have any effect. For example, in the following case, the first\ninstance of the option is reset:\n\n[mariadb]\n...\nplugin_load = server_audit\nplugin_load = ed25519=auth_ed25519\n\n* If the --plugin-load option is specified after the --plugin-load-add option,\nthen it will also reset the changes made by that option. For example, in the\nfollowing case, the --plugin-load-add option does not do anything, because the\nsubsequent --plugin-load option resets the plugin load list:\n\n[mariadb]\n...\nplugin_load_add = server_audit\nplugin_load = ed25519=auth_ed25519\n\n* In contrast, if the --plugin-load option is specified before the\n--plugin-load-add option, then it will work fine, because the\n--plugin-load-add option does not reset the plugin load list. For example, in\nthe following case, both plugins are properly loaded:\n\n[mariadb]\n...\nplugin_load = server_audit\nplugin_load_add = ed25519=auth_ed25519\n\nInstalling a Plugin with mysql_plugin\n-------------------------------------\n\nA plugin can be installed with the mysql_plugin utility if the server is\ncompletely offline.\n\nThe syntax is:\n\nmysql_plugin [options] <plugin> ENABLE|DISABLE\n\nFor example, to install the server_audit audit plugin, you could execute the\nfollowing:\n\nmysql_plugin server_audit ENABLE\n\nIf a plugin is installed with this utility, then a record will be added to the\nmysql.plugins table for the plugin. This means that the plugin will\nautomatically be loaded every time the server restarts, unless specifically\nuninstalled or deactivated.\n\nConfiguring the Plugin Directory\n--------------------------------\n\nWhen a plugin is being installed, the server looks for the plugin\'s library in\nthe server\'s plugin directory. This directory is configured by the plugin_dir\nsystem variable. This can be specified as a command-line argument to mysqld or\nit can be specified in a relevant server option group in an option file. For\nexample:\n\n[mariadb]\n...\nplugin_dir = /usr/lib64/mysql/plugin\n\nConfiguring the Minimum Plugin Maturity\n---------------------------------------\n\nWhen a plugin is being installed, the server compares the plugin\'s maturity\nlevel against the server\'s minimum allowed plugin maturity. This can help\nprevent users from using unstable plugins on production servers. This minimum\nplugin maturity is configured by the plugin_maturity system variable. This can\nbe specified as a command-line argument to mysqld or it can be specified in a\nrelevant server option group in an option file. For example:\n\n[mariadb]\n...\nplugin_maturity = stable\n\nConfiguring Plugin Activation at Server Startup\n-----------------------------------------------\n\nA plugin will be loaded by default when the server starts if:\n\n* The plugin was installed with the INSTALL SONAME statement.\n* The plugin was installed with the INSTALL PLUGIN statement.\n* The plugin was installed with the mysql_plugin utility.\n* The server is configured to load the plugin with the --plugin-load-add\noption.\n* The server is configured to load the plugin with the --plugin-load option.\n\nThis behavior can be changed with special options that take the form\n--plugin-name. For example, for the server_audit audit plugin, the special\noption is called --server-audit.\n\nThe possible values for these special options are:\n\n+---------------------------------------+------------------------------------+\n| Option Value                          | Description                        |\n+---------------------------------------+------------------------------------+\n| OFF                                   | Disables the plugin without        |\n|                                       | removing it from the               |\n|                                       | mysql.plugins table.               |\n+---------------------------------------+------------------------------------+\n| ON                                    | Enables the plugin. If the plugin  |\n|                                       | cannot be initialized, then the    |\n|                                       | server will still continue         |\n|                                       | starting up, but the plugin will   |\n|                                       | be disabled.                       |\n+---------------------------------------+------------------------------------+\n| FORCE                                 | Enables the plugin. If the plugin  |\n|                                       | cannot be initialized, then the    |\n|                                       | server will fail to start with an  |\n|                                       | error.                             |\n+---------------------------------------+------------------------------------+\n| FORCE_PLUS_PERMANENT                  | Enables the plugin. If the plugin  |\n|                                       | cannot be initialized, then the    |\n|                                       | server will fail to start with an  |\n|                                       | error. In addition, the plugin     |\n|                                       | cannot be uninstalled with         |\n|                                       | UNINSTALL SONAME or UNINSTALL      |\n|                                       | PLUGIN while the server is         |\n|                                       | running.                           |\n+---------------------------------------+------------------------------------+\n\nA plugin\'s status can be found by looking at the PLUGIN_STATUS column of the\ninformation_schema.PLUGINS table.\n\nUninstalling Plugins\n--------------------\n\nPlugins that are found in the mysql.plugin table, that is those that were\ninstalled with INSTALL SONAME, INSTALL PLUGIN or mysql_plugin can be\nuninstalled in one of two ways:\n\n* The UNINSTALL SONAME or the UNINSTALL PLUGIN statement while the server is\nrunning\n* With mysql_plugin while the server is offline.\n\nPlugins that were enabled as a --plugin-load option do not need to be\nuninstalled. If --plugin-load is omitted the next time the server starts, or\nthe plugin is not listed as one of the --plugin-load entries, the plugin will\nnot be loaded.\n\nUNINSTALL PLUGIN uninstalls a single installed plugin, while UNINSTALL SONAME\nuninstalls all plugins belonging to a given library.\n\nURL: https://mariadb.com/kb/en/plugin-overview/','','https://mariadb.com/kb/en/plugin-overview/'),(79,'MBR Definition',6,'Description\n-----------\n\nThe MBR (Minimum Bounding Rectangle), or Envelope is the bounding geometry,\nformed by the minimum and maximum (X,Y) coordinates:\n\nExamples\n--------\n\n((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))\n\nURL: https://mariadb.com/kb/en/mbr-definition/','','https://mariadb.com/kb/en/mbr-definition/'),(80,'MBRContains',6,'Syntax\n------\n\nMBRContains(g1,g2)\n\nDescription\n-----------\n\nReturns 1 or 0 to indicate whether the Minimum Bounding Rectangle of g1\ncontains the Minimum Bounding Rectangle of g2. This tests the opposite\nrelationship as MBRWithin().\n\nExamples\n--------\n\nSET @g1 = GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\n\nSET @g2 = GeomFromText(\'Point(1 1)\');\n\nSELECT MBRContains(@g1,@g2), MBRContains(@g2,@g1);\n+----------------------+----------------------+\n| MBRContains(@g1,@g2) | MBRContains(@g2,@g1) |\n+----------------------+----------------------+\n|                    1 |                    0 |\n+----------------------+----------------------+\n\nURL: https://mariadb.com/kb/en/mbrcontains/','','https://mariadb.com/kb/en/mbrcontains/'),(82,'MBREqual',6,'Syntax\n------\n\nMBREqual(g1,g2)\n\nDescription\n-----------\n\nReturns 1 or 0 to indicate whether the Minimum Bounding Rectangles of the two\ngeometries g1 and g2 are the same.\n\nExamples\n--------\n\nSET @g1=GEOMFROMTEXT(\'LINESTRING(0 0, 1 2)\');\nSET @g2=GEOMFROMTEXT(\'POLYGON((0 0, 0 2, 1 2, 1 0, 0 0))\');\nSELECT MbrEqual(@g1,@g2);\n+-------------------+\n| MbrEqual(@g1,@g2) |\n+-------------------+\n|                 1 |\n+-------------------+\n\nSET @g1=GEOMFROMTEXT(\'LINESTRING(0 0, 1 3)\');\nSET @g2=GEOMFROMTEXT(\'POLYGON((0 0, 0 2, 1 4, 1 0, 0 0))\');\nSELECT MbrEqual(@g1,@g2);\n+-------------------+\n| MbrEqual(@g1,@g2) |\n+-------------------+\n|                 0 |\n+-------------------+\n\nURL: https://mariadb.com/kb/en/mbrequal/','','https://mariadb.com/kb/en/mbrequal/'),(86,'MBRWithin',6,'Syntax\n------\n\nMBRWithin(g1,g2)\n\nDescription\n-----------\n\nReturns 1 or 0 to indicate whether the Minimum Bounding Rectangle of g1 is\nwithin the Minimum Bounding Rectangle of g2. This tests the opposite\nrelationship as MBRContains().\n\nExamples\n--------\n\nSET @g1 = GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nSET @g2 = GeomFromText(\'Polygon((0 0,0 5,5 5,5 0,0 0))\');\nSELECT MBRWithin(@g1,@g2), MBRWithin(@g2,@g1);\n+--------------------+--------------------+\n| MBRWithin(@g1,@g2) | MBRWithin(@g2,@g1) |\n+--------------------+--------------------+\n|                  1 |                  0 |\n+--------------------+--------------------+\n\nURL: https://mariadb.com/kb/en/mbrwithin/','','https://mariadb.com/kb/en/mbrwithin/'),(75,'UNINSTALL PLUGIN',5,'Syntax\n------\n\nUNINSTALL PLUGIN [IF EXISTS] plugin_name\n\nDescription\n-----------\n\nThis statement removes a single installed plugin. To uninstall the whole\nlibrary which contains the plugin, use UNINSTALL SONAME. You cannot uninstall\na plugin if any table that uses it is open.\n\nplugin_name must be the name of some plugin that is listed in the mysql.plugin\ntable. The server executes the plugin\'s deinitialization function and removes\nthe row for the plugin from the mysql.plugin table, so that subsequent server\nrestarts will not load and initialize the plugin. UNINSTALL PLUGIN does not\nremove the plugin\'s shared library file.\n\nTo use UNINSTALL PLUGIN, you must have the DELETE privilege for the\nmysql.plugin table.\n\nMariaDB starting with 10.4.0\n----------------------------\n\nIF EXISTS\n---------\n\nIf the IF EXISTS clause is used, MariaDB will return a note instead of an\nerror if the plugin does not exist. See SHOW WARNINGS.\n\nExamples\n--------\n\nUNINSTALL PLUGIN example;\n\nFrom MariaDB 10.4.0:\n\nUNINSTALL PLUGIN IF EXISTS example;\nQuery OK, 0 rows affected (0.099 sec)\n\nUNINSTALL PLUGIN IF EXISTS example;\nQuery OK, 0 rows affected, 1 warning (0.000 sec)\n\nSHOW WARNINGS;\n+-------+------+-------------------------------+\n| Level | Code | Message                       |\n+-------+------+-------------------------------+\n| Note  | 1305 | PLUGIN example does not exist |\n+-------+------+-------------------------------+\n\nURL: https://mariadb.com/kb/en/uninstall-plugin/','','https://mariadb.com/kb/en/uninstall-plugin/'),(76,'INSTALL SONAME',5,'Syntax\n------\n\nINSTALL SONAME \'plugin_library\'\n\nDescription\n-----------\n\nThis statement is a variant of INSTALL PLUGIN. It installs all plugins from a\ngiven plugin_library. See INSTALL PLUGIN for details.\n\nplugin_library is the name of the shared library that contains the plugin\ncode. The file name extension (for example, libmyplugin.so or libmyplugin.dll)\ncan be omitted (which makes the statement look the same on all architectures).\n\nThe shared library must be located in the plugin directory (that is, the\ndirectory named by the plugin_dir system variable). The library must be in the\nplugin directory itself, not in a subdirectory. By default, plugin_dir is\nplugin directory under the directory named by the pkglibdir configuration\nvariable, but it can be changed by setting the value of plugin_dir at server\nstartup. For example, set its value in a my.cnf file:\n\n[mysqld]\nplugin_dir=/path/to/plugin/directory\nIf the value of plugin_dir is a relative path name, it is taken to be relative\nto the MySQL base directory (the value of the basedir system variable).\n\nINSTALL SONAME adds one or more lines to the mysql.plugin table that describes\nthe plugin. This table contains the plugin name and library file name.\n\nINSTALL SONAME causes the server to read option (my.cnf) files just as during\nserver startup. This enables the plugin to pick up any relevant options from\nthose files. It is possible to add plugin options to an option file even\nbefore loading a plugin (if the loose prefix is used). It is also possible to\nuninstall a plugin, edit my.cnf, and install the plugin again. Restarting the\nplugin this way enables it to the new option values without a server restart.\n\nINSTALL SONAME also loads and initializes the plugin code to make the plugin\navailable for use. A plugin is initialized by executing its initialization\nfunction, which handles any setup that the plugin must perform before it can\nbe used.\n\nTo use INSTALL SONAME, you must have the INSERT privilege for the mysql.plugin\ntable.\n\nAt server startup, the server loads and initializes any plugin that is listed\nin the mysql.plugin table. This means that a plugin is installed with INSTALL\nSONAME only once, not every time the server starts. Plugin loading at startup\ndoes not occur if the server is started with the --skip-grant-tables option.\n\nWhen the server shuts down, it executes the de-initialization function for\neach plugin that is loaded so that the plugin has a chance to perform any\nfinal cleanup.\n\nIf you need to load plugins for a single server startup when the\n--skip-grant-tables option is given (which tells the server not to read system\ntables), use the --plugin-load mysqld option.\n\nIf you need to install only one plugin from a library, use the INSTALL PLUGIN\nstatement.\n\nExamples\n--------\n\nTo load the XtraDB storage engine and all of its information_schema tables\nwith one statement, use\n\nINSTALL SONAME \'ha_xtradb\';\n\nThis statement can be used instead of INSTALL PLUGIN even when the library\ncontains only one plugin:\n\nINSTALL SONAME \'ha_sequence\';\n\nURL: https://mariadb.com/kb/en/install-soname/','','https://mariadb.com/kb/en/install-soname/'),(77,'UNINSTALL SONAME',5,'Syntax\n------\n\nUNINSTALL SONAME  [IF EXISTS] \'plugin_library\'\n\nDescription\n-----------\n\nThis statement is a variant of UNINSTALL PLUGIN statement, that removes all\nplugins belonging to a specified plugin_library. See UNINSTALL PLUGIN for\ndetails.\n\nplugin_library is the name of the shared library that contains the plugin\ncode. The file name extension (for example, libmyplugin.so or libmyplugin.dll)\ncan be omitted (which makes the statement look the same on all architectures).\n\nTo use UNINSTALL SONAME, you must have the DELETE privilege for the\nmysql.plugin table.\n\nMariaDB starting with 10.4.0\n----------------------------\n\nIF EXISTS\n---------\n\nIf the IF EXISTS clause is used, MariaDB will return a note instead of an\nerror if the plugin library does not exist. See SHOW WARNINGS.\n\nExamples\n--------\n\nTo uninstall the XtraDB plugin and all of its information_schema tables with\none statement, use\n\nUNINSTALL SONAME \'ha_xtradb\';\n\nFrom MariaDB 10.4.0:\n\nUNINSTALL SONAME IF EXISTS \'ha_example\';\nQuery OK, 0 rows affected (0.099 sec)\n\nUNINSTALL SONAME IF EXISTS \'ha_example\';\nQuery OK, 0 rows affected, 1 warning (0.000 sec)\n\nSHOW WARNINGS;\n+-------+------+-------------------------------------+\n| Level | Code | Message                             |\n+-------+------+-------------------------------------+\n| Note  | 1305 | SONAME ha_example.so does not exist |\n+-------+------+-------------------------------------+\n\nURL: https://mariadb.com/kb/en/uninstall-soname/','','https://mariadb.com/kb/en/uninstall-soname/'),(90,'NULLIF',7,'Syntax\n------\n\nNULLIF(expr1,expr2)\n\nDescription\n-----------\n\nReturns NULL if expr1 = expr2 is true, otherwise returns expr1. This is the\nsame as CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END.\n\nExamples\n--------\n\nSELECT NULLIF(1,1);\n+-------------+\n| NULLIF(1,1) |\n+-------------+\n|        NULL |\n+-------------+\n\nSELECT NULLIF(1,2);\n+-------------+\n| NULLIF(1,2) |\n+-------------+\n|           1 |\n+-------------+\n\nURL: https://mariadb.com/kb/en/nullif/','','https://mariadb.com/kb/en/nullif/'),(91,'NVL',7,'MariaDB starting with 10.3\n--------------------------\nFrom MariaDB 10.3, NVL is a synonym for IFNULL.\n\nURL: https://mariadb.com/kb/en/nvl/','','https://mariadb.com/kb/en/nvl/'),(92,'NVL2',7,'MariaDB starting with 10.3\n--------------------------\nThe NLV2 function was introduced in MariaDB 10.3.0.\n\nSyntax\n------\n\nNVL2(expr1,expr2,expr3)\n\nDescription\n-----------\n\nThe NVL2 function returns a value based on whether a specified expression is\nNULL or not. If expr1 is not NULL, then NVL2 returns expr2. If expr1 is NULL,\nthen NVL2 returns expr3.\n\nExamples\n--------\n\nSELECT NVL2(NULL,1,2);\n+----------------+\n| NVL2(NULL,1,2) |\n+----------------+\n|              2 |\n+----------------+\n\nSELECT NVL2(\'x\',1,2);\n+---------------+\n| NVL2(\'x\',1,2) |\n+---------------+\n|             1 |\n+---------------+\n\nURL: https://mariadb.com/kb/en/nvl2/','','https://mariadb.com/kb/en/nvl2/'),(81,'MBRDisjoint',6,'Syntax\n------\n\nMBRDisjoint(g1,g2)\n\nDescription\n-----------\n\nReturns 1 or 0 to indicate whether the Minimum Bounding Rectangles of the two\ngeometries g1 and g2 are disjoint. Two geometries are disjoint if they do not\nintersect, that is touch or overlap.\n\nExamples\n--------\n\nSET @g1 = GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nSET @g2 = GeomFromText(\'Polygon((4 4,4 7,7 7,7 4,4 4))\');\nSELECTmbrdisjoint(@g1,@g2);\n+----------------------+\n| mbrdisjoint(@g1,@g2) |\n+----------------------+\n|                    1 |\n+----------------------+\n\nSET @g1 = GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nSET @g2 = GeomFromText(\'Polygon((3 3,3 6,6 6,6 3,3 3))\');\nSELECT mbrdisjoint(@g1,@g2);\n+----------------------+\n| mbrdisjoint(@g1,@g2) |\n+----------------------+\n|                    0 |\n+----------------------+\n\nURL: https://mariadb.com/kb/en/mbrdisjoint/','','https://mariadb.com/kb/en/mbrdisjoint/'),(83,'MBRIntersects',6,'Syntax\n------\n\nMBRIntersects(g1,g2)\n\nDescription\n-----------\n\nReturns 1 or 0 to indicate whether the Minimum Bounding Rectangles of the two\ngeometries g1 and g2 intersect.\n\nExamples\n--------\n\nSET @g1 = GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nSET @g2 = GeomFromText(\'Polygon((3 3,3 6,6 6,6 3,3 3))\');\nSELECT mbrintersects(@g1,@g2);\n+------------------------+\n| mbrintersects(@g1,@g2) |\n+------------------------+\n|                      1 |\n+------------------------+\n\nSET @g1 = GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nSET @g2 = GeomFromText(\'Polygon((4 4,4 7,7 7,7 4,4 4))\');\nSELECT mbrintersects(@g1,@g2);\n+------------------------+\n| mbrintersects(@g1,@g2) |\n+------------------------+\n|                      0 |\n+------------------------+\n\nURL: https://mariadb.com/kb/en/mbrintersects/','','https://mariadb.com/kb/en/mbrintersects/'),(84,'MBROverlaps',6,'Syntax\n------\n\nMBROverlaps(g1,g2)\n\nDescription\n-----------\n\nReturns 1 or 0 to indicate whether the Minimum Bounding Rectangles of the two\ngeometries g1 and g2 overlap. The term spatially overlaps is used if two\ngeometries intersect and their intersection results in a geometry of the same\ndimension but not equal to either of the given geometries.\n\nExamples\n--------\n\nSET @g1 = GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nSET @g2 = GeomFromText(\'Polygon((4 4,4 7,7 7,7 4,4 4))\');\nSELECT mbroverlaps(@g1,@g2);\n+----------------------+\n| mbroverlaps(@g1,@g2) |\n+----------------------+\n|                    0 |\n+----------------------+\n\nSET @g1 = GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nSET @g2 = GeomFromText(\'Polygon((3 3,3 6,6 6,6 3,3 3))\');\nSELECT mbroverlaps(@g1,@g2);\n+----------------------+\n| mbroverlaps(@g1,@g2) |\n+----------------------+\n|                    0 |\n+----------------------+\n\nSET @g1 = GeomFromText(\'Polygon((0 0,0 4,4 4,4 0,0 0))\');\nSET @g2 = GeomFromText(\'Polygon((3 3,3 6,6 6,6 3,3 3))\');\nSELECT mbroverlaps(@g1,@g2);\n+----------------------+\n| mbroverlaps(@g1,@g2) |\n+----------------------+\n|                    1 |\n+----------------------+\n\nURL: https://mariadb.com/kb/en/mbroverlaps/','','https://mariadb.com/kb/en/mbroverlaps/'),(85,'MBRTouches',6,'Syntax\n------\n\nMBRTouches(g1,g2)\n\nDescription\n-----------\n\nReturns 1 or 0 to indicate whether the Minimum Bounding Rectangles of the two\ngeometries g1 and g2 touch. Two geometries spatially touch if the interiors of\nthe geometries do not intersect, but the boundary of one of the geometries\nintersects either the boundary or the interior of the other.\n\nExamples\n--------\n\nSET @g1 = GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nSET @g2 = GeomFromText(\'Polygon((4 4,4 7,7 7,7 4,4 4))\');\nSELECT mbrtouches(@g1,@g2);\n+---------------------+\n| mbrtouches(@g1,@g2) |\n+---------------------+\n|                   0 |\n+---------------------+\n\nSET @g1 = GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nSET @g2 = GeomFromText(\'Polygon((3 3,3 6,6 6,6 3,3 3))\');\nSELECT mbrtouches(@g1,@g2);\n+---------------------+\n| mbrtouches(@g1,@g2) |\n+---------------------+\n|                   1 |\n+---------------------+\n\nSET @g1 = GeomFromText(\'Polygon((0 0,0 4,4 4,4 0,0 0))\');\nSET @g2 = GeomFromText(\'Polygon((3 3,3 6,6 6,6 3,3 3))\');\nSELECT mbrtouches(@g1,@g2);\n+---------------------+\n| mbrtouches(@g1,@g2) |\n+---------------------+\n|                   0 |\n+---------------------+\n\nURL: https://mariadb.com/kb/en/mbrtouches/','','https://mariadb.com/kb/en/mbrtouches/'),(87,'CASE OPERATOR',7,'Syntax\n------\n\nCASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN\nresult ...] [ELSE result] END\n\nCASE WHEN [condition] THEN result [WHEN [condition] THEN result ...]\n[ELSE result] END\n\nDescription\n-----------\n\nThe first version returns the result where value=compare_value. The second\nversion returns the result for the first condition that is true. If there was\nno matching result value, the result after ELSE is returned, or NULL if there\nis no ELSE part.\n\nThere is also a CASE statement, which differs from the CASE operator described\nhere.\n\nExamples\n--------\n\nSELECT CASE 1 WHEN 1 THEN \'one\' WHEN 2 THEN \'two\' ELSE \'more\' END;\n+------------------------------------------------------------+\n| CASE 1 WHEN 1 THEN \'one\' WHEN 2 THEN \'two\' ELSE \'more\' END |\n+------------------------------------------------------------+\n| one                                                        |\n+------------------------------------------------------------+\n\nSELECT CASE WHEN 1>0 THEN \'true\' ELSE \'false\' END;\n+--------------------------------------------+\n| CASE WHEN 1>0 THEN \'true\' ELSE \'false\' END |\n+--------------------------------------------+\n| true                                       |\n+--------------------------------------------+\n\nSELECT CASE BINARY \'B\' WHEN \'a\' THEN 1 WHEN \'b\' THEN 2 END;\n+-----------------------------------------------------+\n| CASE BINARY \'B\' WHEN \'a\' THEN 1 WHEN \'b\' THEN 2 END |\n+-----------------------------------------------------+\n|                                                NULL |\n+-----------------------------------------------------+\n\nURL: https://mariadb.com/kb/en/case-operator/','','https://mariadb.com/kb/en/case-operator/'),(101,'UNLOCK TABLES',8,'Syntax\n------\n\nUNLOCK TABLES\n\nDescription\n-----------\n\nUNLOCK TABLES explicitly releases any table locks held by the current session.\nSee LOCK TABLES for more information.\n\nIn addition to releasing table locks acquired by the LOCK TABLES statement,\nthe UNLOCK TABLES statement also releases the global read lock acquired by the\nFLUSH TABLES WITH READ LOCK statement. The FLUSH TABLES WITH READ LOCK\nstatement is very useful for performing backups. See FLUSH for more\ninformation about FLUSH TABLES WITH READ LOCK.\n\nURL: https://mariadb.com/kb/en/transactions-unlock-tables/','','https://mariadb.com/kb/en/transactions-unlock-tables/'),(103,'XA Transactions',8,'Overview\n--------\n\nThe MariaDB XA implementation is based on the X/Open CAE document Distributed\nTransaction Processing: The XA Specification. This document is published by\nThe Open Group and available at\nhttp://www.opengroup.org/public/pubs/catalog/c193.htm.\n\nXA transactions are designed to allow distributed transactions, where a\ntransaction manager (the application) controls a transaction which involves\nmultiple resources. Such resources are usually DBMSs, but could be resources\nof any type. The whole set of required transactional operations is called a\nglobal transaction. Each subset of operations which involve a single resource\nis called a local transaction. XA used a 2-phases commit (2PC). With the first\ncommit, the transaction manager tells each resource to prepare an effective\ncommit, and waits for a confirm message. The changes are not still made\neffective at this point. If any of the resources encountered an error, the\ntransaction manager will rollback the global transaction. If all resources\ncommunicate that the first commit is successful, the transaction manager can\nrequire a second commit, which makes the changes effective.\n\nIn MariaDB, XA transactions can only be used with storage engines that support\nthem. At least InnoDB, TokuDB, SPIDER and MyRocks support them. For InnoDB,\nuntil MariaDB 10.2, XA transactions can be disabled by setting the\ninnodb_support_xa server system variable to 0. From MariaDB 10.3, XA\ntransactions are always supported.\n\nLike regular transactions, XA transactions create metadata locks on accessed\ntables.\n\nXA transactions require REPEATABLE READ as a minimum isolation level. However,\ndistributed transactions should always use SERIALIZABLE.\n\nTrying to start more than one XA transaction at the same time produces a 1400\nerror (SQLSTATE \'XAE09\'). The same error is produced when attempting to start\nan XA transaction while a regular transaction is in effect. Trying to start a\nregular transaction while an XA transaction is in effect produces a 1399 error\n(SQLSTATE \'XAE07\').\n\nThe statements that cause an implicit COMMIT for regular transactions produce\na 1400 error (SQLSTATE \'XAE09\') if a XA transaction is in effect.\n\nInternal XA vs External XA\n--------------------------\n\nXA transactions are an overloaded term in MariaDB. If a storage engine is\nXA-capable, it can mean one or both of these:\n\n* It supports MariaDB\'s internal two-phase commit API. This is transparent to\nthe user. Sometimes this is called \"internal XA\", since MariaDB\'s internal\ntransaction coordinator log can handle coordinating these transactions.\n\n* It supports XA transactions, with the XA START, XA PREPARE, XA COMMIT, etc.\nstatements. Sometimes this is called \"external XA\", since it requires the use\nof an external transaction coordinator to use this feature properly.\n\nTransaction Coordinator Log\n---------------------------\n\nIf you have two or more XA-capable storage engines enabled, then a transaction\ncoordinator log must be available.\n\nThere are currently two implementations of the transaction coordinator log:\n\n* Binary log-based transaction coordinator log\n* Memory-mapped file-based transaction coordinator log\n\nIf the binary log is enabled on a server, then the server will use the binary\nlog-based transaction coordinator log. Otherwise, it will use the\nmemory-mapped file-based transaction coordinator log.\n\nSee Transaction Coordinator Log for more information.\n\nSyntax\n------\n\nXA {START|BEGIN} xid [JOIN|RESUME]\n\nXA END xid [SUSPEND [FOR MIGRATE]]\n\nXA PREPARE xid\n\nXA COMMIT xid [ONE PHASE]\n\nXA ROLLBACK xid\n\nXA RECOVER [FORMAT=[\'RAW\'|\'SQL\']]\n\nxid: gtrid [, bqual [, formatID ]]\n\nThe interface to XA transactions is a set of SQL statements starting with XA.\nEach statement changes a transaction\'s state, determining which actions it can\nperform. A transaction which does not exist is in the NON-EXISTING state.\n\nXA START (or BEGIN) starts a transaction and defines its xid (a transaction\nidentifier). The JOIN or RESUME keywords have no effect. The new transaction\nwill be in ACTIVE state.\n\nThe xid can have 3 components, though only the first one is mandatory. gtrid\nis a quoted string representing a global transaction identifier. bqual is a\nquoted string representing a local transaction identifier. formatID is an\nunsigned integer indicating the format used for the first two components; if\nnot specified, defaults to 1. MariaDB does not interpret in any way these\ncomponents, and only uses them to identify a transaction. xids of transactions\nin effect must be unique.\n\nXA END declares that the specified ACTIVE transaction is finished and it\nchanges its state to IDLE. SUSPEND [FOR MIGRATE] has no effect.\n\nXA PREPARE prepares an IDLE transaction for commit, changing its state to\nPREPARED. This is the first commit.\n\nXA COMMIT definitely commits and terminates a transaction which has already\nbeen PREPARED. If the ONE PHASE clause is specified, this statements performs\na 1-phase commit on an IDLE transaction.\n\nXA ROLLBACK rolls back and terminates an IDLE or PREPARED transaction.\n\nXA RECOVER shows information about all PREPARED transactions.\n\nWhen trying to execute an operation which is not allowed for the transaction\'s\ncurrent state, an error is produced:\n\nXA COMMIT \'test\' ONE PHASE;\nERROR 1399 (XAE07): XAER_RMFAIL: The command cannot be executed when global\ntransaction is in the  ACTIVE state\n\nXA COMMIT \'test2\';\nERROR 1399 (XAE07): XAER_RMFAIL: The command cannot be executed when global\ntransaction is in the  NON-EXISTING state\n\nXA RECOVER\n----------\n\nThe XA RECOVER statement shows information about all transactions which are in\nthe PREPARED state. It does not matter which connection created the\ntransaction: if it has been PREPARED, it appears. But this does not mean that\na connection can commit or rollback a transaction which was started by another\nconnection. Note that transactions using a 1-phase commit are never in the\nPREPARED state, so they cannot be shown by XA RECOVER.\n\nXA RECOVER produces four columns:\n\nXA RECOVER;\n+----------+--------------+--------------+------+\n| formatID | gtrid_length | bqual_length | data |\n+----------+--------------+--------------+------+\n|        1 |            4 |            0 | test |\n+----------+--------------+--------------+------+\n\nMariaDB starting with 10.3.3\n----------------------------\nYou can use XA RECOVER FORMAT=\'SQL\' to get the data in a human readable form\nthat can be directly copy-pasted into XA COMMIT or XA ROLLBACK. This is\nparticularly useful for binary xid generated by some transaction coordinators.\n\nformatID is the formatID part of xid.\n\ndata are the gtrid and bqual parts of xid, concatenated.\n\ngtrid_length and bqual_length are the lengths of gtrid and bqual, respectevely.\n\nExamples\n--------\n\n2-phases commit:\n\nXA START \'test\';\n\nINSERT INTO t VALUES (1,2);\n\nXA END \'test\';\n\nXA PREPARE \'test\';\n\nXA COMMIT \'test\';\n\n1-phase commit:\n\nXA START \'test\';\n\nINSERT INTO t VALUES (1,2);\n\nXA END \'test\';\n\nXA COMMIT \'test\' ONE PHASE;\n\nHuman-readable:\n\nxa start \'12\\r34\\t67\\v78\', \'abc\\ndef\', 3;\n\ninsert t1 values (40);\n\nxa end \'12\\r34\\t67\\v78\', \'abc\\ndef\', 3;\n\nxa prepare \'12\\r34\\t67\\v78\', \'abc\\ndef\', 3;\n\nxa recover format=\'RAW\';\n+----------+--------------+--------------+--------------------+\n| formatID | gtrid_length | bqual_length | data               |\n+----------+--------------+--------------+--------------------+\n34      67v78abc       11 |            7 | 12\ndef |\n+----------+--------------+--------------+--------------------+\n\nxa recover format=\'SQL\';\n+----------+--------------+--------------+-------------------------------------\n---------+\n| formatID | gtrid_length | bqual_length | data                               \n     |\n+----------+--------------+--------------+-------------------------------------\n---------+\n|        3 |           11 |            7 |\nX\'31320d3334093637763738\',X\'6162630a646566\',3 |\n+----------+--------------+--------------+-------------------------------------\n---------+\n\nxa rollback X\'31320d3334093637763738\',X\'6162630a646566\',3;\n\nKnown Issues\n------------\n\nMariaDB Galera Cluster\n----------------------\n\nMariaDB Galera Cluster does not support XA transactions.\n\nHowever, MariaDB Galera Cluster builds include a built-in plugin called wsrep.\nPrior to MariaDB 10.4.3, this plugin was internally considered an XA-capable\nstorage engine. Consequently, these MariaDB Galera Cluster builds have\nmultiple XA-capable storage engines by default, even if the only \"real\"\nstorage engine that supports external XA transactions enabled on these builds\nby default is InnoDB. Therefore, when using one these builds MariaDB would be\nforced to use a transaction coordinator log by default, which could have\nperformance implications.\n\nSee Transaction Coordinator Log Overview: MariaDB Galera Cluster for more\ninformation.\n\nURL: https://mariadb.com/kb/en/xa-transactions/','','https://mariadb.com/kb/en/xa-transactions/'),(104,'CREATE USER',10,'Syntax\n------\n\nCREATE [OR REPLACE] USER [IF NOT EXISTS] \n user_specification [,user_specification ...] \n [REQUIRE {NONE | tls_option [[AND] tls_option ...] }]\n [WITH resource_option [resource_option ...] ]\n [lock_option] [password_option]\n\nuser_specification:\n username [authentication_option]\n\nauthentication_option:\n IDENTIFIED BY \'password\'\n | IDENTIFIED BY PASSWORD \'password_hash\'\n | IDENTIFIED {VIA|WITH} authentication_rule [OR authentication_rule  ...]\n\nauthentication_rule:\n  authentication_plugin\n | authentication_plugin {USING|AS} \'authentication_string\'\n | authentication_plugin {USING|AS} PASSWORD(\'password\')\n\ntls_option:\n SSL\n | X509\n | CIPHER \'cipher\'\n | ISSUER \'issuer\'\n | SUBJECT \'subject\'\n\nresource_option:\n MAX_QUERIES_PER_HOUR count\n | MAX_UPDATES_PER_HOUR count\n | MAX_CONNECTIONS_PER_HOUR count\n | MAX_USER_CONNECTIONS count\n | MAX_STATEMENT_TIME time\n\npassword_option:\n PASSWORD EXPIRE\n | PASSWORD EXPIRE DEFAULT\n | PASSWORD EXPIRE NEVER\n | PASSWORD EXPIRE INTERVAL N DAY\n\nlock_option:\n  ACCOUNT LOCK\n | ACCOUNT UNLOCK\n}\n\nDescription\n-----------\n\nThe CREATE USER statement creates new MariaDB accounts. To use it, you must\nhave the global CREATE USER privilege or the INSERT privilege for the mysql\ndatabase. For each account, CREATE USER creates a new row in mysql.user (until\nMariaDB 10.3 this is a table, from MariaDB 10.4 it\'s a view) or\nmysql.global_priv_table (from MariaDB 10.4) that has no privileges.\n\nIf any of the specified accounts, or any permissions for the specified\naccounts, already exist, then the server returns ERROR 1396 (HY000). If an\nerror occurs, CREATE USER will still create the accounts that do not result in\nan error. Only one error is produced for all users which have not been created:\n\nERROR 1396 (HY000): \n Operation CREATE USER failed for \'u1\'@\'%\',\'u2\'@\'%\'\n\nCREATE USER, DROP USER, CREATE ROLE, and DROP ROLE all produce the same error\ncode when they fail.\n\nSee Account Names below for details on how account names are specified.\n\nOR REPLACE\n----------\n\nIf the optional OR REPLACE clause is used, it is basically a shortcut for:\n\nDROP USER IF EXISTS name;\nCREATE USER name ...;\n\nFor example:\n\nCREATE USER foo2@test IDENTIFIED BY \'password\';\nERROR 1396 (HY000): Operation CREATE USER failed for \'foo2\'@\'test\'\n\nCREATE OR REPLACE USER foo2@test IDENTIFIED BY \'password\';\nQuery OK, 0 rows affected (0.00 sec)\n\nIF NOT EXISTS\n-------------\n\nWhen the IF NOT EXISTS clause is used, MariaDB will return a warning instead\nof an error if the specified user already exists.\n\nFor example:\n\nCREATE USER foo2@test IDENTIFIED BY \'password\';\nERROR 1396 (HY000): Operation CREATE USER failed for \'foo2\'@\'test\'\n\nCREATE USER IF NOT EXISTS foo2@test IDENTIFIED BY \'password\';\nQuery OK, 0 rows affected, 1 warning (0.00 sec)\n\nSHOW WARNINGS;\n+-------+------+----------------------------------------------------+\n| Level | Code | Message                                            |\n+-------+------+----------------------------------------------------+\n| Note  | 1973 | Can\'t create user \'foo2\'@\'test\'; it already exists |\n+-------+------+----------------------------------------------------+\n\nAuthentication Options\n----------------------\n\nIDENTIFIED BY \'password\'\n------------------------\n\nThe optional IDENTIFIED BY clause can be used to provide an account with a\npassword. The password should be specified in plain text. It will be hashed by\nthe PASSWORD function prior to being stored in the\nmysql.user/mysql.global_priv_table table.\n\nFor example, if our password is mariadb, then we can create the user with:\n\nCREATE USER foo2@test IDENTIFIED BY \'mariadb\';\n\nIf you do not specify a password with the IDENTIFIED BY clause, the user will\nbe able to connect without a password. A blank password is not a wildcard to\nmatch any password. The user must connect without providing a password if no\npassword is set.\n\nThe only authentication plugins that this clause supports are\nmysql_native_password and mysql_old_password.\n\nIDENTIFIED BY PASSWORD \'password_hash\'\n--------------------------------------\n\nThe optional IDENTIFIED BY PASSWORD clause can be used to provide an account\nwith a password that has already been hashed. The password should be specified\nas a hash that was provided by the PASSWORD function. It will be stored in the\nmysql.user/mysql.global_priv_table table as-is.\n\nFor example, if our password is mariadb, then we can find the hash with:\n\nSELECT PASSWORD(\'mariadb\');\n+-------------------------------------------+\n| PASSWORD(\'mariadb\')                       |\n+-------------------------------------------+\n| *54958E764CE10E50764C2EECBB71D01F08549980 |\n+-------------------------------------------+\n1 row in set (0.00 sec)\n\nAnd then we can create a user with the hash:\n\nCREATE USER foo2@test IDENTIFIED BY PASSWORD\n\'*54958E764CE10E50764C2EECBB71D01F08549980\';\n\nIf you do not specify a password with the IDENTIFIED BY clause, the user will\nbe able to connect without a password. A blank password is not a wildcard to\nmatch any password. The user must connect without providing a password if no\npassword is set.\n\nThe only authentication plugins that this clause supports are\nmysql_native_password and mysql_old_password.\n\nIDENTIFIED {VIA|WITH} authentication_plugin\n-------------------------------------------\n\nThe optional IDENTIFIED VIA authentication_plugin allows you to specify that\nthe account should be authenticated by a specific authentication plugin. The\nplugin name must be an active authentication plugin as per SHOW PLUGINS. If it\ndoesn\'t show up in that output, then you will need to install it with INSTALL\nPLUGIN or INSTALL SONAME.\n\nFor example, this could be used with the PAM authentication plugin:\n\nCREATE USER foo2@test IDENTIFIED VIA pam;\n\nSome authentication plugins allow additional arguments to be specified after a\nUSING or AS keyword. For example, the PAM authentication plugin accepts a\nservice name:\n\nCREATE USER foo2@test IDENTIFIED VIA pam USING \'mariadb\';\n\nThe exact meaning of the additional argument would depend on the specific\nauthentication plugin.\n\nMariaDB starting with 10.4.0\n----------------------------\nThe USING or AS keyword can also be used to provide a plain-text password to a\nplugin if it\'s provided as an argument to the PASSWORD() function. This is\nonly valid for authentication plugins that have implemented a hook for the\nPASSWORD() function. For example, the ed25519 authentication plugin supports\nthis:\n\nCREATE USER safe@\'%\' IDENTIFIED VIA ed25519 USING PASSWORD(\'secret\');\n\nMariaDB starting with 10.4.3\n----------------------------\nOne can specify many authentication plugins, they all work as alternatives\nways of authenticating a user:\n\nCREATE USER safe@\'%\' IDENTIFIED VIA ed25519 USING PASSWORD(\'secret\') OR\nunix_socket;\n\nBy default, when you create a user without specifying an authentication\nplugin, MariaDB uses the mysql_native_password plugin.\n\nTLS Options\n-----------\n\nBy default, MariaDB transmits data between the server and clients without\nencrypting it. This is generally acceptable when the server and client run on\nthe same host or in networks where security is guaranteed through other means.\nHowever, in cases where the server and client exist on separate networks or\nthey are in a high-risk network, the lack of encryption does introduce\nsecurity concerns as a malicious actor could potentially eavesdrop on the\ntraffic as it is sent over the network between them.\n\nTo mitigate this concern, MariaDB allows you to encrypt data in transit\nbetween the server and clients using the Transport Layer Security (TLS)\nprotocol. TLS was formerly known as Secure Socket Layer (SSL), but strictly\nspeaking the SSL protocol is a predecessor to TLS and, that version of the\nprotocol is now considered insecure. The documentation still uses the term SSL\noften and for compatibility reasons TLS-related server system and status\nvariables still use the prefix ssl_, but internally, MariaDB only supports its\nsecure successors.\n\nSee Secure Connections Overview for more information about how to determine\nwhether your MariaDB server has TLS support.\n\nYou can set certain TLS-related restrictions for specific user accounts. For\ninstance, you might use this with user accounts that require access to\nsensitive data while sending it across networks that you do not control. These\nrestrictions can be enabled for a user account with the CREATE USER, ALTER\nUSER, or GRANT statements. The following options are available:\n\n+---------------------------+------------------------------------------------+\n| Option                    | Description                                    |\n+---------------------------+------------------------------------------------+\n| REQUIRE NONE              | TLS is not required for this account, but can  |\n|                           | still be used.                                 |\n+---------------------------+------------------------------------------------+\n| REQUIRE SSL               | The account must use TLS, but no valid X509    |\n|                           | certificate is required. This option cannot    |\n|                           | be combined with other TLS options.            |\n+---------------------------+------------------------------------------------+\n| REQUIRE X509              | The account must use TLS and must have a       |\n|                           | valid X509 certificate. This option implies    |\n|                           | REQUIRE SSL. This option cannot be combined    |\n|                           | with other TLS options.                        |\n+---------------------------+------------------------------------------------+\n| REQUIRE ISSUER \'issuer\'   | The account must use TLS and must have a       |\n|                           | valid X509 certificate. Also, the Certificate  |\n|                           | Authority must be the one specified via the    |\n|                           | string issuer. This option implies REQUIRE     |\n|                           | X509. This option can be combined with the     |\n|                           | SUBJECT, and CIPHER options in any order.      |\n+---------------------------+------------------------------------------------+\n| REQUIRE SUBJECT \'subject\' | The account must use TLS and must have a       |\n|                           | valid X509 certificate. Also, the              |\n|                           | certificate\'s Subject must be the one          |\n|                           | specified via the string subject. This option  |\n|                           | implies REQUIRE X509. This option can be       |\n|                           | combined with the ISSUER, and CIPHER options   |\n|                           | in any order.                                  |\n+---------------------------+------------------------------------------------+\n| REQUIRE CIPHER \'cipher\'   | The account must use TLS, but no valid X509    |\n|                           | certificate is required. Also, the encryption  |\n|                           | used for the connection must use a specific    |\n|                           | cipher method specified in the string cipher.  |\n|                           | This option implies REQUIRE SSL. This option   |\n|                           | can be combined with the ISSUER, and SUBJECT   |\n|                           | options in any order.                          |\n+---------------------------+------------------------------------------------+\n\nThe REQUIRE keyword must be used only once for all specified options, and the\nAND keyword can be used to separate individual options, but it is not required.\n\nFor example, you can create a user account that requires these TLS options\nwith the following:\n\nCREATE USER \'alice\'@\'%\'\n REQUIRE SUBJECT \'/CN=alice/O=My Dom, Inc./C=US/ST=Oregon/L=Portland\'\n AND ISSUER \'/C=FI/ST=Somewhere/L=City/ O=Some Company/CN=Peter\nParker/emailAddress=p.parker@marvel.com\'\n AND CIPHER \'SHA-DES-CBC3-EDH-RSA\';\n\nIf any of these options are set for a specific user account, then any client\nwho tries to connect with that user account will have to be configured to\nconnect with TLS.\n\nSee Securing Connections for Client and Server for information on how to\nenable TLS on the client and server.\n\nResource Limit Options\n----------------------\n\nIt is possible to set per-account limits for certain server resources. The\nfollowing table shows the values that can be set per account:\n\n+--------------------------------------+--------------------------------------+\n| Limit Type                           | Decription                           |\n+--------------------------------------+--------------------------------------+\n| MAX_QUERIES_PER_HOUR                 | Number of statements that the        |\n|                                      | account can issue per hour           |\n|                                      | (including updates)                  |\n+--------------------------------------+--------------------------------------+\n| MAX_UPDATES_PER_HOUR                 | Number of updates (not queries)      |\n|                                      | that the account can issue per hour  |\n+--------------------------------------+--------------------------------------+\n| MAX_CONNECTIONS_PER_HOUR             | Number of connections that the       |\n|                                      | account can start per hour           |\n+--------------------------------------+--------------------------------------+\n| MAX_USER_CONNECTIONS                 | Number of simultaneous connections   |\n|                                      | that can be accepted from the same   |\n|                                      | account; if it is 0,                 |\n|                                      | max_connections will be used         |\n|                                      | instead; if max_connections is 0,    |\n|                                      | there is no limit for this           |\n|                                      | account\'s simultaneous connections.  |\n+--------------------------------------+--------------------------------------+\n| MAX_STATEMENT_TIME                   | Timeout, in seconds, for statements  |\n|                                      | executed by the user. See also       |\n|                                      | Aborting Statements that Exceed a    |\n|                                      | Certain Time to Execute.             |\n+--------------------------------------+--------------------------------------+\n\nIf any of these limits are set to 0, then there is no limit for that resource\nfor that user.\n\nHere is an example showing how to create a user with resource limits:\n\nCREATE USER \'someone\'@\'localhost\' WITH\n  MAX_USER_CONNECTIONS 10\n  MAX_QUERIES_PER_HOUR 200;\n\nThe resources are tracked per account, which means \'user\'@\'server\'; not per\nuser name or per connection.\n\nThe count can be reset for all users using FLUSH USER_RESOURCES, FLUSH\nPRIVILEGES or mysqladmin reload.\n\nPer account resource limits are stored in the user table, in the mysql\ndatabase. Columns used for resources limits are named max_questions,\nmax_updates, max_connections (for MAX_CONNECTIONS_PER_HOUR), and\nmax_user_connections (for MAX_USER_CONNECTIONS).\n\nAccount Names\n-------------\n\nAccount names have both a user name component and a host name component, and\nare specified as \'user_name\'@\'host_name\'.\n\nThe user name and host name may be unquoted, quoted as strings using double\nquotes (\") or single quotes (\'), or quoted as identifiers using backticks (`).\nYou must use quotes when using special characters (such as a hyphen) or\nwildcard characters. If you quote, you must quote the user name and host name\nseparately (for example \'user_name\'@\'host_name\').\n\nHost Name Component\n-------------------\n\nIf the host name is not provided, it is assumed to be \'%\'.\n\nHost names may contain the wildcard characters % and _. They are matched as if\nby the LIKE clause. If you need to use a wildcard character literally (for\nexample, to match a domain name with an underscore), prefix the character with\na backslash. See LIKE for more information on escaping wildcard characters.\n\nHost name matches are case-insensitive. Host names can match either domain\nnames or IP addresses. Use \'localhost\' as the host name to allow only local\nclient connections.\n\nYou can use a netmask to match a range of IP addresses using \'base_ip/netmask\'\nas the host name. A user with an IP address ip_addr will be allowed to connect\nif the following condition is true:\n\nip_addr & netmask = base_ip\n\nFor example, given a user:\n\nCREATE USER \'maria\'@\'247.150.130.0/255.255.255.0\';\n\nthe IP addresses satisfying this condition range from 247.150.130.0 to\n247.150.130.255.\n\nUsing 255.255.255.255 is equivalent to not using a netmask at all. Netmasks\ncannot be used for IPv6 addresses.\n\nNote that the credentials added when creating a user with the \'%\' wildcard\nhost will not grant access in all cases. For example, some systems come with\nan anonymous localhost user, and when connecting from localhost this will take\nprecedence.\n\nBefore MariaDB 10.6, the host name component could be up to 60 characters in\nlength. Starting from MariaDB 10.6, it can be up to 255 characters.\n\nUser Name Component\n-------------------\n\nUser names must match exactly, including case. A user name that is empty is\nknown as an anonymous account and is allowed to match a login attempt with any\nuser name component. These are described more in the next section.\n\nFor valid identifiers to use as user names, see Identifier Names.\n\nIt is possible for more than one account to match when a user connects.\nMariaDB selects the first matching account after sorting according to the\nfollowing criteria:\n\n* Accounts with an exact host name are sorted before accounts using a wildcard\nin the\nhost name. Host names using a netmask are considered to be exact for sorting.\n* Accounts with a wildcard in the host name are sorted according to the\nposition of\nthe first wildcard character. Those with a wildcard character later in the\nhost name\nsort before those with a wildcard character earlier in the host name.\n* Accounts with a non-empty user name sort before accounts with an empty user\nname.\n* Accounts with an empty user name are sorted last. As mentioned previously,\nthese are known as anonymous accounts. These are described more in the next\nsection.\n\nThe following table shows a list of example account as sorted by these\ncriteria:\n\n+---------+-------------+\n| User    | Host        |\n+---------+-------------+\n| joffrey | 192.168.0.3 |\n|         | 192.168.0.% |\n| joffrey | 192.168.%   |\n|         | 192.168.%   |\n+---------+-------------+\n\nOnce connected, you only have the privileges granted to the account that\nmatched, not all accounts that could have matched. For example, consider the\nfollowing commands:\n\nCREATE USER \'joffrey\'@\'192.168.0.3\';\nCREATE USER \'joffrey\'@\'%\';\nGRANT SELECT ON test.t1 to \'joffrey\'@\'192.168.0.3\';\nGRANT SELECT ON test.t2 to \'joffrey\'@\'%\';\n\nIf you connect as joffrey from 192.168.0.3, you will have the SELECT privilege\non the table test.t1, but not on the table test.t2. If you connect as joffrey\nfrom any other IP address, you will have the SELECT privilege on the table\ntest.t2, but not on the table test.t1.\n\nUsernames can be up to 80 characters long before 10.6 and starting from 10.6\nit can be 128 characters long.\n\nAnonymous Accounts\n------------------\n\nAnonymous accounts are accounts where the user name portion of the account\nname is empty. These accounts act as special catch-all accounts. If a user\nattempts to log into the system from a host, and an anonymous account exists\nwith a host name portion that matches the user\'s host, then the user will log\nin as the anonymous account if there is no more specific account match for the\nuser name that the user entered.\n\nFor example, here are some anonymous accounts:\n\nCREATE USER \'\'@\'localhost\';\nCREATE USER \'\'@\'192.168.0.3\';\n\nFixing a Legacy Default Anonymous Account\n-----------------------------------------\n\nOn some systems, the mysql.db table has some entries for the \'\'@\'%\' anonymous\naccount by default. Unfortunately, there is no matching entry in the\nmysql.user/mysql.global_priv_table table, which means that this anonymous\naccount doesn\'t exactly exist, but it does have privileges--usually on the\ndefault test database created by mysql_install_db. These account-less\nprivileges are a legacy that is leftover from a time when MySQL\'s privilege\nsystem was less advanced.\n\nThis situation means that you will run into errors if you try to create a\n\'\'@\'%\' account. For example:\n\nCREATE USER \'\'@\'%\';\nERROR 1396 (HY000): Operation CREATE USER failed for \'\'@\'%\'\n\nThe fix is to DELETE the row in the mysql.db table and then execute FLUSH\nPRIVILEGES:\n\nDELETE FROM mysql.db WHERE User=\'\' AND Host=\'%\';\nFLUSH PRIVILEGES;\n\nAnd then the account can be created:\n\nCREATE USER \'\'@\'%\';\nQuery OK, 0 rows affected (0.01 sec)\n\nSee MDEV-13486 for more information.\n\nPassword Expiry\n---------------\n\nMariaDB starting with 10.4.3\n----------------------------\nBesides automatic password expiry, as determined by default_password_lifetime,\npassword expiry times can be set on an individual user basis, overriding the\nglobal setting, for example:\n\nCREATE USER \'monty\'@\'localhost\' PASSWORD EXPIRE INTERVAL 120 DAY;\n\nSee User Password Expiry for more details.\n\nAccount Locking\n---------------\n\nMariaDB starting with 10.4.2\n----------------------------\nAccount locking permits privileged administrators to lock/unlock user\naccounts. No new client connections will be permitted if an account is locked\n(existing connections are not affected). For example:\n\nCREATE USER \'marijn\'@\'localhost\' ACCOUNT LOCK;\n\nSee Account Locking for more details.\n\nFrom MariaDB 10.4.7 and MariaDB 10.5.8, the lock_option and password_option\nclauses can occur in either order.\n\nURL: https://mariadb.com/kb/en/create-user/','','https://mariadb.com/kb/en/create-user/'),(105,'ALTER USER',10,'Syntax\n------\n\nALTER USER [IF EXISTS] \n user_specification [,user_specification] ...\n [REQUIRE {NONE | tls_option [[AND] tls_option] ...}]\n [WITH resource_option [resource_option] ...]\n [lock_option] [password_option]\n\nuser_specification:\n username [authentication_option]\n\nauthentication_option:\n IDENTIFIED BY \'password\'\n | IDENTIFIED BY PASSWORD \'password_hash\'\n | IDENTIFIED {VIA|WITH} authentication_rule [OR authentication_rule] ...\n\nauthentication_rule:\n authentication_plugin\n | authentication_plugin {USING|AS} \'authentication_string\'\n | authentication_plugin {USING|AS} PASSWORD(\'password\')\n\ntls_option\n SSL\n | X509\n | CIPHER \'cipher\'\n | ISSUER \'issuer\'\n | SUBJECT \'subject\'\n\nresource_option\n MAX_QUERIES_PER_HOUR count\n | MAX_UPDATES_PER_HOUR count\n | MAX_CONNECTIONS_PER_HOUR count\n | MAX_USER_CONNECTIONS count\n | MAX_STATEMENT_TIME time\n\npassword_option:\n PASSWORD EXPIRE\n | PASSWORD EXPIRE DEFAULT\n | PASSWORD EXPIRE NEVER\n | PASSWORD EXPIRE INTERVAL N DAY\n\nlock_option:\n  ACCOUNT LOCK\n | ACCOUNT UNLOCK\n}\n\nDescription\n-----------\n\nThe ALTER USER statement modifies existing MariaDB accounts. To use it, you\nmust have the global CREATE USER privilege or the UPDATE privilege for the\nmysql database. The global SUPER privilege is also required if the read_only\nsystem variable is enabled.\n\nIf any of the specified user accounts do not yet exist, an error results. If\nan error occurs, ALTER USER will still modify the accounts that do not result\nin an error. Only one error is produced for all users which have not been\nmodified.\n\nIF EXISTS\n---------\n\nWhen the IF EXISTS clause is used, MariaDB will return a warning instead of an\nerror for each specified user that does not exist.\n\nAccount Names\n-------------\n\nFor ALTER USER statements, account names are specified as the username\nargument in the same way as they are for CREATE USER statements. See account\nnames from the CREATE USER page for details on how account names are specified.\n\nCURRENT_USER or CURRENT_USER() can also be used to alter the account logged\ninto the current session. For example, to change the current user\'s password\nto mariadb:\n\nALTER USER CURRENT_USER() IDENTIFIED BY \'mariadb\';\n\nAuthentication Options\n----------------------\n\nMariaDB starting with 10.4\n--------------------------\nFrom MariaDB 10.4, it is possible to use more than one authentication plugin\nfor each user account. For example, this can be useful to slowly migrate users\nto the more secure ed25519 authentication plugin over time, while allowing the\nold mysql_native_password authentication plugin as an alternative for the\ntransitional period. See Authentication from MariaDB 10.4 for more.\n\nWhen running ALTER USER, not specifying an authentication option in the\nIDENTIFIED VIA clause will remove that authentication method. (However this\nwas not the case before MariaDB 10.4.13, see MDEV-21928)\n\nFor example, a user is created with the ability to authenticate via both a\npassword and unix_socket:\n\nCREATE USER \'bob\'@\'localhost\' \n IDENTIFIED VIA mysql_native_password USING PASSWORD(\'pwd\')\n OR unix_socket;\n\nSHOW CREATE USER \'bob\'@\'localhost\'\\G\n*************************** 1. row ***************************\nCREATE USER for bob@localhost: CREATE USER `bob`@`localhost` \n IDENTIFIED VIA mysql_native_password\n USING \'*975B2CD4FF9AE554FE8AD33168FBFC326D2021DD\'\n OR unix_socket\n\nIf the user\'s password is updated, but unix_socket authentication is not\nspecified in the IDENTIFIED VIA clause, unix_socket authentication will no\nlonger be permitted.\n\nALTER USER \'bob\'@\'localhost\' IDENTIFIED VIA mysql_native_password \n USING PASSWORD(\'pwd2\');\n\nSHOW CREATE USER \'bob\'@\'localhost\'\\G\n*************************** 1. row ***************************\nCREATE USER for bob@localhost: CREATE USER `bob`@`localhost` \n IDENTIFIED BY PASSWORD \'*38366FDA01695B6A5A9DD4E428D9FB8F7EB75512\'\n\nIDENTIFIED BY \'password\'\n------------------------\n\nThe optional IDENTIFIED BY clause can be used to provide an account with a\npassword. The password should be specified in plain text. It will be hashed by\nthe PASSWORD function prior to being stored to the mysql.user table.\n\nFor example, if our password is mariadb, then we can set the account\'s\npassword with:\n\nALTER USER foo2@test IDENTIFIED BY \'mariadb\';\n\nIf you do not specify a password with the IDENTIFIED BY clause, the user will\nbe able to connect without a password. A blank password is not a wildcard to\nmatch any password. The user must connect without providing a password if no\npassword is set.\n\nThe only authentication plugins that this clause supports are\nmysql_native_password and mysql_old_password.\n\nIDENTIFIED BY PASSWORD \'password_hash\'\n--------------------------------------\n\nThe optional IDENTIFIED BY PASSWORD clause can be used to provide an account\nwith a password that has already been hashed. The password should be specified\nas a hash that was provided by the PASSWORD#function. It will be stored to the\nmysql.user table as-is.\n\nFor example, if our password is mariadb, then we can find the hash with:\n\nSELECT PASSWORD(\'mariadb\');\n+-------------------------------------------+\n| PASSWORD(\'mariadb\')                       |\n+-------------------------------------------+\n| *54958E764CE10E50764C2EECBB71D01F08549980 |\n+-------------------------------------------+\n\nAnd then we can set an account\'s password with the hash:\n\nALTER USER foo2@test \n IDENTIFIED BY PASSWORD \'*54958E764CE10E50764C2EECBB71D01F08549980\';\n\nIf you do not specify a password with the IDENTIFIED BY clause, the user will\nbe able to connect without a password. A blank password is not a wildcard to\nmatch any password. The user must connect without providing a password if no\npassword is set.\n\nThe only authentication plugins that this clause supports are\nmysql_native_password and mysql_old_password.\n\nIDENTIFIED {VIA|WITH} authentication_plugin\n-------------------------------------------\n\nThe optional IDENTIFIED VIA authentication_plugin allows you to specify that\nthe account should be authenticated by a specific authentication plugin. The\nplugin name must be an active authentication plugin as per SHOW PLUGINS. If it\ndoesn\'t show up in that output, then you will need to install it with INSTALL\nPLUGIN or INSTALL SONAME.\n\nFor example, this could be used with the PAM authentication plugin:\n\nALTER USER foo2@test IDENTIFIED VIA pam;\n\nSome authentication plugins allow additional arguments to be specified after a\nUSING or AS keyword. For example, the PAM authentication plugin accepts a\nservice name:\n\nALTER USER foo2@test IDENTIFIED VIA pam USING \'mariadb\';\n\nThe exact meaning of the additional argument would depend on the specific\nauthentication plugin.\n\nIn MariaDB 10.4 and later, the USING or AS keyword can also be used to provide\na plain-text password to a plugin if it\'s provided as an argument to the\nPASSWORD() function. This is only valid for authentication plugins that have\nimplemented a hook for the PASSWORD() function. For example, the ed25519\nauthentication plugin supports this:\n\nALTER USER safe@\'%\' IDENTIFIED VIA ed25519 USING PASSWORD(\'secret\');\n\nTLS Options\n-----------\n\nBy default, MariaDB transmits data between the server and clients without\nencrypting it. This is generally acceptable when the server and client run on\nthe same host or in networks where security is guaranteed through other means.\nHowever, in cases where the server and client exist on separate networks or\nthey are in a high-risk network, the lack of encryption does introduce\nsecurity concerns as a malicious actor could potentially eavesdrop on the\ntraffic as it is sent over the network between them.\n\nTo mitigate this concern, MariaDB allows you to encrypt data in transit\nbetween the server and clients using the Transport Layer Security (TLS)\nprotocol. TLS was formerly known as Secure Socket Layer (SSL), but strictly\nspeaking the SSL protocol is a predecessor to TLS and, that version of the\nprotocol is now considered insecure. The documentation still uses the term SSL\noften and for compatibility reasons TLS-related server system and status\nvariables still use the prefix ssl_, but internally, MariaDB only supports its\nsecure successors.\n\nSee Secure Connections Overview for more information about how to determine\nwhether your MariaDB server has TLS support.\n\nYou can set certain TLS-related restrictions for specific user accounts. For\ninstance, you might use this with user accounts that require access to\nsensitive data while sending it across networks that you do not control. These\nrestrictions can be enabled for a user account with the CREATE USER, ALTER\nUSER, or GRANT statements. The following options are available:\n\n+---------------------------+------------------------------------------------+\n| Option                    | Description                                    |\n+---------------------------+------------------------------------------------+\n| REQUIRE NONE              | TLS is not required for this account, but can  |\n|                           | still be used.                                 |\n+---------------------------+------------------------------------------------+\n| REQUIRE SSL               | The account must use TLS, but no valid X509    |\n|                           | certificate is required. This option cannot    |\n|                           | be combined with other TLS options.            |\n+---------------------------+------------------------------------------------+\n| REQUIRE X509              | The account must use TLS and must have a       |\n|                           | valid X509 certificate. This option implies    |\n|                           | REQUIRE SSL. This option cannot be combined    |\n|                           | with other TLS options.                        |\n+---------------------------+------------------------------------------------+\n| REQUIRE ISSUER \'issuer\'   | The account must use TLS and must have a       |\n|                           | valid X509 certificate. Also, the Certificate  |\n|                           | Authority must be the one specified via the    |\n|                           | string issuer. This option implies REQUIRE     |\n|                           | X509. This option can be combined with the     |\n|                           | SUBJECT, and CIPHER options in any order.      |\n+---------------------------+------------------------------------------------+\n| REQUIRE SUBJECT \'subject\' | The account must use TLS and must have a       |\n|                           | valid X509 certificate. Also, the              |\n|                           | certificate\'s Subject must be the one          |\n|                           | specified via the string subject. This option  |\n|                           | implies REQUIRE X509. This option can be       |\n|                           | combined with the ISSUER, and CIPHER options   |\n|                           | in any order.                                  |\n+---------------------------+------------------------------------------------+\n| REQUIRE CIPHER \'cipher\'   | The account must use TLS, but no valid X509    |\n|                           | certificate is required. Also, the encryption  |\n|                           | used for the connection must use a specific    |\n|                           | cipher method specified in the string cipher.  |\n|                           | This option implies REQUIRE SSL. This option   |\n|                           | can be combined with the ISSUER, and SUBJECT   |\n|                           | options in any order.                          |\n+---------------------------+------------------------------------------------+\n\nThe REQUIRE keyword must be used only once for all specified options, and the\nAND keyword can be used to separate individual options, but it is not required.\n\nFor example, you can alter a user account to require these TLS options with\nthe following:\n\nALTER USER \'alice\'@\'%\'\n REQUIRE SUBJECT \'/CN=alice/O=My Dom, Inc./C=US/ST=Oregon/L=Portland\' AND\n ISSUER \'/C=FI/ST=Somewhere/L=City/ O=Some Company/CN=Peter\nParker/emailAddress=p.parker@marvel.com\'\n AND CIPHER \'SHA-DES-CBC3-EDH-RSA\';\n\nIf any of these options are set for a specific user account, then any client\nwho tries to connect with that user account will have to be configured to\nconnect with TLS.\n\nSee Securing Connections for Client and Server for information on how to\nenable TLS on the client and server.\n\nResource Limit Options\n----------------------\n\nIt is possible to set per-account limits for certain server resources. The\nfollowing table shows the values that can be set per account:\n\n+------------------------------------+---------------------------------------+\n| Limit Type                         | Description                           |\n+------------------------------------+---------------------------------------+\n| MAX_QUERIES_PER_HOUR               | Number of statements that the         |\n|                                    | account can issue per hour            |\n|                                    | (including updates)                   |\n+------------------------------------+---------------------------------------+\n| MAX_UPDATES_PER_HOUR               | Number of updates (not queries) that  |\n|                                    | the account can issue per hour        |\n+------------------------------------+---------------------------------------+\n| MAX_CONNECTIONS_PER_HOUR           | Number of connections that the        |\n|                                    | account can start per hour            |\n+------------------------------------+---------------------------------------+\n| MAX_USER_CONNECTIONS               | Number of simultaneous connections    |\n|                                    | that can be accepted from the same    |\n|                                    | account; if it is 0, max_connections  |\n|                                    | will be used instead; if              |\n|                                    | max_connections is 0, there is no     |\n|                                    | limit for this account\'s              |\n|                                    | simultaneous connections.             |\n+------------------------------------+---------------------------------------+\n| MAX_STATEMENT_TIME                 | Timeout, in seconds, for statements   |\n|                                    | executed by the user. See also        |\n|                                    | Aborting Statements that Exceed a     |\n|                                    | Certain Time to Execute.              |\n+------------------------------------+---------------------------------------+\n\nIf any of these limits are set to 0, then there is no limit for that resource\nfor that user.\n\nHere is an example showing how to set an account\'s resource limits:\n\nALTER USER \'someone\'@\'localhost\' WITH\n  MAX_USER_CONNECTIONS 10\n  MAX_QUERIES_PER_HOUR 200;\n\nThe resources are tracked per account, which means \'user\'@\'server\'; not per\nuser name or per connection.\n\nThe count can be reset for all users using FLUSH USER_RESOURCES, FLUSH\nPRIVILEGES or mysqladmin reload.\n\nPer account resource limits are stored in the user table, in the mysql\ndatabase. Columns used for resources limits are named max_questions,\nmax_updates, max_connections (for MAX_CONNECTIONS_PER_HOUR), and\nmax_user_connections (for MAX_USER_CONNECTIONS).\n\nPassword Expiry\n---------------\n\nMariaDB starting with 10.4.3\n----------------------------\nBesides automatic password expiry, as determined by default_password_lifetime,\npassword expiry times can be set on an individual user basis, overriding the\nglobal setting, for example:\n\nALTER USER \'monty\'@\'localhost\' PASSWORD EXPIRE INTERVAL 120 DAY;\nALTER USER \'monty\'@\'localhost\' PASSWORD EXPIRE NEVER;\nALTER USER \'monty\'@\'localhost\' PASSWORD EXPIRE DEFAULT;\n\nSee User Password Expiry for more details.\n\nAccount Locking\n---------------\n\nMariaDB starting with 10.4.2\n----------------------------\nAccount locking permits privileged administrators to lock/unlock user\naccounts. No new client connections will be permitted if an account is locked\n(existing connections are not affected). For example:\n\nALTER USER \'marijn\'@\'localhost\' ACCOUNT LOCK;\n\nSee Account Locking for more details.\n\nFrom MariaDB 10.4.7 and MariaDB 10.5.8, the lock_option and password_option\nclauses can occur in either order.\n\nURL: https://mariadb.com/kb/en/alter-user/','','https://mariadb.com/kb/en/alter-user/'),(107,'GRANT',10,'Syntax\n------\n\nGRANT\n  priv_type [(column_list)]\n   [, priv_type [(column_list)]] ...\n  ON [object_type] priv_level\n  TO user_specification [ user_options ...]\n\nuser_specification:\n username [authentication_option]\n | PUBLIC\nauthentication_option:\n IDENTIFIED BY \'password\'\n | IDENTIFIED BY PASSWORD \'password_hash\'\n | IDENTIFIED {VIA|WITH} authentication_rule [OR authentication_rule  ...]\n\nauthentication_rule:\n  authentication_plugin\n | authentication_plugin {USING|AS} \'authentication_string\'\n | authentication_plugin {USING|AS} PASSWORD(\'password\')\n\nGRANT PROXY ON username\n  TO user_specification [, user_specification ...]\n  [WITH GRANT OPTION]\n\nGRANT rolename TO grantee [, grantee ...]\n  [WITH ADMIN OPTION]\n\ngrantee:\n  rolename\n  username [authentication_option]\n\nuser_options:\n  [REQUIRE {NONE | tls_option [[AND] tls_option] ...}]\n  [WITH with_option [with_option] ...]\n\nobject_type:\n  TABLE\n | FUNCTION\n | PROCEDURE\n | PACKAGE\n\npriv_level:\n  *\n | *.*\n | db_name.*\n | db_name.tbl_name\n | tbl_name\n | db_name.routine_name\n\nwith_option:\n  GRANT OPTION\n | resource_option\n\nresource_option:\n MAX_QUERIES_PER_HOUR count\n | MAX_UPDATES_PER_HOUR count\n | MAX_CONNECTIONS_PER_HOUR count\n | MAX_USER_CONNECTIONS count\n | MAX_STATEMENT_TIME time\n\ntls_option:\n SSL\n | X509\n | CIPHER \'cipher\'\n | ISSUER \'issuer\'\n | SUBJECT \'subject\'\n\nDescription\n-----------\n\nThe GRANT statement allows you to grant privileges or roles to accounts. To\nuse GRANT, you must have the GRANT OPTION privilege, and you must have the\nprivileges that you are granting.\n\nUse the REVOKE statement to revoke privileges granted with the GRANT statement.\n\nUse the SHOW GRANTS statement to determine what privileges an account has.\n\nAccount Names\n-------------\n\nFor GRANT statements, account names are specified as the username argument in\nthe same way as they are for CREATE USER statements. See account names from\nthe CREATE USER page for details on how account names are specified.\n\nImplicit Account Creation\n-------------------------\n\nThe GRANT statement also allows you to implicitly create accounts in some\ncases.\n\nIf the account does not yet exist, then GRANT can implicitly create it. To\nimplicitly create an account with GRANT, a user is required to have the same\nprivileges that would be required to explicitly create the account with the\nCREATE USER statement.\n\nIf the NO_AUTO_CREATE_USER SQL_MODE is set, then accounts can only be created\nif authentication information is specified, or with a CREATE USER statement.\nIf no authentication information is provided, GRANT will produce an error when\nthe specified account does not exist, for example:\n\nshow variables like \'%sql_mode%\' ;\n+---------------+--------------------------------------------+\n| Variable_name | Value                                      |\n+---------------+--------------------------------------------+\n| sql_mode      | NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |\n+---------------+--------------------------------------------+\n\nGRANT USAGE ON *.* TO \'user123\'@\'%\' IDENTIFIED BY \'\';\nERROR 1133 (28000): Can\'t find any matching row in the user table\n\nGRANT USAGE ON *.* TO \'user123\'@\'%\' \n IDENTIFIED VIA PAM using \'mariadb\' require ssl ;\nQuery OK, 0 rows affected (0.00 sec)\n\nselect host, user from mysql.user where user=\'user123\' ;\n\n+------+----------+\n| host | user     |\n+------+----------+\n| %    | user123 |\n+------+----------+\n\nPrivilege Levels\n----------------\n\nPrivileges can be set globally, for an entire database, for a table or\nroutine, or for individual columns in a table. Certain privileges can only be\nset at certain levels.\n\n* Global privileges priv_type are granted using *.* for\npriv_level. Global privileges include privileges to administer the database\nand manage user accounts, as well as privileges for all tables, functions, and\nprocedures. Global privileges are stored in the mysql.user table prior to\nMariaDB 10.4, and in  mysql.global_priv table afterwards.\n* Database privileges priv_type are granted using db_name.*\nfor priv_level, or using just * to use default database. Database\nprivileges include privileges to create tables and functions, as well as\nprivileges for all tables, functions, and procedures in the database. Database\nprivileges are stored in the mysql.db table.\n* Table privileges priv_type are granted using db_name.tbl_name\nfor priv_level, or using just tbl_name to specify a table in the default\ndatabase. The TABLE keyword is optional. Table privileges include the\nability to select and change data in the table. Certain table privileges can\nbe granted for individual columns.\n* Column privileges priv_type are granted by specifying a table for\npriv_level and providing a column list after the privilege type. They allow\nyou to control exactly which columns in a table users can select and change.\n* Function privileges priv_type are granted using FUNCTION db_name.routine_name\nfor priv_level, or using just  FUNCTION routine_name to specify a function\nin the default database.\n* Procedure privileges priv_type are granted using PROCEDURE\ndb_name.routine_name\nfor priv_level, or using just PROCEDURE routine_name to specify a procedure\nin the default database.\n\nThe USAGE Privilege\n-------------------\n\nThe USAGE privilege grants no real privileges. The SHOW GRANTS statement will\nshow a global USAGE privilege for a newly-created user. You can use USAGE with\nthe GRANT statement to change options like GRANT OPTION and\nMAX_USER_CONNECTIONS without changing any account privileges.\n\nThe ALL PRIVILEGES Privilege\n----------------------------\n\nThe ALL PRIVILEGES privilege grants all available privileges. Granting all\nprivileges only affects the given privilege level. For example, granting all\nprivileges on a table does not grant any privileges on the database or\nglobally.\n\nUsing ALL PRIVILEGES does not grant the special GRANT OPTION privilege.\n\nYou can use ALL instead of ALL PRIVILEGES.\n\nThe GRANT OPTION Privilege\n--------------------------\n\nUse the WITH GRANT OPTION clause to give users the ability to grant privileges\nto other users at the given privilege level. Users with the GRANT OPTION\nprivilege can only grant privileges they have. They cannot grant privileges at\na higher privilege level than they have the GRANT OPTION privilege.\n\nThe GRANT OPTION privilege cannot be set for individual columns. If you use\nWITH GRANT OPTION when specifying column privileges, the GRANT OPTION\nprivilege will be granted for the entire table.\n\nUsing the WITH GRANT OPTION clause is equivalent to listing GRANT OPTION as a\nprivilege.\n\nGlobal Privileges\n-----------------\n\nThe following table lists the privileges that can be granted globally. You can\nalso grant all database, table, and function privileges globally. When granted\nglobally, these privileges apply to all databases, tables, or functions,\nincluding those created later.\n\nTo set a global privilege, use *.* for priv_level.\n\nBINLOG ADMIN\n------------\n\nEnables administration of the binary log, including the PURGE BINARY LOGS\nstatement and setting the system variables:\n\n* binlog_annotate_row_events\n* binlog_cache_size\n* binlog_commit_wait_count\n* binlog_commit_wait_usec\n* binlog_direct_non_transactional_updates\n* binlog_expire_logs_seconds\n* binlog_file_cache_size\n* binlog_format\n* binlog_row_image\n* binlog_row_metadata\n* binlog_stmt_cache_size\n* expire_logs_days\n* log_bin_compress\n* log_bin_compress_min_len\n* log_bin_trust_function_creators\n* max_binlog_cache_size\n* max_binlog_size\n* max_binlog_stmt_cache_size\n* sql_log_bin and\n* sync_binlog.\n\nAdded in MariaDB 10.5.2.\n\nBINLOG MONITOR\n--------------\n\nNew name for REPLICATION CLIENT from MariaDB 10.5.2, (REPLICATION CLIENT still\nsupported as an alias for compatibility purposes). Permits running SHOW\ncommands related to the binary log, in particular the SHOW BINLOG STATUS and\nSHOW BINARY LOGS statements. Unlike REPLICATION CLIENT prior to MariaDB 10.5,\nSHOW REPLICA STATUS isn\'t included in this privilege, and REPLICA MONITOR is\nrequired.\n\nBINLOG REPLAY\n-------------\n\nEnables replaying the binary log with the BINLOG statement (generated by\nmariadb-binlog), executing SET timestamp when secure_timestamp is set to\nreplication, and setting the session values of system variables usually\nincluded in BINLOG output, in particular:\n\n* gtid_domain_id\n* gtid_seq_no\n* pseudo_thread_id\n* server_id.\n\nAdded in MariaDB 10.5.2\n\nCONNECTION ADMIN\n----------------\n\nEnables administering connection resource limit options. This includes\nignoring the limits specified by:\n\n* max_connections\n* max_user_connections and\n* max_password_errors.\n\nThe statements specified in init_connect are not executed, killing connections\nand queries owned by other users is permitted. The following\nconnection-related system variables can be changed:\n\n* connect_timeout\n* disconnect_on_expired_password\n* extra_max_connections\n* init_connect\n* max_connections\n* max_connect_errors\n* max_password_errors\n* proxy_protocol_networks\n* secure_auth\n* slow_launch_time\n* thread_pool_exact_stats\n* thread_pool_dedicated_listener\n* thread_pool_idle_timeout\n* thread_pool_max_threads\n* thread_pool_min_threads\n* thread_pool_oversubscribe\n* thread_pool_prio_kickup_timer\n* thread_pool_priority\n* thread_pool_size, and\n* thread_pool_stall_limit.\n\nAdded in MariaDB 10.5.2.\n\nCREATE USER\n-----------\n\nCreate a user using the CREATE USER statement, or implicitly create a user\nwith the GRANT statement.\n\nFEDERATED ADMIN\n---------------\n\nExecute CREATE SERVER, ALTER SERVER, and DROP SERVER statements. Added in\nMariaDB 10.5.2.\n\nFILE\n----\n\nRead and write files on the server, using statements like LOAD DATA INFILE or\nfunctions like LOAD_FILE(). Also needed to create CONNECT outward tables.\nMariaDB server must have the permissions to access those files.\n\nGRANT OPTION\n------------\n\nGrant global privileges. You can only grant privileges that you have.\n\nPROCESS\n-------\n\nShow information about the active processes, for example via SHOW PROCESSLIST\nor mysqladmin processlist. If you have the PROCESS privilege, you can see all\nthreads. Otherwise, you can see only your own threads (that is, threads\nassociated with the MariaDB account that you are using).\n\nREAD_ONLY ADMIN\n---------------\n\nUser can set the read_only system variable and allows the user to perform\nwrite operations, even when the read_only option is active. Added in MariaDB\n10.5.2.\n\nFrom MariaDB 10.11.0, the READ_ONLY ADMIN privilege has been removed from\nSUPER. The benefit of this is that one can remove the READ_ONLY ADMIN\nprivilege from all users and ensure that no one can make any changes on any\nnon-temporary tables. This is useful on replicas when one wants to ensure that\nthe replica is kept identical to the primary.\n\nRELOAD\n------\n\nExecute FLUSH statements or equivalent mariadb-admin/mysqladmin commands.\n\nREPLICATION CLIENT\n------------------\n\nExecute SHOW MASTER STATUS and SHOW BINARY LOGS informative statements.\nRenamed to BINLOG MONITOR in MariaDB 10.5.2 (but still supported as an alias\nfor compatibility reasons). SHOW SLAVE STATUS was part of REPLICATION CLIENT\nprior to MariaDB 10.5.\n\nREPLICATION MASTER ADMIN\n------------------------\n\nPermits administration of primary servers, including the SHOW REPLICA HOSTS\nstatement, and setting the gtid_binlog_state, gtid_domain_id,\nmaster_verify_checksum and server_id system variables. Added in MariaDB 10.5.2.\n\nREPLICA MONITOR\n---------------\n\nPermit SHOW REPLICA STATUS and SHOW RELAYLOG EVENTS. From MariaDB 10.5.9.\n\nWhen a user would upgrade from an older major release to a MariaDB 10.5 minor\nrelease prior to MariaDB 10.5.9, certain user accounts would lose\ncapabilities. For example, a user account that had the REPLICATION CLIENT\nprivilege in older major releases could run SHOW REPLICA STATUS, but after\nupgrading to a MariaDB 10.5 minor release prior to MariaDB 10.5.9, they could\nno longer run SHOW REPLICA STATUS, because that statement was changed to\nrequire the REPLICATION REPLICA ADMIN privilege.\n\nThis issue is fixed in MariaDB 10.5.9 with this new privilege, which now\ngrants the user the ability to execute SHOW [ALL] (SLAVE | REPLICA) STATUS.\n\nWhen a database is upgraded from an older major release to MariaDB Server\n10.5.9 or later, any user accounts with the REPLICATION CLIENT or REPLICATION\nSLAVE privileges will automatically be granted the new REPLICA MONITOR\nprivilege. The privilege fix occurs when the server is started up, not when\nmariadb-upgrade is performed.\n\nHowever, when a database is upgraded from an early 10.5 minor release to\n10.5.9 and later, the user will have to fix any user account privileges\nmanually.\n\nREPLICATION REPLICA\n-------------------\n\nSynonym for REPLICATION SLAVE. From MariaDB 10.5.1.\n\nREPLICATION SLAVE\n-----------------\n\nAccounts used by replica servers on the primary need this privilege. This is\nneeded to get the updates made on the master. From MariaDB 10.5.1, REPLICATION\nREPLICA is an alias for REPLICATION SLAVE.\n\nREPLICATION SLAVE ADMIN\n-----------------------\n\nPermits administering replica servers, including START REPLICA/SLAVE, STOP\nREPLICA/SLAVE, CHANGE MASTER, SHOW REPLICA/SLAVE STATUS, SHOW RELAYLOG EVENTS\nstatements, replaying the binary log with the BINLOG statement (generated by\nmariadb-binlog), and setting the system variables:\n\n* gtid_cleanup_batch_size\n* gtid_ignore_duplicates\n* gtid_pos_auto_engines\n* gtid_slave_pos\n* gtid_strict_mode\n* init_slave\n* read_binlog_speed_limit\n* relay_log_purge\n* relay_log_recovery\n* replicate_do_db\n* replicate_do_table\n* replicate_events_marked_for_skip\n* replicate_ignore_db\n* replicate_ignore_table\n* replicate_wild_do_table\n* replicate_wild_ignore_table\n* slave_compressed_protocol\n* slave_ddl_exec_mode\n* slave_domain_parallel_threads\n* slave_exec_mode\n* slave_max_allowed_packet\n* slave_net_timeout\n* slave_parallel_max_queued\n* slave_parallel_mode\n* slave_parallel_threads\n* slave_parallel_workers\n* slave_run_triggers_for_rbr\n* slave_sql_verify_checksum\n* slave_transaction_retry_interval\n* slave_type_conversions\n* sync_master_info\n* sync_relay_log, and\n* sync_relay_log_info.\n\nAdded in MariaDB 10.5.2.\n\nSET USER\n--------\n\nEnables setting the DEFINER when creating triggers, views, stored functions\nand stored procedures. Added in MariaDB 10.5.2.\n\nSHOW DATABASES\n--------------\n\nList all databases using the SHOW DATABASES statement. Without the SHOW\nDATABASES privilege, you can still issue the SHOW DATABASES statement, but it\nwill only list databases containing tables on which you have privileges.\n\nSHUTDOWN\n--------\n\nShut down the server using SHUTDOWN or the mysqladmin shutdown command.\n\nSUPER\n-----\n\nExecute superuser statements: CHANGE MASTER TO, KILL (users who do not have\nthis privilege can only KILL their own threads), PURGE LOGS, SET global system\nvariables, or the mysqladmin debug command. Also, this permission allows the\nuser to write data even if the read_only startup option is set, enable or\ndisable logging, enable or disable replication on replica, specify a DEFINER\nfor statements that support that clause, connect once reaching the\nMAX_CONNECTIONS. If a statement has been specified for the init-connect mysqld\noption, that command will not be executed when a user with SUPER privileges\nconnects to the server.\n\nThe SUPER privilege has been split into multiple smaller privileges from\nMariaDB 10.5.2 to allow for more fine-grained privileges, although it remains\nan alias for these smaller privileges.\n\nFrom MariaDB 10.11.0, the READ_ONLY ADMIN privilege has been removed from\nSUPER. The benefit of this is that one can remove the READ_ONLY ADMIN\nprivilege from all users and ensure that no one can make any changes on any\nnon-temporary tables. This is useful on replicas when one wants to ensure that\nthe replica is kept identical to the primary.\n\nDatabase Privileges\n-------------------\n\nThe following table lists the privileges that can be granted at the database\nlevel. You can also grant all table and function privileges at the database\nlevel. Table and function privileges on a database apply to all tables or\nfunctions in that database, including those created later.\n\nTo set a privilege for a database, specify the database using db_name.* for\npriv_level, or just use * to specify the default database.\n\n+----------------------------------+-----------------------------------------+\n| Privilege                        | Description                             |\n+----------------------------------+-----------------------------------------+\n| CREATE                           | Create a database using the CREATE      |\n|                                  | DATABASE statement, when the privilege  |\n|                                  | is granted for a database. You can      |\n|                                  | grant the CREATE privilege on           |\n|                                  | databases that do not yet exist. This   |\n|                                  | also grants the CREATE privilege on     |\n|                                  | all tables in the database.             |\n+----------------------------------+-----------------------------------------+\n| CREATE ROUTINE                   | Create Stored Programs using the        |\n|                                  | CREATE PROCEDURE and CREATE FUNCTION    |\n|                                  | statements.                             |\n+----------------------------------+-----------------------------------------+\n| CREATE TEMPORARY TABLES          | Create temporary tables with the        |\n|                                  | CREATE TEMPORARY TABLE statement. This  |\n|                                  | privilege enable writing and dropping   |\n|                                  | those temporary tables                  |\n+----------------------------------+-----------------------------------------+\n| DROP                             | Drop a database using the DROP          |\n|                                  | DATABASE statement, when the privilege  |\n|                                  | is granted for a database. This also    |\n|                                  | grants the DROP privilege on all        |\n|                                  | tables in the database.                 |\n+----------------------------------+-----------------------------------------+\n| EVENT                            | Create, drop and alter EVENTs.          |\n+----------------------------------+-----------------------------------------+\n| GRANT OPTION                     | Grant database privileges. You can      |\n|                                  | only grant privileges that you have.    |\n+----------------------------------+-----------------------------------------+\n| LOCK TABLES                      | Acquire explicit locks using the LOCK   |\n|                                  | TABLES statement; you also need to      |\n|                                  | have the SELECT privilege on a table,   |\n|                                  | in order to lock it.                    |\n+----------------------------------+-----------------------------------------+\n\nTable Privileges\n----------------\n\n+----------------------------------+-----------------------------------------+\n| Privilege                        | Description                             |\n+----------------------------------+-----------------------------------------+\n| ALTER                            | Change the structure of an existing     |\n|                                  | table using the ALTER TABLE statement.  |\n+----------------------------------+-----------------------------------------+\n| CREATE                           | Create a table using the CREATE TABLE   |\n|                                  | statement.  You can grant the CREATE    |\n|                                  | privilege on tables that do not yet     |\n|                                  | exist.                                  |\n+----------------------------------+-----------------------------------------+\n| CREATE VIEW                      | Create a view using the CREATE_VIEW     |\n|                                  | statement.                              |\n+----------------------------------+-----------------------------------------+\n| DELETE                           | Remove rows from a table using the      |\n|                                  | DELETE statement.                       |\n+----------------------------------+-----------------------------------------+\n| DELETE HISTORY                   | Remove historical rows from a table     |\n|                                  | using the DELETE HISTORY statement.     |\n|                                  | Displays as DELETE VERSIONING ROWS      |\n|                                  | when running SHOW GRANTS until MariaDB  |\n|                                  | 10.3.15 and until MariaDB 10.4.5        |\n|                                  | (MDEV-17655), or when running SHOW      |\n|                                  | PRIVILEGES until MariaDB 10.5.2,        |\n|                                  | MariaDB 10.4.13 and MariaDB 10.3.23     |\n|                                  | (MDEV-20382). From MariaDB 10.3.4.      |\n|                                  | From MariaDB 10.3.5, if a user has the  |\n|                                  | SUPER privilege but not this            |\n|                                  | privilege, running mysql_upgrade will   |\n|                                  | grant this privilege as well.           |\n+----------------------------------+-----------------------------------------+\n| DROP                             | Drop a table using the DROP TABLE       |\n|                                  | statement or a view using the DROP      |\n|                                  | VIEW statement. Also required to        |\n|                                  | execute the TRUNCATE TABLE statement.   |\n+----------------------------------+-----------------------------------------+\n| GRANT OPTION                     | Grant table privileges. You can only    |\n|                                  | grant privileges that you have.         |\n+----------------------------------+-----------------------------------------+\n| INDEX                            | Create an index on a table using the    |\n|                                  | CREATE INDEX statement. Without the     |\n|                                  | INDEX privilege, you can still create   |\n|                                  | indexes when creating a table using     |\n|                                  | the CREATE TABLE statement if the you   |\n|                                  | have the CREATE privilege, and you can  |\n|                                  | create indexes using the ALTER TABLE    |\n|                                  | statement if you have the ALTER         |\n|                                  | privilege.                              |\n+----------------------------------+-----------------------------------------+\n| INSERT                           | Add rows to a table using the INSERT    |\n|                                  | statement.  The INSERT privilege can    |\n|                                  | also be set on individual columns; see  |\n|                                  | Column Privileges below for details.    |\n+----------------------------------+-----------------------------------------+\n| REFERENCES                       | Unused.                                 |\n+----------------------------------+-----------------------------------------+\n| SELECT                           | Read data from a table using the        |\n|                                  | SELECT statement. The SELECT privilege  |\n|                                  | can also be set on individual columns;  |\n|                                  | see Column Privileges below for         |\n|                                  | details.                                |\n+----------------------------------+-----------------------------------------+\n| SHOW VIEW                        | Show the CREATE VIEW statement to       |\n|                                  | create a view using the SHOW CREATE     |\n|                                  | VIEW statement.                         |\n+----------------------------------+-----------------------------------------+\n| TRIGGER                          | Execute triggers associated to tables   |\n|                                  | you update, execute the CREATE TRIGGER  |\n|                                  | and DROP TRIGGER statements. You will   |\n|                                  | still be able to see triggers.          |\n+----------------------------------+-----------------------------------------+\n| UPDATE                           | Update existing rows in a table using   |\n|                                  | the UPDATE statement. UPDATE            |\n|                                  | statements usually include a WHERE      |\n|                                  | clause to update only certain rows.     |\n|                                  | You must have SELECT privileges on the  |\n|                                  | table or the appropriate columns for    |\n|                                  | the WHERE clause. The UPDATE privilege  |\n|                                  | can also be set on individual columns;  |\n|                                  | see Column Privileges below for         |\n|                                  | details.                                |\n+----------------------------------+-----------------------------------------+\n\nColumn Privileges\n-----------------\n\nSome table privileges can be set for individual columns of a table. To use\ncolumn privileges, specify the table explicitly and provide a list of column\nnames after the privilege type. For example, the following statement would\nallow the user to read the names and positions of employees, but not other\ninformation from the same table, such as salaries.\n\nGRANT SELECT (name, position) on Employee to \'jeffrey\'@\'localhost\';\n\n+----------------------------------+-----------------------------------------+\n| Privilege                        | Description                             |\n+----------------------------------+-----------------------------------------+\n| INSERT (column_list)             | Add rows specifying values in columns   |\n|                                  | using the INSERT statement. If you      |\n|                                  | only have column-level INSERT           |\n|                                  | privileges, you must specify the        |\n|                                  | columns you are setting in the INSERT   |\n|                                  | statement. All other columns will be    |\n|                                  | set to their default values, or NULL.   |\n+----------------------------------+-----------------------------------------+\n| REFERENCES (column_list)         | Unused.                                 |\n+----------------------------------+-----------------------------------------+\n| SELECT (column_list)             | Read values in columns using the        |\n|                                  | SELECT statement. You cannot access or  |\n|                                  | query any columns for which you do not  |\n|                                  | have SELECT privileges, including in    |\n|                                  | WHERE, ON, GROUP BY, and ORDER BY       |\n|                                  | clauses.                                |\n+----------------------------------+-----------------------------------------+\n| UPDATE (column_list)             | Update values in columns of existing    |\n|                                  | rows using the UPDATE statement.        |\n|                                  | UPDATE statements usually include a     |\n|                                  | WHERE clause to update only certain     |\n|                                  | rows. You must have SELECT privileges   |\n|                                  | on the table or the appropriate         |\n|                                  | columns for the WHERE clause.           |\n+----------------------------------+-----------------------------------------+\n\nFunction Privileges\n-------------------\n\n+----------------------------------+-----------------------------------------+\n| Privilege                        | Description                             |\n+----------------------------------+-----------------------------------------+\n| ALTER ROUTINE                    | Change the characteristics of a stored  |\n|                                  | function using the ALTER FUNCTION       |\n|                                  | statement.                              |\n+----------------------------------+-----------------------------------------+\n| EXECUTE                          | Use a stored function. You need SELECT  |\n|                                  | privileges for any tables or columns    |\n|                                  | accessed by the function.               |\n+----------------------------------+-----------------------------------------+\n| GRANT OPTION                     | Grant function privileges. You can      |\n|                                  | only grant privileges that you have.    |\n+----------------------------------+-----------------------------------------+\n\nProcedure Privileges\n--------------------\n\n+----------------------------------+-----------------------------------------+\n| Privilege                        | Description                             |\n+----------------------------------+-----------------------------------------+\n| ALTER ROUTINE                    | Change the characteristics of a stored  |\n|                                  | procedure using the ALTER PROCEDURE     |\n|                                  | statement.                              |\n+----------------------------------+-----------------------------------------+\n| EXECUTE                          | Execute a stored procedure using the    |\n|                                  | CALL statement. The privilege to call   |\n|                                  | a procedure may allow you to perform    |\n|                                  | actions you wouldn\'t otherwise be able  |\n|                                  | to do, such as insert rows into a       |\n|                                  | table.                                  |\n+----------------------------------+-----------------------------------------+\n| GRANT OPTION                     | Grant procedure privileges. You can     |\n|                                  | only grant privileges that you have.    |\n+----------------------------------+-----------------------------------------+\n\nGRANT EXECUTE ON PROCEDURE mysql.create_db TO maintainer;\n\nProxy Privileges\n----------------\n\n+----------------------------------+-----------------------------------------+\n| Privilege                        | Description                             |\n+----------------------------------+-----------------------------------------+\n| PROXY                            | Permits one user to be a proxy for      |\n|                                  | another.                                |\n+----------------------------------+-----------------------------------------+\n\nThe PROXY privilege allows one user to proxy as another user, which means\ntheir privileges change to that of the proxy user, and the CURRENT_USER()\nfunction returns the user name of the proxy user.\n\nThe PROXY privilege only works with authentication plugins that support it.\nThe default mysql_native_password authentication plugin does not support proxy\nusers.\n\nThe pam authentication plugin is the only plugin included with MariaDB that\ncurrently supports proxy users. The PROXY privilege is commonly used with the\npam authentication plugin to enable user and group mapping with PAM.\n\nFor example, to grant the PROXY privilege to an anonymous account that\nauthenticates with the pam authentication plugin, you could execute the\nfollowing:\n\nCREATE USER \'dba\'@\'%\' IDENTIFIED BY \'strongpassword\';\nGRANT ALL PRIVILEGES ON *.* TO \'dba\'@\'%\' ;\n\nCREATE USER \'\'@\'%\' IDENTIFIED VIA pam USING \'mariadb\';\nGRANT PROXY ON \'dba\'@\'%\' TO \'\'@\'%\';\n\nA user account can only grant the PROXY privilege for a specific user account\nif the granter also has the PROXY privilege for that specific user account,\nand if that privilege is defined WITH GRANT OPTION. For example, the following\nexample fails because the granter does not have the PROXY privilege for that\nspecific user account at all:\n\nSELECT USER(), CURRENT_USER();\n+-----------------+-----------------+\n| USER()          | CURRENT_USER()  |\n+-----------------+-----------------+\n| alice@localhost | alice@localhost |\n+-----------------+-----------------+\n\nSHOW GRANTS;\n+------------------------------------------------------------------------------\n----------------------------------------+\n| Grants for alice@localhost                                                  \n                    |\n+------------------------------------------------------------------------------\n----------------------------------------+\n| GRANT ALL PRIVILEGES ON *.* TO \'alice\'@\'localhost\' IDENTIFIED BY PASSWORD\n\'*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19\' |\n+------------------------------------------------------------------------------\n----------------------------------------+\n\nGRANT PROXY ON \'dba\'@\'localhost\' TO \'bob\'@\'localhost\';\nERROR 1698 (28000): Access denied for user \'alice\'@\'localhost\'\n\nAnd the following example fails because the granter does have the PROXY\nprivilege for that specific user account, but it is not defined WITH GRANT\nOPTION:\n\nSELECT USER(), CURRENT_USER();\n+-----------------+-----------------+\n| USER()          | CURRENT_USER()  |\n+-----------------+-----------------+\n| alice@localhost | alice@localhost |\n+-----------------+-----------------+\n\nSHOW GRANTS;\n+------------------------------------------------------------------------------\n----------------------------------------+\n| Grants for alice@localhost                                                  \n                    |\n+------------------------------------------------------------------------------\n----------------------------------------+\n| GRANT ALL PRIVILEGES ON *.* TO \'alice\'@\'localhost\' IDENTIFIED BY PASSWORD\n\'*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19\' |\n| GRANT PROXY ON \'dba\'@\'localhost\' TO \'alice\'@\'localhost\'                     \n                    |\n+------------------------------------------------------------------------------\n----------------------------------------+\n\nGRANT PROXY ON \'dba\'@\'localhost\' TO \'bob\'@\'localhost\';\nERROR 1698 (28000): Access denied for user \'alice\'@\'localhost\'\n\nBut the following example succeeds because the granter does have the PROXY\nprivilege for that specific user account, and it is defined WITH GRANT OPTION:\n\nSELECT USER(), CURRENT_USER();\n+-----------------+-----------------+\n| USER()          | CURRENT_USER()  |\n+-----------------+-----------------+\n| alice@localhost | alice@localhost |\n+-----------------+-----------------+\n\nSHOW GRANTS;\n+------------------------------------------------------------------------------\n----------------------------------------------------------+\n| Grants for alice@localhost                                                  \n                             |\n+------------------------------------------------------------------------------\n----------------------------------------------------------+\n| GRANT ALL PRIVILEGES ON *.* TO \'alice\'@\'localhost\' IDENTIFIED BY PASSWORD\n\'*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19\' WITH GRANT OPTION |\n| GRANT PROXY ON \'dba\'@\'localhost\' TO \'alice\'@\'localhost\' WITH GRANT OPTION   \n                             |\n+------------------------------------------------------------------------------\n----------------------------------------------------------+\n\nGRANT PROXY ON \'dba\'@\'localhost\' TO \'bob\'@\'localhost\';\n\nA user account can grant the PROXY privilege for any other user account if the\ngranter has the PROXY privilege for the \'\'@\'%\' anonymous user account, like\nthis:\n\nGRANT PROXY ON \'\'@\'%\' TO \'dba\'@\'localhost\' WITH GRANT OPTION;\n\nFor example, the following example succeeds because the user can grant the\nPROXY privilege for any other user account:\n\nSELECT USER(), CURRENT_USER();\n+-----------------+-----------------+\n| USER()          | CURRENT_USER()  |\n+-----------------+-----------------+\n| alice@localhost | alice@localhost |\n+-----------------+-----------------+\n\nSHOW GRANTS;\n+------------------------------------------------------------------------------\n----------------------------------------------------------+\n| Grants for alice@localhost                                                  \n                             |\n+------------------------------------------------------------------------------\n----------------------------------------------------------+\n| GRANT ALL PRIVILEGES ON *.* TO \'alice\'@\'localhost\' IDENTIFIED BY PASSWORD\n\'*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19\' WITH GRANT OPTION |\n| GRANT PROXY ON \'\'@\'%\' TO \'alice\'@\'localhost\' WITH GRANT OPTION              \n                             |\n+------------------------------------------------------------------------------\n----------------------------------------------------------+\n\nGRANT PROXY ON \'app1_dba\'@\'localhost\' TO \'bob\'@\'localhost\';\nQuery OK, 0 rows affected (0.004 sec)\n\nGRANT PROXY ON \'app2_dba\'@\'localhost\' TO \'carol\'@\'localhost\';\nQuery OK, 0 rows affected (0.004 sec)\n\nThe default root user accounts created by mysql_install_db have this\nprivilege. For example:\n\nGRANT ALL PRIVILEGES ON *.* TO \'root\'@\'localhost\' WITH GRANT OPTION;\nGRANT PROXY ON \'\'@\'%\' TO \'root\'@\'localhost\' WITH GRANT OPTION;\n\nThis allows the default root user accounts to grant the PROXY privilege for\nany other user account, and it also allows the default root user accounts to\ngrant others the privilege to do the same.\n\nAuthentication Options\n----------------------\n\nThe authentication options for the GRANT statement are the same as those for\nthe CREATE USER statement.\n\nIDENTIFIED BY \'password\'\n------------------------\n\nThe optional IDENTIFIED BY clause can be used to provide an account with a\npassword. The password should be specified in plain text. It will be hashed by\nthe PASSWORD function prior to being stored.\n\nFor example, if our password is mariadb, then we can create the user with:\n\nGRANT USAGE ON *.* TO foo2@test IDENTIFIED BY \'mariadb\';\n\nIf you do not specify a password with the IDENTIFIED BY clause, the user will\nbe able to connect without a password. A blank password is not a wildcard to\nmatch any password. The user must connect without providing a password if no\npassword is set.\n\nIf the user account already exists and if you provide the IDENTIFIED BY\nclause, then the user\'s password will be changed. You must have the privileges\nneeded for the SET PASSWORD statement to change a user\'s password with GRANT.\n\nThe only authentication plugins that this clause supports are\nmysql_native_password and mysql_old_password.\n\nIDENTIFIED BY PASSWORD \'password_hash\'\n--------------------------------------\n\nThe optional IDENTIFIED BY PASSWORD clause can be used to provide an account\nwith a password that has already been hashed. The password should be specified\nas a hash that was provided by the PASSWORD function. It will be stored as-is.\n\nFor example, if our password is mariadb, then we can find the hash with:\n\nSELECT PASSWORD(\'mariadb\');\n+-------------------------------------------+\n| PASSWORD(\'mariadb\')                       |\n+-------------------------------------------+\n| *54958E764CE10E50764C2EECBB71D01F08549980 |\n+-------------------------------------------+\n1 row in set (0.00 sec)\n\nAnd then we can create a user with the hash:\n\nGRANT USAGE ON *.* TO foo2@test IDENTIFIED BY \n PASSWORD \'*54958E764CE10E50764C2EECBB71D01F08549980\';\n\nIf you do not specify a password with the IDENTIFIED BY clause, the user will\nbe able to connect without a password. A blank password is not a wildcard to\nmatch any password. The user must connect without providing a password if no\npassword is set.\n\nIf the user account already exists and if you provide the IDENTIFIED BY\nclause, then the user\'s password will be changed. You must have the privileges\nneeded for the SET PASSWORD statement to change a user\'s password with GRANT.\n\nThe only authentication plugins that this clause supports are\nmysql_native_password and mysql_old_password.\n\nIDENTIFIED {VIA|WITH} authentication_plugin\n-------------------------------------------\n\nThe optional IDENTIFIED VIA authentication_plugin allows you to specify that\nthe account should be authenticated by a specific authentication plugin. The\nplugin name must be an active authentication plugin as per SHOW PLUGINS. If it\ndoesn\'t show up in that output, then you will need to install it with INSTALL\nPLUGIN or INSTALL SONAME.\n\nFor example, this could be used with the PAM authentication plugin:\n\nGRANT USAGE ON *.* TO foo2@test IDENTIFIED VIA pam;\n\nSome authentication plugins allow additional arguments to be specified after a\nUSING or AS keyword. For example, the PAM authentication plugin accepts a\nservice name:\n\nGRANT USAGE ON *.* TO foo2@test IDENTIFIED VIA pam USING \'mariadb\';\n\nThe exact meaning of the additional argument would depend on the specific\nauthentication plugin.\n\nMariaDB starting with 10.4.0\n----------------------------\nThe USING or AS keyword can also be used to provide a plain-text password to a\nplugin if it\'s provided as an argument to the PASSWORD() function. This is\nonly valid for authentication plugins that have implemented a hook for the\nPASSWORD() function. For example, the ed25519 authentication plugin supports\nthis:\n\nCREATE USER safe@\'%\' IDENTIFIED VIA ed25519 \n USING PASSWORD(\'secret\');\n\nMariaDB starting with 10.4.3\n----------------------------\nOne can specify many authentication plugins, they all work as alternatives\nways of authenticating a user:\n\nCREATE USER safe@\'%\' IDENTIFIED VIA ed25519 \n USING PASSWORD(\'secret\') OR unix_socket;\n\nBy default, when you create a user without specifying an authentication\nplugin, MariaDB uses the mysql_native_password plugin.\n\nResource Limit Options\n----------------------\n\nIt is possible to set per-account limits for certain server resources. The\nfollowing table shows the values that can be set per account:\n\n+--------------------------------------+--------------------------------------+\n| Limit Type                           | Decription                           |\n+--------------------------------------+--------------------------------------+\n| MAX_QUERIES_PER_HOUR                 | Number of statements that the        |\n|                                      | account can issue per hour           |\n|                                      | (including updates)                  |\n+--------------------------------------+--------------------------------------+\n| MAX_UPDATES_PER_HOUR                 | Number of updates (not queries)      |\n|                                      | that the account can issue per hour  |\n+--------------------------------------+--------------------------------------+\n| MAX_CONNECTIONS_PER_HOUR             | Number of connections that the       |\n|                                      | account can start per hour           |\n+--------------------------------------+--------------------------------------+\n| MAX_USER_CONNECTIONS                 | Number of simultaneous connections   |\n|                                      | that can be accepted from the same   |\n|                                      | account; if it is 0,                 |\n|                                      | max_connections will be used         |\n|                                      | instead; if max_connections is 0,    |\n|                                      | there is no limit for this           |\n|                                      | account\'s simultaneous connections.  |\n+--------------------------------------+--------------------------------------+\n| MAX_STATEMENT_TIME                   | Timeout, in seconds, for statements  |\n|                                      | executed by the user. See also       |\n|                                      | Aborting Statements that Exceed a    |\n|                                      | Certain Time to Execute.             |\n+--------------------------------------+--------------------------------------+\n\nIf any of these limits are set to 0, then there is no limit for that resource\nfor that user.\n\nTo set resource limits for an account, if you do not want to change that\naccount\'s privileges, you can issue a GRANT statement with the USAGE\nprivilege, which has no meaning. The statement can name some or all limit\ntypes, in any order.\n\nHere is an example showing how to set resource limits:\n\nGRANT USAGE ON *.* TO \'someone\'@\'localhost\' WITH\n  MAX_USER_CONNECTIONS 0\n  MAX_QUERIES_PER_HOUR 200;\n\nThe resources are tracked per account, which means \'user\'@\'server\'; not per\nuser name or per connection.\n\nThe count can be reset for all users using FLUSH USER_RESOURCES, FLUSH\nPRIVILEGES or mysqladmin reload.\n\nUsers with the CONNECTION ADMIN privilege (in MariaDB 10.5.2 and later) or the\nSUPER privilege are not restricted by max_user_connections, max_connections,\nor max_password_errors.\n\nPer account resource limits are stored in the user table, in the mysql\ndatabase. Columns used for resources limits are named max_questions,\nmax_updates, max_connections (for MAX_CONNECTIONS_PER_HOUR), and\nmax_user_connections (for MAX_USER_CONNECTIONS).\n\nTLS Options\n-----------\n\nBy default, MariaDB transmits data between the server and clients without\nencrypting it. This is generally acceptable when the server and client run on\nthe same host or in networks where security is guaranteed through other means.\nHowever, in cases where the server and client exist on separate networks or\nthey are in a high-risk network, the lack of encryption does introduce\nsecurity concerns as a malicious actor could potentially eavesdrop on the\ntraffic as it is sent over the network between them.\n\nTo mitigate this concern, MariaDB allows you to encrypt data in transit\nbetween the server and clients using the Transport Layer Security (TLS)\nprotocol. TLS was formerly known as Secure Socket Layer (SSL), but strictly\nspeaking the SSL protocol is a predecessor to TLS and, that version of the\nprotocol is now considered insecure. The documentation still uses the term SSL\noften and for compatibility reasons TLS-related server system and status\nvariables still use the prefix ssl_, but internally, MariaDB only supports its\nsecure successors.\n\nSee Secure Connections Overview for more information about how to determine\nwhether your MariaDB server has TLS support.\n\nYou can set certain TLS-related restrictions for specific user accounts. For\ninstance, you might use this with user accounts that require access to\nsensitive data while sending it across networks that you do not control. These\nrestrictions can be enabled for a user account with the CREATE USER, ALTER\nUSER, or GRANT statements. The following options are available:\n\n+---------------------------+------------------------------------------------+\n| Option                    | Description                                    |\n+---------------------------+------------------------------------------------+\n| REQUIRE NONE              | TLS is not required for this account, but can  |\n|                           | still be used.                                 |\n+---------------------------+------------------------------------------------+\n| REQUIRE SSL               | The account must use TLS, but no valid X509    |\n|                           | certificate is required. This option cannot    |\n|                           | be combined with other TLS options.            |\n+---------------------------+------------------------------------------------+\n| REQUIRE X509              | The account must use TLS and must have a       |\n|                           | valid X509 certificate. This option implies    |\n|                           | REQUIRE SSL. This option cannot be combined    |\n|                           | with other TLS options.                        |\n+---------------------------+------------------------------------------------+\n| REQUIRE ISSUER \'issuer\'   | The account must use TLS and must have a       |\n|                           | valid X509 certificate. Also, the Certificate  |\n|                           | Authority must be the one specified via the    |\n|                           | string issuer. This option implies REQUIRE     |\n|                           | X509. This option can be combined with the     |\n|                           | SUBJECT, and CIPHER options in any order.      |\n+---------------------------+------------------------------------------------+\n| REQUIRE SUBJECT \'subject\' | The account must use TLS and must have a       |\n|                           | valid X509 certificate. Also, the              |\n|                           | certificate\'s Subject must be the one          |\n|                           | specified via the string subject. This option  |\n|                           | implies REQUIRE X509. This option can be       |\n|                           | combined with the ISSUER, and CIPHER options   |\n|                           | in any order.                                  |\n+---------------------------+------------------------------------------------+\n| REQUIRE CIPHER \'cipher\'   | The account must use TLS, but no valid X509    |\n|                           | certificate is required. Also, the encryption  |\n|                           | used for the connection must use a specific    |\n|                           | cipher method specified in the string cipher.  |\n|                           | This option implies REQUIRE SSL. This option   |\n|                           | can be combined with the ISSUER, and SUBJECT   |\n|                           | options in any order.                          |\n+---------------------------+------------------------------------------------+\n\nThe REQUIRE keyword must be used only once for all specified options, and the\nAND keyword can be used to separate individual options, but it is not required.\n\nFor example, you can create a user account that requires these TLS options\nwith the following:\n\nGRANT USAGE ON *.* TO \'alice\'@\'%\'\n REQUIRE SUBJECT \'/CN=alice/O=My Dom, Inc./C=US/ST=Oregon/L=Portland\'\n AND ISSUER \'/C=FI/ST=Somewhere/L=City/ O=Some Company/CN=Peter\nParker/emailAddress=p.parker@marvel.com\'\n AND CIPHER \'SHA-DES-CBC3-EDH-RSA\';\n\nIf any of these options are set for a specific user account, then any client\nwho tries to connect with that user account will have to be configured to\nconnect with TLS.\n\nSee Securing Connections for Client and Server for information on how to\nenable TLS on the client and server.\n\nRoles\n-----\n\nSyntax\n------\n\nGRANT role TO grantee [, grantee ... ]\n[ WITH ADMIN OPTION ]\n\ngrantee:\n  rolename\n  username [authentication_option]\n\nThe GRANT statement is also used to grant the use of a role to one or more\nusers or other roles. In order to be able to grant a role, the grantor doing\nso must have permission to do so (see WITH ADMIN in the CREATE ROLE article).\n\nSpecifying the WITH ADMIN OPTION permits the grantee to in turn grant the role\nto another.\n\nFor example, the following commands show how to grant the same role to a\ncouple different users.\n\nGRANT journalist TO hulda;\n\nGRANT journalist TO berengar WITH ADMIN OPTION;\n\nIf a user has been granted a role, they do not automatically obtain all\npermissions associated with that role. These permissions are only in use when\nthe user activates the role with the SET ROLE statement.\n\nTO PUBLIC\n---------\n\nMariaDB starting with 10.11\n---------------------------\n\nSyntax\n------\n\nGRANT <privilege> ON <database>.<object> TO PUBLIC;\nREVOKE <privilege> ON <database>.<object> FROM PUBLIC;\n\nGRANT ... TO PUBLIC grants privileges to all users with access to the server.\nThe privileges also apply to users created after the privileges are granted.\nThis can be useful when one only wants to state once that all users need to\nhave a certain set of privileges.\n\nWhen running SHOW GRANTS, a user will also see all privileges inherited from\nPUBLIC. SHOW GRANTS FOR PUBLIC will only show TO PUBLIC grants.\n\nGrant Examples\n--------------\n\nGranting Root-like Privileges\n-----------------------------\n\nYou can create a user that has privileges similar to the default root accounts\nby executing the following:\n\nCREATE USER \'alexander\'@\'localhost\';\nGRANT ALL PRIVILEGES ON  *.* to \'alexander\'@\'localhost\' WITH GRANT OPTION;\n\nURL: https://mariadb.com/kb/en/grant/','','https://mariadb.com/kb/en/grant/'),(117,'Authentication from MariaDB 10.4',10,'MariaDB starting with 10.4\n--------------------------\nMariaDB 10.4 introduced a number of changes to the authentication process,\nintended to make things easier and more intuitive.\n\nOverview\n--------\n\nThere are four new main features in 10.4 relating to authentication:\n\n* It is possible to use more than one authentication plugin for each user\naccount. For example, this can be useful to slowly migrate users to the more\nsecure ed25519 authentication plugin over time, while allowing the old\nmysql_native_password authentication plugin as an alternative for the\ntransitional period.\n* The root@localhost user account created by mysql_install_db is created with\nthe ability to use two authentication plugins.\nFirst, it is configured to try to use the unix_socket authentication plugin.\nThis allows the root@localhost user to login without a password via the local\nUnix socket file defined by the socket system variable, as long as the login\nis attempted from a process owned by the operating system root user account.\nSecond, if authentication fails with the unix_socket authentication plugin,\nthen it is configured to try to use the mysql_native_password authentication\nplugin. However, an invalid password is initially set, so in order to\nauthenticate this way, a password must be set with SET PASSWORD.\nHowever, just using the unix_socket authentication plugin may be fine for many\nusers, and it is very secure. You may want to try going without password\nauthentication to see how well it works for you. Remember, the best way to\nkeep your password safe is not to have one!\n\n* All user accounts, passwords, and global privileges are now stored in the\nmysql.global_priv table. The mysql.user table still exists and has exactly the\nsame set of columns as before, but it’s now a view that references the\nmysql.global_priv table. Tools that analyze the mysql.user table should\ncontinue to work as before. From MariaDB 10.4.13, the dedicated mariadb.sys\nuser is created as the definer of this view. Previously root was the definer,\nwhich resulted in privilege problems when this username was changed.\n* MariaDB 10.4 adds supports for User Password Expiry, which is not active by\ndefault.\n\nDescription\n-----------\n\nAs a result of the above changes, the open-for-everyone all-powerful root\naccount is finally gone. And installation scripts will no longer demand that\nyou \"PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !\", because\nthe root account is securely created automatically.\n\nTwo all-powerful accounts are created by default — root and the OS user that\nowns the data directory, typically mysql. They are created as:\n\nCREATE USER root@localhost IDENTIFIED VIA unix_socket OR mysql_native_password\nUSING \'invalid\'\nCREATE USER mysql@localhost IDENTIFIED VIA unix_socket OR\nmysql_native_password USING \'invalid\'\n\nUsing unix_socket means that if you are the system root user, you can login as\nroot@locahost without a password. This technique was pioneered by Otto\nKekäläinen in Debian MariaDB packages and has been successfully used in Debian\nsince as early as MariaDB 10.0.\n\nIt is based on a simple fact that asking the system root for a password adds\nno extra security — root has full access to all the data files and all process\nmemory anyway. But not asking for a password means, there is no root password\nto forget (no need for the numerous tutorials on \"how to reset MariaDB root\npassword\"). And if you want to script some tedious database work, there is no\nneed to store the root password in plain text for the script to use (no need\nfor debian-sys-maint user).\n\nStill, some users may wish to log in as MariaDB root without using sudo. Hence\nthe old authentication method — conventional MariaDB password — is still\navailable. By default it is disabled (\"invalid\" is not a valid password hash),\nbut one can set the password with a usual SET PASSWORD statement. And still\nretain the password-less access via sudo.\n\nIf you install MariaDB locally (say from a tarball), you would not want to use\nsudo to be able to login. This is why MariaDB creates a second all-powerful\nuser with the same name as a system user that owns the data directory. In\nlocal (not system-wide) installations, this will be the user who installed\nMariaDB — they automatically get convenient password-less root-like access,\nbecause they can access all the data files anyway.\n\nEven if MariaDB is installed system-wide, you may not want to run your\ndatabase maintenance scripts as system root — now you can run them as system\nmysql user. And you will know that they will never destroy your entire system,\neven if you make a typo in a shell script.\n\nHowever, seasoned MariaDB DBAs who are used to the old ways do need to make\nsome changes. See the examples below for common tasks.\n\nCookbook\n--------\n\nAfter installing MariaDB system-wide the first thing you’ve got used to doing\nis logging in into the unprotected root account and protecting it, that is,\nsetting the root password:\n\n$ sudo dnf install MariaDB-server\n$ mysql -uroot\n...\nMariaDB> set password = password(\"XH4VmT3_jt\");\n\nThis is not only unnecessary now, it will simply not work — there is no\nunprotected root account. To login as root use\n\n$ sudo dnf install MariaDB-server\n$ sudo mysql\n\nNote that it implies you are connecting via the unix socket, not tcp. If you\nhappen to have protocol=tcp in a system-wide /etc/my.cnf file, use sudo mysql\n--protocol=socket.\n\nAfter installing MariaDB locally you’ve also used to connect to the\nunprotected root account using mysql -uroot. This will not work either, simply\nuse mysql without specifying a username.\n\nIf you\'ve forgotten your root password, no problem — you can still connect\nusing sudo and change the password. And if you\'ve also removed unix_socket\nauthentication, to restore access do as follows:\n\n* restart MariaDB with --skip-grant-tables\n* login into the unprotected server\n* run FLUSH PRIVILEGES (note, before 10.4 this would’ve been the last step,\nnot anymore). This disables --skip-grant-tables and allows you to change the\nstored authentication method\n* run SET PASSWORD FOR root@localhost to change the root password.\n\nTo view inside privilege tables, the old mysql.user table still exists. You\ncan select from it as before, although you cannot update it anymore. It\ndoesn’t show alternative authentication plugins and this was one of the\nreasons for switching to the mysql.global_priv table — complex authentication\nrules did not fit into rigid structure of a relational table. You can select\nfrom the new table, for example:\n\nselect concat(user, \'@\', host, \' => \', json_detailed(priv)) from\nmysql.global_priv;\n\nReverting to the Previous Authentication Method for root@localhost\n------------------------------------------------------------------\n\nIf you don\'t want the root@localhost user account created by mysql_install_db\nto use unix_socket authentication by default, then there are a few ways to\nrevert to the previous mysql_native_password authentication method for this\nuser account.\n\nConfiguring mysql_install_db to Revert to the Previous Authentication Method\n----------------------------------------------------------------------------\n\nOne way to revert to the previous mysql_native_password authentication method\nfor the root@localhost user account is to execute mysql_install_db with a\nspecial option. If mysql_install_db is executed while\n--auth-root-authentication-method=normal is specified, then it will create the\ndefault user accounts using the default behavior of MariaDB 10.3 and before.\n\nThis means that the root@localhost user account will use mysql_native_password\nauthentication by default. There are some other differences as well. See\nmysql_install_db: User Accounts Created by Default for more information.\n\nFor example, the option can be set on the command-line while running\nmysql_install_db:\n\nmysql_install_db --user=mysql --datadir=/var/lib/mysql\n--auth-root-authentication-method=normal\n\nThe option can also be set in an option file in an option group supported by\nmysql_install_db. For example:\n\n[mysql_install_db]\nauth_root_authentication_method=normal\n\nIf the option is set in an option file and if mysql_install_db is executed,\nthen mysql_install_db will read this option from the option file, and it will\nautomatically set this option.\n\nAltering the User Account to Revert to the Previous Authentication Method\n-------------------------------------------------------------------------\n\nIf you have already installed MariaDB, and if the root@localhost user account\nis already using unix_socket authentication, then you can revert to the old\nmysql_native_password authentication method for the user account by executing\nthe following:\n\nALTER USER root@localhost IDENTIFIED VIA mysql_native_password USING\nPASSWORD(\"verysecret\")\n\nURL: https://mariadb.com/kb/en/authentication-from-mariadb-104/','','https://mariadb.com/kb/en/authentication-from-mariadb-104/'),(119,'ST_X',11,'Syntax\n------\n\nST_X(p)\nX(p)\n\nDescription\n-----------\n\nReturns the X-coordinate value for the point p as a double-precision number.\n\nST_X() and X() are synonyms.\n\nExamples\n--------\n\nSET @pt = \'Point(56.7 53.34)\';\n\nSELECT X(GeomFromText(@pt));\n+----------------------+\n| X(GeomFromText(@pt)) |\n+----------------------+\n|                 56.7 |\n+----------------------+\n\nURL: https://mariadb.com/kb/en/st_x/','','https://mariadb.com/kb/en/st_x/'),(88,'IF Function',7,'Syntax\n------\n\nIF(expr1,expr2,expr3)\n\nDescription\n-----------\n\nIf expr1 is TRUE (expr1 <> 0 and expr1 <> NULL) then IF() returns expr2;\notherwise it returns expr3. IF() returns a numeric or string value, depending\non the context in which it is used.\n\nNote: There is also an IF statement which differs from the IF() function\ndescribed here.\n\nExamples\n--------\n\nSELECT IF(1>2,2,3);\n+-------------+\n| IF(1>2,2,3) |\n+-------------+\n|           3 |\n+-------------+\n\nSELECT IF(1<2,\'yes\',\'no\');\n+--------------------+\n| IF(1<2,\'yes\',\'no\') |\n+--------------------+\n| yes                |\n+--------------------+\n\nSELECT IF(STRCMP(\'test\',\'test1\'),\'no\',\'yes\');\n+---------------------------------------+\n| IF(STRCMP(\'test\',\'test1\'),\'no\',\'yes\') |\n+---------------------------------------+\n| no                                    |\n+---------------------------------------+\n\nURL: https://mariadb.com/kb/en/if-function/','','https://mariadb.com/kb/en/if-function/'),(89,'IFNULL',7,'Syntax\n------\n\nIFNULL(expr1,expr2)\nNVL(expr1,expr2)\n\nDescription\n-----------\n\nIf expr1 is not NULL, IFNULL() returns expr1; otherwise it returns expr2.\nIFNULL() returns a numeric or string value, depending on the context in which\nit is used.\n\nFrom MariaDB 10.3, NVL() is an alias for IFNULL().\n\nExamples\n--------\n\nSELECT IFNULL(1,0); \n+-------------+\n| IFNULL(1,0) |\n+-------------+\n|           1 |\n+-------------+\n\nSELECT IFNULL(NULL,10);\n+-----------------+\n| IFNULL(NULL,10) |\n+-----------------+\n|              10 |\n+-----------------+\n\nSELECT IFNULL(1/0,10);\n+----------------+\n| IFNULL(1/0,10) |\n+----------------+\n|        10.0000 |\n+----------------+\n\nSELECT IFNULL(1/0,\'yes\');\n+-------------------+\n| IFNULL(1/0,\'yes\') |\n+-------------------+\n| yes               |\n+-------------------+\n\nURL: https://mariadb.com/kb/en/ifnull/','','https://mariadb.com/kb/en/ifnull/'),(94,'START TRANSACTION',8,'Syntax\n------\n\nSTART TRANSACTION [transaction_property [, transaction_property] ...] | BEGIN\n[WORK]\nCOMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]\nROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]\nSET autocommit = {0 | 1}\n\ntransaction_property:\n  WITH CONSISTENT SNAPSHOT\n | READ WRITE\n | READ ONLY\n\nDescription\n-----------\n\nThe START TRANSACTION or BEGIN statement begins a new transaction. COMMIT\ncommits the current transaction, making its changes permanent. ROLLBACK rolls\nback the current transaction, canceling its changes. The SET autocommit\nstatement disables or enables the default autocommit mode for the current\nsession.\n\nSTART TRANSACTION and SET autocommit = 1 implicitly commit the current\ntransaction, if any.\n\nThe optional WORK keyword is supported for COMMIT and ROLLBACK, as are the\nCHAIN and RELEASE clauses. CHAIN and RELEASE can be used for additional\ncontrol over transaction completion. The value of the completion_type system\nvariable determines the default completion behavior.\n\nThe AND CHAIN clause causes a new transaction to begin as soon as the current\none ends, and the new transaction has the same isolation level as the\njust-terminated transaction. The RELEASE clause causes the server to\ndisconnect the current client session after terminating the current\ntransaction. Including the NO keyword suppresses CHAIN or RELEASE completion,\nwhich can be useful if the completion_type system variable is set to cause\nchaining or release completion by default.\n\nAccess Mode\n-----------\n\nThe access mode specifies whether the transaction is allowed to write data or\nnot. By default, transactions are in READ WRITE mode (see the tx_read_only\nsystem variable). READ ONLY mode allows the storage engine to apply\noptimizations that cannot be used for transactions which write data. The only\nexception to this rule is that read only transactions can perform DDL\nstatements on temporary tables.\n\nIt is not permitted to specify both READ WRITE and READ ONLY in the same\nstatement.\n\nREAD WRITE and READ ONLY can also be specified in the SET TRANSACTION\nstatement, in which case the specified mode is valid for all sessions, or for\nall subsequent transaction used by the current session.\n\nautocommit\n----------\n\nBy default, MariaDB runs with autocommit mode enabled. This means that as soon\nas you execute a statement that updates (modifies) a table, MariaDB stores the\nupdate on disk to make it permanent. To disable autocommit mode, use the\nfollowing statement:\n\nSET autocommit=0;\n\nAfter disabling autocommit mode by setting the autocommit variable to zero,\nchanges to transaction-safe tables (such as those for InnoDB or NDBCLUSTER)\nare not made permanent immediately. You must use COMMIT to store your changes\nto disk or ROLLBACK to ignore the changes.\n\nTo disable autocommit mode for a single series of statements, use the START\nTRANSACTION statement.\n\nDDL Statements\n--------------\n\nDDL statements (CREATE, ALTER, DROP) and administrative statements (FLUSH,\nRESET, OPTIMIZE, ANALYZE, CHECK, REPAIR, CACHE INDEX), transaction management\nstatements (BEGIN, START TRANSACTION) and LOAD DATA INFILE, cause an implicit\nCOMMIT and start a new transaction. An exception to this rule are the DDL that\noperate on temporary tables: you can CREATE, ALTER and DROP them without\ncausing any COMMIT, but those actions cannot be rolled back. This means that\nif you call ROLLBACK, the temporary tables you created in the transaction will\nremain, while the rest of the transaction will be rolled back.\n\nTransactions cannot be used in Stored Functions or Triggers. In Stored\nProcedures and Events BEGIN is not allowed, so you should use START\nTRANSACTION instead.\n\nA transaction acquires a metadata lock on every table it accesses to prevent\nother connections from altering their structure. The lock is released at the\nend of the transaction. This happens even with non-transactional storage\nengines (like MEMORY or CONNECT), so it makes sense to use transactions with\nnon-transactional tables.\n\nin_transaction\n--------------\n\nThe in_transaction system variable is a session-only, read-only variable that\nreturns 1 inside a transaction, and 0 if not in a transaction.\n\nWITH CONSISTENT SNAPSHOT\n------------------------\n\nThe WITH CONSISTENT SNAPSHOT option starts a consistent read for storage\nengines such as InnoDB that can do so, the same as if a START TRANSACTION\nfollowed by a SELECT from any InnoDB table was issued.\n\nSee Enhancements for START TRANSACTION WITH CONSISTENT SNAPSHOT.\n\nExamples\n--------\n\nSTART TRANSACTION;\nSELECT @A:=SUM(salary) FROM table1 WHERE type=1;\nUPDATE table2 SET summary=@A WHERE type=1;\nCOMMIT;\n\nURL: https://mariadb.com/kb/en/start-transaction/','','https://mariadb.com/kb/en/start-transaction/'),(120,'ST_Y',11,'Syntax\n------\n\nST_Y(p)\nY(p)\n\nDescription\n-----------\n\nReturns the Y-coordinate value for the point p as a double-precision number.\n\nST_Y() and Y() are synonyms.\n\nExamples\n--------\n\nSET @pt = \'Point(56.7 53.34)\';\n\nSELECT Y(GeomFromText(@pt));\n+----------------------+\n| Y(GeomFromText(@pt)) |\n+----------------------+\n|                53.34 |\n+----------------------+\n\nURL: https://mariadb.com/kb/en/st_y/','','https://mariadb.com/kb/en/st_y/'),(121,'X',11,'A synonym for ST_X.\n\nURL: https://mariadb.com/kb/en/point-properties-x/','','https://mariadb.com/kb/en/point-properties-x/'),(122,'Y',11,'A synonym for ST_Y.\n\nURL: https://mariadb.com/kb/en/point-properties-y/','','https://mariadb.com/kb/en/point-properties-y/'),(125,'DECODE_ORACLE',12,'MariaDB starting with 10.3.2\n----------------------------\nDECODE_ORACLE is a synonym for the Oracle mode version of the DECODE function,\nand is available in all modes.\n\nURL: https://mariadb.com/kb/en/decode_oracle/','','https://mariadb.com/kb/en/decode_oracle/'),(93,'SET TRANSACTION',8,'Syntax\n------\n\nSET [GLOBAL | SESSION] TRANSACTION\n  transaction_property [, transaction_property] ...\n\ntransaction_property:\n  ISOLATION LEVEL level\n | READ WRITE\n | READ ONLY\n\nlevel:\n  REPEATABLE READ\n | READ COMMITTED\n | READ UNCOMMITTED\n | SERIALIZABLE\n\nDescription\n-----------\n\nThis statement sets the transaction isolation level or the transaction access\nmode globally, for the current session, or for the next transaction:\n\n* With the GLOBAL keyword, the statement sets the default\n transaction level globally for all subsequent sessions. Existing sessions are\n unaffected.\n* With the SESSION keyword, the statement sets the default\n transaction level for all subsequent transactions performed within the\n current session.\n* Without any SESSION or GLOBAL keyword,\n the statement sets the isolation level for the next (not started) transaction\n performed within the current session.\n\nA change to the global default isolation level requires the SUPER privilege.\nAny session is free to change its session isolation level (even in the middle\nof a transaction), or the isolation level for its next transaction.\n\nIsolation Level\n---------------\n\nTo set the global default isolation level at server startup, use the\n--transaction-isolation=level option on the command line or in an option file.\nValues of level for this option use dashes rather than spaces, so the\nallowable values are READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, or\nSERIALIZABLE. For example, to set the default isolation level to REPEATABLE\nREAD, use these lines in the [mysqld] section of an option file:\n\n[mysqld]\ntransaction-isolation = REPEATABLE-READ\nTo determine the global and session transaction isolation levels at runtime,\ncheck the value of the tx_isolation system variable:\n\nSELECT @@GLOBAL.tx_isolation, @@tx_isolation;\n\nInnoDB supports each of the translation isolation levels described here using\ndifferent locking strategies. The default level is REPEATABLE READ. For\nadditional information about InnoDB record-level locks and how it uses them to\nexecute various types of statements, see InnoDB Lock Modes, and\nhttp://dev.mysql.com/doc/refman/en/innodb-locks-set.html.\n\nIsolation Levels\n----------------\n\nThe following sections describe how MariaDB supports the different transaction\nlevels.\n\nREAD UNCOMMITTED\n----------------\n\nSELECT statements are performed in a non-locking fashion, but a possible\nearlier version of a row might be used. Thus, using this isolation level, such\nreads are not consistent. This is also called a \"dirty read.\" Otherwise, this\nisolation level works like READ COMMITTED.\n\nREAD COMMITTED\n--------------\n\nA somewhat Oracle-like isolation level with respect to consistent\n(non-locking) reads: Each consistent read, even within the same transaction,\nsets and reads its own fresh snapshot. See\nhttp://dev.mysql.com/doc/refman/en/innodb-consistent-read.html.\n\nFor locking reads (SELECT with FOR UPDATE or LOCK IN SHARE MODE), InnoDB locks\nonly index records, not the gaps before them, and thus allows the free\ninsertion of new records next to locked records. For UPDATE and DELETE\nstatements, locking depends on whether the statement uses a unique index with\na unique search condition (such as WHERE id = 100), or a range-type search\ncondition (such as WHERE id > 100). For a unique index with a unique search\ncondition, InnoDB locks only the index record found, not the gap before it.\nFor range-type searches, InnoDB locks the index range scanned, using gap locks\nor next-key (gap plus index-record) locks to block insertions by other\nsessions into the gaps covered by the range. This is necessary because\n\"phantom rows\" must be blocked for MySQL replication and recovery to work.\n\nNote: If the READ COMMITTED isolation level is used or the\ninnodb_locks_unsafe_for_binlog system variable is enabled, there is no InnoDB\ngap locking except for foreign-key constraint checking and duplicate-key\nchecking. Also, record locks for non-matching rows are released after MariaDB\nhas evaluated the WHERE condition.If you use READ COMMITTED or enable\ninnodb_locks_unsafe_for_binlog, you must use row-based binary logging.\n\nREPEATABLE READ\n---------------\n\nThis is the default isolation level for InnoDB. For consistent reads, there is\nan important difference from the READ COMMITTED isolation level: All\nconsistent reads within the same transaction read the snapshot established by\nthe first read. This convention means that if you issue several plain\n(non-locking) SELECT statements within the same transaction, these SELECT\nstatements are consistent also with respect to each other. See\nhttp://dev.mysql.com/doc/refman/en/innodb-consistent-read.html.\n\nFor locking reads (SELECT with FOR UPDATE or LOCK IN SHARE MODE), UPDATE, and\nDELETE statements, locking depends on whether the statement uses a unique\nindex with a unique search condition, or a range-type search condition. For a\nunique index with a unique search condition, InnoDB locks only the index\nrecord found, not the gap before it. For other search conditions, InnoDB locks\nthe index range scanned, using gap locks or next-key (gap plus index-record)\nlocks to block insertions by other sessions into the gaps covered by the range.\n\nThis is the minimum isolation level for non-distributed XA transactions.\n\nSERIALIZABLE\n------------\n\nThis level is like REPEATABLE READ, but InnoDB implicitly converts all plain\nSELECT statements to SELECT ... LOCK IN SHARE MODE if autocommit is disabled.\nIf autocommit is enabled, the SELECT is its own transaction. It therefore is\nknown to be read only and can be serialized if performed as a consistent\n(non-locking) read and need not block for other transactions. (This means that\nto force a plain SELECT to block if other transactions have modified the\nselected rows, you should disable autocommit.)\n\nDistributed XA transactions should always use this isolation level.\n\nAccess Mode\n-----------\n\nThe access mode specifies whether the transaction is allowed to write data or\nnot. By default, transactions are in READ WRITE mode (see the tx_read_only\nsystem variable). READ ONLY mode allows the storage engine to apply\noptimizations that cannot be used for transactions which write data. The only\nexception to this rule is that read only transactions can perform DDL\nstatements on temporary tables.\n\nIt is not permitted to specify both READ WRITE and READ ONLY in the same\nstatement.\n\nREAD WRITE and READ ONLY can also be specified in the START TRANSACTION\nstatement, in which case the specified mode is only valid for one transaction.\n\nExamples\n--------\n\nSET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;\n\nAttempting to set the isolation level within an existing transaction without\nspecifying GLOBAL or SESSION.\n\nSTART TRANSACTION;\n\nSET TRANSACTION ISOLATION LEVEL SERIALIZABLE;\nERROR 1568 (25001): Transaction characteristics can\'t be changed while a\ntransaction is in progress\n\nURL: https://mariadb.com/kb/en/set-transaction/','','https://mariadb.com/kb/en/set-transaction/'),(126,'AES_DECRYPT',12,'Syntax\n------\n\nAES_DECRYPT(crypt_str,key_str)\n\nDescription\n-----------\n\nThis function allows decryption of data using the official AES (Advanced\nEncryption Standard) algorithm. For more information, see the description of\nAES_ENCRYPT().\n\nURL: https://mariadb.com/kb/en/aes_decrypt/','','https://mariadb.com/kb/en/aes_decrypt/'),(133,'MD5',12,'Syntax\n------\n\nMD5(str)\n\nDescription\n-----------\n\nCalculates an MD5 128-bit checksum for the string.\n\nThe return value is a 32-hex digit string, and as of MariaDB 5.5, is a\nnonbinary string in the connection character set and collation, determined by\nthe values of the character_set_connection and collation_connection system\nvariables. Before 5.5, the return value was a binary string.\n\nNULL is returned if the argument was NULL.\n\nExamples\n--------\n\nSELECT MD5(\'testing\');\n+----------------------------------+\n| MD5(\'testing\')                   |\n+----------------------------------+\n| ae2b1fca515949e5d54fb22b8ed95575 |\n+----------------------------------+\n\nURL: https://mariadb.com/kb/en/md5/','','https://mariadb.com/kb/en/md5/'),(95,'COMMIT',8,'The COMMIT statement ends a transaction, saving any changes to the data so\nthat they become visible to subsequent transactions. Also, unlocks metadata\nchanged by current transaction. If autocommit is set to 1, an implicit commit\nis performed after each statement. Otherwise, all transactions which don\'t end\nwith an explicit COMMIT are implicitly rollbacked and the changes are lost.\nThe ROLLBACK statement can be used to do this explicitly.\n\nThe required syntax for the COMMIT statement is as follows:\n\nCOMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]\n\nCOMMIT is the more important transaction terminator, as well as the more\ninteresting one. The basic form of the COMMIT statement is simply the keyword\nCOMMIT (the keyword WORK is simply noise and can be omitted without changing\nthe effect).\n\nThe optional AND CHAIN clause is a convenience for initiating a new\ntransaction as soon as the old transaction terminates. If AND CHAIN is\nspecified, then there is effectively nothing between the old and new\ntransactions, although they remain separate. The characteristics of the new\ntransaction will be the same as the characteristics of the old one — that is,\nthe new transaction will have the same access mode, isolation level and\ndiagnostics area size (we\'ll discuss all of these shortly) as the transaction\njust terminated.\n\nRELEASE tells the server to disconnect the client immediately after the\ncurrent transaction.\n\nThere are NO RELEASE and AND NO CHAIN options. By default, commits do not\nRELEASE or CHAIN, but it\'s possible to change this default behavior with the\ncompletion_type server system variable. In this case, the AND NO CHAIN and NO\nRELEASE options override the server default.\n\nURL: https://mariadb.com/kb/en/commit/','','https://mariadb.com/kb/en/commit/'),(96,'ROLLBACK',8,'The ROLLBACK statement rolls back (ends) a transaction, destroying any changes\nto SQL-data so that they never become visible to subsequent transactions. The\nrequired syntax for the ROLLBACK statement is as follows.\n\nROLLBACK [ WORK ] [ AND [ NO ] CHAIN ] \n[ TO [ SAVEPOINT ] {<savepoint name> | <simple target specification>} ]\n\nThe ROLLBACK statement will either end a transaction, destroying all data\nchanges that happened during any of the transaction, or it will just destroy\nany data changes that happened since you established a savepoint. The basic\nform of the ROLLBACK statement is just the keyword ROLLBACK (the keyword WORK\nis simply noise and can be omitted without changing the effect).\n\nThe optional AND CHAIN clause is a convenience for initiating a new\ntransaction as soon as the old transaction terminates. If AND CHAIN is\nspecified, then there is effectively nothing between the old and new\ntransactions, although they remain separate. The characteristics of the new\ntransaction will be the same as the characteristics of the old one — that is,\nthe new transaction will have the same access mode, isolation level and\ndiagnostics area size (we\'ll discuss all of these shortly) as the transaction\njust terminated. The AND NO CHAIN option just tells your DBMS to end the\ntransaction — that is, these four SQL statements are equivalent:\n\nROLLBACK; \nROLLBACK WORK; \nROLLBACK AND NO CHAIN; \nROLLBACK WORK AND NO CHAIN;\n\nAll of them end a transaction without saving any transaction characteristics.\nThe only other options, the equivalent statements:\n\nROLLBACK AND CHAIN;\nROLLBACK WORK AND CHAIN;\n\nboth tell your DBMS to end a transaction, but to save that transaction\'s\ncharacteristics for the next transaction.\n\nROLLBACK is much simpler than COMMIT: it may involve no more than a few\ndeletions (of Cursors, locks, prepared SQL statements and log-file entries).\nIt\'s usually assumed that ROLLBACK can\'t fail, although such a thing is\nconceivable (for example, an encompassing transaction might reject an attempt\nto ROLLBACK because it\'s lining up for a COMMIT).\n\nROLLBACK cancels all effects of a transaction. It does not cancel effects on\nobjects outside the DBMS\'s control (for example the values in host program\nvariables or the settings made by some SQL/CLI function calls). But in\ngeneral, it is a convenient statement for those situations when you say \"oops,\nthis isn\'t working\" or when you simply don\'t care whether your temporary work\nbecomes permanent or not.\n\nHere is a moot question. If all you\'ve been doing is SELECTs, so that there\nhave been no data changes, should you end the transaction with ROLLBACK or\nCOMMIT? It shouldn\'t really matter because both ROLLBACK and COMMIT do the\nsame transaction-terminating job. However, the popular conception is that\nROLLBACK implies failure, so after a successful series of SELECT statements\nthe convention is to end the transaction with COMMIT rather than ROLLBACK.\n\nMariaDB (and most other DBMSs) supports rollback of SQL-data change\nstatements, but not of SQL-Schema statements. This means that if you use any\nof CREATE, ALTER, DROP, GRANT, REVOKE, you are implicitly committing at\nexecution time.\n\nINSERT INTO Table_2 VALUES(5); \nDROP TABLE Table_3 CASCADE; \nROLLBACK;\n\nThe result will be that both the INSERT and the DROP will go through as\nseparate transactions so the ROLLBACK will have no effect.\n\nURL: https://mariadb.com/kb/en/rollback/','','https://mariadb.com/kb/en/rollback/'),(138,'ENDPOINT',13,'A synonym for ST_ENDPOINT.\n\nURL: https://mariadb.com/kb/en/linestring-properties-endpoint/','','https://mariadb.com/kb/en/linestring-properties-endpoint/'),(139,'GLENGTH',13,'Syntax\n------\n\nGLength(ls)\n\nDescription\n-----------\n\nReturns as a double-precision number the length of the LineString value ls in\nits associated spatial reference.\n\nExamples\n--------\n\nSET @ls = \'LineString(1 1,2 2,3 3)\';\n\nSELECT GLength(GeomFromText(@ls));\n+----------------------------+\n| GLength(GeomFromText(@ls)) |\n+----------------------------+\n|           2.82842712474619 |\n+----------------------------+\n\nURL: https://mariadb.com/kb/en/glength/','','https://mariadb.com/kb/en/glength/'),(140,'NumPoints',13,'A synonym for ST_NumPoints.\n\nURL: https://mariadb.com/kb/en/linestring-properties-numpoints/','','https://mariadb.com/kb/en/linestring-properties-numpoints/'),(141,'PointN',13,'A synonym for ST_PointN.\n\nURL: https://mariadb.com/kb/en/linestring-properties-pointn/','','https://mariadb.com/kb/en/linestring-properties-pointn/'),(142,'STARTPOINT',13,'A synonym for ST_STARTPOINT.\n\nURL: https://mariadb.com/kb/en/linestring-properties-startpoint/','','https://mariadb.com/kb/en/linestring-properties-startpoint/'),(143,'ST_ENDPOINT',13,'Syntax\n------\n\nST_EndPoint(ls)\nEndPoint(ls)\n\nDescription\n-----------\n\nReturns the Point that is the endpoint of the LineString value ls.\n\nST_EndPoint() and EndPoint() are synonyms.\n\nExamples\n--------\n\nSET @ls = \'LineString(1 1,2 2,3 3)\';\n\nSELECT AsText(EndPoint(GeomFromText(@ls)));\n+-------------------------------------+\n| AsText(EndPoint(GeomFromText(@ls))) |\n+-------------------------------------+\n| POINT(3 3)                          |\n+-------------------------------------+\n\nURL: https://mariadb.com/kb/en/st_endpoint/','','https://mariadb.com/kb/en/st_endpoint/'),(144,'ST_NUMPOINTS',13,'Syntax\n------\n\nST_NumPoints(ls)\nNumPoints(ls)\n\nDescription\n-----------\n\nReturns the number of Point objects in the LineString value ls.\n\nST_NumPoints() and NumPoints() are synonyms.\n\nExamples\n--------\n\nSET @ls = \'LineString(1 1,2 2,3 3)\';\n\nSELECT NumPoints(GeomFromText(@ls));\n+------------------------------+\n| NumPoints(GeomFromText(@ls)) |\n+------------------------------+\n|                            3 |\n+------------------------------+\n\nURL: https://mariadb.com/kb/en/st_numpoints/','','https://mariadb.com/kb/en/st_numpoints/'),(97,'LOCK TABLES',8,'Syntax\n------\n\nLOCK TABLE[S]\n  tbl_name [[AS] alias] lock_type\n  [, tbl_name [[AS] alias] lock_type] ...\n  [WAIT n|NOWAIT]\n\nlock_type:\n  READ [LOCAL]\n | [LOW_PRIORITY] WRITE\n | WRITE CONCURRENT\n\nUNLOCK TABLES\n\nDescription\n-----------\n\nThe lock_type can be one of:\n\n+---------------------------+------------------------------------------------+\n| Option                    | Description                                    |\n+---------------------------+------------------------------------------------+\n| READ                      | Read lock, no writes allowed                   |\n+---------------------------+------------------------------------------------+\n| READ LOCAL                | Read lock, but allow concurrent inserts        |\n+---------------------------+------------------------------------------------+\n| WRITE                     | Exclusive write lock. No other connections     |\n|                           | can read or write to this table                |\n+---------------------------+------------------------------------------------+\n| LOW_PRIORITY WRITE        | Exclusive write lock, but allow new read       |\n|                           | locks on the table until we get the write      |\n|                           | lock.                                          |\n+---------------------------+------------------------------------------------+\n| WRITE CONCURRENT          | Exclusive write lock, but allow READ LOCAL     |\n|                           | locks to the table.                            |\n+---------------------------+------------------------------------------------+\n\nMariaDB enables client sessions to acquire table locks explicitly for the\npurpose of cooperating with other sessions for access to tables, or to prevent\nother sessions from modifying tables during periods when a session requires\nexclusive access to them. A session can acquire or release locks only for\nitself. One session cannot acquire locks for another session or release locks\nheld by another session.\n\nLocks may be used to emulate transactions or to get more speed when updating\ntables.\n\nLOCK TABLES explicitly acquires table locks for the current client session.\nTable locks can be acquired for base tables or views. To use LOCK TABLES, you\nmust have the LOCK TABLES privilege, and the SELECT privilege for each object\nto be locked. See GRANT\n\nFor view locking, LOCK TABLES adds all base tables used in the view to the set\nof tables to be locked and locks them automatically. If you lock a table\nexplicitly with LOCK TABLES, any tables used in triggers are also locked\nimplicitly, as described in Triggers and Implicit Locks.\n\nUNLOCK TABLES explicitly releases any table locks held by the current session.\n\nMariaDB starting with 10.3.0\n----------------------------\n\nWAIT/NOWAIT\n-----------\n\nSet the lock wait timeout. See WAIT and NOWAIT.\n\nLimitations\n-----------\n\n* LOCK TABLES doesn\'t work when using Galera cluster.   You may experience\ncrashes or locks when used with Galera.\n* LOCK TABLES works on XtraDB/InnoDB tables only if the innodb_table_locks\nsystem variable is set to 1 (the default) and autocommit is set to 0 (1 is\ndefault). Please note that no error message will be returned on LOCK TABLES\nwith innodb_table_locks = 0.\n* LOCK TABLES implicitly commits the active transaction, if any. Also,\nstarting a transaction always releases all table locks acquired with LOCK\nTABLES. This means that there is no way to have table locks and an active\ntransaction at the same time. The only exceptions are the transactions in\nautocommit mode. To preserve the data integrity between transactional and\nnon-transactional tables, the GET_LOCK() function can be used.\n* When using LOCK TABLES on a TEMPORARY table, it will always be locked with a\nWRITE lock.\n* While a connection holds an explicit read lock on a table, it cannot modify\nit. If you try, the following error will be produced:\n\nERROR 1099 (HY000): Table \'tab_name\' was locked with a READ lock and can\'t be\nupdated\n\n* While a connection holds an explicit lock on a table, it cannot access a\nnon-locked table. If you try, the following error will be produced:\n\nERROR 1100 (HY000): Table \'tab_name\' was not locked with LOCK TABLES\n\n* While a connection holds an explicit lock on a table, it cannot issue the\nfollowing: INSERT DELAYED, CREATE TABLE, CREATE TABLE ... LIKE, and DDL\nstatements involving stored programs and views (except for triggers). If you\ntry, the following error will be produced:\n\nERROR 1192 (HY000): Can\'t execute the given command because you have active\nlocked tables or an active transaction\n\n* LOCK TABLES can not be used in stored routines - if you try, the following\nerror will be produced on creation. This restriction was removed in MariaDB\n10.6.2:\n\nERROR 1314 (0A000): LOCK is not allowed in stored procedures\n\nURL: https://mariadb.com/kb/en/lock-tables/','','https://mariadb.com/kb/en/lock-tables/'),(145,'ST_POINTN',13,'Syntax\n------\n\nST_PointN(ls,N)\nPointN(ls,N)\n\nDescription\n-----------\n\nReturns the N-th Point in the LineString value ls. Points are numbered\nbeginning with 1.\n\nST_PointN() and PointN() are synonyms.\n\nExamples\n--------\n\nSET @ls = \'LineString(1 1,2 2,3 3)\';\n\nSELECT AsText(PointN(GeomFromText(@ls),2));\n+-------------------------------------+\n| AsText(PointN(GeomFromText(@ls),2)) |\n+-------------------------------------+\n| POINT(2 2)                          |\n+-------------------------------------+\n\nURL: https://mariadb.com/kb/en/st_pointn/','','https://mariadb.com/kb/en/st_pointn/'),(146,'ST_STARTPOINT',13,'Syntax\n------\n\nST_StartPoint(ls)\nStartPoint(ls)\n\nDescription\n-----------\n\nReturns the Point that is the start point of the LineString value ls.\n\nST_StartPoint() and StartPoint() are synonyms.\n\nExamples\n--------\n\nSET @ls = \'LineString(1 1,2 2,3 3)\';\n\nSELECT AsText(StartPoint(GeomFromText(@ls)));\n+---------------------------------------+\n| AsText(StartPoint(GeomFromText(@ls))) |\n+---------------------------------------+\n| POINT(1 1)                            |\n+---------------------------------------+\n\nURL: https://mariadb.com/kb/en/st_startpoint/','','https://mariadb.com/kb/en/st_startpoint/'),(150,'INET_ATON',14,'Syntax\n------\n\nINET_ATON(expr)\n\nDescription\n-----------\n\nGiven the dotted-quad representation of an IPv4 network address as a string,\nreturns an integer that represents the numeric value of the address. Addresses\nmay be 4- or 8-byte addresses.\n\nReturns NULL if the argument is not understood.\n\nExamples\n--------\n\nSELECT INET_ATON(\'192.168.1.1\');\n+--------------------------+\n| INET_ATON(\'192.168.1.1\') |\n+--------------------------+\n|               3232235777 |\n+--------------------------+\n\nThis is calculated as follows: 192 x 2563 + 168 x 256 2 + 1 x 256 + 1\n\nURL: https://mariadb.com/kb/en/inet_aton/','','https://mariadb.com/kb/en/inet_aton/'),(151,'INET_NTOA',14,'Syntax\n------\n\nINET_NTOA(expr)\n\nDescription\n-----------\n\nGiven a numeric IPv4 network address in network byte order (4 or 8 byte),\nreturns the dotted-quad representation of the address as a string.\n\nExamples\n--------\n\nSELECT INET_NTOA(3232235777);\n+-----------------------+\n| INET_NTOA(3232235777) |\n+-----------------------+\n| 192.168.1.1           |\n+-----------------------+\n\n192.168.1.1 corresponds to 3232235777 since 192 x 2563 + 168 x 256 2 + 1 x 256\n+ 1 = 3232235777\n\nURL: https://mariadb.com/kb/en/inet_ntoa/','','https://mariadb.com/kb/en/inet_ntoa/'),(98,'SAVEPOINT',8,'Syntax\n------\n\nSAVEPOINT identifier\nROLLBACK [WORK] TO [SAVEPOINT] identifier\nRELEASE SAVEPOINT identifier\n\nDescription\n-----------\n\nInnoDB supports the SQL statements SAVEPOINT, ROLLBACK TO SAVEPOINT, RELEASE\nSAVEPOINT and the optional WORK keyword for ROLLBACK.\n\nEach savepoint must have a legal MariaDB identifier. A savepoint is a named\nsub-transaction.\n\nNormally ROLLBACK undoes the changes performed by the whole transaction. When\nused with the TO clause, it undoes the changes performed after the specified\nsavepoint, and erases all subsequent savepoints. However, all locks that have\nbeen acquired after the save point will survive. RELEASE SAVEPOINT does not\nrollback or commit any changes, but removes the specified savepoint.\n\nWhen the execution of a trigger or a stored function begins, it is not\npossible to use statements which reference a savepoint which was defined from\nout of that stored program.\n\nWhen a COMMIT (including implicit commits) or a ROLLBACK statement (with no TO\nclause) is performed, they act on the whole transaction, and all savepoints\nare removed.\n\nErrors\n------\n\nIf COMMIT or ROLLBACK is issued and no transaction was started, no error is\nreported.\n\nIf SAVEPOINT is issued and no transaction was started, no error is reported\nbut no savepoint is created. When ROLLBACK TO SAVEPOINT or RELEASE SAVEPOINT\nis called for a savepoint that does not exist, an error like this is issued:\n\nERROR 1305 (42000): SAVEPOINT svp_name does not exist\n\nURL: https://mariadb.com/kb/en/savepoint/','','https://mariadb.com/kb/en/savepoint/'),(99,'Metadata Locking',8,'MariaDB supports metadata locking. This means that when a transaction\n(including XA transactions) uses a table, it locks its metadata until the end\nof transaction. Non-transactional tables are also locked, as well as views and\nobjects which are related to locked tables/views (stored functions, triggers,\netc). When a connection tries to use a DDL statement (like an ALTER TABLE)\nwhich modifies a table that is locked, that connection is queued, and has to\nwait until it\'s unlocked. Using savepoints and performing a partial rollback\ndoes not release metadata locks.\n\nLOCK TABLES ... WRITE are also queued. Some wrong statements which produce an\nerror may not need to wait for the lock to be freed.\n\nThe metadata lock\'s timeout is determined by the value of the\nlock_wait_timeout server system variable (in seconds). However, note that its\ndefault value is 31536000 (1 year, MariaDB <= 10.2.3), or 86400 (1 day,\nMariaDB >= 10.2.4). If this timeout is exceeded, the following error is\nreturned:\n\nERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction\n\nIf the metadata_lock_info plugin is installed, the Information Schema\nmetadata_lock_info table stores information about existing metadata locks.\n\nMariaDB starting with 10.5.2\n----------------------------\nFrom MariaDB 10.5, the Performance Schema metadata_locks table contains\nmetadata lock information.\n\nExample\n-------\n\nLet\'s use the following MEMORY (non-transactional) table:\n\nCREATE TABLE t (a INT) ENGINE = MEMORY;\n\nConnection 1 starts a transaction, and INSERTs a row into t:\n\nSTART TRANSACTION;\n\nINSERT INTO t SET a=1;\n\nt\'s metadata is now locked by connection 1. Connection 2 tries to alter t, but\nhas to wait:\n\nALTER TABLE t ADD COLUMN b INT;\n\nConnection 2\'s prompt is blocked now.\n\nNow connection 1 ends the transaction:\n\nCOMMIT;\n\n...and connection 2 finally gets the output of its command:\n\nQuery OK, 1 row affected (35.23 sec)\nRecords: 1  Duplicates: 0  Warnings: 0\n\nURL: https://mariadb.com/kb/en/metadata-locking/','','https://mariadb.com/kb/en/metadata-locking/'),(100,'Transaction Timeouts',8,'MariaDB has always had the wait_timeout and interactive_timeout settings,\nwhich close connections after a certain period of inactivity.\n\nHowever, these are by default set to a long wait period. In situations where\ntransactions may be started, but not committed or rolled back, more granular\ncontrol and a shorter timeout may be desirable so as to avoid locks being held\nfor too long.\n\nMariaDB 10.3 introduced three new variables to handle this situation.\n\n* idle_transaction_timeout (all transactions)\n* idle_write_transaction_timeout (write transactions - called\nidle_readwrite_transaction_timeout until MariaDB 10.3.2)\n* idle_readonly_transaction_timeout (read transactions)\n\nThese accept a time in seconds to time out, by closing the connection,\ntransactions that are idle for longer than this period. By default all are set\nto zero, or no timeout.\n\nidle_transaction_timeout affects all transactions,\nidle_write_transaction_timeout affects write transactions only and\nidle_readonly_transaction_timeout affects read transactions only. The latter\ntwo variables work independently. However, if either is set along with\nidle_transaction_timeout, the settings for idle_write_transaction_timeout or\nidle_readonly_transaction_timeout will take precedence.\n\nExamples\n--------\n\nSET SESSION idle_transaction_timeout=2;\nBEGIN;\nSELECT * FROM t;\nEmpty set (0.000 sec)\n## wait 3 seconds\nSELECT * FROM t;\nERROR 2006 (HY000): MySQL server has gone away\n\nSET SESSION idle_write_transaction_timeout=2;\nBEGIN;\nSELECT * FROM t;\nEmpty set (0.000 sec)\n## wait 3 seconds\nSELECT * FROM t;\nEmpty set (0.000 sec)\nINSERT INTO t VALUES(1);\n## wait 3 seconds\nSELECT * FROM t;\nERROR 2006 (HY000): MySQL server has gone away\n\nSET SESSION idle_transaction_timeout=2, SESSION\nidle_readonly_transaction_timeout=10;\nBEGIN;\nSELECT * FROM t;\nEmpty set (0.000 sec)\n ## wait 3 seconds\nSELECT * FROM t;\nEmpty set (0.000 sec)\n## wait 11 seconds\nSELECT * FROM t;\nERROR 2006 (HY000): MySQL server has gone away\n\nURL: https://mariadb.com/kb/en/transaction-timeouts/','','https://mariadb.com/kb/en/transaction-timeouts/'),(152,'IS_FREE_LOCK',14,'Syntax\n------\n\nIS_FREE_LOCK(str)\n\nDescription\n-----------\n\nChecks whether the lock named str is free to use (that is, not locked).\nReturns 1 if the lock is free (no one is using the lock), 0 if the lock is in\nuse, and NULL if an error occurs (such as an incorrect argument, like an empty\nstring or NULL). str is case insensitive.\n\nIf the metadata_lock_info plugin is installed, the Information Schema\nmetadata_lock_info table contains information about locks of this kind (as\nwell as metadata locks).\n\nStatements using the IS_FREE_LOCK function are not safe for statement-based\nreplication.\n\nURL: https://mariadb.com/kb/en/is_free_lock/','','https://mariadb.com/kb/en/is_free_lock/'),(156,'IS_IPV6',14,'Syntax\n------\n\nIS_IPV6(expr)\n\nDescription\n-----------\n\nReturns 1 if the expression is a valid IPv6 address specified as a string,\notherwise returns 0. Does not consider IPv4 addresses to be valid IPv6\naddresses.\n\nExamples\n--------\n\nSELECT IS_IPV6(\'48f3::d432:1431:ba23:846f\');\n+--------------------------------------+\n| IS_IPV6(\'48f3::d432:1431:ba23:846f\') |\n+--------------------------------------+\n|                                    1 |\n+--------------------------------------+\n1 row in set (0.02 sec)\n\nSELECT IS_IPV6(\'10.0.1.1\');\n+---------------------+\n| IS_IPV6(\'10.0.1.1\') |\n+---------------------+\n|                   0 |\n+---------------------+\n\nURL: https://mariadb.com/kb/en/is_ipv6/','','https://mariadb.com/kb/en/is_ipv6/'),(157,'IS_USED_LOCK',14,'Syntax\n------\n\nIS_USED_LOCK(str)\n\nDescription\n-----------\n\nChecks whether the lock named str is in use (that is, locked). If so, it\nreturns the connection identifier of the client that holds the lock.\nOtherwise, it returns NULL. str is case insensitive.\n\nIf the metadata_lock_info plugin is installed, the Information Schema\nmetadata_lock_info table contains information about locks of this kind (as\nwell as metadata locks).\n\nStatements using the IS_USED_LOCK function are not safe for statement-based\nreplication.\n\nURL: https://mariadb.com/kb/en/is_used_lock/','','https://mariadb.com/kb/en/is_used_lock/'),(102,'WAIT and NOWAIT',8,'MariaDB starting with 10.3.0\n----------------------------\nMariaDB 10.3.0 introduced extended syntax so that it is possible to set\ninnodb_lock_wait_timeout and lock_wait_timeout for the following statements:\n\nSyntax\n------\n\nALTER TABLE tbl_name [WAIT n|NOWAIT] ...\nCREATE ... INDEX ON tbl_name (index_col_name, ...) [WAIT n|NOWAIT] ...\nDROP INDEX ... [WAIT n|NOWAIT]\nDROP TABLE tbl_name [WAIT n|NOWAIT] ...\nLOCK TABLE ... [WAIT n|NOWAIT]\nOPTIMIZE TABLE tbl_name [WAIT n|NOWAIT]\nRENAME TABLE tbl_name [WAIT n|NOWAIT] ...\nSELECT ... FOR UPDATE [WAIT n|NOWAIT]\nSELECT ... LOCK IN SHARE MODE [WAIT n|NOWAIT]\nTRUNCATE TABLE tbl_name [WAIT n|NOWAIT]\n\nDescription\n-----------\n\nThe lock wait timeout can be explicitly set in the statement by using either\nWAIT n (to set the wait in seconds) or NOWAIT, in which case the statement\nwill immediately fail if the lock cannot be obtained. WAIT 0 is equivalent to\nNOWAIT.\n\nURL: https://mariadb.com/kb/en/wait-and-nowait/','','https://mariadb.com/kb/en/wait-and-nowait/'),(106,'DROP USER',10,'Syntax\n------\n\nDROP USER [IF EXISTS] user_name [, user_name] ...\n\nDescription\n-----------\n\nThe DROP USER statement removes one or more MariaDB accounts. It removes\nprivilege rows for the account from all grant tables. To use this statement,\nyou must have the global CREATE USER privilege or the DELETE privilege for the\nmysql database. Each account is named using the same format as for the CREATE\nUSER statement; for example, \'jeffrey\'@\'localhost\'. If you specify only the\nuser name part of the account name, a host name part of \'%\' is used. For\nadditional information about specifying account names, see CREATE USER.\n\nNote that, if you specify an account that is currently connected, it will not\nbe deleted until the connection is closed. The connection will not be\nautomatically closed.\n\nIf any of the specified user accounts do not exist, ERROR 1396 (HY000)\nresults. If an error occurs, DROP USER will still drop the accounts that do\nnot result in an error. Only one error is produced for all users which have\nnot been dropped:\n\nERROR 1396 (HY000): Operation DROP USER failed for \'u1\'@\'%\',\'u2\'@\'%\'\n\nFailed CREATE or DROP operations, for both users and roles, produce the same\nerror code.\n\nIF EXISTS\n---------\n\nIf the IF EXISTS clause is used, MariaDB will return a note instead of an\nerror if the user does not exist.\n\nExamples\n--------\n\nDROP USER bob;\n\nDROP USER foo2@localhost,foo2@\'127.%\';\n\nIF EXISTS:\n\nDROP USER bob;\nERROR 1396 (HY000): Operation DROP USER failed for \'bob\'@\'%\'\n\nDROP USER IF EXISTS bob;\nQuery OK, 0 rows affected, 1 warning (0.00 sec)\n\nSHOW WARNINGS;\n+-------+------+---------------------------------------------+\n| Level | Code | Message                                     |\n+-------+------+---------------------------------------------+\n| Note  | 1974 | Can\'t drop user \'bob\'@\'%\'; it doesn\'t exist |\n+-------+------+---------------------------------------------+\n\nURL: https://mariadb.com/kb/en/drop-user/','','https://mariadb.com/kb/en/drop-user/'),(108,'RENAME USER',10,'Syntax\n------\n\nRENAME USER old_user TO new_user\n  [, old_user TO new_user] ...\n\nDescription\n-----------\n\nThe RENAME USER statement renames existing MariaDB accounts. To use it, you\nmust have the global CREATE USER privilege or the UPDATE privilege for the\nmysql database. Each account is named using the same format as for the CREATE\nUSER statement; for example, \'jeffrey\'@\'localhost\'. If you specify only the\nuser name part of the account name, a host name part of \'%\' is used.\n\nIf any of the old user accounts do not exist or any of the new user accounts\nalready exist, ERROR 1396 (HY000) results. If an error occurs, RENAME USER\nwill still rename the accounts that do not result in an error.\n\nExamples\n--------\n\nCREATE USER \'donald\', \'mickey\';\nRENAME USER \'donald\' TO \'duck\'@\'localhost\', \'mickey\' TO \'mouse\'@\'localhost\';\n\nURL: https://mariadb.com/kb/en/rename-user/','','https://mariadb.com/kb/en/rename-user/'),(109,'REVOKE',10,'Privileges\n----------\n\nSyntax\n------\n\nREVOKE \n  priv_type [(column_list)]\n   [, priv_type [(column_list)]] ...\n  ON [object_type] priv_level\n  FROM user [, user] ...\n\nREVOKE ALL PRIVILEGES, GRANT OPTION\n  FROM user [, user] ...\n\nDescription\n-----------\n\nThe REVOKE statement enables system administrators to revoke privileges (or\nroles - see section below) from MariaDB accounts. Each account is named using\nthe same format as for the GRANT statement; for example,\n\'jeffrey\'@\'localhost\'. If you specify only the user name part of the account\nname, a host name part of \'%\' is used. For details on the levels at which\nprivileges exist, the allowable priv_type and priv_level values, and the\nsyntax for specifying users and passwords, see GRANT.\n\nTo use the first REVOKE syntax, you must have the GRANT OPTION privilege, and\nyou must have the privileges that you are revoking.\n\nTo revoke all privileges, use the second syntax, which drops all global,\ndatabase, table, column, and routine privileges for the named user or users:\n\nREVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...\n\nTo use this REVOKE syntax, you must have the global CREATE USER privilege or\nthe UPDATE privilege for the mysql database. See GRANT.\n\nExamples\n--------\n\nREVOKE SUPER ON *.* FROM \'alexander\'@\'localhost\';\n\nRoles\n-----\n\nSyntax\n------\n\nREVOKE role  [, role ...]\n  FROM grantee [, grantee2 ... ]\n\nREVOKE ADMIN OPTION FOR role FROM grantee [, grantee2]\n\nDescription\n-----------\n\nREVOKE is also used to remove a role from a user or another role that it\'s\npreviously been assigned to. If a role has previously been set as a default\nrole, REVOKE does not remove the record of the default role from the\nmysql.user table. If the role is subsequently granted again, it will again be\nthe user\'s default. Use SET DEFAULT ROLE NONE to explicitly remove this.\n\nBefore MariaDB 10.1.13, the REVOKE role statement was not permitted in\nprepared statements.\n\nExample\n-------\n\nREVOKE journalist FROM hulda\n\nURL: https://mariadb.com/kb/en/revoke/','','https://mariadb.com/kb/en/revoke/'),(160,'NAME_CONST',14,'Syntax\n------\n\nNAME_CONST(name,value)\n\nDescription\n-----------\n\nReturns the given value. When used to produce a result set column,\nNAME_CONST() causes the column to have the given name. The arguments should be\nconstants.\n\nThis function is used internally when replicating stored procedures. It makes\nlittle sense to use it explicitly in SQL statements, and it was not supposed\nto be used like that.\n\nSELECT NAME_CONST(\'myname\', 14);\n+--------+\n| myname |\n+--------+\n|     14 |\n+--------+\n\nURL: https://mariadb.com/kb/en/name_const/','','https://mariadb.com/kb/en/name_const/'),(163,'SLEEP',14,'Syntax\n------\n\nSLEEP(duration)\n\nDescription\n-----------\n\nSleeps (pauses) for the number of seconds given by the duration argument, then\nreturns 0. If SLEEP() is interrupted, it returns 1. The duration may have a\nfractional part given in microseconds.\n\nStatements using the SLEEP() function are not safe for replication.\n\nExample\n-------\n\nSELECT SLEEP(5.5);\n+------------+\n| SLEEP(5.5) |\n+------------+\n|          0 |\n+------------+\n1 row in set (5.50 sec)\n\nURL: https://mariadb.com/kb/en/sleep/','','https://mariadb.com/kb/en/sleep/'),(164,'SYS_GUID',14,'MariaDB starting with 10.6.1\n----------------------------\nThe SYS_GUID function was introduced in MariaDB 10.6.1 to enhance Oracle\ncompatibility. Similar functionality can be achieved with the UUID function.\n\nSyntax\n------\n\nSYS_GUID()\n\nDescription\n-----------\n\nReturns a 16-byte globally unique identifier (GUID), similar to the UUID\nfunction, but without the - character.\n\nExample\n-------\n\nSELECT SYS_GUID();\n+----------------------------------+\n| SYS_GUID()                       |\n+----------------------------------+\n| 2C574E45BA2811EBB265F859713E4BE4 |\n+----------------------------------+\n\nURL: https://mariadb.com/kb/en/sys_guid/','','https://mariadb.com/kb/en/sys_guid/'),(110,'SET PASSWORD',10,'Syntax\n------\n\nSET PASSWORD [FOR user] =\n  {\n    PASSWORD(\'some password\')\n   | OLD_PASSWORD(\'some password\')\n   | \'encrypted password\'\n  }\n\nDescription\n-----------\n\nThe SET PASSWORD statement assigns a password to an existing MariaDB user\naccount.\n\nIf the password is specified using the PASSWORD() or OLD_PASSWORD() function,\nthe literal text of the password should be given. If the password is specified\nwithout using either function, the password should be the already-encrypted\npassword value as returned by PASSWORD().\n\nOLD_PASSWORD() should only be used if your MariaDB/MySQL clients are very old\n(< 4.0.0).\n\nWith no FOR clause, this statement sets the password for the current user. Any\nclient that has connected to the server using a non-anonymous account can\nchange the password for that account.\n\nWith a FOR clause, this statement sets the password for a specific account on\nthe current server host. Only clients that have the UPDATE privilege for the\nmysql database can do this. The user value should be given in\nuser_name@host_name format, where user_name and host_name are exactly as they\nare listed in the User and Host columns of the mysql.user table (or view in\nMariaDB-10.4 onwards) entry.\n\nThe argument to PASSWORD() and the password given to MariaDB clients can be of\narbitrary length.\n\nAuthentication Plugin Support\n-----------------------------\n\nMariaDB starting with 10.4\n--------------------------\nIn MariaDB 10.4 and later, SET PASSWORD (with or without PASSWORD()) works for\naccounts authenticated via any authentication plugin that supports passwords\nstored in the mysql.global_priv table.\n\nThe ed25519, mysql_native_password, and mysql_old_password authentication\nplugins store passwords in the mysql.global_priv table.\n\nIf you run SET PASSWORD on an account that authenticates with one of these\nauthentication plugins that stores passwords in the mysql.global_priv table,\nthen the PASSWORD() function is evaluated by the specific authentication\nplugin used by the account. The authentication plugin hashes the password with\na method that is compatible with that specific authentication plugin.\n\nThe unix_socket, named_pipe, gssapi, and pam authentication plugins do not\nstore passwords in the mysql.global_priv table. These authentication plugins\nrely on other methods to authenticate the user.\n\nIf you attempt to run SET PASSWORD on an account that authenticates with one\nof these authentication plugins that doesn\'t store a password in the\nmysql.global_priv table, then MariaDB Server will raise a warning like the\nfollowing:\n\nSET PASSWORD is ignored for users authenticating via unix_socket plugin\n\nSee Authentication from MariaDB 10.4 for an overview of authentication changes\nin MariaDB 10.4.\n\nMariaDB until 10.3\n------------------\nIn MariaDB 10.3 and before, SET PASSWORD (with or without PASSWORD()) only\nworks for accounts authenticated via mysql_native_password or\nmysql_old_password authentication plugins\n\nPasswordless User Accounts\n--------------------------\n\nUser accounts do not always require passwords to login.\n\nThe unix_socket , named_pipe and gssapi authentication plugins do not require\na password to authenticate the user.\n\nThe pam authentication plugin may or may not require a password to\nauthenticate the user, depending on the specific configuration.\n\nThe mysql_native_password and mysql_old_password authentication plugins\nrequire passwords for authentication, but the password can be blank. In that\ncase, no password is required.\n\nIf you provide a password while attempting to log into the server as an\naccount that doesn\'t require a password, then MariaDB server will simply\nignore the password.\n\nMariaDB starting with 10.4\n--------------------------\nIn MariaDB 10.4 and later, a user account can be defined to use multiple\nauthentication plugins in a specific order of preference. This specific\nscenario may be more noticeable in these versions, since an account could be\nassociated with some authentication plugins that require a password, and some\nthat do not.\n\nExample\n-------\n\nFor example, if you had an entry with User and Host column values of \'bob\' and\n\'%.loc.gov\', you would write the statement like this:\n\nSET PASSWORD FOR \'bob\'@\'%.loc.gov\' = PASSWORD(\'newpass\');\n\nIf you want to delete a password for a user, you would do:\n\nSET PASSWORD FOR \'bob\'@localhost = PASSWORD(\"\");\n\nURL: https://mariadb.com/kb/en/set-password/','','https://mariadb.com/kb/en/set-password/'),(112,'DROP ROLE',10,'Syntax\n------\n\nDROP ROLE [IF EXISTS] role_name [,role_name ...]\n\nDescription\n-----------\n\nThe DROP ROLE statement removes one or more MariaDB roles. To use this\nstatement, you must have the global CREATE USER privilege or the DELETE\nprivilege for the mysql database.\n\nDROP ROLE does not disable roles for connections which selected them with SET\nROLE. If a role has previously been set as a default role, DROP ROLE does not\nremove the record of the default role from the mysql.user table. If the role\nis subsequently recreated and granted, it will again be the user\'s default.\nUse SET DEFAULT ROLE NONE to explicitly remove this.\n\nIf any of the specified user accounts do not exist, ERROR 1396 (HY000)\nresults. If an error occurs, DROP ROLE will still drop the roles that do not\nresult in an error. Only one error is produced for all roles which have not\nbeen dropped:\n\nERROR 1396 (HY000): Operation DROP ROLE failed for \'a\',\'b\',\'c\'\n\nFailed CREATE or DROP operations, for both users and roles, produce the same\nerror code.\n\nIF EXISTS\n---------\n\nIf the IF EXISTS clause is used, MariaDB will return a warning instead of an\nerror if the role does not exist.\n\nExamples\n--------\n\nDROP ROLE journalist;\n\nThe same thing using the optional IF EXISTS clause:\n\nDROP ROLE journalist;\nERROR 1396 (HY000): Operation DROP ROLE failed for \'journalist\'\n\nDROP ROLE IF EXISTS journalist;\nQuery OK, 0 rows affected, 1 warning (0.00 sec)\n\nNote (Code 1975): Can\'t drop role \'journalist\'; it doesn\'t exist\n\nURL: https://mariadb.com/kb/en/drop-role/','','https://mariadb.com/kb/en/drop-role/'),(168,'!',15,'Syntax\n------\n\nNOT, !\n\nDescription\n-----------\n\nLogical NOT. Evaluates to 1 if the operand is 0, to 0 if the operand is\nnon-zero, and NOT NULL returns NULL.\n\nBy default, the ! operator has a higher precedence. If the HIGH_NOT_PRECEDENCE\nSQL_MODE flag is set, NOT and ! have the same precedence.\n\nExamples\n--------\n\nSELECT NOT 10;\n+--------+\n| NOT 10 |\n+--------+\n|      0 |\n+--------+\n\nSELECT NOT 0;\n+-------+\n| NOT 0 |\n+-------+\n|     1 |\n+-------+\n\nSELECT NOT NULL;\n+----------+\n| NOT NULL |\n+----------+\n|     NULL |\n+----------+\n\nSELECT ! (1+1);\n+---------+\n| ! (1+1) |\n+---------+\n|       0 |\n+---------+\n\nSELECT ! 1+1;\n+-------+\n| ! 1+1 |\n+-------+\n|     1 |\n+-------+\n\nURL: https://mariadb.com/kb/en/not/','','https://mariadb.com/kb/en/not/'),(169,'&&',15,'Syntax\n------\n\nAND, &&\n\nDescription\n-----------\n\nLogical AND. Evaluates to 1 if all operands are non-zero and not NULL, to 0 if\none or more operands are 0, otherwise NULL is returned.\n\nFor this operator, short-circuit evaluation can be used.\n\nExamples\n--------\n\nSELECT 1 && 1;\n+--------+\n| 1 && 1 |\n+--------+\n|      1 |\n+--------+\n\nSELECT 1 && 0;\n+--------+\n| 1 && 0 |\n+--------+\n|      0 |\n+--------+\n\nSELECT 1 && NULL;\n+-----------+\n| 1 && NULL |\n+-----------+\n|      NULL |\n+-----------+\n\nSELECT 0 && NULL;\n+-----------+\n| 0 && NULL |\n+-----------+\n|         0 |\n+-----------+\n\nSELECT NULL && 0;\n+-----------+\n| NULL && 0 |\n+-----------+\n|         0 |\n+-----------+\n\nURL: https://mariadb.com/kb/en/and/','','https://mariadb.com/kb/en/and/'),(111,'CREATE ROLE',10,'Syntax\n------\n\nCREATE [OR REPLACE] ROLE [IF NOT EXISTS] role \n [WITH ADMIN\n  {CURRENT_USER | CURRENT_ROLE | user | role}]\n\nDescription\n-----------\n\nThe CREATE ROLE statement creates one or more MariaDB roles. To use it, you\nmust have the global CREATE USER privilege or the INSERT privilege for the\nmysql database. For each account, CREATE ROLE creates a new row in the\nmysql.user table that has no privileges, and with the corresponding is_role\nfield set to Y. It also creates a record in the mysql.roles_mapping table.\n\nIf any of the specified roles already exist, ERROR 1396 (HY000) results. If an\nerror occurs, CREATE ROLE will still create the roles that do not result in an\nerror. The maximum length for a role is 128 characters. Role names can be\nquoted, as explained in the Identifier names page. Only one error is produced\nfor all roles which have not been created:\n\nERROR 1396 (HY000): Operation CREATE ROLE failed for \'a\',\'b\',\'c\'\n\nFailed CREATE or DROP operations, for both users and roles, produce the same\nerror code.\n\nPUBLIC and NONE are reserved, and cannot be used as role names. NONE is used\nto unset a role and PUBLIC has a special use in other systems, such as Oracle,\nso is reserved for compatibility purposes.\n\nFor valid identifiers to use as role names, see Identifier Names.\n\nWITH ADMIN\n----------\n\nThe optional WITH ADMIN clause determines whether the current user, the\ncurrent role or another user or role has use of the newly created role. If the\nclause is omitted, WITH ADMIN CURRENT_USER is treated as the default, which\nmeans that the current user will be able to GRANT this role to users.\n\nOR REPLACE\n----------\n\nIf the optional OR REPLACE clause is used, it acts as a shortcut for:\n\nDROP ROLE IF EXISTS name;\nCREATE ROLE name ...;\n\nIF NOT EXISTS\n-------------\n\nWhen the IF NOT EXISTS clause is used, MariaDB will return a warning instead\nof an error if the specified role already exists. Cannot be used together with\nthe OR REPLACE clause.\n\nExamples\n--------\n\nCREATE ROLE journalist;\n\nCREATE ROLE developer WITH ADMIN lorinda@localhost;\n\nGranting the role to another user. Only user lorinda@localhost has permission\nto grant the developer role:\n\nSELECT USER();\n+-------------------+\n| USER()            |\n+-------------------+\n| henning@localhost |\n+-------------------+\n...\nGRANT developer TO ian@localhost;\nAccess denied for user \'henning\'@\'localhost\'\n\nSELECT USER();\n+-------------------+\n| USER()            |\n+-------------------+\n| lorinda@localhost |\n+-------------------+\n\nGRANT m_role TO ian@localhost;\n\nThe OR REPLACE and IF NOT EXISTS clauses. The journalist role already exists:\n\nCREATE ROLE journalist;\nERROR 1396 (HY000): Operation CREATE ROLE failed for \'journalist\'\n\nCREATE OR REPLACE ROLE journalist;\nQuery OK, 0 rows affected (0.00 sec)\n\nCREATE ROLE IF NOT EXISTS journalist;\nQuery OK, 0 rows affected, 1 warning (0.00 sec)\n\nSHOW WARNINGS;\n+-------+------+---------------------------------------------------+\n| Level | Code | Message                                           |\n+-------+------+---------------------------------------------------+\n| Note  | 1975 | Can\'t create role \'journalist\'; it already exists |\n+-------+------+---------------------------------------------------+\n\nURL: https://mariadb.com/kb/en/create-role/','','https://mariadb.com/kb/en/create-role/'),(113,'SET ROLE',10,'Syntax\n------\n\nSET ROLE { role | NONE }\n\nDescription\n-----------\n\nThe SET ROLE statement enables a role, along with all of its associated\npermissions, for the current session. To unset a role, use NONE .\n\nIf a role that doesn\'t exist, or to which the user has not been assigned, is\nspecified, an ERROR 1959 (OP000): Invalid role specification error occurs.\n\nAn automatic SET ROLE is implicitly performed when a user connects if that\nuser has been assigned a default role. See SET DEFAULT ROLE.\n\nExample\n-------\n\nSELECT CURRENT_ROLE;\n+--------------+\n| CURRENT_ROLE |\n+--------------+\n| NULL         |\n+--------------+\n\nSET ROLE staff;\n\nSELECT CURRENT_ROLE;\n+--------------+\n| CURRENT_ROLE |\n+--------------+\n| staff        |\n+--------------+\n\nSET ROLE NONE;\n\nSELECT CURRENT_ROLE();\n+----------------+\n| CURRENT_ROLE() |\n+----------------+\n| NULL           |\n+----------------+\n\nURL: https://mariadb.com/kb/en/set-role/','','https://mariadb.com/kb/en/set-role/'),(114,'SET DEFAULT ROLE',10,'Syntax\n------\n\nSET DEFAULT ROLE { role | NONE } [ FOR user@host ]\n\nDescription\n-----------\n\nThe SET DEFAULT ROLE statement sets a default role for a specified (or\ncurrent) user. A default role is automatically enabled when a user connects\n(an implicit SET ROLE statement is executed immediately after a connection is\nestablished).\n\nTo be able to set a role as a default, the role must already have been granted\nto that user, and one needs the privileges to enable this role (if you cannot\ndo SET ROLE X, you won\'t be able to do SET DEFAULT ROLE X). To set a default\nrole for another user one needs to have write access to the mysql database.\n\nTo remove a user\'s default role, use SET DEFAULT ROLE NONE [ FOR user@host ].\nThe record of the default role is not removed if the role is dropped or\nrevoked, so if the role is subsequently re-created or granted, it will again\nbe the user\'s default role.\n\nThe default role is stored in the default_role column in the mysql.user\ntable/view, as well as in the Information Schema APPLICABLE_ROLES table, so\nthese can be viewed to see which role has been assigned to a user as the\ndefault.\n\nExamples\n--------\n\nSetting a default role for the current user:\n\nSET DEFAULT ROLE journalist;\n\nRemoving a default role from the current user:\n\nSET DEFAULT ROLE NONE;\n\nSetting a default role for another user. The role has to have been granted to\nthe user before it can be set as default:\n\nCREATE ROLE journalist;\nCREATE USER taniel;\n\nSET DEFAULT ROLE journalist FOR taniel;\nERROR 1959 (OP000): Invalid role specification `journalist`\n\nGRANT journalist TO taniel;\nSET DEFAULT ROLE journalist FOR taniel;\n\nViewing mysql.user:\n\nselect * from mysql.user where user=\'taniel\'\\G\n*************************** 1. row ***************************\n         Host: %\n         User: taniel\n...\n       is_role: N\n     default_role: journalist\n...\n\nRemoving a default role for another user\n\nSET DEFAULT ROLE NONE FOR taniel;\n\nURL: https://mariadb.com/kb/en/set-default-role/','','https://mariadb.com/kb/en/set-default-role/'),(170,'XOR',15,'Syntax\n------\n\nXOR\n\nDescription\n-----------\n\nXOR stands for eXclusive OR. Returns NULL if either operand is NULL. For\nnon-NULL operands, evaluates to 1 if an odd number of operands is non-zero,\notherwise 0 is returned.\n\nExamples\n--------\n\nSELECT 1 XOR 1;\n+---------+\n| 1 XOR 1 |\n+---------+\n|       0 |\n+---------+\n\nSELECT 1 XOR 0;\n+---------+\n| 1 XOR 0 |\n+---------+\n|       1 |\n+---------+\n\nSELECT 1 XOR NULL;\n+------------+\n| 1 XOR NULL |\n+------------+\n|       NULL |\n+------------+\n\nIn the following example, the right 1 XOR 1 is evaluated first, and returns 0.\nThen, 1 XOR 0 is evaluated, and 1 is returned.\n\nSELECT 1 XOR 1 XOR 1;\n+---------------+\n| 1 XOR 1 XOR 1 |\n+---------------+\n|             1 |\n+---------------+\n\nURL: https://mariadb.com/kb/en/xor/','','https://mariadb.com/kb/en/xor/'),(185,'STDDEV_SAMP',16,'Syntax\n------\n\nSTDDEV_SAMP(expr)\n\nDescription\n-----------\n\nReturns the sample standard deviation of expr (the square root of VAR_SAMP()).\n\nIt is an aggregate function, and so can be used with the GROUP BY clause.\n\nSTDDEV_SAMP() can be used as a window function.\n\nSTDDEV_SAMP() returns NULL if there were no matching rows.\n\nURL: https://mariadb.com/kb/en/stddev_samp/','','https://mariadb.com/kb/en/stddev_samp/'),